/* Brandylion — shared brand stylesheet
   Source of truth: design/DESIGN_LANGUAGE.md
   One file, copied into each site at build time. Edit here, never per-site.
   Display face = Chocolatier (matches the live brandylion.bar); accent palette from the live site. */
@font-face{font-family:'Chocolatier';src:url('assets/Chocolatier.woff2') format('woff2'),url('assets/Chocolatier.otf') format('opentype');font-display:swap;}
@font-face{font-family:'Josefin Slab';src:url('assets/JosefinSlab-Bold.woff2') format('woff2'),url('assets/JosefinSlab-Bold.ttf') format('truetype');font-weight:700;font-display:swap;}

:root{
  /* core tokens (authoritative hex from the shipped site) */
  --c:#9E2A2B;      /* brandy red — primary, cocktail colorway */
  --cd:#7a1e20;     /* deep red — hover/pressed, red ground */
  --cr:#feedd9;     /* cream — primary ground, "the paper" */
  --cr2:#f7e9d2;    /* warm cream — cards, alternating sections */
  --bl:#dca794;     /* blush — hairlines, border-motif diamonds */
  --gd:#D4A95E;     /* gold — metal accent, small solid buttons */
  --gl:#e6c88a;     /* light gold — accent type on dark grounds */
  --green:#233c38;  /* forest green — tea colorway */
  --copper:#b5561d; /* copper — spirit colorway (saturated gold family) */
  --ink:#3a1410;    /* ink brown — body on cream */
  --ch:#1c1411;     /* near-black brown — darkest ground */
  --muted:#6a4f40;  /* muted body/caption on cream */
  --muted2:#4a352a; /* muted lead body on cream */

  /* per-page accent: each site sets --a and --a-soft to its colorway.
     events default = brandy red; weddings override; quinceaneras override. */
  --a:var(--c);
  --a-soft:var(--cd);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Josefin Slab',Georgia,serif;background:var(--cr);color:var(--ink);font-size:19px;line-height:1.62;overflow-x:hidden;}
h1,h2,h3,.disp{font-family:'Chocolatier',serif;font-weight:normal;line-height:1.05;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
:focus-visible{outline:2px solid var(--gd);outline-offset:2px;}
.hero .hero-form :focus-visible,.field :focus-visible{outline-color:var(--a);}

.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}

/* letterpress eyebrow / kicker */
.eyebrow{font-family:'Chocolatier',serif;color:var(--a);letter-spacing:.2em;text-transform:uppercase;font-size:.98rem;display:block;margin-bottom:12px;}

/* the gold diamond ornament + the pueblo-deco border motif */
.dm{width:8px;height:8px;background:var(--gd);transform:rotate(45deg);}
.deco-border{--dw:14px;position:relative;}
.deco-border::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--dw);
  background:repeating-linear-gradient(-45deg,var(--a) 0 10px,transparent 10px 20px),
             repeating-linear-gradient(45deg,var(--bl) 0 10px,transparent 10px 20px);
  background-blend-mode:normal;opacity:.9;}

/* buttons */
.btn{font-family:'Chocolatier',serif;letter-spacing:.05em;padding:14px 30px;border-radius:2px;display:inline-block;font-size:1.1rem;transition:.2s;cursor:pointer;}
.btn-solid{background:var(--a);color:#fff;}
.btn-solid:hover{background:var(--a-soft);}
.btn-gold{background:var(--gd);color:var(--ch);}
.btn-gold:hover{background:var(--gl);}
.btn-outline{border:1.5px solid currentColor;}

/* NAV */
nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  padding:11px 30px;background:rgba(254,237,217,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--bl);}
nav .navlogo{height:42px;}
/* CO-BRAND nav lockup: Brandylion × Presidio, always visible in the sticky nav */
nav .navlock{display:flex;align-items:center;gap:16px;}
nav .navlock .nl-brand{height:40px;}
nav .navlock .nl-presidio{height:54px;}
nav .navlock .nl-x{font-family:'Chocolatier',serif;color:var(--ink);font-size:1.85rem;line-height:1;}
nav .links{display:flex;gap:24px;align-items:center;}
nav .links a{font-family:'Chocolatier',serif;font-size:1.05rem;letter-spacing:.03em;}
nav .links a:hover{color:var(--a);}
nav .links .resv{border:1.5px solid var(--a);padding:6px 15px;border-radius:2px;color:var(--a);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.burger span{width:25px;height:2.5px;background:var(--ink);}

/* HERO */
.hero{position:relative;height:88vh;min-height:540px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.hero picture{position:absolute;inset:0;}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .sc{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,20,17,.42),rgba(28,20,17,.74));}
.hero .in{position:relative;z-index:3;padding:24px;color:#fff;}
.hero .wordmark{width:min(340px,64vw);max-height:42vh;object-fit:contain;margin:0 auto 22px;}
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem);color:#fff;margin-bottom:14px;}
.hero p{max-width:600px;margin:0 auto 26px;font-size:1.2rem;color:rgba(254,237,217,.92);}
.hero a.btn{color:#fff;border:1.5px solid #fff;}
.hero a.btn:hover{background:#fff;color:var(--a-soft);}

/* INTRO */
.intro{text-align:center;padding:84px 0 64px;}
.intro .dm{margin:0 auto 22px;}
.intro p{max-width:700px;margin:0 auto;font-size:1.42rem;color:var(--muted2);line-height:1.72;}

/* BOLD moment */
.bold{position:relative;padding:84px 0;background:var(--ch);color:var(--cr);text-align:center;}
.bold .big{font-family:'Chocolatier',serif;font-size:clamp(2.4rem,7vw,5rem);line-height:1.04;}
.bold .big .hl{color:var(--gl);}

/* SPLIT (photo + text, alternating) */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;}
.split .ph{position:relative;min-height:520px;overflow:hidden;}
.split .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.split .tx{padding:72px 64px;}
.split .tx h2{font-size:clamp(2rem,4vw,3rem);color:var(--a);margin-bottom:14px;}
.split .tx p{font-size:1.24rem;color:var(--muted2);max-width:470px;margin-bottom:20px;line-height:1.65;}
.split.flip .ph{order:2;}.split.flip .tx{order:1;}
.split.dark{background:var(--ch);}.split.dark .tx h2{color:var(--gl);}.split.dark .tx p{color:#d8cbb8;}.split.dark .eyebrow{color:var(--gl);}
.split.soft{background:var(--cr2);}

/* FEATURE cards (offerings / inclusions) */
.cards{padding:80px 0;}
.cards h2{text-align:center;font-size:clamp(2rem,4.5vw,3rem);color:var(--a);margin-bottom:8px;}
.cards .sub{text-align:center;color:var(--muted2);font-size:1.14rem;margin-bottom:44px;max-width:760px;margin-left:auto;margin-right:auto;line-height:1.55;}
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.card{background:var(--cr2);border:1px solid var(--bl);border-radius:5px;padding:30px 26px;box-shadow:0 10px 30px rgba(58,20,16,.10);}
.card h3{font-family:'Chocolatier',serif;font-size:1.4rem;color:var(--a);margin-bottom:10px;}
.card p{font-size:1.08rem;color:var(--muted2);line-height:1.6;}
.card .dm{margin-bottom:16px;}

/* GALLERY masonry */
.gallery{padding:80px 0;}
.gallery.soft{background:var(--cr2);}
.gallery h2{text-align:center;font-size:clamp(2rem,4.5vw,2.8rem);color:var(--a);margin-bottom:30px;}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:155px;gap:12px;grid-auto-flow:dense;}
.tiles figure{overflow:hidden;border-radius:3px;}
.tiles img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.tiles figure:hover img{transform:scale(1.06);}
.tall{grid-column:span 2;grid-row:span 2;}.sq{grid-column:span 2;}.wide{grid-column:span 4;}

/* INQUIRY form */
.inquire{background:var(--a);color:var(--cr);}
.inquire .frame{border:2px solid rgba(224,193,135,.45);margin:16px;padding:56px 20px;}
.inquire .inner{max-width:720px;margin:0 auto;}
.inquire .eyebrow{color:var(--gl);text-align:center;}
.inquire h2{text-align:center;font-size:clamp(2.2rem,5vw,3.2rem);color:#fff;margin-bottom:10px;}
.inquire .lead{text-align:center;color:rgba(254,237,217,.85);max-width:520px;margin:0 auto 34px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1 / -1;}
.field label{font-family:'Chocolatier',serif;letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;color:var(--gl);}
.field input,.field select,.field textarea{font-family:'Josefin Slab',Georgia,serif;font-size:1rem;
  padding:12px 14px;border:1px solid rgba(254,237,217,.35);border-radius:2px;background:rgba(254,237,217,.96);color:var(--ink);}
.field textarea{min-height:120px;resize:vertical;}
.inquire .submit{margin-top:22px;text-align:center;}
.inquire .submit .btn{background:var(--gd);color:var(--ch);border:none;font-size:1.05rem;padding:15px 40px;}
.inquire .submit .btn:hover{background:var(--gl);}
.inquire .alt{text-align:center;margin-top:20px;font-size:1rem;color:rgba(254,237,217,.85);}
.inquire .alt a{color:var(--gl);}

/* FOOTER */
footer{background:var(--ch);color:rgba(254,237,217,.65);text-align:center;padding:50px 0 26px;}
footer .fwm{width:220px;margin:0 auto 14px;}
footer .flinks{display:flex;gap:22px;justify-content:center;margin-bottom:16px;flex-wrap:wrap;}
footer .flinks a{color:var(--gl);font-family:'Chocolatier',serif;font-size:1.05rem;letter-spacing:.05em;}
footer .flinks a:hover{color:#fff;}
footer .sky{width:100%;max-width:800px;margin:16px auto;opacity:.42;filter:brightness(0) invert(1);}
footer .copy{font-size:.92rem;color:rgba(254,237,217,.5);line-height:1.8;}

/* CO-BRAND lockup — Brandylion × Presidio, equal weight, one divider, cream on dark.
   System spec: design/CO_BRAND.md. Marks rendered monochrome cream so the two
   brand reds (#a91f23 vs #C70002) never sit as peers. Partner mark unaltered but recolored. */
.cobrand{display:flex;flex-direction:column;align-items:center;gap:14px;
  margin:8px auto 26px;padding:26px 20px 0;border-top:1px solid rgba(224,193,135,.22);max-width:640px;}
.cobrand .rel{font-family:'Chocolatier',serif;letter-spacing:.2em;text-transform:uppercase;
  font-size:.85rem;color:var(--gl);}
.cobrand .lock{display:flex;align-items:center;justify-content:center;gap:30px;}
.cobrand .lock img{display:block;}
.cobrand .cb-brand{height:54px;opacity:.95;}
.cobrand .cb-x{font-family:'Chocolatier',serif;color:var(--gl);font-size:2.5rem;line-height:1;opacity:.95;}
.cobrand .cb-presidio{height:72px;opacity:.95;}
.cobrand .note{font-family:'Josefin Slab',Georgia,serif;font-size:.95rem;color:rgba(254,237,217,.62);
  text-align:center;max-width:460px;line-height:1.55;}
@media(max-width:600px){
  .cobrand .lock{gap:18px;}
  .cobrand .cb-brand{height:42px;}.cobrand .cb-presidio{height:56px;}.cobrand .cb-x{font-size:2rem;}
}

/* CLARITY subhead (states what/where/capacity under the poetic hero headline) */
.hero .clarity{font-family:'Chocolatier',serif;letter-spacing:.14em;text-transform:uppercase;font-size:.95rem;color:var(--gl);margin:0 auto 18px;max-width:640px;line-height:1.5;}

/* TRUST bar (reviews / awards) */
.trust{background:var(--cr2);border-bottom:1px solid var(--bl);text-align:center;padding:20px 16px;}
.trust .stars{color:var(--gd);letter-spacing:.18em;font-size:1.05rem;}
.trust .line{font-family:'Chocolatier',serif;letter-spacing:.06em;color:var(--muted2);font-size:.92rem;margin-top:6px;}
.trust .badges{margin-top:8px;font-size:.76rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}

/* TESTIMONIALS */
.testi{padding:80px 0;text-align:center;}
.testi h2{font-size:clamp(2rem,4.5vw,3rem);color:var(--a);margin-bottom:8px;}
.testi .sub{color:var(--muted2);margin-bottom:40px;}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tq{background:var(--cr2);border:1px solid var(--bl);border-radius:5px;padding:28px 24px;text-align:left;box-shadow:0 8px 24px rgba(58,20,16,.08);}
.tq .stars{color:var(--gd);letter-spacing:.12em;margin-bottom:12px;}
.tq .quote{font-size:1.05rem;line-height:1.6;color:var(--ink);}
.tq .who{font-family:'Chocolatier',serif;letter-spacing:.05em;color:var(--a);margin-top:16px;font-size:.95rem;}

/* FAQ (native accordion, no JS) */
.faq{padding:80px 0;background:var(--cr2);}
.faq h2{text-align:center;font-size:clamp(2rem,4.5vw,3rem);color:var(--a);margin-bottom:36px;}
.faq .list{max-width:760px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--bl);}
.faq summary{font-family:'Chocolatier',serif;font-size:1.24rem;color:var(--ink);padding:18px 4px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--a);font-size:1.5rem;line-height:1;}
.faq details[open] summary{color:var(--a);}
.faq details[open] summary::after{content:"\2013";}
.faq .a{padding:0 4px 22px;color:var(--muted2);font-size:1.12rem;line-height:1.68;}

/* INVESTMENT — published pricing, tiers, inclusions, bar, all-in comparison.
   Showing the number is deliberate: both premium rivals hide theirs.
   Rationale + sourced market data in design/PRICING_POSITIONING.md. */
.invest{padding:80px 0;}
.invest h2{text-align:center;font-size:clamp(2rem,4.5vw,3rem);color:var(--a);margin-bottom:8px;}
.invest .sub{text-align:center;color:var(--muted2);font-size:1.14rem;max-width:640px;margin:0 auto 44px;line-height:1.55;}
.invest h3{font-family:'Chocolatier',serif;font-size:1.55rem;color:var(--a);margin-bottom:6px;}

/* two rental tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:26px;}
.tier{background:var(--cr2);border:1px solid var(--bl);border-radius:5px;padding:32px 24px;text-align:center;box-shadow:0 10px 30px rgba(58,20,16,.10);}
.tier .dm{margin:0 auto 16px;}
.tier .tname{font-family:'Chocolatier',serif;letter-spacing:.16em;text-transform:uppercase;font-size:.9rem;color:var(--muted);margin-bottom:12px;}
.tier .tprice{font-family:'Chocolatier',serif;font-size:clamp(2.2rem,4.6vw,3rem);color:var(--a);line-height:1;}
.tier .tmeta{font-family:'Chocolatier',serif;letter-spacing:.04em;color:#9a6b21;font-size:1.06rem;margin:12px 0 14px;}
.tier p{font-size:1.08rem;color:var(--muted2);line-height:1.6;}

/* what every wedding includes (dark panel) */
.incl{background:var(--ch);border-radius:5px;padding:46px 42px;margin-bottom:26px;}
.incl h3{color:var(--gl);text-align:center;}
.incl .note{text-align:center;color:rgba(254,237,217,.9);font-size:1.1rem;margin-bottom:28px;}
.ilist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px 36px;}
.ilist li{position:relative;padding-left:22px;font-size:1.02rem;color:#e5d8c6;}
.ilist li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--gd);transform:rotate(45deg);}
.incl .not{margin-top:28px;padding-top:22px;border-top:1px solid rgba(224,193,135,.28);text-align:center;font-size:1rem;color:rgba(254,237,217,.72);}

/* bar packages */
.barpkg{margin-bottom:26px;}
.barpkg .head{text-align:center;margin-bottom:26px;}
.barpkg .head p{color:var(--ink);max-width:640px;margin:0 auto;font-size:1.08rem;line-height:1.6;}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.bp{background:var(--cr2);border:1px solid var(--bl);border-radius:5px;padding:28px 24px;}
.bp .lbl{font-family:'Chocolatier',serif;letter-spacing:.1em;text-transform:uppercase;font-size:.86rem;color:var(--a);margin-bottom:10px;}
.bp .amt{font-family:'Chocolatier',serif;font-size:2rem;color:var(--a);line-height:1;margin-bottom:10px;}
.bp p{font-size:.98rem;color:var(--muted2);}

/* the all-in comparison (the real weapon) */
.allin{border:1.5px solid var(--bl);border-radius:5px;background:var(--cr2);padding:40px 32px;text-align:center;}
.allin h3{font-size:clamp(1.6rem,3.2vw,2.2rem);margin-bottom:10px;}
.allin .lead{max-width:660px;margin:0 auto 30px;color:var(--muted2);}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:740px;margin:0 auto;}
.vs .col{padding:26px 20px;border-radius:4px;}
.vs .col.us{background:var(--a);color:var(--cr);}
.vs .col.them{background:var(--cr);border:1px solid var(--bl);}
.vs .k{font-family:'Chocolatier',serif;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;margin-bottom:10px;opacity:.85;}
.vs .v{font-family:'Chocolatier',serif;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.1;}
.vs .col.us .v{color:var(--gl);}
.vs .col.them .v{color:var(--muted);}
.vs .cap{font-size:1rem;margin-top:10px;line-height:1.55;}
.vs .col.us .cap{color:rgba(254,237,217,.85);}
.vs .col.them .cap{color:var(--muted);}
.allin .fine{max-width:680px;margin:22px auto 0;font-size:.96rem;line-height:1.65;color:var(--muted);}

/* CO-BRAND STRIP — states the partnership up top, cream ground, both marks in ink.
   The page is Brandylion-led (60-30-10); this is a 10% Presidio signal, seen early. */
.cobrandstrip{background:var(--cr2);border-top:1px solid var(--bl);border-bottom:1px solid var(--bl);
  padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;}
.cobrandstrip .cs-lion{height:30px;opacity:.9;}
.cobrandstrip .cs-presidio{height:34px;opacity:.9;}
.cobrandstrip .cs-div{width:1px;height:26px;background:var(--bl);}
.cobrandstrip .cs-txt{font-family:'Chocolatier',serif;letter-spacing:.1em;text-transform:uppercase;
  font-size:.72rem;color:var(--muted);text-align:center;line-height:1.5;max-width:520px;}

/* ADD-ONS — the museum's living-history experiences. This is the PRESIDIO MOMENT:
   the one section where the museum's black-and-gold system surfaces. Bridge ground
   is Brandylion's near-black (--ch, close to Presidio black); gold is the shared accent
   (never a second red on a Brandylion-led surface). System: design/CO_BRAND.md. */
.addons{padding:74px 0 80px;background:var(--ch);position:relative;}
.addons .pmark{display:block;height:52px;margin:0 auto 18px;opacity:.95;}
.addons .eyebrow{color:var(--gl);}
.addons h2{text-align:center;font-size:clamp(2rem,4.5vw,3rem);color:var(--gl);margin-bottom:8px;}
.addons .sub{text-align:center;color:rgba(254,237,217,.9);font-size:1.14rem;max-width:660px;margin:0 auto 44px;line-height:1.55;}
.addongrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:900px;margin:0 auto;}
.addon{background:#241a15;border:1px solid rgba(224,193,135,.28);border-radius:5px;padding:28px 26px;display:flex;flex-direction:column;}
.addon h3{font-family:'Chocolatier',serif;font-size:1.3rem;color:var(--gl);margin-bottom:4px;}
.addon .price{font-family:'Chocolatier',serif;color:var(--gl);letter-spacing:.04em;font-size:1.06rem;margin-bottom:12px;}
.addon p{font-size:1.08rem;color:#dbcfbd;line-height:1.6;}
.addons .foot{text-align:center;color:rgba(254,237,217,.6);font-size:.92rem;margin-top:32px;max-width:640px;margin-left:auto;margin-right:auto;}

/* HERO conversion split (layout 4): emotion left, date-check card right */
.hero .in.split2{max-width:1080px;width:100%;display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center;text-align:left;}
.hero .hero-copy .clarity{margin:0 0 14px;}
.hero .hero-copy h1{margin-bottom:14px;}
.hero .hero-copy .subh{margin:0 0 16px;max-width:540px;font-size:1.3rem;line-height:1.55;color:rgba(254,237,217,.94);}
.hero .hero-price{font-family:'Chocolatier',serif;color:var(--gl);letter-spacing:.02em;font-size:1.16rem;line-height:1.5;}
.hero .hero-form{background:rgba(254,237,217,.97);border-radius:6px;padding:26px;color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.42);text-align:left;}
.hero .hero-form .hf-t{font-family:'Chocolatier',serif;color:var(--a);font-size:1.5rem;margin-bottom:16px;}
.hero .hero-form .fld{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
.hero .hero-form label{font-family:'Chocolatier',serif;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;color:var(--muted);}
.hero .hero-form input,.hero .hero-form select{font-family:'Josefin Slab',Georgia,serif;font-size:1.08rem;padding:12px;border:1px solid var(--bl);border-radius:2px;background:#fff;color:var(--ink);}
.hero .hero-form button{width:100%;background:var(--a);color:#fff;border:none;font-family:'Chocolatier',serif;letter-spacing:.05em;padding:15px;border-radius:2px;font-size:1.12rem;cursor:pointer;margin-top:4px;}
.hero .hero-form button:hover{background:var(--a-soft);}
.hero .hero-form .hf-alt{font-size:.92rem;color:var(--muted);text-align:center;margin-top:12px;}

/* Factual trust strip under the hero (layout 4), no invented reviews */
.trustbar{background:var(--cr2);border-bottom:1px solid var(--bl);text-align:center;padding:16px;
  font-family:'Chocolatier',serif;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;color:var(--muted2);line-height:1.7;}
.trustbar b{color:var(--a);}

/* Desktop + mobile sticky Check-Your-Date bar (layout 5), reveals on scroll past the hero */
.datebar{position:fixed;left:0;right:0;bottom:0;z-index:55;transform:translateY(110%);transition:transform .3s ease;
  background:var(--ch);border-top:1.5px solid var(--gd);display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 18px;}
.datebar.show{transform:translateY(0);}
.datebar .t{font-family:'Chocolatier',serif;color:var(--gl);letter-spacing:.04em;font-size:1.08rem;}
.datebar a{font-family:'Chocolatier',serif;letter-spacing:.04em;padding:11px 26px;border-radius:2px;}
.datebar a.primary{background:var(--gd);color:var(--ch);}
.datebar a.call{border:1.5px solid var(--gl);color:var(--gl);display:none;}

@media(max-width:860px){
  .hero .in.split2{grid-template-columns:1fr;gap:22px;}
  .hero{height:auto;min-height:0;padding:88px 0 40px;}
  .datebar .t{display:none;}
  .datebar a.call{display:inline-block;}
  .datebar{gap:10px;}.datebar a{flex:1;text-align:center;}
}

/* RESPONSIVE */
@media(max-width:860px){
  body{padding-bottom:60px;} /* clearance for the sticky Check-Your-Date bar */
  .tgrid{grid-template-columns:1fr;}
  /* hero must never overflow a narrow screen.
     min-width:0 defeats the flex-item min-content floor so text can wrap. */
  .hero .in{width:100%;max-width:100%;min-width:0;padding:20px 18px;}
  .hero .wordmark{width:min(280px,72vw);max-width:100%;}
  .hero h1{font-size:clamp(2rem,7.5vw,2.8rem);overflow-wrap:break-word;}
  .hero p,.hero .clarity{overflow-wrap:break-word;}
  .hero .clarity{letter-spacing:.1em;font-size:.72rem;}
  nav .links{display:none;position:fixed;top:64px;right:0;background:var(--a-soft);flex-direction:column;width:72%;max-width:300px;
    height:calc(100vh - 64px);padding:30px;gap:26px;}
  nav .links.open{display:flex;}
  .links a,.links .resv{color:var(--cr)!important;border-color:var(--cr)!important;}
  .burger{display:flex;}
  .split{grid-template-columns:1fr;}.split .ph{min-height:320px;}.split.flip .ph{order:1;}.split.flip .tx{order:2;}
  .split .tx{padding:44px 30px;}
  .cardgrid{grid-template-columns:1fr;}
  .tiles{grid-template-columns:1fr 1fr;grid-auto-rows:150px;}
  .tall,.sq{grid-column:span 1;grid-row:span 1;}.wide{grid-column:span 2;grid-row:span 1;}
  .form-grid{grid-template-columns:1fr;}
  .inquire .frame{margin:10px;padding:40px 8px;}
  .tiers,.ilist,.bgrid,.vs,.addongrid{grid-template-columns:1fr;}
  .cobrandstrip{gap:12px;}.cobrandstrip .cs-txt{font-size:.66rem;}
  nav .navlock{gap:11px;}nav .navlock .nl-brand{height:32px;}nav .navlock .nl-presidio{height:44px;}nav .navlock .nl-x{font-size:1.5rem;}
  .incl{padding:34px 24px;}
  .allin{padding:32px 20px;}
}

/* NIGHT VIDEO band — silent, looping; autoplay desktop only (mobile shows poster) */
.videoband{position:relative;height:72vh;min-height:440px;overflow:hidden;background:var(--ch);}
.videoband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.videoband .vb-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,20,17,.22),rgba(28,20,17,.5));}
.videoband .vb-cap{position:absolute;left:0;right:0;bottom:38px;text-align:center;z-index:2;font-family:'Chocolatier',serif;color:#fff;font-size:clamp(1.8rem,4.5vw,3rem);letter-spacing:.02em;}
.videoband .vb-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* add-on card image (Spotlight) */
.addon .aimg{width:100%;border-radius:4px;margin-bottom:14px;display:block;object-fit:cover;}
/* preferred vendors */
.vendors{max-width:820px;margin:30px auto 0;}
.vlead{text-align:center;font-size:1.08rem;line-height:1.65;color:var(--muted2);margin:0 0 22px;}
.vlead strong{color:var(--a);}
.vcard{display:flex;gap:0;align-items:stretch;background:#fff;border:1px solid var(--bl);border-radius:6px;overflow:hidden;box-shadow:0 8px 30px rgba(28,20,17,.07);}
.vcard .vimg{width:250px;min-height:300px;object-fit:cover;object-position:50% 22%;display:block;flex:none;}
.vbody{padding:26px 30px;flex:1;display:flex;flex-direction:column;justify-content:center;}
.vrole{font-family:'Josefin Slab',serif;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#9a6b21;}
.vbody h3{margin:.15em 0 .45em;font-size:1.6rem;color:var(--a);}
.vbody p{color:var(--ink);line-height:1.62;font-size:1.02rem;margin:0 0 18px;}
.vbtn{align-self:flex-start;font-size:1rem;padding:12px 30px;}
.vnote{text-align:center;font-size:.98rem;color:var(--muted2);margin:20px auto 0;max-width:660px;line-height:1.6;}
.vnote a,.vlead a{color:var(--a);text-decoration:underline;}
@media(max-width:860px){.vcard{flex-direction:column;}.vcard .vimg{width:100%;min-height:0;height:300px;object-position:50% 20%;}.vbody{padding:22px 24px 26px;text-align:center;}.vbtn{align-self:center;}}
@media(max-width:860px){.videoband{height:58vh;min-height:360px;}.videoband .vb-cap{bottom:26px;}}

/* The analytics disclosure. Quiet, but present on the page that does the
   counting rather than buried on a policy page nobody opens. */
.privacy-note{
  margin:18px auto 0;
  max-width:52ch;
  font-size:12px;
  line-height:1.5;
  text-align:center;
  opacity:.55;
}
