/* ============================================
   STAY — Cinematic build
   Soft sunlit cream, pampas gold, marble calm.
   Full-screen scenes + scroll-driven motion.
   ============================================ */

:root{
  --cream:#F4EEE3; --cream-deep:#E9DECB; --paper:#FCF8F0;
  --ink:#3D352A; --ink-soft:#7A7062; --gold:#C29A52; --gold-deep:#A07E35;
  --display:"Cormorant Garamond",Georgia,serif;
  --body:"Inter",system-ui,sans-serif;
  --maxw:1180px; --gutter:clamp(1.25rem,4vw,3.5rem);
  --radius:20px; --pill:999px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.04;letter-spacing:.01em;}
.display-xl{font-size:clamp(3.2rem,12vw,9rem);font-weight:500;}
.display-l{font-size:clamp(2.4rem,6vw,4.8rem);}
.display-m{font-size:clamp(1.9rem,4vw,3rem);}
.eyebrow{font-family:var(--body);font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;font-weight:600;color:var(--gold-deep);}
.lede{font-size:clamp(1.05rem,1.7vw,1.28rem);color:var(--ink-soft);max-width:54ch;}

/* ---- Nav ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem var(--gutter);transition:background .4s ease,padding .4s ease,box-shadow .4s ease;}
.nav.solid{background:rgba(252,248,240,.9);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(61,53,42,.08);}
.brand{font-family:var(--display);font-size:1.85rem;font-weight:600;letter-spacing:.42em;color:var(--ink);transition:color .4s ease;padding-left:.42em;text-transform:uppercase;font-style:normal;text-shadow:0 1px 12px rgba(0,0,0,.15);}
.nav.solid .brand{color:var(--ink);}
.nav-links{display:flex;gap:1.8rem;align-items:center;}
.nav-links a{font-size:.86rem;font-weight:600;color:var(--ink);position:relative;transition:color .3s ease;text-shadow:0 1px 12px rgba(0,0,0,.18);}
.nav.solid .nav-links a{color:var(--ink-soft);text-shadow:none;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1.5px;background:var(--gold);transition:width .25s ease;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav.solid .nav-links a:hover,.nav.solid .nav-links a.active{color:var(--ink);}
.nav-cta{border:1px solid currentColor;padding:.55rem 1.3rem;border-radius:var(--pill);font-size:.82rem;}
.nav-cta::after{display:none !important;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:.5rem;}
.menu-toggle span{width:24px;height:2px;background:var(--ink);transition:.3s;}
.nav.solid .menu-toggle span{background:var(--ink);}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2rem;border-radius:var(--pill);font-weight:600;font-size:.9rem;cursor:pointer;border:none;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.btn-primary{background:var(--gold);color:#2A2012;}
.btn-primary:hover{background:var(--gold-deep);color:var(--paper);transform:translateY(-2px);box-shadow:0 10px 26px rgba(160,126,53,.32);}
.btn-light{background:var(--paper);color:var(--ink);}
.btn-light:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.18);}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px);}
.btn-outline-light{background:transparent;color:var(--paper);border:1.5px solid rgba(252,248,240,.7);}
.btn-outline-light:hover{background:var(--paper);color:var(--ink);}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(4rem,9vw,7rem);}
.center{text-align:center;}

/* ============ CINEMATIC HERO ============ */
.cine-hero{position:relative;height:100vh;min-height:600px;overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--paper);background:var(--cream);}
.cine-hero video,.cine-hero .hero-media{position:absolute;top:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:none;object-fit:cover;}
.cine-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 80% at center, rgba(40,32,20,.34), transparent 75%);z-index:1;pointer-events:none;}
.cine-hero-content{position:relative;z-index:2;padding:var(--gutter);}
.cine-hero .eyebrow{color:rgba(252,248,240,.9);display:block;margin-bottom:1rem;}
.cine-hero h1{color:var(--paper);margin-bottom:1.4rem;text-shadow:0 2px 30px rgba(0,0,0,.25);}
.cine-hero h1 em{font-style:italic;color:#F0DDB0;}
.cine-hero p{color:rgba(252,248,240,.92);font-size:clamp(1.05rem,2vw,1.4rem);max-width:46ch;margin:0 auto 2rem;font-family:var(--display);font-style:italic;}
.cine-hero .hero-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;color:rgba(252,248,240,.8);font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;animation:bob 2.2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}

/* ============ PARALLAX WHEAT SCENE ============ */
.parallax-scene{position:relative;min-height:115vh;overflow:hidden;background:linear-gradient(180deg,var(--cream),var(--cream-deep));display:grid;place-items:center;}
.parallax-scene .layer{position:absolute;will-change:transform;opacity:.9;}
.parallax-scene .layer svg{display:block;}
.parallax-copy{position:relative;z-index:5;text-align:center;max-width:30ch;padding:var(--gutter);}
.parallax-copy h2{margin-bottom:1rem;}

/* ============ PINNED TAGLINE REVEAL ============ */
.pin-tagline{position:relative;height:300vh;}
.pin-tagline .pin-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center;}
.pin-tagline .pin-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pin-tagline .pin-stage::after{content:"";position:absolute;inset:0;background:rgba(40,32,20,.32);}
.pin-words{position:relative;z-index:3;text-align:center;color:var(--paper);font-family:var(--display);font-size:clamp(2.4rem,7vw,6rem);line-height:1.12;font-weight:500;padding:var(--gutter);}
.pin-words .w{opacity:.18;transition:opacity .35s ease,color .35s ease;}
.pin-words .w.lit{opacity:1;color:#F4E4BF;}

/* ============ Feature cards ============ */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem;}
.card{background:var(--paper);border:1px solid rgba(194,154,82,.22);border-radius:var(--radius);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease;}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(61,53,42,.14);}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.card-body{padding:1.3rem 1.4rem 1.6rem;}
.card-body h3{font-size:1.75rem;margin-bottom:.3rem;}
.card-body p{color:var(--ink-soft);font-size:.93rem;margin-bottom:.8rem;}
.card-link{font-weight:600;font-size:.86rem;color:var(--gold-deep);display:inline-flex;gap:.4rem;}
.card-link span{transition:transform .2s ease;}
.card:hover .card-link span{transform:translateX(5px);}

/* ============ Pastry video split ============ */
.video-split{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.video-split .vid{border-radius:var(--radius);overflow:hidden;aspect-ratio:9/13;background:#222;box-shadow:0 24px 60px rgba(61,53,42,.2);}
.video-split .vid video{width:100%;height:100%;object-fit:cover;}
.video-split h2{margin-bottom:1.1rem;}
.video-split p{color:var(--ink-soft);margin-bottom:1rem;}

/* ============ Marquee ============ */
.marquee{background:var(--ink);color:var(--cream);padding:1rem 0;overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-flex;gap:3rem;animation:scroll 32s linear infinite;padding-left:3rem;}
.marquee span{font-family:var(--display);font-size:1.6rem;font-style:italic;}
.marquee .star{color:var(--gold);font-style:normal;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---- Split (generic) ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.split.reverse .split-media{order:2;}
.split-media{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;}
.split-media img{width:100%;height:100%;object-fit:cover;}
.split-text h2{margin-bottom:1.1rem;}
.split-text p{color:var(--ink-soft);margin-bottom:1rem;}

/* ---- Gallery ---- */
.gallery{columns:3 250px;column-gap:1.1rem;}
.gallery figure{break-inside:avoid;margin-bottom:1.1rem;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;position:relative;}
.gallery img{width:100%;transition:transform .5s ease;}
.gallery figure:hover img{transform:scale(1.06);}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1rem .9rem;color:var(--paper);font-size:.85rem;background:linear-gradient(transparent,rgba(40,32,20,.72));opacity:0;transition:opacity .3s ease;}
.gallery figure:hover figcaption{opacity:1;}
.lightbox{position:fixed;inset:0;background:rgba(30,24,15,.93);z-index:200;display:none;align-items:center;justify-content:center;padding:2rem;cursor:zoom-out;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90%;max-height:88vh;border-radius:var(--radius);}

/* ---- Events ---- */
.event{display:grid;grid-template-columns:120px 1fr auto;gap:1.5rem;align-items:center;padding:1.5rem 0;border-top:1px solid rgba(194,154,82,.3);}
.event:last-child{border-bottom:1px solid rgba(194,154,82,.3);}
.event-date{font-family:var(--display);}
.event-date .day{font-size:2.8rem;display:block;line-height:1;font-weight:600;}
.event-date .mon{text-transform:uppercase;letter-spacing:.18em;font-family:var(--body);font-size:.72rem;font-weight:600;color:var(--gold-deep);}
.event-info h3{font-size:1.7rem;margin-bottom:.2rem;}
.event-info p{color:var(--ink-soft);font-size:.92rem;}
.event-tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;background:var(--gold);color:#2A2012;padding:.32rem .75rem;border-radius:var(--pill);font-weight:600;}

/* ---- Products ---- */
.filter-bar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2.4rem;}
.filter-bar button{border:1.5px solid rgba(61,53,42,.22);background:transparent;color:var(--ink-soft);padding:.5rem 1.2rem;border-radius:var(--pill);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;}
.filter-bar button:hover{border-color:var(--ink);color:var(--ink);}
.filter-bar button.active{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;}
.product{background:var(--paper);border:1px solid rgba(194,154,82,.22);border-radius:var(--radius);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;}
.product:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(61,53,42,.14);}
.product-img{aspect-ratio:1;overflow:hidden;}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.product:hover .product-img img{transform:scale(1.07);}
.product-body{padding:1.1rem 1.3rem 1.4rem;}
.product-body .row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.product-body h3{font-size:1.5rem;}
.product-body .price{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--gold-deep);white-space:nowrap;}
.product-body p{color:var(--ink-soft);font-size:.88rem;margin-top:.25rem;}

/* ---- Place ---- */
.place-hero{position:relative;height:74vh;min-height:440px;border-radius:var(--radius);overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--paper);}
.place-hero img,.place-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.place-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(40,32,20,.18),rgba(40,32,20,.5));}
.place-hero .place-hero-text{position:relative;z-index:2;padding:var(--gutter);}
.place-hero h1{color:var(--paper);}
.map-embed{border-radius:var(--radius);overflow:hidden;border:0;width:100%;height:420px;}

/* ---- Contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);}
.field{margin-bottom:1.1rem;}
.field label{display:block;font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-bottom:.4rem;}
.field input,.field textarea{width:100%;padding:.85rem 1rem;border-radius:14px;border:1.5px solid rgba(61,53,42,.2);background:var(--paper);font-family:var(--body);font-size:.95rem;color:var(--ink);transition:border-color .2s ease;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);}
.info-line{display:flex;gap:.8rem;padding:.9rem 0;border-bottom:1px solid rgba(194,154,82,.28);}
.info-line strong{font-family:var(--display);font-size:1.25rem;font-weight:600;}

/* ---- Footer ---- */
.footer{background:#3D0A0A;color:#C2A878;padding-block:clamp(3rem,6vw,5rem);}
.footer-top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start;}
.footer h2{font-size:clamp(2.2rem,6vw,4rem);color:#D9C3A0;max-width:18ch;}
.footer-cols{display:flex;gap:3.5rem;flex-wrap:wrap;}
.footer-col h4{font-family:var(--body);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#D9C3A0;margin-bottom:.9rem;}
.footer-col a,.footer-col p{display:block;color:rgba(194,168,120,.85);font-size:.92rem;margin-bottom:.5rem;transition:color .2s ease;}
.footer-col a:hover{color:#E7D6B8;}
.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(194,168,120,.25);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.82rem;color:rgba(194,168,120,.7);}

/* ---- Reveal ---- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
.reveal.from-left{transform:translateX(-50px);}
.reveal.from-right{transform:translateX(50px);}
.reveal.from-left.in,.reveal.from-right.in{transform:none;}

.sec-head{max-width:60ch;margin-bottom:clamp(2rem,4vw,3rem);}
.sec-head .eyebrow{display:block;margin-bottom:.8rem;}
.sec-head h2{margin-bottom:.8rem;}

/* ---- Responsive ---- */
@media (max-width:860px){
  .nav-links{position:fixed;inset:0 0 0 28%;flex-direction:column;justify-content:center;background:var(--cream);padding:2rem;gap:1.6rem;transform:translateX(100%);transition:transform .35s ease;box-shadow:-20px 0 50px rgba(0,0,0,.12);}
  .nav-links.open{transform:translateX(0);}
  .nav-links a{color:var(--ink) !important;}
  .menu-toggle{display:flex;}
  .split,.contact-grid,.video-split{grid-template-columns:1fr;}
  .split.reverse .split-media{order:0;}
  .video-split .vid{max-width:340px;margin:0 auto;}
  .event{grid-template-columns:78px 1fr;}
  .event .event-tag{grid-column:2;justify-self:start;}
  .gallery{columns:2 150px;}
  .footer-top{flex-direction:column;}
  .pin-tagline{height:200vh;}
}
@media (max-width:520px){.gallery{columns:1;}.hero-row .btn{width:100%;justify-content:center;}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;}
  .cine-hero video,.pin-tagline .pin-bg{display:block;}
  .pin-words .w{opacity:1;color:#F4E4BF;}
  .pin-tagline{height:auto;}
  .pin-tagline .pin-stage{position:relative;height:80vh;}
}

/* ---- Inner-page hero (under fixed nav) ---- */
.hero{text-align:center;padding-top:clamp(7rem,12vw,10rem);padding-bottom:clamp(2rem,5vw,3.5rem);}
.hero .eyebrow{display:block;margin-bottom:1rem;}
.hero h1{margin-bottom:1.3rem;}
.hero h1 em{font-style:italic;color:var(--gold-deep);}
.hero .lede{margin:0 auto 2rem;}
.hero-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;}
.hero-figure{margin:clamp(2rem,5vw,3.5rem) auto 0;max-width:980px;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/8;position:relative;}
.hero-figure img{width:100%;height:100%;object-fit:cover;}
.hero-badge{position:absolute;top:1.5rem;right:1.5rem;width:clamp(86px,11vw,128px);height:clamp(86px,11vw,128px);border-radius:50%;background:var(--paper);display:grid;place-items:center;text-align:center;font-family:var(--display);font-weight:600;font-size:clamp(.75rem,1.4vw,1rem);line-height:1.2;box-shadow:0 12px 30px rgba(61,53,42,.18);}
/* place.html hero needs offset too */
.place-offset{padding-top:clamp(6rem,10vw,8rem);}

/* cooking video moment — video on right, narrower */
.video-split.reverse-split{grid-template-columns:1fr .85fr;}
@media (max-width:860px){.video-split.reverse-split{grid-template-columns:1fr;}}

/* ---- Brunch feature band (full-bleed cinematic) ---- */
.brunch-band{position:relative;min-height:70vh;display:grid;place-items:center;text-align:center;color:var(--paper);overflow:hidden;margin-block:clamp(2rem,5vw,4rem);}
.brunch-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.brunch-band::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(40,32,20,.3),rgba(40,32,20,.55));}
.brunch-copy{position:relative;z-index:2;padding:var(--gutter);max-width:32ch;}
.brunch-copy .eyebrow{display:block;margin-bottom:1rem;}
.brunch-copy h2{margin-bottom:1rem;}
.brunch-copy p{font-family:var(--display);font-style:italic;font-size:clamp(1.05rem,2vw,1.3rem);margin-bottom:1.6rem;color:rgba(252,248,240,.95);}

/* ---- Floating real photos in parallax scene ---- */
.photo-layer{width:clamp(120px,16vw,210px);border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(61,53,42,.22);border:3px solid var(--paper);}
.photo-layer img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.photo-layer:nth-child(2){aspect-ratio:auto;}
.photo-layer:nth-child(2) img,.photo-layer:nth-child(4) img{aspect-ratio:4/3;}
@media (max-width:860px){
  /* keep two photos on mobile so it isn't cluttered, smaller */
  .photo-layer{width:110px;}
  .photo-layer:nth-child(3),.photo-layer:nth-child(4){display:none;}
}

/* hero without headline — give the tagline more presence */
.cine-hero p{font-size:clamp(1.4rem,3.2vw,2.6rem);line-height:1.25;max-width:20ch;}
.cine-hero .eyebrow{font-size:.82rem;margin-bottom:1.6rem;}

/* story headline: balanced, two-to-three tidy lines in the centre column */
.parallax-copy{max-width:30ch;}
.parallax-copy h2{font-size:clamp(1.7rem,3.2vw,2.5rem);text-wrap:balance;}

/* ===== EXPERT MOTION LAYER ===== */

/* Hero intro choreography */
.cine-hero .eyebrow{opacity:0;transform:translateY(22px);transition:opacity .7s ease .15s,transform .7s ease .15s;}
.cine-hero p{opacity:0;transform:translateY(28px);transition:opacity .8s ease .35s,transform .8s ease .35s;}
.cine-hero .hero-row{opacity:0;transform:translateY(28px);transition:opacity .8s ease .55s,transform .8s ease .55s;}
.cine-hero.intro .eyebrow,.cine-hero.intro p,.cine-hero.intro .hero-row{opacity:1;transform:none;}
.cine-hero .hero-media{transition:transform .2s linear;will-change:transform;}

/* Word-by-word reveal */
.word-reveal .wr{opacity:.22;transition:opacity .4s ease,color .4s ease;}
.word-reveal .wr.lit{opacity:1;}

/* Reveal variants — scale + clip */
.reveal.zoom-in{opacity:0;transform:scale(.92);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
.reveal.zoom-in.in{opacity:1;transform:none;}
.reveal.clip-up{clip-path:inset(100% 0 0 0);transition:clip-path 1s cubic-bezier(.2,.8,.2,1),transform 1s ease;transform:translateY(20px);}
.reveal.clip-up.in{clip-path:inset(0 0 0 0);transform:none;}

/* Stats band */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:center;padding-block:clamp(3rem,6vw,4.5rem);}
.stat .num{font-family:var(--display);font-size:clamp(2.8rem,6vw,4.5rem);font-weight:600;color:var(--ink);line-height:1;}
.stat .label{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-top:.5rem;}
@media (max-width:600px){.stats{grid-template-columns:1fr;gap:2.2rem;}}

/* Horizontal scroll rail */
.rail-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap;}
.rail-hint{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.rail{display:flex;gap:1.2rem;overflow-x:auto;padding-bottom:1.2rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.rail::-webkit-scrollbar{display:none;}
.rail-card{flex:0 0 clamp(240px,32vw,360px);scroll-snap-align:center;border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:4/5;}
.rail-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.rail-card:hover img{transform:scale(1.06);}
.rail-card .cap{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.2rem 1.1rem;color:var(--paper);font-family:var(--display);font-size:1.5rem;background:linear-gradient(transparent,rgba(40,32,20,.72));}

@media (prefers-reduced-motion:reduce){
  .cine-hero .eyebrow,.cine-hero p,.cine-hero .hero-row{opacity:1 !important;transform:none !important;}
  .word-reveal .wr{opacity:1 !important;}
  .reveal.zoom-in,.reveal.clip-up{opacity:1 !important;transform:none !important;clip-path:none !important;}
}

/* ===== OLIPOP-STYLE MOTION (Stay palette) ===== */

/* Giant oversized headlines */
.display-giant{font-family:var(--display);font-weight:500;line-height:.92;letter-spacing:-.02em;font-size:clamp(3.5rem,13vw,11rem);}
.display-giant em{font-style:italic;color:var(--gold-deep);}

/* Flying / rotating product photos driven by scroll (JS sets --p 0..1) */
.fly-scene{position:relative;overflow:hidden;}
.fly{position:absolute;width:clamp(120px,16vw,230px);border-radius:18px;overflow:hidden;border:4px solid var(--paper);box-shadow:0 24px 60px rgba(61,53,42,.25);will-change:transform;}
.fly img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/4;}

/* Snappy section transition — content lifts & fades as section enters */
.snap{opacity:0;transform:translateY(60px) scale(.97);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.snap.in{opacity:1;transform:none;}
.snap-delay-1{transition-delay:.08s;}
.snap-delay-2{transition-delay:.16s;}
.snap-delay-3{transition-delay:.24s;}

/* Big editorial statement section */
.statement{min-height:90vh;display:grid;place-items:center;text-align:center;padding:var(--gutter);position:relative;}
.statement .eyebrow{display:block;margin-bottom:1.5rem;}

@media (prefers-reduced-motion:reduce){
  .snap{opacity:1 !important;transform:none !important;}
  .fly{transform:none !important;}
}

/* ===== Interactive stats + social row (added) ===== */
.stats-interactive .stat{position:relative;padding:1.4rem 1rem 1.6rem;border-radius:16px;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .45s ease;}
.stats-interactive .stat::after{content:"";position:absolute;left:50%;bottom:.9rem;width:0;height:2px;transform:translateX(-50%);background:var(--gold);transition:width .5s cubic-bezier(.2,.7,.2,1);opacity:.75;}
.stats-interactive .stat:hover{transform:translateY(-6px);background:rgba(194,154,82,0.07);}
.stats-interactive .stat:hover::after{width:44px;}
.stats-interactive .num{transition:text-shadow .45s ease,transform .45s ease;}
.stats-interactive .stat:hover .num{transform:scale(1.04);text-shadow:0 6px 26px rgba(194,154,82,0.30);}

.social-row{margin-top:clamp(1.5rem,3.5vw,2.75rem);display:flex;flex-direction:column;align-items:center;gap:1rem;}
.social-label{font-family:var(--body);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.social-links{display:flex;gap:.9rem;align-items:center;}
.social-link{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(194,154,82,0.4);border-radius:50%;color:var(--ink-soft);transition:transform .4s cubic-bezier(.2,.7,.2,1),background .4s ease,border-color .4s ease,color .4s ease;}
.social-link svg{width:20px;height:20px;fill:currentColor;transition:transform .4s ease;}
.social-link:hover{transform:translateY(-4px) scale(1.06);background:var(--gold);border-color:var(--gold);color:#fff;}
.social-link:hover svg{transform:scale(1.08);}

.footer .social-links{margin-top:.5rem;justify-content:flex-start;}
.footer .social-link{width:38px;height:38px;border-color:rgba(255,255,255,0.28);color:rgba(255,255,255,0.75);}
.footer .social-link svg{width:16px;height:16px;}
.footer .social-link:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.5);color:#fff;}

@media (prefers-reduced-motion:reduce){.stats-interactive .stat,.social-link,.social-link svg,.stats-interactive .num{transition:none;}}

/* ===== Video support in full-width bands (added) ===== */
.brunch-band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}

/* ===== 3-up video grid (events + menu, added) ===== */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.vgrid-item{border-radius:var(--radius);overflow:hidden;aspect-ratio:9/16;background:#222;box-shadow:0 18px 44px rgba(61,53,42,.18);}
.vgrid-item video{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:860px){.video-grid{grid-template-columns:1fr;max-width:360px;margin:0 auto;gap:1.6rem;}}

/* ===== Video-forward rebuild additions ===== */
/* Floating word labels in parallax scene (replaces floating photos) */
.word-layer{position:absolute;font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,3vw,2.6rem);color:var(--gold);opacity:.55;pointer-events:none;white-space:nowrap;}
@media (max-width:860px){.word-layer{font-size:1.3rem;opacity:.4;}}

/* Text-only feature cards (replaces photo cards) */
.text-card{background:var(--paper);border:1px solid rgba(194,154,82,.3);display:flex;align-items:stretch;min-height:220px;}
.text-card .card-body{display:flex;flex-direction:column;justify-content:center;padding:2rem 1.6rem;width:100%;}
.text-card .card-index{font-family:var(--display);font-size:1.1rem;color:var(--gold);letter-spacing:.1em;margin-bottom:.8rem;display:block;}
.text-card h3{margin-bottom:.5rem;}

/* Video cards in the Signatures rail */
.rail-video{background:#222;}
.rail-video video{width:100%;height:100%;object-fit:cover;display:block;}

/* Ensure pin-bg video behaves like the old bg image */
.pin-tagline .pin-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Statement section without flying photos — keep it tall and centered */
.statement{position:relative;min-height:60vh;display:grid;place-items:center;text-align:center;padding-block:clamp(3rem,8vw,6rem);}

/* ===== Social icons: real brand marks, no circles ===== */
.social-link{width:auto;height:auto;border:none !important;border-radius:0 !important;padding:0;}
.social-link svg{width:26px;height:26px;}
.social-links{gap:1.3rem;}
/* brand colors on the marks */
.social-link[aria-label="Instagram"] svg,.social-link[aria-label*="Instagram"] svg{fill:#E4405F;}
.social-link[aria-label="TikTok"] svg,.social-link[aria-label*="TikTok"] svg{fill:#010101;}
.social-link[aria-label="Facebook"] svg,.social-link[aria-label*="Facebook"] svg{fill:#1877F2;}
.social-link[aria-label="Google"] svg,.social-link[aria-label*="Google"] svg{fill:#4285F4;}
.social-link:hover{background:none !important;transform:translateY(-3px) scale(1.12);}
.social-link:hover svg{transform:none;}
/* footer sits on dark bg: keep brand marks but lighten TikTok so it's visible */
.footer .social-link{border:none !important;background:none !important;border-radius:0 !important;width:auto;height:auto;color:#C2A878;}
.footer .social-link svg{width:24px;height:24px;fill:#C2A878;}
.footer .social-link[aria-label*="Instagram"] svg{fill:#C2A878;}
.footer .social-link[aria-label*="TikTok"] svg{fill:#C2A878;}
.footer .social-link[aria-label*="Facebook"] svg{fill:#C2A878;}
.footer .social-link[aria-label*="Google"] svg{fill:#C2A878;}
.footer .social-link[aria-label*="LinkedIn"] svg{fill:#C2A878;}
.footer .social-link:hover{background:none !important;transform:translateY(-3px) scale(1.12);}
.footer .social-link:hover svg{fill:#E7D6B8;}

/* ===== Partners section ===== */
.partner-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;margin-top:2rem;}
.partner-logo{display:inline-flex;align-items:center;justify-content:center;height:72px;width:72px;background:#fff;border-radius:16px;padding:8px;box-shadow:0 8px 24px rgba(61,53,42,.10);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;overflow:hidden;}
.partner-logo img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;display:block;}
.partner-logo:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 14px 32px rgba(61,53,42,.16);}
.partner-names{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;margin-top:1.5rem;}
.partner-name{font-family:var(--display);font-size:clamp(1.4rem,3vw,2rem);color:var(--gold-deep);letter-spacing:.02em;}
@media (max-width:600px){.partner-logos{gap:1.2rem;}.partner-logo{height:60px;width:60px;}}

/* Plain delivery icons — no white box/tile, just the icon */
.partner-logos-plain .partner-logo{background:none !important;box-shadow:none !important;border-radius:0 !important;height:64px;width:64px;padding:0;}
.partner-logos-plain .partner-logo img{max-height:100%;max-width:100%;border-radius:14px;}
@media (max-width:600px){.partner-logos-plain .partner-logo{height:52px;width:52px;}}

/* Company partner logos (wide wordmarks — DEWA / Al Saada / SME) */
.company-logos{gap:2.5rem;margin-top:2rem;}
.company-logos .partner-logo-wide{width:auto;min-width:120px;max-width:190px;height:80px;padding:12px 18px;}
.company-logos .partner-logo-wide img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;}
@media (max-width:600px){.company-logos .partner-logo-wide{height:64px;min-width:100px;max-width:150px;}}

/* ===== Our Story section ===== */
.our-story{text-align:center;max-width:760px;margin-inline:auto;}

/* ===== Our Story — interactive two-column ===== */
.story-split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center;max-width:1000px;margin-inline:auto;}
.story-media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px rgba(61,53,42,.18);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease;max-height:460px;}
.story-media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/5;max-height:460px;transition:transform 1s cubic-bezier(.2,.7,.2,1);}
.story-media:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(61,53,42,.24);}
.story-media:hover img{transform:scale(1.05);}
.story-text{text-align:left;}
.story-text .lede{margin-inline:0;max-width:none;}
@media (max-width:820px){
  .story-split{grid-template-columns:1fr;gap:1.8rem;}
  .story-media{max-width:420px;margin-inline:auto;}
  .story-media img{aspect-ratio:16/11;}
  .story-text{text-align:center;}
}

/* ===== Our Story — coffee statement lines ===== */
.story-statement{font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,3vw,2rem);color:var(--ink);margin-top:1.8rem;line-height:1.2;}
.story-tagline{font-family:var(--body);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-top:.9rem;line-height:1.9;}
