@view-transition{navigation:auto}
::view-transition-old(root){animation:lux-out 180ms ease-out both}
::view-transition-new(root){animation:lux-in 420ms cubic-bezier(.2,.7,.2,1) both}
@keyframes lux-out{to{opacity:0}}
@keyframes lux-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
:root{--lux-ease:cubic-bezier(.22,.68,.2,1)}
/* Full-width chapters overlap in normal document scroll. */
.reading-progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:50;background:#e1e0dc;transform-origin:left;pointer-events:none}
body::after{content:"";position:fixed;inset:0;background:#d9d9db;z-index:100;pointer-events:none;transform:translateY(101%);transition:transform 420ms cubic-bezier(.76,0,.24,1)}
body.page-leaving::after{transform:translateY(0)}
.home-page .hero-content{transform:translateY(calc(var(--hero-exit,0) * -110px));opacity:calc(1 - var(--hero-exit,0) * 1.2)}
.home-page .hero-media{animation:cinema-open 1800ms cubic-bezier(.2,.7,.2,1) both}
@keyframes cinema-open{from{clip-path:inset(12% 8%);transform:scale(1.18)}to{clip-path:inset(0);transform:scale(1)}}
.home-page .home-paths{padding:0;position:relative}
.home-page .home-path-grid{display:block}
.home-page .home-path{position:sticky;top:80px;min-height:680px;height:calc(100svh - 80px);display:flex;justify-content:center;padding:80px 7%;overflow:hidden;background:#111214;border-top:1px solid #ffffff30;isolation:isolate}
.home-page .home-path:nth-child(2){background:#151619}
.home-page .home-path:nth-child(3){background:#101113}
.home-page .home-path-image{position:absolute;inset:0;margin:0;z-index:-2;width:100%;height:100%;overflow:hidden}
.home-page .home-path-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;filter:grayscale(1);transform:scale(calc(1.06 - var(--arrival,1) * .06));transition:none;backface-visibility:hidden}
.home-page .home-path-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101113f5 0%,#101113d9 29%,#10111335 68%,#10111312),linear-gradient(0deg,#101113b3,transparent 35%);pointer-events:none}
.home-page .home-path:nth-child(1) img{object-position:center 43%}
.home-page .home-path:nth-child(2) img{object-fit:contain;object-position:right center;background:#101113}
.home-page .home-path:nth-child(3) img{object-position:center 55%}
.chapter-copy{max-width:620px;transform:translate3d(0,calc((1 - var(--arrival,1)) * 45px - var(--departure,0) * 35px),0);opacity:calc(1 - var(--departure,0) * .6)}
.home-page .chapter-copy h2{font-size:64px;line-height:1.1;margin:32px 0;max-width:620px}
.chapter-copy>p:not(.eyebrow){max-width:410px;font-size:1rem;line-height:1.8;color:#babbc0;margin-bottom:32px}
.chapter-copy .eyebrow{color:#ddd}
.chapter-copy .text-link{margin-top:12px;padding-bottom:10px}
.chapter-nav{position:sticky;bottom:24px;margin:-56px 6% 0 auto;display:flex;justify-content:flex-end;gap:8px;height:56px;z-index:5;pointer-events:none}
.chapter-nav a{pointer-events:auto;display:grid;place-items:center;width:48px;height:40px;font-size:12px;border-bottom:1px solid #ffffff50;background:#11121499;transition:background 250ms,color 250ms}
.chapter-nav a[aria-current]{background:#d9d9db;color:#111214}
.home-page .home-contact{position:relative;z-index:6;padding-top:110px;padding-bottom:90px;background:#18191b}
@media(min-width:1600px){.home-page .chapter-copy h2{font-size:76px}}
@media(max-width:1000px){.home-page .chapter-copy h2{font-size:52px}.chapter-copy{max-width:520px}}
@media(max-width:800px){
 .home-page .home-path{top:125px;min-height:730px;height:calc(100svh - 125px);padding:300px 6% 72px;justify-content:flex-end}
 .home-page .home-path-image img{object-position:60% center}
 .home-page .home-path:nth-child(2) img{height:60%;object-fit:cover;object-position:center 90%}
 .home-page .home-path-image::after{background:linear-gradient(0deg,#101113 0%,#101113e8 33%,#10111333 75%,#10111315)}
 .home-page .chapter-copy h2{font-size:38px;margin:21px 0}
 .chapter-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.65;margin-bottom:18px}
 .chapter-copy{max-width:100%}
 .chapter-nav{bottom:12px;margin-top:-52px;height:52px}
 .chapter-nav a{width:40px;height:36px}
}
@media(max-width:800px) and (max-height:760px){.home-page .home-path{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.home-page .home-path{position:relative;top:auto}.chapter-copy,.home-page .hero-content{transform:none;opacity:1}.home-page .home-path-image img{transform:none}}
html{scroll-padding-top:120px}
body{overflow-x:clip}
h1,h2,.home-path h2{letter-spacing:0}
.header{position:fixed;background:rgba(15,16,18,.94);padding-top:22px;padding-bottom:22px;transition:background 350ms ease,box-shadow 350ms ease}
.header.is-scrolled{background:rgba(15,16,18,.98);box-shadow:0 8px 32px #0002}
.header .desktop-nav{display:flex;align-items:center;gap:38px;margin-left:auto;margin-right:44px}
.desktop-nav a{position:relative;padding:10px 0;font-size:.88rem;white-space:nowrap}
.desktop-nav a::after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 350ms var(--lux-ease)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{gap:16px}
.home-page .hero{height:88svh;min-height:720px;max-height:1000px}
.home-page .hero-content{padding-top:155px;padding-bottom:115px}
.home-page .hero h1{font-size:88px;line-height:1.05;max-width:850px;margin:0;letter-spacing:0}
.hero-line{display:block}
.home-page .hero-content .eyebrow{margin-bottom:32px}
.home-page .hero-description{font-size:1rem;line-height:1.75;max-width:490px;margin-top:30px}
.hero-description strong{display:block;font-weight:400;color:#f0f0f2;margin-bottom:3px}
.home-page .hero-actions{margin-top:30px}
.hero-media video{transform:scale(1.04)}
.home-page .hero-bottom{bottom:30px}
.hero-bottom>a{display:flex;gap:14px;align-items:center}
.home-path-image img{transition:transform 900ms var(--lux-ease),filter 700ms ease}
.home-path-image:hover img,.home-path-image:focus-visible img{transform:scale(1.035);filter:grayscale(.4) contrast(1.04)}
.home-path:nth-child(2) img{object-position:center 90%}
.home-path h2{font-size:2.45rem}
.home-path{min-width:0}
.home-paths{padding-top:75px;padding-bottom:85px}
.button,.header-cta{position:relative;transition:background 250ms ease,color 250ms ease,border-color 250ms ease,transform 250ms var(--lux-ease)}
.button:hover,.header-cta:hover{transform:translateY(-2px)}
.button:active,.header-cta:active{transform:translateY(0)}
.text-link{transition:color 250ms ease,border-color 250ms ease}
.text-link:hover{color:#fff;border-color:#fff}
.menu-toggle{transition:background 250ms ease,border-color 250ms ease}
.menu-toggle:hover{background:#ffffff09}
#site-menu[open],#quote-dialog[open]{animation:dialog-enter 350ms var(--lux-ease) both}
#site-menu[open] nav a{animation:link-enter 450ms var(--lux-ease) both}
#site-menu nav a:nth-child(2){animation-delay:35ms}
#site-menu nav a:nth-child(3){animation-delay:70ms}
#site-menu nav a:nth-child(4){animation-delay:105ms}
#site-menu nav a:nth-child(5){animation-delay:140ms}
#site-menu nav a:nth-child(6){animation-delay:175ms}
@keyframes dialog-enter{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes link-enter{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.footer-social{font-family:Arial,Helvetica,sans-serif}
.service-story figure,.corporate-detail figure,.experience-image,.brand-chapter figure,.care-chapter figure{overflow:hidden}
.service-story figure img,.corporate-detail figure img,.experience-image img,.brand-chapter figure img,.care-chapter figure img{transform:translateY(var(--image-shift,0px)) scale(1.18)}
@media(min-width:1500px){.home-page .hero h1{font-size:100px}}
@media(max-width:1100px){.header .desktop-nav{gap:24px;margin-right:24px}.home-page .hero h1{font-size:76px}.home-path h2{font-size:2rem}}
@media(max-width:800px){
  html{scroll-padding-top:155px}
  .header,.header.is-scrolled{padding:16px 6% 12px;display:grid;grid-template-columns:1fr auto;gap:16px}
  .header .wordmark{font-size:1.8rem}
  .header .desktop-nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:20px;margin:0;border-top:1px solid var(--line);padding-top:7px}
  .desktop-nav a{font-size:.8rem;padding:5px 0}
  .header-actions{grid-column:2;grid-row:1;gap:10px}
  .home-page .hero{height:90svh;min-height:740px;max-height:980px}
  .home-page .hero-content{padding:190px 6% 110px}
  .home-page .hero h1{font-size:54px;line-height:1.08}
  .home-page .hero-content .eyebrow{margin-bottom:26px;font-size:.65rem}
  .home-page .hero-description{font-size:.92rem;max-width:400px;margin-top:25px}
  .home-path h2{font-size:2.3rem}
  .home-page .hero-actions{gap:20px}
  .home-path-image img{aspect-ratio:4/3}
  .corporate-hero,.services-hero,.story-hero,.channel-section{padding-top:185px}
  .corporate-hero-copy,.story-hero-copy{padding-top:0}
}
@media(max-width:420px){.home-page .hero h1{font-size:43px}.home-page .hero{min-height:780px}.header .desktop-nav{gap:12px}.home-page .hero-description{max-width:330px}.home-path h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  .hero-media video{transform:none}
  .service-story figure img,.corporate-detail figure img,.experience-image img,.brand-chapter figure img,.care-chapter figure img{transform:none}
}

/* Keep the opening within one visible viewport, including compact phones. */
.home-page .hero{height:100vh;height:100svh;min-height:0;max-height:none}
.home-page .hero-content{padding:150px 5.8% 100px}
img,video{filter:grayscale(1) contrast(1.04)!important}
@media(max-width:800px){
 .home-page .hero-content{padding:170px 6% 90px}
 .home-page .hero h1{font-size:48px}
 .home-page .hero-content .eyebrow{margin-bottom:22px}
 .home-page .hero-description{margin-top:22px}
 .home-page .hero-actions{margin-top:24px}
}
@media(max-width:420px){.home-page .hero h1{font-size:43px}}
@media(max-width:800px) and (max-height:740px){
 .home-page .hero-content{padding-top:154px;padding-bottom:66px}
 .home-page .hero h1{font-size:36px}
 .home-page .hero-content .eyebrow{margin-bottom:14px}
 .home-page .hero-description{font-size:13px;line-height:1.6;margin-top:16px}
 .home-page .hero-actions{margin-top:18px;gap:12px}
 .home-page .hero-actions .button{padding:12px 18px;font-size:13px}
 .home-page .hero-actions .text-link{font-size:13px}
 .home-page .hero-bottom{bottom:16px}
}
@media(max-width:360px) and (max-height:640px){
 .home-page .hero h1{font-size:32px}
 .home-page .hero-description{font-size:12px;margin-top:12px}
 .home-page .hero-actions{margin-top:14px;gap:10px}
}
@media(min-width:801px) and (max-height:800px){
 .home-page .hero h1{font-size:68px}
 .home-page .hero-content{padding-top:130px;padding-bottom:85px}
 .home-page .hero-content .eyebrow{margin-bottom:20px}
 .home-page .hero-description{margin-top:22px}
 .home-page .hero-actions{margin-top:24px}
}
@media(min-width:650px) and (max-height:600px){
 .home-page .hero-content{display:grid;grid-template-columns:1fr 1fr;column-gap:7%;padding:120px 6% 65px;align-items:center}
 .home-page .hero-content>.eyebrow{grid-column:1;grid-row:1;margin-bottom:15px}
 .home-page .hero h1{grid-column:1;grid-row:2/4;font-size:44px}
 .home-page .hero-description{grid-column:2;grid-row:1/3;font-size:13px;margin-top:0}
 .home-page .hero-actions{grid-column:2;grid-row:3;margin-top:16px;gap:14px;align-items:flex-start;flex-direction:column}
 .home-page .hero-actions .button{padding:10px 16px;font-size:12px}
 .home-page .hero-actions .text-link{font-size:12px}
 .home-page .hero-bottom{bottom:12px}
}
