/* ==========================================================
   TOKENS
   ========================================================== */
:root{
  --dark:#2A2521;
  --dark-2:#1C1815;
  --cream:#EFE7DA;
  --beige:#DCD3C5;
  --taupe:#f2c19a54;
  --sand:#DDD3C4;
  --orange:#f4d1b2;
  --gold:#E0913E;
  --coral:#E7907A;

  --ff-d:'Cormorant Garamond', Georgia, serif;
  --ff-b:'Poppins', system-ui, sans-serif;

  --nav-h:76px;
  --px:clamp(20px, 3vw, 64px);
  --sec:clamp(70px, 8vw, 130px);
}

*{ -webkit-tap-highlight-color:transparent; box-sizing:border-box; }
body{
  margin:0; background:var(--beige); color:var(--dark);
  font-family:var(--ff-b); font-weight:300; font-size:15px; line-height:1.6;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ text-decoration:none; color:inherit; }
::selection{ background:var(--orange); color:var(--dark); }

/* type ---------------------------------------------------- */
.dsp{
  font-family:var(--ff-d); font-weight:400; text-transform:uppercase;
  line-height:.98; letter-spacing:.005em; margin:0;
}
.d1{ font-size:clamp(35px, 4vw, 128px); }
.d2{ font-size:clamp(30px, 4.4vw, 82px); }
.d3{ font-size:clamp(28px, 3.6vw, 54px); }
.lbl{ font-size:11px; font-weight:400; letter-spacing:.11em; text-transform:uppercase; }

/* buttons — offset outline, as per screenshots -------------- */
.btn-x{
  position:relative; display:inline-block;
  padding:16px 34px; margin:8px 0 0 8px;
  background:var(--dark); color:var(--cream);
  font-size:14px; font-weight:300;
  transition:background .4s ease, color .4s ease;
}
.btn-x:hover::after {
    transform: scale(0.9);
    background: #e7771636;
}

.btn-x::after {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    border: 1px solid rgb(230 117 26 / 53%);
    pointer-events: none;
    transition: transform .4s cubic-bezier(.65, 0, .35, 1);
    max-width: 100%;
    margin: 5px;
}
/*
.btn-x::after{
  content:""; position:absolute; left:-8px; top:-8px; right:8px; bottom:8px;
  border:1px solid currentColor; pointer-events:none;
  transition:transform .4s cubic-bezier(.65,0,.35,1);
}
*/
/*.btn-x:hover::after{ transform:translate(8px,8px); }*/
.btn-x.on-dark{ background:var(--cream); color:var(--dark); }

/* ==========================================================
   HEADER — centre logo, split menu (Malai layout)
   ========================================================== */
header img.desi-logo:hover {
    filter: brightness(1);
}

header img.desi-logo {
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}
img.desi-logo.inner {
    filter: brightness(0);
    transition: filter 0.3s ease;
}
img.desi-logo.inner:hover {
    filter: brightness(1);
    transition: filter 0.3s ease;
}
.hdr{
  position:fixed; inset:0 0 auto 0; z-index:900; height:var(--nav-h);
  background:#00000057; transition:transform .5s cubic-bezier(.65,0,.35,1), box-shadow .4s;
}
.hdr.hide{ transform:translateY(-100%); }
.hdr.stuck{ box-shadow:0 12px 40px -26px rgba(0,0,0,.55); }
.nav{ height:100%; padding:0 var(--px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.nav ul{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:clamp(18px,2vw,52px); }
.nav ul.r{ justify-content:flex-end; }
.nav ul a{ position:relative; padding:6px 3px; font-size:14px; letter-spacing:1px; text-transform:uppercase; font-weight: 400;color: #fff;filter 0.3s ease}
.nav ul a::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px; background:var(--orange);
  transform:scaleX(0); transform-origin:right; transition:transform .45s cubic-bezier(.65,0,.35,1);display: none;
}
.nav ul a:hover {
    color: #e77316 !important;
}
.bg img {
    opacity: 0.7;
}
.nav ul a:hover::after{ transform:scaleX(1); transform-origin:left; }
.brand{
  font-family:var(--ff-d); font-weight:500; font-size:clamp(19px,1.7vw,26px);
  letter-spacing:.3em; text-transform:uppercase; color:var(--dark);
  padding:0 clamp(12px,2vw,30px); white-space:nowrap;
}
img.desi-logo {
    max-width: 19vw;
}
nav-wave{
  position:absolute; left:0; top:calc(var(--nav-h) - 1px);
  width:100%; height:46px; color:#fff; pointer-events:none;
}
.acct img {
    max-width: 22px;
}
.hdr.stuck.hide div#navWave {
    display: none;
    transition: 0.3s;
}
.hdr.stuck div#navWave {
    display: block;
}
.acct
{
        padding: 0 !important;
}
.nav-wave svg{ width:100%; height:100%; display:block; }
.acct{ margin-left:0px; display:grid; place-items:center; transition:background .3s; }
.acct:hover{  }
.acct svg{ width:18px; height:18px; stroke:var(--dark); fill:none; stroke-width:1.3; }
.burger, .m-cta{ display:none; }
.burger{ width:42px; height:42px; border:0; background:none; padding:0; flex-direction:column; gap:5px; }
.burger i{ width:23px; height:1.4px; background:var(--dark); display:block; transition:transform .4s, opacity .3s; }
.burger.open i:nth-child(1){ transform:translateY(6.4px) rotate(45deg); }
.burger.open i:nth-child(2){ opacity:0; }
.burger.open i:nth-child(3){ transform:translateY(-6.4px) rotate(-45deg); }

.ovl{
  position:fixed; inset:0; z-index:890; background:var(--beige);
  padding:calc(var(--nav-h) + 26px) var(--px) 40px; overflow-y:auto;
  clip-path:inset(0 0 100% 0); visibility:hidden;
  transition:clip-path .7s cubic-bezier(.76,0,.24,1), visibility 0s linear .7s;
}
.ovl.open{ clip-path:inset(0 0 0 0); visibility:visible; transition-delay:0s; }
.ovl ul{ list-style:none; margin:0 0 30px; padding:0; }
.ovl li{ overflow:hidden; border-bottom:1px solid rgba(42,37,33,.18); }
.ovl li a{
  display:block; padding:15px 0; font-family:var(--ff-d); font-size:20px; text-transform:uppercase;
  transform:translateY(105%); transition:transform .7s cubic-bezier(.76,0,.24,1);
}
.ovl.open li a{ transform:translateY(0); }
.ovl h6{ font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; opacity:.55; margin:0 0 8px; }
.ovl .blk{ margin-bottom:24px; font-size:14px; line-height:1.8; }

.hdr.stuck path {
    fill: #ebddc7;
}
.hdr.stuck {
    background: #ebddc7;
}
.hdr.stuck li a {
    color: #282828;
}
.hdr.stuck img.desi-logo {
    filter: brightness(1);
}
.hdr.stuck img {
    filter: invert(1);
}
/* ==========================================================
   1 · HERO
   ========================================================== */
/* ##########################################################
   HOME HERO SLIDESHOW (3 slides, zoom-out, corner layout)
   ########################################################## */
span.font {
    font-size:8vw;
}

.hslide-stage{ position:relative; height:100svh; min-height:600px; overflow:hidden; background:var(--dark-2); }
.hslide{ position:absolute; inset:0; opacity:0; z-index:1; }
.hslide.on{ z-index:2; }
.hslide-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform:scale(1.14); will-change:transform; backface-visibility:hidden; }
/* GSAP drives the crossfade + continuous zoom-out (see desi-vibe.js) */
.hslide-veil{ position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg, rgba(16, 16, 16, .35) 0%, rgb(16 16 16 / 36%) 40%, rgba(16, 16, 16, .72) 100%); }
.rooted h2 {
    text-shadow:0px 0px 4px #2c2c2c;
}
/* top-right heading, bottom-left arrows, bottom-right copy (per screenshot) */
.hslide-content{ position:relative; z-index:4; height:100%; padding:var(--nav-h) var(--px) 0; pointer-events:none; }
.hslide-head{ position:absolute; left:var(--px); top:clamp(20%,26vh,30%); max-width:66vw; }
.hslide-head .dsp{ color:var(--cream); margin:0; opacity:0; transform:translateY(28px);
  transition:opacity .9s ease .25s, transform .9s cubic-bezier(.22,1,.36,1) .25s;text-shadow:0px 0px 4px #2c2c2c }
.hslide.on .hslide-head .dsp{ opacity:1; transform:none; }
.hslide-copy{ position:absolute; right:var(--px); bottom:clamp(34px,6vw,84px); max-width:min(430px,40vw);
  color:var(--cream); font-size:13.5px; line-height:1.8; text-align:right;
  opacity:0; transform:translateY(20px); transition:opacity .9s ease .45s, transform .9s cubic-bezier(.22,1,.36,1) .45s; }
.hslide.on .hslide-copy{ opacity:1; transform:none; }

.hslide-nav{ position:absolute; left:var(--px); bottom:clamp(30px,5vw,70px); z-index:6; display:flex; gap:14px; pointer-events:auto; }
.hslide-arrow{ width:52px; height:52px; border-radius:50%; border:1px solid rgba(239,231,218,.5);
  background:transparent; display:grid; place-items:center; cursor:pointer; color:var(--cream);
  transition:background .35s ease, color .35s ease, border-color .35s ease; }
.hslide-arrow:hover{ background:var(--cream); color:var(--dark); border-color:var(--cream); }
.hslide-arrow svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.4; }

/* dots (bottom-right small) */
.hslide-dots{ position:absolute; right:var(--px); bottom:clamp(30px,5vw,70px); z-index:6; display:flex; gap:9px; pointer-events:auto; }
.hslide-dot{ width:9px; height:9px; border-radius:50%; border:1px solid rgba(239,231,218,.6); background:transparent;
  cursor:pointer; padding:0; transition:background .35s ease, transform .35s ease; }
.hslide-dot.on{ background:var(--cream); transform:scale(1.2); }

@media (max-width:991.98px){
  .hslide-head{ top:16%; max-width:86vw; }
  .hslide-copy{ left:var(--px); right:var(--px); max-width:none; text-align:left; bottom:96px; }
  .hslide-dots{ display:none; }
}


/* ==========================================================
   1 · HERO
   ========================================================== */
.hero{ position:relative; height:100svh; min-height:600px; overflow:hidden; background:var(--dark-2); }
.bg-media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero
.veil{ position:absolute; inset:0; background: linear-gradient(#10101033, #10101099) }
.hero-in{ position:relative; z-index:2; height:100%; padding:var(--nav-h) var(--px) 0; }
.hero-title{
  position:absolute; left:0; right:0; top:42%; transform:translateY(-50%);
  text-align:center; color:var(--cream);
}
.hero-title .dsp{ letter-spacing:0em; }
.hero-side{ position:absolute; top:47%; color:var(--cream); opacity:.92; z-index:3; }
.hero-side.l{ left:var(--px); }
.hero-side.r{ right:var(--px); }
.hero-copy{margin-bottom: 0;z-index: 3;max-width: min(600px, 46vw);color: #fff;font-size: 15px;line-height: 1.75;margin: auto;text-align: center;position: absolute;
    left: 0;
    right: 0;
    top: 55%;
}
.rate{
  position:absolute; right:var(--px); bottom:clamp(28px,4vw,62px); z-index:3;
  width:clamp(250px,24vw,318px); background:var(--cream); color:var(--dark);
}
.rate-top{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid rgba(42,37,33,.16); }
.stars{ display:flex; gap:5px; }
.stars svg{ width:15px; height:15px; fill:var(--gold); }
.g-mark{ width:20px; height:20px; }
.rate-bot{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:14px 18px 18px; }
.rate-num{ font-family:var(--ff-d); font-size:44px; line-height:.9; }
.rate-num sup{ font-family:var(--ff-b); font-size:13px; top:-18px; font-weight:300; }
.rate-meta{ text-align:right; font-size:12.5px; line-height:1.5; }
.rate-meta b{ font-weight:400; display:block; }

/* ==========================================================
   2 · SPIRIT
   ========================================================== */
.spirit{ position:relative; height:150vh; background:var(--beige); }
.spirit-sticky{ position:sticky; top:0; height:100svh; overflow:hidden; }
.spirit-frame{
  position:absolute; top:5%; right:4%; bottom:5%; left:4%;
  overflow:hidden; background:var(--dark-2); border-radius:8px;
  will-change:top,right,bottom,left;
}
.spirit .veil{ position:absolute; inset:0; background:
  linear-gradient(105deg, rgba(20,16,13,.86) 0%, rgba(20,16,13,.5) 45%, rgba(20,16,13,.25) 100%); }
.spirit-in{
  position:absolute; left:30px; top:0; z-index:2;
  padding:clamp(40px,6vw,86px) var(--px); color:var(--cream); max-width:760px;
}
.spirit-in p{ margin:16px 0 0; font-size:14px; }
.spirit-in .btn-x{ margin-top:34px; }


/* ==========================================================
   3 · SIGNATURE PLATES
   ========================================================== */
.plates{ display:grid; grid-template-columns:1fr 1fr; align-items:start; background:var(--dark-2); }
.plates-left{ padding:clamp(16px,1.8vw,30px); }
.plates-card{ border:1px solid var(--dark); background:var(--orange); }
.plates-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:clamp(22px,2.4vw,38px); border-bottom:1px solid var(--dark); }
.plates-head svg{ width:34px; height:34px; flex:0 0 auto; stroke:var(--dark); fill:none; stroke-width:1.4; }
.row-item{ padding:16px clamp(20px,2.2vw,34px) 18px; border-bottom:1px solid var(--dark); }
.row-item:last-child{ border-bottom:0; }
.row-top{ display:flex; align-items:baseline; justify-content:space-between; gap:18px; }
.row-top h4{ margin:0; font-size:14.5px; font-weight:400; }
.row-top span{ font-size:14px; font-weight:300; }
.row-item p{ margin:6px 0 0; font-size:13.5px; line-height:1.6; max-width:66ch; }

.plates-right{ position:sticky; top:0; height:100svh; display:flex; flex-direction:column; background:var(--sand); }
.plates-copy{ padding:clamp(30px,3.4vw,56px) clamp(26px,3vw,52px) clamp(24px,2.6vw,40px); }
.plates-copy p{ margin:18px 0 0; max-width:52ch; font-size:14px; }
.plates-copy .btn-x{ margin-top:30px; }
.plates-img{ flex:1; min-height:0; overflow:hidden; }
.plates-img img{ width:100%; height:100%; object-fit:cover; }

/* ==========================================================
   4 · CATERING
   ========================================================== */
.catering{ background:var(--taupe); padding:var(--sec) var(--px); }
.band{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; column-gap:clamp(14px,2vw,34px); }
.band .side{ padding-bottom:clamp(6px,1vw,16px); }
.band .side.l{ text-align:right; }
.band .side.r{ text-align:left; }
.band .mid{ text-align:center; }
.cat-lead{ max-width:560px; margin:clamp(18px,1.4vw,40px) auto 0; text-align:center; font-size:14px; }
.trio{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,1vw,34px); margin-top:clamp(38px,5vw,74px); }
.trio figure{ margin:0;transition: 0.3s; }
.trio .shot{ overflow:hidden; height:clamp(300px,34vw,520px); }
.trio .shot img{ width:100%; height:100%; object-fit:cover;filter: grayscale(1);transition: 0.3s; }
.trio .shot img:hover {filter: grayscale(0);}
.trio figcaption{ text-align:center; padding:18px 6px 0; }
.trio figcaption h4{ font-family:var(--ff-d); font-size:clamp(20px,1.7vw,26px); font-weight:400; margin:0 0 8px; }
.trio figcaption p{ margin:0; font-size:13px; line-height:1.6; }
.trio figure:hover img {filter: grayscale(0);}

/* ==========================================================
   5 · DRINKS
   ========================================================== */
.drinks{ display:grid; grid-template-columns:1fr 1fr; background:#d1b59b;position: relative}
.drinks-left{ position:sticky; top:0; height:100svh; padding:clamp(34px,4vw,64px) clamp(26px,3vw,52px); 
display:flex; flex-direction:column;justify-content:center; }
.drinks-left p.intro{ margin:20px 0 0; max-width:54ch; font-size:14px; }
.drinks-left .btn-x{ margin:30px 0 26px 8px; align-self:flex-start; }
.dlist .row-item{ padding:12px 0 13px; border-bottom:1px solid rgba(42,37,33,.22); }
.dlist .row-item:first-child{ border-top:1px solid rgba(42,37,33,.22); }
.dlist .row-item p{ font-size:13px; }
.drinks-right .shot{ height:100svh; overflow:hidden; }
.drinks-right .shot img{ width:100%; height:112%; object-fit:cover; }

/* ==========================================================
   6 · GIFT CARDS
   ========================================================== */
/*
.gift{ background:var(--beige); padding:var(--sec) var(--px); text-align:center; position:relative; }
.fan{ position:relative; height:clamp(360px,44vw,600px); margin:clamp(24px,3vw,48px) auto 0; max-width:900px; }
.gcard{
  position:absolute; left:50%; top:50%; width:clamp(180px,21vw,290px); aspect-ratio:16/10;
  margin:calc(clamp(180px,21vw,290px) * -.3125) 0 0 calc(clamp(180px,21vw,290px) * -.5);
  border-radius:3px; box-shadow:0 22px 50px -30px rgba(30,24,18,.75);
  display:grid; place-items:center; will-change:transform;
}
.gcard span{ font-family:var(--ff-d); font-size:clamp(13px,1.3vw,19px); letter-spacing:.06em; text-transform:uppercase; opacity:.85; }
.gcard::after{
  content:""; position:absolute; left:50%; top:0; width:20%; height:11%;
  transform:translateX(-50%); background:var(--beige); border-radius:0 0 60px 60px;
}
.gift-side{ position:absolute; top:52%; }
.gift-side.l{ left:var(--px); }
.gift-side.r{ right:var(--px); }
.gift-lead{ max-width:470px; margin:clamp(20px,2.4vw,36px) auto 0; font-size:14px; }
.gift .btn-x{ margin-top:26px; }
*/

/* ==========================================================
   3b · AWARDS — curved 3D marquee
   ========================================================== */
.awards{ background:#e4cdb7; padding:var(--sec) 0; overflow:hidden;position: relative}
.awards-head{ text-align:center; padding:0 var(--px); margin-bottom:clamp(30px,4vw,58px); }
.arc{ perspective:1300px; perspective-origin:50% 50%; padding:clamp(18px,3vw,46px) 0; }
.arc-track{ display:flex; width:max-content; transform-style:preserve-3d; will-change:transform; }
.arc-card{
  flex:0 0 auto; width:clamp(178px,36vw,300px);
  margin:0 clamp(9px,1.1vw,18px);
  transform-style:preserve-3d; will-change:transform; backface-visibility:hidden;
}
.arc-card .pic{
  width:100%; aspect-ratio:3/4; overflow:hidden; border-radius:10px;
  background:var(--sand); box-shadow:0px 19px 54px -32px rgb(89 54 20 / 62%);
}
.arc-card .pic img{ width:100%; height:100%; object-fit:cover; }
.arc-card figcaption{ text-align:center; padding-top:15px; }
.arc-card h4 {
    font-family: var(--ff-d);
    font-size: clamp(15px, 2vw, 20px);
    font-weight: 500;
    text-transform: capitalize;
    margin: 0 0 3px;
    line-height: 1.2;
    color: #282828;
    letter-spacing: 0.2px;
}
.arc-card span{ display:block; font-size:12px; letter-spacing:.15em; text-transform:uppercase; opacity:.7; }

/* ==========================================================
   7 · ROOTED
   ========================================================== */
.rooted{ position:relative; height:100svh; min-height:560px; overflow:hidden; background:var(--dark-2); }
.rooted .veil{ position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(20,16,13,.7) 0%, rgba(20,16,13,.2) 40%, rgba(20,16,13,.8) 100%); }
.rooted-in{
  position:relative; z-index:2; height:100%; padding:clamp(40px,6vw,80px) var(--px);
  display:flex; flex-direction:column; justify-content:space-between; color:var(--cream);
}
.rooted-in p{ margin:0; max-width:min(420px,46vw); font-size:13.5px; line-height:1.85; }

/* ==========================================================
   7b · SPLIT / MANDALA  (malai.co layout)
   ========================================================== */
.bg {
    position: absolute;
    right: 0;
    max-width: 200px;
}
.malai{
  position:relative; display:grid; grid-template-columns:1fr 1fr;
  min-height:82svh; overflow:hidden; background:#d1b59b;
}
.malai-l{ position:relative; overflow:hidden; }
.malai-l > img{ width:100%; height:565px; object-fit:cover; }
.malai-cap{
  position:absolute; left:0; right:0; bottom:clamp(28px,4.6vw,74px); z-index:2;
  padding:0 10%; text-align:center; color:#fff;
  font-family:var(--ff-d); font-weight:400; font-size:clamp(23px,2.7vw,41px); line-height:1.22;
}
.malai-r{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:clamp(16px,2vw,30px); padding:clamp(40px,2vw,0px) var(--px);
}
.malai-shot{
  width:clamp(178px,19vw,262px); aspect-ratio:262/424; overflow:hidden;
  border:1px solid rgba(255,255,255,.45);
}
/* second split — text side */
.malai-copy{ text-align:center; max-width:430px; color:#282828; }
.malai-copy h2{
  font-family:var(--ff-d); font-weight:400; font-size:clamp(28px,3.2vw,50px);
  line-height:1.12; margin:0 0 20px; color:#282828;
}
.malai-copy p{ margin:0 0 30px; font-size:14.5px; line-height:1.75; }
.malai-shot img{ width:100%; height:110%; object-fit:cover; }
.btn-o{
  display:inline-block; border:1px solid #282828; color:#282828;
  padding:13px 30px; font-size:11px; letter-spacing:.19em; text-transform:uppercase;
  transition:background .45s ease, color .45s ease;
}
.btn-o:hover {
    background: #282828;
    color: #ffffff;
}
.mandalas{
  position:absolute; left:50%; top:50%; transform:translate(-20%,-50%);
  width:clamp(210px,27vw,370px); aspect-ratio:1.56/1; z-index:3; pointer-events:none;
}
.mandala{ position:absolute; top:50%; width:72%; aspect-ratio:1; margin-top:-36%; will-change:transform; }
.mandala.a{ left:0;  color:#C6A46A; }
.mandala.b{ right:0; color:#FBF2EE; }
.mandala svg{ width:100%; height:100%; display:block; overflow:visible; }

/* ==========================================================
   8 · TESTIMONIALS
   ========================================================== */
span.test-b {
    font-size: 18px;
    text-transform: none;
    margin-top: 10px;
    display: block;
    padding-left: 8px;
}
.says{ background:var(--beige); padding:var(--sec) 0;position: relative}
.says-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:26px; padding:0 var(--px); margin-bottom:clamp(38px,5vw,74px); }

/* multi-platform rating row (Google / Zomato / Dineout / TripAdvisor) */
.says .rate-row{
  display:grid; grid-template-columns:repeat(2, minmax(150px,1fr));
  gap:12px; width:clamp(300px,32vw,420px); flex:0 0 auto;
}
.says .rate{
  position:relative; width:auto; margin:0;
  border:1px solid rgba(42,37,33,.18); background:transparent;
}
.says .rate .rate-top{ padding:11px 13px; }
.says .rate .rate-bot{ padding:10px 13px 14px; gap:8px; }
.says .rate .rate-num{ font-size:26px; }
.says .rate .rate-num sup{ font-size:11px; top:-13px; }
.says .rate .rate-meta{ font-size:10.5px; }
.says .rate .stars svg{ width:11px; height:11px; }
.says .rate .g-mark{ width:16px; height:16px; }
.says .rate .rate-src{
  position:absolute; top:8px; right:12px; font-size:9px;
  letter-spacing:.1em; text-transform:uppercase; opacity:.4;
  pointer-events:none;
}
.says .rate .rate-top{ padding-right:34px; }

.brand-mark{
  width:16px; height:16px; border-radius:50%; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-d); font-weight:600; font-size:8.5px;
  color:#fff; letter-spacing:0;
}
.brand-mark.zomato{ background:#E23744; }
.brand-mark.dineout{ background:#EF4123; }
.brand-mark.tripadvisor{ background:#34E0A1; color:#0E3B2E; font-size:7px; }
.mq{ overflow:hidden; }
.mq-in{ display:flex; width:max-content; will-change:transform; }
.qcard{
  flex:0 0 auto; width:clamp(270px,25vw,350px); min-height:clamp(320px,26vw,430px);
  margin-right:clamp(14px,1.4vw,22px); border:1px solid rgba(42,37,33,.22);
  display:flex; flex-direction:column;
}
.qcard-top{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid rgba(42,37,33,.22); }
.qcard-top .stars svg{ width:12px; height:12px; }
.qcard-top .src{ font-size:12px; opacity:.6; }
.qcard blockquote{ margin:0; padding:20px 16px; font-family:var(--ff-d); font-size:clamp(19px,1.6vw,25px); line-height:1.28; flex:1; }
.qcard .who{ padding:0 16px 18px; font-size:12.5px; }
.qcard .who small{ display:block; opacity:.55; font-size:11.5px; }
.says-foot{ text-align:center; padding:clamp(38px,5vw,70px) var(--px) 0; font-size:14px; }
.says-foot a{ display:inline-block; margin-top:8px; border-bottom:1px solid currentColor; }

/* ==========================================================
   1 · STORY HERO — big title, labels on line 2, sub rises up
   ========================================================== */
.st-hero{ position:relative; padding:calc(var(--nav-h) + clamp(0px,1vw,112px)) 0 clamp(0px,7vw,120px); text-align:center; overflow:hidden; }
.st-hero-head{ position:relative; padding:0 var(--px); }
.st-hero-head .dsp{ color:var(--dark); }
.d1{ font-size:clamp(35px, 4vw, 128px); letter-spacing:.01em; }
.st-side{ position:absolute; z-index:3; color:var(--dark); opacity:.7; white-space:nowrap; }
.st-side.l{ left:54%; transform:translateX(calc(-50% - clamp(150px,20vw,300px))); }
.st-side.r{ left:46%; transform:translateX(calc(-50% + clamp(150px,20vw,300px))); }article.mvA-card {
        border: 1px solid #e1d1b8;
    position: relative;
    background: url(img/mission1.png) !important;
        background-position: center !important;
     filter: grayscale(1);
    transition: 0.3s;
}
.st-hero-media{
  position:relative; z-index:2; width:clamp(160px,17vw,225px); aspect-ratio:16/11;
  margin:clamp(10px,1.5vw,24px) auto 0; overflow:hidden;
  will-change:width;
}
.st-hero-media img{ width:100%; height:100%;object-fit: cover}
.st-hero-sub{ overflow:hidden; margin-top:clamp(40px,6vw,90px); }
.st-hero-sub p{ margin:0; font-size:clamp(14px,1.05vw,16px); line-height:1.7; max-width:44ch; margin-inline:auto; }
/* ==========================================================
   2 · OUR JOURNEY — timeline
   ========================================================== */
.jrny{ padding:var(--sec) var(--px);background: #f8ebd8; }
.jrny h2{ margin-bottom:clamp(38px,5vw,66px); }
.tl{ position:relative; max-width:900px; margin:0 auto; }
.tl-line{ position:absolute; left:11px; top:6px; bottom:6px; width:1px; background:rgba(42,37,33,.25); transform-origin:top; }
.tl-item{ position:relative; padding:0 0 clamp(34px,4vw,58px) clamp(46px,5vw,74px); }
.tl-item:last-child{ padding-bottom:0; }
.tl-dot{ position:absolute; left:5px; top:5px; width:13px; height:13px; border-radius:50%;
  background:var(--beige); border:1px solid var(--dark); }
.tl-yr{ font-family:var(--ff-d); font-size:clamp(22px,2vw,30px); color:#ec903e; margin:0 0 6px; }
.tl-item h4{ font-family:var(--ff-d); font-size:clamp(20px,1.7vw,26px); font-weight:400; margin:0 0 8px; }
.tl-item p{ margin:0; max-width:56ch; font-size:14px; line-height:1.75; }

/* ==========================================================
   3 · WHERE TRADITION MEETS — dark centred block, reveals on scroll
   ========================================================== */
.trad{ background-image: url(../img/journey.png);}.trad::before {
    content: '';
    background: linear-gradient(176deg, #4a4636d9, #4a4636a3);

}
.abo-t::before {
    background: linear-gradient(176deg, #4a4636de, #4a463696);
}
.trad::before
{
    content: '';
    background:linear-gradient(176deg, #4a4636d9, #4a4636a3);
    position: absolute;
    inset:0;
}
.trad-inner{ will-change:clip-path; }
.trad .rn{ font-family:var(--ff-d); font-size:clamp(30px,3vw,46px); letter-spacing:.1em; margin:0 0 clamp(40px,2vw,90px); }
.trad h2{ margin:0 auto clamp(38px,2vw,72px); max-width:33ch; }
.trad p {
    margin: 0 auto;
    max-width: 80ch;
    font-size: 16.5px;
    line-height: 1.85;
    opacity: 1;
    font-weight: 400;
}

/* ==========================================================
   4 · HOSPITALITY — founder quote
   ========================================================== */
.hosp{ display:grid; grid-template-columns:1fr 1fr; align-items:center; background:#f8ebd8; position: relative}
.hosp-txt{ padding:clamp(70px, 0vw, 130px); }
.hosp-q{ font-family:var(--ff-hand); font-size:clamp(30px,3.0vw,54px); line-height:1.28; margin:0; }
.hosp-by{ text-align:center; margin-top:clamp(26px,3vw,44px); }
.hosp-by b{ display:block; font-weight:500; font-size:13.5px; }
.hosp-by span{ font-size:13px; opacity:.6; }
.hosp-media{ overflow:hidden; height:100%; min-height:clamp(360px,44vw,640px); }
.hosp-media img{ width:100%; height:100%; object-fit:cover; }
/* ##########################################################
   MISSION & VISION  (two options — keep one, delete other)
   ########################################################## */
.mv-wrap{ padding:clamp(60px,8vw,120px) var(--px);     background: #e4d3ba;}
.mv-eyebrow{ text-align:center; margin:0 0 clamp(34px,4vw,56px); }
.mv-eyebrow .rn{ font-family:var(--ff-d); font-size:clamp(24px,2.4vw,38px); letter-spacing:.06em; margin:0; }
.mv-eyebrow .s{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; opacity:.5; margin:12px 0 0; }

/* ---------- OPTION A — split cards with big index + icon ---------- */
article.mvA-card::before {
    content: '';
    position: absolute;
    background: #0f0f0f87;
    inset: 0;
}
article.mvA-card {
        border: 1px solid #e1d1b8;
    position: relative;
    background: url(../img/mission1.png) !important;
     filter: grayscale(1);
    transition: 0.3s;
}
article.mvA-card:hover
{
   filter: grayscale(0);  
}
.mvA-card:nth-child(2)::before
{
    content: '';
    position: absolute;
    background: #0f0f0f87;
    inset: 0;
    
}
.mvA-card:nth-child(2){
    position: relative;
    background: url(../img/vision1.png) !important;
        filter: grayscale(1);
    transition: 0.3s;
}

.mvA-card:nth-child(2):hover {
    filter: grayscale(0);
}
.mvA{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,30px);     background: #e1d0b8;}
.mvA-card{ position:relative; overflow:hidden; border-radius:18px; padding:clamp(30px,4.4vw,54px);
  background:#f5e8d5; border:1px solid rgba(42,37,33,.14); isolation:isolate;
  transition:transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease; }
.mvA-card:nth-child(2){ background:var(--dark-2); color:var(--cream); border-color:transparent; }
.mvA-card:hover{ transform:translateY(-8px); box-shadow:0 40px 66px -34px rgba(30,24,18,.5); }
.mvA-card .big{ position:absolute; right:clamp(14px,2vw,26px); top:clamp(6px,1vw,14px); z-index:0;
  font-family:var(--ff-d); font-size:clamp(90px,12vw,180px); line-height:1; opacity:.08; }
.mvA-card:nth-child(2) .big{ opacity:.4;color: #faa148; }
.mvA-icon{ position:relative; z-index:1; width:56px; height:56px; border-radius:14px; display:grid; place-items:center;
  background:var(--gold); margin:0 0 clamp(20px,2.4vw,30px); }
.mvA-card:nth-child(2) .mvA-icon{ background:var(--orange) }
.mvA-icon svg{ width:26px; height:26px; stroke:var(--dark-2); fill:none; stroke-width:1.5; }
.mvA-card h3{ position:relative; z-index:1; font-family:var(--ff-d); font-weight:400; font-size:clamp(26px,2.6vw,40px); margin:0 0 14px; color: #fff;}
.mvA-card p{ position:relative; z-index:1; font-size:14px; line-height:1.85; opacity:1; margin:0; max-width:60ch;color: #fff; }
.mvA-card .kick{ position:relative; z-index:1; display:inline-block; font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; opacity:.88; margin:0 0 clamp(18px,2vw,24px);color: #fff; }



@media (max-width:767.98px){
  .mvA{ grid-template-columns:1fr; }
  .mvB{ grid-template-columns:1fr; }
  .mvB-rule{ height:1px; width:auto; }
}

/* ==========================================================
   5 · OUR CULINARY PHILOSOPHY — pinned; head fixed, cards stack
   ========================================================== */
.culi{ background:#d1b59b; color:var(--dark);padding-bottom: 80px;position: relative}
.culi-pin{ position:relative; height:100svh; }
.culi-head{
  position:absolute; left:0; right:0; top:clamp(46px,7vh,90px); z-index:1;
  padding:0 var(--px); text-align:center;
}
.culi-head .rn{ font-family:var(--ff-d); font-size:clamp(28px,3vw,44px); letter-spacing:.1em; margin:0 0 clamp(14px,2vw,26px); }
.culi-head h2{ margin:0 auto; max-width:14ch; }

.culi-track{
  position:absolute; inset:0; z-index:2; overflow:hidden;
}
.culi-card{
  position:absolute; left:50%; top:35%;
  width:min(560px, calc(100% - var(--px) * 2));
  transform:translate(-50%,-50%);
  height:clamp(340px,48vh,440px);
  border:1px solid rgba(42,37,33,.45); background:#d1b59b;
  will-change:transform; 
/*    box-shadow:0 26px 54px -32px rgba(30,24,18,.55);*/
}
.culi-cap{ padding:15px clamp(20px,2.4vw,30px); border-bottom:1px solid rgba(42,37,33,.45); }
.culi-cap .n{ font-family:var(--ff-d); font-size:clamp(18px,1.5vw,22px); }
.culi-body{padding:clamp(24px,3vw,38px) clamp(20px,2.4vw,30px);height:calc(100% - 52px);display:flex; flex-direction:column; justify-content:space-between;}
.culi-body h3{ font-family:var(--ff-d); font-size:clamp(24px,2.2vw,34px); font-weight:400; margin:0; }
.culi-body p{ margin:0; font-size:14px; line-height:1.8; opacity:.78; max-width:46ch; }
/* ABOUT PAGE — mobile */
@media (max-width:991.98px){
  .st-side{display: block;top: 20px !important;}
  .st-hero-media{ width:64vw; }
  .hosp{ grid-template-columns:1fr; }
  .hosp-media{ min-height:66vw; order:-1; }
  .culi-pin{ height:auto; overflow:visible;        padding: 40px 0; }
  .culi-head{ position:static; padding:0 var(--px) clamp(30px,6vw,44px); }
  .culi-track{ position:static;        padding: 20px; }
  .culi-card{ position:relative; left:auto; top:auto; width:100%; height:auto; margin-bottom:18px;transform: none;}
  .culi-body{ height:auto; gap:18px; }
  .culi {background: #d1b59b;color: var(--dark);padding-bottom: 0; }
}

@media (max-width:575.98px){
  .culi-card{ grid-template-columns:1fr; gap:10px; }
}
/* ##########################################################
   MENU PAGE
   ########################################################## */
/* hero */
.menu .hdr {background: #ebddc7;}
.menu .hdr .nav ul a {color: #424242;}
.mn-hero{
    background: url(../img/contact-bg.png);
    background-position: center;
    background-size: cover;
    position: relative;
}
.mn-hero{ padding:calc(var(--nav-h) + clamp(48px,7vw,110px)) var(--px) clamp(50px,7vw,100px); text-align:center; }
.mn-hero .rn{ font-family:var(--ff-d); font-size:clamp(28px,3vw,44px); letter-spacing:.1em; margin:0 0 clamp(14px,2vw,24px); }
.mn-hero p{ margin:clamp(8px,3vw,0px) auto 0; max-width:80ch; font-size:14.5px; line-height:1.8; opacity:.8; }

/* category block: heading left, bordered dish grid right */
.mn-wrap{ padding:0 0 clamp(120px,14vw,180px); }
.mn-cat{ display:grid; grid-template-columns:.82fr 1.18fr; align-items:stretch;
  border-top:1px solid rgba(42,37,33,.22);background-image: url(../img/ga6.png);
    position: relative;background-position: left;background-size: cover;background-repeat: no-repeat;z-index: 99; }
.mn-cat::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #00000080;
    z-index: 9;
}
.mn-cat:last-of-type{ border-bottom:1px solid rgba(42,37,33,.22); }
.mn-cat-head{ position:sticky; top:calc(var(--nav-h) + clamp(30px,5vw,80px)); align-self:start; height:max-content;
  padding:clamp(40px,5vw,80px) clamp(24px,3vw,56px) clamp(40px,5vw,80px) var(--px);z-index: 99; }
.mn-cat-head .idx{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--orange); margin:0 0 16px; }
.mn-cat-head h2{color: #fff; font-family:var(--ff-d); font-weight:400; line-height:.98;
  font-size:clamp(38px,4.4vw,72px); margin:0; }
.mn-cat-head p{ margin:20px 0 0; font-size:13.5px; line-height:1.7; opacity:1; max-width:34ch;color: #fff }

/* the dish grid — two columns of bordered cells */
.mn-list{ display:grid; grid-template-columns:1fr 1fr; border-left:1px solid rgba(42,37,33,.22);background: #dcd3c5;
    position: relative;z-index: 9;}
.mn-dish{ padding:clamp(18px,1.8vw,26px) clamp(18px,2vw,30px);
  border-bottom:1px solid rgba(42,37,33,.22); border-right:1px solid rgba(42,37,33,.22); }
.mn-dish-top{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.mn-dish-top h4{ font-family:var(--ff-b); font-weight:500; font-size:15px; margin:0; letter-spacing:.005em; }
.mn-dish-top .lead{ display:none; }
.mn-dish-top .price{ font-size:14px; color:var(--dark); white-space:nowrap; }
.mn-dish p{ margin:9px 0 0; font-size:13px; line-height:1.6; opacity:.62; max-width:40ch; }
.mn-tag{ font-size:11px; letter-spacing:.06em; opacity:.5; font-weight:400; }
/* fill trailing empty cells so the box always closes cleanly */
.mn-list::after{ content:""; }
.mn-dish.is-empty{ border-right:1px solid rgba(42,37,33,.22); }

/* fixed bottom category bar */
.mn-bar{
      position: fixed;
    left: 0;
    right: 0;
    bottom: 15px;
    z-index: 800;
    background: #e5a876ed;
    color: #282828;
    transform: translateY(110%);
    transition: transform .5s cubic-bezier(.65, 0, .35, 1);
    width: 60%;
    margin: auto;
    border-radius: 5px;
    display:flex; align-items:center;
}
.mn-bar.show{ transform:translateY(0); }

/* left/right edge fade to hint there's more to scroll */
.mn-bar::before, .mn-bar::after{
  content:""; position:absolute; top:0; bottom:0; width:26px; z-index:3;
  pointer-events:none; border-radius:5px; opacity:0; transition:opacity .3s ease;
}
.mn-bar::before{ left:0; background:linear-gradient(to right, #e5a876ed, transparent); }
.mn-bar::after{ right:0; background:linear-gradient(to left, #e5a876ed, transparent); }
.mn-bar.at-start::before{ opacity:0; }
.mn-bar:not(.at-start)::before{ opacity:1; }
.mn-bar.at-end::after{ opacity:0; }
.mn-bar:not(.at-end)::after{ opacity:1; }

/* prev/next scroll arrows */
.mn-bar-arrow{
  flex: 0 0 auto;
    position: relative;
    z-index: 4;
    width: 20px;
    height: 20px;
    margin: 0 2px 0 4px;
    border: none;
    border-radius: 50%;
    background: rgb(255 219 189);
    color: #282828;
    font-size: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .25s ease, opacity .25s ease, transform .15s ease;
}
.mn-bar-arrow:last-child{ margin:0 4px 0 2px; }
.mn-bar-arrow:hover{ background:rgba(42,37,33,.22); }
.mn-bar-arrow:active{ transform:scale(.92); }
.mn-bar-arrow[disabled]{ opacity:.28; pointer-events:none; }

.mn-bar-inner{
  display:flex; gap:0; overflow-x:auto; padding:1px 8px;
  scrollbar-width:none; justify-content:flex-start;
  scroll-behavior:smooth; scroll-snap-type:x proximity;
  cursor:grab; flex:1 1 auto; min-width:0;
}
.mn-bar-inner.dragging{ cursor:grabbing; scroll-behavior:auto; scroll-snap-type:none; }
.mn-bar-inner::-webkit-scrollbar{ display:none; }
.mn-bar a {
    position: relative;
    flex: 0 0 auto;
    padding: 8px 4px;
    font-size: 11.5px;
    letter-spacing: .15em;
    text-transform: uppercase;
    opacity: 1;
    white-space: nowrap;
    transition: opacity .3s;
    border-right: 1px solid #e06f0dc2;
    padding-right: 20px;
    padding-left: 20px;
    font-weight: 400;
    scroll-snap-align: start;
    user-select:none;
}
.mn-bar a::after{     content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
/*    background: #e06f0d;*/
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s cubic-bezier(.65, 0, .35, 1);}
.mn-bar a:hover{ opacity:.85; }
.mn-bar a.active {
    opacity: 1;
    color: #d06a12;
}
.mn-bar a.active::after{ transform:scaleX(1); }

@media (max-width:767.98px){
  .mn-bar{ width:92%; }
  .mn-bar-arrow{ display:none; }   /* touch users swipe/drag instead */
}

@media (max-width:991.98px){
  .mn-cat{ grid-template-columns:1fr; }
  .mn-cat-head{ position:static; padding:clamp(34px,7vw,50px) var(--px) clamp(24px,5vw,34px); }
  .mn-cat-head p{ max-width:none; }
  .mn-list{ border-left:0; border-top:1px solid rgba(42,37,33,.22); grid-template-columns:1fr; }
  .mn-dish{ border-right:0; }
}
/* ##########################################################
   GALLERY PAGE
   ########################################################## */
.gl-hero{ padding:calc(var(--nav-h) + clamp(48px,7vw,110px)) var(--px) clamp(40px,6vw,80px); text-align:center; }
.gl-hero .rn{ font-family:var(--ff-d); font-size:clamp(28px,3vw,44px); letter-spacing:.1em; margin:0 0 clamp(14px,2vw,24px); }
.gl-hero p{ margin:clamp(20px,3vw,34px) auto 0; max-width:80ch; font-size:14.5px; line-height:1.8; opacity:.8; }

.gl-opt-tag{ padding:clamp(40px,5vw,70px) var(--px) clamp(18px,2vw,30px); }
.gl-opt-tag .n{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--orange); margin:0 0 10px; }
.gl-opt-tag h2{ font-family:var(--ff-d); font-weight:400; font-size:clamp(26px,2.6vw,40px); margin:0; }
.gl-opt-tag span{ font-size:13px; opacity:.6; }

/* ##########################################################
   GALLERY — COVERFLOW (final)
   ########################################################## */
.cf-wrap{ padding:0 0 clamp(50px,7vw,90px);position: relative}
/* filter tabs */
.cf-tabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  padding:0 var(--px) clamp(34px,4vw,56px); }
.cf-tab{ flex:0 0 auto; padding:10px 60px; border-radius:100px;
  border:1px solid rgba(42,37,33,.35); background:transparent; color:var(--dark);
  font-size:13px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
  transition:background .35s ease, color .35s ease, border-color .35s ease; }
.cf-tab:hover{ border-color:var(--dark); }
.cf-tab.active{ background:var(--dark); border-color:var(--dark); color:var(--cream); }

/* stage */
.cf-stage{ position:relative; height:clamp(420px,40vw,540px); overflow-x:clip; overflow-y:visible; }
.cf-track{ position:absolute; inset:0; }
.cf-card{
  position:absolute; left:50%; top:50%;
  width:clamp(220px,24vw,340px); height:clamp(300px,33vw,440px);
  margin:0; border-radius:14px; overflow:hidden; background:var(--sand);
  box-shadow:0 30px 70px -34px rgba(30,24,18,.6);
  transform:translate(-50%,-50%); will-change:transform,opacity;
}
.cf-card img{ width:100%; height:100%; object-fit:cover; }
.cf-card figcaption{ position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:clamp(16px,2vw,26px); color:#fff;
  background:linear-gradient(180deg, transparent, rgba(20,16,13,.78));
  opacity:0; transition:opacity .5s ease; }
.cf-card.is-center figcaption{ opacity:1; }
.cf-card figcaption h4{ font-family:var(--ff-d); font-size:clamp(18px,1.5vw,24px); font-weight:400; margin:0; }
.cf-card figcaption span{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; opacity:.8; }

/* arrows */
.cf-nav{ display:flex; justify-content:center; gap:16px; padding:clamp(30px,4vw,50px) var(--px) 0; }
.cf-arrow{ width:52px; height:52px; border-radius:50%; border:1px solid rgba(42,37,33,.4);
  background:transparent; display:grid; place-items:center; cursor:pointer;
  transition:background .35s ease, color .35s ease, border-color .35s ease; }
.cf-arrow:hover{ background:var(--dark); border-color:var(--dark); color:var(--cream); }
.cf-arrow svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.4; }
.cf-arrow[disabled]{ opacity:.35; pointer-events:none; }
.cf-empty{ text-align:center; padding:clamp(40px,6vw,80px) var(--px); opacity:.6; font-size:14px; }
button#cfPrev {
    position: absolute;
    left: 20%;
    top: 42%;
    border: 2px solid #000000;
    z-index: 99;
    background: #000000b0;
    color: #fff;
}
button#cfNext {
    position: absolute;
    right: 20%;
    top: 42%;
    opacity: 1;
    border: 2px solid #000000;
    z-index: 99;
    background: #000000b0;
    color: #fff;
}
@media (max-width:575.98px){
   button#cfPrev {
    position: relative;
    left: 0;
    top: 50%;
    border: 2px solid #000000;
    z-index: 999;
    background: #000000b0;
    color: #fff;
    width: 25px;
    height: 25px;
    padding: 0;
}
    button#cfNext {
    position: relative;
    right: 0;
    top: 0%;
    border: 2px solid #000000;
    z-index: 999;
    background: #000000b0;
    color: #fff;
    width: 25px;
    height: 25px;
    padding: 0;
}
    .cf-tab {
    flex: 0 0 auto;
    padding: 10px 20px;
    }
    .hosp{ display:grid; grid-template-columns:1fr;}
  .cf-stage{ height:auto; min-height:88vw; }
  .cf-card{ width:64vw; height:80vw; }
}


/* ============ DESIGN 1 — Pinterest column masonry ============ */
  .mw-hero{ padding:calc(var(--nav-h) + clamp(48px,7vw,110px)) var(--px) clamp(30px,4vw,56px); text-align:center; }
  .mw-hero .rn{ font-family:var(--ff-d); font-size:clamp(28px,3vw,44px); letter-spacing:.1em; margin:0 0 clamp(14px,2vw,24px); }
  .mw-hero p{ margin:clamp(20px,3vw,34px) auto 0; max-width:80ch; font-size:14.5px; line-height:1.8; opacity:.8; }

  .mw-grid{
    column-count:1; column-gap:16px;
    padding:50px var(--px) clamp(70px,9vw,120px); max-width:1500px; margin:0 auto;
  }
  @media (min-width:576px){ .mw-grid{ column-count:2; } }
  @media (min-width:900px){ .mw-grid{ column-count:3; } }
  @media (min-width:1300px){ .mw-grid{ column-count:4; } }

  .mw-item{
    position:relative; break-inside:avoid; margin:0 0 16px;
    overflow:hidden; border-radius:3px; cursor:zoom-in;
    box-shadow:0 18px 40px -26px rgba(30,24,18,.35);
    opacity:0; transform:translateY(36px);
  }
  .mw-item img{
    width:100%; height:auto; display:block;
    transform:scale(1.001); transition:transform 1s cubic-bezier(.16,1,.3,1);
  }
  .mw-item:hover img{ transform:scale(1.06); }

  .mw-num{
    position:absolute; top:12px; left:12px; z-index:2;
    width:30px; height:30px; border-radius:50%;
    background:rgba(20,17,14,.55); backdrop-filter:blur(4px);
    color:var(--cream); font-family:var(--ff-d); font-size:13px;
    display:flex; align-items:center; justify-content:center;
    opacity:0; transform:translateY(-6px);
    transition:opacity .5s ease, transform .5s ease;
  }
  .mw-item:hover .mw-num{ opacity:1; transform:translateY(0); }

  .mw-cap{
    position:absolute; left:0; right:0; bottom:0; z-index:2;
    padding:34px 18px 16px;
    background:linear-gradient(to top, rgb(15 12 10 / 90%) 0%, rgb(15 12 10 / 47%) 55%, transparent 100%);
    transform:translateY(14px); opacity:0;
    transition:opacity .45s ease, transform .45s ease;
  }
  .mw-item:hover .mw-cap{ opacity:1; transform:translateY(0); }
  .mw-cap h3 {
    font-family: var(--ff-d);
    font-weight: 500;
    color: #ffffff;
    font-size: 24px;
    margin: 0 0 4px;
    line-height: 1.1;
    /* text-shadow: 0 0 5px #000; */
}
  .mw-cap .issuer{ font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); }

  /* lightbox */
  .mw-lb{
    position:fixed; inset:0; z-index:999; background:rgba(15,12,10,.92);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; padding:5vh 5vw;
  }
  .mw-lb.on{ opacity:1; visibility:visible; }
  .mw-lb-imgwrap{
    position:relative; display:inline-block; overflow:hidden;
    max-width:100%; max-height:90vh; line-height:0;
    box-shadow:0 40px 90px -20px rgba(0,0,0,.6); border-radius:2px;
    cursor:zoom-in;
  }
  .mw-lb-imgwrap img{
    display:block; max-width:100%; max-height:90vh; width:auto; height:auto;
    transform-origin:center center; transition:transform .25s ease-out;
  }
  .mw-lb-imgwrap img.zoomed{ transform:scale(2.2); cursor:zoom-out; }
  @media (hover:none){ .mw-lb-imgwrap{ cursor:default; } }
  .mw-lb-cap{ position:absolute; bottom:5vh; left:0; right:0; text-align:center; color:var(--cream); }
  .mw-lb-cap h3{display: none; font-family:var(--ff-d); font-weight:400; font-size:22px; margin:0 0 4px; }
  .mw-lb-cap .issuer{ display: none;font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; opacity:.7; }
  .mw-lb-close{
    position:absolute; top:26px; right:clamp(20px,4vw,50px);
    width:44px; height:44px; border:1px solid rgba(239,231,218,.4); border-radius:50%;
    color:var(--cream); background:transparent; font-size:18px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background .3s ease;
  }
  .mw-lb-close:hover{ background:rgba(239,231,218,.12); }

/* ##########################################################
   LOCATIONS PAGE
   ########################################################## */
.loc-hero{
    background: url(../img/contact-bg.png);
    background-position: center;
    background-size: cover;
    position: relative;
}
.loc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #0000008c;
}
.loc-hero .d1 {
    color: #fff;
}
.loc-hero p {
    color: #fff;
        font-size: 1.2vw;
}
.loc-hero{ padding:calc(var(--nav-h) + clamp(48px,7vw,110px)) var(--px) clamp(50px,7vw,100px); text-align:center; }
.loc-hero .rn{ font-family:var(--ff-d); font-size:clamp(28px,3vw,44px); letter-spacing:.1em; margin:0 0 clamp(14px,2vw,24px); }
.loc-hero p{ margin:clamp(20px,3vw,34px) auto 0; max-width:80ch; font-size:14.5px; line-height:1.8; opacity:.8; }

.loc-grid{ padding:50px var(--px) clamp(90px,6vw,150px);
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,30px); }

.loc-card{ position:relative; background:var(--cream); border:1px solid rgba(42,37,33,.16);
  border-radius:14px; overflow:hidden; display:flex; flex-direction:column;
  transition:transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease, border-color .55s ease;
  will-change:transform; }
.loc-card:hover{ transform:translateY(-8px); box-shadow:0 34px 60px -34px rgba(30,24,18,.5); border-color:rgba(42,37,33,.3); }

/* map strip */
.loc-map{ position:relative; height:clamp(150px,13vw,190px); overflow:hidden; background:var(--sand); }
.loc-map img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.22,1,.36,1); filter:saturate(.92); }
.loc-card:hover .loc-map img{ transform:scale(1.07); }
.loc-map::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,16,13,.05), rgba(20,16,13,.35)); }
.loc-pin{ position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); z-index:2;
  width:46px; height:46px; display:grid; place-items:center; }
.loc-pin .dot{ position:absolute; inset:0; border-radius:50%; background:var(--dark); opacity:.9;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.6); }
.loc-pin svg{ position:relative; width:22px; height:22px; fill:var(--cream); }
.loc-pin .pulse{ position:absolute; inset:0; border-radius:50%; border:2px solid var(--dark);
  animation:locPulse 2.4s ease-out infinite; }
@keyframes locPulse{ 0%{ transform:scale(.7); opacity:.7; } 100%{ transform:scale(2.1); opacity:0; } }

/* body */
.loc-body{ padding:clamp(22px,2.4vw,32px); display:flex; flex-direction:column; flex:1; }
.loc-body .idx{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--dark); opacity:.45; margin:0 0 10px; }
.loc-body h3{ font-family:var(--ff-d); font-weight:400; font-size:clamp(24px,2vw,32px); margin:0 0 14px; }
.loc-row{ display:flex; gap:12px; align-items:flex-start; margin:0 0 12px; font-size:13.5px; line-height:1.55; }
.loc-row svg{ flex:0 0 auto; width:17px; height:17px; margin-top:0px; stroke:var(--dark); fill:none; stroke-width:1.5; opacity:.7; }
.loc-row a{ color:var(--dark); border-bottom:1px solid transparent; transition:border-color .3s; }
.loc-row a:hover{ border-color:var(--dark); }

/* hours block */
.loc-hours{ margin-top:6px; padding-top:16px; border-top:1px solid rgba(42,37,33,.16); }
.loc-hours h6{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; opacity:.5; margin:0 0 10px; font-weight:400; }
.loc-hours dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:12.5px; }
.loc-hours dt{ opacity:.7; }
.loc-hours dd{ margin:0; text-align:right; }
.loc-hours dd.closed{ opacity:.5; }

.loc-cta{ margin-top:auto; padding-top:20px; }
.loc-cta .btn-x{ margin:0; width:100%; text-align:center; font-size:12px; padding:14px 18px; }

@media (max-width:991.98px){ .loc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .loc-grid{ grid-template-columns:1fr; } }

/* ##########################################################
   CONTACT PAGE
   ########################################################## */
.ct .nav ul a{color: #fff}
.ct{ background:var(--dark-2); color:var(--cream); }
.ct-hero{ padding:calc(var(--nav-h) + clamp(40px,6vw,90px)) var(--px) clamp(40px,5vw,74px); text-align:center; }
.ct-hero h1{ margin:0 0 clamp(15px,2.6vw,15px); }
.ct-hero p.lbl.gw-eyebrow {
    margin: 0px 0px 12px 0 !important;
    max-width: 100%;
}
/* info strip: email left, phones right, gold icon buttons */
.ct-info{ display:grid; grid-template-columns:1fr 1fr;
  border-top:1px solid rgb(94 94 93 / 16%); border-bottom:1px solid rgb(94 94 93 / 16%); }
.ct-info-cell{ display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:clamp(20px,2.4vw,30px) var(--px); }
.ct-info-cell:first-child{ border-right:1px solid rgb(94 94 93 / 16%); }
.ct-info-cell .lbl{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; opacity:.85; margin:0 0 8px; }
.ct-info-cell a, .ct-info-cell .val{ font-family:var(--ff-d); font-size:clamp(20px,1.9vw,28px); font-weight:400; }
.ct-phones{ display:flex; gap:clamp(24px,4vw,60px); }
.ct-phones .lbl{ opacity:.85; }
.ct-ico{ flex:0 0 auto; width:46px; height:46px; border-radius:8px; background:var(--gold);
  display:grid; place-items:center; transition:transform .4s ease; }
.ct-ico:hover{ transform:translateY(-3px); }
.ct-ico svg{ width:20px; height:20px; stroke:var(--dark-2); fill:none; stroke-width:1.6; }

/* map + form split */
.ct-main{ display:grid; grid-template-columns:1fr 1fr; }
.ct-map-side{ padding:clamp(30px,4vw,56px) var(--px); border-right:1px solid rgba(239,231,218,.16); }
.ct-map-side h2{ font-family:var(--ff-d); font-weight:400; font-size:clamp(24px,2.2vw,34px); margin:0 0 clamp(22px,2.6vw,34px); }
.ct-map{ position:relative; aspect-ratio:1/0.8; border-radius:6px; overflow:hidden; background:#2a2620; }
.ct-map iframe{ width:100%; height:100%; border:0; filter:grayscale(1) invert(.92) contrast(.9) hue-rotate(180deg); }
.ct-map-fallback{ position:absolute; inset:0; }
.ct-map-fallback img{ width:100%; height:100%; object-fit:cover; opacity:.5; }
.ct-map-pin{ position:absolute; z-index:2; width:34px; height:34px; transform:translate(-50%,-100%); }
.ct-map-pin svg{ width:100%; height:100%; fill:var(--cream); filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)); }

.ct-form-side{ padding:clamp(30px,4vw,56px) var(--px); }
.ct-form-side .intro{ font-family:var(--ff-d); font-size:clamp(22px,2vw,32px); line-height:1.28; margin:0 0 clamp(30px,4vw,48px); }
.ct-form{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,2.6vw,36px) clamp(20px,2.4vw,34px); }
.ct-field{ position:relative; }
.ct-field.full{ grid-column:1 / -1; }
.ct-field input, .ct-field textarea{ width:100%; background:transparent; border:0;
  border-bottom:1px solid rgb(138 138 138); color:#3a3a3a;
  font-family:var(--ff-b); font-size:14px; padding:10px 10px; outline:none;
  transition:border-color .35s ease; }
.ct-field textarea{ resize:vertical; min-height:26px; }
.ct-field input::placeholder, .ct-field textarea::placeholder{ color:#3a3a3a; }
.ct-field input:focus, .ct-field textarea:focus{ border-color:var(--gold); }
.ct-consent{ grid-column:1 / -1; display:flex; gap:12px; align-items:flex-start; font-size:12px; line-height:1.6; opacity:.72; }
.ct-consent input{ margin-top:3px; accent-color:var(--gold); flex:0 0 auto; }
.ct-consent a{ border-bottom:1px solid currentColor; }
.ct-submit{ grid-column:1 / -1; }
.ct-submit button{ width:100%; padding:16px; border:1px solid var(--dark-2); background:var(--dark-2); color:var(--cream);
  font-size:13px; letter-spacing:.06em; cursor:pointer; transition:background .4s ease, color .4s ease; }
.ct-submit button:hover{ background:transparent; color:var(--cream); }
/* Remove browser autofill background */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
    box-shadow: 0 0 0px 1000px transparent inset !important;
    -webkit-text-fill-color: #fff !important;
    background-color: transparent !important;
    transition: background-color 9999s ease-in-out 0s;
}
/* bottom full-bleed image */
.ct-photo{ height:clamp(340px,40vw,560px); overflow:hidden; }
.ct-photo img{ width:100%; height:100%; object-fit:cover; }

@media (max-width:991.98px){
  .ct-info{ grid-template-columns:1fr; }
  .ct-info-cell:first-child{ border-right:0; border-bottom:1px solid rgba(239,231,218,.16); }
  .ct-main{ grid-template-columns:1fr; }
  .ct-map-side{ border-right:0; border-bottom:1px solid rgba(239,231,218,.16); }
}
@media (max-width:575.98px){
  .ct-form{ grid-template-columns:1fr; }
  .ct-phones{ flex-direction:column; gap:14px; }
}

/* -- select fields to match ct-field inputs --------------- */
.ct-field select{ width:100%; background:transparent; border:0; border-bottom:1px solid rgb(138 138 138);
  padding:10px 24px 10px 10px; font-family:var(--ff-b); font-size:14px; color:#3a3a3a;
  -webkit-appearance:none; appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='%233a3a3a' stroke-width='1.6'/></svg>");
  background-repeat:no-repeat; background-position:right 2px center; background-size:16px;
  border-radius:0; transition:border-color .3s ease; }
.ct-field select:focus{ border-color:var(--gold); outline:none; }
.ct-field select option{ background:var(--dark-2); color:var(--cream); }
/*.ct-field select:invalid{ color:rgba(239,231,218,.55); }*/

/* ==========================================================
   GROW WITH US / PARTNER SECTIONS (contact page)
   ========================================================== */
.gw-eyebrow{ color:var(--gold); margin:0 0 12px;font-size: 20px;
    font-weight: 600;  }

/* -- hero: full-screen with scroll-down arrow --------------- */
.ct-hero-full{ min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding-top:var(--nav-h); padding-bottom:clamp(60px,8vw,100px); position:relative; box-sizing:border-box; }
.ct-hero-inner{ max-width:900px; }
.ct-hero-arrow{ position:absolute; left:50%; bottom:clamp(22px,3.4vw,42px); transform:translateX(-50%);
  width:46px; height:46px; border:1px solid rgb(40 39 38); border-radius:50%; display:flex;
  align-items:center; justify-content:center; color:#535353; cursor:pointer;
  animation:ctArrowBounce 2.2s ease-in-out infinite; transition:border-color .3s ease, background .3s ease; }
.ct-hero-arrow:hover{ border-color:var(--gold); background:rgba(239,231,218,.08); }
@keyframes ctArrowBounce{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,8px); } }
.gw-head{ text-align:center; max-width:100ch; margin:0 auto clamp(36px,2.4vw,64px); }
.gw-head h2{ margin:0;max-width: 100%;
    display: flex;
    justify-content: center; }

.gw-about{ padding:0 var(--px) clamp(50px,6vw,90px); }
.gw-wrap{ max-width:880px; margin:0 auto; text-align:center; }
.gw-wrap h2{ margin:0 0 clamp(12px,2.6vw,15px); }
.gw-wrap p{ margin:0 0 18px; font-size:14.5px; line-height:1.85; opacity:1; }

.gw-about p.lbl.gw-eyebrow {
    font-size: 20px;
    font-weight: 600;
}
.gw-wrap p:last-child{ margin-bottom:0; }
.gw-hero-cta{ margin-top:clamp(20px,3vw,32px); }

.gw-why, .gw-invest, .gw-support{ padding:clamp(20px,1vw,30px) var(--px) clamp(50px,8vw,80px); }

.gw-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,1.6vw,26px);
  max-width:1300px; margin:0 auto; }
.gw-grid-5{ grid-template-columns:repeat(5,1fr); }
.gw-card{ padding:clamp(30px,3vw,42px) clamp(20px,2vw,28px); }
.gw-icon{ position:relative; z-index:2; display:flex; align-items:center; justify-content:center;
  width:54px; height:54px; margin:0 auto 18px; border-radius:50%;
  background:rgba(184,140,80,.12); color:var(--gold); }
.gw-icon svg{ width:24px; height:24px; }
.gw-card h3{ font-family:var(--ff-d); font-weight:400; font-size:clamp(19px,1.6vw,24px); margin:0 0 10px; }
.gw-card p{ font-size:13.5px; line-height:1.7; opacity:.78; margin:0;    color: #282828; }

.gw-stats-wrap{ padding:0 var(--px) clamp(70px,8vw,60px); }
.gw-stats{ max-width:1200px; margin:0 auto; border-radius:6px; overflow:hidden;
  border-color:rgba(239,231,218,.16) !important; background:rgba(239,231,218,.16) !important; }

@media (max-width:991.98px){
  .gw-grid{ grid-template-columns:repeat(2,1fr); }
  .gw-grid-5{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:575.98px){
  .gw-grid, .gw-grid-5{ grid-template-columns:1fr; }
}

/* ##########################################################
   AWARDS PAGE  (different layout from home carousel)
   ########################################################## */
.aw-hero{
    background: url(../img/contact-bg.png);
    background-position: center;
    background-size: cover;
    position: relative;
}
.aw-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #0000008c;
}
.aw-hero .d1 {
    color: #fff;
}
.aw-hero p {
    color: #fff;
        font-size: 1.2vw;
}
.aw-hero{ padding:calc(var(--nav-h) + clamp(48px,7vw,110px)) var(--px) clamp(50px,7vw,100px); text-align:center; }
.aw-hero .rn{ display: none;font-family:var(--ff-d); font-size:clamp(28px,3vw,44px); letter-spacing:.1em; margin:0 0 clamp(14px,2vw,24px); }
.aw-hero p{ margin:clamp(0px,3vw,10px) auto 0; max-width:80ch; font-size:14.5px; line-height:1.8; opacity:.8; }

/* stat band */

.aw-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#efe7da;
  border-top:1px solid rgba(42,37,33,.16); border-bottom:1px solid rgba(42,37,33,.16); margin-bottom:0; }
.aw-stat{ background:#efe7da; padding:clamp(28px,3.4vw,50px) var(--px); text-align:center; }
.aw-stat .num{ font-family:var(--ff-d); font-size:clamp(38px,4.4vw,68px); line-height:1; color:var(--dark); }
.aw-stat .lbl{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; opacity:1; margin-top:10px;    color: #282828; }

/* list — modern card grid, 4 per row */
.aw-grid{ padding:0 var(--px) clamp(70px,9vw,120px);  margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,1.6vw,26px); }
.aw-card{ position:relative; background:var(--cream); border:1px solid rgba(42,37,33,.14);
  border-radius:5px; padding:clamp(24px,2.0vw,0px) clamp(12px,1vw,30px) clamp(12px,2.2vw,24px);
  overflow:hidden; text-align:center; isolation:isolate;
  transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease, border-color .5s ease; }
/* soft sheen that sweeps across on hover */
/*
.aw-card::before{ content:""; position:absolute; top:0; left:-60%; width:55%; height:100%; z-index:1;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform:skewX(-18deg); transition:left .7s cubic-bezier(.22,1,.36,1); pointer-events:none; }
*/
.aw-card:hover{ transform:translateY(-10px); box-shadow:0 40px 66px -34px rgba(30,24,18,.5);
  border-color:rgba(42,37,33,.28); }
.aw-card:hover::before{ left:120%; }
/* corner index chip */
.aw-chip{ position:absolute; top:14px; right:16px; z-index:2; font-family:var(--ff-d);
  font-size:14px; opacity:.35; }
/* badge */
.aw-badge{ position:relative; width:clamp(96px,22vw,260px); aspect-ratio:1; margin:6px auto clamp(20px,1vw,0px);
  display:grid; place-items:center; z-index:2; }
.aw-badge::after{ content:""; position:absolute; inset:-14%; border-radius:50%;
  background:radial-gradient(circle, rgba(224,145,62,.16), transparent 68%);
  opacity:0; transition:opacity .5s ease; }
.aw-card:hover .aw-badge::after{ opacity:1; }
.aw-badge .ring{ position:absolute; inset:-6%; border-radius:50%; border:1px dashed rgba(42,37,33,.28);
  opacity:0; transition:opacity .5s ease; }
.aw-card:hover .aw-badge .ring{ opacity:1; animation:awSpin 14s linear infinite; }
.aw-badge img{ width:100%; height:100%; object-fit:contain; position:relative; z-index:2;
  transition:transform .6s cubic-bezier(.22,1,.36,1); }
.aw-card:hover .aw-badge img{ transform:scale(1.08); }
@keyframes awSpin{ to{ transform:rotate(360deg); } }
/* text */
.aw-card h3{ font-family:var(--ff-d); font-weight:500; font-size:clamp(22px,1.5vw,24px); margin:0 0 10px; line-height:1.12; position:relative; z-index:2;    color: #282828; }
.aw-card .issuer{ display:inline-block; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  opacity:.6; position:relative; z-index:2; }
.aw-card .issuer::before{ content:""; display:block; width:26px; height:1px; background:var(--orange);
  margin:0 auto 12px; }
.num1 {
    font-family: auto !important;
}

@media (max-width:1100px){ .aw-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767.98px){ .aw-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .aw-stats{ grid-template-columns:1fr; } .aw-grid{ grid-template-columns:1fr; } }

/* ==========================================================
   9 · FOOTER
   ========================================================== */
span.sp {
   font-size: clamp(24px, 1.7vw, 62px); 
}

.foot{ background:var(--dark-2); color:var(--cream); padding:var(--sec) var(--px) 10px;    padding-top: 70px;position: relative}
.foot h6{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; opacity:1; margin:0 0 16px; font-weight:400; }
.foot-top{ display:grid; grid-template-columns:3fr 1fr .9fr; gap:clamp(26px,4vw,70px); padding-bottom:clamp(34px,4vw,60px); border-bottom:1px solid rgba(239,231,218,.16); }
.foot-loc{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }
.foot-loc h4{ font-family:var(--ff-d); font-size:26px; font-weight:400; margin:0 0 8px; text-transform:uppercase; }
.foot p, .foot a{ font-size:12px; line-height:2.4; margin:0; }
.foot-hours{ font-size:13.5px; line-height:1.9; }
.foot-cols{ display:grid; grid-template-columns:6fr 3fr 3fr; gap:clamp(20px,3vw,50px);padding-bottom: 4vw; }
.foot-cols a{ display:block; opacity:.72; transition:opacity .3s; }
.foot-cols a:hover{ opacity:1; }
.foot-cols:first-child div {
    padding-right: 16vw;
}
.foot-cols:first-child .loc {
    padding-right: 0;
    padding-top: 3vw;
}
.foot-cols h5 {
    font-size: 13px;
}
.foot p {
    line-height: 22px;
}
/*
.foot-word{
  font-family:var(--ff-d); font-size:clamp(46px,13.4vw,210px); line-height:.86; text-transform:uppercase;
  color:rgba(239,231,218,.1); text-align:center; margin:clamp(20px,3vw,44px) 0 24px;
}
*/
.foot-base{ display:flex; flex-wrap:wrap; gap:12px 26px; justify-content:space-between;
  border-top:1px solid rgba(239,231,218,.16); padding-top:10px; font-size:12px; opacity:.6; }
@media (max-width:575.98px){ 
    
.foot-cols:first-child div {
    padding-right: 0vw;
 }
}
/* ==========================================================
   MOBILE — separate block, no desktop cross-talk
   ========================================================== */
@media (max-width:991.98px){
  :root{ --nav-h:64px; }
  .nav{ grid-template-columns:auto 1fr auto; }
.nav ul, .acct, .nav-wave{ display:none !important; }  .burger{ display:flex;        justify-content: center; }
  .brand{ text-align:center; padding:0; font-size:18px; letter-spacing:.26em; }
     .m-cta {
        display: inline-flex;
        align-items: center;
        height: 34px;
        padding: 0 14px;
        /* background: var(--dark); */
        color: #2c2c2c;
        font-size: 11px;
        letter-spacing: .12em;
        text-transform: uppercase;
         gap: 5px;
    }
  .hero-title{ top:32%; padding:0 var(--px);margin-bottom: 34px;position: relative}
  .hero-side{ display:none; }
  .hero-sides-m{ position:absolute; left:0; right:0; top:15%; margin-top:clamp(90px,28vw,160px); z-index:3;
    display:flex; justify-content:space-between; padding:0 var(--px); color:var(--cream); }
  .hero-copy{        position: absolute;
        max-width: none;
        bottom: 0;
        margin-top: 0;
        top: 46%;
        max-width: 360px;}
/*
    .hero {
    position: relative;
    height: 50svh;
    min-height: 600px;
    overflow: hidden;
    background: var(--dark-2);
}
*/
  .rate{ position:static; width:100%; margin-top:16px; }
  .hero-bottom-m{ position:absolute; left:0; right:0; bottom:20px; z-index:3; padding:0 var(--px); }
  .rate-num{ font-size:36px; }

  .plates{ grid-template-columns:1fr; }
  .plates-right{ position:static; height:auto; }
  .plates-img{ height:56vw; min-height:280px; }

  .trio{ grid-template-columns:1fr; gap:34px; }
  .trio .shot{ height:70vw; min-height:300px; }

  .drinks{ grid-template-columns:1fr; }
  .drinks-left{ position:static; height:auto; padding:var(--sec) var(--px); }
  .drinks-right .shot{ height:80vw; min-height:340px; }

  .band{ grid-template-columns:1fr; row-gap:8px; text-align:center; }
  .band .side.l, .band .side.r{ text-align:center; padding:0; }

  .fan{ height:82vw; min-height:340px; }
  .gift-side{ display:none; }
  .gift-sides-m{ display:flex; justify-content:space-between; gap:14px; margin-top:20px; text-align:left; }

  .malai{ grid-template-columns:1fr; min-height:0; }
  .malai-l{ height:78vw; min-height:340px; }
  .malai-cap{ font-size:26px; bottom:24px; }
  .malai-r{ padding:clamp(74px,18vw,110px) var(--px) clamp(46px,10vw,70px); }
  .mandalas{ top:78vw; width:30vw; }
  .mandala.a{ color:#C6A46A; }

  .says-head{ flex-direction:column; }
  .says .rate-row{ width:100%; margin-top:16px; }
  .qcard{ width:74vw; }

  .foot-top{ grid-template-columns:1fr; }
  .foot-cols{ grid-template-columns:1fr 1fr; row-gap:32px; }
  .rooted-in p{ max-width:none; }
}
@media (min-width:992px){
  .hero-sides-m, .hero-bottom-m, .gift-sides-m{ display:none; }
}
@media (max-width:575.98px){
    span.sp {
    font-family: auto;
    font-size: 20px;
}
    img.desi-logo {
    max-width: 160px;
    margin: auto;
}
    .bg {
    position: absolute;
    right: 0;
    max-width: 86px !important;
    bottom: 0;
}
  .foot-cols{ grid-template-columns:1fr; }
  .foot-loc{ grid-template-columns:1fr; }
  .qcard{ width:82vw; }
  .says .rate-row{ grid-template-columns:1fr 1fr; gap:9px; }
  .says .rate .rate-num{ font-size:22px; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001s !important; transition-duration:.001s !important; }
}
/* ##########################################################
   FOOTER — brand block (3 logos + tagline) + right columns
   ########################################################## */
.foot-main{ display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(30px,0vw,90px);
  align-items:start; padding-bottom:clamp(46px,6vw,86px); }

/* left: three logos in a row with dividers */
.foot-brand{ }
.foot-logos{ display:flex; align-items:center; gap:clamp(18px,2.4vw,40px); flex-wrap:wrap; }
.foot-logos .fl{ display:flex; align-items:center; justify-content:center; min-height:64px; }
.foot-logos .fl img{ display:block; max-height:90px; width:auto; }
.foot-logos .fl-div{ width:1px; align-self:stretch; min-height:64px; background:rgba(239,231,218,.28); }

/* logo 1 — wordmark (uses site logo if present, else text) */
.fl-word{ font-family:var(--ff-d); font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  font-size:clamp(20px,1.8vw,28px); color:#e77819; line-height:1; }
.fl-word small{ display:block; font-size:.42em; letter-spacing:.4em; opacity:.8; margin-top:6px; }

/* logo 2 — crest emblem (SVG) */
.fl-crest{ text-align:center; color:#e77819; }
.fl-crest svg{ width:46px; height:46px; display:block; margin:0 auto 6px; fill:currentColor; }
.fl-crest .est{ font-family:var(--ff-b); font-size:10px; letter-spacing:.24em; text-transform:uppercase; opacity:.85; }
.fl-crest .star{ font-size:11px; opacity:.7; margin-top:2px; }

/* logo 3 — years-of-legacy badge (SVG number + script) */
.fl-legacy {
    text-align: center;
    color: #e77819;
    line-height: 1.3;
    display: grid;
}.fl-legacy .yr{ font-family:var(--ff-d); font-size:clamp(34px,3.4vw,52px); font-weight:500; }
.fl-legacy .lbl{ font-family:var(--ff-d); font-style:italic; font-size:14px; letter-spacing:.06em; margin-top:2px; }
.fl-legacy .sub{ font-family:var(--ff-b); font-size:9px; letter-spacing:.24em; text-transform:uppercase; opacity:1; margin-top:3px; }

/* big serif tagline */
.foot-tag {
    font-weight: 400;
    color: var(--cream);
    font-size: clamp(24px, 1.8vw, 62px);
    line-height: 1.2;
    margin: clamp(28px, 3.4vw, 50px) 0 0;
    max-width: 45ch;
}

span.sun {
    font-family: serif;
    font-size: 40px;
}
/* right: discover + socials */
.foot-right{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:clamp(0px,0vw,44px); }
.foot-right h6{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; margin:0 0 16px; font-weight:400; }
.foot-right a{ display: block;
    font-size: 14px;
    line-height: 2.2;
    opacity: 1;
    transition: opacity .3s;
    font-weight: 500;}
.foot-right a:hover {
    /* text-decoration: underline; */
    color: #e06c0c;
}
.foot-right a:hover{ opacity:1; }

@media (max-width:991.98px){
    .ct .ovl.open li a {
    color: #282828;
}
  .foot-main{ grid-template-columns:1fr; gap:clamp(34px,7vw,54px); }
}
@media (max-width:575.98px){
  .foot-logos{ gap:20px; }
  .foot-logos .fl, .foot-logos .fl img, .foot-logos .fl-div{ min-height:auto; max-height:52px; }
  .foot-right{ grid-template-columns:1fr 1fr; }
    .rooted {
    position: relative;
    height: 60svh;
    }
    .fl-crest svg {
   margin: 0 auto 0px;}
    .fl-legacy .yr {
    font-family: var(--ff-d);
    font-size: clamp(25px, 3.4vw, 52px);
    font-weight: 500;
}
    .malai-l > img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
    .foot span.fl-word img {
    max-width: 86px;
}
    .foot-tag {
    font-family: var(--ff-d);
    font-weight: 400;
    color: var(--cream);
    font-size: clamp(24px, 2.0vw, 62px);
    line-height: 1.05;
    margin: clamp(28px, 3.4vw, 50px) 0 0;
    max-width: 30ch;
}
    span.sun {
    font-family: serif;
    font-size: 18px;
}
    .spirit {
    position: relative;
    height: 90vh;
    background: var(--beige);
}
 
    .spirit-in {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    padding: clamp(40px, 6vw, 86px) var(--px);
    color: var(--cream);
    max-width: 760px;
    top: auto;
}
    .malai-r {
        padding: clamp(60px, 0vw, 96px) var(--px) clamp(46px, 10vw, 70px);
    }
.spirit-sticky {
    position: sticky;
    top: 0;
    height: 90svh;
    overflow: hidden;
}
    .m-cta img
    {
            max-width: 22px !important;
    }
    .hero {
        position: relative;
        height: 50svh;
        min-height: 420px;
    }
    .about-p h1 {
    margin-bottom: 34px;
    display: inline-flex;
}
    .hosp-txt {
    padding: clamp(19px, 0vw, 130px);
}
    #hospitality blockquote {
    display: flex;
    gap: 10px;
}
    .trad {
    padding: clamp(30px, 3vw, 130px);
   
}
 .rate {
        position: static;
        width: 100%;
        margin-top: 16px;
        left: 0;
    }
    span.test-b {
    padding-left: 2px;
}
    .cc-p{
        min-height: 40vh;
    }
    section.ct-hero.cc-p p{font-size: 3.2vw !important}
} 
.ct-hero.cc-p h1 {
    color: #fff;
    display: flex;
    line-height:58px;
}