:root{
  --ink:#1B1B16;
  --ivory:#F7F2E6;
  --ivory-deep:#EFE7D4;
  --emerald:#0F2A22;
  --emerald-soft:#173A2E;
  --gold:#C9962C;
  --gold-bright:#E0AC3F;
  --wine:#7A2436;
  --line: rgba(27,27,22,0.14);
  --line-on-dark: rgba(247,242,230,0.18);
  --max: 1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Public Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0;
}
p{margin:0;}
a{color:inherit;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

header{ position:sticky; top:0; z-index:50; background:rgba(247,242,230,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; }
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink);}
.brand-mark{width:28px; height:28px; flex-shrink:0;}
.brand-name{font-family:'Fraunces', serif; font-weight:600; font-size:1.1rem;}
.nav-links{display:flex; gap:30px; font-size:0.92rem;}
.nav-links a{text-decoration:none; opacity:0.8; transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-cta{ background:var(--emerald); color:var(--ivory); padding:10px 20px; border-radius:2px; text-decoration:none; font-size:0.88rem; font-weight:600; white-space:nowrap; }
@media (max-width:840px){ .nav-links{display:none;} }

.crumb{ font-size:0.82rem; opacity:0.6; padding:18px 0 0; }
.crumb a{text-decoration:none; border-bottom:1px solid var(--line);}

.hero{ background:var(--emerald); color:var(--ivory); position:relative; overflow:hidden; }
.hero .wrap{ padding:76px 28px 84px; display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center; position:relative; z-index:2; }
@media (max-width:900px){ .hero .wrap{grid-template-columns:1fr; padding:56px 20px 60px;} }
.hero h1{ font-size:clamp(2.1rem, 4.6vw, 3.2rem); line-height:1.1; max-width:16ch; }
.hero-sub{ margin-top:20px; font-size:1.06rem; max-width:48ch; color:rgba(247,242,230,0.82); }
.hero-ctas{display:flex; gap:16px; margin-top:30px; flex-wrap:wrap;}
.btn{ display:inline-block; padding:14px 26px; border-radius:2px; font-weight:600; font-size:0.94rem; text-decoration:none; transition:transform .15s ease, background .2s ease; }
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold); color:var(--emerald);}
.btn-gold:hover{background:var(--gold-bright);}
.btn-outline{border:1px solid var(--line-on-dark); color:var(--ivory);}
.btn-outline:hover{background:rgba(247,242,230,0.08);}
.btn-dark{background:var(--emerald); color:var(--ivory);}
.btn-dark:hover{background:var(--emerald-soft);}
.weave{width:100%; height:auto;}

.trust{ background:var(--ivory-deep); border-bottom:1px solid var(--line); }
.trust .wrap{ padding:30px 28px; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media (max-width:760px){ .trust .wrap{grid-template-columns:repeat(2,1fr);} }
.trust-item .num{font-family:'Fraunces', serif; font-size:1.55rem; color:var(--wine); font-weight:600;}
.trust-item .lbl{font-size:0.82rem; opacity:0.75; margin-top:4px;}

section{padding:88px 0;}
@media (max-width:760px){ section{padding:56px 0;} }
.section-head{max-width:60ch; margin-bottom:48px;}
.section-head h2{font-size:clamp(1.7rem, 3.2vw, 2.3rem); line-height:1.15;}
.section-head p{margin-top:16px; font-size:1.02rem; opacity:0.78; max-width:52ch;}
.kicker{font-size:0.83rem; color:var(--wine); font-weight:600; margin-bottom:12px; display:block;}

.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:840px){ .grid-3{grid-template-columns:1fr;} }
.card{ background:var(--ivory); padding:36px 32px; }
.card h3{font-size:1.2rem; margin-bottom:12px;}
.card p{opacity:0.78; font-size:0.96rem;}
.tag{ display:inline-block; font-size:0.76rem; color:var(--emerald); background:rgba(15,42,34,0.08); padding:4px 10px; border-radius:2px; margin-bottom:16px; font-weight:600; }

.steps-block{background:var(--emerald); color:var(--ivory);}
.steps-block .section-head p{color:rgba(247,242,230,0.75);}
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
@media (max-width:900px){ .steps{grid-template-columns:1fr 1fr; row-gap:40px;} }
@media (max-width:520px){ .steps{grid-template-columns:1fr;} }
.step .step-num{ font-family:'Fraunces', serif; font-size:0.98rem; color:var(--gold-bright); border:1px solid var(--line-on-dark); width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.step h3{font-size:1.02rem; margin-bottom:8px; font-family:'Public Sans', sans-serif; font-weight:700;}
.step p{font-size:0.9rem; color:rgba(247,242,230,0.72);}

.tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .tiers{grid-template-columns:1fr;} }
.tier{ border:1px solid var(--line); padding:32px 28px; background:var(--ivory); display:flex; flex-direction:column; }
.tier.featured{ border-color:var(--gold); box-shadow:0 0 0 1px var(--gold); }
.tier-name{font-family:'Fraunces', serif; font-size:1.3rem; margin-bottom:6px;}
.tier-for{font-size:0.83rem; opacity:0.65; margin-bottom:20px;}
.tier ul{list-style:none; margin:0 0 26px; padding:0; flex-grow:1;}
.tier li{ font-size:0.9rem; padding:9px 0; border-top:1px solid var(--line); opacity:0.85; }
.tier li:first-child{border-top:none;}

.loc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:840px){ .loc-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .loc-grid{grid-template-columns:1fr;} }
.loc-card{ display:block; text-decoration:none; color:var(--ink); border:1px solid var(--line); padding:26px 24px; transition:border-color .2s ease; }
.loc-card:hover{border-color:var(--gold);}
.loc-card .region{font-size:0.78rem; color:var(--wine); font-weight:600; margin-bottom:8px; display:block;}
.loc-card h3{font-size:1.15rem; margin-bottom:8px;}
.loc-card p{font-size:0.88rem; opacity:0.72;}

.local-detail{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
@media (max-width:840px){ .local-detail{grid-template-columns:1fr; gap:32px;} }
.local-detail ul{list-style:none; margin:0; padding:0;}
.local-detail li{ padding:16px 0; border-top:1px solid var(--line); font-size:0.94rem; opacity:0.85; }
.local-detail li:first-child{border-top:none;}

.network{background:var(--ivory-deep);}
.network .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
@media (max-width:840px){ .network .wrap{grid-template-columns:1fr;} }
.network-brands{display:flex; flex-direction:column; gap:12px;}
.network-brand{ display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid var(--line); padding:13px 0; font-size:0.92rem; }
.network-brand:first-child{border-top:none;}
.network-brand .name{font-weight:700;}
.network-brand .desc{opacity:0.65; font-size:0.83rem;}

.cta-section{background:var(--emerald); color:var(--ivory);}
.cta-section .wrap{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:44px; align-items:center; }
@media (max-width:840px){ .cta-section .wrap{grid-template-columns:1fr;} }
.cta-section h2{font-size:clamp(1.7rem, 3.2vw, 2.4rem); max-width:18ch;}
.contact-card{ background:rgba(247,242,230,0.06); border:1px solid var(--line-on-dark); padding:30px; }
.contact-card .row{ display:flex; justify-content:space-between; padding:13px 0; border-top:1px solid var(--line-on-dark); font-size:0.9rem; }
.contact-card .row:first-child{border-top:none;}
.contact-card .row .lbl{opacity:0.65;}

footer{ background:var(--ink); color:rgba(247,242,230,0.6); padding:34px 0; font-size:0.83rem; }
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}

.tier-price{ font-family:'Fraunces', serif; font-size:1.55rem; color:var(--emerald); margin-bottom:4px; }
.tier.featured .tier-price{color:var(--wine);}
.tier-price-note{font-size:0.78rem; opacity:0.6; margin-bottom:18px;}

.faq{max-width:840px;}
.faq details{ border-top:1px solid var(--line); padding:20px 0; }
.faq details:last-child{border-bottom:1px solid var(--line);}
.faq summary{ cursor:pointer; font-weight:700; font-size:1rem; 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:"+"; font-family:'Fraunces', serif; font-size:1.3rem; color:var(--gold); flex-shrink:0; transition:transform .2s ease; }
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .faq-a{ margin-top:14px; font-size:0.94rem; opacity:0.78; max-width:68ch; }

.reveal-once{opacity:0; transform:translateY(12px); transition:opacity .6s ease, transform .6s ease;}
.reveal-once.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal-once{opacity:1; transform:none; transition:none;}
  html{scroll-behavior:auto;}
}
