.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.promo-hero{padding:32px 24px 30px;border-bottom:1px solid var(--line)}
.promo-hero [hidden]{display:none!important}
.promo-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}
.promo-intro h1{font-size:clamp(38px,4vw,60px);line-height:1.06;letter-spacing:-1.3px;margin:12px 0}
.promo-intro h1 em{color:var(--accent);font-weight:400}
.promo-intro p{font-size:16px;color:var(--muted)}
.promo-menu-link{display:inline-flex;gap:18px;align-items:center;min-height:48px;padding:12px 19px;background:var(--ink);color:var(--paper);border-radius:3px;font-size:14px;font-weight:600;flex-shrink:0}
.promo-menu-link svg{width:19px}
.promo-collections{display:grid;grid-template-columns:minmax(0,480px) minmax(0,338px);justify-content:center;align-items:start;gap:clamp(28px,6vw,88px)}
.promo-gallery{min-width:0;width:100%;margin:0 auto}
.promo-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:98px;padding-bottom:17px}
.promo-gallery-heading h2{font-size:27px;margin-top:7px;line-height:1.1}.promo-gallery-heading .eyebrow{font-size:10px;letter-spacing:.12em}
.promo-size{font-size:10px;white-space:nowrap;color:var(--muted);border:1px solid var(--line);padding:7px;border-radius:3px;font-variant-numeric:tabular-nums}
.promo-track{display:flex;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:4px;background:#24211e;box-shadow:0 12px 35px #0002;touch-action:pan-x pan-y pinch-zoom}
.promo-track::-webkit-scrollbar{display:none}
.promo-slide{position:relative;margin:0;flex:0 0 100%;width:100%;min-width:0;aspect-ratio:4/5;scroll-snap-align:start;scroll-snap-stop:always}
.promo-stories .promo-slide,.promo-empty{aspect-ratio:9/16}
.promo-slide img,.promo-slide video{width:100%;height:100%;object-fit:contain;display:block;user-select:none}
.promo-slide video{background:#151412;color-scheme:dark}
.promo-media-error{position:absolute;top:12px;left:12px;right:12px;background:#171612eb;color:#fff;padding:14px;font:14px/1.5 var(--sans);border-radius:5px;pointer-events:none}
.promo-navigation{display:flex;align-items:center;gap:7px;justify-content:space-between;padding:10px 0 6px}
.promo-arrow{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ink);flex-shrink:0}
.promo-arrow:disabled{opacity:.3}.promo-arrow svg{width:20px;height:20px}
.promo-dots{position:relative;display:flex;align-items:center;gap:0;margin-left:auto;min-width:0;max-width:170px;overflow:auto;scrollbar-width:none}
.promo-dots button{width:29px;flex:0 0 29px;height:44px;display:grid;place-items:center;background:transparent;border-radius:4px}
.promo-dots button span{width:7px;height:7px;border:1px solid var(--accent);border-radius:10px;transition:width .2s,background .2s}
.promo-dots button[aria-current=true] span{width:20px;background:var(--accent)}
.promo-counter{font-size:12px;white-space:nowrap;color:var(--muted);margin:0 auto 0 6px;font-variant-numeric:tabular-nums}
.promo-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin:0 0 10px}
.promo-caption h3{font-size:25px;line-height:1.15}.promo-caption>span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.promo-actions{display:flex;gap:10px;align-items:stretch}
.promo-share,.promo-download{min-height:46px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:3px;font-size:13px;font-weight:600;padding:11px 15px}
.promo-share{flex:1;background:var(--ink);color:var(--paper)}
.promo-download{flex:1;border:1px solid var(--accent);color:var(--forest);background:var(--surface)}
.promo-actions svg{width:18px;height:18px}
.promo-hint,.promo-validity{font-size:11px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.5}
.promo-validity{margin-top:24px}
.promo-video-actions{display:flex;gap:8px;margin-bottom:12px}
.promo-video-actions button{min-height:44px;flex:1;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:3px;font-size:12px;padding:8px}
.promo-video-actions button:disabled{opacity:.65;cursor:default}
.promo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(20px,3vw,40px);color:#f7f1e6;background:radial-gradient(ellipse at 85% 10%,#75654b55,transparent 65%),#24211c;border:1px solid #827154;border-radius:4px;box-shadow:0 12px 35px #0002}
.promo-empty-symbol{font-family:var(--serif);color:#d8bd8e;font-size:42px;margin-bottom:35px}.promo-empty .eyebrow{color:#d8bd8e;font-size:10px}
.promo-empty h3{font:44px/1.03 var(--serif);margin:23px 0}.promo-empty h3 em{color:#d8bd8e}
.promo-empty p{font-size:14px;line-height:1.7;color:#d6caba}.promo-empty-note{font-size:11px;color:#e7d5b8;margin-top:32px;border-top:1px solid #ffffff26;padding-top:20px}
.home-menu-heading{padding:34px 0 22px}.home-menu-heading h2{font-size:42px;margin-top:10px}
.promo-share-dialog{width:min(470px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.promo-share-dialog h2{font-size:28px}.promo-share-body{padding:24px}
.promo-share-preview{display:flex;align-items:center;gap:20px;margin-bottom:20px}.promo-share-preview img{width:88px;max-height:150px;object-fit:contain;border-radius:3px;background:var(--soft)}
.promo-share-preview h3{font-size:22px}.promo-share-preview p{color:var(--muted);font-size:13px;margin-top:8px;line-height:1.6}
[data-share-message]{font-size:15px;line-height:1.6;margin-bottom:14px}.promo-share-help{font-size:13px;line-height:1.65;color:var(--muted);margin:15px 0}
.promo-share-body>.solid-button{display:flex;width:100%;margin:10px 0}.promo-share-body>.solid-button:disabled{opacity:.5;cursor:wait}
.promo-save{background:var(--soft)!important;color:var(--ink)!important;border:1px solid var(--accent)}
.promo-share-body>.back-button{width:100%;justify-content:center;font-size:13px}
.promo-manual-copy{display:block;font-size:13px;margin-top:16px;color:var(--muted)}.promo-manual-copy input{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:16px;padding:12px;margin-top:8px}
@media(max-width:1000px){.promo-hero{padding-inline:0}.promo-collections{grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:28px}.promo-gallery-heading{align-items:start;flex-direction:column;gap:6px;min-height:98px}.promo-gallery-heading h2{font-size:25px}.promo-size{padding:0;border:0}}
@media(max-width:700px){
 .promo-hero{padding-top:21px}.promo-intro{gap:10px;margin-bottom:16px}.promo-intro .eyebrow{font-size:9px;letter-spacing:.09em}.promo-intro h1{font-size:32px;letter-spacing:-1px;margin:8px 0}.promo-intro p{display:none}
 .promo-menu-link{font-size:11px;padding:10px;min-height:44px;gap:5px}.promo-menu-link svg{display:none}
 .promo-collections{grid-template-columns:minmax(0,1fr);gap:36px}.promo-feed{max-width:480px}.promo-stories{max-width:338px}
 .promo-gallery-heading{flex-direction:row;align-items:center;min-height:64px;gap:8px;padding-bottom:14px}.promo-gallery-heading h2{font-size:25px}.promo-size{font-size:10px}
 .promo-caption h3{font-size:24px}.promo-share,.promo-download{font-size:13px;padding-inline:11px}.promo-empty h3{font-size:42px}
 .home-menu-heading{padding:27px 0 20px}.home-menu-heading h2{font-size:35px}
 .promo-share-dialog{width:100%;max-width:100%;margin:auto 0 0;max-height:94dvh;border-radius:16px 16px 0 0}.promo-share-body{padding:20px 22px calc(24px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){.promo-intro h1{font-size:28px}.promo-intro .eyebrow{font-size:8px}.promo-caption h3{font-size:22px}.promo-gallery-heading h2{font-size:23px}.promo-size{font-size:9px}.promo-counter{margin-left:3px}.promo-dots button{width:26px;flex-basis:26px}}
@media(prefers-reduced-motion:reduce){.promo-track{scroll-behavior:auto}.promo-dots button span{transition:none}}
