/* v2: a corporate front door, with a composed motion sequence. */
.header-category{font:10px/1.5 var(--mono);letter-spacing:.08em;color:var(--muted);margin-left:-14px;margin-right:auto}
.header-inner .desktop-nav{margin-left:auto}
.corporate-hero{padding-top:52px;padding-bottom:26px}
.arrival-signature{display:flex;align-items:flex-end;gap:9px}
.arrival-signature img{width:192px;height:auto}
.arrival-signature>span{font:20px/1.1 var(--sans)}
.corporate-hero .hero-heading{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:64px;margin-top:44px}
.corporate-hero .hero-heading h1{font-size:clamp(62px,7.45vw,108px);line-height:1.22}
.corporate-hero .hero-heading h1>.title-line{display:block;margin:0;overflow:hidden;padding-block:.07em}
.corporate-hero .hero-heading h1>.title-line:last-child{padding-left:.35em}
.title-line>span{display:block;transform-origin:left bottom}
.corporate-hero .hero-intro{padding-bottom:8px}
.corporate-hero .hero-intro>.corporate-declaration{font-size:clamp(18px,1.55vw,22px);line-height:1.95}
.corporate-hero .hero-intro .body-copy{font-size:15px;line-height:2;margin-top:22px;max-width:390px}
.corporate-hero .hero-intro .text-link{margin-top:24px;min-width:185px}
.hero-bottom{margin-top:46px;display:flex;align-items:center;justify-content:space-between}
.hero-bottom>.micro{font-size:10px;color:var(--muted)}
.scroll-cue{display:flex;align-items:center;gap:20px;min-height:44px;font:10px/1.5 var(--mono);letter-spacing:.04em}
.scroll-cue i{display:block;width:1px;height:30px;background:var(--ink);position:relative;transform-origin:top}
.scroll-cue i::after{position:absolute;content:"";width:5px;height:5px;bottom:0;left:-2px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg)}
.corporate-purpose{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-block:140px}
.corporate-section-label{display:flex;flex-direction:column;gap:14px}
.section-jp{font-size:12px;color:var(--muted);padding-left:43px}
.corporate-purpose h2{font-size:clamp(30px,3.1vw,44px);line-height:1.75}
.purpose-body{max-width:700px;margin-top:34px}
.purpose-body p{line-height:2.15}
.purpose-body p+p{margin-top:23px}
.purpose-body .text-link{margin-top:26px}
.corporate-business{padding-top:0}
.corporate-section-head{display:grid;grid-template-columns:1fr 1.5fr auto;gap:40px;align-items:start;border-top:1px solid var(--ink);padding-top:25px}
.corporate-section-head h2{font-size:clamp(30px,3vw,42px);line-height:1.7}
.corporate-section-head p:not(.eyebrow){font-size:15px;line-height:2;margin-top:25px}
.corporate-section-head>.text-link{margin-top:10px;gap:38px}
.business-portfolio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:62px}
.portfolio-index{display:flex;justify-content:space-between;gap:20px;font:10px/1.5 var(--mono);margin-bottom:16px}
.portfolio-index>span:first-child{color:var(--muted)}
.portfolio-visual{display:block;position:relative;aspect-ratio:1.28;overflow:hidden;background:var(--wash)}
.portfolio-visual>img{width:100%;height:100%;object-fit:cover}
.portfolio-screen-pair{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;padding:30px 22px 24px}
.portfolio-screen-pair img{object-fit:contain;height:auto;border:1px solid #454a41;border-radius:6px}
.portfolio-screen-pair .portfolio-market{width:32%;max-height:85%;margin-top:36px}
.portfolio-screen-pair .portfolio-record{width:42%;max-height:98%;margin-bottom:28px}
.portfolio-radio .radio-art{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:25px}
.portfolio-radio .radio-art-top>span{font-size:8px}
.portfolio-radio .radio-art-top>img{width:31%}
.portfolio-radio .radio-display{margin:0;font-size:24cqi}
.portfolio-radio .radio-wave{height:45px;gap:3px}
.portfolio-radio .radio-art-bottom{font-size:10px;margin-top:0}
.portfolio-radio .radio-art-bottom>span:last-child{display:none}
.portfolio-copy{padding-top:26px}
.portfolio-copy h3{font:400 24px/1.4 var(--sans);letter-spacing:-.02em}
.portfolio-copy h3.furu-name{font-family:var(--serif);font-size:25px;line-height:1.34}
.portfolio-copy h3.furu-name>span{font-size:11px}
.portfolio-copy>.portfolio-tagline{font:500 clamp(22px,2vw,27px)/1.75 var(--serif);margin-top:26px;letter-spacing:.02em}
.portfolio-copy>p:not(.portfolio-tagline){font-size:15px;line-height:2;min-height:90px;margin-top:20px;color:#494e46}
.portfolio-copy>.text-link{display:flex;width:100%;border-bottom:1px solid var(--line);padding-block:18px;margin-top:14px;font-size:14px}
.portfolio-copy>.text-link::after{bottom:-1px;transform:scaleX(0)}
.portfolio-copy>.text-link:hover::after{transform:scaleX(1)}
.portfolio-register{display:inline-flex;align-items:center;gap:18px;font-size:12px;color:var(--muted);min-height:44px;margin-top:7px}
.portfolio-register>.arrow{width:15px;height:15px}
.portfolio-visual:hover .radio-wave i{animation:sound-tick .55s var(--ease) both;animation-delay:calc(var(--i)*12ms)}
.corporate-about{background:var(--wash)}
.corporate-about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:center}
.corporate-about-grid>figure{width:90%}
.corporate-about-grid>figure>img{aspect-ratio:4/5;object-fit:cover}
.corporate-about h2{margin-top:35px}
.corporate-about h2+div{margin-top:30px}
.corporate-about p:not(.eyebrow){line-height:2.1}
.corporate-about p+p{margin-top:23px}
.corporate-about .button{margin-top:32px}
.corporate-contact{padding-block:110px 100px}
.contact-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-top:40px}
.contact-heading>h2{font-size:clamp(36px,4vw,58px)}
.contact-heading p{line-height:2;padding-bottom:8px}
.corporate-contact-link{display:flex;align-items:center;justify-content:space-between;gap:40px;border-block:1px solid var(--ink);margin-top:55px;padding-block:27px}
.corporate-contact-link>span:first-child{font:400 clamp(58px,8vw,116px)/1 var(--sans);letter-spacing:-.04em;display:flex;align-items:center;gap:30px}
.corporate-contact-link small{font:13px/1.6 var(--sans);letter-spacing:0}
.corporate-contact-link .contact-arrow{width:74px;height:74px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:background .3s,color .3s,border-color .3s}
.corporate-contact-link .arrow{width:32px;height:32px}
.corporate-contact-link:hover .contact-arrow{background:var(--ink);color:#fff;border-color:var(--ink)}
.business-list+.corporate-contact{border-top:1px solid var(--line)}
.motion-line{display:block;overflow:hidden;padding-block:.05em;margin-block:-.01em}
.motion-line>span{display:block}
.film-control{min-width:128px;justify-content:center}
.button:active,.header-cta:active{transform:translateY(1px)}
.faq-list details[open]>div{animation:quiet-arrival 260ms var(--ease)}

/* Opening composition. Final states are the base styles; no indefinite loader. */
@keyframes brand-arrival{from{opacity:0;filter:blur(3px);transform:translateY(7px) scale(.985)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@keyframes line-arrival{from{transform:translateY(112%) rotate(.8deg);opacity:.5}to{transform:translateY(0) rotate(0);opacity:1}}
@keyframes quiet-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes film-arrival{from{clip-path:inset(48% 0 48% 0);opacity:.4}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes scroll-arrival{from{transform:scaleY(0)}to{transform:scaleY(1)}}
html[data-entry="full"] .site-header .brand{animation:brand-arrival 480ms var(--ease) 40ms both}
html[data-entry="full"] .header-category,html[data-entry="full"] .desktop-nav,html[data-entry="full"] .menu-toggle{animation:quiet-arrival 500ms var(--ease) 180ms both}
html[data-entry="full"] .arrival-signature{animation:brand-arrival 560ms var(--ease) 100ms both}
html[data-entry="full"] .hero-kicker>.micro{animation:quiet-arrival 600ms var(--ease) 300ms both}
html[data-entry="full"] .title-line>span{animation:line-arrival 920ms var(--ease) 330ms both}
html[data-entry="full"] .title-line:nth-child(2)>span{animation-delay:470ms}
html[data-entry="full"] .corporate-hero .hero-intro{animation:quiet-arrival 720ms var(--ease) 650ms both}
html[data-entry="full"] .hero-bottom{animation:quiet-arrival 650ms var(--ease) 850ms both}
html[data-entry="full"] .scroll-cue i{animation:scroll-arrival 900ms var(--ease) 920ms both}
html[data-entry="full"] .hero-film .film-visual{animation:film-arrival 1100ms var(--ease) 620ms both}
html[data-entry="full"] .hero-film figcaption{animation:quiet-arrival 650ms var(--ease) 1000ms both}
html[data-entry="short"] .title-line>span{animation:line-arrival 520ms var(--ease) 20ms both}
html[data-entry="short"] .title-line:nth-child(2)>span{animation-delay:90ms}
html[data-entry="short"] .corporate-hero .hero-intro{animation:quiet-arrival 450ms var(--ease) 120ms both}
html[data-entry="inner"] .page-hero h1,html[data-entry="inner"] .product-hero h1{animation:quiet-arrival 650ms var(--ease) 40ms both}
html[data-entry="inner"] .page-hero .lead,html[data-entry="inner"] .product-hero .lead{animation:quiet-arrival 650ms var(--ease) 140ms both}
html[data-entry="inner"] .furu-hero,html[data-entry="inner"] .company-hero,html[data-entry="inner"] .radio-cover,html[data-entry="inner"] .product-hero>.screens{animation:quiet-arrival 850ms var(--ease) 220ms both}
html.motion-interrupted .home-hero *,html.motion-interrupted .hero-film,html.motion-interrupted .hero-film *{animation:none!important}
.hero-film.is-deferred .film-visual,.hero-film.is-deferred figcaption{animation:none!important}

/* The menu has its own shorter rhythm. Native dialog retains focus management. */
.mobile-menu{padding:28px 30px 26px;max-height:100dvh;overflow-y:auto}
.mobile-menu .menu-top{padding-bottom:24px}
.mobile-menu .menu-top h2{font:16px/1.4 var(--sans);letter-spacing:.01em}
.mobile-menu .menu-primary{margin:18px 0 26px}
.mobile-menu .menu-primary a{padding-block:17px;font-size:23px;border-bottom:1px solid var(--line)}
.mobile-menu .menu-primary a>span{display:flex;flex-direction:column;gap:5px}
.mobile-menu .menu-primary small{font:9px/1.6 var(--mono);color:var(--muted);letter-spacing:.05em}
.mobile-menu .menu-services{margin:0}
.mobile-menu .menu-services a{font-size:14px;padding:10px 0;min-height:44px}
.mobile-menu .menu-services .arrow{width:18px;height:18px}
.mobile-menu>.eyebrow{font-size:9px;margin-top:25px}
@keyframes menu-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
.mobile-menu[open]{animation:menu-in 340ms var(--ease) both}
.mobile-menu[open]::backdrop{animation:backdrop-in 240ms ease both}
.mobile-menu[open] .menu-primary a{animation:quiet-arrival 380ms var(--ease) 80ms both}
.mobile-menu[open] .menu-primary a:nth-child(2){animation-delay:125ms}
.mobile-menu[open] .menu-primary a:nth-child(3){animation-delay:170ms}
.mobile-menu[open].is-closing{animation:menu-out 180ms ease both}
.mobile-menu[open].is-closing::backdrop{animation:backdrop-in 180ms ease reverse both}

@media(max-width:1100px){
 .header-category{display:none}
 .corporate-hero .hero-heading{gap:40px}
 .corporate-hero .hero-intro>.corporate-declaration{font-size:18px}
 .corporate-purpose{gap:45px;grid-template-columns:1fr 2.5fr}
 .corporate-section-head{grid-template-columns:1fr 1.6fr auto;gap:25px}
 .business-portfolio{gap:24px}
 .portfolio-radio .radio-art{padding:20px}
 .portfolio-radio .radio-art-top>span{display:none}
 .portfolio-copy h3{font-size:20px}.portfolio-copy>p:not(.portfolio-tagline){min-height:120px}
 .corporate-about-grid{gap:65px}
}
@media(max-width:900px){
 .corporate-hero .hero-heading{gap:30px;grid-template-columns:1.4fr 1fr}
 .corporate-hero .hero-heading h1{font-size:7.4vw}
 .corporate-hero .hero-intro>.corporate-declaration{font-size:16px}
 .corporate-hero .hero-intro .body-copy{font-size:14px}
 .business-portfolio{gap:20px}
 .portfolio-visual{aspect-ratio:1.1}
 .portfolio-radio .radio-art-bottom{font-size:9px}
 .portfolio-copy>.portfolio-tagline{font-size:20px}
 .portfolio-copy>p:not(.portfolio-tagline){font-size:14px}
 .portfolio-screen-pair{gap:11px;padding-inline:15px}
 .portfolio-copy h3{font-size:18px}
 .corporate-about-grid{gap:40px}
}
@media(max-width:760px){
 .corporate-hero{padding-block:34px 18px}
 .arrival-signature img{width:144px}.arrival-signature>span{font-size:15px}
 .corporate-hero .hero-kicker{min-height:32px}
 .corporate-hero .hero-kicker>.micro{display:none}
 .corporate-hero .hero-heading{display:block;margin-top:30px}
 .corporate-hero .hero-heading h1{font-size:clamp(43px,12.2vw,85px);line-height:1.23;letter-spacing:-.03em}
 .corporate-hero .hero-heading h1>.title-line:last-child{padding-left:.25em}
 .corporate-hero .hero-intro{display:block;margin-top:30px;padding-bottom:0}
 .corporate-hero .hero-intro>.corporate-declaration{font-size:17px;line-height:1.9}
 .corporate-hero .hero-intro .body-copy{font-size:14px;line-height:1.95;margin-top:16px;max-width:460px}
 .corporate-hero .hero-intro .text-link{margin-top:18px;min-height:44px;font-size:13px}
 .hero-bottom{margin-top:28px}
 .hero-bottom>.micro{font-size:8px;letter-spacing:.015em}
 .scroll-cue{font-size:8px;gap:14px}
 .scroll-cue i{height:24px}
 .hero-film{width:calc(100% - var(--gutter)*2)}
 .hero-film figcaption{margin:12px 0 0;font-size:10px}
 .corporate-purpose{grid-template-columns:1fr;gap:33px;padding-block:80px}
 .corporate-section-label{gap:11px}.section-jp{font-size:11px;padding-left:34px}
 .corporate-purpose h2{font-size:clamp(25px,6.8vw,38px);line-height:1.8}
 .purpose-body{margin-top:28px}.purpose-body p{font-size:16px;line-height:2}
 .purpose-body p+p{margin-top:20px}
 .corporate-business{padding-top:0}
 .corporate-section-head{grid-template-columns:1fr;gap:28px;padding-top:23px}
 .corporate-section-head h2{font-size:31px}
 .corporate-section-head p:not(.eyebrow){font-size:16px;margin-top:22px}
 .corporate-section-head>.text-link{justify-self:start;margin:0}
 .business-portfolio{grid-template-columns:1fr;gap:56px;margin-top:40px}
 .portfolio-index{margin-bottom:14px;font-size:10px}
 .portfolio-visual{aspect-ratio:1.4}
 .portfolio-screen-pair{padding:24px 25px 20px;gap:23px}
 .portfolio-screen-pair .portfolio-market{width:28%;margin-top:28px;max-height:90%}
 .portfolio-screen-pair .portfolio-record{width:36%;max-height:100%;margin-bottom:20px}
 .portfolio-radio .radio-art{padding:25px 28px}
 .portfolio-radio .radio-art-top>span{display:block;font-size:8px}
 .portfolio-radio .radio-art-top>img{width:27%}
 .portfolio-radio .radio-display{font-size:24cqi}
 .portfolio-radio .radio-art-bottom{font-size:11px}
 .portfolio-radio .radio-wave{height:45px}
 .portfolio-copy{padding-top:23px}
 .portfolio-copy h3{font-size:25px}
 .portfolio-copy>.portfolio-tagline{font-size:26px;margin-top:22px;line-height:1.65}
 .portfolio-copy>p:not(.portfolio-tagline){min-height:0;font-size:16px;margin-top:20px}
 .portfolio-copy>.text-link{margin-top:17px}
 .portfolio-register{font-size:13px}
 .corporate-about-grid{grid-template-columns:1fr;gap:45px}
 .corporate-about-grid>div{grid-row:1}
 .corporate-about-grid>figure{width:84%;justify-self:end}
 .corporate-about h2{font-size:30px;margin-top:30px}
 .corporate-about p:not(.eyebrow){font-size:16px}
 .corporate-contact{padding-block:80px 75px}
 .contact-heading{grid-template-columns:1fr;gap:25px;margin-top:30px}
 .contact-heading h2{font-size:34px}
 .contact-heading p{font-size:15px;line-height:2}
 .corporate-contact-link{padding-block:24px;margin-top:34px;gap:15px}
 .corporate-contact-link>span:first-child{font-size:clamp(40px,11.5vw,64px);display:block}
 .corporate-contact-link small{display:block;font-size:11px;margin-top:12px}
 .corporate-contact-link .contact-arrow{width:48px;height:48px;flex:none}
 .corporate-contact-link .arrow{width:24px;height:24px}
 html[data-entry="full"] .arrival-signature{animation-duration:500ms;animation-delay:40ms}
 html[data-entry="full"] .title-line>span{animation-duration:780ms;animation-delay:250ms}
 html[data-entry="full"] .title-line:nth-child(2)>span{animation-delay:370ms}
 html[data-entry="full"] .corporate-hero .hero-intro{animation-duration:620ms;animation-delay:570ms}
 html[data-entry="full"] .hero-bottom{animation-delay:700ms}
 html[data-entry="full"] .hero-film .film-visual{animation-duration:900ms;animation-delay:580ms}
 html[data-entry="full"] .hero-film figcaption{animation-delay:850ms}
 .mobile-menu{padding-inline:24px}
}
@media(max-width:374px){
 .corporate-hero .hero-heading h1{font-size:12.2vw}
 .corporate-hero .hero-intro>.corporate-declaration{font-size:16px}
 .hero-bottom>.micro{font-size:7px}
 .scroll-cue{font-size:7px;gap:10px}
 .corporate-purpose h2{font-size:25px}
 .portfolio-radio .radio-art{padding:21px}
 .portfolio-radio .radio-art-bottom{font-size:10px}
 .contact-heading h2{font-size:31px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}


/* Use the same official wordmark as the header in every navigation dialog. */
.mobile-menu .menu-top{gap:24px}
.mobile-menu .menu-top .menu-brand{margin:0;flex:0 1 144px;min-width:0;font-size:0;line-height:0}
.mobile-menu .menu-brand img{display:block;width:144px;max-width:100%;height:auto}
.mobile-menu .menu-close{flex-shrink:0}
@media(max-width:374px){.mobile-menu .menu-top{gap:20px}.mobile-menu .menu-top .menu-brand{flex-basis:128px}.mobile-menu .menu-brand img{width:128px}}
