/* =========================================================
   ANNAM — Modern Indian Cafe · Temple Bar, Dublin
   Luxury single-page build. GSAP + Lenis. WP-convertible.
   ========================================================= */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Cinzel";src:url("../fonts/cinzel-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cinzel";src:url("../fonts/cinzel-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cinzel";src:url("../fonts/cinzel-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cinzel";src:url("../fonts/cinzel-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("../fonts/satoshi-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("../fonts/satoshi-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("../fonts/satoshi-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("../fonts/satoshi-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Satoshi";src:url("../fonts/satoshi-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --ink:#1A1512;          /* warm near-black */
  --ink-2:#241B15;
  --cream:#F5EFE1;        /* warm ivory */
  --cream-2:#EBE0CB;
  --maroon:#843A22;       /* brand (from logo) */
  --maroon-2:#672A17;
  --terra:#9C4B2E;        /* terracotta section bg */
  --terra-deep:#5E2C1A;   /* deep terracotta (footer) */
  --gold:#C0894A;
  --gold-2:#A9762F;
  --sand:#B9A88C;
  --ink-70:rgba(26,21,18,.70);
  --ink-45:rgba(26,21,18,.45);
  --ink-line:rgba(26,21,18,.16);
  --cream-70:rgba(245,239,225,.72);
  --cream-40:rgba(245,239,225,.40);
  --cream-line:rgba(245,239,225,.20);
  --serif:"Cinzel",Georgia,serif;
  --sans:"Satoshi",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --pad:clamp(1.25rem,5vw,6rem);
  --maxw:1360px;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
::selection{background:var(--maroon);color:var(--cream)}

/* ---------- Layout helpers ---------- */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.section{padding-block:clamp(4.5rem,11vw,10rem);position:relative}
.section--dark{padding-block:clamp(4.5rem,11vw,10rem);position:relative;overflow:hidden;background:var(--terra);color:var(--cream)}
.section--dark::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("../img/pattern.webp") repeat;background-size:clamp(420px,42vw,700px);
  filter:brightness(0) invert(1);opacity:.85}
.section--dark > *{position:relative;z-index:1}
.section--dark ::selection{background:var(--gold);color:var(--ink)}

/* ---------- Type ---------- */
.h-display{
  font-family:var(--serif);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.012em;
  line-height:1.1;
  font-size:clamp(1.55rem,3.8vw,3.35rem);
}
.eyebrow{
  display:inline-block;
  font-family:var(--sans);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:.72rem;
  color:var(--maroon);
  margin-bottom:1.4rem;
  padding-left:.32em;
}
.eyebrow--gold{color:var(--gold)}
.lede{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.7}
em{font-style:italic;color:var(--maroon)}
.section--dark em{color:var(--gold)}
strong{font-weight:700}

/* ---------- Buttons ---------- */
.btn-solid,.btn-ghost{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--sans);font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;
  padding:1.05em 2.1em;border-radius:2em;
  transition:all .5s var(--ease);white-space:nowrap;
}
.btn-solid{background:var(--maroon);color:var(--cream)}
.btn-solid:hover{background:var(--maroon-2);transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--ink-line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--maroon);color:var(--maroon)}
.section--dark .btn-ghost,.btn-ghost--gold{border-color:var(--cream-line);color:var(--cream)}
.btn-ghost--gold:hover{border-color:var(--gold);color:var(--gold)}

/* =========================================================
   PRELOADER
   ========================================================= */
.preloader{display:none}
html.anim .preloader{
  display:flex;align-items:center;justify-content:center;
  position:fixed;inset:0;z-index:1000;background:var(--cream);
  overflow:hidden;
}
.preloader__haze{
  position:absolute;inset:-30%;
  background:
    radial-gradient(40% 40% at 30% 35%,rgba(192,137,74,.28),transparent 70%),
    radial-gradient(45% 45% at 72% 68%,rgba(132,58,34,.22),transparent 70%);
  filter:blur(20px);
  animation:hazeDrift 8s ease-in-out infinite alternate;
}
@keyframes hazeDrift{from{transform:translate3d(-2%,-1%,0) scale(1.05)}to{transform:translate3d(3%,2%,0) scale(1.15)}}
.preloader__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.preloader__logo{width:clamp(150px,20vw,210px);height:auto;opacity:0}
.preloader__tag{
  font-family:var(--sans);font-weight:600;text-transform:uppercase;
  letter-spacing:.42em;font-size:.66rem;color:var(--maroon);
  opacity:0;padding-left:.42em;
}
.preloader__bar{width:min(220px,50vw);height:1px;background:var(--ink-line);overflow:hidden}
.preloader__fill{display:block;height:100%;width:0;background:var(--maroon)}

/* =========================================================
   CUSTOM CURSOR
   ========================================================= */
.cursor{position:fixed;top:0;left:0;z-index:1200;pointer-events:none;
  transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:0;transition:opacity .3s}
.cursor__dot{display:block;width:34px;height:34px;border:1px solid #fff;border-radius:50%;
  transition:width .35s var(--ease),height .35s var(--ease),background .35s}
.cursor.is-hover .cursor__dot{width:56px;height:56px;background:rgba(255,255,255,.12)}
@media (hover:none){.cursor{display:none}}

/* =========================================================
   HEADER
   ========================================================= */
.header{position:fixed;top:0;left:0;width:100%;z-index:900;
  transition:background .5s var(--ease),box-shadow .5s var(--ease),padding .5s var(--ease);
  padding-block:clamp(.7rem,1.6vw,1.15rem)}
.header__inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}
.header__logo{justify-self:center;position:relative;display:block;line-height:0}
.header__logo-img{height:clamp(46px,5vw,64px);width:auto;transition:opacity .5s var(--ease)}
.header__logo-img--dark{position:absolute;inset:0;opacity:0}
.header__order{justify-self:start}
.header__toggle{justify-self:end;display:flex;flex-direction:column;gap:6px;
  width:40px;height:40px;align-items:center;justify-content:center}
.header__toggle span{display:block;width:26px;height:1.5px;background:var(--cream);
  transition:transform .4s var(--ease),background .4s,opacity .3s}
/* solid state (scrolled) */
.header.is-solid{background:var(--cream);box-shadow:0 1px 0 var(--ink-line)}
.header.is-solid .header__logo-img--light{opacity:0}
.header.is-solid .header__logo-img--dark{opacity:1}
.header.is-solid .header__order{color:var(--ink);border-color:var(--ink-line)}
.header.is-solid .header__toggle span{background:var(--ink)}
/* header order btn baseline (over hero) */
.header__order{border:1px solid var(--cream-line);color:var(--cream);
  border-radius:2em;padding:.7em 1.4em;font-family:var(--sans);font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;transition:all .5s var(--ease)}
.header__order:hover{background:var(--cream);color:var(--ink)}
.header.is-solid .header__order:hover{background:var(--maroon);color:var(--cream);border-color:var(--maroon)}
/* toggle open */
body.nav-open .header__toggle span{background:var(--cream)}
body.nav-open .header__toggle span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
body.nav-open .header__toggle span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}

/* =========================================================
   NAV OVERLAY
   ========================================================= */
.navmenu{position:fixed;inset:0;z-index:850;visibility:hidden;pointer-events:none}
.navmenu__bg{position:absolute;inset:0;background:var(--ink);
  clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease)}
body.nav-open .navmenu{visibility:visible;pointer-events:auto}
body.nav-open .navmenu__bg{clip-path:inset(0 0 0% 0)}
.navmenu__grid{position:relative;height:100%;max-width:var(--maxw);margin:0 auto;
  padding:clamp(6rem,12vh,9rem) var(--pad) clamp(2rem,5vh,4rem);
  display:grid;grid-template-columns:1.3fr .9fr;gap:2rem;align-items:center}
.navmenu__links{display:flex;flex-direction:column;gap:clamp(.1rem,1vw,.6rem)}
.navmenu__links a{font-family:var(--serif);font-weight:600;text-transform:uppercase;
  letter-spacing:.02em;color:var(--cream);font-size:clamp(2rem,6vw,4.6rem);line-height:1.1;
  display:flex;align-items:baseline;gap:1rem;opacity:0;transform:translateY(40px);
  transition:color .4s}
.navmenu__links a:hover{color:var(--gold)}
.navmenu__idx{font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.1em;
  color:var(--gold);opacity:.7}
.navmenu__aside{display:flex;flex-direction:column;gap:1.6rem;align-self:center;
  border-left:1px solid var(--cream-line);padding-left:clamp(1.5rem,4vw,3rem)}
.navmenu__mark{width:74px;height:auto;opacity:.9;margin-bottom:.5rem}
.navmenu__label{display:block;font-weight:600;text-transform:uppercase;letter-spacing:.28em;
  font-size:.62rem;color:var(--gold);margin-bottom:.5rem}
.navmenu__block p{color:var(--cream-70);font-size:.95rem;line-height:1.7}
.navmenu__block a:hover{color:var(--gold)}
.navmenu__social{font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--cream)}
.navmenu__social:hover{color:var(--gold)}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;height:100svh;min-height:600px;display:flex;
  align-items:center;justify-content:center;overflow:hidden;background:var(--ink)}
.hero__media{position:absolute;inset:0;z-index:0;background:var(--ink)}
.hero__video{width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(20,17,14,.55) 0%,rgba(20,17,14,.18) 28%,rgba(20,17,14,.25) 60%,rgba(20,17,14,.72) 100%),
    radial-gradient(70% 60% at 50% 45%,transparent 40%,rgba(20,17,14,.45) 100%)}
.hero__center{position:relative;z-index:2;text-align:center;padding-inline:1.5rem;
  display:flex;flex-direction:column;align-items:center}
.hero__logo{width:clamp(180px,26vw,300px);height:auto;
  filter:drop-shadow(0 18px 50px rgba(0,0,0,.45))}
.hero__scripts{margin-top:1.6rem;color:var(--gold);font-weight:500;
  letter-spacing:.12em;font-size:clamp(.85rem,1.6vw,1.15rem)}
.hero__tag{margin-top:1rem;max-width:34ch;color:var(--cream-70);
  font-size:clamp(.95rem,1.5vw,1.15rem);line-height:1.6}
.hero__side{position:absolute;top:50%;z-index:2;color:var(--cream-40);
  font-weight:600;text-transform:uppercase;letter-spacing:.4em;font-size:.66rem;
  writing-mode:vertical-rl}
.hero__side--l{left:clamp(1rem,3vw,2.5rem);transform:translateY(-50%) rotate(180deg)}
.hero__side--r{right:clamp(1rem,3vw,2.5rem);transform:translateY(-50%)}
.hero__scroll{position:absolute;bottom:clamp(1.4rem,4vh,2.6rem);left:50%;transform:translateX(-50%);
  z-index:2;display:flex;flex-direction:column;align-items:center;gap:.7rem;color:var(--cream-70)}
.hero__scroll-line{width:1px;height:46px;background:linear-gradient(var(--cream),transparent);position:relative;overflow:hidden}
.hero__scroll-line::after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;
  background:var(--gold);animation:scrollPulse 2.2s var(--ease) infinite}
@keyframes scrollPulse{0%{transform:translateY(-100%)}60%,100%{transform:translateY(260%)}}
.hero__scroll-word{font-weight:600;text-transform:uppercase;letter-spacing:.3em;font-size:.6rem}
@media (max-width:640px){.hero__side{display:none}}

/* =========================================================
   DRIFT WORDS
   ========================================================= */
.drift{position:absolute;font-family:var(--serif);font-weight:700;text-transform:uppercase;
  pointer-events:none;z-index:0;white-space:nowrap;line-height:1}
.drift--about{top:6%;right:-2%;font-size:clamp(4rem,16vw,15rem);color:rgba(132,58,34,.06)}
.drift--sig{bottom:4%;left:-2%;font-size:clamp(4rem,16vw,15rem);color:rgba(192,137,74,.07)}

/* ---------- Reveal defaults (progressive enhancement) ---------- */
html.anim .reveal-up{opacity:0;transform:translateY(30px)}
.reveal-chars .word{display:inline-block;white-space:nowrap}
.reveal-chars .char{display:inline-block;will-change:transform,opacity}
html.anim .reveal-chars .char{opacity:0;transform:translateY(.7em)}

/* =========================================================
   ABOUT
   ========================================================= */
.about{background:var(--cream);overflow:hidden}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:end}
.about__body p{margin-bottom:1.2rem;color:var(--ink-70)}
.about__body p:last-child{margin-bottom:0}
.signoff{font-family:var(--serif);text-transform:uppercase;letter-spacing:.04em;
  font-size:clamp(1rem,1.6vw,1.35rem);color:var(--maroon)!important;line-height:1.5;margin-top:1.8rem!important}
.signoff span{color:var(--gold)}
.about__figures{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(1rem,3vw,2rem);
  margin-top:clamp(3rem,7vw,6rem)}
.about__fig{border-radius:2px;overflow:hidden}
.about__fig--tall{margin-top:clamp(2rem,6vw,5rem)}
.parallax-wrap{overflow:hidden;position:relative}
.parallax-wrap img,[data-parallax]{width:100%;height:100%;object-fit:cover;
  transform:scale(1.12);will-change:transform}
.about__fig img{aspect-ratio:4/5}
.about__fig--tall img{aspect-ratio:3/4}

/* =========================================================
   PILLARS
   ========================================================= */
.pillars{background:var(--cream-2)}
.pillars__head{max-width:720px;margin-bottom:clamp(2.5rem,6vw,5rem)}
.pillars__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,3.5rem)}
.pillar{border-top:1px solid var(--ink-line);padding-top:1.8rem}
.pillar__no{font-family:var(--serif);font-size:1rem;color:var(--gold-2);letter-spacing:.1em}
.pillar h3{font-family:var(--serif);font-weight:600;text-transform:uppercase;letter-spacing:.03em;
  font-size:clamp(1.15rem,2vw,1.6rem);margin:1rem 0 .9rem;color:var(--maroon)}
.pillar p{color:var(--ink-70);font-size:.98rem}

/* =========================================================
   SIGNATURES (dark)
   ========================================================= */
.sig{overflow:hidden}
.sig__head{max-width:760px;margin-bottom:clamp(2.2rem,5vw,3.6rem)}
.sig__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.6vw,2.4rem) clamp(1.2rem,2.2vw,1.8rem)}
.sig__card{display:flex;flex-direction:column}
.sig__img{border-radius:2px;overflow:hidden;aspect-ratio:4/5}
.sig__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.sig__card:hover .sig__img img{transform:scale(1.05)}
.sig__card figcaption{padding-top:1rem}
.sig__row{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;
  border-bottom:1px solid var(--cream-line);padding-bottom:.6rem}
.sig__row h3{font-family:var(--serif);font-weight:600;text-transform:uppercase;
  letter-spacing:.015em;font-size:clamp(.98rem,1.35vw,1.25rem)}
.sig__price{font-family:var(--sans);font-weight:500;color:var(--gold);white-space:nowrap;font-size:.9rem}
.sig__card p{color:var(--cream-70);font-size:.88rem;margin-top:.6rem;line-height:1.55}

/* =========================================================
   MENU
   ========================================================= */
.menu{background:var(--cream)}
.menu__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem)}
.menu__intro{position:sticky;top:clamp(90px,12vh,140px);align-self:start}
.menu__intro p{color:var(--ink-70);margin:1.4rem 0 2rem;max-width:38ch}
.menu__note{font-size:.8rem;color:var(--ink-45);margin-top:1.4rem!important}
.menu__lists{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.8rem,4vw,3.2rem)}
.menu__cat h4{font-family:var(--serif);font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  font-size:1rem;color:var(--maroon);padding-bottom:1rem;margin-bottom:1rem;
  border-bottom:1px solid var(--ink-line)}
.menu__cat ul{list-style:none;display:flex;flex-direction:column;gap:1rem}
.menu__cat li{display:flex;align-items:baseline;gap:.5rem;font-size:.98rem}
.menu__cat li i{flex:1;border-bottom:1px dotted var(--ink-line);transform:translateY(-3px)}
.menu__cat li span:last-child{color:var(--maroon);font-weight:500;white-space:nowrap}
@media(max-width:560px){.menu__lists{grid-template-columns:1fr}}

/* =========================================================
   GALLERY (dark, horizontal strip)
   ========================================================= */
.gallery{overflow:hidden}
.gallery__head{margin-bottom:clamp(2rem,5vw,3.5rem)}
.gallery__strip{display:flex;gap:clamp(.8rem,1.5vw,1.4rem);padding-inline:var(--pad);
  overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none}
.gallery__strip::-webkit-scrollbar{display:none}
.gallery__item{flex:0 0 auto;width:clamp(240px,30vw,420px);aspect-ratio:4/5;
  border-radius:2px;overflow:hidden;scroll-snap-align:center}
.gallery__item--tall{aspect-ratio:3/4;width:clamp(260px,26vw,380px)}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gallery__item:hover img{transform:scale(1.05)}

/* =========================================================
   REVIEWS
   ========================================================= */
.reviews{background:var(--cream-2);text-align:center}
.reviews__inner{max-width:900px;margin:0 auto;position:relative}
.reviews__mark{font-family:var(--serif);font-size:clamp(6rem,14vw,12rem);color:var(--gold);
  line-height:.6;display:block;opacity:.35;height:.5em}
.reviews__quote{font-family:var(--serif);font-weight:500;text-transform:none;
  font-size:clamp(1.3rem,3vw,2.35rem);line-height:1.4;color:var(--maroon);margin:1rem auto 2rem}
.reviews__by{font-weight:600;text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;color:var(--ink-70)}
.reviews__link{display:inline-block;margin-top:1.6rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.18em;font-size:.72rem;color:var(--gold-2);border-bottom:1px solid var(--gold-2);padding-bottom:.3rem}

/* =========================================================
   VISIT (dark)
   ========================================================= */
.visit__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,6vw,5rem);align-items:stretch}
.visit__rows{margin-top:clamp(1.8rem,4vw,2.6rem);display:flex;flex-direction:column;gap:1.6rem}
.visit__row{display:grid;grid-template-columns:120px 1fr;gap:1rem;
  border-top:1px solid var(--cream-line);padding-top:1.3rem}
.visit__label{font-weight:600;text-transform:uppercase;letter-spacing:.22em;font-size:.64rem;color:var(--gold)}
.visit__row p{color:var(--cream-70);line-height:1.7}
.visit__row a:hover{color:var(--gold)}
.visit__cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}
.visit__media{display:flex;flex-direction:column}
.visit__photo{flex:1;border-radius:2px;overflow:hidden;min-height:480px}
.visit__map{border-radius:2px;overflow:hidden;height:250px;margin-top:2rem;filter:grayscale(.3) contrast(1.05)}
.visit__map iframe{width:100%;height:100%;border:0;display:block}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--terra-deep);color:var(--cream);padding-top:clamp(3.5rem,7vw,6rem)}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem clamp(1.5rem,4vw,3rem);
  padding-bottom:clamp(2.5rem,5vw,4rem)}
.footer__logo{width:150px;height:auto;margin-bottom:1.3rem}
.footer__scripts{color:var(--gold);letter-spacing:.1em;font-size:.9rem;margin-bottom:1rem}
.footer__blessing{font-family:var(--serif);text-transform:uppercase;letter-spacing:.03em;
  font-size:.95rem;line-height:1.7;color:var(--cream-70)}
.footer__label{display:block;font-weight:600;text-transform:uppercase;letter-spacing:.24em;
  font-size:.62rem;color:var(--gold);margin-bottom:1.3rem}
.footer__col a,.footer__col p{display:block;color:var(--cream-70);font-size:.95rem;margin-bottom:.7rem;transition:color .3s}
.footer__col a:hover{color:var(--gold)}
.footer__order{color:var(--cream)!important;font-weight:600}
.footer__base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:1px solid var(--cream-line);padding-block:1.6rem;
  font-size:.74rem;color:var(--cream-40);letter-spacing:.04em}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:900px){
  .about__grid{grid-template-columns:1fr;gap:1.5rem;align-items:start}
  .pillars__grid{grid-template-columns:1fr;gap:0}
  .pillar{border-top:1px solid var(--ink-line);padding-block:1.6rem}
  .sig__grid{grid-template-columns:repeat(2,1fr)}
  .menu__grid{grid-template-columns:1fr;gap:2.5rem}
  .menu__intro{position:static}
  .visit__grid{grid-template-columns:1fr}
  .navmenu__grid{grid-template-columns:1fr}
  .navmenu__aside{border-left:none;border-top:1px solid var(--cream-line);padding-left:0;padding-top:2rem;
    flex-direction:row;flex-wrap:wrap;gap:1.5rem 2.5rem}
  .navmenu__mark{display:none}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .footer__grid{grid-template-columns:1fr}
  .sig__grid{grid-template-columns:1fr}
  .header__order{display:none}
  .visit__row{grid-template-columns:1fr;gap:.3rem}
  .about__figures{grid-template-columns:1fr}
  .about__fig--tall{margin-top:0}
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  html.anim .reveal-up,html.anim .reveal-chars .char{opacity:1!important;transform:none!important}
  *{scroll-behavior:auto!important}
}
