/* Fonts: self-hosted subsets, same files the legal pages and the previous site use.
   Fraunces has no Cyrillic, so Russian headings use Vollkorn (as on the previous site). */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('../../fonts/fraunces-latin.subset.woff2') format('woff2');unicode-range:U+0020-007E,U+00A9,U+00AB,U+00B7,U+00BB,U+00C7,U+00D6,U+00DC,U+00E7,U+00F6,U+00FC,U+0131,U+2014;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('../../fonts/fraunces-latin-ext.subset.woff2') format('woff2');unicode-range:U+011E-011F,U+0130,U+015E-015F,U+018F,U+0259,U+20BC;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../../fonts/inter-latin.subset.woff2') format('woff2');unicode-range:U+0020-007E,U+00A9,U+00AB,U+00B7,U+00BB,U+00C7,U+00D6,U+00DC,U+00E7,U+00F6,U+00FC,U+0131,U+2014;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../../fonts/inter-latin-ext.subset.woff2') format('woff2');unicode-range:U+011E-011F,U+0130,U+015E-015F,U+018F,U+0259,U+20BC;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../../fonts/inter-cyrillic.subset.woff2') format('woff2');unicode-range:U+0401,U+0410-044F,U+0451;}
@font-face{font-family:'Vollkorn';font-style:normal;font-weight:400 700;font-display:swap;src:url('../../fonts/vollkorn-cyrillic.subset.woff2') format('woff2');unicode-range:U+0400-045F,U+2014;}
@font-face{font-family:'Vollkorn';font-style:normal;font-weight:400 700;font-display:swap;src:url('../../fonts/vollkorn-latin.subset.woff2') format('woff2');unicode-range:U+0041-005A,U+0061-007A;}


/* Layout: one continuous scroll film — each scene pins for a beat, then hands over to the next. */
:root{
  --forest:#153F26;
  --forest-deep:#0F2E1B;
  --cream:#FAF8F1;
  --amber:#F4A431;
  --ink:#1A211B;
  --leaf:#2B7A4B;
  --mute:#5C6B5F;
  --mist:rgba(220,235,224,.86);
  --scrim:10,22,14;
  --display:'Fraunces', Georgia, 'Times New Roman', serif;
  --body:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --gutter:clamp(20px, 5vw, 72px);
  --screen:100vh;
  --paper:#FAF8F1;
  --on-paper:#153F26;
  --on-paper-mute:#5C6B5F;
  --on-paper-accent:#2B7A4B;
  --marquee-line:rgba(21,63,38,.24);
  --box-shadow:0 50px 80px -40px rgba(21,63,38,.55);
  --nav-paper-bg:rgba(250,248,241,.86);
  --nav-paper-hover:rgba(21,63,38,.10);
  --frame-edge:none;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --paper:#1C1813;
  --on-paper:#F2EDE0;
  --on-paper-mute:#ADA593;
  --on-paper-accent:#7FC79A;
  --marquee-line:rgba(242,237,224,.16);
  --box-shadow:0 0 0 1px rgba(242,237,224,.06), 0 50px 80px -40px rgba(0,0,0,.8);
  --nav-paper-bg:rgba(28,24,19,.86);
  --nav-paper-hover:rgba(242,237,224,.14);
  --frame-edge:0 0 0 1px rgba(242,237,224,.06);
}
html[lang="ru"]{--display:'Vollkorn','Fraunces', Georgia, 'Times New Roman', serif}
@supports (height:100svh){:root{--screen:100svh}}
*{box-sizing:border-box}
html{background:var(--forest-deep)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--amber);color:var(--ink);font-weight:600;text-decoration:none;transition:top .2s ease}
.skip:focus{top:12px}
.skip:focus-visible{outline-color:#FAF8F1}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.display{font-family:var(--display);font-weight:500;letter-spacing:-.025em;line-height:.98;margin:0;text-wrap:balance}
/* SplitText wraps words and chars in inline-blocks. iOS WebKit lets a word break after its first letter (the shrink-wrapped word box ends up a sub-pixel short), so the wrappers never wrap; iOS also balances the lines badly around inline-blocks. */
.display [aria-hidden="true"]{white-space:nowrap}
@supports (-webkit-touch-callout:none){.display,.display .line{text-wrap:wrap}}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;max-width:34ch;margin:0}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 14px;color:var(--cream);transition:color .35s ease, background-color .35s ease}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--scrim),.55),rgba(var(--scrim),0));transition:opacity .35s ease}
.nav.on-light{color:var(--on-paper)}
.nav.on-light::before{opacity:0}
.nav.on-light{background:var(--nav-paper-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{width:26px;height:26px}
.brand span{font-family:var(--display);font-weight:500;font-size:22px}
.nav-right{display:flex;align-items:center;gap:14px}
.langs{display:flex;gap:4px}
.langs button{width:36px;height:32px;display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.langs button[aria-pressed="true"]{background:rgba(250,248,241,.18)}
.nav.on-light .langs button[aria-pressed="true"]{background:var(--nav-paper-hover)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;background:var(--amber);color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;transition:transform .2s ease, box-shadow .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(244,164,49,.7)}
.nav .btn{height:40px;padding:0 18px;font-size:14px}

/* generic scene */
.scene{position:relative;height:var(--screen);overflow:hidden}
.fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;inset:0;pointer-events:none}
.still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* 1 hero */
#hero{background:var(--forest-deep);color:var(--cream)}
#hero .shade{background:linear-gradient(90deg,rgba(var(--scrim),.72) 0%,rgba(var(--scrim),.38) 45%,rgba(var(--scrim),0) 75%),linear-gradient(0deg,rgba(var(--scrim),.45),rgba(var(--scrim),0) 40%)}
.hero-fruits{position:absolute;inset:0;pointer-events:none;display:none}
.motion .hero-fruits{display:block}
.ff{position:absolute;left:0;top:0;will-change:transform}
.ff img{display:block;width:100%;height:auto;will-change:transform;filter:drop-shadow(0 24px 28px rgba(6,20,10,.42))}
.hero-copy{z-index:2;position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(64px,12vh,140px);display:flex;flex-direction:column;gap:22px}
.hero-copy .eyebrow{color:var(--amber)}
.hero-title{font-size:clamp(46px,9.2vw,164px)}
.hero-title .line{display:block}
.hero-copy .lede{color:rgba(250,248,241,.9)}
.hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.scroll-cue{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(250,248,241,.8)}
.scroll-cue i{width:1px;height:36px;background:rgba(250,248,241,.35);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--cream);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{to{top:100%}}

/* 2 harvest */
#harvest{background:var(--forest);color:var(--cream)}
.harvest-media{position:absolute;inset:0;overflow:hidden}
.harvest-media .shade{background:linear-gradient(0deg,rgba(var(--scrim),.78) 0%,rgba(var(--scrim),.35) 34%,rgba(var(--scrim),0) 60%)}
.harvest-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--cx,70%) var(--cy,64%),rgba(43,122,75,.38) 0,rgba(43,122,75,0) 46vmax)}
.harvest-big{display:none;position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);margin:0;font-family:var(--display);font-weight:500;font-size:clamp(96px,13vw,208px);letter-spacing:-.03em;line-height:.94;pointer-events:none}
.harvest-big span{display:block}
.harvest-fruit{display:none;position:absolute;left:0;top:0;pointer-events:none;will-change:transform,opacity}
.harvest-fruit img{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(6,20,10,.45));animation:bob 4.5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(-6px) rotate(-2deg)}50%{transform:translateY(6px) rotate(2deg)}}
.motion .harvest-fruit{display:block}
.harvest-big .hb1{color:var(--cream)}
.harvest-big .hb2{color:var(--amber)}
.motion .harvest-big{display:block}
.harvest-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(56px,10vh,120px);display:flex;flex-direction:column;gap:18px}
.harvest-copy .eyebrow{color:var(--amber)}
.harvest-title{font-size:clamp(44px,7vw,120px)}
.harvest-copy .lede{color:rgba(250,248,241,.9)}

/* 3 buy */
#buy{background:var(--forest);color:var(--cream);display:flex;align-items:center}
.buy-inner{width:100%;padding-inline:var(--gutter);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(28px,5vw,88px);max-width:1360px;margin:0 auto}
.buy-copy{display:grid;gap:clamp(24px,3vw,44px)}
.buy-photo{position:relative;height:min(78vh,760px);aspect-ratio:2/3;max-width:100%;justify-self:end;border-radius:22px;overflow:hidden;clip-path:inset(0% 0% 0% 0% round 22px);box-shadow:0 50px 90px -40px rgba(0,0,0,.55)}
.buy-photo img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 45%}
.buy-inner .eyebrow{color:var(--amber)}
.buy-statement{font-size:clamp(38px,5.2vw,92px);max-width:13ch}
.buy-inner .lede{color:var(--mist);max-width:44ch}

/* 4 pack */
#pack{background:var(--paper);color:var(--on-paper)}
.marquee{position:absolute;left:0;top:50%;transform:translateY(-50%);white-space:nowrap;font-family:var(--display);font-weight:500;font-size:clamp(90px,15vw,260px);letter-spacing:-.03em;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--marquee-line);pointer-events:none;will-change:transform}
.pack-grid{position:relative;height:100%;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);align-items:center;gap:clamp(24px,4vw,64px);padding:96px var(--gutter) 48px;max-width:1440px;margin:0 auto}
.pack-copy{display:flex;flex-direction:column;gap:18px}
.pack-copy .eyebrow{color:var(--on-paper-accent)}
.pack-title{font-size:clamp(42px,5.6vw,96px)}
.pack-copy .lede{color:var(--on-paper-mute)}
.origin{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:14px;color:var(--on-paper-mute)}
.origin b{font-weight:600;color:var(--on-paper);font-size:15px}
.box-wrap{justify-self:center;width:100%;max-width:820px;aspect-ratio:1600/843;position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--box-shadow)}
.box-wrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

/* 5 road */
#road{background:#5E7A4A;color:var(--cream)}
#road .shade{background:linear-gradient(180deg,rgba(var(--scrim),.62) 0%,rgba(var(--scrim),.28) 30%,rgba(var(--scrim),0) 52%)}
.road-top .eyebrow{color:var(--amber)}
.road-title{text-shadow:0 2px 24px rgba(var(--scrim),.35)}
#road canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.road-top{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(96px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.road-title{font-size:clamp(48px,7.6vw,132px)}
.route{position:absolute;left:50%;bottom:clamp(28px,6vh,56px);transform:translateX(-50%);width:min(560px,calc(100% - 2*var(--gutter)));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 18px;border-radius:999px;background:rgba(250,248,241,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:13px;font-weight:600;color:var(--forest)}
.route-track{position:relative;height:2px;background:rgba(21,63,38,.18);border-radius:2px}
.route-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--forest);border-radius:2px}
.route-dot{position:absolute;top:50%;left:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(244,164,49,.25)}

/* 6 baku */
#baku{background:#3A2A1E;color:var(--cream)}
#baku .shade{background:linear-gradient(0deg,rgba(var(--scrim),.8) 0%,rgba(var(--scrim),.4) 32%,rgba(var(--scrim),0) 58%)}
.night{position:absolute;inset:0;background:rgb(var(--scrim));pointer-events:none}
.baku-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(56px,10vh,120px);display:flex;flex-direction:column;gap:16px}
.baku-copy .eyebrow{color:var(--amber)}
.baku-title{font-size:clamp(46px,7.4vw,128px)}
.baku-copy .lede{color:rgba(250,248,241,.9)}

/* 7 door */
#door{background:var(--paper);color:var(--on-paper);overflow-x:clip;padding:clamp(96px,14vh,160px) var(--gutter) clamp(72px,10vh,120px)}
.door-grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(32px,5vw,80px)}
.door-frame{position:relative;aspect-ratio:4/3;border-radius:28px;overflow:hidden;clip-path:inset(0% 0% 0% 0% round 28px);box-shadow:var(--frame-edge)}
.door-frame img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover}
.door-copy{display:flex;flex-direction:column;gap:20px}
.door-copy .eyebrow{color:var(--on-paper-accent)}
.door-title{font-size:clamp(52px,7vw,124px)}
.door-title span{display:block}
.door-copy .lede{color:var(--on-paper-mute)}

/* 8 cta + footer */
#yukle{background:var(--forest);color:var(--cream);padding:calc(clamp(96px,16vh,180px) + 24px) var(--gutter) clamp(96px,16vh,180px);overflow:hidden}
.cta-inner{max-width:1360px;margin:0 auto;display:flex;flex-direction:column;gap:26px}
.cta-inner .eyebrow{color:var(--amber)}
.cta-title{font-size:clamp(48px,8vw,140px);max-width:12ch}
.cta-inner .lede{color:var(--mist)}
.stores{display:flex;flex-wrap:wrap;gap:14px;align-self:flex-start}
.stores .store{min-width:232px}
.store{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;height:64px;padding:0 26px 0 20px;border-radius:16px;background:#000;color:#fff;text-decoration:none;box-shadow:0 0 0 1px rgba(255,255,255,.22) inset,0 18px 40px -18px rgba(0,0,0,.7);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.store:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 24px 50px -18px rgba(0,0,0,.8)}
.store:active{transform:translateY(0) scale(.98)}
.store svg{width:30px;height:30px;flex:none;fill:#fff;margin-top:-3px}
.store span{display:flex;flex-direction:column}
.store small{font-size:12px;line-height:1.1;letter-spacing:.01em;opacity:.9}
.store strong{font-size:25px;font-weight:600;line-height:1.05;letter-spacing:-.02em}
footer{background:var(--forest-deep);color:rgba(250,248,241,.72);padding:48px var(--gutter) calc(40px + env(safe-area-inset-bottom,0px))}
.foot{max-width:1360px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;font-size:14px;line-height:1.6}
.foot .name{font-family:var(--display);font-size:22px;color:var(--cream);display:block;margin-bottom:6px}
.foot nav{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.foot nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}
.foot nav a:hover{color:var(--cream)}

@media (max-width:820px){
  .buy-inner{grid-template-columns:1fr;gap:22px;padding-top:72px}
  .buy-photo{order:-1;height:36vh;aspect-ratio:auto;width:100%;justify-self:stretch}
  .buy-photo img{object-position:50% 30%}
  .buy-copy{gap:16px}
  .harvest-big{font-size:clamp(72px,22vw,96px);left:24px;top:148px;transform:none}
  .pack-grid{grid-template-columns:1fr;align-content:center;gap:28px;padding-top:88px}
  .box-wrap{width:100%;order:-1}
  .door-grid{grid-template-columns:1fr}
  .harvest-copy,.baku-copy,.hero-copy{bottom:48px}
  .route{font-size:12px;padding:10px 14px}
}
@media (max-width:480px){
  .nav{gap:8px}
  .nav-right{gap:6px}
  .nav .btn{height:36px;padding:0 14px;font-size:13px}
  .langs{gap:0}
  .langs button{width:30px;height:36px;font-size:12px}
  .brand{gap:8px}
  .brand span{font-size:20px}
  .hero-title{font-size:clamp(40px,12.4vw,64px)}
}
@media (max-width:359px){
  .brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  .harvest-fruit img{animation:none}
  .scroll-cue i::after{animation:none}
}

/* Longer EN/RU headings: same scale logic, a size that still fits the column. */
html[lang="en"] .hero-title{font-size:clamp(40px,7.4vw,132px)}
html[lang="ru"] .hero-title{font-size:clamp(40px,7.8vw,140px)}
html[lang="ru"] .buy-statement{font-size:clamp(34px,4.6vw,82px)}
html[lang="en"] .buy-statement{font-size:clamp(34px,4.8vw,84px)}
@media (max-width:480px){
  html[lang="en"] .hero-title{font-size:clamp(34px,10.6vw,56px)}
  html[lang="ru"] .hero-title{font-size:clamp(34px,10.8vw,56px)}
}

/* Static layout (reduced motion, or the libraries failed to load): no overlay on the final Baku frame, no decorative marquee behind the text. */
html:not(.motion) .night{opacity:0}
html:not(.motion) .marquee{display:none}

/* Hero copy waits for the intro; site.js (or its 300 ms / head 3 s fallbacks) adds .hero-show. Without JS the class .js is never set, so the text shows. */
.js:not(.hero-show) .hero-copy{visibility:hidden}
.harvest-fruit.paused img{animation-play-state:paused}
.scroll-cue.paused i::after{animation-play-state:paused}
[tabindex="-1"]:focus{outline:none}

/* Review fixes */
.nav .btn{white-space:nowrap}
.nav .btn .short{display:none}
.harvest-big span>div{padding-bottom:.2em;margin-bottom:-.2em}
@media (max-width:820px){
  #hero .shade{background:linear-gradient(0deg,rgba(10,22,14,.80) 0%,rgba(10,22,14,.55) 45%,rgba(10,22,14,0) 75%)}
}
@media (max-width:560px){
  .nav .btn .long{display:none}
  .nav .btn .short{display:inline}
}
@media (max-width:480px){
  .langs button{position:relative;width:30px;height:32px}
  .langs button::after{content:"";position:absolute;left:-2px;right:-2px;top:-6px;bottom:-6px}
  .langs button[aria-pressed="true"]{background:rgba(250,248,241,.26)}
  .nav.on-light .langs button[aria-pressed="true"]{background:var(--nav-paper-hover)}
}

@media (max-width:820px) and (max-height:700px){
  .buy-photo{height:28vh}
  .buy-inner{gap:16px;padding-top:64px}
}

/* Theme toggle */
.theme-toggle{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer}
.theme-toggle::after{content:"";position:absolute;inset:-4px}
.theme-toggle:hover,.theme-toggle:focus-visible{background:rgba(250,248,241,.18)}
.nav.on-light .theme-toggle:hover,.nav.on-light .theme-toggle:focus-visible{background:var(--nav-paper-hover)}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .icon-sun{display:none}
html[data-theme="dark"] .theme-toggle .icon-moon{display:none}
html[data-theme="dark"] .theme-toggle .icon-sun{display:block}
@media (max-width:480px){
  .theme-toggle{width:32px;height:32px}
}
@media (max-width:400px){
  .nav-right{gap:4px}
  .langs button{width:28px}
  .nav .btn{padding:0 12px}
  .theme-toggle{width:30px}
  .theme-toggle::after{inset:-6px -2px}
}

/* Colour-only cross-fade, added to <html> for 300 ms by a click (never on load, never under reduced motion). */
.theme-switching body,.theme-switching #pack,.theme-switching #door,.theme-switching .nav,.theme-switching .marquee,.theme-switching .box-wrap,.theme-switching .origin b,.theme-switching .eyebrow,.theme-switching .lede,.theme-switching .display{transition:background-color .3s ease,color .3s ease,-webkit-text-stroke-color .3s ease,box-shadow .3s ease}

html:not(.js) .theme-toggle{display:none}

/* 7b season: products from the API. Pinned horizontal strip on tall desktop screens with motion, a native snap strip everywhere else. */
#movsum{--ms-rule:#DFE2D9;--ms-thumb:rgba(21,63,38,.3);position:relative;background:var(--paper);color:var(--on-paper)}
html[data-theme="dark"] #movsum{--ms-rule:#36322C;--ms-thumb:rgba(242,237,224,.3)}
#movsum::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1360px,calc(100% - 2*var(--gutter)));height:1px;background:var(--ms-rule)}
.ms-pin{display:flex;flex-direction:column;padding:clamp(72px,10vh,104px) 0 72px}
.ms-intro .eyebrow{color:var(--on-paper-accent)}
.ms-intro .display{font-size:clamp(40px,11vw,56px)}
.ms-intro .lede{color:var(--on-paper-mute)}
.ms-intro-m{display:flex;flex-direction:column;gap:16px;padding-inline:var(--gutter);margin-bottom:28px}
.ms-track{position:relative;display:flex;align-items:flex-end;gap:14px;padding-inline:var(--gutter);padding-bottom:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ms-thumb) transparent}
.ms-track:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}
.ms-track .ms-intro{display:none}
.ms-card{flex:0 0 min(84vw,340px);min-width:0;margin:0;scroll-snap-align:start}
.ms-ph{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#EFE9DA;box-shadow:var(--frame-edge);max-width:100%}
html[data-theme="dark"] .ms-ph{background:#2A241C}
.ms-zoom{width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ms-zoom img{width:100%;height:100%;object-fit:cover;display:block}
.ms-num{display:block;margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.16em;font-variant-numeric:tabular-nums;color:var(--on-paper-accent)}
.ms-name{display:block;margin-top:4px;font-family:var(--display);font-weight:500;font-size:24px;line-height:1.05;letter-spacing:-.02em;color:var(--on-paper)}
.ms-loading .ms-num{color:transparent}
.ms-loading .ms-name{position:relative;color:transparent}
.ms-loading .ms-name::after{content:"";position:absolute;left:0;top:50%;width:60%;height:20px;margin-top:-10px;border-radius:6px;background:#EFE9DA}
html[data-theme="dark"] .ms-loading .ms-name::after{background:#2A241C}
.ms-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-inline:var(--gutter)}
.ms-baku{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--on-paper-mute)}
.ms-baku svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
.ms-progress{display:none;position:relative;width:160px;height:2px;flex:none;border-radius:2px;background:var(--ms-rule);overflow:hidden}
.ms-progress i{position:absolute;inset:0;background:var(--on-paper-accent);transform:scaleX(0);transform-origin:left}

@media (min-width:821px){
  .ms-pin{padding:clamp(72px,12vh,120px) 0 clamp(48px,8vh,80px)}
  .ms-intro-m{display:none}
  .ms-track{gap:28px}
  .ms-track .ms-intro{display:flex;flex-direction:column;gap:16px;flex:0 0 clamp(300px,32vw,460px);padding-right:64px;align-self:center;min-width:0;scroll-snap-align:start}
  .ms-intro .display{font-size:clamp(44px,5.2vw,88px)}
  .ms-card{flex-basis:clamp(347px,min(40vw,calc((100svh - 320px)*1.333)),600px)}
  .ms-ph{border-radius:18px}
  .ms-num{margin-top:18px}
  .ms-name{margin-top:6px;font-size:clamp(26px,2.1vw,34px)}
}
@media (min-width:821px) and (min-height:640px){
  html.motion #movsum{height:var(--screen);overflow:hidden}
  html.motion .ms-pin{height:100%;padding:clamp(56px,9vh,96px) 0 clamp(28px,5vh,48px)}
  html.motion .ms-track{overflow:visible;scroll-snap-type:none;padding-bottom:0;margin-block:auto;will-change:transform}
  html.motion .ms-foot{margin-top:0}
  html.motion .ms-progress{display:block}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .ms-card:hover .ms-zoom{transform:scale(1.03)}
}
.theme-switching #movsum,.theme-switching #movsum::before,.theme-switching .ms-ph,.theme-switching .ms-num,.theme-switching .ms-name,.theme-switching .ms-baku,.theme-switching .ms-progress,.theme-switching .ms-progress i{transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}
