/* A's visual language, B's access story, C's connected journey. */
html{scroll-padding-top:108px}
body{background:#0e0e0e;--bronze:#805b10}
a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid var(--ga);outline-offset:6px}
.skip-link{position:fixed;left:20px;top:12px;z-index:100;transform:translateY(-160%);padding:12px 18px;background:var(--ga);color:#111;font-weight:700}
.skip-link:focus{transform:none}
.landing-nav{background:rgba(14,14,14,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
.landing-nav .nav-links{display:flex;align-items:center;gap:30px}
.nav-text{font-size:14px;font-weight:500;letter-spacing:.035em}
.nav-text:hover{color:var(--ga)}
.landing-nav.on-light .nav-text:hover{color:var(--bronze)}
.landing-nav .logo{height:46px}
.landing-nav .btn-sm{height:48px;font-size:12.5px;padding-inline:23px}
html.has-welcome .landing-nav:not(.is-visible){opacity:0;visibility:hidden;pointer-events:none}
.landing-nav{transition:opacity .25s ease,background .5s ease,box-shadow .5s ease,color .5s ease}
.hero{position:relative;display:flex;align-items:center;min-height:min(890px,96svh);padding:160px var(--pad) 110px;overflow:hidden;background:#0b0b0b}
.hero .inner{position:relative;max-width:1320px;width:100%;margin:auto}
.story-brand{display:block;width:clamp(250px,26vw,360px);max-width:100%;height:auto;margin-bottom:34px}
.eyebrow{font-size:clamp(15px,1.2vw,18px);line-height:1.45;letter-spacing:.13em}
.hero h2{max-width:22ch;margin-top:27px;font-size:clamp(46px,6.3vw,90px);line-height:1.02;text-wrap:balance}
.hero .lead{max-width:42ch;margin-top:28px;font-size:clamp(18px,1.7vw,23px);line-height:1.5}
.hero .actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:36px}
.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:13px;font-weight:600}
.text-link span{color:var(--ga);font-size:20px;transition:transform .25s}
.text-link:hover span{transform:translateY(3px)}
.hero-note{display:flex;align-items:center;gap:12px;margin-top:48px;color:#aaa99f;font-size:14px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.hero-note::before{content:'';width:32px;height:1px;background:var(--ga)}
.section-inner{width:100%;max-width:1200px;margin:auto}
.access{padding:clamp(70px,9vw,130px) var(--pad);background:#121212}
.access-head{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,7vw,100px);align-items:end}
.access h2{font-size:clamp(30px,4.4vw,60px);line-height:1.03;max-width:17ch}
.access .lead{font-size:clamp(17px,1.55vw,21px);max-width:41ch}
.journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;list-style:none;padding:0;margin:56px 0 0;counter-reset:journey}
.journey li{position:relative;padding:0;counter-increment:journey}
.journey b{display:block;font-size:19px;font-weight:600;letter-spacing:.01em}
.journey b::before{content:counter(journey,decimal-leading-zero);display:block;color:var(--ga);font-size:17px;letter-spacing:.1em;margin-bottom:12px}
.journey p{font-size:16px;line-height:1.55;color:#b5b5ad;margin-top:9px;max-width:21ch}
.section-label{display:flex;align-items:center;gap:12px;font-size:clamp(16px,1.2vw,18px);line-height:1.45;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ga)}
.section-label .number{font-size:20px;font-weight:700;letter-spacing:.03em}
.section-label .brand-hex{width:25px;flex-basis:25px}
.section-label::after{display:none}
.brand-hex{display:inline-block;width:18px;height:auto;flex:0 0 18px}
.eyebrow .brand-hex{width:21px;flex-basis:21px;margin-right:3px}
.chapter{padding:clamp(72px,8vw,118px) var(--pad)}
.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,100px);align-items:center}
.chapter h2{font-size:clamp(30px,4vw,54px);line-height:1.03;margin:25px 0 22px;text-wrap:balance}
.chapter .lead{font-size:clamp(17px,1.55vw,21px);line-height:1.55;max-width:42ch}
.chapter figure{margin:0}
.chapter figure img{width:100%;height:auto}
.chapter figcaption{font-size:11px;color:#91918d;margin-top:15px;line-height:1.5}
.assessment{background:#0e0e0e}
.assessment .image-wrap{position:relative;overflow:hidden}
.assessment .image-wrap img{aspect-ratio:5/4;object-fit:cover}
.assessment .image-wrap::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:none}
.assessment .detail{margin-top:30px;padding-top:22px;border-top:1px solid #30302a;display:flex;gap:24px;flex-wrap:wrap}
.assessment .detail span{font-size:17px;line-height:1.5;color:#d1d1c8}
.assessment .detail span::before{content:'+';color:var(--ga);margin-right:10px}
.technology{padding-top:24px;background:#0e0e0e}
.technology-head{max-width:850px;text-align:center;margin:0 auto 44px}
.technology-head .section-label{justify-content:center}
.technology-head .section-label::after{display:none}
.technology-head .lead{max-width:52ch;margin-inline:auto}
.film{position:relative;margin:0;isolation:isolate;background:#101112}
.film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#101112}
.film-resting-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}
.film[data-finished='true'] .film-resting-image{opacity:1}
.film-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.film-caption{font-size:14px;line-height:1.5;color:#afafa7}
.film-control{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid #494941;background:transparent;color:#d9d9d4;border-radius:30px;padding:10px 17px;min-height:44px;font:500 11px 'Alfabet',sans-serif;cursor:pointer;white-space:nowrap}
.film-control:hover{border-color:var(--ga);color:var(--ga)}
.film-control:disabled{opacity:.6;cursor:default}
.film-control svg{width:11px;height:12px;fill:currentColor}
.film-control .pause-icon{display:none}
.film-control[data-state='playing'] .pause-icon{display:block}
.film-control[data-state='playing'] .play-icon{display:none}
.manufacturing{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(30px,5vw,75px);align-items:center;margin-top:60px;padding-top:46px;border-top:1px solid #2b2b26}
.manufacturing h3{font-size:clamp(24px,2.8vw,38px);line-height:1.07;margin:18px 0}
.manufacturing p{font-size:16px;line-height:1.55;color:var(--on-dark-mute);max-width:36ch}
.manufacturing img{width:100%;height:auto}
.human{background:var(--bone);color:var(--on-light)}
.human .section-label,.coverage .section-label{color:var(--bronze)}
.human .lead,.coverage .lead{color:var(--on-light-mute)}
.human .image-wrap{overflow:hidden}
.human .image-wrap img{width:100%;aspect-ratio:5/4;object-fit:cover}
.visits{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #d9d8ce;padding-top:24px;margin-top:30px}
.visits strong{font-size:19px;font-weight:600;display:flex;align-items:center;gap:12px;line-height:1.4}
.visit-mark{display:block;width:25px;height:auto;flex:0 0 25px}
.visits p{color:var(--on-light-mute);font-size:16px;line-height:1.5;margin:9px 0 0 37px}
.coverage{background:#faf9f5;color:var(--on-light)}
.coverage .qualification{font-size:15px;line-height:1.6;color:#66665f;margin-top:23px;max-width:46ch}
.claim-path{padding:18px 0;list-style:none;margin:0}
.claim-path li{position:relative;padding:0 0 32px 38px}
.claim-path li:last-child{padding-bottom:0}
.claim-path li::before{content:'';position:absolute;left:0;top:2px;width:23px;height:26px;background:url('/assets/img/mark.svg') center/contain no-repeat}
.claim-path h3{font-size:20px;font-weight:600;text-transform:none;line-height:1.3;letter-spacing:0}
.claim-path p{font-size:16px;line-height:1.5;color:#68685f;margin-top:8px;max-width:35ch}
.close{background:#edece4;color:var(--on-light);padding:clamp(80px,10vw,140px) var(--pad);text-align:center}
.close .eyebrow{color:var(--bronze)}
.close h2{font-size:clamp(36px,5.5vw,76px);line-height:1.03;max-width:19ch;margin:26px auto}
.close h2 span{color:var(--bronze)}
.close .lead{color:var(--on-light-mute);max-width:47ch;margin:auto;font-size:clamp(17px,1.55vw,21px)}
.close .actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px}
.close .text-link span{color:var(--bronze)}
footer.site{padding:60px 0 34px}
footer.site .legal{line-height:1.25;align-items:flex-start;font-size:11px;gap:14px 24px}
footer.site .legal .care-note{max-width:none;flex:1;text-align:right;text-wrap:balance}
.footer-contact{text-align:right;font-size:13px;line-height:1.9;color:#aaa;
}
.footer-contact a:hover{color:var(--ga)}
.footer-contact .portal{display:inline-block;border-bottom:1px solid #555;margin-top:8px;color:#d0d0ca}
/* Content remains usable without JavaScript. Motion is optional enhancement. */
.rv{opacity:1;transform:none}
html.enhanced .rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
html.enhanced .rv.in{opacity:1;transform:none}
.gold{animation:none;background:linear-gradient(105deg,#f6bd37,#f2c76e 65%,#e5972b);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:800px){
  .landing-nav .nav-links{gap:15px}.nav-text{display:none}
  .hero{min-height:760px;min-height:92svh;padding-top:140px;padding-bottom:70px}
  .hero h2{font-size:clamp(44px,9vw,76px);max-width:14ch}
    .hero-note{margin-top:48px}
  .access-head,.chapter-grid{grid-template-columns:1fr;gap:34px}
  .access h2{max-width:21ch}.access .lead{max-width:48ch}
  .journey{grid-template-columns:1fr;margin-top:36px;gap:26px}
  .journey li{display:grid;grid-template-columns:minmax(145px,.8fr) 1fr;align-items:start;gap:24px}
  .journey b{font-size:18px}.journey b::before{display:inline;margin-right:12px;font-size:16px}
  .journey p{margin:0;max-width:30ch;font-size:16px}
  .technology{padding-top:16px}.technology-head{text-align:left;margin-bottom:28px}
  .technology-head .section-label{justify-content:flex-start}
  .technology-head .lead{margin-left:0}
  .film{margin-inline:calc(-1 * var(--pad))}
  .film-controls{align-items:center}.film-caption{max-width:26ch}
  .manufacturing{grid-template-columns:1fr;gap:26px;margin-top:40px;padding-top:32px}
  .manufacturing p{max-width:48ch}
  .human .copy{order:0}.human figure{order:1}
  .claim-path{margin-top:7px}
  .footer-contact{text-align:left}
  footer.site .legal .care-note{flex-basis:100%;text-align:left;line-height:1.25}
}
@media(max-width:420px){
  .landing-nav{padding-block:16px;gap:14px}.landing-nav .logo{height:34px;max-width:none}
  .landing-nav .btn-sm{font-size:10px;letter-spacing:.07em;height:44px;padding:0 12px}
  .hero h2{font-size:42px}.hero .actions{gap:12px 22px}.hero .lead{font-size:18px}
  .hero .btn{padding-inline:19px;font-size:10px;letter-spacing:.11em}
  .hero-note{font-size:13px;letter-spacing:.07em}
  .story-brand{width:260px;margin-bottom:28px}
  .journey li{grid-template-columns:1fr;gap:6px}
  .journey p{margin-left:34px}
  .visits{grid-template-columns:1fr}
  .film-control{font-size:10px;padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.enhanced .rv{opacity:1;transform:none;transition:none}
}

[hidden]{display:none!important}


/* Existing brand artwork only. One brief reveal, then a completely still opening. */
.welcome{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px var(--pad) 40px;background:#101112;overflow:hidden;text-align:center}
.welcome-brand{display:block;width:clamp(270px,27vw,430px);max-width:100%;height:auto;flex-shrink:0;overflow:hidden}
.welcome-brand .brand-symbol{animation:brand-appear .65s ease-out both}
.welcome-brand .brand-wordmark{animation:brand-appear .8s ease-out .35s both}
@keyframes brand-appear{from{opacity:0}to{opacity:1}}
.welcome h1{margin-top:24px;font-size:clamp(24px,2.4vw,36px);font-weight:500;line-height:1.2;letter-spacing:-.015em;text-transform:none;text-wrap:balance}
.welcome-product{width:min(900px,88vw);margin:14px 0 16px}
.welcome-product img{width:100%;height:auto;max-height:49svh;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 92%,transparent);mask-composite:intersect}
.welcome-enter{font-size:12px;height:50px;gap:20px}
.welcome-enter span{font-size:20px;font-weight:400}
@media(max-width:800px){
  .welcome{padding:60px 24px 44px}
  .welcome-brand{width:min(360px,85vw)}
  .welcome h1{max-width:20ch;margin-top:28px}
  .welcome-product{width:calc(100% + 48px);max-width:620px;margin:25px 0 30px}
  .welcome-enter{font-size:11px;padding-inline:24px}
}
@media(prefers-reduced-motion:reduce){
  .welcome-brand .brand-symbol,.welcome-brand .brand-wordmark{animation:none}
}

/* The same logo travels from welcome to navigation, without a page load. */
html.entry-moving{scroll-behavior:auto!important}
.entry-moving .welcome-brand,.entry-moving .landing-nav .logo{visibility:hidden}
.entry-curtain{position:fixed;inset:0;background:#101112;z-index:80;pointer-events:auto;opacity:0}
.entry-logo{position:fixed;z-index:81;max-width:none;transform-origin:0 0;pointer-events:none;object-fit:contain;will-change:transform}
.welcome-enter[aria-disabled='true']{pointer-events:none}

/* Compact analytics preferences, separate from the care note. */
.analytics-note{margin-top:14px;color:#b8b8b8;font-size:12px;line-height:1.5}
.analytics-note summary{cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:3px;padding:7px 0}
.analytics-note p{max-width:72ch;margin:10px 0}
.analytics-note button{color:#fff;background:transparent;border:1px solid #8d8d8d;padding:10px 14px;border-radius:3px;font:inherit;cursor:pointer}
.analytics-note summary:focus-visible,.analytics-note button:focus-visible{outline:2px solid #f6bd37;outline-offset:4px}
