/* ============================================================
   Zone Zero Montecito — Olive Grove Estate
   Identity per claude/montecito-kickoff.md (Chris-approved 2026-07-12)
   Old-money estate quiet: desaturated sage-olive + aged walnut + antique
   brass on warm travertine stone. Deliberately NOT Orange County's saturated
   citrus-crate palette and NOT Santa Barbara's terracotta whitewash. Brass is
   a SPARING accent (CTAs, small marks). Signature motifs: a stroke-only
   foothill-ridgeline line drawing behind the hero (understated, no filled
   graphic block) and an "estate ledger" stat panel with thin double rules and
   brass numerals. Cormorant Garamond + Manrope. Network invariants: zz-
   prefix, fixed phase badge colors, 767/479 breakpoints, WCAG AA.
   ============================================================ */
:root{
  --zz-olive:#6B7259;
  --zz-olive-deep:#4A4F3D;
  --zz-walnut:#3E2F22;
  --zz-brass:#A6813E;
  --zz-brass-deep:#8A6930;
  --zz-stone:#F2ECDD;
  --zz-parchment:#FAF6EB;
  --zz-ink:#2B2620;
  --zz-hairline:#DED2B8;
  --zz-font-display:'Cormorant Garamond',Georgia,serif;
  --zz-font-body:'Manrope',-apple-system,Segoe UI,sans-serif;
  /* Network-fixed phase badge colors */
  --zz-p1-bg:#fdf0f2;--zz-p1-fg:#BF0A30;
  --zz-p2-bg:#FDF6EC;--zz-p2-fg:#83460D;
  --zz-imm-bg:#BF0A30;--zz-imm-fg:#ffffff;
  --zz-bp-bg:#EEF2FF;--zz-bp-fg:#003DA5;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--zz-font-body);color:var(--zz-ink);background:var(--zz-stone);line-height:1.7;font-size:16px}
img,svg{max-width:100%;height:auto;display:block}
a{color:#55603F;text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--zz-olive);outline-offset:2px}
.zz-container{max-width:1100px;margin:0 auto;padding:0 24px}
section{padding:76px 0}
.zz-eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--zz-brass);margin-bottom:14px}
.zz-h2{font-family:var(--zz-font-display);font-size:clamp(30px,3.8vw,42px);font-weight:600;color:var(--zz-walnut);line-height:1.18;margin-bottom:22px}
.zz-h3{font-family:var(--zz-font-display);font-size:23px;font-weight:600;color:var(--zz-walnut);margin-bottom:10px}
p{margin-bottom:16px}
p b,p strong{color:var(--zz-walnut)}
ul.zz-list{margin:0 0 18px 22px}
ul.zz-list li{margin-bottom:9px}

/* --- Nav --- */
.zz-nav{background:var(--zz-olive-deep);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--zz-brass)}
.zz-nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1100px;margin:0 auto}
.zz-logo{display:flex;align-items:center;gap:11px}
.zz-logo:hover{text-decoration:none}
.zz-logo-mark{width:34px;height:34px;flex:none}
.zz-logo-text{font-family:var(--zz-font-display);font-size:19px;font-weight:600;color:var(--zz-stone);line-height:1.12;letter-spacing:.02em}
.zz-logo-text small{display:block;font-family:var(--zz-font-body);font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:#C9BE9F;font-weight:700}
.zz-nav-links{display:flex;gap:26px;list-style:none;align-items:center}
.zz-nav-links a{color:var(--zz-stone);font-size:14px;font-weight:600}
.zz-nav-links a:hover{color:#D8CCA6;text-decoration:none}
.zz-nav-cta{border:1px solid var(--zz-brass);color:#E8DDBE !important;padding:9px 20px;border-radius:2px;font-weight:700;letter-spacing:.04em}
.zz-nav-cta:hover{background:var(--zz-brass);color:#fff !important}
.zz-nav-toggle{display:none;background:none;border:1px solid var(--zz-stone);border-radius:2px;color:var(--zz-stone);font-size:20px;padding:4px 12px;cursor:pointer}

/* --- Estate hero: stroke-only ridgeline line drawing, understated --- */
.zz-hero{position:relative;padding:88px 0 104px;background:var(--zz-stone);overflow:hidden}
.zz-hero-ridge{position:absolute;bottom:26px;left:0;right:0;width:100%;height:auto;pointer-events:none;opacity:.5}
.zz-hero-inner{position:relative;max-width:760px;z-index:1}
.zz-hero h1{font-family:var(--zz-font-display);font-size:clamp(34px,5.2vw,56px);font-weight:600;line-height:1.1;color:var(--zz-walnut);margin-bottom:20px}
.zz-hero h1 em{font-style:italic;color:var(--zz-olive)}
.zz-hero-sub{font-size:17.5px;max-width:640px;margin-bottom:30px}
.zz-hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.zz-btn{display:inline-block;padding:14px 30px;border-radius:2px;font-weight:700;font-size:15px;letter-spacing:.04em}
.zz-btn:hover{text-decoration:none}
.zz-btn-brass{background:var(--zz-brass);color:#fff;border:1px solid var(--zz-brass-deep)}
.zz-btn-brass:hover{background:var(--zz-brass-deep)}
.zz-btn-ghost{border:1px solid var(--zz-walnut);color:var(--zz-walnut)}
.zz-btn-ghost:hover{background:var(--zz-walnut);color:var(--zz-stone)}

/* --- Quick answer --- */
.zz-quick-answer{background:var(--zz-parchment);border-top:1px solid var(--zz-brass);border-bottom:1px solid var(--zz-hairline);padding:24px 28px;margin:0 0 8px;font-size:16.5px}
.zz-quick-answer b{color:var(--zz-walnut)}

/* --- Trust band --- */
.zz-trust{background:var(--zz-olive);color:var(--zz-stone);padding:28px 0}
.zz-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.zz-trust-item b{display:block;font-family:var(--zz-font-display);font-size:21px;font-weight:600;color:#EFE6CB}
.zz-trust-item span{font-size:12.5px;opacity:.94;letter-spacing:.02em}

/* --- Estate ledger stat panel: thin double rules, brass numerals --- */
.zz-ledger{border-top:3px double var(--zz-walnut);border-bottom:3px double var(--zz-walnut);background:var(--zz-parchment)}
.zz-ledger-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.zz-ledger-item{padding:26px 24px;border-right:1px solid var(--zz-hairline)}
.zz-ledger-item:last-child{border-right:none}
.zz-ledger-val{font-family:var(--zz-font-display);font-size:clamp(26px,3vw,34px);font-weight:600;color:var(--zz-brass)}
.zz-ledger-label{font-size:13px;margin-top:6px;line-height:1.55}
.zz-snap{margin:30px 0 26px}

/* --- Hub groups --- */
.zz-group-head{display:flex;align-items:baseline;gap:12px;font-family:var(--zz-font-display);font-size:24px;font-weight:600;color:var(--zz-walnut);margin:36px 0 6px}
.zz-group-head .zz-rule{flex:1;height:1px;background:var(--zz-hairline)}
.zz-group-note{font-size:14px;margin-bottom:14px}
.zz-chip-row{display:flex;flex-wrap:wrap;gap:10px}
.zz-chip{display:inline-block;background:var(--zz-parchment);border:1px solid var(--zz-hairline);border-radius:2px;padding:10px 20px;font-weight:700;font-size:14px;color:var(--zz-walnut);letter-spacing:.02em}
.zz-chip:hover{border-color:var(--zz-brass);color:var(--zz-brass-deep);text-decoration:none;background:#fff}

/* --- Phase badges (network-fixed) --- */
.zz-badge{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:4px 11px;border-radius:2px}
.zz-badge-p1{background:var(--zz-p1-bg);color:var(--zz-p1-fg)}
.zz-badge-p2{background:var(--zz-p2-bg);color:var(--zz-p2-fg)}
.zz-badge-imm{background:var(--zz-imm-bg);color:var(--zz-imm-fg)}
.zz-badge-bp{background:var(--zz-bp-bg);color:var(--zz-bp-fg)}

/* --- Dark section (olive-deep): the causal-chain section, fact-forward --- */
.zz-dark{background:var(--zz-olive-deep);color:var(--zz-stone)}
.zz-dark .zz-h2,.zz-dark .zz-h3{color:var(--zz-stone)}
.zz-dark .zz-eyebrow{color:#C9BE9F}
.zz-dark a{color:#E8DDBE}
.zz-dark p b{color:#EFE6CB}

/* --- Hub grid --- */
.zz-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:24px}
.zz-hub-link{display:block;background:var(--zz-parchment);border:1px solid var(--zz-hairline);border-radius:2px;padding:18px 20px;color:var(--zz-ink)}
.zz-hub-link:hover{border-color:var(--zz-brass);text-decoration:none}
.zz-hub-link b{display:block;font-family:var(--zz-font-display);color:var(--zz-walnut);font-size:19px;font-weight:600;margin-bottom:4px}
.zz-hub-link span{font-size:13px}

/* --- Timeline table --- */
.zz-timeline{width:100%;border-collapse:collapse;background:var(--zz-parchment);border:1px solid var(--zz-hairline)}
.zz-timeline th{background:var(--zz-walnut);color:var(--zz-stone);font-family:var(--zz-font-body);font-weight:700;text-align:left;padding:14px 16px;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase}
.zz-timeline td{padding:14px 16px;border-top:1px solid var(--zz-hairline);vertical-align:top;font-size:14.5px}

/* --- Figures --- */
.zz-figure{background:var(--zz-parchment);border:1px solid var(--zz-hairline);border-radius:2px;padding:28px;margin:26px 0}
.zz-figure figcaption{font-size:12.5px;margin-top:12px;color:#6E6552}

/* --- FAQ --- */
.zz-faq-item{background:var(--zz-parchment);border:1px solid var(--zz-hairline);border-radius:2px;margin-bottom:10px}
.zz-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;font-family:var(--zz-font-display);font-size:19px;font-weight:600;color:var(--zz-walnut)}
.zz-faq-item summary::-webkit-details-marker{display:none}
.zz-faq-item summary::after{content:"+";font-size:22px;color:var(--zz-brass);flex:none;font-family:var(--zz-font-body)}
.zz-faq-item[open] summary::after{content:"–"}
.zz-faq-a{padding:0 22px 18px;font-size:15px}

/* --- Forms (brass button only) --- */
.zz-form{background:var(--zz-parchment);border:1px solid var(--zz-hairline);border-top:3px double var(--zz-walnut);border-radius:2px;padding:32px;max-width:640px}
.zz-form label{display:block;font-weight:700;font-size:13px;letter-spacing:.05em;margin:14px 0 6px;color:var(--zz-walnut)}
.zz-form input,.zz-form textarea{width:100%;padding:12px 14px;border:1px solid var(--zz-hairline);border-radius:2px;font-family:var(--zz-font-body);font-size:15px;background:#fff}
.zz-form button{margin-top:22px;width:100%;background:var(--zz-brass);color:#fff;border:1px solid var(--zz-brass-deep);padding:15px;border-radius:2px;font-size:15.5px;font-weight:700;letter-spacing:.05em;cursor:pointer;font-family:var(--zz-font-body)}
.zz-form button:hover{background:var(--zz-brass-deep)}
.zz-form-status{margin-top:14px;font-size:14.5px;font-weight:700;display:none}
.zz-disclosure{font-size:12.5px;color:#6E6552;border-top:1px solid var(--zz-hairline);margin-top:22px;padding-top:16px;line-height:1.6}

/* --- CTA band --- */
.zz-cta{background:var(--zz-olive);color:var(--zz-stone);text-align:center}
.zz-cta .zz-cta-title{font-family:var(--zz-font-display);font-size:clamp(26px,3.6vw,38px);font-weight:600;margin-bottom:14px}
.zz-cta p{max-width:620px;margin:0 auto 24px}
.zz-cta .zz-btn{background:var(--zz-stone);color:var(--zz-walnut);border:1px solid var(--zz-walnut)}
.zz-cta .zz-btn:hover{background:#fff}
.zz-cta a.zz-cta-tel{color:#EFE6CB;font-weight:700;text-decoration:underline}

/* --- Track C variant (unused on this Track A site; retained for chrome parity) --- */
.zz-cta-trackc{background:var(--zz-olive);color:var(--zz-stone)}
.zz-cta-trackc a.zz-cta-tel{color:#EFE6CB}
.zz-cta-trackc .zz-btn{background:var(--zz-stone);color:var(--zz-walnut);border:1px solid var(--zz-walnut)}
.zz-cta-trackc .zz-btn:hover{background:#fff}

/* --- Footer --- */
.zz-footer{background:var(--zz-olive-deep);color:#D9D0B6;padding:56px 0 30px;border-top:1px solid var(--zz-brass)}
.zz-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.zz-footer h4{font-family:var(--zz-font-display);font-size:18px;font-weight:600;color:#EFE6CB;margin-bottom:14px}
.zz-footer ul{list-style:none}
.zz-footer li{margin-bottom:8px;font-size:13.5px}
.zz-footer a{color:#D9D0B6}
.zz-footer a:hover{color:#EFE6CB}
.zz-footer-about{font-size:13.5px;line-height:1.7}
.zz-footer-bottom{border-top:1px solid rgba(217,208,182,.25);padding-top:22px;font-size:12px;color:#AFA684}

/* --- Breadcrumb --- */
.zz-crumb{font-size:13px;padding:16px 0 0}
.zz-crumb a{color:var(--zz-ink)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:767px){
  section{padding:54px 0}
  .zz-hero{padding:60px 0 92px}
  .zz-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--zz-olive-deep);flex-direction:column;padding:18px 24px;gap:16px;border-bottom:1px solid var(--zz-brass);align-items:flex-start}
  .zz-nav-links.zz-open{display:flex}
  .zz-nav-toggle{display:block}
  .zz-trust-grid{grid-template-columns:repeat(2,1fr)}
  .zz-footer-grid{grid-template-columns:1fr 1fr}
  .zz-ledger-grid{grid-template-columns:1fr 1fr}
  .zz-ledger-item{border-bottom:1px solid var(--zz-hairline)}
}
@media (max-width:479px){
  body{font-size:15px}
  .zz-trust-grid{grid-template-columns:1fr}
  .zz-footer-grid{grid-template-columns:1fr}
  .zz-form{padding:22px 16px}
  .zz-timeline{display:block;overflow-x:auto}
  .zz-ledger-grid{grid-template-columns:1fr}
}
