:root{
  --slate:#293E4C;
  --slate-ink:#1B2932;
  --slate-2:#3D5464;
  --pine:#415841;
  --pine-deep:#2E4030;
  --pine-lift:#54704F;
  --terra:#C56B3D;
  --terra-lift:#D8814F;
  --terra-deep:#A65530;
  --terra-ink:#8F4726;   /* hover / pressed for white-on-terra (6.8:1) */
  --terra-glow:#E39A6E;  /* terra text on pine-deep grounds (4.8:1) */
  --terra-pale:#F2BC98;  /* terra text on pine grounds (4.6:1) */
  --sand:#E8D8C3;
  --sand-dim:#D4C4AE;
  --bone:#F7F4EF;
  --paper:#FFFFFF;
  --ink-60:rgba(41,62,76,.82);
  --ink-40:rgba(41,62,76,.72);
  --hair:rgba(41,62,76,.16);
  --hair-soft:rgba(41,62,76,.09);
  --hair-dark:rgba(232,216,195,.22);
  --pad:clamp(20px,5vw,80px);
  --ease:cubic-bezier(.2,.85,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--slate);
  font-family:Poppins,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16.5px;line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
::selection{background:var(--terra-deep);color:#fff}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
*{scrollbar-color:var(--sand-dim) var(--bone);scrollbar-width:thin}
*::-webkit-scrollbar{width:11px;height:11px}
*::-webkit-scrollbar-track{background:var(--bone)}
*::-webkit-scrollbar-thumb{background:var(--sand-dim);border:3px solid var(--bone)}
*::-webkit-scrollbar-thumb:hover{background:var(--terra)}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.028em;text-wrap:balance;margin:0}
p{margin:0}

.mono{font-family:"Azeret Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
.lab{
  font-family:"Azeret Mono",ui-monospace,monospace;font-size:11px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
}
.terra{color:var(--terra)}

/* ══ header ══
   Two rows, one sticky block (≥901px). Row 1 is Stirling Properties, LLC —
   the sponsoring broker, top and largest. Row 2 is this nav: the Cook
   Advisory Team lockup (subordinate, sized from brand.css) and the site
   links. Stirling is never behind the menu and never scrolls away above a
   sticky team-only bar. LAC 46:LXVII.1909.B / 2501.F; see COMPLIANCE.md. */
.site-head{position:relative;z-index:80}
@media (min-width:901px){.site-head{position:sticky;top:0}}
html{scroll-padding-top:24px}
@media (min-width:901px){html{scroll-padding-top:140px}}

/* ══ nav ══ */
.nav{
  position:relative;display:flex;align-items:center;
  gap:clamp(10px,1.8vw,26px);padding:11px var(--pad);
  background:var(--paper);border-bottom:1px solid var(--hair);
}
.nav .cbh-lockup{margin-right:auto;flex:0 1 auto}
/* narrow screens: the team lockup gives way first — its sponsorship line
   wraps under the wordmark instead of pushing the menu onto a new row */
@media (max-width:900px){.nav .cbh-lockup{flex:1 1 0}}
.nav ul{display:flex;gap:clamp(11px,1.5vw,22px);list-style:none;margin:0;padding:0;flex:none}
.nav-cta{flex:none}
.cta-full{display:inline}
.cta-min{display:none}
.nav ul a{
  text-decoration:none;font-size:14px;font-weight:400;color:var(--slate);
  padding:5px 0;position:relative;transition:color .2s var(--ease);
}
.nav ul a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--terra);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.nav ul a:hover{color:var(--terra-deep)}
.nav ul a:hover::after{transform:scaleX(1)}
.nav-cta{
  background:var(--terra-deep);color:#fff;text-decoration:none;font-size:13.5px;font-weight:500;
  padding:11px 20px;white-space:nowrap;transition:background .2s var(--ease);
}
.nav-cta:hover{background:var(--terra-ink)}
.nav-tog{display:none;background:none;border:1px solid var(--hair);color:var(--slate);padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}

/* ══ buttons ══ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:inherit;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;
  padding:15px 26px;border:1px solid transparent;
  transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease);
}
.btn svg{width:14px;height:14px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-t{background:var(--terra-deep);color:#fff;border-color:var(--terra-deep)}
.btn-t:hover{background:var(--terra-ink);border-color:var(--terra-ink)}
.btn-o{background:transparent;color:var(--slate);border-color:var(--hair)}
.btn-o:hover{border-color:var(--slate);background:rgba(41,62,76,.05)}
.btn-l{background:transparent;color:var(--sand);border-color:var(--hair-dark)}
.btn-l:hover{border-color:var(--sand);background:rgba(232,216,195,.1)}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ══ hero ══ */
.hero{
  position:relative;background:var(--slate-ink);color:var(--sand);
  padding:clamp(50px,7vw,104px) var(--pad) clamp(44px,6vw,88px);overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 90% 70% at 78% 12%,rgba(65,88,65,.55),transparent 62%),
    linear-gradient(168deg,#22343E 0%,#1B2932 52%,#16232B 100%);
}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-bg svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero-scrim{
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(27,41,50,.94) 0%,rgba(27,41,50,.82) 42%,rgba(27,41,50,.55) 100%);
}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(28px,4vw,64px);align-items:center}
.hero h1{
  font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;font-weight:600;
  color:#fff;margin-bottom:20px;
}
.hero h1 span{display:block;color:var(--terra)}
.hero .lede{font-size:clamp(1rem,1.25vw,1.13rem);color:var(--sand);max-width:48ch;font-weight:300;margin-bottom:30px}
.hero .creds{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--hair-dark);margin-bottom:0}
.hero .creds span{
  font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--sand-dim);padding:11px 16px 0 0;margin-right:16px;
}

/* valuation control */
.valbox{border:1px solid var(--hair-dark);background:rgba(27,41,50,.72);backdrop-filter:blur(6px)}
.valbox-hd{padding:20px 22px 0}
.valbox-hd h2{font-size:clamp(1.4rem,2.2vw,1.85rem);color:#fff;font-weight:600;line-height:1.1}
.valbox-hd p{font-size:14px;color:var(--sand-dim);margin-top:8px;font-weight:300}
.valbox form{padding:20px 22px 22px;display:grid;gap:13px}
.vrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
input,select,textarea{min-width:0;max-width:100%}
.f.w{grid-column:1/-1}
.f>label{font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sand-dim)}
.valbox input,.valbox select{
  font-family:Poppins,sans-serif;font-size:15px;color:#fff;background:rgba(9,16,20,.6);
  border:1px solid var(--hair-dark);padding:12px 13px;width:100%;caret-color:var(--terra);
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.valbox select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23C56B3D' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:10px;padding-right:34px}
.valbox input::placeholder{color:rgba(232,216,195,.42)}
.valbox input:hover,.valbox select:hover{border-color:rgba(232,216,195,.4)}
.valbox input:focus,.valbox select:focus{outline:none;border-color:var(--terra);background:rgba(5,10,13,.8)}
.valbox .btn{width:100%}
.valnote{font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sand-dim);text-align:center}

/* ══ section shell ══ */
section{padding:clamp(56px,7.5vw,112px) var(--pad);position:relative}
.bone{background:var(--bone)}
.head{max-width:62ch;margin-bottom:clamp(28px,3.6vw,46px)}
h2{font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.08;margin-bottom:14px}
.head p{color:var(--ink-60);font-size:16.5px;max-width:58ch;font-weight:300}
.dark .head p{color:var(--sand);opacity:.82}
.dark h2,.dark h3{color:#fff}

/* ══ ladder ══ */
.ladder{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.rung{background:var(--paper);padding:26px 24px 24px;display:flex;flex-direction:column}
.rung:first-child{background:var(--paper);border-top:3px solid var(--terra)}
.rung-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rung h3{font-size:1.32rem;line-height:1.16;font-weight:600}
.basis{
  font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 9px;white-space:nowrap;flex:none;
}
.basis-free{background:var(--terra-deep);color:#fff}
.basis-fee{background:rgba(41,62,76,.09);color:var(--slate)}
.basis-commission{background:var(--pine);color:#fff}
.rung p{font-size:14.5px;color:var(--ink-60);font-weight:300;margin-bottom:16px}
.rung ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;flex:1}
.rung li{font-size:14px;color:var(--slate);display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.rung li svg{width:13px;height:13px;flex:none;margin-top:5px}
.rung a.go{
  font-size:14.5px;font-weight:500;color:var(--terra-deep);text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
}
.rung a.go svg{width:13px;height:13px;transition:transform .3s var(--ease)}
.rung a.go:hover svg{transform:translateX(4px)}
.rung a.go:hover{color:var(--terra-ink)}

/* ══ properties ══ */
.seg{display:flex;flex-wrap:wrap;border:1px solid var(--hair);margin-bottom:26px;background:var(--paper)}
.seg button{
  flex:1 1 auto;background:transparent;border:0;border-right:1px solid var(--hair-soft);
  color:var(--ink-60);font-family:"Azeret Mono",monospace;font-size:11px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;padding:14px 15px;cursor:pointer;white-space:nowrap;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.seg button:last-child{border-right:0}
.seg button:hover{background:var(--bone);color:var(--slate)}
.seg button[aria-pressed="true"]{background:var(--pine);color:#fff}
.seg .n{opacity:.8;margin-left:7px;font-size:11px}

.subseg[hidden]{display:none}
.subseg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-14px 0 26px;padding:14px 16px;background:var(--bone);border:1px solid var(--hair);border-top:0}
.subseg .lab{color:var(--ink-40);margin-right:6px}
.subseg button{
  background:var(--paper);border:1px solid var(--hair);color:var(--ink-60);
  font-family:"Azeret Mono",monospace;font-size:11px;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;padding:8px 13px;cursor:pointer;transition:all .2s var(--ease);
}
.subseg button:hover{border-color:var(--terra);color:var(--slate)}
.subseg button[aria-pressed="true"]{background:var(--terra-deep);border-color:var(--terra-deep);color:#fff}
.props{display:grid;grid-template-columns:repeat(auto-fill,minmax(292px,1fr));gap:0;border-top:1px solid var(--hair-soft);border-left:1px solid var(--hair-soft)}
.prop{
  background:var(--paper);text-decoration:none;display:flex;flex-direction:column;
  border-right:1px solid var(--hair-soft);border-bottom:1px solid var(--hair-soft);
  transition:background .25s var(--ease);
}
.prop:hover{background:var(--bone)}
.prop.is-hidden{display:none}
.prop-img{position:relative;aspect-ratio:16/10;background:linear-gradient(160deg,#3A4E42,#25332A);overflow:hidden;display:grid;place-items:center}
.prop-img svg{position:absolute;inset:0;width:100%;height:100%}
.slot{
  position:relative;z-index:2;font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sand);border:1px dashed rgba(232,216,195,.5);
  padding:6px 11px;background:rgba(27,41,50,.6);text-align:center;
}
.prop-tag{
  position:absolute;top:0;left:0;z-index:3;font-family:"Azeret Mono",monospace;font-size:11px;
  letter-spacing:.09em;text-transform:uppercase;background:var(--terra-deep);color:#fff;padding:5px 10px;
}
.prop-tag.pending{background:var(--slate);color:var(--sand)}
.prop-tag.urgent{background:var(--pine);color:#fff}
.kv dd.hot{color:var(--terra-deep)}
.prop-bd{padding:17px 18px;flex:1;display:flex;flex-direction:column}
.prop-bd h3{font-size:1.14rem;line-height:1.18;margin-bottom:3px}
.prop-bd .loc{font-size:13.5px;color:var(--ink-40);margin-bottom:15px;font-weight:300}
.prop-bd .kv{margin-top:auto}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair-soft);border:1px solid var(--hair-soft)}
.kv>div{background:var(--paper);padding:9px 10px}
.prop:hover .kv>div{background:var(--bone)}
.kv dt{font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.01em;text-transform:uppercase;color:var(--ink-40);margin-bottom:3px}
.kv dd{margin:0;font-family:"Azeret Mono",monospace;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--slate)}
.prop-ft{padding:11px 18px;border-top:1px solid var(--hair-soft);font-size:13.5px;font-weight:500;color:var(--terra-deep);display:flex;justify-content:space-between;align-items:center;gap:10px}
.prop-ft svg{width:13px;height:13px;transition:transform .3s var(--ease)}
.prop:hover .prop-ft svg{transform:translateX(4px)}
.none{grid-column:1/-1;background:var(--paper);padding:44px 20px;text-align:center;color:var(--ink-60);font-size:15px;border-right:1px solid var(--hair-soft);border-bottom:1px solid var(--hair-soft)}
.none a{color:var(--terra-deep)}
.allbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid var(--hair-soft);border-top:0;padding:16px 18px;background:var(--bone);margin-top:-1px}
.allbar p{color:var(--ink-60);font-size:14.5px;font-weight:300}

/* ══ positioning (pine field) ══ */
.pine-field{background:var(--pine);color:var(--sand)}
.lll{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(28px,4vw,64px);align-items:center}
.lll h2{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1;color:#fff;margin-bottom:22px}
.lll h2 em{font-style:normal;color:var(--terra-pale);display:block}
.lll p{color:var(--sand);font-weight:300;font-size:16.5px;max-width:52ch;margin-bottom:16px}
.portrait{border:1px solid var(--hair-dark);padding:9px}
.portrait-in{aspect-ratio:4/3;background:linear-gradient(155deg,#4C6549,#2B3B2C);display:grid;place-items:center}

/* ══ clients ══ */
.logorail{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));
  border-top:1px solid var(--hair-soft);border-left:1px solid var(--hair-soft);margin-bottom:44px;
}
.logotile{
  background:var(--paper);aspect-ratio:2/1;display:grid;place-items:center;padding:14px 16px;
  border-right:1px solid var(--hair-soft);border-bottom:1px solid var(--hair-soft);
}
.logotile img{
  width:100%;height:auto;max-height:100%;object-fit:contain;
  filter:saturate(.94);
}
@media (max-width:640px){
  /* Grid-of-tiles turns into a swipeable strip on mobile — one logo per
     row was a wall of scrolling with 17 clients in the rail. */
  .logorail{
    display:flex;overflow-x:auto;border-left:0;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  }
  .logotile{
    flex:0 0 42%;aspect-ratio:2/1;scroll-snap-align:start;border-left:1px solid var(--hair-soft);
  }
}
.affil{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,56px);border-top:1px solid var(--hair);padding-top:26px}
.affil .lab{color:var(--ink-40);flex:none}
.affil span.a{font-size:15px;font-weight:500;color:var(--slate-2);letter-spacing:.01em}

/* ══ corridor ══ */
.dark{background:var(--slate-ink);color:var(--sand)}
.mapwrap{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:clamp(22px,3vw,48px);align-items:center}
.map{border:1px solid var(--hair-dark);padding:clamp(14px,2vw,26px);background:rgba(255,255,255,.02)}
.map svg{width:100%;height:auto;display:block}
.drive{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair-dark)}
.drive li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(232,216,195,.11);font-size:14.5px;color:var(--sand);font-weight:300}
.drive b{font-family:"Azeret Mono",monospace;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.iso{transform-origin:center;animation:iso 3.6s var(--ease) infinite}
.iso2{animation-delay:.6s}.iso3{animation-delay:1.2s}
@keyframes iso{0%{opacity:.6;transform:scale(.8)}70%{opacity:0;transform:scale(1.14)}100%{opacity:0}}

/* ══ insights ══ */
.posts{border-top:1px solid var(--hair)}
.post{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 24px;align-items:baseline;
  padding:20px 4px;border-bottom:1px solid var(--hair-soft);text-decoration:none;position:relative;
  transition:background .3s var(--ease);
}
.post::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--terra);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.post:hover{background:var(--bone)}
.post:hover::before{transform:scaleY(1)}
.post>span:first-child{transition:transform .35s var(--ease)}
.post:hover>span:first-child,.post:hover h3{transform:translateX(12px)}
.post h3{font-size:1.12rem;line-height:1.3;font-weight:500;transition:transform .35s var(--ease)}
.post .cat{font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--terra-deep);width:120px;flex:none}
.post .rd{font-family:"Azeret Mono",monospace;font-size:11px;color:var(--ink-40);white-space:nowrap}

/* ══ intake ══ */
.intake{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(26px,4vw,60px);align-items:start}
.routes{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--hair)}
.routes a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--hair-soft);text-decoration:none;font-size:15px;color:var(--slate);transition:color .22s var(--ease),transform .3s var(--ease)}
.routes a:hover{color:var(--terra-deep);transform:translateX(9px)}
.routes svg{width:13px;height:13px;flex:none;opacity:.55}
form.big{border:1px solid var(--hair);background:var(--paper)}
form.big .fhd{padding:15px 20px;border-bottom:1px solid var(--hair);background:var(--bone);display:flex;justify-content:space-between;align-items:center;gap:12px}
form.big .fhd .lab{color:var(--ink-40)}
form.big .fbd{padding:22px 20px}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}
form.big .f>label{color:var(--ink-40)}
form.big input,form.big select,form.big textarea{
  font-family:Poppins,sans-serif;font-size:15px;color:var(--slate);background:var(--bone);
  border:1px solid var(--hair-soft);padding:12px 13px;width:100%;caret-color:var(--terra);
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
form.big textarea{min-height:92px;resize:vertical}
form.big select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23C56B3D' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:10px;padding-right:34px}
form.big input::placeholder,form.big textarea::placeholder{color:var(--ink-40)}
form.big input:hover,form.big select:hover,form.big textarea:hover{border-color:var(--hair)}
form.big input:focus,form.big select:focus,form.big textarea:focus{outline:none;border-color:var(--terra);background:var(--paper)}
input:user-invalid,select:user-invalid{border-color:#B4472A}
.err{display:none;font-family:"Azeret Mono",monospace;font-size:12px;color:#B4472A;letter-spacing:.04em}
input:user-invalid ~ .err,select:user-invalid ~ .err{display:block}
.consent{
  grid-column:1/-1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:11px;align-items:start;font-family:Poppins,sans-serif;font-size:12.5px;
  letter-spacing:0;text-transform:none;color:var(--ink-40);line-height:1.5;font-weight:300;cursor:pointer;
}
.consent input{width:15px;height:15px;margin:3px 0 0;accent-color:var(--terra)}
.check-group{display:grid;gap:9px;margin-top:2px}
.check-item{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;
  font-family:Poppins,sans-serif;font-size:13.5px;letter-spacing:0;text-transform:none;
  color:var(--ink-60);font-weight:300;cursor:pointer;
}
.check-item input{width:15px;height:15px;margin:3px 0 0;accent-color:var(--terra)}
form.big .f>label{display:block}
form.big .btn{width:100%;margin-top:4px}
.fft{padding:13px 20px;border-top:1px solid var(--hair);font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-40);text-align:center}

/* ══ footer ══ */
/* §4 compliance block inside the dark site footer: full-contrast sand on
   slate-ink (10.7:1), 14px, never dimmed — it is a disclosure, not fine print */
.site-footer .compliance-block{--cb-ground:transparent;--cb-ink:var(--sand);border-top-color:var(--hair-dark);padding:20px 0 0;margin-top:22px}
.site-footer{background:var(--slate-ink);color:var(--sand);padding:clamp(46px,5.5vw,76px) var(--pad) 26px}
.fg4{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(20px,3vw,44px);padding-bottom:38px;border-bottom:1px solid var(--hair-dark)}
.fg4 h4{font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--terra-lift);margin-bottom:14px;font-weight:500}
.fg4 ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fg4 a{text-decoration:none;font-size:14px;color:var(--sand);opacity:.82;transition:opacity .2s,color .2s;font-weight:300}
.fg4 a:hover{opacity:1;color:var(--terra-lift)}
.fg4 p{font-size:13.5px;color:var(--sand);opacity:.72;line-height:1.7;font-weight:300}
.disc{margin-top:22px;font-size:13px;color:var(--sand);opacity:.8;max-width:76ch;line-height:1.65;font-weight:300}
.fbot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:22px;font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sand);opacity:.78}

.eventband{
  background:var(--pine-deep);color:var(--sand);
  padding:clamp(26px,3.4vw,42px) var(--pad);
  border-top:3px solid var(--terra);
}
.eventband-in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(16px,3vw,40px);justify-content:space-between}
.eventband .when{
  font-family:"Azeret Mono",monospace;font-size:clamp(13px,1.25vw,15px);letter-spacing:.13em;text-transform:uppercase;
  color:var(--terra-glow);display:block;margin-bottom:11px;
}
.eventband h2{font-size:clamp(1.4rem,2.6vw,2.05rem);color:#fff;margin-bottom:7px;line-height:1.1}
.eventband p{color:var(--sand);opacity:.85;font-size:15px;font-weight:300;max-width:56ch}
.countdown{display:flex;gap:1px;background:rgba(232,216,195,.18);border:1px solid rgba(232,216,195,.18);flex:none}
.cd{background:var(--pine-deep);padding:11px 15px;text-align:center;min-width:66px}
.cd b{display:block;font-family:"Azeret Mono",monospace;font-size:1.4rem;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;line-height:1.1}
.cd span{font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sand-dim)}
.eventband-cta{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:720px){.eventband-in{flex-direction:column;align-items:flex-start}}
.rev{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rev.in{opacity:1;transform:none}
.up{opacity:0;transform:translateY(18px);animation:up .9s var(--ease) forwards}
@keyframes up{to{opacity:1;transform:none}}
.u1{animation-delay:.06s}.u2{animation-delay:.18s}.u3{animation-delay:.3s}

@media (max-width:1120px){
  .ladder{grid-template-columns:1fr 1fr}
  .rung:first-child{grid-column:1/-1}
  .hero-in,.lll,.mapwrap,.intake{grid-template-columns:1fr}
  .fg4{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .nav ul{display:none}
  .nav-tog{display:block}
}
@media (max-width:700px){
  .cta-full{display:none}
  .cta-min{display:inline}
}
@media (max-width:640px){
  body{font-size:16px}
  .ladder,.vrow,.fgrid,.fg4{grid-template-columns:1fr}
  .rung:first-child{grid-column:auto}
  .post{grid-template-columns:minmax(0,1fr);gap:6px}
  .post .cat{width:auto}
  .post .rd{white-space:normal}
  .nav{padding-left:16px;padding-right:16px;gap:10px}
  .nav-cta{padding:9px 13px;font-size:12.5px}
  .nav-tog{padding:7px 11px;font-size:12.5px}
  .hero .creds span{padding-right:12px;margin-right:12px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rev,.up{opacity:1;transform:none}
}

/* --- Mobile navigation ------------------------------------------------------
   The comp hid .nav ul below 900px and showed a Menu button that nothing was
   listening to, leaving no navigation at all on phones. These rules give the
   button something to open. Paired with the toggle handler in site.js. */
@media (max-width:900px){
  .nav{flex-wrap:wrap}
  .nav.open ul{
    display:flex;flex-direction:column;gap:0;
    flex-basis:100%;order:5;margin-top:14px;
    border-top:1px solid var(--hair);
  }
  .nav.open ul li{width:100%}
  .nav.open ul a{
    display:block;width:100%;padding:15px 2px;font-size:15px;
    border-bottom:1px solid var(--hair-soft);
  }
  .nav.open ul a::after{display:none}
}

/* --- Active nav state (multi-page site) -------------------------------- */
.nav ul li.is-active a{color:var(--slate)}
.nav ul li.is-active a::after{transform:scaleX(1)}
.nav.open ul li.is-active a{color:var(--terra-deep)}

/* --- Two CTAs in the properties "all inventory" bar --------------------- */
.allbar{flex-wrap:wrap;gap:14px 22px}

/* --- Light-background bio layout -----------------------------------------
   .lll and .portrait were built for CORE dark grounds (pine-field / hero) —
   white h2, sand paragraph text, a hairline meant for a dark border. About
   reuses the same two-column idea on a LIGHT section, so it needs its own
   ink-correct version rather than inheriting those forced colors. */
.bio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(28px,4vw,64px);align-items:center}
.bio h2{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1;color:var(--slate);margin-bottom:22px}
.bio h2 em{font-style:normal;color:var(--terra)}
.bio p{color:var(--ink-60);font-weight:300;font-size:16.5px;max-width:56ch;margin-bottom:16px}
.bio-portrait{border:1px solid var(--hair);padding:9px}
.bio-portrait-in{aspect-ratio:4/3;background:linear-gradient(155deg,#4C6549,#2B3B2C);display:grid;place-items:center}
@media (max-width:900px){.bio{grid-template-columns:1fr}}

/* --- Blog article body --------------------------------------------------- */
.post-meta{display:flex;gap:14px;align-items:center;margin:-6px 0 34px;font-family:'Azeret Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--terra-deep)}
.post-body{max-width:70ch;margin:0 auto;padding:0 var(--pad) 90px}
.post-body img{width:100%;border-radius:2px;margin:10px 0 34px;border:1px solid var(--hair-soft)}
.post-body h3{font-size:clamp(19px,2.4vw,24px);margin:38px 0 14px;color:var(--slate)}
.post-body p{color:var(--ink-60);font-size:16.5px;line-height:1.75;margin-bottom:18px}
.post-back{display:inline-block;margin-top:10px;font-size:14px;color:var(--terra-deep)}
.prop-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* --- Podcast / video grid ------------------------------------------------- */
.vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:28px}
.vcard{background:var(--paper);display:block;text-decoration:none}
.vcard-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--slate)}
.vcard-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.vcard:hover .vcard-thumb img{transform:scale(1.04)}
.vcard-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,26,24,.12)}
.vcard-play span{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;transition:transform .3s var(--ease)}
.vcard:hover .vcard-play span{transform:scale(1.08)}
.vcard-play svg{width:12px;height:12px;margin-left:1px}
.vcard-body{padding:18px 20px 22px}
.vcard-body .cat{font-family:"Azeret Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-deep)}
.vcard-body h3{font-size:1.05rem;line-height:1.32;font-weight:500;margin-top:8px;color:var(--slate)}
.vcard-body .src{font-family:"Azeret Mono",monospace;font-size:11px;color:var(--ink-40);margin-top:8px;display:block}
@media (max-width:700px){.vgrid{grid-template-columns:1fr}}

/* --- Team headshots (about.html) --- */
.bio-portrait img,.bio-portrait-in img{width:100%;height:100%;object-fit:cover;display:block}
.view-stirling{
  display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:13.5px;
  color:var(--terra-deep);text-decoration:none;font-weight:500;
}
.view-stirling svg{width:12px;height:12px}
.view-stirling:hover{color:var(--terra-ink)}

/* Bio copy truncates to a few lines below the breakpoint where the
   portrait stacks on top of the text (see .bio's own 900px breakpoint) —
   full text is still in the DOM, just visually clamped until "Read more"
   is clicked. Above that width bios show in full; .bio-toggle stays
   hidden there and site.js hides it on mobile too when a bio is short
   enough that clamping never actually hid anything. */
.bio-toggle{display:none}
@media (max-width:900px){
  .bio-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  .bio-copy.is-expanded{display:block;overflow:visible}
  .bio-toggle{
    display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:13.5px;
    color:var(--terra-deep);font-weight:500;background:none;border:0;padding:0;cursor:pointer;
    font-family:inherit;
  }
  .bio-toggle svg{width:12px;height:12px;transition:transform .15s}
  .bio-toggle[aria-expanded="true"] svg{transform:rotate(90deg)}
  .bio-toggle:hover{color:var(--terra-ink)}
}

/* Form submission states */
.form-error{
  background:var(--alert,#fee);color:var(--alert-text,#a22);padding:12px 16px;
  border-radius:4px;margin-bottom:16px;font-size:14px;display:none;border-left:3px solid var(--alert-text,#a22);
}

.thank-you{
  padding:32px 24px;text-align:center;border-radius:6px;background:var(--success-bg,#efe);
  border:1px solid var(--success-border,#aca);
}

.thank-you-content h3{
  font-size:22px;margin:0 0 12px;color:var(--success-text,#2a5);font-weight:600;
}

.thank-you-content p{
  margin:0;color:var(--ink-80);font-size:16px;line-height:1.5;
}

.thank-you-content a{color:var(--terra-deep);text-decoration:none;font-weight:600;}
.thank-you-content a:hover{text-decoration:underline;}

/* --- Service landing pages ------------------------------------------------ */
.svc-hero .hero-in{grid-template-columns:minmax(0,1fr)}
.svc-hero .basis{display:inline-block;margin-bottom:18px}
.svc-hero .lede{margin-bottom:0}
.svc-points{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px}
.svc-points li{font-size:15px;color:var(--slate);display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.svc-points li svg{width:13px;height:13px;flex:none;margin-top:6px}
.svc-fee{margin-top:26px;padding:16px 18px;border:1px solid var(--hair);background:var(--paper);font-size:14.5px;color:var(--ink-60);font-weight:300}
.svc-fee b{color:var(--slate);font-weight:600}
.svc-other{margin-top:34px}
.svc-other .lab{display:block;color:var(--ink-40);margin-bottom:6px}
.svc-band{background:var(--pine);color:var(--sand);padding:clamp(40px,5vw,64px) var(--pad)}
.svc-band-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.svc-band h2{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin:0}
.svc-band p{color:var(--sand);font-weight:300;max-width:56ch}

/* --- Featured properties (landing sites) ---------------------------------- */
.featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);margin-bottom:clamp(40px,5vw,72px)}
.featured .prop{border:0}
.featured .prop-img{aspect-ratio:16/9}
.featured .prop-bd h3{font-size:1.5rem}
.featured .prop-bd .loc{font-size:14.5px}

/* --- Footer newsletter opt-in --------------------------------------------- */
.fnews{margin-top:22px;padding-top:18px;border-top:1px solid var(--hair-dark)}
.fnews h4{margin-bottom:8px}
.fnews p{margin-bottom:12px}
.fnews form{display:flex;gap:0;max-width:360px}
.fnews input{
  flex:1;min-width:0;font-family:Poppins,sans-serif;font-size:14px;color:#fff;background:rgba(255,255,255,.06);
  border:1px solid var(--hair-dark);padding:11px 12px;caret-color:var(--terra);
}
.fnews input::placeholder{color:rgba(232,216,195,.45)}
.fnews input:focus{outline:none;border-color:var(--terra)}
.fnews button{
  flex:none;background:var(--terra-deep);color:#fff;border:1px solid var(--terra-deep);font-family:inherit;font-size:13.5px;
  font-weight:500;padding:11px 16px;cursor:pointer;transition:background .2s var(--ease);
}
.fnews button:hover{background:var(--terra-ink)}
.fnews .form-error{margin:0 0 10px;font-size:13px;padding:8px 10px}
.thank-you-compact{padding:12px 14px;text-align:left;border-radius:0;background:rgba(232,216,195,.08);border:1px solid var(--hair-dark);font-size:14px;color:var(--sand)}
.thank-you-compact p{margin:0}

/* --- Inline newsletter block (insights) ----------------------------------- */
.news-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(26px,4vw,60px);align-items:center}
.news-inline form.big{max-width:520px}
@media (max-width:900px){.news-inline{grid-template-columns:1fr}}
.fnews form{flex-wrap:wrap}
.fnews .form-error{flex-basis:100%}
.affil a.a{font-size:15px;font-weight:500;color:var(--slate-2);letter-spacing:.01em;text-decoration:none;border-bottom:1px solid var(--hair)}
.affil a.a:hover{color:var(--terra);border-bottom-color:var(--terra)}

/* --- §5.1 in-form broker line on the dark-ground forms -------------------- */
.valbox .form-broker-id,.fnews .form-broker-id{--fbi-ink:var(--sand)}
.valbox .form-broker-id{margin:2px 0 0}
.fnews .form-broker-id{flex-basis:100%;order:-1;margin:0 0 10px}
/* The hero consent label was slate on the dark valuation box — unreadable. */
.valbox .consent{color:var(--sand)}
/* §5.2 success copy of the disclosure inside the dark footer opt-in */
.fnews .compliance-block--inline{--cb-ground:transparent;--cb-ink:var(--sand);border-color:var(--hair-dark);margin-top:12px}
