/* NEXROC investor-relations screenshot reconstruction, fluid desktop → mobile */
:root { --ir-seriffont: 'Bodoni Moda', Didot, 'Times New Roman', serif; --ir-ink: #050505; }
html { scroll-behavior: smooth; }
body { overflow-x: clip; }
.ir-skip-link { position: fixed; z-index: 99999; top:-100px; left: 10px; background:#fff; color:#000; padding: .6rem 1rem; }
.ir-skip-link:focus { top: 10px; }
/* Header is a normal, non-sticky part of every page. No pinned letter/header strip. */
.ir-topbar.site-header { position: relative; top:auto; height: 43px; background:#fff; border-top: 2px solid #a21481; border-bottom:0; z-index: 300; }
.ir-topbar__inner { max-width: none; width: 100%; height:100%; padding: 0 clamp(12px,2.9vw,56px); gap: clamp(18px,2.6vw,45px); }
.ir-topbar__home.ir-topbar__wordmark { display:inline-flex; white-space:nowrap; gap:.32rem; align-items:baseline; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(.6rem,.9vw,.82rem); color:#333; line-height:1; flex:0 0 auto; }
.ir-topbar__wordmark strong { font-size:clamp(1.5rem,2.05vw,2.15rem); font-weight:400; letter-spacing:-.045em; color:#050505; }
.ir-topbar__nav.primary-nav { padding:0; flex: 1 1 auto; width:auto; justify-content:space-between; min-width:0; gap:clamp(.35rem,.6vw,1.1rem); }
.ir-topbar__nav.primary-nav a.ir-topbar__link { font:500 clamp(.55rem,.69vw,.72rem)/1.2 Georgia,'Times New Roman',serif; letter-spacing:.1em; height:39px; }
.ir-topbar__nav .ir-topbar__item { height:39px; }
.ir-topbar__nav .ir-topbar__expand { display:none; }
.ir-topbar__actions { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.ir-topbar__actions .ir-topbar__action { display:inline-flex; min-width:66px; height:27px; align-items:center; justify-content:center; background:#000; color:#fff; font:400 .62rem/1.2 Georgia,serif; letter-spacing:.12em; text-decoration:none; border:1px solid #000; padding:0 .7rem; }
.ir-topbar__action:hover { background:#fff; color:#000; }
.ir-topbar__language { padding:.36rem .5rem; font:400 .59rem Arial,sans-serif; background:#f3f2f5; color:#555; border:1px solid #e5e5e9; border-radius:4px; margin-left:clamp(0px,1.3vw,30px); min-width:38px; text-align:center; }
.ir-topbar__language span { margin-left:.32rem; }
.ir-photo-hero { width:100%; aspect-ratio: 2012 / 680; min-height:350px; max-height: min(85dvh,800px); background:#328d87 url('reference/tokyo-hero.webp') center center/100% 100% no-repeat; position:relative; }

.ir-home { background:#fff; color:var(--ir-ink); }
.ir-editorial-heading { font:400 clamp(2.8rem,4vw,4.9rem)/1.05 var(--ir-seriffont); letter-spacing:-.055em; text-align:center; margin:0; }
.ir-overview { padding: clamp(14px,1.65vw,27px) 24px clamp(65px,7vw,130px); background:#fff; }
.ir-overview__grid { width:min(100%, 940px); margin:clamp(50px,5vw,75px) auto 0; display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(18px,2vw,32px); }
.ir-overview__tile { min-width:0; }
.ir-overview__card { position:relative; display:block; min-width:0; overflow:hidden; background:#f7f7f7; height: clamp(225px,26vw,340px); }
.ir-overview__card img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .3s; }
.ir-overview__card:hover img { transform:scale(1.025); }
/* Gentle shading at the bottom keeps all four labels readable on light imagery. */
.ir-overview__card::after { content:""; position:absolute; z-index:1; inset:52% 0 0; background:linear-gradient(to bottom,transparent,rgba(0,0,0,.46)); pointer-events:none; }
.ir-overview__subtitle {
  position:absolute;
  z-index:2;
  left:clamp(12px,1.2vw,18px);
  right:12px;
  bottom:clamp(45px,4.6vw,62px);
  margin:0;
  color:#fff;
  text-align:left;
  text-shadow:0 1px 6px rgba(0,0,0,.45);
  font:600 clamp(.8rem,1.05vw,1rem)/1.25 Arial,Helvetica,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
  pointer-events:none;
}
.ir-overview__caption { position:absolute; z-index:3; bottom:0; left:0; right:0; padding:1.4rem .8rem .7rem; background:linear-gradient(transparent,rgba(0,0,0,.5)); color:#fff; display:flex; justify-content:space-between; font:500 .55rem Arial,sans-serif; letter-spacing:.12em; opacity:0; transition:opacity .25s; }
.ir-overview__card:hover .ir-overview__caption,.ir-overview__card:focus-visible .ir-overview__caption { opacity:1; }
.ir-resources { background:#fff; padding: clamp(20px,3vw,55px) 1.25rem clamp(70px,6vw,115px); }
.ir-resources__inner { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:.94fr 1.25fr; gap:14px; }
.ir-documents,.ir-feature-panels { background:#f7f7f5; min-height:560px; padding: clamp(23px,2.7vw,35px); }
.ir-documents__quarters { display:flex; gap:10px; align-items:center; }
.ir-quarter { font:400 .72rem Arial,sans-serif; color:#777; width:82px; height:36px; text-align:left; padding:0 12px; background:transparent; border:1px solid transparent; cursor:pointer; }
.ir-quarter.is-active { border:1px solid #777; color:#555; }
.ir-documents__year-label select { background:transparent; padding:7px 10px; border:1px solid #e0dfda; font:.78rem Arial,sans-serif; margin-top:16px; color:#222; }
.ir-documents__filters { padding-bottom:20px; border-bottom:1px solid #e2e0dc; margin-bottom:24px; }
.ir-documents__table-head { display:grid; grid-template-columns:1fr 80px; height:40px; background:#080e27; color:#fff; font:600 .57rem Arial,sans-serif; letter-spacing:.05em; align-items:center; }
.ir-documents__table-head span { padding:0 18px; }
.ir-documents__table-head span + span { border-left:1px solid #30354a; padding:0 8px; text-align:center; }
.ir-documents__record { display:grid; grid-template-columns:1fr 80px; min-height:85px; border-bottom:1px solid #dedbd7; color:#777; font:400 .69rem/1.5 Arial,sans-serif; align-items:center; }
.ir-documents__record > span { padding:0 13px; }
.ir-documents__downloads { display:flex; gap:5px; align-items:center; justify-content:center; padding:12px 5px; border-left:1px solid #dedbd7; height:100%; }
.ir-documents__downloads a { border:1px solid #8bbaf7; color:#75a8e7; min-height:35px; min-width:31px; display:flex; align-items:center; justify-content:center; font:500 .53rem Arial,sans-serif; text-decoration:none; }
.ir-documents__downloads a:hover { background:#e8f1ff; }
#ir-documents-no-results { font:.8rem/1.65 Arial,sans-serif; color:#777; padding:25px 5px; }
.ir-feature-panels { display:grid; grid-template-columns:1fr 1fr; gap:26px; align-content:start; padding: clamp(24px,2.7vw,35px) clamp(24px,2.7vw,35px); }
.ir-feature { min-width:0; text-align:center; }
.ir-feature__tile { background:#cdc6c0; height:315px; padding:28px 12px 22px; display:flex; flex-direction:column; align-items:center; text-align:center; color:#181818; }
.ir-feature__eyebrow { font:600 .54rem Arial,sans-serif; letter-spacing:.09em; }
.ir-feature__date { background:#e6e1dc; width:142px; height:142px; margin:0 auto 14px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ir-feature__date strong { font:700 4rem/.95 Georgia,serif; }
.ir-feature__date small { font:400 .73rem Arial,sans-serif; margin-top:6px; }
.ir-feature__tile h3 { font:400 1.45rem/1.15 Georgia,serif; margin:0; }
.ir-feature__news { margin-top:22px; background:#e7e0db; min-height:156px; width:145px; padding:22px 8px 9px; display:flex; flex-direction:column; justify-content:center; }
.ir-feature__news strong { font:400 1.27rem/1.14 Georgia,serif; }
.ir-feature__news small { font:400 .67rem Arial,sans-serif; margin-top:4px; }
.ir-feature__button { display:inline-flex; align-items:center; justify-content:center; min-height:37px; margin-top:10px; padding:0 20px; color:#fff; background:#000; border-radius:30px; font:600 .65rem Arial,sans-serif; text-decoration:none; }
.ir-feature__button:hover { background:#333; }
.ir-directory { background:#f7f7f5; padding:clamp(35px,4vw,65px) 24px clamp(110px,11vw,190px); }
.ir-directory__grid { width:min(100%,800px); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap: clamp(16px,2vw,34px); margin:clamp(75px,7vw,105px) auto 0; }
.ir-directory__column { display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.ir-directory__column a { font:400 clamp(.59rem,.81vw,.72rem)/1.35 Arial,sans-serif; color:#999; text-decoration:none; }
.ir-directory__column a:hover { color:#111; text-decoration:underline; }
.ir-directory__column a.ir-directory__category { color:#555; font-size:clamp(.62rem,.78vw,.75rem); margin-bottom:14px; }
.ir-home .ir-divisions { background:#f7f7f5; padding-top:clamp(10px,1.3vw,30px); }
.ir-home .ir-divisions__inner { max-width:1100px; }
.ir-home .ir-divisions__grid { column-gap:clamp(28px,5.5vw,90px); row-gap:40px; }
.ir-home .ir-division-card { aspect-ratio:510/331; }
.ir-updates { background:#fff; padding:clamp(60px,6vw,100px) 24px clamp(85px,8vw,140px); }
.ir-updates__columns { max-width:1360px; margin:48px auto 0; display:grid; grid-template-columns:.85fr 1.28fr; gap:38px; }
.ir-updates__column { text-align:center; }
.ir-updates__column h3 { color:#a3b2c6; font:600 .61rem Arial,sans-serif; letter-spacing:.16em; margin:0 0 20px; }
.ir-updates__item { min-height:64px; border-top:1px solid #e9edf0; display:flex; flex-direction:column; gap:5px; justify-content:center; align-items:center; color:#17314a; text-decoration:none; padding:12px 15px; }
.ir-updates__item:last-of-type { border-bottom:1px solid #e9edf0; }
.ir-updates__item small { font:600 .56rem Arial,sans-serif; letter-spacing:.08em; color:#a1afc4; }
.ir-updates__item strong { font:600 clamp(.6rem,.65vw,.72rem)/1.35 Arial,sans-serif; }
.ir-updates a.ir-updates__item:hover strong { text-decoration:underline; }
.ir-updates__view-all { display:inline-block; color:#7291ac; margin-top:30px; font:400 .63rem Arial,sans-serif; padding:7px 22px; border:1px solid #cbd9e6; border-radius:18px; text-decoration:none; }
.ir-stats { background:#f7f7f5; padding:clamp(110px,11vw,170px) 24px clamp(150px,14vw,245px); }
.ir-stats__inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1390px; margin:auto; }
.ir-stat { min-height:185px; text-align:center; padding:0 22px; border-right:1px solid #dedede; }
.ir-stat:last-child { border-right:0; }
.ir-stat__icon { font:400 3.5rem/1 Georgia,serif; display:block; height:63px; }
.ir-stat h3 { font:400 clamp(1rem,1.4vw,1.4rem) Arial,sans-serif; margin:10px 0 22px; }
.ir-stat p { margin:0; display:flex; justify-content:center; align-items:baseline; gap:8px; }
.ir-stat strong { font:400 clamp(4rem,6vw,6.6rem)/1 Arial,sans-serif; letter-spacing:-.06em; }
.ir-stat p span { font:400 .78rem Arial,sans-serif; }
.ir-home .ir-contact { padding-top:clamp(80px,7vw,125px); padding-bottom:clamp(140px,14vw,230px); }
.ir-home .ir-contact .ir-section-title { margin-bottom:clamp(110px,11vw,170px); }
.ir-home .ir-contact-card__title { font-size:clamp(2.35rem,3.7vw,4.2rem); }
.ir-home .ir-contact-card__details { font-size:clamp(.6rem,.8vw,.8rem); }
/* Text is truly present in the DOM even where the desktop screenshot already contains typography. */
.screen-reader-text { clip-path: inset(50%); position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; white-space:nowrap!important; border:0!important; }
@media(max-width:1200px) {
  .ir-topbar__inner { gap:16px; padding:0 22px; }
  .ir-topbar__nav.primary-nav { gap:4px; }
  .ir-topbar__nav.primary-nav a.ir-topbar__link { font-size:.59rem; }
  .ir-topbar__language { margin-left:0; }
}
@media(max-width:1030px) {
  .ir-topbar__actions .ir-topbar__action { min-width:57px; padding:0 .4rem; }
  .ir-topbar__wordmark strong { font-size:1.5rem; }
}
@media(max-width:900px) {
  .ir-topbar.site-header { height:54px; }
  .ir-topbar__inner { padding:0 16px; gap:10px; }
  .ir-topbar__home.ir-topbar__wordmark { display:inline-flex; }
  .ir-topbar .nav-toggle { display:flex; margin-left:10px; }
  .ir-topbar__nav.primary-nav { display:none; }
  .ir-topbar__nav.primary-nav.open { display:flex; top:54px; inset:54px 0 auto; height:calc(100dvh - 54px); padding:1rem 1.4rem 3rem; gap:0; width:100%; }
  .ir-topbar__nav .ir-topbar__expand { display:inline-flex; align-items:center; }
  .ir-topbar__actions { margin-left:auto; }
  .ir-topbar__language { display:none; }
  .ir-photo-hero { min-height:330px; }
  .ir-resources__inner { grid-template-columns:1fr; max-width:670px; }
  .ir-documents,.ir-feature-panels { min-height:unset; }
  .ir-documents { min-height:430px; }
}
@media(max-width:700px) {
  .ir-topbar__actions .ir-topbar__action:first-child { display:none; }
  .ir-topbar__wordmark strong { font-size:1.6rem; }
  .ir-photo-hero { aspect-ratio:auto; height: min(82vw,490px); min-height:310px; background-size:auto 100%; background-position:center center; }
  .ir-photo-hero::before { content:''; position:absolute; inset:0; background:rgba(0,65,68,.28); }
  .ir-photo-hero__mobile { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; padding-top:30px; gap:60px; color:#fff; text-align:center; text-shadow:0 1px 3px #123; }
  .ir-photo-hero__mobile span { font:400 2.1rem/.94 Georgia,serif; }
  .ir-photo-hero__mobile strong { font:400 1.65rem/1.2 Georgia,serif; }
  .ir-overview { padding:35px 15px 70px; }
  .ir-overview__grid { margin-top:33px; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ir-overview__card { height:clamp(210px,49vw,350px); }
  .ir-overview__subtitle { bottom:49px; left:12px; font-size:.77rem; }
  .ir-overview__caption { opacity:1; }
  .ir-resources { padding:15px 10px 70px; }
  .ir-feature-panels { gap:12px; padding:16px; }
  .ir-feature__tile { height:275px; padding:20px 8px; }
  .ir-feature__date { width:114px; height:114px; margin-top:5px; }
  .ir-feature__date strong { font-size:3rem; }
  .ir-feature__tile h3 { font-size:1.18rem; }
  .ir-feature__news { width:min(100%,135px); padding:12px 8px; }
  .ir-feature__news strong { font-size:1rem; }
  .ir-feature__button { font-size:.55rem; padding:0 10px; }
  .ir-directory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 18px; width:min(100%,450px); margin-top:45px; }
  .ir-directory { padding-bottom:85px; }
  .ir-home .ir-divisions__grid { grid-template-columns:1fr; gap:20px; }
  .ir-updates__columns { grid-template-columns:1fr; gap:70px; }
  .ir-stats { padding:75px 14px 85px; }
  .ir-stats__inner { grid-template-columns:1fr; gap:30px; }
  .ir-stat { border-right:0; border-bottom:1px solid #ddd; padding-bottom:30px; }
  .ir-stat:last-child { border-bottom:0; }
  .ir-home .ir-contact { padding-bottom:95px; }
  .ir-home .ir-contact .ir-section-title { margin-bottom:65px; }
}
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} .ir-overview__card img {transition:none;} }

/* Links inside H1 headings follow normally: no rel=nofollow/sponsored. */
a.ir-h1-link { color:inherit; font:inherit; text-decoration:inherit; }
a.ir-h1-link:hover { color:inherit; text-decoration:underline; text-underline-offset:.1em; }

.ngir-header-search-trigger { border:0; background:transparent; cursor:pointer; font-size:1.4rem; }
.ir-stat__icon { display:block; width:54px; height:54px; margin:0 auto 8px; stroke:#1c1c1c; stroke-width:1.35; fill:none; }
@media(max-width:900px) { .ngir-header-search-trigger { display:none!important; } }

/* OCT 2026 — Keep the investor-relations header flush to the top edge.
   The old investor-letter announcement/plugin had left a blank white strip.
   JS also corrects empty pre-header wrappers inserted after initial render. */
body.home:not(.admin-bar),
body.front-page:not(.admin-bar) { margin-top: 0 !important; padding-top: 0 !important; }
body.home:not(.admin-bar) > #site-header.ir-topbar,
body.front-page:not(.admin-bar) > #site-header.ir-topbar {
  top: 0;
  padding-top: 0;
  transform: none;
}

/* ========================================================================
   OCT 2026 — TOKYO / MOUNT FUJI PHOTOGRAPHIC BANNER
   The former MP4 has been completely replaced; screenshot content is live text.
   ======================================================================== */
.ir-home .ir-photo-hero {
  position: relative; isolation: isolate; overflow: hidden;
  width: 100%; height: clamp(575px,68.5vh,785px); min-height: 575px;
  max-height: none; aspect-ratio: auto; margin: 0;
  background-color: #f8f7f5;
  background-image: linear-gradient(90deg,
    #f8f7f5 0%, #f8f7f5 24%, rgba(248,247,245,.985) 31%,
    rgba(248,247,245,.93) 38%,rgba(248,247,245,.64) 49%,
    rgba(248,247,245,.18) 68%, rgba(248,247,245,0) 86%),
    url('reference/tokyo-fuji-banner.webp');
  background-size: cover,cover;
  background-position: center,center 47%;
  background-repeat: no-repeat;
}
.ir-home .ir-photo-hero::before {
  content: ''; position: absolute; inset: auto 0 0; height: 36%;
  pointer-events: none; z-index: 0;
  background: linear-gradient(to top,rgba(12,18,22,.055),transparent 90%);
}
.ir-photo-hero__content {
  position: absolute; z-index: 3;
  left: clamp(40px,4.5vw,105px); top: 12%; bottom: 14%;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  width: min(780px,55vw); max-width: calc(100% - 65px);
  padding-left: clamp(30px,2.65vw,60px);
  border-left: 1px solid rgba(34,34,34,.74);
}
.ir-photo-hero__eyebrow {
  font: 500 clamp(.62rem,.78vw,.84rem)/1.2 Arial,Helvetica,sans-serif;
  letter-spacing: .32em; color: #555; margin: 0 0 clamp(23px,2.3vh,34px);
}
.ir-home .ir-photo-hero__heading {
  position: static; z-index: auto; margin: 0 0 clamp(22px,2.6vh,34px);
  width: 100%; text-align: left; color: #161616;
  font: 400 clamp(4.4rem,5.35vw,7.35rem)/.82 Georgia,'Times New Roman',serif;
  letter-spacing: -.09em; text-transform: uppercase; text-shadow: none;
}
.ir-home .ir-photo-hero__heading a,
.ir-home .ir-photo-hero__heading a:visited {
  display: block; white-space: pre-line;
  color: #151515; text-decoration: none;
}
.ir-home .ir-photo-hero__heading a:hover { color: #151515; text-decoration: none; }
.ir-photo-hero__subtitle {
  color: #202020; margin: 0 0 7px;
  font: 400 clamp(1.45rem,2.05vw,2.5rem)/1.2 Georgia,'Times New Roman',serif;
  letter-spacing: -.022em; white-space: nowrap;
}
.ir-photo-hero__description {
  max-width: 520px; margin: 0 0 clamp(22px,2.8vh,34px);
  color: #474747; font: 400 clamp(.9rem,1.02vw,1.21rem)/1.55 Georgia,'Times New Roman',serif;
}
.ir-photo-hero__cta {
  display: inline-flex; align-items: center; justify-content: space-between;
  gap: clamp(34px,3.2vw,80px); min-height: 55px;
  min-width: clamp(210px,11.45vw,257px); padding: 0 27px 0 30px;
  color: white; background: #111; border: 1px solid #111;
  font: 500 .73rem/1.1 Arial,Helvetica,sans-serif; letter-spacing: .2em;
  transition: color .22s ease,background .22s ease;
}
.ir-photo-hero__cta:hover, .ir-photo-hero__cta:focus-visible { background: #fff; color: #111; }
.ir-photo-hero__cta-icon { font: 400 1.25rem/1 Arial,sans-serif; }
.ir-photo-hero__manifesto {
  position: absolute; z-index: 2; top: 8%; right: 8%;
  padding-left: 23px; border-left: 1px solid rgba(0,0,0,.65);
  color: #333; font: 400 clamp(.76rem,.97vw,1.06rem)/1.52 Georgia,serif;
  letter-spacing: .22em; margin: 0;
}
.ir-photo-hero__pagination {
  position: absolute; right: 4.2%; bottom: 6.6%; z-index: 4;
  display: flex; align-items: center; gap: 14px;
}
.ir-photo-hero__numbers { display: flex; align-items: center; gap: 13px; margin-right: 11px; }
.ir-photo-hero__number {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  padding: 0 1px 12px; min-width: 22px; min-height: 32px;
  color: white; border: 0; background: transparent;
  font: 400 .74rem/1 Arial,Helvetica,sans-serif;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}
.ir-photo-hero__number::after {
  position: absolute; left: 0; right: 0; bottom: 3px;
  content: ''; height: 2px; background: transparent;
}
.ir-photo-hero__number.is-active::after { background: #fff; }
.ir-photo-hero__arrow {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.95);
  border-radius: 50%; background: rgba(0,0,0,.08); color: white;
  font: 400 2rem/1 Georgia,serif; text-shadow: 0 1px 3px rgba(0,0,0,.4);
  transition: background .2s ease,transform .2s ease;
}
.ir-photo-hero__arrow:hover, .ir-photo-hero__arrow:focus-visible { background: rgba(0,0,0,.44); transform: translateY(-1px); }
.ir-photo-hero__number:focus-visible,.ir-photo-hero__cta:focus-visible,.ir-photo-hero__arrow:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
@media (max-width: 1450px) {
  .ir-photo-hero__manifesto { right: 6%; }
  .ir-photo-hero__content { width: min(720px,63vw); }
  .ir-home .ir-photo-hero__heading { font-size: clamp(4rem,6.05vw,6rem); }
  .ir-photo-hero__subtitle { font-size: clamp(1.55rem,2.1vw,2.25rem); }
}
@media (max-width: 900px) {
  .ir-home .ir-photo-hero { height: 630px; min-height: 630px; background-position: center,62% center; }
  .ir-photo-hero__content { width: min(700px,78vw); top: 10%; bottom: 17%; }
  .ir-home .ir-photo-hero__heading { font-size: clamp(3.75rem,7.7vw,5.2rem); }
  .ir-photo-hero__subtitle { font-size: clamp(1.5rem,2.6vw,2.1rem); white-space: normal; }
  .ir-photo-hero__manifesto { top: 5%; right: 4%; font-size: .75rem; }
  .ir-photo-hero__pagination { right: 4%; bottom: 4%; }
}
@media (max-width: 700px) {
  .ir-home .ir-photo-hero {
    min-height: 690px; height: min(800px,calc(100svh - 72px)); max-height: none;
    background-image: linear-gradient(180deg,
      #f9f8f6 0%, rgba(249,248,246,.99) 27%, rgba(249,248,246,.94) 42%,
      rgba(249,248,246,.7) 63%, rgba(249,248,246,.13) 100%),
      url('reference/tokyo-fuji-banner.webp');
    background-size: cover,auto 88%; background-position: center, 65% bottom;
  }
  .ir-home .ir-photo-hero::before { display: none; }
  .ir-photo-hero__content {
    left: clamp(18px,5vw,31px); top: 38px; bottom: auto;
    padding: 27px 0 0 clamp(19px,5vw,30px);
    max-width: calc(100% - 43px); width: calc(100% - 43px);
    display: flex; justify-content: flex-start; border-left: 1px solid #333;
  }
  .ir-photo-hero__eyebrow { margin-bottom: 26px; font-size: .59rem; letter-spacing: .21em; }
  .ir-home .ir-photo-hero__heading {
    top: auto; margin-bottom: 28px;
    font-size: clamp(3.2rem,12vw,4.65rem);
    line-height: .91; letter-spacing: -.095em;
  }
  .ir-photo-hero__subtitle { margin-bottom: 10px; max-width: 14ch; font-size: clamp(1.35rem,5.2vw,1.85rem); }
  .ir-photo-hero__description { max-width: 30ch; margin-bottom: 26px; font-size: clamp(.87rem,3.5vw,1.07rem); line-height: 1.52; }
  .ir-photo-hero__desktop-break { display: none; }
  .ir-photo-hero__cta { min-height: 50px; min-width: 195px; padding: 0 22px; font-size: .68rem; }
  .ir-photo-hero__manifesto { display: none; }
  .ir-photo-hero__pagination { bottom: 21px; right: 21px; gap: 10px; }
  .ir-photo-hero__numbers { gap: 7px; margin-right: 4px; }
  .ir-photo-hero__arrow { width: 39px; height: 39px; }
}
@media (max-width: 380px) {
  .ir-home .ir-photo-hero { min-height: 660px; }
  .ir-home .ir-photo-hero__heading { font-size: 12vw; }
  .ir-photo-hero__content { padding-left: 16px; }
  .ir-photo-hero__subtitle { font-size: 1.33rem; }
  .ir-photo-hero__description { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ir-photo-hero__arrow,.ir-photo-hero__cta { transition: none; }
}
/* Keep the editorial manifesto clear of Tokyo Tower at wide breakpoints. */
@media (min-width: 901px) { .ir-photo-hero__manifesto { right: 15%; } }
/* Reveal more Mount Fuji while preserving contrast for mobile copy. */
@media (max-width: 700px) {
  .ir-home .ir-photo-hero {
    background-image: linear-gradient(180deg,#f9f8f6 0%,rgba(249,248,246,.98) 27%,rgba(249,248,246,.91) 42%,rgba(249,248,246,.55) 62%,rgba(249,248,246,.06) 100%),url('reference/tokyo-fuji-banner.webp');
    background-position:center, 74% bottom;
  }
}
@media (min-width: 701px) {
  .ir-home .ir-photo-hero { background-position: center, right center; }
}

/* Editorial hero headline: Bodoni Moda matches the high-contrast, fine-serif
   letterforms of the reference NEXROC wordmark (without embedding screenshot text). */
.ir-home .ir-photo-hero__heading { font-family:'Bodoni Moda',Didot,'Times New Roman',serif; font-weight:400; letter-spacing:.025em; line-height:.9; }
.ir-home .ir-photo-hero__heading a { overflow-wrap:normal; }
html[lang="ja"] .ir-home .ir-photo-hero__heading,
html[lang="zh-CN"] .ir-home .ir-photo-hero__heading { font-family:'Noto Serif CJK JP','Noto Serif CJK SC','Yu Mincho',serif; letter-spacing:.04em; line-height:1.22; font-size:clamp(3.4rem,5.25vw,6.4rem); }
html[lang="ja"] .ir-photo-hero__subtitle,html[lang="zh-CN"] .ir-photo-hero__subtitle { font-family:'Noto Serif CJK JP','Noto Serif CJK SC',serif; white-space:normal; }
@media(max-width:700px) { html[lang="ja"] .ir-home .ir-photo-hero__heading, html[lang="zh-CN"] .ir-home .ir-photo-hero__heading { font-size:clamp(2.25rem,10vw,3.6rem); } }

html[lang="ja"] .ir-home .ir-photo-hero__heading,html[lang="ja"] .ir-photo-hero__subtitle { font-family:'Noto Serif JP','Yu Mincho',serif; }
html[lang="zh-CN"] .ir-home .ir-photo-hero__heading,html[lang="zh-CN"] .ir-photo-hero__subtitle { font-family:'Noto Serif SC',SimSun,serif; }
html[lang="ja"] .ir-home,html[lang="ja"] .ir-topbar,html[lang="ja"] .ir-topbar__language { font-family:'Noto Sans JP',Arial,sans-serif; }
html[lang="zh-CN"] .ir-home,html[lang="zh-CN"] .ir-topbar,html[lang="zh-CN"] .ir-topbar__language { font-family:'Noto Sans SC',Arial,sans-serif; }

/* SoftBank-style homepage slider replacing the former picture banner. */
.ir-home #nexroc-slider {
  --nx-font: Arial, Helvetica, sans-serif;
  --nx-speed: 1050ms;
  position: relative;
  width: 100%;
  font-family: var(--nx-font);
  color: #332b24;
  overflow: hidden;
  isolation: isolate;
  background: #f7f7f5;
}
.ir-home #nexroc-slider button,
.ir-home #nexroc-slider a { font: inherit; }
.ir-home #nexroc-slider button { cursor: pointer; }
.ir-home #nexroc-slider .nx-stage {
  position: relative;
  height: clamp(540px, 43vw, 715px);
  min-height: 540px;
  overflow: hidden;
  background: #f7f7f5;
}
.ir-home #nexroc-slider .nx-track {
  display: flex;
  height: 100%;
  will-change: transform;
  transition: transform var(--nx-speed) cubic-bezier(.22,.61,.36,1);
}
.ir-home #nexroc-slider .nx-slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 84px 145px 160px;
  overflow: hidden;
  background: #f7f7f5;
}
.ir-home #nexroc-slider .nx-slide-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1160px;
  transform: translateY(-11px);
}
.ir-home #nexroc-slider .nx-kicker {
  margin: 0 0 25px;
  color: rgba(51,43,36,.70);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.ir-home #nexroc-slider .nx-heading {
  margin: 0;
  color: #332b24;
  font-size: clamp(31px, 3.05vw, 52px);
  line-height: 1.23;
  font-weight: 400;
  letter-spacing: .012em;
  font-family: 'Bodoni Moda', Didot, 'Times New Roman', serif;
}
.ir-home #nexroc-slider .nx-subtitle {
  margin: 39px 0 0;
  font-size: clamp(20px, 2.12vw, 33px);
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: .005em;
}
.ir-home #nexroc-slider .nx-controls {
  position: absolute;
  z-index: 5;
  right: clamp(24px, 3.6vw, 62px);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.ir-home #nexroc-slider .nx-dots {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 13px 7px;
  border: 2px solid #fff;
  border-radius: 28px;
  background: rgba(145,145,145,.68);
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.ir-home #nexroc-slider .nx-dot {
  display: block;
  border: 0;
  border-radius: 50%;
  padding: 0;
  width: 9px;
  height: 9px;
  background: rgba(255,255,255,.95);
  transition: width .25s ease, height .25s ease, background .25s ease;
}
.ir-home #nexroc-slider .nx-dot[aria-current="true"] { width: 19px; height: 19px; background: #fff; }
.ir-home #nexroc-slider .nx-play {
  border: 2px solid #fff;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding: 0;
  background: rgba(145,145,145,.8);
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
}
.ir-home #nexroc-slider .nx-dot:focus-visible,
.ir-home #nexroc-slider .nx-play:focus-visible,
.ir-home #nexroc-slider .nx-info a:focus-visible {
  outline: 3px solid #f6b84b;
  outline-offset: 4px;
}
.ir-home #nexroc-slider .nx-panel-zone {
  position: relative;
  z-index: 6;
  width: min(1170px, 75%);
  margin: -74px auto 0;
  min-height: 175px;
  background: #fff;
  color: #191919;
  box-shadow: 0 16px 36px rgba(21,43,64,.10);
}
.ir-home #nexroc-slider .nx-info { display: none; }
.ir-home #nexroc-slider .nx-info.is-active { display: block; animation: nx-reveal .35s ease both; }
@keyframes nx-reveal { from { opacity: .4; } to { opacity: 1; } }
.ir-home #nexroc-slider .nx-info a {
  min-height: 175px;
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 27px 50px 32px 55px;
}
.ir-home #nexroc-slider .nx-info-text { min-width: 0; }
.ir-home #nexroc-slider .nx-info-title {
  display: block;
  font-size: clamp(22px, 2.15vw, 31px);
  font-weight: 400;
  line-height: 1.34;
  letter-spacing: .004em;
}
.ir-home #nexroc-slider .nx-info-description {
  display: block;
  font-size: 15px;
  line-height: 1.6;
  margin-top: 13px;
  color: #646970;
}
.ir-home #nexroc-slider .nx-arrow {
  flex: 0 0 39px;
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border: 1px solid #aaa;
  border-radius: 50%;
  font-size: 22px;
  transition: color .2s, background .2s, transform .2s;
}
.ir-home #nexroc-slider .nx-info a:hover .nx-arrow {
  color: #fff;
  background: #165c96;
  transform: translateX(4px);
}
.ir-home #nexroc-slider .nx-after { height: 92px; background: #f7f7f5; }
@media (max-width: 760px) {
  .ir-home #nexroc-slider .nx-stage { height: 570px; min-height: 570px; }
  .ir-home #nexroc-slider .nx-slide { padding: 55px 32px 150px; }
  .ir-home #nexroc-slider .nx-slide-inner { transform: translateY(-12px); }
  .ir-home #nexroc-slider .nx-kicker { font-size: 11px; margin-bottom: 21px; }
  .ir-home #nexroc-slider .nx-heading { font-size: clamp(28px, 7vw, 40px); }
  .ir-home #nexroc-slider .nx-subtitle { margin-top: 28px; font-size: clamp(18px, 5vw, 25px); }
  .ir-home #nexroc-slider .nx-controls {
    top: auto; bottom: 102px; left: 50%; right: auto; transform: translateX(-50%); flex-direction: row; gap: 12px;
  }
  .ir-home #nexroc-slider .nx-dots { flex-direction: row; padding: 7px 12px; gap: 13px; }
  .ir-home #nexroc-slider .nx-panel-zone { width: calc(100% - 32px); margin-top: -59px; min-height: 160px; }
  .ir-home #nexroc-slider .nx-info a { padding: 23px 22px 26px; min-height: 160px; }
  .ir-home #nexroc-slider .nx-info-title { font-size: 21px; }
  .ir-home #nexroc-slider .nx-info-description { font-size: 13px; margin-top: 8px; }
  .ir-home #nexroc-slider .nx-arrow { flex-basis: 32px; width: 32px; height: 32px; font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .ir-home #nexroc-slider .nx-track { transition: none !important; }
  .ir-home #nexroc-slider .nx-info.is-active { animation: none; }
}

/* Keep long all-caps press-release headlines readable on narrow screens. */
.ir-home #nexroc-slider .nx-heading { overflow-wrap: break-word; text-wrap: balance; }
.ir-home #nexroc-slider .nx-info-title { overflow-wrap: break-word; text-wrap: balance; }
