/* V8: brand entrance and the real, full-resolution opening transformation. */
.brand-intro{display:none;position:fixed;inset:0;z-index:120;background:#080909;place-items:center;pointer-events:none}
.brand-intro img{width:210px;height:auto;max-height:45dvh;object-fit:contain}
.brand-enter .brand-intro{display:grid;animation:brand-veil 1.45s ease forwards}
.brand-enter .brand-intro img{animation:brand-emerge 1.45s cubic-bezier(.2,.6,.2,1) forwards}
@keyframes brand-veil{0%,65%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes brand-emerge{0%{opacity:0;transform:translateY(7px) scale(.94)}22%,65%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-4px) scale(1.015)}}
.header-inner{min-height:124px;gap:23px}.header .brand{width:104px}.desktop-nav{gap:23px;margin-right:12px}
.hero{padding:54px 0 90px}.opening-heading{display:grid;grid-template-columns:1.16fr 1fr;gap:74px;align-items:end}
.opening-origin{font-size:16px;color:#d2d4d4;line-height:1.55;margin-bottom:20px;max-width:530px}.opening-origin>span{color:var(--gold)}.opening-origin strong{color:#fff;font-weight:600;white-space:nowrap}
.opening-title h1{font-size:clamp(65px,7.1vw,98px);line-height:.99;letter-spacing:-.055em}
.opening-explanation{padding-bottom:3px;max-width:465px}.opening-explanation .eyebrow{font-size:12px;margin-bottom:15px}.opening-definition{font-size:20px;color:#d1d4d4;line-height:1.55}
.opening-explanation .button-video{margin-top:24px;width:100%;min-height:64px;font-size:18px}.opening-explanation>.under-link{display:block;width:fit-content;margin-top:16px;font-size:14px}
.opening-proof{margin-top:50px;scroll-margin-top:0}.opening-proof-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:23px;margin-bottom:22px;border-top:1px solid var(--line)}
.opening-proof-heading h2{font-size:29px;letter-spacing:-.035em;line-height:1.3}.opening-proof-heading h2 span{color:var(--gold)}.opening-proof-heading>p{font-size:13px;line-height:1.55;color:var(--muted);text-align:right}
.opening-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.opening-proof-card{min-width:0}.opening-photo{display:block;position:relative;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#131718;border-radius:7px;overflow:hidden;text-align:left}
.opening-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 44%}.opening-photo .enlarge-sign{width:44px;height:44px;bottom:18px;right:18px}.opening-photo:hover .enlarge-sign{background:var(--gold);color:#080909}
.opening-proof-card figcaption{display:flex;align-items:start;gap:22px;margin-top:19px;padding-top:18px;border-top:1px solid var(--line)}.opening-state{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.025em;color:#fff;min-width:78px}.opening-proof-card figcaption p{font-size:15px;color:#f4f4f1;line-height:1.55}.opening-proof-card figcaption p span{font-size:13px;color:var(--muted)}
.opening-switch,.opening-mobile-hint{display:none}.opening-viewer-kind{color:var(--gold)}
@media(max-width:1100px){.header .brand{width:94px}.desktop-nav{gap:16px;font-size:13px;margin-right:6px}.header-inner{gap:18px}.opening-heading{gap:42px}.opening-definition{font-size:18px}.opening-title h1{font-size:clamp(65px,7.5vw,88px)}.opening-origin{font-size:15px}.opening-explanation .button-video{font-size:16px}}
@media(max-width:900px){.header .brand{width:86px}.header-inner{min-height:108px}.hero{padding-top:43px}.opening-heading{gap:30px}.opening-title h1{font-size:65px}.opening-origin{font-size:14px}.opening-definition{font-size:17px}.opening-explanation .eyebrow{font-size:11px}.opening-pair{gap:20px}.opening-proof-heading h2{font-size:26px}.opening-proof-card figcaption{gap:16px}.opening-state{font-size:21px;min-width:65px}.opening-proof-card figcaption p{font-size:14px}}
@media(max-width:650px){
 .brand-intro img{width:170px}.header .brand{width:72px}.header-inner{min-height:92px;gap:12px}.header-tools{gap:12px}
 .hero{padding:28px 0 62px}.opening-heading{grid-template-columns:1fr;gap:23px}.opening-origin{font-size:13px;line-height:1.65;margin-bottom:15px;max-width:300px}.opening-origin strong{font-size:14px}.opening-title h1{font-size:clamp(51px,14vw,77px);letter-spacing:-.05em;line-height:1.01}
 .opening-explanation{max-width:none;padding:0}.opening-explanation .eyebrow{display:none}.opening-definition{font-size:16px;line-height:1.6}.opening-explanation .button-video{margin-top:19px;font-size:16px;min-height:59px;padding:15px 17px}.opening-explanation>.under-link{font-size:13px;margin-top:13px}
 .opening-proof{margin-top:26px}.opening-proof-heading{display:none}
 .opening-ready .opening-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}.opening-switch button{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:12px 13px;min-height:49px;border:1px solid var(--line);border-radius:5px;background:#111515;color:#aeb6b7;font-size:14px;font-weight:500;line-height:1.5}.opening-switch button span{font-size:10px;font-weight:400}.opening-switch button[aria-pressed=true]{border-color:var(--gold);background:#e6c784;color:#111414}
 .opening-pair{grid-template-columns:1fr;gap:26px}.opening-ready .opening-proof[data-opening-view=after] .opening-proof-card[data-opening-photo=before],.opening-ready .opening-proof[data-opening-view=before] .opening-proof-card[data-opening-photo=after]{display:none}
 .opening-proof-card figcaption{margin-top:15px;padding-top:14px;gap:17px}.opening-state{font-size:23px;min-width:66px}.opening-proof-card figcaption p{font-size:13px}.opening-proof-card figcaption p span{font-size:12px}.opening-ready .opening-mobile-hint{display:block;color:#a7afb1;font-size:11px;line-height:1.55;margin-top:13px}.opening-photo .enlarge-sign{width:41px;height:41px;bottom:14px;right:14px}
}
@media(max-width:360px){.header .brand{width:64px}.header-inner{min-height:84px}.opening-title h1{font-size:49px}.opening-switch button{padding:11px 10px;gap:6px;font-size:13px}.opening-switch button span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.brand-intro,.brand-enter .brand-intro{display:none!important}.brand-enter .brand-intro img{animation:none!important}}

/* V19: explain the product in the first screen. */
.opening-heading{grid-template-columns:1.28fr 1fr;gap:66px;align-items:start}
.opening-title{min-width:0}
.opening-title h1{font-size:clamp(88px,9.15vw,132px);line-height:.95;letter-spacing:-.065em}
.opening-headline-line{display:block;white-space:nowrap}
.opening-explanation{max-width:none;padding-top:5px;padding-bottom:0;min-width:0}
.opening-category{font-size:clamp(32px,3.1vw,43px);line-height:1.1;letter-spacing:-.04em;color:var(--gold);margin-bottom:22px;max-width:470px}
.opening-definition{font-size:22px;line-height:1.5;color:#f0f1ec;max-width:500px}
.opening-process-definition{font-size:19px;line-height:1.6;color:#bbc3bf;margin-top:18px;max-width:500px}
.opening-process-definition strong{color:#f0f1ec;font-weight:600;white-space:nowrap}
.opening-explanation .button-video{margin-top:32px;min-height:68px;font-size:18px}
.opening-proof{margin-top:54px}
@media(max-width:1100px){
 .opening-heading{gap:42px}.opening-title h1{font-size:clamp(82px,9.1vw,105px)}
 .opening-category{font-size:34px;margin-bottom:20px}.opening-definition{font-size:20px}.opening-process-definition{font-size:18px}
 .opening-explanation .button-video{font-size:16px;min-height:64px}
}
@media(max-width:900px){
 .opening-heading{grid-template-columns:1fr;gap:32px}.opening-title h1{font-size:clamp(78px,11vw,104px)}
 .opening-explanation{max-width:680px;padding-top:0}.opening-category{font-size:35px;max-width:none;margin-bottom:19px}
 .opening-definition,.opening-process-definition{max-width:none}
 .opening-explanation .button-video{width:auto;min-width:360px;margin-top:26px}
}
@media(max-width:650px){
 .hero{padding-top:30px}.opening-heading{gap:26px}
 .opening-title h1{font-size:clamp(56px,15.2vw,75px);line-height:.96;letter-spacing:-.055em}
 .opening-category{font-size:28px;line-height:1.14;margin-bottom:17px}
 .opening-definition{font-size:17px;line-height:1.55}.opening-process-definition{font-size:16px;line-height:1.55;margin-top:15px}
 .opening-explanation .button-video{width:100%;min-width:0;font-size:16px;margin-top:25px;min-height:61px;padding:15px}
 .opening-proof{margin-top:34px}
}
@media(max-width:360px){
 .opening-title h1{font-size:clamp(49px,15.2vw,55px)}.opening-category{font-size:25px}
}
