/* =========================================================
   ТАНЗАНИЯ · кофейня в Липецке
   Направление: саванна на закате в снежном городе
   ========================================================= */

:root{
  --night:#0E0A07;
  --ink:#140E09;
  --panel:#1A130C;
  --panel-2:#241A11;
  --gold:#FFCC18;
  --gold-soft:#F2B830;
  --amber:#E07B2E;
  --terra:#B5432A;
  --cream:#F6ECD8;
  --cream-2:#E7D9BE;
  --dim:rgba(246,236,216,.60);
  --dim-2:rgba(246,236,216,.40);
  --line:rgba(246,236,216,.12);
  --line-2:rgba(246,236,216,.07);
  --maxw:1220px;
  --pad:clamp(20px,5vw,64px);
  --r:18px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-d:"Fraunces",Georgia,serif;
  --font-b:"Hanken Grotesk",system-ui,sans-serif;
  --font-u:"Space Grotesk",monospace;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
button,a{-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--font-b);
  background:var(--night);
  color:var(--cream);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}

.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:#000;padding:10px 16px;z-index:100;border-radius:0 0 8px 0}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* ---------- Typography ---------- */
.eyebrow{
  font-family:var(--font-u);
  font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);font-weight:500;display:inline-block;
}
.eyebrow::before{content:"❋";margin-right:.7em;opacity:.7}
.eyebrow-dark{color:var(--terra)}
.h2{
  font-family:var(--font-d);
  font-weight:400;
  font-optical-sizing:auto;
  font-size:clamp(2rem,5.2vw,3.7rem);
  line-height:1.02;letter-spacing:-.015em;
  margin:.5rem 0 0;
}
.h2 em{font-style:italic;color:var(--gold)}
.h2-dark{color:#1a1206}
.h2-dark em{color:var(--terra)}
.sec-head{max-width:640px;margin-bottom:clamp(2rem,4vw,3.4rem)}
.sec-sub{color:var(--dim);margin-top:1rem;font-size:1.02rem}
.sec-sub .rate{
  font-family:var(--font-u);color:var(--gold);font-weight:700;
  font-size:1.5rem;vertical-align:-.1em;margin-right:.2em;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--font-u);font-weight:500;font-size:.92rem;
  letter-spacing:.02em;padding:.85em 1.5em;border-radius:100px;
  transition:transform .3s var(--ease),background .3s,color .3s,box-shadow .3s;
  cursor:pointer;border:1px solid transparent;white-space:nowrap;
}
.btn-gold{background:var(--gold);color:#1a1206;box-shadow:0 8px 30px -10px rgba(255,204,24,.6)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px rgba(255,204,24,.7)}
.btn-ghost{border-color:var(--line);color:var(--cream)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn .dot{width:8px;height:8px;border-radius:50%;background:#1a1206;box-shadow:0 0 0 0 rgba(26,18,6,.5);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(26,18,6,.45)}70%{box-shadow:0 0 0 7px rgba(26,18,6,0)}100%{box-shadow:0 0 0 0 rgba(26,18,6,0)}}

/* ---------- Header ---------- */
.site-head{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .4s,backdrop-filter .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
.site-head.scrolled{
  background:rgba(14,10,7,.82);backdrop-filter:blur(14px);
  border-bottom-color:var(--line-2);
}
.head-inner{display:flex;align-items:center;gap:1.5rem;height:72px}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--gold);flex-shrink:0}
.brand-mark{width:42px;height:42px;object-fit:contain;flex-shrink:0}
.brand-word{
  font-family:var(--font-d);font-size:1.3rem;color:var(--cream);
  line-height:1;display:flex;flex-direction:column;
}
.brand-word em{
  font-family:var(--font-u);font-style:normal;font-size:.52rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin-top:3px;font-weight:500;
}
.nav{display:flex;align-items:center;gap:1.7rem;margin-left:auto;font-size:.95rem}
.nav a:not(.head-cta){color:var(--dim);position:relative;transition:color .3s}
.nav a:not(.head-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1.5px;background:var(--gold);transition:width .3s var(--ease)}
.nav a:not(.head-cta):hover{color:var(--cream)}
.nav a:not(.head-cta):hover::after{width:100%}
.head-cta{margin-left:.5rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.burger span{width:24px;height:2px;background:var(--cream);transition:.3s}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding-top:72px}
.savanna{position:absolute;inset:0;z-index:0;background:
  radial-gradient(120% 90% at 72% 8%,rgba(224,123,46,.16),transparent 55%),
  linear-gradient(180deg,#0E0A07 0%,#140d08 45%,#0b0704 100%);}
.sun{
  position:absolute;top:14%;right:16%;width:min(46vw,540px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,204,24,.9) 0%,rgba(255,177,55,.55) 34%,rgba(224,123,46,.12) 60%,transparent 72%);
  filter:blur(2px);animation:sunrise 2.4s var(--ease) both;
}
@keyframes sunrise{from{transform:translateY(60px) scale(.9);opacity:0}to{transform:none;opacity:1}}
.acacia{position:absolute;bottom:0;left:0;width:100%;height:min(50vh,430px);z-index:1;opacity:.96}
.acacia path{stroke:#0b0704;stroke-width:5;fill:none;stroke-linecap:round}
.acacia g:first-child path:not(:first-child){stroke-width:6}
.grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.hero-inner{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:end;padding-bottom:clamp(3rem,7vw,6rem);padding-top:2rem}
.hero-copy{max-width:600px}
.hero-title{
  font-family:var(--font-d);font-weight:300;font-optical-sizing:auto;
  font-size:clamp(3.3rem,11vw,8rem);line-height:.9;letter-spacing:-.03em;
  margin:1.1rem 0 1.4rem;
}
.hero-title .line-1{display:block;color:var(--cream)}
.hero-title .line-2{display:block;color:var(--cream)}
.hero-title em{font-style:italic;font-weight:400;color:var(--gold)}
.hero-lead{font-size:clamp(1.02rem,1.6vw,1.22rem);color:var(--cream-2);max-width:46ch;line-height:1.6}
.hero-cta{display:flex;gap:1rem;margin:2rem 0;flex-wrap:wrap}
.hero-stats{list-style:none;display:flex;gap:clamp(1.2rem,3vw,2.6rem);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.5rem}
.hero-stats li{display:flex;flex-direction:column;gap:.25rem}
.hero-stats b{font-family:var(--font-d);font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--gold);line-height:1;font-weight:400}
.hero-stats span{font-size:.8rem;color:var(--dim);letter-spacing:.02em}
.hero-photo{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);border:1px solid var(--line);animation:fadeUp 1.2s var(--ease) .3s both}
.hero-photo img{width:100%;aspect-ratio:3/4;object-fit:cover}
.hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1.2rem .9rem;font-family:var(--font-u);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);background:linear-gradient(transparent,rgba(11,7,4,.85))}
@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.scroll-hint{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:.4rem;font-family:var(--font-u);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.scroll-hint svg{width:20px;height:20px;animation:bob 2s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ---------- Marquee ---------- */
.marquee{background:var(--gold);color:#1a1206;overflow:hidden;padding:.85rem 0;border-block:1px solid #1a1206}
.marquee-track{display:flex;align-items:center;gap:1.6rem;width:max-content;animation:scroll 34s linear infinite}
.marquee-track span{font-family:var(--font-d);font-style:italic;font-size:1.5rem;white-space:nowrap}
.marquee-track i{font-style:normal;opacity:.55;font-size:.8rem}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.sun,.hero-photo{animation:none}}

/* ---------- About ---------- */
.about{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--ink)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.about-media{position:relative;height:clamp(360px,44vw,560px)}
.am{position:absolute;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -25px rgba(0,0,0,.7)}
.am img{width:100%;height:100%;object-fit:cover}
.am-1{top:0;left:0;width:66%;height:74%;z-index:1}
.am-2{bottom:0;right:0;width:52%;height:52%;z-index:2}
.about-copy p{color:var(--cream-2);margin-top:1.2rem;max-width:46ch}
.about-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.about-tags li{font-family:var(--font-u);font-size:.78rem;letter-spacing:.04em;padding:.5em 1em;border:1px solid var(--line);border-radius:100px;color:var(--cream)}

/* ---------- Menu ---------- */
.menu{padding:clamp(4.5rem,9vw,8rem) 0;background:
  radial-gradient(90% 60% at 100% 0,rgba(181,67,42,.10),transparent 60%),var(--night)}
.menu-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.6rem}
.mtab{
  font-family:var(--font-u);font-size:.85rem;letter-spacing:.02em;
  padding:.6em 1.25em;border-radius:100px;border:1px solid var(--line);
  background:transparent;color:var(--dim);cursor:pointer;transition:.3s var(--ease);
}
.mtab:hover{color:var(--cream);border-color:var(--dim-2)}
.mtab:active{transform:scale(.95);background:var(--panel-2)}
.mtab.is-active{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:500}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,5vw,4.5rem)}
.mitem{
  display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:baseline;
  padding:1.35rem 0;border-bottom:1px solid var(--line-2);
  transition:opacity .4s,transform .4s;
}
.mitem-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.mitem h3{font-family:var(--font-d);font-weight:500;font-size:1.24rem;line-height:1.15;color:var(--cream)}
.mitem .badge{font-family:var(--font-u);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);border:1px solid rgba(181,67,42,.5);padding:.15em .5em;border-radius:4px;transform:translateY(-2px)}
.mitem .badge.hit{color:var(--gold);border-color:rgba(255,204,24,.5)}
.mitem p{grid-column:1;color:var(--dim);font-size:.92rem;line-height:1.5;margin-top:.3rem;max-width:42ch}
.mitem .price{font-family:var(--font-u);font-weight:600;font-size:1.2rem;color:var(--gold);white-space:nowrap;grid-row:1;grid-column:2}
.mitem .price s{color:var(--dim-2);font-size:.8rem;font-weight:400;margin-right:.4em}
.mitem.hide{display:none}
.menu-note{margin-top:2.6rem;color:var(--dim);font-size:.92rem}
.menu-note a{color:var(--gold);border-bottom:1px solid rgba(255,204,24,.4)}

/* ---------- Signature strip ---------- */
.signature{
  padding:clamp(4rem,8vw,7rem) 0;
  background:
    radial-gradient(120% 100% at 0 0,rgba(255,204,24,.28),transparent 55%),
    linear-gradient(120deg,var(--gold) 0%,var(--gold-soft) 42%,var(--amber) 100%);
  color:#1a1206;position:relative;overflow:hidden;
}
.signature::after{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sig-inner{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.sig-cards{display:grid;grid-template-columns:1fr;gap:1rem}
.sig-card{background:rgba(26,18,6,.06);border:1px solid rgba(26,18,6,.18);border-radius:14px;padding:1.4rem 1.6rem;position:relative;transition:transform .35s var(--ease),background .35s}
.sig-card:hover{transform:translateX(8px);background:rgba(26,18,6,.11)}
.sig-price{position:absolute;top:1.3rem;right:1.6rem;font-family:var(--font-u);font-weight:700;font-size:1.15rem}
.sig-card h3{font-family:var(--font-d);font-weight:600;font-size:1.4rem;padding-right:4rem}
.sig-card p{font-size:.92rem;margin-top:.4rem;max-width:52ch;opacity:.82}
@media (min-width:760px){.sig-cards{grid-template-columns:1fr}}

/* ---------- Gallery ---------- */
.gallery{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--ink)}
.grid-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px}
.g{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.g:hover img{transform:scale(1.06)}
.g figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.8rem .9rem .75rem;font-family:var(--font-u);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cream);background:linear-gradient(transparent,rgba(11,7,4,.9));opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.g:hover figcaption,.g:focus-within figcaption{opacity:1;transform:none}
.g-tall{grid-row:span 2}
.g-wide{grid-column:span 2}

/* ---------- Features ---------- */
.features{padding:clamp(4rem,8vw,7rem) 0;background:var(--night)}
.feat-title{max-width:16ch;margin-bottom:2.6rem}
.feat-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden}
.feat-list li{background:var(--ink);padding:2rem 1.7rem;display:flex;flex-direction:column;gap:.35rem;transition:background .35s}
.feat-list li:hover{background:var(--panel)}
.feat-list .fi{font-size:1.7rem;margin-bottom:.4rem}
.feat-list b{font-family:var(--font-d);font-weight:500;font-size:1.22rem;color:var(--cream)}
.feat-list i{font-style:normal;color:var(--dim);font-size:.9rem}

/* ---------- Reviews ---------- */
.reviews{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--ink)}
.rev-grid{columns:3;column-gap:1.4rem}
.rev{break-inside:avoid;margin-bottom:1.4rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.7rem}
.rev .stars{color:var(--gold);letter-spacing:.15em;font-size:.9rem;margin-bottom:.9rem}
.rev p{font-family:var(--font-d);font-size:1.08rem;line-height:1.45;color:var(--cream);font-weight:400}
.rev footer{margin-top:1.1rem;display:flex;flex-direction:column;gap:.1rem}
.rev footer b{font-size:.98rem}
.rev footer span{font-family:var(--font-u);font-size:.72rem;letter-spacing:.03em;color:var(--dim)}
.rev-sm p{font-size:1rem}

/* ---------- Visit ---------- */
.visit{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--night)}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.visit-list{margin:2rem 0;border-top:1px solid var(--line)}
.visit-list>div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line-2)}
.visit-list dt{font-family:var(--font-u);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding-top:.2rem}
.visit-list dd{color:var(--cream);font-size:1.05rem}
.visit-list dd span{display:block;color:var(--dim);font-size:.88rem;margin-top:.3rem}
.visit-list dd a{border-bottom:1px solid rgba(255,204,24,.35)}
.visit-list dd a:hover{color:var(--gold)}
.visit-cta{display:flex;gap:1rem;flex-wrap:wrap}
.visit-photo{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 80px -35px rgba(0,0,0,.8)}
/* live hours status */
.hours-badge{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-u);font-size:.82rem;font-weight:500;padding:.32em .8em;border-radius:100px;border:1px solid var(--line);color:var(--dim)}
.hours-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--neutral)}
.hours-badge.is-open{color:#7ee0a6;border-color:rgba(0,184,101,.4)}
.hours-badge.is-open::before{background:var(--success);box-shadow:0 0 0 0 rgba(0,184,101,.5);animation:pulse-g 2s infinite}
.hours-badge.is-closed{color:#e6a08a;border-color:rgba(181,67,42,.4)}
.hours-badge.is-closed::before{background:var(--terra)}
@keyframes pulse-g{0%{box-shadow:0 0 0 0 rgba(0,184,101,.5)}70%{box-shadow:0 0 0 6px rgba(0,184,101,0)}100%{box-shadow:0 0 0 0 rgba(0,184,101,0)}}
.hours-days{display:block;color:var(--dim);font-size:.88rem;margin-top:.45rem}
/* MAX messenger button */
.btn-max{background:linear-gradient(135deg,#2A8BFF 0%,#6E5BFF 100%);color:#fff;border-color:transparent}
.btn-max:hover{filter:brightness(1.08);transform:translateY(-2px)}
.btn-max svg{margin-right:-.1em}
/* map */
.visit-map{margin-top:clamp(2rem,4vw,3.2rem);height:clamp(300px,42vw,440px);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);position:relative}
.visit-map iframe{position:absolute;inset:0;width:100%;height:100%;filter:grayscale(.25) contrast(1.05)}
/* floating call button (mobile) */
.fab{position:fixed;right:16px;bottom:16px;z-index:45;display:none;align-items:center;gap:.5em;background:var(--gold);color:#1a1206;font-family:var(--font-u);font-weight:600;font-size:.9rem;padding:.85em 1.15em;border-radius:100px;box-shadow:0 12px 34px -8px rgba(255,204,24,.55);transform:translateY(120px);transition:transform .4s var(--ease)}
.fab svg{width:20px;height:20px}
.fab.show{transform:none}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;background:rgba(6,4,3,.94);padding:24px;opacity:0;transition:opacity .3s var(--ease)}
.lightbox.open{display:flex;opacity:1}
.lightbox img{max-width:96vw;max-height:90vh;border-radius:12px;box-shadow:0 40px 100px -20px rgba(0,0,0,.9)}
.lightbox-close{position:absolute;top:18px;right:22px;background:none;border:0;color:var(--cream);font-size:2rem;line-height:1;cursor:pointer;opacity:.8;transition:opacity .2s}
.lightbox-close:hover{opacity:1}
.g{cursor:zoom-in}
.visit-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* ---------- Footer ---------- */
.site-foot{background:var(--ink);position:relative;padding-top:90px}
.foot-horizon{position:absolute;top:0;left:0;width:100%;height:90px;color:var(--night);transform:translateY(-1px)}
.foot-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;padding-block:2.5rem;border-bottom:1px solid var(--line-2)}
.foot-brand{display:flex;align-items:center;gap:.7rem;color:var(--gold)}
.foot-logo{width:170px;max-width:48vw;height:auto;display:block}
.foot-brand .brand-word{font-family:var(--font-d);font-size:1.3rem;color:var(--cream);display:flex;flex-direction:column;line-height:1}
.foot-brand .brand-word em{font-family:var(--font-u);font-style:normal;font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.foot-nav{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;justify-content:center;font-size:.92rem}
.foot-nav a{color:var(--dim);transition:color .3s}
.foot-nav a:hover{color:var(--gold)}
.foot-contact{display:flex;flex-direction:column;text-align:right;gap:.2rem}
.foot-contact a{font-family:var(--font-u);font-size:1.05rem;color:var(--cream)}
.foot-contact span{font-size:.82rem;color:var(--dim)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:1.5rem;font-size:.8rem;color:var(--dim);flex-wrap:wrap;gap:.5rem}
.foot-made{font-family:var(--font-u);letter-spacing:.1em;color:var(--gold)}

/* ---------- Reveal animation ---------- */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* ========== Responsive ========== */
@media (max-width:960px){
  .nav{display:none}
  .burger{display:flex}
  .site-head.nav-open{background:rgba(14,10,7,.98);backdrop-filter:blur(16px)}
  .site-head.nav-open .nav{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--pad) 1.6rem;background:var(--night);border-bottom:1px solid var(--line);box-shadow:0 30px 60px -20px rgba(0,0,0,.85)}
  .site-head.nav-open .nav a:not(.head-cta){padding:1rem 0;border-bottom:1px solid var(--line-2);font-size:1.1rem;color:var(--cream)}
  .site-head.nav-open .head-cta{margin:1.3rem 0 0;justify-content:center;align-self:flex-start}
  .site-head.nav-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .site-head.nav-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .hero-inner{grid-template-columns:1fr}
  .hero-photo{max-width:420px;margin-top:.5rem}
  .about-grid,.visit-grid,.sig-inner{grid-template-columns:1fr}
  .about-media{height:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:14px}
  .am{position:static}
  .am-1,.am-2{width:100%;height:100%;aspect-ratio:4/5}
  .menu-list{grid-template-columns:1fr}
  .grid-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .g-wide{grid-column:span 2}
  .feat-list{grid-template-columns:1fr 1fr}
  .reviews .rev-grid{columns:2}
  .foot-inner{grid-template-columns:1fr;text-align:center;justify-items:center;gap:1.4rem}
  .foot-contact{text-align:center}
  .fab{display:inline-flex}
}
@media (max-width:560px){
  .head-inner{height:64px}
  .site-head.nav-open .nav{top:64px}
  .hero{min-height:auto}
  .hero-title{font-size:clamp(3rem,17vw,4.5rem)}
  .hero-stats{gap:1.2rem 1.6rem}
  .hero-photo{max-width:100%}
  .grid-gallery{grid-template-columns:1fr;grid-auto-rows:210px}
  .g-tall,.g-wide{grid-row:auto;grid-column:auto}
  .feat-list{grid-template-columns:1fr}
  .reviews .rev-grid{columns:1}
  .visit-list>div{grid-template-columns:1fr}
  .visit-list dt{padding-top:0}
  .marquee-track span{font-size:1.2rem}
}

/* ===== Mobile: centered & symmetric ===== */
@media (max-width:640px){
  /* Hero */
  .hero-inner{text-align:center}
  .hero-copy{max-width:100%;margin-inline:auto}
  .eyebrow{text-align:center}
  .hero-lead{margin-inline:auto}
  .hero-cta{justify-content:center}
  .hero-stats{flex-direction:column;align-items:stretch;gap:0;max-width:320px;margin-inline:auto;border-top:1px solid var(--line)}
  .hero-stats li{align-items:center;text-align:center;padding:.95rem 0;border-bottom:1px solid var(--line-2)}
  .hero-stats li:last-child{border-bottom:0}
  .hero-stats b{line-height:1.15}
  .hero-photo{margin-inline:auto}

  /* Section intros */
  .sec-head{margin-inline:auto;text-align:center}

  /* About */
  .about-copy{text-align:center}
  .about-copy p{margin-inline:auto}
  .about-tags{justify-content:center}

  /* Menu tabs */
  .menu-tabs{justify-content:center}

  /* Signature */
  .sig-copy{text-align:center}

  /* Features */
  .feat-title{text-align:center;margin-inline:auto}
  .feat-list li{align-items:center;text-align:center}

  /* Reviews */
  .rev{text-align:center}
  .rev footer{align-items:center}

  /* Visit */
  .visit-copy{text-align:center}
  .visit-cta{justify-content:center}
  .visit-list{text-align:center}
  .visit-list>div{grid-template-columns:1fr;gap:.35rem;justify-items:center}
}
