/* Quiet shell, strong brand-specific chapters. */
body{overflow-x:hidden}.previewbar{background:#17251f;color:#c3cbbf;font-size:9px;padding-top:6px;padding-bottom:6px}.topbar{height:84px}.portal .topbar{background:#101b17}.portal{--paper:#101b17}.world-entry{padding:40px 0 25px}.world-heading{position:relative;padding:15px 0 48px}.world-heading h1{font-size:clamp(52px,6.8vw,108px);letter-spacing:-.065em;line-height:1.02}.world-heading h1 em{color:#bec7a5}.world-heading>p{position:absolute;right:0;bottom:52px;font-size:14px;color:#b9c3b8;max-width:300px}.world-heading .eyebrow{color:#c6cdb5;margin-bottom:27px}.world-portals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.world-door{height:540px;position:relative;isolation:isolate;overflow:hidden;background:#22352b}.world-door img{position:absolute;inset:0;z-index:-2;transition:transform 1.2s cubic-bezier(.2,.65,.3,1);filter:saturate(.65)}.world-door:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 28%,#030906b8 65%,#030906f2);z-index:-1}.world-door:hover img,.world-door:focus-visible img{transform:scale(1.055)}.world-door-top{display:flex;justify-content:space-between;padding:24px;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.world-door-top>span:first-child{border:1px solid #fff5;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.world-door-top>span+span{padding-top:6px}.world-door-copy{position:absolute;bottom:29px;left:28px;right:28px}.world-brand{font-size:11px;letter-spacing:.16em}.world-door h2{font-family:var(--serif);font-size:clamp(28px,2.7vw,43px);letter-spacing:-.035em;line-height:1.08;margin:20px 0}.world-door p{font-size:11px;color:#c5ccc3}.world-enter{border-top:1px solid #ffffff45;display:flex;align-items:center;justify-content:space-between;padding-top:19px;margin-top:28px;font-size:12px}.world-enter i{border:1px solid #fff5;border-radius:50%;font-style:normal;width:38px;height:38px;display:grid;place-items:center;font-size:20px;transition:background .25s,color .25s}.world-door:hover .world-enter i{background:#dee3ce;color:#18231c}.world-zovii img{object-position:65%}.world-emg img{object-position:58%}.world-footnote{display:flex;justify-content:space-between;gap:24px;padding-top:22px;font-size:10px;color:#aab6a9}.world-footnote span:last-child{font-size:9px}.portal .footer{padding-top:28px}.portal .footer-top{display:none}.portal .footer-bottom{margin-top:0;padding-top:20px}.edx-intro{padding-top:45px;padding-bottom:80px}.edx-back{display:block;font-size:11px;letter-spacing:.08em;margin-bottom:55px}.edx-intro h1{max-width:1150px;font-size:clamp(45px,6.7vw,100px)}.edx-intro-bottom{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;border-top:1px solid var(--line);padding-top:30px;margin-top:42px}.edx-intro-bottom p{font-size:19px;line-height:1.7}.edx-axis{font-size:9px;letter-spacing:.14em;padding-top:6px;color:var(--muted)}.edx-content{display:grid;grid-template-columns:270px 1fr;gap:8%;padding-bottom:90px}.edx-index{position:sticky;top:25px;align-self:start}.edx-index button{display:flex;gap:15px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);color:inherit;text-align:left;font-size:12px;padding:16px 0;line-height:1.5}.edx-index button span{font-size:10px;opacity:.6;flex-shrink:0}.edx-index button:hover{color:#7c8e62}.edx-index-cta{display:block;font-size:12px;margin-top:32px;text-decoration:underline;text-underline-offset:5px}.edx-chapter{padding:20px 0 60px;margin-bottom:38px;border-top:1px solid var(--line);scroll-margin-top:30px}.edx-chapter-top{display:flex;align-items:center;gap:28px;margin-bottom:26px}.edx-chapter-top .eyebrow{margin:0;font-size:9px}.edx-number{font-family:var(--serif);font-size:54px;color:#8e9d7b;line-height:1}.edx-chapter h2{font-size:clamp(30px,3.3vw,51px);max-width:850px;margin-bottom:24px}.edx-chapter>p{font-size:17px;line-height:1.8;max-width:75ch}.edx-items{margin-top:28px}.edx-item{padding:19px 0;border-top:1px solid var(--line);display:flex;gap:25px}.edx-item>span{font-size:10px;opacity:.5;padding-top:3px}.edx-item p{font-size:14px}.edx-check{display:flex;gap:17px;align-items:flex-start;padding:20px;border:1px solid var(--line);margin-top:8px;cursor:pointer;font-size:14px}.edx-check:has(input:checked){background:#7d936a14}.edx-check input{width:20px;height:20px;accent-color:#687d53;flex-shrink:0;margin:1px 0}.edx-progress{border:1px solid var(--line);padding:25px;font-size:13px}.edx-progress>span{font-size:26px;margin-right:10px}.edx-story .edx-chapter:nth-child(even){padding-left:8%;border-left:1px solid var(--line)}.edx-story-note{padding:35px 0}.edx-story-note>span{font:80px var(--serif);height:50px;display:block;color:#ad8b68}.edx-story-note p{font:italic 32px/1.25 var(--serif);max-width:470px;margin:0 0 15px}.edx-story-note small{font-size:10px;color:var(--muted)}.edx-evidence .edx-number{color:#64afa8}.edx-evidence .edx-chapter{padding:30px;background:#78b8b008;border:1px solid var(--line)}.edx-end{padding:75px 0;background:var(--ink);color:var(--paper)}.edx-end h2{max-width:850px;margin-bottom:32px;font-size:clamp(32px,4.5vw,65px)}.edx-end .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.edx-related{display:flex;gap:25px;flex-wrap:wrap;margin-top:40px;font-size:12px}.edx-related a{border-bottom:1px solid;padding-bottom:5px}.edx-faq{padding-bottom:80px}.edx-faq h2{margin-bottom:35px}.edx-faq details{border-top:1px solid var(--line);padding:23px 0}.edx-faq summary{cursor:pointer}.edx-faq details p{margin-top:20px;font-size:15px}.product-hero h1{font-size:clamp(45px,5.3vw,80px)}.product-hero .product-visual{min-height:440px;background:radial-gradient(ellipse at 50% 65%,#cbd3be,#e8eade 65%);border:1px solid #c6cdbe}.product-hero .product-visual svg{filter:drop-shadow(0 18px 14px #27392620)}.product-hero .product-lead{font-family:var(--serif);font-style:italic;font-size:27px;color:#667552;margin:20px 0}.product-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:65px 0}.product-notes article{border-top:1px solid var(--line);padding-top:24px}.product-notes h3{font-size:25px;margin-bottom:18px}.product-notes li{font-size:14px;margin-bottom:12px}.product-notes ul{padding-left:19px}.brand-breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:24px 0}.product-number{font-family:var(--serif);font-size:45px;color:#8b9c76;display:block;margin-bottom:20px}.brand-hub-link{font-size:9px;letter-spacing:.08em;display:block;opacity:.6;margin-bottom:2px}.topbar-brandstack{line-height:1.1}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1500px){.world-door{height:620px}}
@media(max-width:1000px){.world-heading>p{position:static;margin-top:27px}.world-door{height:490px}.world-door-copy{left:20px;right:20px}.world-door h2{font-size:31px}.world-door-top{padding:18px;font-size:8px}.edx-content{grid-template-columns:220px 1fr;gap:5%}.edx-intro-bottom{gap:40px}.topbar nav{gap:16px}}
@media(max-width:760px){.world-entry{padding-top:24px}.world-heading{padding-bottom:30px}.world-heading h1{font-size:clamp(43px,8vw,66px)}.world-heading>p{font-size:14px}.world-portals{grid-template-columns:1fr}.world-door{height:430px}.world-door h2{font-size:39px}.world-door-copy{left:26px;right:26px}.world-door-top{padding:24px;font-size:10px}.world-door img{object-position:center 48%}.world-zovii img{object-position:center 62%}.world-footnote{flex-direction:column;gap:12px;font-size:10px}.edx-intro{padding-top:25px;padding-bottom:45px}.edx-back{margin-bottom:35px}.edx-intro h1{font-size:44px}.edx-intro-bottom{grid-template-columns:1fr;gap:20px;margin-top:30px;padding-top:20px}.edx-intro-bottom p{font-size:17px}.edx-content{grid-template-columns:1fr;gap:35px}.edx-index{position:static;display:flex;overflow:auto;gap:12px;padding-bottom:8px}.edx-index>.eyebrow,.edx-index-cta{display:none}.edx-index button{min-width:170px;border:1px solid var(--line);padding:14px;align-items:center}.edx-chapter{padding-bottom:35px;margin-bottom:25px}.edx-chapter>p{font-size:16px}.edx-chapter h2{font-size:33px}.edx-number{font-size:44px}.edx-end{padding:50px 0}.edx-evidence .edx-chapter{padding:22px}.product-notes{grid-template-columns:1fr;padding:35px 0;gap:35px}.product-hero .product-visual{min-height:300px}.topbar{height:76px}.edx-story-note p{font-size:27px}}

/* Portal v4 — "three doors, one horse" (.hcx). Scoped to the portal section only. */
.hcx{--hx-ease:cubic-bezier(.2,.7,.2,1);padding:20px 0 22px}
.hcx .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hcx-head{display:grid;grid-template-columns:1fr minmax(260px,390px);align-items:end;gap:48px;padding:4px 0 26px}
.hcx-eyebrow{display:block;color:#c6cdb5;margin-bottom:18px}
.hcx h1{font-size:clamp(44px,5.2vw,86px);letter-spacing:-.06em;line-height:1.02;margin:0}
.hcx h1 em{color:#bec7a5}
.hcx-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.hcx-w>span{display:inline-block;animation:hcxRise 1s var(--hx-ease) both;animation-delay:calc(var(--i)*70ms + 80ms)}
.hcx h1 em .hcx-w>span{animation-delay:calc(var(--i)*70ms + 330ms)}
.hcx-origin{animation:hcxFade 1s .55s var(--hx-ease) both}
.hcx-origin p{margin:0;font-size:15px;line-height:1.55;color:#c3cbbf}
.hcx-origin .hcx-choose{margin-top:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#eff1e5}
.hcx-doors{display:flex;gap:14px;height:clamp(480px,calc(100svh - 370px),720px)}
.hcx-door{--acc:#c6d6a8;position:relative;flex:1 1 0;min-width:0;overflow:hidden;isolation:isolate;color:#f3f4ec;background:#22352b;border-top:3px solid var(--acc);text-decoration:none;transition:flex-grow .85s var(--hx-ease),filter .5s;animation:hcxDoor 1.1s var(--hx-ease) both;animation-delay:calc(var(--d)*120ms + 250ms)}
.hcx-zovii{--acc:#c4a07a}.hcx-emg{--acc:#7abbb0}
.hcx-door:focus-visible{outline:2px solid var(--acc);outline-offset:4px}
.hcx-door::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,12,9,.6) 0%,rgba(6,12,9,0) 22%,rgba(6,12,9,.2) 42%,rgba(5,10,7,.78) 64%,rgba(4,9,6,.95) 100%)}
.hcx-media{position:absolute;inset:0;z-index:-2}
.hcx-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.hcx-drift{transition:transform 1.8s var(--hx-ease)}
.hcx-dim{filter:grayscale(.9) brightness(.68) contrast(.95) blur(1.2px);transform:scale(1.03)}
.hcx-over{-webkit-mask-image:radial-gradient(circle var(--rr,0px) at var(--rx,50%) var(--ry,50%),#000 0%,#000 40%,rgba(0,0,0,.75) 60%,rgba(0,0,0,.4) 75%,rgba(0,0,0,.12) 88%,transparent 100%);mask-image:radial-gradient(circle var(--rr,0px) at var(--rx,50%) var(--ry,50%),#000 0%,#000 40%,rgba(0,0,0,.75) 60%,rgba(0,0,0,.4) 75%,rgba(0,0,0,.12) 88%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;will-change:mask-image}
.hcx-door.is-open .hcx-over{-webkit-mask-image:none;mask-image:none;animation:hcxFadeIn 1.1s var(--hx-ease) both}
.hcx-top{display:flex;align-items:flex-start;gap:12px;padding:20px 22px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.hcx-n{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid #fff6;border-radius:50%}
.hcx-aud{flex:1;padding-top:7px}
.hcx-cap{position:absolute;right:12px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font-size:10px;letter-spacing:.08em;text-transform:none;opacity:.6;white-space:nowrap}
.hcx-copy{position:absolute;left:26px;right:26px;bottom:24px}
.hcx-brand{font-size:11px;letter-spacing:.16em;color:var(--acc)}
.hcx-zovii .hcx-brand{font-family:Georgia,serif;font-size:20px;letter-spacing:.2em}
.hcx h2{margin:12px 0 0;max-width:16ch;font-family:var(--display);font-size:clamp(26px,2.3vw,36px);letter-spacing:-.045em;line-height:1.06;color:#f6f7ef}
.hcx-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--hx-ease)}
.hcx-more>div{overflow:hidden;min-height:0}
.hcx-role{max-width:46ch;margin:16px 0 0;font-size:14px;line-height:1.5;color:#d3d9cf}
.hcx-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 0;padding-top:16px;border-top:1px solid #ffffff2e}
.hcx-facts dt{font-family:var(--display);font-size:clamp(20px,1.7vw,28px);letter-spacing:-.04em;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.hcx-facts small{margin-left:4px;font-size:.5em;letter-spacing:0;color:#c9d0c4}
.hcx-facts dd{margin:8px 0 0;font-size:11.5px;line-height:1.4;color:#b8c2b5}
.hcx-role,.hcx-facts{opacity:0;transform:translateY(10px);transition:opacity .5s .15s,transform .7s .15s var(--hx-ease)}
.hcx-facts{transition-delay:.25s}
.hcx-hint{display:inline-block;margin-top:14px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);transition:opacity .3s}
.hcx-go{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #ffffff40;font-size:13px;font-weight:500}
.hcx-go i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #fff6;border-radius:50%;font-style:normal;font-size:18px;transition:background .3s,color .3s,border-color .3s}
.hcx-door:focus-visible .hcx-more{grid-template-rows:1fr}
.hcx-door:focus-visible .hcx-role,.hcx-door:focus-visible .hcx-facts{opacity:1;transform:none}
.hcx-door:focus-visible .hcx-go i{background:var(--acc);border-color:var(--acc);color:#15221c}
.hcx-door:focus-visible{flex-grow:1.9}
.hcx-door.is-open .hcx-hint{opacity:0}
.hcx-foot{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:20px;font-size:12.5px;color:#aab6a9}
.hcx-foot p{margin:0;max-width:64ch}
.hcx-foot strong{color:#eff1e5;font-weight:600}
.hcx-foot span{font-size:10px;white-space:nowrap}
@keyframes hcxRise{from{transform:translateY(105%)}to{transform:none}}
@keyframes hcxFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hcxDoor{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes hcxFadeIn{from{opacity:0}to{opacity:1}}
@media (hover:hover) and (pointer:fine) and (min-width:1001px){
.hcx-door:hover{flex-grow:1.9}
.hcx-doors:hover .hcx-door:not(:hover){filter:brightness(.7) saturate(.8)}
.hcx-door:hover .hcx-more{grid-template-rows:1fr}
.hcx-door:hover .hcx-role,.hcx-door:hover .hcx-facts{opacity:1;transform:none}
.hcx-door:hover .hcx-drift{transform:scale(1.06)}
.hcx-door:hover .hcx-hint{opacity:.55}
.hcx-door:hover .hcx-go i{background:var(--acc);border-color:var(--acc);color:#15221c}}
@media (max-width:1000px),(hover:none){
.hcx-head{grid-template-columns:1fr;gap:22px;padding-bottom:26px}
.hcx-doors{flex-direction:column;height:auto;gap:12px}
.hcx-door{flex:none;min-height:600px}
.hcx-more{grid-template-rows:1fr}
.hcx-role,.hcx-facts{opacity:1;transform:none}
.hcx-hint{display:none}
.hcx-foot{flex-direction:column;gap:10px}}
@media (max-width:760px){
.hcx{padding-top:18px}
.hcx h1{font-size:clamp(42px,11vw,60px)}
.hcx-door{min-height:620px}
.hcx-copy{left:20px;right:20px;bottom:20px}
.hcx-top{padding:16px 18px}
.hcx h2{font-size:30px}
.hcx-facts{gap:12px}
.hcx-facts dt{font-size:21px}
.hcx-foot span{white-space:normal}}
@media (prefers-reduced-motion:reduce){.hcx *,.hcx *::after{animation:none!important;transition:none!important}}
/* detail pass: brand labels share one box so the three door headlines start on one line */
.hcx-brand{display:block;height:22px;line-height:22px}
.hcx-zovii .hcx-brand{font-size:18px}
