/* Compact shared chrome. Sticky overlays follow the actual header edge. */
:root{--header-height:64px;--header-bottom:90px}
.announcement{height:26px;line-height:26px;font-size:11px}
.shipping-announcement{gap:7px}.shipping-announcement svg{width:15px;height:15px}
.announcement>span{font-size:10px}
.site-header{height:var(--header-height);padding-inline:var(--gutter)}
.site-header .brand img{width:158px}
.site-header .nav{gap:24px;font-size:13px}
.site-header .nav a[aria-current]{border-bottom:0}
.site-header .nav a:after{bottom:1px;height:2px}
.site-header .utilities{gap:14px}
.site-header .utilities .icon-button{width:34px;min-width:34px;height:40px}
.site-header .icon-button svg{width:22px;height:22px}
.site-header .language-toggle{font-size:12px}
.bag-icon .bag-count{top:0;right:-4px}
.search-overlay{inset-block-start:var(--header-bottom);max-height:calc(100svh - var(--header-bottom))}
.mobile-menu{inset-block-start:var(--header-bottom);max-height:calc(100svh - var(--header-bottom));overflow:auto}
/* Reference banners occupy the full width at a 2.38:1 ratio. */
.home-kv-art{aspect-ratio:2.38 / 1}
.home-kv-image{object-position:center 49%}
.home-kv-top{top:23px;font-size:10px}
.home-kv-caption{bottom:68px}
.home-kv-caption h1,.home-kv-caption h2{font-size:clamp(27px,3vw,46px)}
.home-kv-logo{top:20%;height:40%;right:3.5%;width:31.5%}
.home-kv-logo img{transform:scale(1.45)}
/* The original poster remains the composition, with vector title outlines and
   browser-rendered serif text. UI outside the artwork retains the sans family. */
.series-story-sharp{background:#ecd9ba}
.series-poster-desktop{display:block;width:100%;max-width:1440px;height:auto;margin:auto}
.poster-live-type{font-family:'Times New Roman',Times,'Liberation Serif',serif;font-weight:400;letter-spacing:0}
.series-poster-mobile{display:none}
.series-poster-desktop a:focus{outline:none}.series-poster-desktop a:focus rect{stroke:#4c301a;stroke-width:2}
@media(max-width:900px){
 :root{--header-height:60px;--header-bottom:86px}
 .site-header .brand img{width:140px}.site-header .nav{gap:16px;font-size:12px}
 .site-header .utilities{gap:9px}.home-kv-caption h1,.home-kv-caption h2{font-size:28px}
}
@media(max-width:600px){
 :root{--header-height:60px;--header-bottom:86px}
 .site-header{padding-inline:14px;grid-template-columns:44px 1fr auto;gap:8px}
 .site-header>.brand{justify-self:center}.site-header .brand img{width:112px}
 .site-header .utilities{gap:2px}.site-header .utilities .icon-button{width:32px;min-width:32px;height:44px}
 .site-header .language-toggle{min-width:28px;height:44px;font-size:11px}
 .site-header>.menu-toggle{width:40px;height:44px}
 .site-header .bag-count{top:3px;right:0}
 .home-kv-art{aspect-ratio:2.38 / 1}
 .home-kv-caption{position:relative;inset:auto;padding:22px 20px 65px}
 .home-kv-caption h1,.home-kv-caption h2{font-size:25px;margin-top:10px}
 .home-kv-actions{margin-top:18px}.home-kv-controls{bottom:12px}
 .series-poster-desktop{display:none}.series-poster-mobile{display:block}
 .series-poster-mobile{background:#efddbe;color:#493621}
 .mobile-story-hero{width:100%;height:auto}
 .series-poster-mobile section{margin:0 20px;padding:32px 0}
 .poster-script-title{display:block;width:min(84%,310px);height:auto;margin:0 auto 23px}
 .mobile-story-whispers{text-align:center;border-bottom:1px solid #b4986c}
 .mobile-story-whispers .poster-live-type{font-size:clamp(14px,3.8vw,20px);line-height:1.8}
 .mobile-story-overview>img{width:100%;border:3px double #ad8a52;padding:4px}
 .mobile-story-characters>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 9px}
 .mobile-story-characters figure{margin:0;text-align:center}
 .mobile-story-characters figure img{width:100%;height:145px;object-fit:contain}
 .mobile-story-characters figcaption{font-size:17px;margin-top:12px}
 .mobile-story-products{border-top:1px solid #b4986c}
 .mobile-story-products>div{display:grid;grid-template-columns:1fr 1fr;gap:22px 14px}
 .mobile-story-products a{display:block;text-align:center}
 .mobile-story-products img{width:100%;aspect-ratio:1;object-fit:contain;background:white;border:3px double #ad8a52;padding:8px}
 .mobile-story-products span{display:block;font-size:17px;margin-top:10px}
 .mobile-story-closing{padding:35px 20px 30px;border-top:1px solid #b4986c;margin:0 20px}
}
@media(max-width:370px){.site-header .brand img{width:98px}.site-header{padding-inline:10px;gap:4px}.site-header .utilities .icon-button{width:30px;min-width:30px}}
