:root{
  --navy:#0e2545;
  --navy-deep:#06132a;
  --navy-soft:#1a3358;
  --crystal:#5fb7d4;
  --crystal-soft:#cfe6ee;
  --crystal-deep:#2d7c9c;
  --accent:#b85970;
  --accent-deep:#8b3a52;
  --cream:#faf6ef;
  --cream-warm:#f0e9dc;
  --ink:#0a0e1a;
  --muted:#6e7787;
  --line:rgba(14,37,69,.08);
  --serif:'Montserrat',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --sans:'Montserrat',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --display:'Montserrat',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --script:'Caveat',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65;font-weight:400;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;display:block;height:auto}
img{border-radius:10px}
.nav__logo img,.foot__brand img,.hero__bg img,.lifestyle img,.nightlife img,.hero__bg video,.lifestyle video,.nightlife video,.hero__bottle img{border-radius:0}
.hero__bottle img{border-radius:10px}
a{color:inherit;text-decoration:none}
.container{width:min(1320px,90vw);margin-inline:auto}
.container--narrow{width:min(1080px,88vw);margin-inline:auto}

/* ── Navigation (modern glass + pill) ─────────────────────────── */
.nav{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:.75rem .85rem .75rem 1.6rem;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);background:rgba(250,246,239,.72);border:1px solid rgba(255,255,255,.5);border-radius:999px;box-shadow:0 8px 30px -10px rgba(14,37,69,.18),inset 0 1px 0 rgba(255,255,255,.5);transition:padding .3s,background .3s,box-shadow .3s,top .3s,width .3s;width:min(1320px,90vw)}
.nav.scrolled{top:.6rem;padding:.55rem .85rem .55rem 1.6rem;background:rgba(250,246,239,.86);box-shadow:0 14px 40px -14px rgba(14,37,69,.28),inset 0 1px 0 rgba(255,255,255,.55)}
.nav__logo{justify-self:start;display:flex;align-items:center;transition:transform .3s}
.nav__logo:hover{transform:scale(1.04)}
.nav__logo img{height:34px;width:auto;display:block}
.nav__links{display:flex;gap:.4rem;justify-self:center;font-weight:500;font-size:.85rem;letter-spacing:.01em;color:var(--navy)}
.nav__links a{position:relative;padding:.55rem .9rem;border-radius:999px;transition:background .25s,color .25s}
.nav__links a:hover{background:rgba(14,37,69,.07);color:var(--navy)}
.nav__links a.active{background:var(--navy);color:#fff}
.nav__cta{justify-self:end;background:var(--accent);color:#fff;padding:.7rem 1.3rem;border-radius:999px;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 6px 18px -6px rgba(184,89,112,.55)}
.nav__cta::after{content:"\2197";font-size:.95rem;transition:transform .3s}
.nav__cta:hover{transform:translateY(-1px);background:var(--accent-deep);box-shadow:0 12px 26px -8px rgba(139,58,82,.7)}
.nav__cta:hover::after{transform:rotate(45deg)}
@media(max-width:1100px){.nav__links{gap:.2rem;font-size:.78rem}.nav__links a{padding:.5rem .7rem}}
@media(max-width:880px){.nav{grid-template-columns:1fr auto;padding:.6rem .6rem .6rem 1.2rem}.nav__links{display:none}.nav__cta{padding:.55rem 1rem;font-size:.7rem}}

/* ── Hero ─────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--navy-deep) 0%,var(--navy) 55%,var(--navy-soft) 100%);color:#fff;overflow:hidden;padding:7rem 0 4rem}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg video,.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.6}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,19,42,.45) 0%,rgba(6,19,42,.2) 35%,rgba(6,19,42,.55) 75%,rgba(6,19,42,.85) 100%)}
.hero__content{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;align-items:center}
.hero__text{padding-right:1rem}
.hero__eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--crystal-soft);font-weight:500;margin-bottom:1.8rem;padding:.45rem 1rem;border:1px solid rgba(207,230,238,.35);border-radius:999px;backdrop-filter:blur(6px);opacity:0;animation:fadeUp .9s .3s forwards}
.hero__title{font-family:var(--display);font-size:clamp(2.6rem,5vw,5rem);line-height:1.05;font-weight:700;letter-spacing:-.025em;margin-bottom:1.8rem;opacity:0;animation:fadeUp 1s .5s forwards;text-transform:none}
.hero__title em{font-style:normal;font-weight:200;color:var(--crystal-soft)}
.hero__sub{font-size:1.12rem;line-height:1.75;color:rgba(255,255,255,.78);max-width:480px;margin-bottom:2.6rem;font-weight:400;opacity:0;animation:fadeUp 1s .7s forwards}
.hero__cta-row{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp 1s .9s forwards}
.btn{display:inline-flex;align-items:center;gap:.7rem;padding:1.05rem 2rem;border-radius:999px;font-weight:500;letter-spacing:.06em;font-size:.85rem;text-transform:uppercase;transition:transform .25s ease,background .25s,border-color .25s,box-shadow .25s;cursor:pointer;border:none}
.btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px -10px rgba(184,89,112,.5)}
.btn--primary:hover{transform:translateY(-2px);background:var(--accent-deep);box-shadow:0 14px 28px -10px rgba(139,58,82,.6)}
.btn--ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.btn--dark{background:var(--navy);color:#fff}
.btn--dark:hover{background:var(--navy-deep);transform:translateY(-2px)}
.hero__bottle{position:relative;z-index:1;justify-self:center;animation:floaty 7s ease-in-out infinite,fadeIn 1.2s .4s both}
.hero__bottle img{max-height:74vh;filter:drop-shadow(0 50px 80px rgba(0,0,0,.5)) drop-shadow(0 0 80px rgba(95,183,212,.2))}
.hero__scroll{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;gap:.8rem;font-weight:500;animation:bob 2.4s ease-in-out infinite;z-index:3}
.hero__scroll::after{content:"";width:1px;height:36px;background:linear-gradient(180deg,rgba(255,255,255,.55),transparent)}
@media(max-width:980px){.hero__content{grid-template-columns:1fr;gap:2rem;text-align:center}.hero__text{padding:0}.hero__eyebrow{margin-inline:auto}.hero__sub{margin-inline:auto}.hero__cta-row{justify-content:center}.hero__bottle{order:-1}.hero__bottle img{max-height:42vh}}

/* ── Sections shared ─────────────────────────── */
section{padding:8rem 0;position:relative}
.eyebrow{display:inline-block;font-size:.7rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:1.4rem}
.section-title{font-family:var(--display);font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.1;font-weight:700;letter-spacing:-.025em;margin-bottom:1.6rem;color:var(--navy)}
.section-title em{font-style:normal;font-weight:200;color:var(--accent)}
.section-lead{font-size:1.08rem;color:var(--muted);max-width:62ch;line-height:1.8;font-weight:400}
@media(max-width:780px){section{padding:5rem 0}}

/* ── Story ─────────────────────────── */
.story{background:var(--cream)}
.story__grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.story__media{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(14,37,69,.4)}
.story__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.story__media:hover img{transform:scale(1.03)}
.story__media::after{content:"21";position:absolute;top:1.8rem;right:1.8rem;font-family:var(--display);font-weight:200;font-size:4.6rem;line-height:1;color:#fff;opacity:.95;text-shadow:0 4px 30px rgba(0,0,0,.5);letter-spacing:-.04em}
.story__media::before{content:"BOTANICALS";position:absolute;top:7.2rem;right:1.9rem;font-size:.65rem;letter-spacing:.4em;color:#fff;font-weight:500}
.story__quote{font-family:var(--display);font-weight:300;font-size:1.45rem;line-height:1.5;color:var(--navy);border-left:1px solid var(--accent);padding:.4rem 0 .4rem 1.6rem;margin:2.2rem 0;letter-spacing:-.015em}
@media(max-width:900px){.story__grid{grid-template-columns:1fr;gap:3rem}}

/* ── Botanicals ─────────────────────────── */
.botanicals{background:linear-gradient(180deg,#fff 0%,var(--cream) 100%);text-align:center}
.botanicals__head{max-width:780px;margin:0 auto 4.5rem}
.botanicals__head .section-lead{margin:0 auto}
.botanicals__media{position:relative;aspect-ratio:4/3;max-width:1100px;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 50px 110px -40px rgba(14,37,69,.4)}
.botanicals__media img{width:100%;height:100%;object-fit:cover}
.botanicals__list{margin-top:4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem 1.6rem;max-width:980px;margin-left:auto;margin-right:auto;font-family:var(--display);font-size:.92rem;color:var(--navy);font-weight:500;text-align:center;letter-spacing:.01em}
.botanicals__list li{list-style:none;padding:.7rem 0;border-bottom:1px solid var(--line)}

/* ── USP strip ─────────────────────────── */
.usp{background:var(--navy);color:#fff;padding:6rem 0}
.usp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.usp__item{padding:3rem 2.5rem;border-right:1px solid rgba(255,255,255,.08)}
.usp__item:last-child{border-right:none}
.usp__item h3{font-family:var(--display);font-size:1.4rem;font-weight:600;margin-bottom:.6rem;color:#fff;letter-spacing:-.015em}
.usp__item p{color:rgba(255,255,255,.7);line-height:1.75;font-size:.92rem}
.usp__num{font-family:var(--display);font-weight:200;font-size:4rem;color:var(--crystal);line-height:1;margin-bottom:1.2rem;display:block;letter-spacing:-.04em}
@media(max-width:780px){.usp__grid{grid-template-columns:1fr}.usp__item{border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:2.5rem 1.5rem}.usp__item:last-child{border-bottom:none}}

/* ── Product ─────────────────────────── */
.product{background:linear-gradient(180deg,var(--cream) 0%,#fff 100%)}
.product__grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.product__media{position:relative;aspect-ratio:1;background:radial-gradient(ellipse at 50% 55%,#e8f3f8 0%,#cfe6ee 55%,#9bc5d4 100%);border-radius:10px;display:grid;place-items:center;overflow:hidden;box-shadow:0 50px 110px -40px rgba(14,37,69,.35)}
.product__media img{max-height:90%;width:auto;filter:drop-shadow(0 30px 50px rgba(14,37,69,.25))}
.product__specs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.8rem 1.5rem;margin:2.4rem 0;padding:1.8rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.product__specs dt{font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:.4rem}
.product__specs dd{font-family:var(--display);font-size:1.1rem;color:var(--navy);font-weight:500;letter-spacing:-.01em}
.product__price{font-family:var(--display);font-size:2.6rem;color:var(--navy);font-weight:300;margin-right:1.2rem;letter-spacing:-.04em}
@media(max-width:900px){.product__grid{grid-template-columns:1fr;gap:3rem}}

/* ── Tasting profile ─────────────────────────── */
.tasting{background:linear-gradient(160deg,var(--navy-deep) 0%,var(--navy) 60%,var(--navy-soft) 100%);color:#fff;text-align:center;position:relative;overflow:hidden}
.tasting::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 50% at 50% 0%,rgba(95,183,212,.15),transparent 70%);pointer-events:none}
.tasting .section-title{color:#fff}
.tasting .section-lead{color:rgba(255,255,255,.7);margin-inline:auto;text-align:center}
.tasting__bar{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem;text-align:left;max-width:1100px;margin-inline:auto;position:relative;z-index:1}
.tasting__step{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);padding:2.5rem 2rem;border-radius:10px;backdrop-filter:blur(8px);transition:transform .35s,background .35s,border-color .35s}
.tasting__step:hover{transform:translateY(-4px);background:rgba(255,255,255,.05);border-color:rgba(95,183,212,.3)}
.tasting__step .num{font-family:var(--display);font-weight:500;color:var(--crystal);font-size:.7rem;margin-bottom:1.4rem;display:block;letter-spacing:.32em;text-transform:uppercase}
.tasting__step h4{font-family:var(--display);font-size:1.4rem;font-weight:600;margin-bottom:.8rem;letter-spacing:-.015em}
.tasting__step p{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.75}
@media(max-width:780px){.tasting__bar{grid-template-columns:1fr;gap:1rem}}

/* ── Cocktails ─────────────────────────── */
.cocktails{background:var(--cream)}
.cocktails__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}
.cocktails__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.cocktail-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 12px 30px -16px rgba(14,37,69,.18);transition:transform .4s ease,box-shadow .4s ease;cursor:pointer;border:1px solid var(--line)}
.cocktail-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(14,37,69,.28)}
.cocktail-card__img{aspect-ratio:4/5;background:#e8d5dc;position:relative;overflow:hidden}
.cocktail-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s}
.cocktail-card:hover .cocktail-card__img img{transform:scale(1.05)}
.cocktail-card__body{padding:1.8rem 1.6rem 2rem}
.cocktail-card h4{font-family:var(--display);font-size:1.35rem;font-weight:600;color:var(--navy);margin-bottom:.5rem;letter-spacing:-.015em}
.cocktail-card .meta{font-size:.65rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.7rem}
.cocktail-card p{font-size:.92rem;color:var(--muted);line-height:1.7}
@media(max-width:900px){.cocktails__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cocktails__grid{grid-template-columns:1fr}}

/* ── Lifestyle big ─────────────────────────── */
.lifestyle{padding:0;height:90vh;min-height:640px;position:relative;overflow:hidden;background:#000}
.lifestyle video,.lifestyle img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.lifestyle__overlay{position:relative;z-index:1;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 1.5rem;background:linear-gradient(180deg,rgba(6,19,42,.15),rgba(6,19,42,.55))}
.lifestyle__overlay h2{font-family:var(--display);font-weight:300;font-size:clamp(2.2rem,4.8vw,4.4rem);line-height:1.15;max-width:24ch;margin-bottom:1.4rem;text-shadow:0 4px 40px rgba(0,0,0,.5);letter-spacing:-.025em}
.lifestyle__overlay h2 em{font-style:normal;font-weight:700;color:var(--crystal-soft)}
.lifestyle__overlay p{font-size:.78rem;letter-spacing:.5em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:500}

/* ── Instagram ─────────────────────────── */
.insta{background:var(--cream);text-align:center;padding:7rem 0}
.insta__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem;margin-top:3.5rem}
.insta__grid img{aspect-ratio:1;object-fit:cover;border-radius:4px;transition:transform .5s ease,filter .5s ease;filter:saturate(.95)}
.insta__grid a{position:relative;overflow:hidden;border-radius:4px;display:block}
.insta__grid a::after{content:"\2197";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:1.6rem;opacity:0;transition:opacity .3s}
.insta__grid a:hover::after{opacity:1}
.insta__grid a:hover img{transform:scale(1.06);filter:saturate(1.1) brightness(.78)}
@media(max-width:900px){.insta__grid{grid-template-columns:repeat(3,1fr)}}

/* ── FAQ ─────────────────────────── */
/* ── Blog ─────────────────────────── */
.blog{background:#fff;padding:8rem 0}
.blog__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}
.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.blog-card{background:var(--cream);border-radius:10px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;cursor:pointer;display:flex;flex-direction:column;border:1px solid var(--line)}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -22px rgba(14,37,69,.22)}
.blog-card__img{aspect-ratio:16/10;overflow:hidden;background:#cfeaf3}
.blog-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s}
.blog-card:hover .blog-card__img img{transform:scale(1.06)}
.blog-card__body{padding:1.9rem 1.7rem 2.1rem;flex:1;display:flex;flex-direction:column}
.blog-card .meta{font-size:.65rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.9rem;display:flex;gap:.8rem;align-items:center}
.blog-card .meta span{color:var(--muted);font-weight:400;letter-spacing:.1em}
.blog-card h3{font-family:var(--display);font-size:1.3rem;font-weight:600;color:var(--navy);margin-bottom:.7rem;line-height:1.3;letter-spacing:-.015em}
.blog-card p{color:var(--muted);font-size:.92rem;line-height:1.7;flex:1}
.blog-card__more{margin-top:1.3rem;font-weight:500;font-size:.7rem;letter-spacing:.32em;color:var(--accent);text-transform:uppercase}
@media(max-width:900px){.blog__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog__grid{grid-template-columns:1fr}}

/* ── Passion Gallery ─────────────────────────── */
.passion{background:var(--cream-warm);padding:8rem 0;text-align:center}
.passion__head{max-width:760px;margin:0 auto 4rem}
.passion__head .section-lead{margin:0 auto}
.passion__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;grid-auto-rows:140px}
.passion__grid figure{position:relative;overflow:hidden;border-radius:10px;cursor:pointer;background:#cfe6ee;box-shadow:0 14px 32px -16px rgba(14,37,69,.2)}
.passion__grid figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.passion__grid figure:hover img{transform:scale(1.05)}
.passion__grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(6,19,42,.4));opacity:0;transition:opacity .4s}
.passion__grid figure:hover::after{opacity:1}
.p--tall{grid-column:span 4;grid-row:span 3}
.p--wide{grid-column:span 8;grid-row:span 2}
.p--med{grid-column:span 4;grid-row:span 2}
.p--sq{grid-column:span 4;grid-row:span 2}
@media(max-width:900px){.passion__grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.p--tall,.p--wide,.p--med,.p--sq{grid-column:span 1;grid-row:span 2}}

/* ── Nightlife band ─────────────────────────── */
.nightlife{padding:0;height:88vh;min-height:580px;position:relative;overflow:hidden;background:#000}
.nightlife img,.nightlife video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nightlife__overlay{position:relative;z-index:1;height:100%;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(6,19,42,.85) 0%,rgba(6,19,42,.5) 50%,transparent 100%)}
.nightlife__content{max-width:600px;padding-left:max(7vw,3rem)}
.nightlife__content .eyebrow{color:var(--crystal-soft)}
.nightlife__content h2{font-family:var(--display);font-size:clamp(2.2rem,4vw,4rem);line-height:1.1;font-weight:700;letter-spacing:-.025em;margin-bottom:1.6rem;color:#fff}
.nightlife__content h2 em{font-style:normal;font-weight:200;color:var(--crystal-soft)}
.nightlife__content p{font-size:1.1rem;line-height:1.8;color:rgba(255,255,255,.78);margin-bottom:2rem}

.faq{background:var(--cream)}
.faq__list{max-width:820px;margin:4rem auto 0}
.faq__item{border-bottom:1px solid var(--line);padding:1.6rem 0}
.faq__item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-size:1.1rem;font-weight:600;color:var(--navy);letter-spacing:-.015em}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-size:1.8rem;color:var(--accent);font-weight:300;transition:transform .35s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{padding-top:1.1rem;color:var(--muted);line-height:1.8;font-size:.98rem}

/* ── Footer ─────────────────────────── */
footer{background:var(--navy-deep);color:rgba(255,255,255,.65);padding:6rem 0 2rem;font-size:.9rem}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3.5rem;margin-bottom:4rem}
.foot__grid h5{color:#fff;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;margin-bottom:1.4rem;font-weight:600}
.foot__grid a{display:block;padding:.3rem 0;transition:color .25s,padding-left .25s}
.foot__grid a:hover{color:var(--crystal-soft)}
.foot__brand img{height:50px;width:auto;margin-bottom:1.4rem;display:block;background:var(--cream);padding:.55rem .9rem;border-radius:10px}
.foot__brand p{max-width:32ch;line-height:1.7;color:rgba(255,255,255,.6);font-size:.92rem}
.foot__legal{padding-top:2.4rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:rgba(255,255,255,.4);letter-spacing:.04em}
.foot__legal a{transition:color .2s}
.foot__legal a:hover{color:#fff}
@media(max-width:780px){.foot__grid{grid-template-columns:1fr 1fr;gap:2.5rem}}

/* ── Animations ─────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
[data-reveal]{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ── Cursor age gate ─────────────────────────── */
.gate{position:fixed;inset:0;z-index:100;background:rgba(5,18,42,.96);display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px)}
.gate.show{display:flex}
.gate__box{background:var(--cream);border-radius:14px;padding:3rem 2.5rem;max-width:420px;text-align:center;color:var(--ink)}
.gate__box h3{font-family:var(--serif);font-size:1.8rem;font-weight:500;margin-bottom:.6rem;color:var(--navy)}
.gate__box p{color:var(--muted);margin-bottom:2rem;font-size:.95rem}
.gate__buttons{display:flex;gap:1rem;justify-content:center}

/* ── Sub-Page Templates ─────────────────────────── */
.subpage-hero{background:linear-gradient(160deg,var(--navy-deep),var(--navy) 60%,var(--navy-soft));color:#fff;padding:9rem 0 5rem;position:relative;overflow:hidden}
.subpage-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;align-items:center}
.subpage-hero__breadcrumb{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--crystal-soft);font-weight:500;margin-bottom:1.4rem}
.subpage-hero__breadcrumb a{transition:color .2s}.subpage-hero__breadcrumb a:hover{color:#fff}
.subpage-hero h1{font-family:var(--display);font-size:clamp(2.2rem,4.4vw,4.4rem);line-height:1.05;font-weight:700;letter-spacing:-.025em;margin-bottom:1.4rem}
.subpage-hero h1 em{font-style:normal;font-weight:200;color:var(--crystal-soft)}
.subpage-hero__meta{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65);font-weight:500;margin-top:1.4rem}
.subpage-hero__meta span{display:flex;align-items:center;gap:.5rem}
.subpage-hero__lead{font-size:1.18rem;line-height:1.75;color:rgba(255,255,255,.82);max-width:520px;margin:1.6rem 0 0;font-weight:400}
.subpage-hero__media{aspect-ratio:4/5;border-radius:10px;overflow:hidden;box-shadow:0 50px 100px -30px rgba(0,0,0,.5)}
.subpage-hero__media img{width:100%;height:100%;object-fit:cover}
@media(max-width:980px){.subpage-hero__inner{grid-template-columns:1fr;gap:2.5rem}}

/* Article body */
.article{padding:6rem 0;background:var(--cream)}
.article__body{max-width:720px;margin:0 auto;font-size:1.08rem;line-height:1.85;color:var(--ink)}
.article__body h2{font-family:var(--display);font-size:1.85rem;font-weight:700;letter-spacing:-.02em;margin:2.6rem 0 1rem;color:var(--navy)}
.article__body h3{font-family:var(--display);font-size:1.35rem;font-weight:600;letter-spacing:-.015em;margin:2rem 0 .8rem;color:var(--navy)}
.article__body p{margin-bottom:1.3rem;color:#2a3447}
.article__body ul,.article__body ol{margin:1rem 0 1.6rem 1.4rem;color:#2a3447}
.article__body li{margin-bottom:.5rem;line-height:1.75}
.article__body blockquote{font-family:var(--display);font-weight:300;font-size:1.4rem;line-height:1.5;color:var(--navy);border-left:2px solid var(--accent);padding:.4rem 0 .4rem 1.6rem;margin:2rem 0;letter-spacing:-.015em}
.article__body strong{font-weight:600;color:var(--navy)}
.article__body a:not(.btn):not(.back-link):not(.blog-card__more){color:var(--accent);border-bottom:1px solid currentColor;transition:color .2s}
.article__body a:not(.btn):not(.back-link):not(.blog-card__more):hover{color:var(--accent-deep)}
.article__body a.btn{color:#fff;border-bottom:none}
.article__body a.btn--ghost{color:var(--navy)}
.article__body .article__cta a.btn--primary{color:#fff !important;border-bottom:none}
.article__lead{font-size:1.25rem;font-weight:300;line-height:1.65;color:var(--muted);margin-bottom:2.4rem;letter-spacing:-.005em}

/* Recipe ingredients box */
.recipe-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:2.4rem 2.2rem;margin:2.4rem 0;box-shadow:0 14px 40px -20px rgba(14,37,69,.18)}
.recipe-box h3{margin-top:0;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.recipe-box ul{list-style:none;margin:1rem 0 0;padding:0}
.recipe-box li{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--line);font-weight:500;color:var(--navy)}
.recipe-box li:last-child{border-bottom:none}
.recipe-box li .qty{color:var(--accent);font-weight:600}

.recipe-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.4rem;margin:2rem 0;padding:1.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recipe-meta div{text-align:center}
.recipe-meta dt{font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:.3rem}
.recipe-meta dd{font-family:var(--display);font-size:1.1rem;color:var(--navy);font-weight:600}

/* Card grid for overview pages */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;padding:5rem 0}
@media(max-width:900px){.card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.card-grid{grid-template-columns:1fr}}
.overview-hero{padding:9rem 0 4rem;background:var(--cream);text-align:center;border-bottom:1px solid var(--line)}
.overview-hero h1{font-family:var(--display);font-size:clamp(2.4rem,4.6vw,4.6rem);line-height:1.05;font-weight:700;letter-spacing:-.025em;margin-bottom:1rem;color:var(--navy)}
.overview-hero h1 em{font-style:normal;font-weight:200;color:var(--accent)}
.overview-hero p{max-width:60ch;margin:0 auto;font-size:1.1rem;color:var(--muted);line-height:1.75}
.overview-hero .eyebrow{margin-bottom:1.2rem}

/* Inline back link */
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--accent);margin:0 0 2rem;transition:gap .2s}
.back-link:hover{gap:.8rem;color:var(--accent-deep)}

/* Article CTA */
.article__cta{background:var(--navy);color:#fff;padding:3rem 2.4rem;border-radius:10px;text-align:center;margin:3rem 0 0}
.article__cta h3{font-family:var(--display);font-size:1.6rem;font-weight:700;margin-bottom:.6rem;color:#fff}
.article__cta p{color:rgba(255,255,255,.75);margin-bottom:1.4rem}

/* ── Pro Effects ─────────────────────────── */

/* Scroll progress bar */
.progress-bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--crystal));z-index:60;transition:width .1s ease-out;width:0;border-radius:0}

/* Loading screen */
.loader{position:fixed;inset:0;background:var(--navy-deep);z-index:200;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2rem;transition:opacity .8s,visibility .8s}
.loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.loader__logo{opacity:0;animation:fadeUp .8s .2s forwards;background:var(--cream);padding:1.4rem 2rem;border-radius:14px;box-shadow:0 20px 60px -20px rgba(0,0,0,.4)}
.loader__logo img{width:200px;height:auto;display:block}
.loader__logo img{border-radius:0}
.loader__bar{width:160px;height:1px;background:rgba(255,255,255,.15);overflow:hidden;border-radius:999px}
.loader__bar::after{content:"";display:block;height:100%;width:30%;background:var(--crystal);animation:loaderBar 1.4s ease-in-out infinite;border-radius:999px}
@keyframes loaderBar{0%{transform:translateX(-100%)}100%{transform:translateX(500%)}}

/* Custom cursor — G-Logo */
.cursor{position:fixed;top:0;left:0;width:24px;height:24px;background-image:url('assets/ginjohn-fav.png');background-size:contain;background-repeat:no-repeat;background-position:center;pointer-events:none;z-index:9999;transition:transform .18s cubic-bezier(.2,.7,.2,1),opacity .2s,filter .25s;transform:translate(-50%,-50%);opacity:0;filter:drop-shadow(0 2px 6px rgba(14,37,69,.35))}
.cursor--ring{width:46px;height:46px;background:transparent;background-image:none;border:1.5px solid rgba(184,89,112,.6);border-radius:50%;transition:transform .3s cubic-bezier(.2,.7,.2,1),width .3s,height .3s,opacity .3s,border-color .3s,background .3s}
.cursor--big{transform:translate(-50%,-50%) scale(1.5);filter:drop-shadow(0 4px 12px rgba(184,89,112,.55))}
.cursor-ring--big{width:78px;height:78px;border-color:rgba(184,89,112,.9);background:rgba(184,89,112,.06);backdrop-filter:blur(2px)}
@media(hover:hover) and (pointer:fine){.cursor,.cursor--ring{opacity:1}body{cursor:none}a,button,.cocktail-card,.blog-card,.faq__item summary,input,select,textarea,details summary{cursor:none}}
@media(max-width:880px){.cursor,.cursor--ring{display:none}}

/* Marquee strip */
.marquee{background:var(--navy);color:#fff;padding:1.4rem 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.marquee__track{display:flex;gap:3rem;animation:marqueeRun 40s linear infinite;white-space:nowrap;font-family:var(--display);font-weight:300;font-size:1.6rem;letter-spacing:-.01em;color:rgba(255,255,255,.85)}
.marquee__track span{display:inline-flex;align-items:center;gap:3rem}
.marquee__track span::after{content:"\2022";color:var(--crystal);margin-left:3rem;font-size:.8em}
@keyframes marqueeRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Counter animation */
.counter{display:inline-block;font-variant-numeric:tabular-nums}

/* 3D Tilt */
.tilt{transform-style:preserve-3d;transition:transform .15s cubic-bezier(.2,.7,.2,1)}
.tilt > *{transform-style:preserve-3d}

/* Magnetic button effect */
.magnetic{transition:transform .25s cubic-bezier(.2,.7,.2,1)}

/* Stagger reveal */
[data-stagger]{opacity:0;transform:translateY(40px)}
[data-stagger].is-visible{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) forwards}

/* Image parallax wrapper (disabled for performance — use CSS-only) */
.parallax{will-change:auto}

/* Section transition decoration */
.section-divider{height:120px;background:linear-gradient(180deg,transparent,var(--cream));margin-top:-120px;position:relative;z-index:1;pointer-events:none}

/* Newsletter */
.newsletter{background:var(--navy);color:#fff;padding:6rem 0;text-align:center;position:relative;overflow:hidden}
.newsletter::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 50% 0%,rgba(95,183,212,.15),transparent 70%);pointer-events:none}
.newsletter__inner{max-width:560px;margin:0 auto;position:relative;z-index:1}
.newsletter h2{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.8rem;color:#fff}
.newsletter h2 em{font-style:normal;font-weight:200;color:var(--crystal-soft)}
.newsletter p{color:rgba(255,255,255,.7);margin-bottom:2rem;font-size:1rem;line-height:1.7}
.newsletter__form{display:flex;gap:.6rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:.4rem;backdrop-filter:blur(6px)}
.newsletter__form input{flex:1;background:transparent;border:none;outline:none;color:#fff;padding:.85rem 1.4rem;font-family:var(--display);font-size:.95rem}
.newsletter__form input::placeholder{color:rgba(255,255,255,.5)}
.newsletter__form button{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.85rem 1.6rem;font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .25s}
.newsletter__form button:hover{background:var(--accent-deep);transform:translateY(-1px)}
.newsletter small{display:block;margin-top:1.4rem;font-size:.78rem;color:rgba(255,255,255,.5);letter-spacing:.04em}

/* Distillery section */
.distillery{background:var(--cream-warm);padding:8rem 0;position:relative;overflow:hidden}
.distillery__grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.distillery__media{aspect-ratio:16/10;border-radius:10px;overflow:hidden;box-shadow:0 50px 100px -40px rgba(14,37,69,.3);position:relative}
.distillery__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.distillery__media:hover img{transform:scale(1.04)}
.distillery__media::after{content:"EST. 2018";position:absolute;bottom:1.2rem;right:1.4rem;color:#fff;font-size:.65rem;letter-spacing:.4em;font-weight:600;background:rgba(0,0,0,.4);padding:.4rem .8rem;border-radius:999px;backdrop-filter:blur(4px)}
.distillery__stats{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.distillery__stats div{padding:.4rem 0}
.distillery__stats dt{font-size:.65rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:.4rem}
.distillery__stats dd{font-family:var(--display);font-size:1.6rem;color:var(--navy);font-weight:300;letter-spacing:-.02em}
@media(max-width:900px){.distillery__grid{grid-template-columns:1fr;gap:3rem}}

/* Cookie banner */
.cookie{position:fixed;bottom:1.4rem;left:1.4rem;right:1.4rem;max-width:420px;background:var(--navy-deep);color:#fff;padding:1.4rem 1.6rem;border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);z-index:55;font-size:.88rem;line-height:1.6;display:none}
.cookie.show{display:block;animation:fadeUp .5s cubic-bezier(.2,.7,.2,1)}
.cookie h4{font-family:var(--display);font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:#fff}
.cookie p{color:rgba(255,255,255,.7);margin-bottom:1rem;font-size:.85rem}
.cookie__buttons{display:flex;gap:.6rem}
.cookie__buttons button{flex:1;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.7rem 1rem;font-family:var(--display);font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .25s}
.cookie__buttons button.outline{background:transparent;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.85)}
.cookie__buttons button:hover{background:var(--accent-deep)}
.cookie__buttons button.outline:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.6);color:#fff}

/* Lazy fade-in */
img.lazy-fade{opacity:0;transition:opacity .8s}
img.lazy-fade.loaded{opacity:1}

/* Smooth media reveal */
.media-reveal{position:relative;overflow:hidden;border-radius:10px}
.media-reveal::before{content:"";position:absolute;inset:0;background:var(--cream);transform-origin:top;animation:mediaReveal 1.2s cubic-bezier(.86,0,.07,1) forwards;z-index:1}
@keyframes mediaReveal{0%{transform:scaleY(1)}100%{transform:scaleY(0)}}

/* ── Shop Modal ─────────────────────────── */
.shop-modal{position:fixed;inset:0;z-index:120;background:rgba(6,19,42,.85);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;padding:1rem}
.shop-modal.show{display:flex;animation:fadeIn .35s ease-out}
.shop-modal__box{background:var(--cream);border-radius:14px;width:min(960px,96vw);max-height:92vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 60px 140px -30px rgba(0,0,0,.6);position:relative;animation:fadeUp .45s cubic-bezier(.2,.7,.2,1)}
.shop-modal__head{padding:1.4rem 1.6rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff}
.shop-modal__head .badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:600}
.shop-modal__head .badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#23c55e;box-shadow:0 0 0 4px rgba(35,197,94,.2)}
.shop-modal__close{background:transparent;border:none;font-size:1.6rem;line-height:1;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:background .2s}
.shop-modal__close:hover{background:var(--cream-warm)}
.shop-modal__body{display:grid;grid-template-columns:1fr 1fr;overflow:auto}
.shop-modal__media{background:linear-gradient(160deg,#cfe6ee 0%,#9bc5d4 100%);display:grid;place-items:center;padding:2rem;min-height:380px}
.shop-modal__media img{max-height:100%;max-width:100%;width:auto;height:auto;border-radius:0;filter:drop-shadow(0 30px 50px rgba(14,37,69,.3))}
.shop-modal__info{padding:2.2rem 2.2rem 1.6rem;display:flex;flex-direction:column;gap:1rem;overflow:auto}
.shop-modal__info .producer{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-weight:500}
.shop-modal__info h2{font-family:var(--display);font-size:1.85rem;font-weight:700;letter-spacing:-.02em;color:var(--navy);line-height:1.1}
.shop-modal__info .price{font-family:var(--display);font-size:2.6rem;font-weight:300;color:var(--navy);letter-spacing:-.04em;line-height:1}
.shop-modal__info .price small{font-size:.8rem;font-weight:500;letter-spacing:.04em;color:var(--muted);display:block;margin-top:.3rem}
.shop-modal__specs{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.85rem;color:var(--ink)}
.shop-modal__specs div{display:flex;justify-content:space-between;gap:.5rem}
.shop-modal__specs span:first-child{color:var(--muted)}
.shop-modal__specs span:last-child{font-weight:600;color:var(--navy)}
.shop-modal__trust{display:flex;flex-direction:column;gap:.5rem;font-size:.82rem;color:var(--ink)}
.shop-modal__trust span{display:flex;align-items:center;gap:.5rem}
.shop-modal__trust span::before{content:"\2713";color:#23c55e;font-weight:700;font-size:.95rem}
.shop-modal__cta{margin-top:auto;display:flex;flex-direction:column;gap:.7rem}
.shop-modal__cta .btn{width:100%;justify-content:center}
.shop-modal__hint{padding:1rem 1.6rem;background:var(--cream-warm);font-size:.78rem;color:var(--muted);text-align:center;border-top:1px solid var(--line)}
.shop-modal__hint strong{color:var(--navy)}
@media(max-width:780px){.shop-modal__body{grid-template-columns:1fr}.shop-modal__media{min-height:240px;padding:1.2rem}.shop-modal__info{padding:1.6rem}}

/* Order popup window styling helper */
.order-window-info{display:none}

/* ── Instagram Live Grid ─────────────────────────── */
.insta__live-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .9rem;border-radius:999px;background:rgba(184,89,112,.08);border:1px solid rgba(184,89,112,.2);font-size:.7rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}
.insta__live-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#e23b5a;box-shadow:0 0 0 0 rgba(226,59,90,.6);animation:livePulse 1.6s ease-out infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(226,59,90,.5)}80%,100%{box-shadow:0 0 0 12px rgba(226,59,90,0)}}

.insta__head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:3rem}
.insta__head .section-title{margin-bottom:.6rem}
.insta__head .section-lead{margin:0 auto}
.insta__handle{font-family:var(--display);font-size:1.05rem;font-weight:600;color:var(--navy);margin-top:.4rem;letter-spacing:.02em}
.insta__handle a{color:var(--accent);transition:color .2s}
.insta__handle a:hover{color:var(--accent-deep)}

.insta__grid--live{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:.6rem;max-width:1100px;margin:0 auto;aspect-ratio:auto}
.insta__grid--live .tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:10px;background:#cfe6ee;display:block;transition:transform .35s ease,box-shadow .35s ease}
.insta__grid--live .tile img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease,filter .4s;border-radius:10px}
.insta__grid--live .tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -16px rgba(14,37,69,.3)}
.insta__grid--live .tile:hover img{transform:scale(1.06);filter:brightness(.85)}
.insta__grid--live .tile::after{content:"\2197";position:absolute;top:.7rem;right:.7rem;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--navy);display:grid;place-items:center;font-weight:600;font-size:.95rem;opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s}
.insta__grid--live .tile:hover::after{opacity:1;transform:scale(1)}

.insta__grid--live .tile--cta{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-soft) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:1.4rem;cursor:pointer;text-decoration:none}
.insta__grid--live .tile--cta:hover{transform:translateY(-4px);box-shadow:0 18px 40px -10px rgba(14,37,69,.45)}
.insta__grid--live .tile--cta::after{display:none}
.insta__grid--live .tile--cta .ig-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#feda75,#fa7e1e 30%,#d62976 60%,#962fbf 80%,#4f5bd5);display:grid;place-items:center;color:#fff;font-size:1.2rem;font-weight:800;margin-bottom:.8rem;box-shadow:0 8px 20px -6px rgba(214,41,118,.5)}
.insta__grid--live .tile--cta strong{font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:-.01em;line-height:1.2;margin-bottom:.3rem}
.insta__grid--live .tile--cta span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:500}

@media(max-width:780px){.insta__grid--live{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.insta__grid--live{grid-template-columns:repeat(2,1fr)}}

/* Lightwidget slot wrapper (when client provides widget id) */
.insta-widget-slot{max-width:1100px;margin:2rem auto 0;border-radius:10px;overflow:hidden;background:var(--cream);min-height:200px}
.insta-widget-slot iframe{width:100%;border:none;display:block;border-radius:10px}

/* ── Article Image Gallery (für Reise-Stories) ─────────────────────────── */
.article__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:2rem 0 2.4rem;not-prose:true}
.article__gallery figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:10px;box-shadow:0 14px 32px -16px rgba(14,37,69,.25);transition:transform .35s ease,box-shadow .35s ease}
.article__gallery figure:hover{transform:translateY(-4px);box-shadow:0 22px 50px -16px rgba(14,37,69,.35)}
.article__gallery figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s ease}
.article__gallery figure:hover img{transform:scale(1.05)}
@media(max-width:780px){.article__gallery{grid-template-columns:1fr 1fr;gap:.5rem}}
@media(max-width:480px){.article__gallery{grid-template-columns:1fr}}
