: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;
  --sand:#E8D8C3;
  --sand-dim:#BFAE97;
  --bone:#F7F4EF;
  --paper:#FFFFFF;
  --ink-60:rgba(41,62,76,.68);
  --ink-40:rgba(41,62,76,.46);
  --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);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:10.5px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
}
.terra{color:var(--terra)}

/* ══ lockup ══ */
.lockup{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.lockup>span{min-width:0}
.lockup .mark{width:38px;height:38px;flex:none;object-fit:contain;filter:brightness(0) invert(1)}
.lockup b{display:block;font-size:13.5px;font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap}
.lockup i{
  display:block;font-family:"Azeret Mono",monospace;font-style:normal;font-size:8.5px;
  letter-spacing:.11em;text-transform:uppercase;margin-top:3px;white-space:nowrap;
}

/* ══ nav ══ */
.nav{
  position:sticky;top:0;z-index:80;display:flex;align-items:center;
  gap:clamp(10px,1.8vw,26px);padding:13px var(--pad);
  background:var(--pine);border-bottom:1px solid rgba(0,0,0,.18);
}
.nav .lockup{margin-right:auto;color:#fff;flex:0 1 auto}
.nav .lockup i{color:var(--sand-dim)}
.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(--sand);
  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:#fff}
.nav ul a:hover::after{transform:scaleX(1)}
.nav-cta{
  background:var(--terra);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-lift)}
.nav-tog{display:none;background:none;border:1px solid var(--hair-dark);color:var(--sand);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);color:#fff;border-color:var(--terra)}
.btn-t:hover{background:var(--terra-lift);border-color:var(--terra-lift)}
.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:10px;letter-spacing:.13em;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:9.5px;letter-spacing:.14em;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:9.5px;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:9.5px;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 9px;white-space:nowrap;flex:none;
}
.basis-free{background:var(--terra);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);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-deep)}

/* ══ 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:.6;margin-left:7px;font-size:10px}

.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:10.5px;font-weight:500;letter-spacing:.11em;
  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);border-color:var(--terra);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:9px;letter-spacing:.13em;
  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:9px;
  letter-spacing:.12em;text-transform:uppercase;background:var(--terra);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)}
.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 11px}
.prop:hover .kv>div{background:var(--bone)}
.kv dt{font-family:"Azeret Mono",monospace;font-size:8.5px;letter-spacing:.13em;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);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)}
.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-lift);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:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);width:96px;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);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:10.5px;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:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-40);text-align:center}

/* ══ footer ══ */
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:9.5px;letter-spacing:.16em;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}
.brokerline{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--hair-dark)}
.brokerline .stirplate{
  background:#fff;padding:10px 14px;flex:none;display:grid;place-items:center;
}
.brokerline .stirplate img{width:118px;height:auto}
.brokerline small{font-size:12px;color:var(--sand);opacity:.75;line-height:1.45;font-weight:300}
.disc{margin-top:22px;font-size:11.5px;color:var(--sand);opacity:.55;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:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--sand);opacity:.5}

.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:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--terra-lift);display:block;margin-bottom:9px;
}
.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:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--sand-dim)}
@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:1240px){
  .lockup i{display:none}
  .lockup b{font-size:12.5px}
}
@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}
  .lockup i{display:block}
}
@media (max-width:700px){
  .cta-full{display:none}
  .cta-min{display:inline}
  .lockup i{display:none}
}
@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}
  .lockup .mark{width:30px;height:30px}
  .lockup b{font-size:11.5px}
  .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-dark);
  }
  .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-dark);
  }
  .nav.open ul a::after{display:none}
}

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

/* --- 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)}
.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)}
.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:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra)}
.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}}

/* --- Broker-info bar (LREC: broker name, address, phone on every page) --- */
.broker-bar{
  background:var(--slate-ink);color:var(--sand-dim);font-family:"Azeret Mono",monospace;
  font-size:11px;letter-spacing:.04em;padding:7px var(--pad);text-align:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
}
.broker-bar b{color:var(--sand);font-weight:600}
.broker-bar a{color:var(--sand-dim);text-decoration:none}
.broker-bar a:hover{color:var(--sand)}
.broker-bar .sep{margin:0 10px;opacity:.4}
.broker-bar .nowrap{white-space:nowrap}
.broker-bar .stirling-mark{height:12px;width:auto;flex:none;opacity:.92;vertical-align:middle}
@media (max-width:820px){.broker-bar .sep:nth-of-type(3){display:none}}
@media (max-width:640px){.broker-bar .sep:nth-of-type(2){display:none}.broker-bar br{content:"";display:block}}

/* On small screens the broker bar moves from the top of the page (where it
   crowds the hero) to a duplicate at the very bottom instead — same
   required disclosure, just out of the way. See site.js. */
.broker-bar-bottom{display:none;border-bottom:0;border-top:1px solid rgba(255,255,255,.08)}
@media (max-width:640px){
  .broker-bar:not(.broker-bar-bottom){display:none}
  .broker-bar-bottom{display:flex}
}

/* --- 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);text-decoration:none;font-weight:500;
}
.view-stirling svg{width:12px;height:12px}
.view-stirling:hover{color:var(--terra-deep)}

/* 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);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-deep)}
}
