/* =====================================================
   ZAMANUDDIN ZAFAR · EDITION 2026
   An editorial portfolio — cream paper, olive serif,
   royal-blue accents. Hand-built.
   ===================================================== */

:root{
  /* ---- Palette (sampled from reference image) ---- */
  --cream:        #EFE5D0;   /* warm paper */
  --cream-2:      #E5DBC0;   /* deeper paper */
  --cream-3:      #D9CDAE;   /* edge / shadow */
  --paper-line:   #C7B98F;   /* hairline rules */
  --olive:        #3E4B19;   /* deep olive serif */
  --olive-mid:    #4F5E22;
  --olive-soft:   #6F7D3E;
  --olive-dark:   #2A3210;
  --royal:        #1A3DAD;   /* royal blue band */
  --royal-deep:   #0E2070;
  --royal-soft:   #2E59C9;
  --gold:         #B07A2A;   /* warm accent */
  --ink:          #1A1A14;
  --ink-soft:     #3C3A2E;
  --paper-shadow: 0 30px 60px -30px rgba(58,68,20,.35), 0 6px 20px -10px rgba(58,68,20,.18);

  /* ---- Type ---- */
  --f-display: "Fraunces", "Times New Roman", serif;
  --f-body:    "Newsreader", "Georgia", serif;
  --f-ui:      "Bricolage Grotesque", "Helvetica Neue", sans-serif;
  --f-mono:    "JetBrains Mono", ui-monospace, monospace;
  --f-fa:      "Vazirmatn", "Tahoma", sans-serif;

  /* ---- Layout ---- */
  --container: 1400px;
  --gutter:    clamp(20px, 4vw, 56px);
  --section-y: clamp(72px, 9vw, 140px);
  --r-soft:    14px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  background:var(--cream);
}
body{
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.55;
  color:var(--ink);
  background:
    radial-gradient(1200px 800px at 80% -10%, rgba(26,61,173,.08), transparent 60%),
    radial-gradient(900px 700px at -10% 110%, rgba(62,75,25,.10), transparent 60%),
    var(--cream);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
em,i{font-style:italic}
strong{font-weight:600}

/* Selection */
::selection{background:var(--olive);color:var(--cream)}

/* ---- Mono label utility ---- */
.m{
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--olive-mid);
}
.m em,.m i{font-style:italic}

/* =================================================
   PAPER GRAIN TEXTURE
   ================================================= */
.grain{
  pointer-events:none;
  position:fixed;inset:0;
  z-index:9000;
  opacity:.13;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.24  0 0 0 0 0.29  0 0 0 0 0.10  0 0 0 .55 0'/></filter><rect width='300' height='300' filter='url(%23n)'/></svg>");
}

/* =================================================
   CUSTOM CURSOR
   ================================================= */
.cursor{
  position:fixed;top:0;left:0;
  width:36px;height:36px;
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  mix-blend-mode:difference;
  transform:translate(-50%,-50%);
  transition:width .25s ease, height .25s ease, opacity .2s;
  display:none;
}
@media (hover:hover) and (pointer:fine){
  .cursor{display:block}
  body{cursor:none}
}
.cursor__ring{
  position:absolute;inset:0;
  border:1.5px solid #f5e9c8;
  border-radius:50%;
}
.cursor__lab{
  position:absolute;
  top:48px;left:50%;
  transform:translateX(-50%);
  font-family:var(--f-mono);font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;
  color:#f5e9c8;white-space:nowrap;
  opacity:0;transition:opacity .2s;
}
.cursor.is-hover{width:64px;height:64px}
.cursor.is-hover .cursor__lab{opacity:1}
.cursor.is-cta{width:90px;height:90px;background:var(--olive);mix-blend-mode:normal}
.cursor.is-cta .cursor__ring{border-color:var(--cream)}
.cursor.is-cta .cursor__lab{color:var(--cream)}

/* =================================================
   LOADER
   ================================================= */
.boot{
  position:fixed;inset:0;z-index:9500;
  background:var(--cream);
  display:grid;place-items:center;
  transition:opacity .9s ease, visibility .9s ease;
}
body:not(.loading) .boot{opacity:0;visibility:hidden;pointer-events:none}
.boot__paper{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 20%, rgba(62,75,25,.12), transparent 50%),
    radial-gradient(circle at 80% 90%, rgba(26,61,173,.10), transparent 50%);
}
.boot__content{
  position:relative;
  width:min(900px, 90vw);
  text-align:center;
}
.boot__row{
  display:flex;justify-content:space-between;
  margin-bottom:24px;
}
.boot__row--btm{margin:24px 0 16px}
.boot__massive{
  font-family:var(--f-display);
  font-weight:300;
  font-size:clamp(80px, 18vw, 220px);
  line-height:.9;
  color:var(--olive);
  letter-spacing:-.04em;
  font-style:italic;
  display:flex;align-items:center;justify-content:center;
  gap:.2em;
}
.boot__star{
  font-style:normal;
  color:var(--royal);
  font-size:.5em;
  animation:bootSpin 3s linear infinite;
  display:inline-block;
}
@keyframes bootSpin{to{transform:rotate(360deg)}}
.boot__bar{
  height:2px;
  background:rgba(62,75,25,.15);
  position:relative;
  overflow:hidden;
}
.boot__bar span{
  position:absolute;left:0;top:0;height:100%;
  background:var(--olive);
  width:0;
  animation:bootFill 1.6s cubic-bezier(.55,.05,.35,1) forwards;
}
@keyframes bootFill{to{width:100%}}

/* =================================================
   TOPBAR / NAV
   ================================================= */
.topbar{
  position:fixed;top:0;left:0;right:0;
  z-index:300;
  background:transparent;
  transition:background .35s ease, backdrop-filter .35s ease;
}
.topbar.is-stuck{
  background:rgba(239,229,208,.86);
  backdrop-filter:blur(14px) saturate(1.1);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
  border-bottom:1px solid rgba(62,75,25,.16);
}

.strip{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:24px;
  padding:10px var(--gutter);
  border-bottom:1px solid rgba(62,75,25,.18);
}
.strip__cell{display:flex;align-items:center;gap:8px;color:var(--olive)}
.strip__cell--c{justify-content:center;letter-spacing:.18em}
.strip__cell--r{justify-content:flex-end;flex-wrap:wrap}
.strip .sep{opacity:.5}
@media (max-width:880px){
  .strip{grid-template-columns:1fr 1fr;font-size:10px}
  .strip__cell--c{display:none}
}

.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px var(--gutter);
  gap:24px;
}
.brand{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--f-display);font-size:24px;
  color:var(--olive);
  font-style:italic;
  font-weight:500;
}
.brand__star{
  width:22px;height:22px;
  fill:var(--royal);
  transition:transform .6s ease;
}
.brand:hover .brand__star{transform:rotate(180deg)}
.brand__txt{display:inline-flex;align-items:baseline;gap:6px}
.brand__txt em{font-style:italic}
.brand__txt .m{
  border-left:1px solid rgba(62,75,25,.4);
  padding-left:8px;
  color:var(--olive-soft);
}

.nav__list{
  display:flex;gap:6px;
  list-style:none;margin:0;padding:0;
}
.nav__list li a{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;
  border-radius:99px;
  color:var(--olive);
  font-family:var(--f-body);
  font-size:15px;
  position:relative;
  transition:background .2s ease, color .2s ease;
}
.nav__list li a:hover{background:rgba(62,75,25,.08)}
.nav__list li a .m{font-size:9px;color:var(--olive-soft)}
@media (max-width:1100px){.nav__list{display:none}}

.burger{
  display:none;align-items:center;gap:10px;
  padding:10px 14px;
  border:1px solid var(--olive);
  border-radius:99px;
  color:var(--olive);
}
.burger__lines{display:inline-flex;flex-direction:column;gap:3px}
.burger__lines i{display:block;width:18px;height:1.5px;background:var(--olive)}
@media (max-width:1100px){.burger{display:inline-flex}}

/* Drawer (mobile) */
.drawer{
  position:fixed;inset:0;z-index:400;
  background:var(--cream);
  visibility:hidden;opacity:0;
  transition:visibility .3s, opacity .3s;
}
.drawer.is-open{visibility:visible;opacity:1}
.drawer__inner{
  display:flex;flex-direction:column;
  height:100%;padding:32px var(--gutter);
}
.drawer__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.drawer__close{color:var(--olive)}
.drawer__list{
  list-style:none;padding:0;margin:0;
  flex:1;display:flex;flex-direction:column;justify-content:center;
}
.drawer__list li{border-top:1px solid rgba(62,75,25,.16)}
.drawer__list li:last-child{border-bottom:1px solid rgba(62,75,25,.16)}
.drawer__list li a{
  display:flex;align-items:baseline;gap:18px;
  padding:18px 0;
  font-family:var(--f-display);
  font-size:clamp(28px, 6vw, 48px);
  font-style:italic;
  color:var(--olive);
}
.drawer__list li .m{color:var(--olive-soft)}
.drawer__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid rgba(62,75,25,.16)}

/* =================================================
   COVER / HERO
   ================================================= */
.cover{
  position:relative;
  padding:140px var(--gutter) 0;
  overflow:hidden;
  isolation:isolate;
}

/* Decorative leaves */
.leaf{
  position:absolute;
  color:var(--olive-soft);
  pointer-events:none;
  z-index:0;
}
.leaf--tl{
  top:-30px;left:-60px;
  width:280px;height:auto;
  transform:rotate(-15deg);
  opacity:.65;
}
.leaf--br{
  right:-40px;top:55%;
  width:240px;height:auto;
  transform:rotate(20deg);
  opacity:.45;
}
.ornament--star{
  position:absolute;
  top:40%;right:8%;
  width:80px;height:80px;
  color:var(--olive-mid);
  opacity:.5;
  animation:slowSpin 60s linear infinite;
}
@keyframes slowSpin{to{transform:rotate(360deg)}}

.cover__head{
  position:relative;z-index:2;
  max-width:var(--container);
  margin:0 auto 42px;
}
.cover__entry{
  display:flex;justify-content:space-between;
  margin-bottom:14px;
  color:var(--olive);
}
.cover__entry-r{color:var(--olive-soft)}
.cover__rule{
  height:1px;
  background:linear-gradient(to right, transparent, var(--olive) 8%, var(--olive) 92%, transparent);
}

.cover__grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(40px, 6vw, 80px);
  align-items:end;
  max-width:var(--container);
  margin:0 auto;
}
@media (max-width:980px){
  .cover__grid{grid-template-columns:1fr;gap:40px}
}

.cover__pre{
  display:flex;flex-direction:column;gap:6px;
  margin:0 0 20px;
}
.cover__pre .m:nth-child(2){color:var(--olive-soft)}

.cover__title{
  font-family:var(--f-display);
  font-style:italic;
  font-weight:300;
  font-variation-settings:"opsz" 144, "SOFT" 100;
  font-size:clamp(64px, 14vw, 220px);
  line-height:.85;
  letter-spacing:-.045em;
  color:var(--olive);
  margin:0 0 28px;
}
.cover__line{display:block;overflow:hidden}
.cover__line--bot{padding-left:.6em}
.cover__word{display:inline-block}
.cover__word--em{
  font-weight:500;
  font-style:italic;
  color:var(--olive-dark);
}
.ch{
  display:inline-block;
  transform:translateY(110%);
  animation:chReveal .9s cubic-bezier(.2,.6,.2,1) forwards;
  animation-delay:calc(40ms * var(--i) + 1.2s);
}
.ch--dot{color:var(--royal)}
@keyframes chReveal{to{transform:translateY(0)}}

.cover__lede{
  font-family:var(--f-body);
  font-size:clamp(18px, 1.5vw, 22px);
  line-height:1.5;
  color:var(--ink-soft);
  max-width:560px;
  margin:0 0 32px;
}
.cover__lede em{color:var(--olive)}
.cover__lede strong{color:var(--olive-dark)}

.cover__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:48px}

/* CTA buttons (matches reference's solid olive) */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 28px;
  font-family:var(--f-ui);
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  border-radius:6px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn--solid{
  background:var(--olive);
  color:var(--cream);
  box-shadow:0 8px 0 -2px var(--olive-dark), 0 18px 30px -10px rgba(62,75,25,.4);
}
.btn--solid:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 0 -2px var(--olive-dark), 0 24px 40px -10px rgba(62,75,25,.5);
}
.btn--solid:active{
  transform:translateY(2px);
  box-shadow:0 4px 0 -2px var(--olive-dark);
}
.btn--ghost{
  background:transparent;
  color:var(--olive);
  border:1.5px solid var(--olive);
}
.btn--ghost:hover{background:var(--olive);color:var(--cream)}
.btn__arr{display:inline-block;transition:transform .25s ease}
.btn:hover .btn__arr{transform:translateX(4px)}

/* Cover meta */
.cover__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 28px;
  border-top:1px solid var(--paper-line);
  padding-top:22px;
  margin:0;
}
.cover__meta div{display:flex;flex-direction:column;gap:4px}
.cover__meta dt{margin:0}
.cover__meta dd{
  margin:0;
  font-family:var(--f-display);
  font-size:18px;
  font-weight:400;
  font-style:italic;
  color:var(--olive);
}
@media (max-width:560px){.cover__meta{grid-template-columns:1fr}}

/* Cover plate (image card) */
.cover__plate{
  margin:0;
  position:relative;
  align-self:end;
}
.cover__plate-frame{
  position:relative;
  border-radius:var(--r-soft);
  overflow:hidden;
  box-shadow:var(--paper-shadow);
  aspect-ratio:5/6;
  background:var(--cream-2);
}
.cover__plate-frame img{
  width:100%;height:100%;object-fit:cover;
  object-position:center 35%;
  filter:contrast(1.05) saturate(1.05);
  transform:scale(1.04);
  transition:transform 6s ease;
}
.cover__plate:hover .cover__plate-frame img{transform:scale(1.0)}
.cover__plate-tag{
  position:absolute;left:18px;bottom:18px;
  background:var(--cream);
  color:var(--olive);
  padding:6px 12px;
  border-radius:4px;
  letter-spacing:.18em;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}
.cover__plate-cap{
  display:flex;flex-direction:column;gap:8px;
  margin-top:18px;padding:0 8px;
}
.cover__plate-q{
  font-family:var(--f-display);
  font-style:italic;
  font-size:18px;
  color:var(--olive);
  line-height:1.4;
}

/* Royal blue band — mirrors reference image */
.cover__band{
  margin-top:80px;
  background:linear-gradient(135deg, var(--royal-deep), var(--royal) 35%, var(--royal-soft) 60%, var(--royal) 80%, var(--royal-deep));
  color:#F2F0E0;
  padding:24px 0;
  overflow:hidden;
  border-radius:var(--r-soft) var(--r-soft) 0 0;
  position:relative;
  isolation:isolate;
}
.cover__band::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.15), transparent 70%);
  z-index:0;
}
.cover__band-track{
  display:flex;width:max-content;
  animation:scrollLeft 50s linear infinite;
  position:relative;z-index:1;
}
.cover__band-grp{
  display:flex;align-items:center;gap:36px;padding-right:36px;
  font-family:var(--f-display);
  font-size:clamp(28px, 4vw, 56px);
  font-weight:400;
  font-style:normal;
  letter-spacing:-.02em;
}
.cover__band-grp i{font-style:italic;font-weight:300;color:#FFE9B0}
.cover__band-grp .d{
  font-family:var(--f-mono);
  font-size:.5em;
  color:#FFE9B0;
  opacity:.7;
}
@keyframes scrollLeft{to{transform:translateX(-50%)}}

.scroll-cue{
  display:inline-flex;align-items:center;gap:8px;
  position:absolute;
  right:var(--gutter);bottom:140px;
  color:var(--olive);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  z-index:3;
}
.scroll-cue__arr{
  font-style:normal;
  display:inline-block;
  animation:cueBounce 1.6s ease-in-out infinite;
}
@keyframes cueBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@media (max-width:980px){.scroll-cue{display:none}}

/* =================================================
   SECTION HEADER
   ================================================= */
.sec-head{
  max-width:var(--container);
  margin:0 auto 56px;
}
.sec-head__num{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:24px;
}
.sec-head__title{
  font-family:var(--f-display);
  font-weight:300;
  font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 80;
  font-size:clamp(48px, 8vw, 120px);
  line-height:.95;
  letter-spacing:-.035em;
  color:var(--olive);
  margin:0 0 24px;
}
.sec-head__title em{
  font-style:italic;
  color:var(--olive-dark);
  font-weight:500;
}
.sec-head__sub{
  max-width:560px;color:var(--olive-soft);
  font-family:var(--f-body);text-transform:none;letter-spacing:0;font-size:14px;
  margin:0 0 16px;
}
.sec-head__rule{
  height:1px;
  background:linear-gradient(to right, var(--olive), transparent);
}
.sec-head--dark .sec-head__title{color:var(--olive)}

/* =================================================
   PROFILE
   ================================================= */
.profile{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
  position:relative;
}
.profile__grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:64px;
  align-items:start;
}
@media (max-width:880px){.profile__grid{grid-template-columns:1fr;gap:40px}}

.profile__lead{}
.profile__drop{
  font-family:var(--f-body);
  font-size:clamp(20px, 1.7vw, 26px);
  line-height:1.45;
  color:var(--ink);
  margin:0 0 24px;
}
.profile__drop em{color:var(--olive);font-style:italic}
.profile__drop strong{color:var(--olive-dark);font-weight:600}
.dropcap{
  float:left;
  font-family:var(--f-display);
  font-style:italic;
  font-weight:300;
  font-size:clamp(80px, 8vw, 130px);
  line-height:.85;
  color:var(--olive);
  padding:8px 16px 0 0;
}
.profile__body{font-size:18px;line-height:1.6;color:var(--ink-soft);margin:0}
.profile__body em{color:var(--olive)}

.profile__side{
  background:var(--cream-2);
  border:1px solid var(--paper-line);
  border-radius:var(--r-soft);
  padding:28px;
  position:relative;
}
.profile__side::before{
  content:"";
  position:absolute;top:-1px;left:-1px;
  width:24px;height:24px;
  border-top:2px solid var(--olive);
  border-left:2px solid var(--olive);
}
.profile__side::after{
  content:"";
  position:absolute;bottom:-1px;right:-1px;
  width:24px;height:24px;
  border-bottom:2px solid var(--olive);
  border-right:2px solid var(--olive);
}
.dl{display:flex;flex-direction:column;gap:18px}
.dl__row{display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:start}
.dl__row p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-soft)}
.dl__row em{color:var(--olive);font-style:italic;font-weight:600}

.profile__stats{
  list-style:none;padding:0;margin:48px 0 0;
  grid-column:1/-1;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  border:1px solid var(--paper-line);
  background:var(--paper-line);
  border-radius:var(--r-soft);
  overflow:hidden;
}
.profile__stats li{
  background:var(--cream);
  padding:28px 24px;
  display:flex;flex-direction:column;gap:6px;
}
.profile__stats b{
  font-family:var(--f-display);
  font-style:italic;
  font-weight:400;
  font-size:clamp(40px, 5vw, 64px);
  color:var(--olive);
  line-height:1;
}
.profile__stats sup{font-size:.5em;vertical-align:super;color:var(--royal)}
@media (max-width:780px){.profile__stats{grid-template-columns:repeat(2,1fr)}}

/* =================================================
   MANIFESTO
   ================================================= */
.manifesto{
  padding:var(--section-y) var(--gutter);
  background:linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
  border-top:1px solid var(--paper-line);
  border-bottom:1px solid var(--paper-line);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.manifesto::before,.manifesto::after{
  content:"";
  position:absolute;
  width:300px;height:300px;
  border-radius:50%;
  background:radial-gradient(circle, var(--olive-soft), transparent 70%);
  opacity:.15;z-index:-1;
}
.manifesto::before{top:-120px;left:10%}
.manifesto::after{bottom:-120px;right:10%}
.manifesto__inner{
  max-width:1000px;
  margin:0 auto;
  text-align:center;
  position:relative;
}
.manifesto__bar{display:block;margin-bottom:32px;color:var(--olive)}
.manifesto__q{margin:0 0 32px;position:relative}
.manifesto__mark{
  position:absolute;
  top:-60px;left:50%;
  transform:translateX(-50%);
  font-family:var(--f-display);
  font-size:160px;
  font-weight:300;
  color:var(--olive);
  opacity:.2;
  line-height:1;
}
.manifesto__q p{
  font-family:var(--f-display);
  font-style:italic;
  font-weight:300;
  font-variation-settings:"opsz" 144, "SOFT" 100;
  font-size:clamp(28px, 4vw, 56px);
  line-height:1.25;
  color:var(--olive);
  margin:0 0 24px;
  letter-spacing:-.015em;
}
.manifesto__q p em{
  color:var(--royal-deep);
  font-weight:500;
  position:relative;
}
.manifesto__q cite{
  font-style:normal;
  color:var(--olive-mid);
}
.manifesto__sig{
  width:80px;height:80px;
  margin:0 auto;
  color:var(--royal);
  animation:slowSpin 90s linear infinite;
}

/* =================================================
   CRAFTS
   ================================================= */
.crafts{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
}
.crafts__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
}
@media (max-width:880px){.crafts__grid{grid-template-columns:1fr;gap:64px}}

.craft{
  background:var(--cream-2);
  border:1px solid var(--paper-line);
  border-radius:var(--r-soft);
  padding:36px;
  position:relative;
  display:flex;flex-direction:column;
  transition:transform .4s ease;
}
.craft:hover{transform:translateY(-4px)}
.craft--a{transform:rotate(-.5deg)}
.craft--a:hover{transform:rotate(0) translateY(-4px)}
.craft--b{transform:rotate(.5deg);background:var(--cream)}
.craft--b:hover{transform:rotate(0) translateY(-4px)}

.craft__head{display:flex;justify-content:space-between;margin-bottom:18px;color:var(--olive)}
.craft__title{
  font-family:var(--f-display);
  font-weight:300;
  font-style:italic;
  font-size:clamp(36px, 5vw, 64px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--olive);
  margin:0 0 28px;
}
.craft__title em{color:var(--olive-dark);font-weight:500}
.craft__fig{margin:0 0 22px;border-radius:8px;overflow:hidden;position:relative}
.craft__fig img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  filter:contrast(1.05) saturate(.95);
  transition:transform 4s ease;
}
.craft:hover .craft__fig img{transform:scale(1.05)}
.craft__fig figcaption{
  position:absolute;left:12px;bottom:12px;
  background:rgba(239,229,208,.9);
  color:var(--olive);
  padding:5px 10px;border-radius:4px;
  backdrop-filter:blur(4px);
}
.craft__body{font-size:16px;line-height:1.55;color:var(--ink-soft);margin:0 0 22px}
.craft__body em{color:var(--olive)}
.craft__list{
  list-style:none;padding:0;margin:0;
  display:grid;gap:6px;
  border-top:1px solid var(--paper-line);padding-top:18px;
}
.craft__list li{
  display:grid;grid-template-columns:32px 1fr;
  align-items:baseline;
  font-family:var(--f-display);
  font-size:18px;
  color:var(--olive);
  font-style:normal;
}
.craft__list li .m{color:var(--olive-soft)}

/* =================================================
   RECORD (LEDGER)
   ================================================= */
.record{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
}
.ledger{
  width:100%;
  border-collapse:collapse;
  font-family:var(--f-body);
  font-size:16px;
}
.ledger thead th{
  text-align:left;
  padding:14px 16px;
  background:var(--olive);
  color:var(--cream);
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.16em;
  border:none;
}
.ledger thead th:first-child{border-radius:8px 0 0 8px;width:60px}
.ledger thead th:last-child{border-radius:0 8px 8px 0}
.ledger tbody tr{
  border-bottom:1px solid var(--paper-line);
  transition:background .2s ease;
}
.ledger tbody tr:hover{background:var(--cream-2)}
.ledger td{padding:22px 16px;vertical-align:top;color:var(--ink)}
.ledger td.m{color:var(--olive-soft)}
.ledger__role{
  display:block;
  font-family:var(--f-display);
  font-style:italic;
  font-weight:400;
  font-size:22px;
  line-height:1.2;
  color:var(--olive);
  margin-bottom:8px;
}
.ledger__role em{color:var(--olive-dark);font-weight:500}
.ledger td p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-soft)}
@media (max-width:880px){
  .ledger thead{display:none}
  .ledger tbody tr{display:grid;grid-template-columns:1fr;gap:6px;padding:18px 0;border-bottom:1px solid var(--paper-line)}
  .ledger td{padding:0;border:0}
}

/* =================================================
   CAPACITY
   ================================================= */
.capacity{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
}
.cap-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
@media (max-width:980px){.cap-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.cap-grid{grid-template-columns:1fr}}

.cap{
  background:var(--cream);
  border:1px solid var(--paper-line);
  border-radius:var(--r-soft);
  padding:32px 28px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .35s ease, border-color .35s ease;
}
.cap::before{
  content:"";
  position:absolute;left:0;top:0;
  width:100%;height:4px;
  background:var(--olive);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s ease;
}
.cap:hover{transform:translateY(-4px);border-color:var(--olive)}
.cap:hover::before{transform:scaleX(1)}
.cap__num{display:block;color:var(--olive-soft);margin-bottom:32px}
.cap h3{
  font-family:var(--f-display);
  font-weight:400;
  font-size:28px;
  line-height:1.1;
  color:var(--olive);
  margin:0 0 14px;
}
.cap h3 em{font-style:italic;color:var(--olive-dark);font-weight:500}
.cap p{font-size:15px;line-height:1.55;color:var(--ink-soft);margin:0 0 20px}
.cap__tag{
  display:inline-block;
  padding:4px 10px;
  background:var(--olive);
  color:var(--cream);
  border-radius:4px;
  letter-spacing:.18em;
}
.cap__tag--b{background:var(--royal)}

/* =================================================
   STUDIO
   ================================================= */
.studio{
  padding:var(--section-y) var(--gutter);
  background:var(--olive);
  color:var(--cream);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.studio::before{
  content:"";
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60'><g fill='none' stroke='%23EFE5D0' stroke-width='.8' opacity='.06'><circle cx='30' cy='30' r='14'/><polygon points='30,4 33,27 56,30 33,33 30,56 27,33 4,30 27,27'/></g></svg>");
  opacity:.5;
  z-index:-1;
}
.studio__bar{
  display:flex;justify-content:space-between;
  max-width:var(--container);margin:0 auto 48px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(239,229,208,.25);
  flex-wrap:wrap;gap:12px;
}
.studio__bar .m{color:var(--cream)}
.studio__head{
  max-width:var(--container);
  margin:0 auto 56px;
}
.studio__title{
  font-family:var(--f-display);
  font-weight:300;
  font-size:clamp(48px, 8vw, 120px);
  line-height:.95;
  letter-spacing:-.035em;
  margin:0 0 24px;
  color:var(--cream);
  display:flex;flex-direction:column;
}
.studio__title-em{color:#F0E5C0}
.studio__title em{font-style:italic;font-weight:400;color:#F4D77E}
.studio__sub{
  font-family:var(--f-body);
  font-size:18px;
  line-height:1.6;
  color:rgba(239,229,208,.8);
  max-width:680px;
  margin:0;
}

.studio__split{
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:48px;
  align-items:start;
}
@media (max-width:980px){.studio__split{grid-template-columns:1fr;gap:32px}}

.studio__fig{
  margin:0;
  position:sticky;
  top:120px;
  border-radius:var(--r-soft);
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.studio__fig img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  filter:contrast(1.08) saturate(1.05);
}
.studio__fig figcaption{
  position:absolute;left:16px;bottom:16px;
  background:rgba(239,229,208,.92);
  color:var(--olive);
  padding:6px 12px;border-radius:4px;
}

.services{
  list-style:none;padding:0;margin:0;
  display:grid;gap:1px;
  background:rgba(239,229,208,.18);
  border:1px solid rgba(239,229,208,.18);
  border-radius:var(--r-soft);
  overflow:hidden;
}
.svc{
  background:var(--olive);
  display:grid;
  grid-template-columns:60px 1fr auto;
  align-items:start;gap:20px;
  padding:24px 28px;
  transition:background .25s ease;
}
.svc:hover{background:var(--olive-mid)}
.svc__n{color:#F4D77E;padding-top:6px}
.svc h3{
  font-family:var(--f-display);
  font-weight:400;
  font-size:22px;
  margin:0 0 6px;color:var(--cream);
  line-height:1.2;
}
.svc h3 em{font-style:italic;color:#F4D77E}
.svc p{margin:0;font-size:14px;line-height:1.5;color:rgba(239,229,208,.7)}
.svc__tag{
  background:rgba(239,229,208,.18);
  color:var(--cream);
  padding:4px 10px;border-radius:4px;
  letter-spacing:.18em;
  white-space:nowrap;
  align-self:start;
}
@media (max-width:560px){.svc{grid-template-columns:1fr;gap:8px} .svc__tag{justify-self:start}}

.studio__cta{
  max-width:var(--container);
  margin:64px auto 0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;align-items:center;
  padding:32px 36px;
  background:linear-gradient(135deg, var(--royal-deep), var(--royal));
  border-radius:var(--r-soft);
  color:var(--cream);
  transition:transform .3s ease;
}
.studio__cta:hover{transform:translateY(-3px)}
.studio__cta .m{color:#F4D77E}
.studio__cta-big{
  font-family:var(--f-display);
  font-weight:300;
  font-style:italic;
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.1;
  text-align:center;
}
.studio__cta-big em{color:#F4D77E;font-weight:500}
.studio__cta-arr{
  font-family:var(--f-display);
  font-size:48px;
  color:#F4D77E;
  transition:transform .3s ease;
}
.studio__cta:hover .studio__cta-arr{transform:translateX(8px)}
@media (max-width:780px){.studio__cta{grid-template-columns:1fr;text-align:center}}

/* =================================================
   WORKS
   ================================================= */
.works{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
}
.works__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}

.work{
  display:grid;
  grid-template-columns:80px 1.5fr 1fr 100px auto;
  align-items:start;gap:32px;
  padding:32px 0;
  border-top:1px solid var(--paper-line);
  position:relative;
  transition:padding-left .35s ease, background .35s ease;
}
.work:last-child{border-bottom:1px solid var(--paper-line)}
.work::before{
  content:"";
  position:absolute;left:-20px;top:50%;
  width:8px;height:8px;
  background:var(--royal);
  border-radius:50%;
  transform:translateY(-50%) scale(0);
  transition:transform .3s ease;
}
.work:hover{padding-left:24px;background:linear-gradient(to right, var(--cream-2), transparent)}
.work:hover::before{transform:translateY(-50%) scale(1)}
.work__no{color:var(--olive)}
.work__client h3{
  font-family:var(--f-display);
  font-weight:400;
  font-style:italic;
  font-size:clamp(22px, 2.4vw, 30px);
  line-height:1.2;
  margin:6px 0 0;
  color:var(--olive);
}
.work__role p{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--ink-soft)}
.work__year{color:var(--olive-mid)}
.work__tags{
  grid-column:2/4;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;
}
.work__tags .m{
  background:var(--cream-2);
  padding:4px 10px;border-radius:4px;
  color:var(--olive);
}
.work__link{
  align-self:center;
  color:var(--olive);
  border-bottom:1px solid var(--olive);
  padding-bottom:2px;
}
@media (max-width:980px){
  .work{grid-template-columns:60px 1fr;gap:14px}
  .work__role,.work__year,.work__link{grid-column:2/3}
  .work__tags{grid-column:2/3}
}
.works__note{
  text-align:center;color:var(--olive-soft);
  margin-top:32px;
}
.works__note a{color:var(--olive);border-bottom:1px solid var(--olive)}

/* =================================================
   VOICES
   ================================================= */
.voices{
  padding:var(--section-y) var(--gutter);
  background:var(--cream-2);
  border-top:1px solid var(--paper-line);
  border-bottom:1px solid var(--paper-line);
}
.voices__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  max-width:var(--container);margin:0 auto;
}
@media (max-width:780px){.voices__grid{grid-template-columns:1fr}}
.voice{
  background:var(--cream);
  border:1px solid var(--paper-line);
  border-radius:var(--r-soft);
  padding:36px 32px;
  margin:0;
  position:relative;
}
.voice__mark{
  position:absolute;
  top:-12px;left:24px;
  font-family:var(--f-display);
  font-size:110px;
  line-height:1;
  color:var(--olive);
  opacity:.18;
}
.voice blockquote{
  font-family:var(--f-display);
  font-weight:300;
  font-style:italic;
  font-size:clamp(20px, 2vw, 26px);
  line-height:1.4;
  color:var(--olive);
  margin:0 0 22px;letter-spacing:-.01em;
}
.voice blockquote em{color:var(--royal-deep);font-weight:500}
.voice figcaption{display:flex;flex-direction:column;gap:4px}
.voice figcaption .m:first-child{color:var(--olive)}
.voices__note{text-align:center;color:var(--olive-soft);margin-top:24px;max-width:var(--container);margin-left:auto;margin-right:auto}

/* =================================================
   RECOGNITION
   ================================================= */
.recog{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
}
.recog__grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:64px;
  align-items:center;
}
@media (max-width:880px){.recog__grid{grid-template-columns:1fr}}
.recog__bar{display:block;margin-bottom:18px;color:var(--olive)}
.recog__title{
  font-family:var(--f-display);
  font-weight:300;
  font-size:clamp(48px, 7vw, 96px);
  line-height:.95;letter-spacing:-.035em;
  color:var(--olive);
  margin:0 0 24px;
}
.recog__title em{font-style:italic;color:var(--royal-deep);font-weight:500}
.recog__lede{font-size:18px;line-height:1.55;color:var(--ink-soft);margin:0 0 28px}
.recog__lede strong{color:var(--olive-dark)}
.recog__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.recog__list li{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:18px;align-items:baseline;
  padding:14px 0;
  border-top:1px solid var(--paper-line);
  font-family:var(--f-display);
  font-size:18px;color:var(--olive);
}
.recog__list li:last-child{border-bottom:1px solid var(--paper-line)}

.recog__plate{margin:0;position:relative}
.recog__plate img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:var(--r-soft);
  box-shadow:var(--paper-shadow);
}
.recog__plate figcaption{
  position:absolute;left:16px;bottom:16px;
  background:var(--cream);
  color:var(--olive);
  padding:6px 12px;border-radius:4px;
}

/* =================================================
   ACADEMY
   ================================================= */
.academy{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
}
.academy__grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:48px;
}
@media (max-width:880px){.academy__grid{grid-template-columns:1fr}}
.ed{width:100%;border-collapse:collapse}
.ed thead th{
  text-align:left;
  padding:12px 16px;
  background:var(--olive);
  color:var(--cream);
  font-family:var(--f-mono);
  font-size:10px;letter-spacing:.16em;
}
.ed tbody td{
  padding:18px 16px;
  border-bottom:1px solid var(--paper-line);
  color:var(--ink);
  font-family:var(--f-display);
  font-size:18px;font-style:normal;
  vertical-align:top;
}
.ed tbody td.m{color:var(--olive-soft);font-style:normal}

.certs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.certs li{
  display:grid;grid-template-columns:60px 1fr;
  align-items:baseline;gap:14px;
  padding:12px 16px;
  background:var(--cream-2);
  border-radius:8px;
  font-family:var(--f-display);
  font-size:16px;
  color:var(--olive);
}

/* =================================================
   BILINGUAL
   ================================================= */
.bi{
  padding:var(--section-y) var(--gutter);
  background:linear-gradient(135deg, var(--royal-deep), var(--royal));
  color:var(--cream);
  position:relative;overflow:hidden;
}
.bi::before{
  content:"";
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><g fill='none' stroke='%23F4D77E' stroke-width='.7' opacity='.18'><polygon points='40,4 47,33 76,40 47,47 40,76 33,47 4,40 33,33'/></g></svg>");
  opacity:.5;
}
.bi__bar{position:relative;z-index:1;color:#F4D77E;text-align:center;margin-bottom:32px}
.bi__bar .m{color:#F4D77E}
.bi__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  max-width:var(--container);margin:0 auto;
  position:relative;z-index:1;
}
@media (max-width:780px){.bi__grid{grid-template-columns:1fr}}
.bi__col{
  background:rgba(239,229,208,.06);
  border:1px solid rgba(239,229,208,.2);
  border-radius:var(--r-soft);
  padding:36px;
  backdrop-filter:blur(6px);
}
.bi__lbl{display:block;color:#F4D77E;margin-bottom:16px}
.bi__col p{
  font-family:var(--f-display);
  font-weight:300;
  font-size:clamp(20px, 2.2vw, 30px);
  line-height:1.4;
  color:var(--cream);
  margin:0 0 16px;
}
.bi__col em{color:#F4D77E;font-style:italic}
.bi__col--fa p{font-family:var(--f-fa);line-height:2;font-weight:400;font-size:clamp(18px, 1.8vw, 24px)}
.bi__sig{display:block;color:#F4D77E}

/* =================================================
   ARCHIVE / GALLERY
   ================================================= */
.archive{
  padding:var(--section-y) var(--gutter);
  max-width:var(--container);
  margin:0 auto;
}
.gal{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:200px;
  gap:14px;
}
@media (max-width:980px){.gal{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}}
.g{
  position:relative;
  overflow:hidden;
  border-radius:8px;
  background:var(--cream-2);
  isolation:isolate;
  cursor:pointer;
}
.g--xl{grid-row:span 2;grid-column:span 2}
.g--tall{grid-row:span 2}
.g--wide{grid-column:span 2}
@media (max-width:680px){
  .g--xl,.g--tall{grid-row:span 1;grid-column:span 2}
  .g--wide{grid-column:span 2}
}
.g img{
  width:100%;height:100%;object-fit:cover;
  filter:contrast(1.05) saturate(.95);
  transition:transform 1.2s cubic-bezier(.2,.6,.2,1), filter .4s ease;
}
.g:hover img{transform:scale(1.06);filter:contrast(1.08) saturate(1.05)}
.g__cap{
  position:absolute;left:10px;bottom:10px;right:10px;
  display:flex;justify-content:space-between;align-items:end;gap:8px;
  background:rgba(239,229,208,.92);
  color:var(--olive);
  padding:6px 10px;border-radius:4px;
  opacity:0;transform:translateY(8px);
  transition:opacity .3s ease, transform .3s ease;
  backdrop-filter:blur(6px);
}
.g:hover .g__cap{opacity:1;transform:translateY(0)}

/* Lightbox */
.lb{
  position:fixed;inset:0;z-index:2000;
  background:rgba(20,18,8,.94);
  backdrop-filter:blur(8px);
  visibility:hidden;opacity:0;
  display:flex;align-items:center;justify-content:center;
  padding:48px;
  transition:opacity .3s ease, visibility .3s ease;
}
.lb.is-open{visibility:visible;opacity:1}
.lb__bar{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center}
.lb__bar .m{color:var(--cream)}
.lb__close{color:var(--cream)}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);color:var(--cream);padding:14px}
.lb__nav--prev{left:24px}
.lb__nav--next{right:24px}
.lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:90vw;max-height:80vh}
.lb__fig img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}
.lb__fig figcaption{color:var(--cream)}

/* =================================================
   CONTACT
   ================================================= */
.contact{
  padding:var(--section-y) var(--gutter);
  background:linear-gradient(180deg, var(--cream-2), var(--cream));
  border-top:1px solid var(--paper-line);
}
.contact__bar{
  display:flex;justify-content:space-between;
  max-width:var(--container);margin:0 auto 32px;
  padding-bottom:14px;
  border-bottom:1px solid var(--paper-line);
  flex-wrap:wrap;gap:14px;
}
.contact__title{
  font-family:var(--f-display);
  font-weight:300;
  font-size:clamp(72px, 14vw, 220px);
  line-height:.85;letter-spacing:-.045em;
  color:var(--olive);
  margin:0 auto 56px;
  max-width:var(--container);
  display:flex;align-items:baseline;gap:.2em;flex-wrap:wrap;
}
.contact__title em{font-style:italic;color:var(--royal-deep);font-weight:400}

.contact__grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:48px;
  max-width:var(--container);margin:0 auto;
}
@media (max-width:980px){.contact__grid{grid-template-columns:1fr}}

/* Form */
.brief{
  background:var(--cream);
  border:1px solid var(--paper-line);
  border-radius:var(--r-soft);
  padding:36px;
  display:flex;flex-direction:column;gap:20px;
  position:relative;
}
.brief::before{
  content:"";
  position:absolute;top:-1px;left:-1px;right:-1px;
  height:6px;
  background:linear-gradient(to right, var(--olive), var(--olive-mid), var(--olive));
  border-radius:var(--r-soft) var(--r-soft) 0 0;
}
.brief__head{
  display:flex;justify-content:space-between;
  padding-top:8px;
  margin-bottom:8px;
}
.brief__head .m:first-child{color:var(--olive)}
.brief__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:680px){.brief__row{grid-template-columns:1fr}}

.field{display:flex;flex-direction:column;gap:8px}
.field span.m{color:var(--olive)}
.field input,.field select,.field textarea{
  font-family:var(--f-body);
  font-size:16px;
  padding:14px 16px;
  background:var(--cream-2);
  border:1px solid var(--paper-line);
  border-radius:8px;
  color:var(--ink);
  transition:border-color .25s ease, background .25s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;
  border-color:var(--olive);
  background:#fff;
}
.field textarea{resize:vertical;min-height:140px;font-family:var(--f-body)}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{
  display:inline-block;
  padding:8px 16px;
  border:1px solid var(--paper-line);
  border-radius:99px;
  background:var(--cream-2);
  color:var(--olive);
  font-family:var(--f-ui);
  font-size:13px;letter-spacing:.05em;
  transition:all .2s ease;
}
.chips label:hover span{border-color:var(--olive)}
.chips input:checked + span{background:var(--olive);color:var(--cream);border-color:var(--olive)}

.brief__foot{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;margin-top:8px;
  padding-top:18px;
  border-top:1px solid var(--paper-line);
}
.brief__legal{color:var(--olive-soft);max-width:340px;line-height:1.5}

/* Contact cards */
.contact__cards{display:flex;flex-direction:column;gap:12px}
.cc{
  display:flex;flex-direction:column;gap:6px;
  padding:20px 22px;
  background:var(--cream);
  border:1px solid var(--paper-line);
  border-radius:var(--r-soft);
  transition:transform .25s ease, border-color .25s ease;
  position:relative;overflow:hidden;
  isolation:isolate;
}
.cc::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;
  width:4px;
  background:var(--olive);
  transform:scaleY(0);transform-origin:top;
  transition:transform .35s ease;
}
.cc:hover{transform:translateX(4px);border-color:var(--olive)}
.cc:hover::before{transform:scaleY(1)}
.cc .m:first-child{color:var(--olive)}
.cc__v{
  font-family:var(--f-display);
  font-style:italic;font-weight:400;
  font-size:22px;
  color:var(--olive);
  word-break:break-word;
  line-height:1.2;
}
.cc--info{cursor:default}

/* Toast */
.toast{
  position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(140%);
  background:var(--olive);
  color:var(--cream);
  padding:12px 20px;border-radius:8px;
  z-index:5000;
  letter-spacing:.14em;
  transition:transform .35s cubic-bezier(.2,.6,.2,1);
  box-shadow:0 18px 40px -10px rgba(62,75,25,.5);
}
.toast.is-shown{transform:translateX(-50%) translateY(0)}

/* =================================================
   FOOTER
   ================================================= */
.foot{
  padding:64px var(--gutter) 0;
  background:var(--cream);
  position:relative;overflow:hidden;
}
.foot__rule{
  height:1px;
  background:linear-gradient(to right, transparent, var(--olive), transparent);
  margin-bottom:32px;
}
.foot__grid{
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:32px;
  max-width:var(--container);margin:0 auto;
  align-items:center;
}
@media (max-width:780px){.foot__grid{grid-template-columns:1fr;text-align:center}}
.foot__cell p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.foot__cell p em{color:var(--olive);font-style:italic}
.foot__cell--c{justify-self:center}
.foot__cell--r{text-align:right}
@media (max-width:780px){.foot__cell--r{text-align:center}}
.foot__sig{width:60px;height:60px;color:var(--royal);animation:slowSpin 60s linear infinite}

.foot__bigwrap{
  margin:48px calc(var(--gutter) * -1) 0;
  overflow:hidden;
  border-top:1px solid var(--paper-line);
  position:relative;
}
.foot__big{
  font-family:var(--f-display);
  font-weight:300;font-style:italic;
  font-size:clamp(120px, 28vw, 460px);
  line-height:.9;
  color:var(--olive);
  letter-spacing:-.04em;
  text-align:center;
  display:flex;align-items:center;justify-content:center;gap:.06em;
  padding:24px 0;
  white-space:nowrap;
}
.foot__big span{
  color:var(--royal);
  font-size:.4em;
  font-style:normal;
}

/* =================================================
   REVEAL ANIMATIONS
   ================================================= */
[data-reveal]{
  opacity:0;transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.2,.6,.2,1), transform .8s cubic-bezier(.2,.6,.2,1);
}
[data-reveal].is-in{opacity:1;transform:none}

/* =================================================
   REDUCED MOTION
   ================================================= */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .ch{transform:none!important}
  .scroll-cue__arr{animation:none!important}
}

/* =================================================
   DRAWER OPEN STATE (body)
   ================================================= */
body.menu-open{overflow:hidden}
