/* ==========================================================================
   OLYFO — Light theme · living film background · liquid gold type
   ========================================================================== */

:root{
  --cream:   #f4eee1;
  --paper:   #fffdf8;
  --ink:     #26301a;
  --ink-2:   rgba(38,48,26,.74);
  --ink-3:   rgba(38,48,26,.52);
  --gold:    #a9761f;
  --gold-2:  #d5a445;
  --gold-3:  #f0d089;
  --green:   #6f8138;
  --line:    rgba(38,48,26,.16);
  --line-2:  rgba(38,48,26,.09);
  --panel:   rgba(255,253,247,.80);
  --panel-2: rgba(255,253,247,.62);

  --serif: "Fraunces", Georgia, serif;
  --sans:  "Inter", system-ui, sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, monospace;

  --pad: clamp(1.1rem, 4vw, 3.5rem);
  --maxw: 1200px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.6;
  overflow-x:hidden;
  position:relative;
  z-index:0;
  -webkit-font-smoothing:antialiased;
}
.defs{ position:absolute; }
img,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--gold-2); color:#fff; }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* ==========================================================================
   FIXED BACKGROUND FILM
   ========================================================================== */
.bg{ position:fixed; inset:0; z-index:-2; overflow:hidden; }
.bg__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bg__wash{ position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(244,238,225,.72) 0%, rgba(244,238,225,.60) 30%, rgba(247,242,231,.66) 60%, rgba(244,238,225,.78) 100%),
    radial-gradient(120% 80% at 50% 0%, rgba(255,253,247,.30), transparent 60%);
}
.bg__grain{ position:absolute; inset:0; opacity:.35; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }

/* top scroll progress */
.progress{ position:fixed; top:0; left:0; right:0; height:3px; z-index:90; background:transparent; }
.progress span{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--gold),var(--gold-3)); box-shadow:0 0 10px rgba(213,164,69,.6); }

/* ==========================================================================
   LIQUID / GOLD TYPE
   ========================================================================== */
.liquid, .goldflow{
  background-image:linear-gradient(100deg,#8a5d15 0%,#d5a445 22%,#f0d089 40%,#b07d24 58%,#e9c569 76%,#8a5d15 100%);
  background-size:280% 100%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:flow 9s linear infinite;
}
.goldflow em{ font-style:italic; }
.liquid{ filter:url(#liquid); }
@keyframes flow{ to{ background-position:280% 0; } }

.display{
  font-family:var(--serif); font-weight:400; line-height:1.05;
  letter-spacing:-.015em; font-size:clamp(1.9rem, 4.8vw, 3.9rem);
}
.mono{ font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }

.eyebrow{ font-family:var(--mono); font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-3);
  display:flex; align-items:center; gap:.6rem; margin-bottom:1.3rem; }
.eyebrow--center{ justify-content:center; }
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold-2); box-shadow:0 0 8px rgba(213,164,69,.8); }

.lead{ font-size:clamp(1.08rem,1.6vw,1.4rem); color:var(--ink); line-height:1.5; }
.lead strong{ color:var(--gold); font-weight:600; }
.lead em, .goldflow em{ font-family:var(--serif); font-style:italic; }

/* split-text spans */
.char, .word{ display:inline-block; will-change:transform,opacity; }
.word{ white-space:pre; }

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--mono); font-size:.74rem; letter-spacing:.12em;
  text-transform:uppercase; padding:.9rem 1.6rem; border-radius:100px;
  transition:transform .35s var(--ease), background .3s, color .3s, border-color .3s, box-shadow .3s; border:1px solid transparent; white-space:nowrap; }
.btn--gold{ background:linear-gradient(100deg,var(--gold),var(--gold-2)); color:#fff; font-weight:500; box-shadow:0 6px 20px rgba(169,118,31,.28); }
.btn--gold:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(169,118,31,.38); }
.btn--ghost{ border-color:var(--ink); color:var(--ink); background:rgba(255,253,247,.5); }
.btn--ghost:hover{ transform:translateY(-2px); border-color:var(--gold); color:var(--gold); }

/* ==========================================================================
   PRELOADER
   ========================================================================== */
.preloader{ position:fixed; inset:0; z-index:200; background:var(--cream); display:grid; place-items:center; text-align:center;
  transition:opacity .8s var(--ease), visibility .8s; }
.preloader.done{ opacity:0; visibility:hidden; }
.preloader__mark{ font-family:var(--serif); font-weight:300; font-size:clamp(3rem,11vw,6rem); letter-spacing:.28em; text-indent:.28em; }
.preloader__cap{ font-family:var(--mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); margin-top:1.2rem; }

/* ==========================================================================
   NAV
   ========================================================================== */
.nav{ position:fixed; top:0; left:0; right:0; z-index:80; display:flex; align-items:center; justify-content:space-between;
  padding:1rem var(--pad); transition:background .4s, padding .4s, box-shadow .4s; }
.nav.scrolled{ background:rgba(247,242,231,.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line-2); padding-top:.7rem; padding-bottom:.7rem; }
.nav__brand{ display:flex; align-items:center; gap:.55rem; }
.nav__ar{ font-size:.9rem; color:var(--gold); }

/* brand logo (inline recolourable SVG wordmark) */
.brand-logo{ display:block; height:20px; width:auto; color:var(--ink); }
.nav__brand .brand-logo{ height:19px; }
.preloader__mark .brand-logo{ height:clamp(30px,6.5vw,46px); }
.foot__logo .brand-logo{ height:28px; }
.nav__links{ display:flex; gap:1.9rem; }
.nav__links a{ font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); position:relative; padding:.3rem 0; transition:color .3s; }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--gold-2); transition:width .35s var(--ease); }
.nav__links a:hover{ color:var(--ink); } .nav__links a:hover::after{ width:100%; }
.nav__right{ display:flex; align-items:center; gap:1.2rem; }
.lang{ display:flex; gap:.15rem; border:1px solid var(--line); border-radius:100px; padding:.2rem; background:rgba(255,253,247,.5); }
.lang button{ font-family:var(--mono); font-size:.66rem; background:none; border:none; color:var(--ink-3); padding:.3rem .55rem; border-radius:100px; cursor:pointer; transition:.3s; }
.lang button.is-active{ background:linear-gradient(100deg,var(--gold),var(--gold-2)); color:#fff; }
.lang button:hover:not(.is-active){ color:var(--ink); }
.nav__cta{ font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); border:1px solid var(--line); padding:.55rem 1rem; border-radius:100px; background:rgba(255,253,247,.5); transition:.3s; }
.nav__cta:hover{ border-color:var(--gold); background:rgba(213,164,69,.12); }
@media (max-width:1080px){ .nav__links{ display:none; } }
@media (max-width:600px){ .nav__cta{ display:none; } }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{ position:relative; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6rem var(--pad) 4rem;
  background:radial-gradient(72% 58% at 50% 44%, rgba(247,242,231,.55), rgba(247,242,231,0) 78%); }
.hero__eye{ color:var(--ink-2); }
.hero__title{ font-family:var(--serif); font-weight:300; font-size:clamp(3.2rem,13vw,10rem); line-height:.88; letter-spacing:-.03em; }
.hero__title span{ display:block; }
.hero__it{ font-weight:400; font-style:italic; }
.hero__sub{ max-width:33rem; margin:1.8rem auto 2.2rem; color:var(--ink); font-weight:400; font-size:clamp(1rem,1.5vw,1.18rem);
  text-shadow:0 1px 12px rgba(255,253,247,.6); }
.hero__actions{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }
.scrollcue{ position:absolute; bottom:1.6rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }
.scrollcue span{ width:1px; height:40px; background:linear-gradient(var(--gold-2),transparent); animation:cue 2s var(--ease) infinite; }
@keyframes cue{ 0%{ transform:scaleY(0); transform-origin:top; } 50%{ transform:scaleY(1); transform-origin:top; } 51%{ transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; } }

/* floating gooey droplets */
.droplets{ position:absolute; inset:0; z-index:-1; filter:url(#goo); pointer-events:none; overflow:hidden; }
.droplets span{ position:absolute; border-radius:50%; background:radial-gradient(circle at 35% 30%, var(--gold-3), var(--gold-2)); opacity:.5; }
.droplets span:nth-child(1){ width:120px; height:120px; left:12%; top:24%; }
.droplets span:nth-child(2){ width:80px; height:80px; right:14%; top:34%; }
.droplets span:nth-child(3){ width:150px; height:150px; right:22%; bottom:16%; }

/* ==========================================================================
   MARQUEE
   ========================================================================== */
.marquee{ overflow:hidden; padding:1.1rem 0; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); background:rgba(255,253,247,.42); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.marquee__row{ display:flex; gap:2.2rem; width:max-content; animation:scroll-x 32s linear infinite; align-items:center; }
.marquee__row span{ font-family:var(--serif); font-style:italic; font-size:clamp(1.3rem,3vw,2.2rem); color:var(--ink); white-space:nowrap; }
.marquee__row i{ color:var(--gold-2); font-style:normal; }
@keyframes scroll-x{ to{ transform:translateX(-50%); } }

/* ==========================================================================
   LAYOUT WRAP + PANELS
   ========================================================================== */
.wrap{ max-width:var(--maxw); margin:0 auto; padding:clamp(2.5rem,6vw,5rem) var(--pad); }
.panel{ background:var(--panel); backdrop-filter:blur(16px) saturate(1.1); -webkit-backdrop-filter:blur(16px) saturate(1.1);
  border:1px solid rgba(255,255,255,.5); box-shadow:0 24px 60px -30px rgba(38,48,26,.4), inset 0 1px 0 rgba(255,255,255,.6);
  border-radius:20px; padding:clamp(1.8rem,4vw,3.6rem); }

/* reveal base */
[data-reveal]{ opacity:0; }
[data-reveal].in{ opacity:1; }

/* ---------- STORY ---------- */
.story .display{ max-width:24ch; margin-bottom:2rem; }
.story__body{ columns:2; column-gap:2.6rem; }
.story__body p{ color:var(--ink-2); margin-bottom:1.1rem; break-inside:avoid; }
.story__body .lead{ color:var(--ink); }
.story__body strong{ color:var(--ink); font-weight:600; }
.stats{ display:flex; gap:clamp(1.4rem,4vw,3rem); margin-top:2.2rem; border-top:1px solid var(--line); padding-top:1.6rem; }
.stat{ display:flex; flex-direction:column; }
.stat__num{ font-family:var(--serif); font-size:clamp(1.8rem,4vw,2.8rem); color:var(--gold); line-height:1; }
.stat__lbl{ font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-top:.5rem; }
@media (max-width:640px){ .story__body{ columns:1; } }

/* ---------- CREED ---------- */
.creed{ max-width:64rem; margin:0 auto; padding:clamp(4rem,11vw,9rem) var(--pad); text-align:center;
  background:radial-gradient(70% 62% at 50% 50%, rgba(247,242,231,.5), rgba(247,242,231,0) 76%); }
.creed__quote{ font-family:var(--serif); font-weight:400; line-height:1.14; letter-spacing:-.01em; font-size:clamp(1.9rem,5.4vw,4.4rem); }
.creed__by{ font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); margin-top:2rem; }

/* ---------- PROCESS ---------- */
.process__intro{ color:var(--ink-2); margin:1rem 0 1.6rem; max-width:40rem; }
.steps{ list-style:none; border-top:1px solid var(--line); }
.step{ display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1rem,4vw,2.6rem); align-items:baseline;
  padding:clamp(1.3rem,2.6vw,2rem) 0; border-bottom:1px solid var(--line); transition:padding-left .5s var(--ease); }
.step:hover{ padding-left:.8rem; }
.step__no{ font-family:var(--mono); font-size:.8rem; color:var(--gold); }
.step__body h3{ font-family:var(--serif); font-weight:400; font-size:clamp(1.3rem,3vw,2rem); margin-bottom:.4rem; color:var(--ink); }
.step__body p{ color:var(--ink-2); max-width:46rem; font-size:.96rem; }
.step__tag{ font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); white-space:nowrap; align-self:center; }
@media (max-width:640px){ .step{ grid-template-columns:auto 1fr; } .step__tag{ display:none; } }

/* ---------- COLLECTION ---------- */
.collection__head{ text-align:center; margin-bottom:clamp(2rem,4vw,3rem); }
.cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.card{ background:var(--panel); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.5);
  border-radius:16px; overflow:hidden; box-shadow:0 20px 50px -30px rgba(38,48,26,.4); transition:transform .5s var(--ease), box-shadow .4s; }
.card:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -28px rgba(169,118,31,.45); }
.card__media{ aspect-ratio:3/4; display:grid; place-items:center; position:relative;
  background:linear-gradient(170deg, rgba(240,208,137,.35), rgba(255,253,247,.15)); border-bottom:1px solid var(--line-2); }
.card__media::before{ content:""; position:absolute; top:12%; bottom:12%; width:32%; border-radius:60px 60px 40px 40px/90px 90px 30px 30px;
  background:linear-gradient(160deg, rgba(120,140,70,.5), rgba(180,150,60,.35)); border:1px solid rgba(255,255,255,.5);
  box-shadow:inset 4px 0 14px rgba(38,48,26,.25), inset -6px 0 18px rgba(240,208,137,.5); }
.card--gold .card__media{ background:linear-gradient(170deg, rgba(240,208,137,.6), rgba(213,164,69,.25)); }
.card--gold .card__media::before{ box-shadow:inset 4px 0 14px rgba(38,48,26,.2), inset -8px 0 22px rgba(240,208,137,.9); }
.card__ph{ position:relative; z-index:2; font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; color:var(--ink-3); }
.card__meta{ padding:1.2rem 1.2rem 1.5rem; }
.card__meta h3{ font-family:var(--serif); font-weight:400; font-size:1.35rem; margin-bottom:.5rem; color:var(--ink); }
.card__meta p{ color:var(--ink-2); font-size:.86rem; line-height:1.5; margin-bottom:.9rem; }
.card__note{ font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); }
.collection__soon{ text-align:center; font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); margin-top:2rem; }
@media (max-width:880px){ .cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:440px){ .cards{ grid-template-columns:1fr; } }

/* ---------- CHEF'S TABLE ---------- */
.table{ display:grid; grid-template-columns:.85fr 1fr; gap:clamp(1.6rem,4vw,3.4rem); align-items:center; }
.table__film{ border-radius:14px; overflow:hidden; box-shadow:0 20px 50px -26px rgba(38,48,26,.5); }
.table__film img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.table__text blockquote{ font-size:clamp(1.4rem,2.8vw,2.2rem); line-height:1.24; margin:.4rem 0 1.6rem; color:var(--ink); font-family:var(--serif); font-weight:400; }
.table__by{ color:var(--ink-2); line-height:1.6; } .table__by strong{ color:var(--ink); }
.table__by .mono{ color:var(--ink-3); }
.rating{ display:flex; align-items:center; gap:.8rem; margin-top:1.4rem; }
.rating__stars{ color:var(--gold-2); letter-spacing:.15em; font-size:1.05rem; }
.rating .mono{ color:var(--ink-3); }
@media (max-width:760px){ .table{ grid-template-columns:1fr; } .table__film{ order:2; max-width:22rem; } }

/* ---------- VALUES ---------- */
.values .display{ margin-bottom:2rem; }
.values__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.value{ border-top:1px solid var(--gold-2); padding-top:1.2rem; }
.value__k{ font-family:var(--mono); font-size:.72rem; color:var(--gold); }
.value h3{ font-family:var(--serif); font-weight:400; font-size:1.25rem; margin:.8rem 0 .6rem; color:var(--ink); }
.value p{ color:var(--ink-2); font-size:.88rem; }
@media (max-width:820px){ .values__grid{ grid-template-columns:repeat(2,1fr); gap:1.8rem; } }
@media (max-width:440px){ .values__grid{ grid-template-columns:1fr; } }

/* ---------- TEAM ---------- */
.team .display{ margin-bottom:1.4rem; }
.team__list{ list-style:none; border-top:1px solid var(--line); }
.team__list li{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; flex-wrap:wrap;
  padding:1.2rem 0; border-bottom:1px solid var(--line); transition:padding-left .4s var(--ease); }
.team__list li:hover{ padding-left:.7rem; }
.team__name{ font-family:var(--serif); font-size:clamp(1.2rem,3vw,1.9rem); font-weight:400; color:var(--ink); }
.team__name em{ font-style:italic; color:var(--gold); font-size:.68em; }
.team__role{ color:var(--ink-3); }

/* ---------- WORK ---------- */
.work__head{ text-align:center; max-width:44rem; margin:0 auto clamp(2rem,4vw,3rem); }
.work__intro{ color:var(--ink-2); margin-top:1rem; }
.work__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; max-width:var(--maxw); margin:0 auto; }
.work__item{ padding:2rem 1.6rem; display:flex; flex-direction:column; gap:.6rem; transition:transform .4s var(--ease), box-shadow .4s; }
.work__item:hover{ transform:translateY(-5px); box-shadow:0 30px 60px -30px rgba(169,118,31,.5); }
.work__item h3{ font-family:var(--serif); font-weight:400; font-size:1.4rem; color:var(--ink); }
.work__item p{ color:var(--ink-2); font-size:.9rem; flex:1; }
.work__item .mono{ color:var(--gold); }
@media (max-width:760px){ .work__grid{ grid-template-columns:1fr; } }

/* ---------- CONTACT ---------- */
.contact{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.contact__lead p{ color:var(--ink-2); max-width:28rem; margin-top:.8rem; }
.signup{ display:flex; gap:.6rem; margin-top:1.8rem; max-width:26rem; flex-wrap:wrap; }
.signup input{ flex:1; min-width:12rem; background:rgba(255,255,255,.7); border:1px solid var(--line); border-radius:100px; color:var(--ink);
  padding:.85rem 1.2rem; font-family:var(--sans); font-size:.95rem; transition:border-color .3s; }
.signup input:focus{ outline:none; border-color:var(--gold-2); }
.signup input::placeholder{ color:var(--ink-3); }
.signup__note{ font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); margin-top:.9rem; }
.contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.8rem 2rem; }
.contact__col{ display:flex; flex-direction:column; gap:.4rem; }
.contact__k{ color:var(--ink-3); margin-bottom:.3rem; }
.contact__col a{ color:var(--ink); font-size:1rem; transition:color .3s; width:fit-content; }
.contact__col a:hover{ color:var(--gold); }
@media (max-width:820px){ .contact{ grid-template-columns:1fr; } }
@media (max-width:420px){ .contact__grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.foot{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) 2.5rem; }
.foot__inner{ padding:clamp(2rem,4vw,3rem); }
.foot__top{ display:grid; grid-template-columns:1fr 1.4fr; gap:2.6rem; padding-bottom:2.4rem; border-bottom:1px solid var(--line); }
.foot__logo{ font-family:var(--serif); font-size:2.2rem; letter-spacing:.12em; }
.foot__tag{ font-family:var(--serif); font-style:italic; color:var(--gold); margin-top:.3rem; font-size:1.15rem; }
.foot__ar{ color:var(--ink-3); margin-top:.9rem; font-size:.92rem; }
.foot__nav{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.foot__nav div{ display:flex; flex-direction:column; gap:.6rem; }
.foot__h{ color:var(--ink-3); margin-bottom:.4rem; }
.foot__nav a{ color:var(--ink-2); font-size:.9rem; transition:color .3s; } .foot__nav a:hover{ color:var(--gold); }
.foot__bar{ display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding-top:1.8rem; color:var(--ink-3); }
.foot__legal{ display:flex; gap:1.1rem; }
.foot__legal a{ font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-3); transition:color .3s; }
.foot__legal a:hover{ color:var(--gold); }
@media (max-width:720px){ .foot__top{ grid-template-columns:1fr; gap:2rem; } }
@media (max-width:520px){ .foot__nav{ grid-template-columns:1fr 1fr; } }

/* ==========================================================================
   MOTION PREFERENCES
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  /* kill autonomous animation, but keep the scroll-driven film — scrubbing is user-controlled */
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  [data-reveal]{ opacity:1 !important; }
  .liquid{ filter:none; }
}
