/* The existing hero remains the visible fallback until verified media is ready. */
.intro-stage{height:calc(100svh + var(--intro-travel,0px));position:relative;background:#f3f1eb;--intro-progress:0;--intro-clearance:20px;--intro-entry-space:0px}
.intro-frame{position:sticky;top:0;height:100svh;min-height:480px;overflow:hidden;background:#f3f1eb;isolation:isolate}
.intro-media{position:absolute;inset:0}
.intro-title-mobile,.intro-mobile-context{display:none}
.intro-poster,.intro-film{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.intro-film{opacity:0;transition:opacity .2s linear}.intro-film.intro-film-ready{opacity:1}
.intro-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,249,246,.18),transparent 35%,rgba(250,249,246,.12) 65%,rgba(250,249,246,.72));pointer-events:none}
.intro-skip{position:absolute;top:var(--intro-clearance);inset-inline-end:5%;z-index:4;padding:9px 14px;background:#fffffff0;color:#222;border:1px solid #2223;font-size:11px;display:flex;align-items:center;gap:20px}
.intro-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:end;align-items:center;text-align:center;padding:130px 25px calc(90px + var(--intro-entry-space));pointer-events:none;color:#181818;mix-blend-mode:multiply}
.intro-overlay>*{pointer-events:auto}.intro-wordmark{width:clamp(180px,25vw,390px);height:auto;mix-blend-mode:multiply;margin-bottom:20px}.intro-overlay h1{font-family:var(--sans);font-size:clamp(23px,2.6vw,39px);font-weight:450;line-height:1.4;margin:0 0 22px;letter-spacing:-.025em;max-width:600px}.intro-overlay .button{background:#fffdf9ed;border-color:#2227;min-width:210px;color:#171717}.intro-overlay .button:hover{background:#fff}.intro-scroll-hint{position:absolute;bottom:calc(24px + var(--intro-entry-space));inset-inline:20px;text-align:center;font-size:9px;letter-spacing:.12em;color:#3e3d38;z-index:3;display:none}.intro-animated .intro-scroll-hint{display:block}.intro-progress{position:absolute;bottom:0;inset-inline:0;height:2px;background:#2221;z-index:4}.intro-progress::after{content:'';height:100%;width:100%;display:block;background:#3337;transform-origin:left;transform:scaleX(var(--intro-progress))}
/* A phone gets the complete landscape composition, followed by the shop context. */
@media(max-width:760px){
 .intro-stage{height:var(--intro-mobile-height,460px)}
 .intro-frame{position:relative;height:var(--intro-mobile-height,460px);min-height:0;display:flex;flex-direction:column}
 .intro-media{position:relative;inset:auto;flex:1 1 auto;min-height:0;background:#f3f1eb}
 .intro-poster,.intro-film{object-fit:contain;object-position:50% 50%}
 .intro-wash{display:none}
 .intro-overlay{position:relative;inset:auto;flex:0 0 auto;padding:18px 20px 38px;justify-content:start;background:#f3f1eb}
 .intro-wordmark{width:158px;margin-bottom:10px}
 .intro-overlay h1{font-size:22px;line-height:1.45;max-width:100%;margin-bottom:6px;letter-spacing:-.02em}
 .intro-title-desktop{display:none}.intro-title-mobile{display:block}
 .intro-mobile-context{display:block;font-size:14px;line-height:1.6;color:#555;max-width:100%;margin:0 0 15px}
 .intro-overlay .button{min-width:225px;min-height:46px;font-size:13px;padding:10px 18px;gap:22px;background:#222;color:#fff;border-color:#222}
 .intro-overlay .button:hover{background:#333}
 .intro-skip{top:10px;inset-inline-end:12px;padding:5px 9px;min-height:32px;font-size:10px;gap:10px}
 .intro-scroll-hint{bottom:10px;font-size:10px;letter-spacing:0;line-height:1.5;margin:0}
}
@media(max-width:360px){.intro-overlay{padding:12px 14px 33px}.intro-wordmark{width:142px;margin-bottom:8px}.intro-overlay h1{font-size:21px}.intro-mobile-context{font-size:13px;margin-bottom:12px}.intro-overlay .button{min-width:215px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.intro-stage{height:100svh!important}.intro-film{display:none!important}.intro-scroll-hint,.intro-progress{display:none!important}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.intro-stage{height:var(--intro-mobile-height,460px)!important}.intro-overlay{padding-bottom:20px}}
