/* Company pages share the athlete's typography; navy identifies Soarin. */
:root{--navy:#142b43;--blue:#b5cadd;--company-paper:#edf0f1}
.soarin-brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.logo-window{display:block;width:151px;height:61px;position:relative;overflow:hidden;filter:grayscale(1) invert(1);mix-blend-mode:screen}.logo-window img{position:absolute!important;max-width:none;width:501.6px;height:501.6px;left:-10px;top:-44px}.brand-country{font-size:11px;letter-spacing:.2em;color:var(--muted)}.partnership-link{border:1px solid #d7b57270;padding:11px 18px;font-size:14px;display:inline-flex;align-items:center;gap:25px;white-space:nowrap}.partnership-link:hover{background:var(--gold);color:var(--night)!important}.topbar .soarin-brand:hover{opacity:.8}.small-label{font-size:14px;margin-bottom:25px;display:block}.company-intro{display:grid;grid-template-columns:1fr 2fr;gap:5vw;background:var(--navy);color:var(--white)}.company-label{display:flex;flex-direction:column;justify-content:space-between;color:var(--blue)}.company-label>span:last-child{font-size:22px;letter-spacing:.12em}.company-intro h2,.partner-teaser h2{font-size:clamp(60px,7.2vw,120px)}.company-intro p{max-width:600px;margin-top:30px;font-size:19px;line-height:1.65;color:#c5d2de}.partner-teaser{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;align-items:center;background:#203950}.partner-teaser>div>p:not(.small-label){font-size:20px;color:#d5dee6;line-height:1.65}.solid-link{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;background:var(--gold);color:var(--night);padding:17px 23px;font-size:15px;border:0;margin-top:30px;min-height:52px}.solid-link:hover{background:#e7c98d}.quiet-link{display:block;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin-top:22px;color:#c5d2de}.footer-wordmark{font-family:Georgia,serif;font-style:italic;font-size:32px;letter-spacing:-.08em}.inner-page .topbar{position:relative;background:var(--navy)}.inner-page{background:var(--company-paper);color:var(--navy)}.inner-page .topbar{color:var(--white)}.inner-page .brand-country{color:#b5cadd}.inner-page .skip-link{background:var(--gold)}.inner-page .footer{color:var(--night)}.page-intro{padding:85px 6vw 90px;display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:end}.page-intro h1{font-size:clamp(78px,9.5vw,160px);line-height:.9}.page-intro .page-lead{font-size:20px;line-height:1.65;padding-bottom:5px;max-width:480px}.page-intro .small-label{color:#516980}.page-lead .quiet-link{color:var(--navy)}.feature-banner{position:relative;min-height:480px;height:62vw;max-height:650px;overflow:hidden}.feature-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}.feature-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081b31ce,transparent 75%)}.feature-caption{position:absolute;bottom:50px;left:6vw;z-index:1;color:white;max-width:470px}.feature-caption h2{font-size:clamp(52px,7vw,100px)}.feature-caption p{font-size:15px;margin-top:18px}.feature-credit{position:absolute;right:25px;bottom:20px;font-size:11px;color:white;z-index:1}.offer-section{padding-top:85px;padding-bottom:85px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading h2{font-size:clamp(48px,5.5vw,90px)}.section-heading p{font-size:16px;max-width:420px;color:#516375}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.offer-grid article{padding-top:25px;border-top:1px solid #142b4350}.offer-grid h3{font-family:var(--body);letter-spacing:-.035em;line-height:1.2;font-size:26px;font-weight:500}.offer-grid p{margin-top:20px;color:#526272;font-size:16px}.offer-grid .offer-jp{font-size:13px;color:#738293;letter-spacing:.05em}.fine-note{font-size:13px;max-width:780px;line-height:1.7;color:#627282;margin-top:30px}.process-strip{background:var(--navy);color:var(--white)}.process-strip .section-heading p{color:#b5cadd}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-list article{border-top:1px solid #b5cadd40;padding-top:22px}.process-list span{font-size:14px;color:var(--gold)}.process-list h3{font-family:var(--body);font-size:23px;line-height:1.3;letter-spacing:-.03em;font-weight:500;margin:18px 0 12px}.process-list p{color:#b5cadd;font-size:16px}.enquiry-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:start}.enquiry-intro h2{font-size:clamp(56px,6vw,100px)}.enquiry-intro>p{font-size:17px;margin-top:25px;max-width:380px;color:#516375}.enquiry-note{padding:20px;border-left:2px solid #a8bdce;background:#e2e8eb;margin-top:35px;font-size:14px;color:#40576b}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.enquiry-form label{font-size:14px;display:block;margin-bottom:8px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font:inherit;font-size:16px;color:var(--navy);padding:13px 12px;border:1px solid #142b4340;border-radius:0;background:#ffffff90;width:100%;min-height:50px}.enquiry-form textarea{min-height:150px;resize:vertical}.enquiry-form :is(input,select,textarea):focus-visible{outline:2px solid #355e80;outline-offset:2px}.form-wide{grid-column:1/-1}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.form-actions .solid-link{margin:0}.secondary-button{padding:13px 16px;border:1px solid #142b4360;background:transparent;color:var(--navy);font-size:14px;min-height:50px}.form-privacy{font-size:13px;color:#627282}.form-status{font-size:14px;min-height:23px}.form-status:empty{display:none}.brief-result{background:#e1e7eb;border:1px solid #b3c0ca;padding:22px;margin-top:25px}.brief-result[hidden]{display:none}.brief-result h3{font-family:var(--body);font-size:18px;line-height:1.3;letter-spacing:0;margin-bottom:12px}.brief-result pre{font:inherit;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.brief-result p{font-size:13px;margin-top:20px}.about-statement{background:var(--navy);color:var(--white);display:grid;grid-template-columns:1fr 1.1fr;gap:9vw}.about-statement h2{font-size:clamp(62px,7vw,110px)}.about-statement p{font-size:20px;line-height:1.7;color:#c7d5e2}.about-statement p+p{margin-top:25px}.horizon{display:grid;grid-template-columns:1fr 1.7fr;gap:8vw}.horizon h2{font-size:64px}.horizon article{border-top:1px solid #142b4340;padding:25px 0 35px;display:grid;grid-template-columns:130px 1fr;gap:30px}.horizon h3{font-family:var(--body);font-size:24px;letter-spacing:-.03em;line-height:1.3;font-weight:500}.horizon p{font-size:16px;color:#516375;margin-top:12px}.horizon span{font-size:14px}.company-contact{background:#dce4e9;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.company-contact h2{font-size:clamp(55px,6vw,100px)}.company-contact p{font-size:18px;color:#40576b;margin-bottom:12px}.athlete-profile{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;padding-top:70px;padding-bottom:80px;align-items:center}.athlete-profile h1{font-size:clamp(90px,11vw,175px)}.athlete-profile .name-jp{font-size:22px;letter-spacing:.14em;margin:25px 0}.athlete-profile .profile-lead{font-size:18px;max-width:460px}.profile-portrait{height:650px;max-height:75vh}.profile-portrait img{height:100%;width:100%;object-fit:cover;object-position:50% 40%}.profile-portrait figcaption{font-size:11px;margin-top:9px;color:#627282}.athlete-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid #142b4350;border-bottom:1px solid #142b4350;padding:30px 0;margin:0 6vw}.athlete-facts dt{font-size:13px;color:#526272}.athlete-facts dd{font-size:25px;margin:8px 0 0}.profile-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.profile-story h2{font-size:clamp(56px,6vw,100px)}.profile-story p{font-size:18px;margin-bottom:20px;color:#516375}.profile-results{margin-top:35px}.profile-results article{padding:22px 0;border-top:1px solid #142b4340}.profile-results h3{font-family:var(--body);font-size:20px;letter-spacing:-.03em;line-height:1.3}.profile-results p{font-size:14px;margin:8px 0 0}.inner-page .partner-teaser{color:var(--white)}.launch-note{font-size:13px;margin-top:20px;color:#627282}.topbar a[aria-current=page]{color:var(--gold)}
.logo-window{filter:none;mix-blend-mode:normal}.logo-window img{filter:url('assets/logo-filter.svg#white-ink')}
@media(max-width:1000px){.brand-country{display:none}.page-intro{gap:5vw}.enquiry-section{gap:5vw}.topbar nav{gap:20px}.offer-grid{gap:25px}.profile-portrait{height:540px}}
@media(max-width:700px){.topbar{height:82px;padding:0 5vw;gap:16px}.logo-window{width:116px;height:48px}.logo-window img{width:390px;height:390px;left:-8px;top:-34px}.partnership-link{font-size:13px;gap:12px;padding:10px 12px}.topbar nav{display:none}.intro-caption{font-size:12px}.company-intro,.partner-teaser,.page-intro,.enquiry-section,.about-statement,.horizon,.company-contact,.profile-story{grid-template-columns:1fr;gap:35px}.company-label{flex-direction:row;gap:20px}.company-label>span:last-child{font-size:15px}.company-intro h2,.partner-teaser h2{font-size:14vw}.company-intro p,.partner-teaser>div>p:not(.small-label){font-size:17px}.page-intro{padding:55px 7vw}.page-intro h1{font-size:18vw}.page-intro .page-lead{font-size:17px}.section-heading{display:block}.section-heading p{margin-top:20px}.offer-grid,.process-list{grid-template-columns:1fr;gap:30px}.offer-grid h3{font-size:25px}.feature-banner{min-height:470px}.feature-banner img{object-position:60% 50%}.feature-caption{left:7vw;bottom:50px;max-width:270px}.feature-caption h2{font-size:64px}.feature-credit{font-size:10px;left:7vw;right:auto;bottom:18px}.enquiry-form{gap:20px 14px}.enquiry-form>div:not(.form-wide){grid-column:1/-1}.horizon article{grid-template-columns:1fr;gap:12px}.horizon h2{font-size:56px}.about-statement p{font-size:18px}.athlete-profile{grid-template-columns:1fr;gap:40px;padding-top:50px}.athlete-profile h1{font-size:23vw}.profile-portrait{max-height:none;height:auto}.profile-portrait img{height:auto;aspect-ratio:4/5}.athlete-facts{grid-template-columns:1fr 1fr;padding:25px 0;gap:25px}.athlete-facts dd{font-size:23px}.footer-bottom{gap:18px}.footer-bottom>span{line-height:1.7}.inner-page .footer-title{font-size:17vw}.inner-page .footer{padding-top:50px}.small-label{margin-bottom:20px}}

/* ---- About portrait reveal ---- */
.portrait-intro{grid-template-columns:1.15fr .85fr;align-items:center;gap:6vw;padding-bottom:70px}.portrait-copy .page-lead{max-width:520px;margin-top:34px}.portrait-reveal{margin:0;max-width:520px;justify-self:end;width:100%}.portrait-layers{position:relative;aspect-ratio:4/5;overflow:hidden;background:#d9dee3;cursor:crosshair;--x:50%;--y:40%;--r:0px}.portrait-layers img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.portrait-mat{-webkit-mask-image:radial-gradient(circle at var(--x) var(--y),#000 calc(var(--r) - 70px),transparent var(--r));mask-image:radial-gradient(circle at var(--x) var(--y),#000 calc(var(--r) - 70px),transparent var(--r));transition:opacity .6s ease}.portrait-reveal.show-mat .portrait-mat{-webkit-mask-image:none;mask-image:none}.portrait-reveal.show-mat .portrait-hint{opacity:0}.portrait-hint{position:absolute;left:18px;bottom:16px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#edf0f1;background:#142b43cc;padding:6px 10px;transition:opacity .4s}.portrait-layers.is-active .portrait-hint{opacity:0}.portrait-toggle{display:flex;gap:0;margin-top:16px;border:1px solid #142b4340;width:max-content}.portrait-toggle button{border:0;background:transparent;color:var(--navy);font-size:14px;padding:10px 18px;transition:background .3s,color .3s}.portrait-toggle button[aria-pressed=true]{background:var(--navy);color:var(--white)}.portrait-toggle button:hover{color:var(--gold)}.portrait-toggle button[aria-pressed=true]:hover{color:var(--gold)}.portrait-reveal figcaption{display:flex;flex-direction:column;gap:4px;margin-top:14px;font-size:12px;color:#516980}
@media(max-width:900px){.portrait-intro{grid-template-columns:1fr;gap:34px}.portrait-reveal{justify-self:start;max-width:none}.portrait-layers{cursor:default}}
@media(max-width:600px){.portrait-intro{padding-bottom:50px}.portrait-hint{display:none}}
@media(prefers-reduced-motion:reduce){.portrait-mat{transition:none}}

/* ---- Language: Japanese typography and the switch ---- */
html[lang=ja] body{font-family:'Space Grotesk','Noto Sans JP',Arial,sans-serif}
html[lang=ja] :is(h1,h2,h3,.footer-title,.feed-note p,.feed-cta strong){font-family:'Barlow Condensed','Noto Sans JP',sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.12}html[lang=ja] :is(h1,h2,.footer-title){word-break:keep-all;line-break:strict}
html[lang=ja] :is(.result-list h3,.offer-grid h3,.process-list h3,.horizon h3,.profile-results h3,.brief-result h3){font-family:'Space Grotesk','Noto Sans JP',Arial,sans-serif;font-weight:600;letter-spacing:0;line-height:1.4}
html[lang=ja] .intro-copy h1{font-size:clamp(64px,9.4vw,156px);line-height:1.02}html[lang=ja] .name-period{margin-left:-.1em}
html[lang=ja] :is(.chapter-copy h2,.arrival-copy h2){font-size:clamp(46px,6.2vw,108px)}
html[lang=ja] .athlete h2{font-size:clamp(44px,4.7vw,80px)}html[lang=ja] .results h2{font-size:clamp(44px,4.3vw,80px)}html[lang=ja] .media h2{font-size:clamp(44px,5.4vw,94px)}
html[lang=ja] :is(.company-intro h2,.partner-teaser h2){font-size:clamp(44px,5.2vw,86px)}
html[lang=ja] .page-intro h1{font-size:clamp(48px,6vw,100px)}html[lang=ja] .athlete-profile h1{font-size:clamp(64px,8vw,126px)}
html[lang=ja] .feature-caption h2{font-size:clamp(36px,4.4vw,66px)}html[lang=ja] .section-heading h2{font-size:clamp(36px,4vw,65px)}
html[lang=ja] :is(.enquiry-intro h2,.company-contact h2,.profile-story h2){font-size:clamp(40px,4.3vw,72px)}html[lang=ja] .about-statement h2{font-size:clamp(40px,4.3vw,70px)}html[lang=ja] .horizon h2{font-size:46px}
html[lang=ja] .footer-title{font-size:clamp(40px,6.6vw,112px)}html[lang=ja] .feed-note p{font-size:clamp(24px,2.2vw,36px)}html[lang=ja] .feed-cta strong{font-size:clamp(28px,2.4vw,40px)}
html[lang=ja] .brand-jp{display:none}
.topbar-actions{display:flex;align-items:center;gap:22px}.lang-toggle{border:1px solid #ffffff55;background:transparent;color:inherit;font-size:13px;padding:8px 12px;letter-spacing:.04em;transition:color .2s,border-color .2s}.lang-toggle:hover{color:var(--gold);border-color:var(--gold)}
@media(max-width:600px){html[lang=ja] .intro-copy h1{font-size:16vw}html[lang=ja] :is(.chapter-copy h2,.arrival-copy h2){font-size:11vw}html[lang=ja] :is(.athlete h2,.results h2,.media h2){font-size:11vw}html[lang=ja] :is(.company-intro h2,.partner-teaser h2){font-size:10.5vw}html[lang=ja] .page-intro h1{font-size:12.5vw}html[lang=ja] .athlete-profile h1{font-size:16vw}html[lang=ja] .feature-caption h2{font-size:40px}html[lang=ja] .horizon h2{font-size:38px}html[lang=ja] .footer-title{font-size:10vw;word-break:normal}.topbar-actions{gap:10px}.lang-toggle{padding:7px 9px;font-size:12px}.partnership-link{font-size:13px}}
