/*
Theme Name: Bailey's Adventure
Theme URI: https://baileysadventure.com
Author: J.S.
Description: Hybrid WordPress + ACF theme for Bailey's Adventure. Dark jungle/expedition aesthetic, bilingual EN/DE, age gate, testimonials CPT, Turnstile-protected forms.
Version: 20260820-1
License: GPL-2.0-or-later
Text Domain: baileys-adventure
*/

/* ═══════════════════════════════════════════════════════
   BaileyAdventure.com — Production Stylesheet
   DSGVO-compliant self-hosted fonts · Jungle aesthetic
   ═══════════════════════════════════════════════════════ */

/* ── Self-Hosted Fonts (DSGVO/GDPR) ─────────────────── */
@font-face{font-family:'Cinzel';src:url('/assets/fonts/Cinzel-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cinzel';src:url('/assets/fonts/Cinzel-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Cinzel';src:url('/assets/fonts/Cinzel-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/CormorantGaramond-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/CormorantGaramond-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/CormorantGaramond-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/CormorantGaramond-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/CormorantGaramond-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('/assets/fonts/Jost-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('/assets/fonts/Jost-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('/assets/fonts/Jost-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}


/* ── Design Tokens ───────────────────────────────────── */
:root{
  --obsidian:#080807;--obsidian-light:#0e1310;--obsidian-mid:#141a14;
  --charcoal:#1c241d;--charcoal-light:#252e26;
  --smoke:#778570;--ash:#96a690;--bone:#c4ccbd;--ivory:#dde5d6;
  --emerald-deep:#12261a;--emerald:#1c3c28;--emerald-light:#2a5438;
  --moss:#3a5e35;--canopy:#1a3520;
  --bark:#3d2f1e;--mud:#4a3828;--brass:#937a3a;
  --amber:#c4863a;--amber-glow:rgba(196,134,58,.07);--amber-soft:rgba(196,134,58,.04);
  --velvet:#6b1520;--velvet-glow:rgba(107,21,32,.06);
  --luxury-gold:#b89940;--gold-light:#ccae55;--gold-dim:#8a7232;
  --gold-glow:rgba(184,153,64,.10);--emerald-glow:rgba(28,60,40,.20);
  --danger:#7a3030;--danger-light:#944040;
  --ff-display:'Cinzel',serif;
  --ff-body:'Cormorant Garamond','Georgia',serif;
  --ff-ui:'Jost',sans-serif;
  --fs-xs:clamp(.7rem,.65rem + .25vw,.8rem);
  --fs-sm:clamp(.8rem,.75rem + .25vw,.9rem);
  --fs-base:clamp(1rem,.9rem + .5vw,1.15rem);
  --fs-md:clamp(1.1rem,1rem + .5vw,1.3rem);
  --fs-lg:clamp(1.4rem,1.2rem + 1vw,2rem);
  --fs-xl:clamp(1.8rem,1.4rem + 2vw,3rem);
  --fs-hero:clamp(2.8rem,2.2rem + 3.5vw,6rem);
  --sp-xs:.5rem;--sp-sm:1rem;--sp-md:2rem;--sp-lg:4rem;--sp-xl:6rem;--sp-xxl:10rem;
  --max-w:1200px;--max-t:720px;--hdr-h:72px;
  --border-fine:1px solid rgba(147,122,58,.12);
  --ease:cubic-bezier(.22,1,.36,1);--t-f:.2s;--t-m:.4s;--t-s:.8s;
  --leaf-svg:url("data:image/svg+xml,%3Csvg viewBox='0 0 60 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 2C24 16 8 28 5 48 2 68 14 84 30 98 46 84 58 68 55 48 52 28 36 16 30 2z' fill='%231e3d27'/%3E%3C/svg%3E");
}


/* ── Reset ────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--hdr-h);cursor:none}
body{font-family:var(--ff-body);font-size:var(--fs-base);font-weight:400;line-height:1.8;color:var(--bone);background:var(--obsidian);-webkit-font-smoothing:antialiased;overflow-x:hidden;cursor:none}
a,button,.exp-card,.journal-card__link,.faq__trigger,input,textarea,.gallery__item,[role="button"]{cursor:none!important}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px}
::selection{background:var(--luxury-gold);color:var(--obsidian)}
img{max-width:100%;height:auto;display:block}
a{color:var(--luxury-gold);text-decoration:none;transition:color var(--t-f) var(--ease)}
a:hover{color:var(--gold-light)}
a:focus-visible{outline:2px solid var(--luxury-gold);outline-offset:4px}


/* ── Buttons ──────────────────────────────────────────── */
.btn{display:inline-block;font-family:var(--ff-ui);font-size:var(--fs-sm);font-weight:400;letter-spacing:.15em;text-transform:uppercase;padding:1em 2.5em;border:none;cursor:pointer;transition:all var(--t-m) var(--ease);text-align:center}
.btn--primary{background:var(--luxury-gold);color:var(--obsidian)}
.btn--primary:hover{background:var(--gold-light);box-shadow:0 0 30px rgba(184,153,64,.12);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--ash);border:1px solid var(--charcoal-light)}
.btn--ghost:hover{border-color:var(--luxury-gold);color:var(--luxury-gold)}


/* ── Age Gate ─────────────────────────────────────────── */
.age-gate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.96);backdrop-filter:blur(20px);transition:opacity var(--t-s) var(--ease)}
.age-gate.dismissed{opacity:0;pointer-events:none}
.age-gate__card{text-align:center;max-width:520px;padding:var(--sp-lg);border:var(--border-fine)}
.age-gate__icon{font-size:1.8rem;color:var(--brass);margin-bottom:var(--sp-md);letter-spacing:.3em;font-family:var(--ff-display)}
.age-gate__card h2{font-family:var(--ff-display);font-size:var(--fs-lg);color:var(--ivory);letter-spacing:.08em;margin-bottom:var(--sp-sm)}
.age-gate__card p{color:var(--ash);font-size:var(--fs-sm);margin-bottom:var(--sp-md);line-height:1.7}
.age-gate__actions{display:flex;gap:var(--sp-sm);justify-content:center;flex-wrap:wrap}


/* ── Header ───────────────────────────────────────────── */
/* Multi-page refactor: border-bottom (the thin hairline under the header /
   above the first content block) removed so custom page backgrounds flow
   seamlessly from the very top of every page. */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--hdr-h);background:rgba(8,8,7,.85);backdrop-filter:blur(12px);transition:background var(--t-m) var(--ease)}
.header__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-w);margin:0 auto;padding:0 var(--sp-md);height:100%;gap:var(--sp-md);position:relative;z-index:1001}
.header__logo{font-family:var(--ff-display);font-size:var(--fs-md);letter-spacing:.15em;color:var(--ivory);text-transform:uppercase;white-space:nowrap;flex-shrink:0}.header__logo:hover{color:var(--ivory)}
.logo__accent{color:var(--amber)}
.header__nav{display:none;flex:1;justify-content:center;align-items:center;min-width:0}
.nav__list{display:flex;gap:var(--sp-sm);list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.nav__link{font-family:var(--ff-ui);font-size:var(--fs-xs);font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);position:relative;padding:.25em 0;white-space:nowrap}
.nav__link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--amber);transition:width var(--t-m) var(--ease)}
.nav__link:hover{color:var(--ivory)}.nav__link:hover::after{width:100%}
.header__actions{display:flex;align-items:center;gap:var(--sp-sm);flex-shrink:0}
.lang-toggle{display:inline-flex;align-items:center;gap:.35em;background:none;border:1px solid var(--charcoal-light);padding:.35em .75em;cursor:pointer;font-family:var(--ff-ui);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ash);transition:all var(--t-f) var(--ease);white-space:nowrap;flex-shrink:0;line-height:1;height:32px;border-radius:16px}
.lang-toggle:hover{border-color:var(--brass);color:var(--ivory)}
.lang-pill{transition:color var(--t-f) var(--ease),font-weight var(--t-f) var(--ease);line-height:1;pointer-events:none}
.lang-pill--active{color:var(--amber);font-weight:500}
.lang-pill--inactive{color:var(--smoke);font-weight:300}
.lang-pill-sep{color:var(--charcoal-light);font-weight:300;line-height:1;pointer-events:none;user-select:none}
.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:8px;position:relative;z-index:10}
.burger span{display:block;width:100%;height:1.5px;background:var(--ash);transition:all var(--t-m) var(--ease);transform-origin:center}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
/* ── Mobile Nav Overlay ─────────────────────────────── */
.mobile-nav{position:fixed;inset:var(--hdr-h) 0 0 0;z-index:1001;background:var(--obsidian);display:flex;flex-direction:column;align-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transition:opacity var(--t-m) var(--ease),visibility var(--t-m) var(--ease)}
.mobile-nav.mobile-nav--open{opacity:1;visibility:visible}
.mobile-nav__list{list-style:none;display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);padding:var(--sp-md) 0 0;margin:auto 0 0}
.mobile-nav__link{font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--ivory);opacity:0;transform:translateY(12px);transition:opacity var(--t-m) var(--ease),transform var(--t-m) var(--ease),color var(--t-f) var(--ease)}
.mobile-nav--open .mobile-nav__link{opacity:1;transform:translateY(0)}
.mobile-nav--open li:nth-child(1) .mobile-nav__link{transition-delay:.05s}
.mobile-nav--open li:nth-child(2) .mobile-nav__link{transition-delay:.1s}
.mobile-nav--open li:nth-child(3) .mobile-nav__link{transition-delay:.15s}
.mobile-nav--open li:nth-child(4) .mobile-nav__link{transition-delay:.2s}
.mobile-nav--open li:nth-child(5) .mobile-nav__link{transition-delay:.25s}
.mobile-nav--open li:nth-child(6) .mobile-nav__link{transition-delay:.3s}
.mobile-nav--open li:nth-child(7) .mobile-nav__link{transition-delay:.35s}
.mobile-nav__link:hover{color:var(--amber)}
.mobile-nav__lang{margin:var(--sp-md) 0 auto;opacity:0;transform:translateY(12px);transition:opacity var(--t-m) var(--ease) .4s,transform var(--t-m) var(--ease) .4s}
.mobile-nav--open .mobile-nav__lang{opacity:1;transform:translateY(0)}
@media(max-width:1023px){.header__actions .lang-toggle{display:none}}


/* ── Hero ─────────────────────────────────────────────── */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--sp-xxl) var(--sp-md) var(--sp-xl);overflow:hidden}
/* Background image comes from an inline style attribute on this element
   (ACF "Hero background" field, with a hardcoded fallback URL) — CSS only
   controls how it's positioned/animated. */
.hero__bg{position:absolute;inset:-8%;background-size:cover;background-position:center 25%;background-repeat:no-repeat;animation:jungleBreath 30s ease-in-out infinite alternate;z-index:0}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 10%,rgba(8,8,7,.55) 65%),linear-gradient(180deg,rgba(8,8,7,.25) 0%,rgba(8,8,7,.6) 55%,var(--obsidian) 100%);z-index:1}
@keyframes jungleBreath{0%{transform:scale(1) translate(0,0)}50%{transform:scale(1.04) translate(-.4%,.2%)}100%{transform:scale(1.08) translate(.3%,-.4%)}}
.hero__content{position:relative;z-index:5;max-width:800px}
.hero__title{font-family:var(--ff-display);font-size:var(--fs-hero);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);line-height:1.1;margin-bottom:var(--sp-xs);text-shadow:0 2px 40px rgba(0,0,0,.6)}
.hero__dash{display:block;font-size:.45em;letter-spacing:.25em;color:var(--amber);margin-top:.3em;font-weight:400}
.hero__subtitle{font-family:var(--ff-body);font-size:var(--fs-lg);font-weight:400;font-style:italic;color:var(--luxury-gold);letter-spacing:.04em;margin-bottom:var(--sp-lg);line-height:1.5;text-shadow:0 1px 20px rgba(0,0,0,.5)}
.hero__cta{margin-top:var(--sp-md)}
.hero__monologue{position:relative;z-index:5;max-width:var(--max-t);margin:var(--sp-xl) auto 0;padding-top:var(--sp-lg);border-top:var(--border-fine)}
.monologue__inner p{font-size:var(--fs-md);color:var(--bone);margin-bottom:var(--sp-md);line-height:1.9}
.monologue__closing{font-family:var(--ff-display);font-size:var(--fs-lg)!important;color:var(--amber)!important;font-style:italic;text-align:center;margin-top:var(--sp-lg)!important;letter-spacing:.02em}


/* ── Sections (shared) ────────────────────────────────── */
.section{padding:var(--sp-xxl) var(--sp-md);position:relative;overflow:hidden}
.section__inner{max-width:var(--max-w);margin:0 auto;position:relative;z-index:2}
.section__header{text-align:center;margin-bottom:var(--sp-xl)}
.section__eyebrow{display:block;font-family:var(--ff-display);font-size:.7rem;letter-spacing:.35em;color:var(--brass);margin-bottom:var(--sp-sm);opacity:.6}
.section__title{font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory);margin-bottom:var(--sp-sm)}
.section__subtitle{font-family:var(--ff-body);font-size:var(--fs-md);font-style:italic;color:var(--smoke);max-width:var(--max-t);margin:0 auto}
.leaf-decor{position:absolute;width:60px;height:100px;background:var(--leaf-svg) center/contain no-repeat;opacity:.04;pointer-events:none;z-index:1}
.leaf-decor--tl{top:8%;left:3%;transform:rotate(-25deg)}
.leaf-decor--tr{top:12%;right:4%;transform:rotate(20deg) scaleX(-1)}
.leaf-decor--bl{bottom:10%;left:5%;transform:rotate(15deg)}
.leaf-decor--br{bottom:8%;right:3%;transform:rotate(-30deg) scaleX(-1)}
.section--about{background:linear-gradient(180deg,var(--obsidian) 0%,var(--obsidian-light) 50%,var(--obsidian) 100%)}
.section--about::before{content:'';position:absolute;top:25%;right:-3%;width:280px;height:380px;background:radial-gradient(ellipse,var(--amber-glow),transparent 70%);pointer-events:none;z-index:0}
.section--expeditions{background:var(--obsidian)}
.section--taboos{background:linear-gradient(180deg,var(--obsidian) 0%,var(--velvet-glow) 50%,var(--obsidian) 100%)}
.section--journal{background:var(--obsidian-light)}
.section--journal::after{content:'';position:absolute;bottom:15%;left:-5%;width:200px;height:300px;background:radial-gradient(ellipse,var(--emerald-glow),transparent 70%);pointer-events:none;z-index:0}
.section--contact{background:linear-gradient(180deg,var(--obsidian) 0%,var(--emerald-glow) 100%)}


/* ── About ────────────────────────────────────────────── */
.about__content{display:grid;grid-template-columns:1fr;gap:var(--sp-lg);align-items:start}
.about__portrait-frame{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border:3px solid var(--brass);box-shadow:inset 0 0 40px rgba(0,0,0,.5),0 0 0 1px var(--obsidian-mid),0 0 0 8px var(--charcoal),0 0 0 10px var(--brass),0 8px 30px rgba(0,0,0,.5)}
.about__portrait-frame::before{content:'◆';position:absolute;top:8px;left:10px;font-size:.5rem;color:var(--brass);opacity:.4;z-index:3}
.about__portrait-frame::after{content:'◆';position:absolute;bottom:8px;right:10px;font-size:.5rem;color:var(--brass);opacity:.4;z-index:3}
.about__portrait-img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block}
.about__text p{margin-bottom:var(--sp-md);font-size:var(--fs-md);line-height:1.9}
.about__text-block{display:none}
html[lang="en"] .about__text-block[data-lang="en"],
html[lang="de"] .about__text-block[data-lang="de"]{display:block}
.home__text-block{display:none}
html[lang="en"] .home__text-block[data-lang="en"],
html[lang="de"] .home__text-block[data-lang="de"]{display:block}
.about__lead{font-family:var(--ff-display);font-size:var(--fs-lg)!important;color:var(--ivory)!important;letter-spacing:.03em}
.about__closing{font-family:var(--ff-display);font-size:var(--fs-lg)!important;color:var(--amber)!important;font-style:italic;text-align:center;padding-top:var(--sp-md);border-top:var(--border-fine);margin-top:var(--sp-lg)!important}


/* ── Expeditions ──────────────────────────────────────── */
.exp-consent{text-align:center;font-family:var(--ff-ui);font-size:var(--fs-xs);letter-spacing:.1em;color:var(--smoke);max-width:var(--max-t);margin:calc(var(--sp-xl)*-1 + var(--sp-md)) auto var(--sp-xl);padding:var(--sp-sm) var(--sp-md);border:var(--border-fine);text-transform:uppercase;line-height:1.8}
.exp-category{margin-bottom:var(--sp-xl);padding-bottom:var(--sp-xl);border-bottom:var(--border-fine)}
.exp-category:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.exp-category__header{text-align:center;margin-bottom:var(--sp-lg)}
.exp-category__numeral{font-family:var(--ff-display);font-size:.75rem;letter-spacing:.3em;color:var(--brass);border:1px solid var(--brass);display:inline-block;padding:.3em 1em;margin-bottom:var(--sp-sm);opacity:.7}
.exp-category__title{font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory);margin-bottom:var(--sp-xs)}
.exp-category__subtitle{font-family:var(--ff-body);font-size:var(--fs-base);font-style:italic;color:var(--smoke)}
.exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-md)}
.exp-card{background:var(--obsidian-light);border:var(--border-fine);padding:var(--sp-md);transition:all var(--t-m) var(--ease);position:relative}
.exp-card::before{content:'';position:absolute;top:0;left:0;width:0;height:2px;background:var(--amber);transition:width var(--t-m) var(--ease)}
.exp-card:hover{border-color:rgba(196,134,58,.2);background:var(--obsidian-mid);transform:translateY(-2px);box-shadow:0 0 30px var(--amber-soft)}
.exp-card:hover::before{width:100%}
.exp-card__name{font-family:var(--ff-display);font-size:var(--fs-base);font-weight:600;letter-spacing:.06em;color:var(--ivory);margin-bottom:var(--sp-xs)}
.exp-card__desc{font-size:var(--fs-sm);color:var(--ash);line-height:1.7}
.exp-card--filler{display:flex;align-items:center;justify-content:center;background:transparent;border:1px dashed rgba(196,134,58,.15);min-height:120px;pointer-events:none}
.exp-card--filler::before{content:none}
.exp-card--filler:hover{transform:none;box-shadow:none;border-color:rgba(196,134,58,.15);background:transparent}
.exp-card--filler__glyph{font-size:1.2rem;color:var(--brass);opacity:.18;letter-spacing:.3em}


/* ── Taboos ───────────────────────────────────────────── */
.taboo__list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-sm);max-width:800px;margin:0 auto var(--sp-lg)}
.taboo__item{display:inline-block;font-family:var(--ff-ui);font-size:var(--fs-sm);font-weight:300;letter-spacing:.08em;text-transform:uppercase;color:var(--danger-light);border:1px solid var(--danger);padding:.5em 1.2em;transition:all var(--t-f) var(--ease)}
.taboo__item:hover{background:rgba(122,48,48,.08)}
.taboo__closing{text-align:center;font-style:italic;color:var(--smoke);font-size:var(--fs-md);max-width:var(--max-t);margin:0 auto}


/* ── Journal ──────────────────────────────────────────── */
.journal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-md)}
.journal-loading{text-align:center;font-family:var(--ff-ui);font-size:var(--fs-sm);color:var(--smoke);letter-spacing:.1em;grid-column:1/-1;padding:var(--sp-lg) 0}
.journal-card{position:relative;background:repeating-linear-gradient(180deg,transparent 0px,transparent 27px,rgba(147,122,58,.04) 27px,rgba(147,122,58,.04) 28px),linear-gradient(135deg,var(--obsidian-mid) 0%,#1a1f16 100%);border:1px solid rgba(147,122,58,.1);border-left:3px solid rgba(147,122,58,.18);overflow:hidden;transition:all var(--t-m) var(--ease);display:flex;flex-direction:column}
.journal-card__link::after{content:'';position:absolute;inset:0;z-index:1}
.journal-card:hover{border-color:rgba(196,134,58,.2);transform:translateY(-3px);box-shadow:0 4px 24px rgba(0,0,0,.4)}
.journal-card__img{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--emerald-deep) 0%,var(--charcoal) 100%);object-fit:cover;border-bottom:var(--border-fine)}
.journal-card__img img{width:100%;height:100%;object-fit:cover}
.journal-card__body{padding:var(--sp-md);flex:1;display:flex;flex-direction:column}
.journal-card__date{font-family:var(--ff-ui);font-size:var(--fs-xs);font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke);margin-bottom:var(--sp-xs)}
.journal-card__title{font-family:var(--ff-display);font-size:var(--fs-base);font-weight:600;letter-spacing:.04em;color:var(--ivory);margin-bottom:var(--sp-sm);line-height:1.4}
.journal-card__excerpt{font-size:var(--fs-sm);color:var(--ash);line-height:1.7;flex:1;margin-bottom:var(--sp-sm)}
.journal-card__link{font-family:var(--ff-ui);font-size:var(--fs-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);align-self:flex-start}
.journal-card__link:hover{color:var(--gold-light)}


/* ── Gallery ─────────────────────────────────────────── */
.section--gallery{background:linear-gradient(180deg,var(--obsidian) 0%,var(--obsidian-light) 50%,var(--obsidian) 100%)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-md)}
.gallery__item{position:relative;overflow:hidden;border:var(--border-fine);aspect-ratio:4/3;background:var(--obsidian-mid);transition:all var(--t-m) var(--ease)}
.gallery__item::before{content:'';position:absolute;top:50%;left:50%;width:44px;height:44px;background:rgba(196,134,58,.0);border:1.5px solid rgba(196,134,58,0);border-radius:50%;transform:translate(-50%,-50%) scale(.6);transition:all var(--t-m) var(--ease);z-index:3;pointer-events:none}
.gallery__item:hover::before{background:rgba(196,134,58,.08);border-color:rgba(196,134,58,.6);transform:translate(-50%,-50%) scale(1)}
.gallery__item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,8,7,.6) 100%);opacity:0;transition:opacity var(--t-m) var(--ease);pointer-events:none}
.gallery__item:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px rgba(11,102,35,.2);border-color:rgba(11,102,35,.3)}
.gallery__item:hover::after{opacity:1}
.gallery__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--t-s) var(--ease)}
.gallery__item:hover img{transform:scale(1.05)}
.gallery__caption{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:var(--sp-sm) var(--sp-md);font-family:var(--ff-ui);font-size:var(--fs-xs);font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);opacity:0;transform:translateY(8px);transition:all var(--t-m) var(--ease)}
.gallery__item:hover .gallery__caption{opacity:1;transform:translateY(0)}

/* ── Gallery Lightbox ─────────────────────────────────── */
.g-lightbox{position:fixed;inset:0;z-index:99998;display:flex;align-items:center;justify-content:center}
.g-lightbox[hidden]{display:none}
.g-lightbox__backdrop{position:absolute;inset:0;background:rgba(4,4,3,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.g-lightbox__stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:min(92vw,1200px);max-height:92vh;animation:g-lb-in .3s var(--ease) both}
@keyframes g-lb-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.g-lightbox__img{display:block;max-width:100%;max-height:82vh;object-fit:contain;border:var(--border-fine);box-shadow:0 24px 80px rgba(0,0,0,.8)}
.g-lightbox__caption{font-family:var(--ff-ui);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);margin-top:var(--sp-sm);text-align:center}
.g-lightbox__close{position:fixed;top:var(--sp-md);right:var(--sp-md);z-index:3;background:rgba(8,8,7,.6);border:1px solid rgba(147,122,58,.2);color:var(--smoke);font-size:2rem;line-height:1;width:48px;height:48px;display:flex;align-items:center;justify-content:center;transition:all var(--t-f) var(--ease);cursor:pointer!important}
.g-lightbox__close:hover{color:var(--ivory);border-color:var(--brass);background:rgba(8,8,7,.9)}
.g-lightbox__nav{position:fixed;top:50%;transform:translateY(-50%);z-index:3;background:rgba(8,8,7,.5);border:1px solid rgba(147,122,58,.15);color:var(--smoke);font-size:3rem;line-height:1;width:56px;height:80px;display:flex;align-items:center;justify-content:center;transition:all var(--t-f) var(--ease);cursor:pointer!important}
.g-lightbox__nav:hover{color:var(--amber);border-color:var(--brass);background:rgba(8,8,7,.85)}
.g-lightbox__prev{left:var(--sp-sm)}
.g-lightbox__next{right:var(--sp-sm)}
@media(max-width:600px){.g-lightbox__nav{width:40px;height:60px;font-size:2rem}.g-lightbox__prev{left:4px}.g-lightbox__next{right:4px}}
.g-lightbox,.g-lightbox *{cursor:auto!important}
.g-lightbox__close,.g-lightbox__nav,.g-lightbox__backdrop{cursor:pointer!important}


/* ── FAQ Accordion ────────────────────────────────────── */
.faq-accordion{max-width:var(--max-t);margin:0 auto var(--sp-xl)}
.faq__item{border-bottom:var(--border-fine)}.faq__item:first-child{border-top:var(--border-fine)}
.faq__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);padding:var(--sp-md) 0;background:none;border:none;cursor:pointer;text-align:left}
.faq__trigger:hover .faq__q{color:var(--amber)}
.faq__q{font-family:var(--ff-display);font-size:var(--fs-base);font-weight:400;letter-spacing:.04em;color:var(--ivory);transition:color var(--t-f) var(--ease)}
.faq__icon{font-family:var(--ff-ui);font-size:var(--fs-lg);font-weight:300;color:var(--brass);flex-shrink:0;transition:transform var(--t-m) var(--ease);line-height:1}
.faq__trigger[aria-expanded="true"] .faq__icon{transform:rotate(45deg)}
.faq__panel{overflow:hidden;max-height:0;transition:max-height var(--t-m) var(--ease),padding var(--t-m) var(--ease);padding:0}
.faq__panel:not([hidden]){max-height:600px;padding:0 0 var(--sp-md) 0}
.faq__panel p{font-size:var(--fs-base);color:var(--ash);line-height:1.8}


/* ── Contact Form ─────────────────────────────────────── */
.contact__cta{text-align:center;max-width:var(--max-t);margin:0 auto}
.contact__cta > p{font-size:var(--fs-md);font-style:italic;color:var(--bone);margin-bottom:var(--sp-md)}
.contact-form{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-md);text-align:left}
.form__group{display:flex;flex-direction:column;gap:.4rem}
.form__label{font-family:var(--ff-ui);font-size:var(--fs-xs);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke)}
.form__input,.form__textarea{font-family:var(--ff-body);font-size:var(--fs-base);color:var(--ivory);background:var(--obsidian-mid);border:var(--border-fine);padding:.8em 1em;outline:none;transition:border-color var(--t-f) var(--ease);-webkit-appearance:none;border-radius:0}
.form__input:focus,.form__textarea:focus{border-color:var(--brass);box-shadow:0 0 0 1px rgba(147,122,58,.15)}
.form__input::placeholder,.form__textarea::placeholder{color:var(--charcoal-light);font-style:italic}
.form__textarea{resize:vertical;min-height:120px}
.form__turnstile{display:flex;justify-content:center;margin:var(--sp-xs) 0}
.form__submit{align-self:center;min-width:240px}
.form__submit:disabled{opacity:.4;cursor:not-allowed;transform:none}
.form__submit:disabled:hover{background:var(--luxury-gold);box-shadow:none;transform:none}
.form__status{text-align:center;font-family:var(--ff-ui);font-size:var(--fs-sm);letter-spacing:.06em;min-height:1.5em}
.form__status--success{color:var(--emerald-light)}
.form__status--error{color:var(--danger-light)}
.form__status--sending{color:var(--smoke)}


/* ── Footer ───────────────────────────────────────────── */
.site-footer{padding:var(--sp-lg) var(--sp-md);border-top:var(--border-fine);background:var(--obsidian)}
.footer__inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--sp-sm);text-align:center}
.footer__copy{font-family:var(--ff-ui);font-size:var(--fs-xs);font-weight:300;letter-spacing:.08em;color:var(--smoke)}
.footer__disclaimer{font-family:var(--ff-ui);font-size:clamp(.6rem,.55rem + .2vw,.7rem);font-weight:300;color:rgba(119,133,112,.6);max-width:600px;line-height:1.6;margin-top:var(--sp-xs)}
.footer__legal{display:flex;gap:var(--sp-md);flex-wrap:wrap;justify-content:center}
.footer__legal a{font-family:var(--ff-ui);font-size:var(--fs-xs);font-weight:300;letter-spacing:.08em;color:var(--smoke)}.footer__legal a:hover{color:var(--amber)}
.footer__back{font-family:var(--ff-ui);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--smoke)!important}.footer__back:hover{color:var(--amber)!important}


/* ── Custom Atmospheric Cursor — Jungle Theme ─────── */
.cursor-ring,.cursor-dot{position:fixed;top:0;left:0;pointer-events:none;border-radius:50%;z-index:9000;opacity:0;transition:opacity var(--t-m) var(--ease)}
.cursor-ring{width:40px;height:40px;border:1.5px solid #0B6623;margin-left:-20px;margin-top:-20px;box-shadow:0 0 8px rgba(11,102,35,.1),inset 0 0 6px rgba(11,102,35,.05);transition:width var(--t-m) var(--ease),height var(--t-m) var(--ease),margin var(--t-m) var(--ease),border-color var(--t-m) var(--ease),box-shadow var(--t-m) var(--ease),opacity var(--t-m) var(--ease)}
.cursor-dot{width:5px;height:5px;background:#8A9A5B;margin-left:-2.5px;margin-top:-2.5px;box-shadow:0 0 4px rgba(138,154,91,.4);transition:width var(--t-f) var(--ease),height var(--t-f) var(--ease),margin var(--t-f) var(--ease),background var(--t-f) var(--ease),box-shadow var(--t-f) var(--ease),opacity var(--t-m) var(--ease)}
.cursor--visible .cursor-ring,.cursor--visible .cursor-dot{opacity:1}
.cursor--hover .cursor-ring{width:56px;height:56px;margin-left:-28px;margin-top:-28px;border-color:var(--amber);box-shadow:0 0 22px rgba(196,134,58,.15),0 0 6px rgba(11,102,35,.1)}
.cursor--hover .cursor-dot{background:var(--amber);box-shadow:0 0 6px rgba(196,134,58,.5)}
/* Click bloom — organic leafy pulse */
.cursor--click .cursor-ring{width:28px;height:28px;margin-left:-14px;margin-top:-14px;border-color:#8A9A5B;box-shadow:0 0 18px rgba(11,102,35,.35),0 0 40px rgba(138,154,91,.12)}
.cursor--click .cursor-dot{width:8px;height:8px;margin-left:-4px;margin-top:-4px;background:#0B6623;box-shadow:0 0 12px 4px rgba(11,102,35,.45),0 0 28px 8px rgba(138,154,91,.15)}
.cursor--hidden .cursor-ring,.cursor--hidden .cursor-dot{opacity:0!important}
/* Restore native cursor when custom cursor is hidden (overlays active) */
.cursor--hidden,.cursor--hidden *{cursor:auto!important}
.cursor--hidden a,.cursor--hidden button,.cursor--hidden [role="button"]{cursor:pointer!important}
.cursor--hidden input,.cursor--hidden textarea{cursor:text!important}
/* Also force native cursor on age gate and post modal regardless of body class */
.age-gate,.age-gate *,#post-modal,#post-modal *{cursor:auto}
.age-gate button,.age-gate a,#post-modal button,#post-modal a{cursor:pointer}
@media(pointer:coarse),(hover:none){.cursor-ring,.cursor-dot{display:none!important}html,body,a,button,input,textarea,.exp-card,.journal-card__link,.faq__trigger,.gallery__item,[role="button"]{cursor:auto!important}a,button,[role="button"]{cursor:pointer!important}input,textarea{cursor:text!important}}
@media(max-width:767px){.cursor-ring,.cursor-dot{display:none!important}html,body,a,button,input,textarea,.exp-card,.journal-card__link,.faq__trigger,.gallery__item,[role="button"]{cursor:auto!important}a,button,[role="button"]{cursor:pointer!important}input,textarea{cursor:text!important}}


/* ── Post Modal Content ──────────────────────────────── */
.entry-content{word-wrap:break-word;overflow-wrap:break-word}
.entry-content p{margin-bottom:var(--sp-md);line-height:1.8}
.entry-content img{max-width:100%;height:auto;border:var(--border-fine);margin:var(--sp-md) 0}
.entry-content a{color:var(--amber);text-decoration:underline;text-decoration-color:rgba(196,134,58,.3);text-underline-offset:3px}
.entry-content a:hover{text-decoration-color:var(--amber)}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:var(--ff-display);color:var(--ivory);letter-spacing:.04em;margin:var(--sp-lg) 0 var(--sp-sm)}
.entry-content blockquote{border-left:2px solid var(--brass);padding-left:var(--sp-md);margin:var(--sp-md) 0;color:var(--smoke);font-style:italic}
.section__inner--narrow{max-width:var(--max-t)}
.journal-single{padding-top:var(--sp-lg)}
.journal-single .section__header{margin-bottom:var(--sp-lg)}
.journal-single .section__title{margin-bottom:var(--sp-sm)}
.journal-single__img{width:100%;aspect-ratio:16/9;overflow:hidden;border:var(--border-fine);margin-bottom:var(--sp-lg)}
.journal-single__img img{width:100%;height:100%;object-fit:cover;display:block}
.journal-single__back{margin-top:var(--sp-xl);padding-top:var(--sp-lg);border-top:var(--border-fine)}


/* ── Scroll Reveals ───────────────────────────────────── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--t-s) var(--ease),transform var(--t-s) var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}


/* ── Responsive ───────────────────────────────────────── */
@media(min-width:768px){
  .about__content{grid-template-columns:1fr 2fr;gap:var(--sp-xl)}
  .journal-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .header__nav{display:flex}
  .nav__list{width:100%;justify-content:space-evenly;gap:0}
  .nav__list li:first-child{display:none}
  .nav__link{font-size:.7rem;letter-spacing:.08em}
  .burger{display:none}
  .mobile-nav{display:none!important}
  .exp-grid{grid-template-columns:repeat(3,1fr)}
  .leaf-decor{width:80px;height:130px}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1200px){
  .nav__list{width:auto;justify-content:center;gap:var(--sp-md)}
  .nav__link{font-size:var(--fs-xs);letter-spacing:.1em}
}
@media(max-width:480px){
  .exp-grid,.journal-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .taboo__list{flex-direction:column;align-items:center}
  .taboo__item{width:100%;text-align:center}
  .age-gate__actions{flex-direction:column}
  .age-gate__actions .btn{width:100%}
  .leaf-decor{display:none}
}


/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS SYSTEM
   ═══════════════════════════════════════════════════════════════ */

.section--testimonials{background:var(--obsidian)}

.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-md);margin-top:var(--sp-md);margin-bottom:var(--sp-lg);min-height:80px}

.testimonials-loading,.testimonials-empty{grid-column:1/-1;text-align:center;color:var(--smoke);font-style:italic;font-size:var(--fs-sm);padding:var(--sp-lg) 0}

.t-card{background:var(--obsidian-light);border:1px solid rgba(147,122,58,.10);padding:var(--sp-md);position:relative;display:flex;flex-direction:column;gap:var(--sp-sm);opacity:0;transform:translateY(16px);transition:border-color var(--t-m) var(--ease),transform var(--t-m) var(--ease)}
.t-card--visible{opacity:1;transform:translateY(0);transition:opacity .55s var(--ease),transform .55s var(--ease),border-color var(--t-m) var(--ease)}
.t-card:hover{border-color:rgba(147,122,58,.28);transform:translateY(-2px)}
.t-card::before{content:'\201C';position:absolute;top:calc(var(--sp-sm) - .2em);left:var(--sp-sm);font-family:var(--ff-display);font-size:3rem;line-height:1;color:var(--brass);opacity:.35;pointer-events:none}
.t-card__message{font-family:var(--ff-body);font-size:var(--fs-base);line-height:1.75;color:var(--bone);font-style:italic;padding-top:calc(var(--sp-sm) + .5em);flex:1}
.t-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-sm);border-top:1px solid rgba(147,122,58,.07);margin-top:auto}
.t-card__author{font-family:var(--ff-ui);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-weight:400}
.t-card__date{font-family:var(--ff-ui);font-size:var(--fs-xs);color:var(--smoke);font-weight:300}

.testimonials-cta{text-align:center;padding:var(--sp-md) 0}
.testimonials-cta__btn{border-color:rgba(147,122,58,.35);color:var(--ash)}
.testimonials-cta__btn:hover{border-color:var(--luxury-gold);color:var(--luxury-gold);box-shadow:0 0 24px rgba(184,153,64,.08)}

/* ── Testimonial Modal ── */
.t-modal{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:var(--sp-md)}
.t-modal[hidden]{display:none}
.t-modal__backdrop{position:absolute;inset:0;background:rgba(6,6,5,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.t-modal__panel{position:relative;z-index:1;background:var(--obsidian-light);border:1px solid rgba(147,122,58,.16);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--sp-lg) var(--sp-md);box-shadow:0 24px 80px rgba(0,0,0,.7);animation:t-modal-in .38s var(--ease) both}
@keyframes t-modal-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.t-modal__close{position:absolute;top:var(--sp-sm);right:var(--sp-sm);background:none;border:none;color:var(--smoke);font-size:2rem;line-height:1;padding:.25em .5em;transition:color var(--t-f) var(--ease)}
.t-modal__close:hover{color:var(--ivory)}
.t-modal__header{margin-bottom:var(--sp-md);padding-right:2.5em}
.t-modal__title{font-family:var(--ff-display);font-size:var(--fs-lg);color:var(--ivory);letter-spacing:.06em;margin:.4em 0 .3em;font-weight:400}
.t-modal__subtitle{font-family:var(--ff-body);font-size:var(--fs-sm);color:var(--ash);font-style:italic;line-height:1.6}

.t-form__group{display:flex;flex-direction:column;gap:.4em;margin-bottom:var(--sp-sm)}
.t-form__label{font-family:var(--ff-ui);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);display:flex;align-items:baseline;gap:.5em}
.t-form__optional{font-size:var(--fs-xs);color:var(--smoke);text-transform:none;letter-spacing:0;font-weight:300;font-style:italic}
.t-form__input,.t-form__textarea{width:100%;background:var(--obsidian-mid);border:1px solid var(--charcoal-light);color:var(--ivory);font-family:var(--ff-body);font-size:var(--fs-base);padding:.65em .9em;transition:border-color var(--t-f) var(--ease),box-shadow var(--t-f) var(--ease);resize:none;-webkit-appearance:none}
.t-form__input::placeholder,.t-form__textarea::placeholder{color:var(--smoke);font-style:italic}
.t-form__input:focus,.t-form__textarea:focus{outline:none;border-color:rgba(147,122,58,.55);box-shadow:0 0 0 3px rgba(147,122,58,.07)}
.t-form__textarea{min-height:130px;line-height:1.75}
.t-form__char-count{font-family:var(--ff-ui);font-size:var(--fs-xs);color:var(--smoke);text-align:right;margin-top:.2em}
.t-form__turnstile{margin:var(--sp-sm) 0 var(--sp-xs)}
.t-form__submit{width:100%;margin-top:var(--sp-sm)}
.t-form__submit:disabled{opacity:.45;transform:none!important;box-shadow:none!important}
.t-form__status{min-height:1.4em;font-family:var(--ff-ui);font-size:var(--fs-sm);padding:.5em 0}
.t-form__status--success{color:var(--gold-light)}
.t-form__status--error{color:#e07070}

@media(max-width:600px){
  .t-modal__panel{padding:var(--sp-md) var(--sp-sm);max-height:95vh}
  .testimonials-grid{grid-template-columns:1fr}
}

/* ── Restore native cursor inside testimonial modal (overrides global cursor:none) ── */
.t-modal,.t-modal *{cursor:auto!important}
.t-modal button,.t-modal .t-modal__close,.t-modal .t-modal__backdrop,.t-modal #t-submit,.t-modal .testimonials-cta__btn{cursor:pointer!important}

/* ══════════════════════════════════════════════════════
   SHARED CONTENT SLIDER  (v2 — viewport / track split)
   Used by journal and testimonials (items 4–9)
   3-up desktop / 2-up tablet / 1-up mobile, page-paginated

   Structure:
     .content-slider-wrap
       └ .content-slider            ← static viewport, overflow:hidden
           └ .content-slider__track ← flex row, moved via translateX(px)
               └ .content-slider__slide × N
       └ .content-slider__nav
   ══════════════════════════════════════════════════════ */

.content-slider-wrap{
  margin-top:var(--sp-md);
  position:relative;
}

/* When #journal-grid / #testimonials-grid host a slider, drop their
   display:grid so the slider-wrap spans the full row instead of being
   squeezed into a single grid track. */
.journal-grid.content-slider-host,
.testimonials-grid.content-slider-host{
  display:block;
  grid-template-columns:none;
  gap:0;
  min-height:0;
}

/* Viewport — clips the track. NEVER transformed. */
.content-slider{
  overflow:hidden;
}

/* Track — the only element that moves */
.content-slider__track{
  display:flex;
  align-items:stretch;
  transition:transform .42s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}

/* Slides — hard-locked widths via flex-basis, never grow/shrink.
   Breakpoints MUST stay in sync with perPage() in app.js /
   testimonials.js (600px and 900px). */
.content-slider__slide{
  flex:0 0 100%;            /* Mobile: 1 visible */
  max-width:100%;
  min-width:0;              /* allow inner content to shrink */
  box-sizing:border-box;
  padding:0 var(--sp-xs);
  display:flex;             /* lets the card stretch to equal height */
}

@media(min-width:600px){
  .content-slider__slide{ flex:0 0 50%; max-width:50%; }          /* Tablet: 2 visible */
}

@media(min-width:900px){
  .content-slider__slide{ flex:0 0 33.3333%; max-width:33.3333%; } /* Desktop: 3 visible */
}

/* Cards inside slides fill their slot */
.content-slider__slide .journal-card,
.content-slider__slide .t-card{
  width:100%;
  margin:0;
  height:auto;
}

/* Nav row */
.content-slider__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-sm);
  margin-top:var(--sp-md);
}

/* Prev / Next arrows */
.content-slider__btn{
  background:none;
  border:1px solid rgba(147,122,58,.25);
  color:var(--amber);
  font-size:1.6rem;
  line-height:1;
  width:2.4em;
  height:2.4em;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer!important;
  transition:border-color var(--t-f) var(--ease),color var(--t-f) var(--ease),background var(--t-f) var(--ease);
  flex-shrink:0;
}
.content-slider__btn:hover{
  border-color:var(--luxury-gold);
  color:var(--gold-light);
  background:rgba(147,122,58,.06);
}

/* Dot indicators */
.content-slider__dots{
  display:flex;
  gap:.5em;
  align-items:center;
}
.content-slider__dot{
  width:.55em;
  height:.55em;
  border-radius:50%;
  background:rgba(147,122,58,.22);
  border:none;
  padding:0;
  cursor:pointer!important;
  transition:background var(--t-f) var(--ease),transform var(--t-f) var(--ease);
}
.content-slider__dot--active{
  background:var(--luxury-gold);
  transform:scale(1.3);
}
.content-slider__dot:hover:not(.content-slider__dot--active){
  background:rgba(147,122,58,.5);
}

.journal-card__img{overflow:hidden;aspect-ratio:16 / 9;background:#111}
.journal-card__img img{display:block;width:100%;height:100%;object-fit:cover}
.about__portrait-img{display:block;width:100%;height:auto;object-fit:cover}

/* ═══ Corrections — July 2026 ═══ */
.section__title--gold{color:var(--luxury-gold)}
.title-highlight{color:var(--luxury-gold)}

/* ═══ Multi-page refactor — per-page ACF backgrounds ═══
   The bailey_page_bg_*() helpers put the color/image inline on <main>
   and add .has-page-bg. These rules make that background actually visible:
   the sections' own opaque backgrounds/gradients are neutralized, and any
   image is rendered as a fixed full-bleed cover. Pages without the ACF
   fields set never get .has-page-bg and keep the stock look untouched. */
main.has-page-bg{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed;   /* image stays put while content scrolls */
  min-height:100vh;              /* short pages: background still fills the viewport */
}
/* Neutralize the stock section backgrounds so the page background shows
   through. Higher specificity (0,2,1) beats every .section--* modifier
   (0,1,0) without needing !important. */
main.has-page-bg .section{background:none}
/* Also drop the decorative radial glow pseudo-elements — they'd float as
   detached halos on top of a custom background. */
main.has-page-bg .section--about::before,
main.has-page-bg .section--journal::after{content:none}
/* iOS Safari ignores/mangles background-attachment:fixed — fall back to
   normal scroll attachment on touch devices. */
@media(pointer:coarse){
  main.has-page-bg{background-attachment:scroll}
}

/* ═══ Landing Pages (page-landing.php) — SEO keyword pages ═══
   Per-page bilingual fields (hero/intro/highlights) use the same
   data-lang / html[lang] CSS toggle as .about__text-block and
   .home__text-block: .lp-text for block-level elements (headings,
   paragraphs, WYSIWYG), .lp-inline for text inside a single anchor
   (e.g. the hero CTA button, where we want one <a> with one href
   rather than two duplicate links). */
.lp-text{display:none}
html[lang="en"] .lp-text[data-lang="en"],
html[lang="de"] .lp-text[data-lang="de"]{display:block}
.lp-inline{display:none}
html[lang="en"] .lp-inline[data-lang="en"],
html[lang="de"] .lp-inline[data-lang="de"]{display:inline}

.hero--landing{min-height:82vh}

.section--landing-intro{background:linear-gradient(180deg,var(--obsidian) 0%,var(--obsidian-light) 50%,var(--obsidian) 100%)}
.section--landing-highlights{background:var(--obsidian)}

.lp-highlights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--sp-md)}
.lp-highlights__item{border-top:var(--border-fine);padding-top:var(--sp-sm)}
.lp-highlights__title{font-family:var(--ff-display);font-size:var(--fs-md);letter-spacing:.06em;text-transform:uppercase;color:var(--luxury-gold);margin-bottom:var(--sp-xs)}
.lp-highlights__desc{font-family:var(--ff-body);color:var(--ash);font-size:var(--fs-base);line-height:1.7}
