/* Homepage v2 — the light Deco / Bauhaus look (owner-approved 2026-10-01,
   source: the "RSB Design System v2" artifact). Loaded by index.html ONLY,
   after its inline <style>. The legacy tokens in index.html and shared.css
   are untouched (site-audit --only tokens); everything here uses new names.

   Rules this file lives by:
   - two faces: Bodoni Moda 700 (display) and Jost 400/500 (body); nothing under 14px
   - one navy band per page: the AI radio strip and the footer
   - one blue per screen: the nav call button; in-page buttons are ink
   - gold is Deco line-work on light grounds, text only on the navy band
   - radius 0 for photos and tiles, 2px for buttons and inputs
   - motion: one signature move per section, 600ms at most, all off under reduced motion */

:root{
  --v2-page:#eef0ea;          /* mist ground */
  --v2-surface:#f7f8f4;       /* cards and tiles */
  --v2-panel:#e1e4da;         /* alternate bands, the details panels */
  --v2-band:#1c2030;          /* the navy band: AI radio and footer */
  --v2-hairline:#c9cdbf;      /* decorative rules only */
  --v2-control:#5e6440;       /* control borders */
  --v2-text-strong:#1c2030;
  --v2-text:#2f3442;
  --v2-text-muted:#4b5060;
  --v2-luminous:#2e4fa8;      /* call button fill and focus ring only */
  --v2-luminous-hover:#24408a;
  --v2-on-luminous:#fff;
  --v2-bronze:#7a5f2a;        /* the Bell in the name, inline links, eyebrows */
  --v2-gold:#c8a96e;          /* Deco line-work on light; text only on navy */
  --v2-olive:#5e6440;
  --v2-terracotta:#9a4b2f;
  --v2-celery:#cfd59a;        /* on the navy band only */
  --v2-on-band:#e9ebf2;       /* body text on navy */
  --v2-on-band-muted:#c3c7d6;
  --v2-display:'Bodoni Moda',Georgia,'Times New Roman',serif;
  --v2-body:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --v2-gutter:32px;
  --v2-sec:96px;              /* section padding, desktop: 96 or 128 */
  --v2-sec-lg:128px;
  --v2-ease:cubic-bezier(.16,1,.3,1);
  --v2-move:.6s;              /* the ceiling for any motion */
  /* Deco ornaments, drawn once, reused as backgrounds */
  --v2-bars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='14' viewBox='0 0 64 14'%3E%3Cg fill='%23c8a96e'%3E%3Crect width='64' height='2'/%3E%3Crect y='6' width='44' height='2'/%3E%3Crect y='12' width='24' height='2'/%3E%3C/g%3E%3C/svg%3E");
  --v2-fan:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='62' viewBox='0 0 120 62'%3E%3Cg fill='none' stroke='%23c8a96e' stroke-width='1.5'%3E%3Cpath d='M4 60A56 56 0 0 1 116 60'/%3E%3Cpath d='M20 60A40 40 0 0 1 100 60'/%3E%3Cpath d='M36 60A24 24 0 0 1 84 60'/%3E%3Cpath d='M60 60V6M60 60L21 20M60 60L99 20M60 60L8 42M60 60L112 42'/%3E%3C/g%3E%3C/svg%3E");
}

/* ───────────── base ───────────── */
html{scroll-padding-top:84px;}
body{background:var(--v2-page);color:var(--v2-text);font-family:var(--v2-body);font-weight:400;font-size:17px;line-height:1.65;}
a{color:inherit;}
p a,.faq p a,.dv p a{color:var(--v2-bronze);}
:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--v2-luminous);outline-offset:3px;box-shadow:0 0 0 3px var(--v2-page);}
.tag,.k{font-family:var(--v2-body);font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--v2-bronze);line-height:1.5;}
.k::before{content:"";display:block;width:64px;height:14px;margin-bottom:14px;background:var(--v2-bars) no-repeat left center;}
.sec-h .k::before,.dv-head .k::before,.recog .k::before,.mani .k::before,.exp-log .k::before,.exp-flow .k::before,.season .k::before,.summary-k::before,.v2-panel .k::before{display:none;}
.mani .k::before{display:block;margin-inline:auto;background-position:center;}
.dv-head .k::before{display:block;}
.season .k::before{display:block;}
/* the skip link */
.skip{background:var(--v2-text-strong);color:#fff;font-size:14px;}
.skip:focus-visible{box-shadow:none;}

/* ───────────── nav: light, hairline, luminous call button ───────────── */
nav{background:rgba(238,240,234,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--v2-hairline);padding:14px var(--v2-gutter);color:var(--v2-text-strong);}
nav .logo{font-family:var(--v2-display);font-weight:700;font-size:26px;letter-spacing:.3em;color:var(--v2-text-strong);}
nav .logo b{color:var(--v2-bronze);}
nav ul{gap:22px;}
nav ul a{font-size:14px;font-weight:500;letter-spacing:.1em;color:var(--v2-text-strong);padding:6px 0;border-bottom:1px solid transparent;transition:border-color var(--v2-move) var(--v2-ease);}
nav ul a:hover{color:var(--v2-text-strong);border-bottom-color:var(--v2-gold);}
nav a.call{font-size:14px;font-weight:500;letter-spacing:.08em;background:var(--v2-luminous);color:var(--v2-on-luminous);border:1px solid var(--v2-luminous);border-radius:2px;padding:11px 18px;}
nav a.call:hover{background:var(--v2-luminous-hover);border-color:var(--v2-luminous-hover);color:var(--v2-on-luminous);}
nav #rsb-search-btn,nav #rsb-dm-btn{color:var(--v2-text-strong);border:1px solid var(--v2-control);border-radius:2px;font-family:var(--v2-body);font-weight:500;font-size:14px;}
nav #rsb-search-btn:hover,nav #rsb-dm-btn:hover,nav #rsb-dm-btn[aria-expanded="true"]{background:var(--v2-text-strong);color:#fff;border-color:var(--v2-text-strong);}
.burger span{background:var(--v2-text-strong);}
#rsb-dm .rsb-dm-t{font-family:var(--v2-display);font-weight:700;}
#rsb-dm .rsb-dm-h,#rsb-dm .rsb-dm-n,#rsb-dm .rsb-dm-d,#rsb-dm .rsb-dm-home{font-size:14px;}

/* ───────────── buttons: 2px radius; ink fill (blue is the nav call only) ───────────── */
.btn{font-family:var(--v2-body);font-size:15px;font-weight:500;letter-spacing:.1em;border-radius:2px;padding:16px 28px;transition:background var(--v2-move) var(--v2-ease),color var(--v2-move) var(--v2-ease);}
.btn.solid{background:var(--v2-text-strong);color:#fff;border:1px solid var(--v2-text-strong);}
.btn.solid:hover{background:var(--v2-text);border-color:var(--v2-text);}
.btn.ghost{background:transparent;color:var(--v2-text-strong);border:1px solid var(--v2-control);}
.btn.ghost:hover{background:var(--v2-panel);}
.callbar{background:var(--v2-text-strong);color:#fff;font-size:15px;letter-spacing:.1em;border-top:1px solid var(--v2-gold);}

/* ───────────── hero: the photo keeps a dark scrim, the text stays light ───────────── */
.hero{padding-top:120px;}
.hero>img,.hero>video.hero-media{filter:brightness(.78) contrast(1.05);animation:none;}
.hero::after{background:linear-gradient(180deg,rgba(28,32,48,.5),rgba(28,32,48,.38) 38%,rgba(28,32,48,.9));}
.hero::before{content:"";position:absolute;inset:96px 24px 24px;border:1px solid rgba(200,169,110,.6);z-index:1;pointer-events:none;} /* Deco hairline frame */
.hero .inner{padding:0 var(--v2-gutter) 8vh;}
.hero h1{font-family:var(--v2-display);font-weight:700;font-size:clamp(46px,9vw,84px);line-height:.98;letter-spacing:-.01em;color:#fff;}
.hero h1 em{color:#fff;font-style:normal;}
.hero h1 .ln>span{animation-duration:var(--v2-move);}
.hero p.sub{font-size:19px;line-height:1.6;font-weight:400;color:#f7f8f4;max-width:660px;}
.hero p.sub,.hero .cta,.hero .hero-reason,.hero .hero-index,.hero-rail{animation-duration:var(--v2-move);}
.hero .btn.solid{background:var(--v2-surface);color:var(--v2-text-strong);border-color:var(--v2-surface);}
.hero .btn.solid:hover{background:#fff;}
.hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.75);}
.hero .btn.ghost:hover{background:rgba(255,255,255,.14);}
.hero .hero-reason{font-size:15px;font-weight:400;letter-spacing:0;color:#f0f1f5;}
.hero .hero-reason b{color:#fff;font-weight:500;}
.hero-rail{top:104px;left:calc(var(--v2-gutter) + 24px);right:calc(var(--v2-gutter) + 24px);font-size:14px;font-weight:500;letter-spacing:.16em;color:#fff;border-top:1px solid rgba(200,169,110,.6);text-shadow:0 1px 3px rgba(0,0,0,.7);z-index:2;}
.hero .hi-h{font-size:14px;font-weight:500;letter-spacing:.16em;color:#fff;}
.hero .hero-index ol{border-top:1px solid rgba(200,169,110,.6);}
.hero .hero-index a{color:#fff;border-bottom:1px solid rgba(255,255,255,.28);}
.hero .hero-index .n{font-size:14px;letter-spacing:.1em;color:var(--v2-celery);}
.hero .hero-index .t{font-family:var(--v2-display);font-weight:700;font-size:20px;}
.hero .hero-index .d{font-size:14px;letter-spacing:.08em;color:#e6e8ef;white-space:nowrap;}
.hero .hero-index a::after{background:var(--v2-gold);}
.hero .hero-index a:hover .d,.hero .hero-index a:focus-visible .d{color:#fff;}
.hero .hero-index ol:hover a:not(:hover){color:rgba(255,255,255,.7);}
.hero .hero-index a:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 3px var(--v2-luminous);}
.scroll{font-size:14px;letter-spacing:.16em;color:#fff;animation:none;opacity:.9;}
@media(min-width:1180px){
  .hero .hero-index{right:calc(var(--v2-gutter) + 24px);}
  .hero .hero-index .t{font-size:22px;}
}

/* ───────────── THE AI RADIO — the page's navy band, screen two ───────────── */
.radio{background:var(--v2-band);color:var(--v2-on-band);padding:var(--v2-sec) 0;border-bottom:1px solid var(--v2-gold);position:relative;}
.radio-in{max-width:1240px;margin:0 auto;padding:0 var(--v2-gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--v2-gutter);align-items:center;}
.radio-dial{grid-column:1 / span 5;}
.radio-panel{grid-column:7 / span 6;}
.radio .k{color:var(--v2-gold);}
.radio h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(32px,4.4vw,54px);line-height:1.02;color:#fff;margin:6px 0 14px;}
.radio .radio-lede{font-size:19px;line-height:1.6;color:var(--v2-on-band);max-width:46ch;}
.radio svg{display:block;width:100%;height:auto;max-width:440px;margin:0 auto;}
.radio .needle{transform-origin:220px 232px;transition:transform var(--v2-move) var(--v2-ease);}
.radio .dial-line{fill:none;stroke:var(--v2-gold);stroke-width:2;}
.radio .dial-fine{fill:none;stroke:var(--v2-gold);stroke-width:1;opacity:.6;}
.radio .dial-bar{fill:var(--v2-gold);}
.radio .dial-needle{stroke:var(--v2-celery);stroke-width:3;stroke-linecap:square;}
.radio .dial-hub{fill:var(--v2-band);stroke:var(--v2-gold);stroke-width:2;}
.stations{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0 0;padding:0;border-top:1px solid var(--v2-gold);}
.stations li+li{border-left:1px solid rgba(200,169,110,.4);}
.r-st{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:0;color:var(--v2-on-band-muted);font-family:var(--v2-body);padding:18px 18px 16px;cursor:pointer;border-top:3px solid transparent;margin-top:-1px;min-height:44px;transition:background var(--v2-move) var(--v2-ease),color var(--v2-move) var(--v2-ease);}
.r-st:hover{background:rgba(255,255,255,.06);}
.r-st[aria-pressed="true"]{color:#fff;border-top-color:var(--v2-gold);background:rgba(255,255,255,.05);}
.r-st .r-name{display:block;font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--v2-gold);}
.r-st .r-val{display:block;font-family:var(--v2-display);font-weight:700;font-size:clamp(30px,3.4vw,44px);line-height:1.1;margin:6px 0 4px;color:#fff;font-variant-numeric:lining-nums;white-space:nowrap;}
.r-st .r-val.is-date{font-size:clamp(22px,2.4vw,30px);padding:.2em 0;}
.r-st .r-src{display:block;font-size:14px;line-height:1.4;color:var(--v2-on-band-muted);}
.radio-link{display:inline-block;margin-top:28px;font-size:16px;font-weight:500;letter-spacing:.06em;color:var(--v2-gold);text-decoration:none;border-bottom:1px solid var(--v2-gold);padding-bottom:4px;}
.radio-link:hover{color:#fff;border-bottom-color:#fff;}
.radio :focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 3px var(--v2-luminous);}
@media(max-width:900px){
  .radio-in{grid-template-columns:1fr;}
  .radio-dial,.radio-panel{grid-column:1 / -1;}
  .radio svg{max-width:320px;}
}
@media(max-width:560px){
  .stations{grid-template-columns:1fr;}
  .stations li+li{border-left:0;border-top:1px solid rgba(200,169,110,.4);}
  .r-st{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:baseline;}
  .r-st .r-name{grid-column:1;}
  .r-st .r-val{grid-column:2;grid-row:1 / span 2;margin:0;}
  .r-st .r-src{grid-column:1;}
}

/* ───────────── stats, ticker, recognition ───────────── */
.stats{background:var(--v2-page);border-bottom:1px solid var(--v2-hairline);}
.stats div{border-right:1px solid var(--v2-hairline);padding:40px 16px;}
.stats b{font-family:var(--v2-display);font-weight:700;font-size:48px;color:var(--v2-text-strong);}
.stats span{font-size:14px;font-weight:500;letter-spacing:.16em;color:var(--v2-text-muted);}
.ticker{background:var(--v2-surface);border-bottom:1px solid var(--v2-hairline);padding:18px 0;}
.ticker .grp span{font-size:14px;font-weight:500;letter-spacing:.14em;color:var(--v2-text);}
.ticker .grp span b{color:var(--v2-bronze);font-weight:500;letter-spacing:.1em;}
.ticker .grp i{color:var(--v2-gold);opacity:1;font-size:14px;}
.ticker .grp a{color:var(--v2-bronze);}
.recog{background:var(--v2-page);padding:var(--v2-sec) var(--v2-gutter);border-bottom:1px solid var(--v2-hairline);position:relative;}
.recog::before{content:"";display:block;width:120px;height:62px;margin:0 auto 20px;background:var(--v2-fan) no-repeat center;}
.recog .k{margin-bottom:28px;}
.recog li+li{border-left:1px solid var(--v2-hairline);}
.recog li a{color:var(--v2-text-strong);}
.recog .yr{font-size:14px;font-weight:500;letter-spacing:.16em;color:var(--v2-bronze);}
.recog b{font-family:var(--v2-display);font-weight:700;color:var(--v2-text-strong);}
.recog .by{font-size:14px;font-weight:500;letter-spacing:.1em;color:var(--v2-text-muted);}
.recog li a:hover .by,.recog li a:focus-visible .by{color:var(--v2-text-strong);}
.recog li a:hover b{color:var(--v2-bronze);}
.recog-note{font-size:15px;line-height:1.5;color:var(--v2-text-muted);}
.recog-note a{color:var(--v2-bronze);}
.recog li a:focus-visible{outline:2px solid var(--v2-luminous);outline-offset:3px;}
@media(max-width:1000px) and (min-width:701px){.recog li:nth-child(n+4){border-top:1px solid var(--v2-hairline);}}
@media(max-width:700px){
  .recog{padding:64px 16px;}
  .recog li{border-top:1px solid var(--v2-hairline);}
  .recog .by{font-size:14px;letter-spacing:.06em;}
}

/* ───────────── in-season band, standard, type hero ───────────── */
.season{background:var(--v2-panel);border-bottom:1px solid var(--v2-hairline);padding:var(--v2-sec) var(--v2-gutter);}
.season .k{font-size:14px;letter-spacing:.16em;color:var(--v2-bronze);}
.season h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(30px,3.6vw,36px);line-height:1.1;color:var(--v2-text-strong);}
.season p{color:var(--v2-text);font-size:17px;line-height:1.65;}
.season .proof{font-size:14px;font-weight:500;letter-spacing:.1em;color:var(--v2-text-muted);}
.mani{padding:var(--v2-sec-lg) var(--v2-gutter);border-bottom:1px solid var(--v2-hairline);}
.mani h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(28px,3.6vw,48px);line-height:1.15;color:var(--v2-text-strong);}
.mani h2 em{color:var(--v2-bronze);font-style:italic;}
.type-hero{background:var(--v2-surface);padding:var(--v2-sec-lg) var(--v2-gutter);border-bottom:1px solid var(--v2-hairline);}
.type-hero .line-one,.type-hero .line-two{font-family:var(--v2-display);font-weight:700;font-size:clamp(46px,10vw,150px);line-height:.98;letter-spacing:-.02em;color:var(--v2-text-strong);}
.type-hero .line-two{color:var(--v2-bronze);font-style:italic;}
.type-hero .type-kicker{font-size:14px;font-weight:500;letter-spacing:.16em;line-height:2;color:var(--v2-text-muted);}
.live-dot{background:var(--v2-olive);box-shadow:0 0 0 3px rgba(94,100,64,.2);}
@media(max-width:700px){
  .season,.mani,.type-hero{padding-top:64px;padding-bottom:64px;padding-left:16px;padding-right:16px;}
  .type-hero .type-kicker{letter-spacing:.1em;}
}
@supports(animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){.mani h2 .w{opacity:.45;}}
}

/* ───────────── the eight divisions: a strict 12-column grid, square-cut photos ───────────── */
.dv-head{padding:var(--v2-sec) var(--v2-gutter) 48px;gap:var(--v2-gutter);}
.dv-head h3,.sec-h h3{font-family:var(--v2-display);font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:1.02;color:var(--v2-text-strong);}
.dv-ask p{font-size:17px;font-weight:400;color:var(--v2-text);}
.dv-ask p b{color:var(--v2-text-strong);font-weight:500;}
.dv-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--v2-gutter);padding:0 var(--v2-gutter) var(--v2-sec);}
.dv{background:var(--v2-surface);border:1px solid var(--v2-hairline);border-radius:0;transition:opacity var(--v2-move) ease,transform var(--v2-move) ease,border-color var(--v2-move) ease,translate .25s ease;}
.dv:hover,.dv:focus-within{border-color:var(--v2-gold);translate:0 -3px;}
.dv.s4{grid-column:span 8;}
.dv.s2{grid-column:span 4;}
.dv.s6{grid-column:span 12;}
.dv .ph img{filter:saturate(.95);transition:transform var(--v2-move) var(--v2-ease);}
.dv:hover .ph img,.dv:focus-within .ph img{filter:saturate(1);transform:scale(1.04);}
.dv .ph::after{background:linear-gradient(180deg,transparent 45%,rgba(28,32,48,.82));}
.dv .num{font-family:var(--v2-display);font-weight:700;color:#fff;text-shadow:0 2px 14px rgba(28,32,48,.7);letter-spacing:-.03em;}
.dv .tx{background:var(--v2-surface);border-top:1px solid var(--v2-hairline);padding:24px 24px 28px;}
.dv .kw{font-size:14px;font-weight:500;letter-spacing:.16em;color:var(--v2-bronze);}
.dv h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(24px,2vw,24px);line-height:1.25;color:var(--v2-text-strong);margin:8px 0 10px;}
.dv h2 a:hover{color:var(--v2-bronze);}
.dv p{font-size:17px;font-weight:400;line-height:1.65;color:var(--v2-text);}
.dv p a{color:var(--v2-bronze);text-decoration-color:var(--v2-gold);}
.dv .more{font-size:14px;font-weight:500;letter-spacing:.12em;color:var(--v2-text-strong);border-bottom:1px solid var(--v2-gold);}
.dv .more:hover{color:var(--v2-bronze);}
.dv.s4 h2,.dv.s6 h2{font-size:clamp(28px,2.6vw,36px);line-height:1.1;}
.dv.s4 p{font-size:19px;line-height:1.6;}
.dv.s6 .tx{border-left:1px solid var(--v2-hairline);}
/* the eight worlds scroller (js/homepage-motion.js): dark photographic stage, light reading column */
#empire.bell-county.is-worlds{background:var(--v2-page);padding:0 var(--v2-gutter) var(--v2-sec);--acc:#c8a96e;}
#empire.is-worlds .w-stage{border-right:1px solid var(--v2-hairline);}
#empire.is-worlds .w-veil{background:linear-gradient(180deg,rgba(28,32,48,.25) 0%,rgba(28,32,48,0) 35%,rgba(28,32,48,.9) 100%),linear-gradient(90deg,transparent 60%,rgba(28,32,48,.5));}
#empire.is-worlds .w-shot{filter:saturate(.95) brightness(.85);}
#empire.is-worlds .w-num span{font-family:var(--v2-display);font-weight:700;-webkit-text-stroke:1.5px var(--v2-gold);}
#empire.is-worlds .w-kw{font-size:14px;letter-spacing:.16em;color:#fff;}
#empire.is-worlds .w-name{font-family:var(--v2-display);font-weight:700;color:#fff;}
#empire.is-worlds .w-tick{background:rgba(255,255,255,.4);}
#empire.is-worlds .w-tick.on{background:var(--v2-gold);}
#empire.is-worlds .dv{background:none;border:0;border-left:2px solid transparent;opacity:1;padding:0 0 0 64px;transition:border-color var(--v2-move) ease;}
#empire.is-worlds .dv.w-active{border-left-color:var(--v2-gold);}
#empire.is-worlds .dv:hover,#empire.is-worlds .dv:focus-within{translate:none;border-left-color:var(--v2-gold);}
#empire.is-worlds .dv .tx{background:none;border:0;}
#empire.is-worlds .dv .kw,#empire.is-worlds .dv.w-active .kw{color:var(--v2-bronze);}
#empire.is-worlds .dv h2{font-size:clamp(36px,3.6vw,54px);line-height:1.02;}
#empire.is-worlds .dv p{font-size:19px;line-height:1.6;}
#empire.is-worlds .dv .more{border-bottom-color:var(--v2-gold);}
@media(max-width:900px){
  .dv-head{padding:64px 16px 32px;}
  .dv-grid{padding:0 16px 64px;gap:16px;grid-template-columns:1fr;}
  .dv,.dv.s2,.dv.s4,.dv.s6{grid-column:span 1;}
  .dv.s4 h2,.dv.s6 h2,.dv h2{font-size:24px;}
  .dv.s4 p{font-size:17px;}
  .dv.s6 .tx{border-left:0;}
}

/* ───────────── details panels: shop the farm, farm calendar, FAQ ───────────── */
.v2-panel{background:var(--v2-panel);border:1px solid var(--v2-hairline);border-radius:0;}
.v2-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px var(--v2-gutter);min-height:44px;}
.v2-panel>summary::-webkit-details-marker{display:none;}
.v2-panel>summary::after{content:"+";flex:none;font-family:var(--v2-display);font-weight:700;font-size:36px;line-height:1;color:var(--v2-bronze);width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--v2-gold);}
.v2-panel[open]>summary::after{content:"\2013";}
.v2-panel>summary>span.sum-text{display:block;min-width:0;}
.v2-panel>summary .k{display:block;}
.v2-panel>summary h2,.v2-panel>summary .sum-h{font-family:var(--v2-display);font-weight:700;font-size:clamp(28px,3.2vw,36px);line-height:1.1;color:var(--v2-text-strong);margin:8px 0 0;}
.v2-panel>.panel-body{padding:0 var(--v2-gutter) var(--v2-gutter);}
.shopfarm,.farmcal{background:var(--v2-page);color:var(--v2-text);padding:0 var(--v2-gutter) 32px;}
.shopfarm{padding-top:0;}
.shopfarm-in,.farmcal-in{max-width:1180px;margin:0 auto;display:block;}
.shopfarm .k,.farmcal .k{color:var(--v2-bronze);font-size:14px;letter-spacing:.16em;margin:0;}
.shopfarm p,.farmcal p{max-width:640px;color:var(--v2-text);font-size:17px;font-weight:400;line-height:1.65;}
.shopfarm p a{color:var(--v2-bronze);}
.shopgrid{gap:var(--v2-gutter);margin-top:28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.shopcard{background:var(--v2-surface);border:1px solid var(--v2-hairline);border-radius:0;color:var(--v2-text-strong);padding:22px 20px;transition:border-color var(--v2-move) ease;}
.shopcard:hover{border-color:var(--v2-gold);background:var(--v2-surface);}
.shopcard b{font-family:var(--v2-display);font-weight:700;font-size:24px;line-height:1.25;}
.shopcard span{color:var(--v2-text);font-size:15px;line-height:1.5;}
.shopcard em{color:var(--v2-bronze);font-size:14px;font-weight:500;letter-spacing:.12em;}
.shopfarm .btn.solid{margin-top:4px;}
.farmcal-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--v2-gutter);align-items:center;}
.farmcal-grid>div:first-child{grid-column:1 / span 5;}
.farmcal-grid>.farmcal-frame{grid-column:6 / span 7;}
.farmcal .fc-call{background:var(--v2-text-strong);color:#fff;font-size:15px;font-weight:500;letter-spacing:.08em;border-radius:2px;box-shadow:none;padding:16px 24px;}
.farmcal .fc-call:hover{background:var(--v2-text);transform:none;box-shadow:none;}
.farmcal .fc-more{font-size:14px;font-weight:500;letter-spacing:.12em;color:var(--v2-bronze);border-bottom:1px solid var(--v2-gold);}
.farmcal-frame{background:var(--v2-surface);border:1px solid var(--v2-hairline);border-radius:0;box-shadow:none;}
.farmcal-frame iframe{height:440px;}
@media(max-width:900px){
  .shopfarm,.farmcal{padding:0 16px 24px;}
  .v2-panel>summary{padding:20px 16px;}
  .v2-panel>.panel-body{padding:0 16px 24px;}
  .farmcal-grid{grid-template-columns:1fr;gap:24px;}
  .farmcal-grid>div:first-child,.farmcal-grid>.farmcal-frame{grid-column:1 / -1;}
}
@media(max-width:600px){.farmcal-frame iframe{height:380px;}.farmcal .fc-call{width:100%;text-align:center;}}

.faq{max-width:900px;padding:var(--v2-sec) var(--v2-gutter);}
.faq h3{font-family:var(--v2-display);font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:1.02;color:var(--v2-text-strong);margin-bottom:32px;}
.faq h3::before{content:"";display:block;width:64px;height:14px;margin:0 auto 18px;background:var(--v2-bars) no-repeat center;}
.faq details{background:var(--v2-panel);border:1px solid var(--v2-hairline);border-radius:0;padding:0;margin-bottom:12px;}
.faq summary{cursor:pointer;font-size:19px;font-weight:500;line-height:1.4;color:var(--v2-text-strong);padding:18px 24px;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.faq summary::after{float:none;flex:none;color:var(--v2-bronze);font-family:var(--v2-display);font-weight:700;font-size:28px;}
.faq p{margin:0;padding:0 24px 24px;color:var(--v2-text);font-size:17px;line-height:1.65;}
.faq details[open]{background:var(--v2-panel);}

/* ───────────── ballpark in 60 seconds (land clearing only) ───────────── */
.ballpark{background:var(--v2-panel);border-top:1px solid var(--v2-hairline);border-bottom:1px solid var(--v2-hairline);padding:var(--v2-sec) var(--v2-gutter);}
.ballpark-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--v2-gutter);align-items:start;}
.ballpark .bp-copy{grid-column:1 / span 6;}
.ballpark .bp-tool{grid-column:8 / span 5;background:var(--v2-surface);border:1px solid var(--v2-hairline);padding:32px;}
.ballpark h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:1.02;color:var(--v2-text-strong);margin:6px 0 16px;}
.ballpark p{font-size:19px;line-height:1.6;color:var(--v2-text);max-width:46ch;}
.ballpark .bp-rate{font-size:17px;color:var(--v2-text-muted);margin-top:14px;}
.ballpark label{display:block;font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--v2-bronze);margin-bottom:10px;}
.ballpark input{width:100%;font-family:var(--v2-body);font-size:19px;padding:14px 16px;background:#fff;color:var(--v2-text-strong);border:1px solid var(--v2-control);border-radius:2px;}
.ballpark output{display:block;font-family:var(--v2-display);font-weight:700;font-size:clamp(30px,3.4vw,44px);line-height:1.1;color:var(--v2-text-strong);margin:22px 0 4px;min-height:1.2em;font-variant-numeric:lining-nums;}
.ballpark .bp-sum{font-size:15px;line-height:1.5;color:var(--v2-text-muted);min-height:1.5em;margin:0 0 20px;}
.ballpark .btn{display:block;text-align:center;}
@media(max-width:900px){
  .ballpark{padding:64px 16px;}
  .ballpark-in{grid-template-columns:1fr;gap:24px;}
  .ballpark .bp-copy,.ballpark .bp-tool{grid-column:1 / -1;}
  .ballpark .bp-tool{padding:24px 20px;}
}

/* ───────────── founder, photo band, experiment, story ───────────── */
.founder{background:var(--v2-surface);border-top:1px solid var(--v2-hairline);}
.founder .ph .cap{background:rgba(28,32,48,.88);backdrop-filter:none;font-size:14px;font-weight:500;letter-spacing:.12em;color:#fff;}
.founder .tx{background:var(--v2-surface);padding:var(--v2-sec) 6vw;}
.founder h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:1.02;color:var(--v2-text-strong);}
.founder h2 em{color:var(--v2-bronze);}
.founder p{color:var(--v2-text);font-weight:400;font-size:19px;line-height:1.6;max-width:480px;}
.photoband{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--v2-gold);border-bottom:1px solid var(--v2-gold);background:var(--v2-band);}
.photoband img{width:100%;height:clamp(240px,34vw,500px);object-fit:cover;border-radius:0;}
@media(max-width:700px){.photoband{grid-template-columns:1fr;}.photoband img{height:200px;}}
.exp{background:var(--v2-page);padding:var(--v2-sec-lg) var(--v2-gutter);border-top:1px solid var(--v2-hairline);}
.exp h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(34px,4.6vw,54px);line-height:1.04;color:var(--v2-text-strong);}
.exp h2 em{color:var(--v2-bronze);}
.exp p.lede{color:var(--v2-text);font-weight:400;font-size:19px;line-height:1.6;}
.exp-video{border:1px solid var(--v2-hairline);background:var(--v2-band);}
.exp-video .len{font-size:14px;font-weight:500;letter-spacing:.12em;background:rgba(28,32,48,.88);color:#fff;}
.exp-time::before{background:linear-gradient(90deg,var(--v2-hairline),var(--v2-gold) 70%,var(--v2-olive));}
.exp-time li::before{border-radius:0;background:var(--v2-page);border:1px solid var(--v2-gold);}
.exp-time li.now::before{background:var(--v2-olive);border-color:var(--v2-olive);box-shadow:0 0 0 4px rgba(94,100,64,.2);}
.exp-time time{font-size:14px;font-weight:500;letter-spacing:.1em;color:var(--v2-text-muted);}
.exp-time b{font-family:var(--v2-display);font-weight:700;color:var(--v2-bronze);}
.exp-time li.now b{color:var(--v2-text-strong);}
.exp-time span{font-size:15px;color:var(--v2-text);}
.exp-time a{color:var(--v2-bronze);}
.exp-flow{border:1px solid var(--v2-hairline);background:var(--v2-surface);}
.exp-flow li+li{border-left:1px solid var(--v2-hairline);}
.exp-flow li b{font-family:var(--v2-display);font-weight:700;font-size:22px;color:var(--v2-text-strong);}
.exp-flow li span{font-size:15px;color:var(--v2-text);}
.exp-lh{font-size:15px;color:var(--v2-text-muted);}
.exp-lh b{color:var(--v2-bronze);font-weight:500;}
.exp-log{border-left:2px solid var(--v2-gold);}
.exp-log p{color:var(--v2-text);font-weight:400;font-size:17px;line-height:1.65;}
.exp-log p strong{color:var(--v2-text-strong);font-weight:500;}
.exp-log p a{color:var(--v2-bronze);}
.exp .cta a{font-size:14px;font-weight:500;letter-spacing:.12em;color:var(--v2-text-strong);border-bottom:1px solid var(--v2-gold);}
@media(max-width:1100px){.exp-time li{border-top:1px solid var(--v2-hairline);}}
@media(max-width:900px){.exp-flow li+li{border-left:1px solid var(--v2-hairline);}.exp-flow li:nth-child(3){border-left:0;}}
@media(max-width:560px){.exp-flow li+li{border-left:0;border-top:1px solid var(--v2-hairline);}.exp{padding:64px 16px;}}
.sec-h{padding:var(--v2-sec) var(--v2-gutter) 24px;}
.story{background:var(--v2-page);}
.story .story-p{color:var(--v2-text);font-weight:400;font-size:19px;line-height:1.6;margin-bottom:20px;}
.story .story-p strong{color:var(--v2-text-strong);font-weight:500;}
.story .story-p strong.hl{color:var(--v2-bronze);}
.story .story-p a{color:var(--v2-bronze);border-bottom:1px solid var(--v2-gold);text-decoration:none;}
.story .story-link{display:inline-block;font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-strong);text-decoration:none;border-bottom:1px solid var(--v2-gold);padding-bottom:5px;}
.story-wrap{padding:0 var(--v2-gutter) var(--v2-sec);}
.gal{gap:var(--v2-gutter);padding:0 var(--v2-gutter) var(--v2-sec);background:var(--v2-page);}
.gal img{border-radius:0;filter:none;}
.gal img:hover{transform:none;}
.folio{background:var(--v2-surface);padding:0 var(--v2-gutter) var(--v2-sec);border-top:1px solid var(--v2-hairline);}
.folio-grid{border:1px solid var(--v2-hairline);border-radius:0;gap:0;}
.folio-grid img{filter:none;transition:transform var(--v2-move) var(--v2-ease);}
.folio-grid a:hover img{filter:none;transform:scale(1.04);}
.folio-cta{font-size:14px;font-weight:500;letter-spacing:.12em;color:var(--v2-text-strong);border-bottom:1px solid var(--v2-gold);}
.folio-cta:hover{color:var(--v2-bronze);}
.folio-recent{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:38px;padding-top:30px;border-top:1px solid var(--v2-hairline);}
.folio-recent>a{flex:0 1 230px;min-width:0;display:block;overflow:hidden;border-radius:0;}
.folio-recent img{width:100%;height:158px;object-fit:cover;display:block;}
.folio-recent>div{flex:1 1 320px;min-width:0;}
.folio-recent .k{margin-bottom:10px;}
.folio-recent p{color:var(--v2-text);font-weight:400;font-size:17px;line-height:1.65;margin:0 0 14px;}
@media(max-width:900px){
  .sec-h{padding:64px 16px 16px;flex-direction:column;gap:8px;}
  .story-wrap,.gal,.folio{padding-left:16px;padding-right:16px;}
  .gal{gap:16px;padding-bottom:64px;}
  .folio{padding-bottom:64px;}
  .founder .tx{padding:64px 16px;}
}

/* ───────────── field notes (the blog doors) ───────────── */
.field-notes{background:var(--v2-page);border-top:1px solid var(--v2-hairline);}
.field-notes h2{font-family:var(--v2-display);color:var(--v2-text-strong);}
.field-notes h2 em{color:var(--v2-bronze);}
.field-notes .lead{color:var(--v2-text);font-weight:400;font-size:17px;line-height:1.6;}
.fn-list a{color:var(--v2-text-strong);background:var(--v2-surface);border:1px solid var(--v2-control);border-radius:2px;font-size:14px;font-weight:500;}
.fn-list a:hover,.fn-list a:focus-visible{background:var(--v2-text-strong);color:#fff;border-color:var(--v2-text-strong);}

/* ───────────── contact ───────────── */
.contact{background:var(--v2-panel);padding:var(--v2-sec-lg) var(--v2-gutter);gap:var(--v2-gutter);border-top:1px solid var(--v2-hairline);}
.contact h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(40px,6vw,84px);line-height:.98;color:var(--v2-text-strong);}
.contact h2 em{color:var(--v2-bronze);}
.contact p.lead{color:var(--v2-text);font-weight:400;font-size:19px;line-height:1.6;}
.contact .links a{color:var(--v2-text-strong);font-size:19px;letter-spacing:0;}
.contact .links a span{color:var(--v2-bronze);}
.contact .links .loc{color:var(--v2-text-muted);font-size:15px;letter-spacing:.04em;}
form.lead{background:var(--v2-surface);border:1px solid var(--v2-hairline);border-radius:0;padding:32px;gap:16px;}
form.lead .fh{font-family:var(--v2-display);font-weight:700;font-size:24px;line-height:1.25;color:var(--v2-text-strong);}
form.lead input,form.lead select,form.lead textarea{background:#fff;color:var(--v2-text-strong);border:1px solid var(--v2-control);border-radius:2px;font-size:17px;}
form.lead input::placeholder,form.lead textarea::placeholder{color:var(--v2-text-muted);opacity:1;}
form.lead .fine{font-size:15px;color:var(--v2-text-muted);}
form.lead .fine a{color:var(--v2-bronze);text-decoration:underline;text-decoration-color:var(--v2-gold);}
@media(max-width:900px){.contact{padding:64px 16px;}form.lead{padding:24px 20px;}}

/* ───────────── footer: navy band, gold allowed as text ───────────── */
footer{background:var(--v2-band);color:var(--v2-on-band);border-top:1px solid var(--v2-gold);padding:var(--v2-sec) var(--v2-gutter) 96px;}
footer .flogo{font-family:var(--v2-display);font-weight:700;font-size:28px;letter-spacing:.3em;color:#fff;}
footer .flogo b{color:var(--v2-gold);}
footer .fl-row{text-align:center;font-size:16px;letter-spacing:.04em;margin:16px 0 0;}
footer .fl-row.follow{margin:0 0 12px;}
footer .fl-label{text-align:center;font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin:20px 0 6px;color:var(--v2-on-band-muted);}
footer .fl{color:var(--v2-gold);text-decoration:none;margin:0 10px;display:inline-block;padding:6px 0;}
footer .fl:hover{color:#fff;text-decoration:underline;}
footer .fc{font-size:14px;letter-spacing:.04em;color:var(--v2-on-band-muted);margin-top:16px;}
footer .ft{font-size:14px;font-weight:500;letter-spacing:.16em;color:var(--v2-gold);}
footer :focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 3px var(--v2-luminous);}
@media(max-width:900px){footer{padding:64px 16px 96px;}}

/* ───────────── responsive nav ───────────── */
@media(max-width:1180px){
  nav{padding:12px 16px;}
  nav a.call{padding:9px 12px;font-size:14px;letter-spacing:.04em;}
  nav.open ul{background:var(--v2-page);border-bottom:1px solid var(--v2-hairline);top:57px;}
}
@media(max-width:900px){
  nav.open ul{background:var(--v2-page);border-bottom:1px solid var(--v2-hairline);}
  .hero::before{inset:84px 8px 8px;}
  .hero .inner{padding:134px 16px 76px;}
  .hero-rail{left:24px;right:24px;font-size:14px;letter-spacing:.1em;top:96px;}
  .hero .cta .btn{font-size:15px;letter-spacing:.06em;}
  .hero .hero-reason{font-size:15px;}
  .hero .hero-index .t{font-size:18px;}
  .ticker .grp span{letter-spacing:.1em;}
  .stats div{padding:32px 16px;}
}

/* ───────────── reduced motion: everything off ───────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .reveal{opacity:1;transform:none;}
  .radio .needle{transition:none;}
}
.reveal{transition-duration:var(--v2-move);}

/* ───────────── why us, recent work, areas ───────────── */
.recog .seal img[src*="realtor-reverse"]{background:var(--v2-band);padding:6px;}
.ballpark p.k{font-size:14px;line-height:1.5;color:var(--v2-bronze);max-width:none;}
.shopfarm{padding-top:32px;}
.why,.recent{padding:var(--v2-sec) var(--v2-gutter);border-bottom:1px solid var(--v2-hairline);}
.why{background:var(--v2-surface);}
.recent{background:var(--v2-page);}
.why-in{max-width:1180px;margin:0 auto;}
.why-head h2{font-family:var(--v2-display);font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:1.02;color:var(--v2-text-strong);margin:6px 0 40px;max-width:20ch;}
.why-grid{list-style:none;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--v2-gutter);margin:0;padding:0;}
.why-grid li{grid-column:span 3;border-top:2px solid var(--v2-gold);padding-top:18px;}
.why-grid b{display:block;font-family:var(--v2-display);font-weight:700;font-size:24px;line-height:1.25;color:var(--v2-text-strong);margin-bottom:10px;}
.why-grid span{display:block;font-size:17px;line-height:1.65;color:var(--v2-text);}
.why-warranty{margin-top:40px;padding:20px 24px;background:var(--v2-panel);border:1px solid var(--v2-hairline);font-size:19px;color:var(--v2-text-strong);}
.why-certs{margin-top:28px;}
.why-certs ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.why-certs a{display:block;height:100%;padding:14px 16px;border:1px solid var(--v2-hairline);border-left:3px solid var(--v2-gold);background:var(--v2-panel);color:var(--v2-text-strong);text-decoration:none;}
.why-certs a:hover,.why-certs a:focus-visible{border-color:var(--v2-gold);}
.why-certs b{display:block;font-size:17px;}
.why-certs b::after{content:" \2197";color:var(--v2-gold);}
.why-certs span{display:block;font-size:14px;line-height:1.5;color:var(--v2-text);margin-top:4px;}
@media(max-width:900px){.why-certs ul{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.why-certs ul{grid-template-columns:1fr;}}
.recent-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--v2-gutter);}
.rw{grid-column:span 4;background:var(--v2-surface);border:1px solid var(--v2-hairline);display:flex;flex-direction:column;}
.rw-ph{display:block;height:240px;overflow:hidden;}
.rw-ph img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.rw-text{background:var(--v2-band);color:#fff;display:flex;align-items:baseline;justify-content:center;gap:12px;padding-top:70px;}
.rw-text span{font-family:var(--v2-display);font-weight:700;font-size:72px;line-height:1;color:#fff;}
.rw-text i{font-style:normal;font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--v2-gold);}
.rw>div:last-child{padding:20px 24px 26px;}
.rw h3{font-family:var(--v2-display);font-weight:700;font-size:24px;line-height:1.25;margin:0 0 8px;}
.rw h3 a{text-decoration:none;color:var(--v2-text-strong);}
.rw h3 a:hover{color:var(--v2-bronze);}
.rw p{font-size:17px;line-height:1.65;color:var(--v2-text);}
.areas{margin-top:48px;padding-top:28px;border-top:1px solid var(--v2-hairline);}
.areas p:not(.k){font-size:17px;line-height:2;color:var(--v2-text);max-width:none;}
.areas a{color:var(--v2-bronze);padding:6px 0;display:inline-block;}
@media(max-width:900px){
  .why,.recent{padding:64px 16px;}
  .why-grid li{grid-column:span 6;}
  .rw{grid-column:1 / -1;}
}
@media(max-width:560px){.why-grid li{grid-column:1 / -1;}}

/* weights: two faces only (Bodoni 700, Jost 400/500) */
b,strong{font-weight:500;}
nav .logo b,footer .flogo b,.stats b,.recog b,.r-st .r-val,.exp-time b,.exp-flow li b,.why-grid b,.shopcard b{font-family:var(--v2-display);font-weight:700;}
.ticker .grp i,.ticker .grp span b{font-family:var(--v2-body);}
.ticker .grp i{color:var(--v2-bronze);}
.dv-ask .btn{font-size:14px;letter-spacing:.06em;}
.callbar{font-weight:500;}

@media(max-width:900px){
  .stats div{min-width:0;flex:1 1 0;padding:28px 8px;}
  .stats b{font-size:36px;}
  .stats span{letter-spacing:.08em;}
}
@media(max-width:600px){
  nav{gap:8px;padding:10px 12px;}
  nav .logo{font-size:22px;letter-spacing:.14em;}
  nav a.call{padding:9px 10px;letter-spacing:0;}
  nav #rsb-search-btn,nav #rsb-dm-btn{padding:8px 9px;}
}
@media(max-width:600px){.hero .cta .btn{letter-spacing:0;padding:16px 8px;}}

/* ───────────── job-site videos ───────────── */
.jv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--v2-gutter);}
.jv{margin:0;background:var(--v2-surface);border:1px solid var(--v2-hairline);}
.jv-frame{position:relative;aspect-ratio:16/9;background:var(--v2-band);}
.jv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.jv figcaption{padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.jv figcaption b{font-weight:500;color:var(--v2-text-strong);font-size:16px;line-height:1.4;}
.jv figcaption span{color:var(--v2-text-muted);font-size:14px;}
