/* ===========================================================
   Equity & Exits — "The Record" design system
   Visual language borrowed from plat maps and recorded
   instruments: hairline rules, square edges, technical
   annotation. No rounded corners, no drop shadows.
   Palette: Direction A "Pine Ground" — see :root below.
   =========================================================== */

:root{
  /* === Direction A "Pine Ground" ===================================
     Deep pine is the dominant surface; paper is the inset. The brand
     green from the shield logo (#1F643A) is a first-class token, not
     an accent hidden in a wordmark. No navy, no gold - the two
     colours every competitor in this category wears.
     ================================================================ */
  --paper:#13271C;        /* page ground - deep pine */
  --field:#1A3325;        /* raised surface: cards, form panels */
  --ink:#F2F1E8;          /* body text - warm paper */
  --ink-soft:#9DB0A2;     /* secondary text */
  --rule:#2E4A38;
  --rule-soft:#213629;

  --markup:#E4745A;       /* oxide - annotation and alerts only */
  --markup-ink:#26100A;   /* text ON an oxide fill */
  --leaf:#5FA463;         /* action: buttons, recovered figures */
  --leaf-ink:#0B1A12;     /* text ON a leaf fill */
  --pine:#1F643A;         /* logo green - brand marks */

  /* fixed tokens - must NOT flip with theme (footer/band stay the deepest anchor) */
  --ink-fixed:#0C1A12;
  --paper-fixed:#F2F1E8;

  --sans:'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --narrow:'Archivo Narrow', 'Archivo', sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0D1B13; --field:#142418; --ink:#E9EDE4; --ink-soft:#93A698;
    --rule:#25392C; --rule-soft:#1A2A20;
    --markup:#E87B60; --markup-ink:#26100A;
    --leaf:#6BB06F; --leaf-ink:#08150E; --pine:#2A7A48;
    --ink-fixed:#060F0A; --paper-fixed:#E9EDE4;
  }
}
:root[data-theme="dark"]{
  --paper:#0D1B13; --field:#142418; --ink:#E9EDE4; --ink-soft:#93A698;
    --rule:#25392C; --rule-soft:#1A2A20;
    --markup:#E87B60; --markup-ink:#26100A;
    --leaf:#6BB06F; --leaf-ink:#08150E; --pine:#2A7A48;
    --ink-fixed:#060F0A; --paper-fixed:#E9EDE4;
}

*{box-sizing:border-box;}
html,body{margin:0; padding:0;}
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;}
a{color:inherit;}
h1,h2,h3{margin:0; font-weight:800; letter-spacing:-.03em; text-wrap:balance;}
:focus-visible{outline:2px solid var(--markup); outline-offset:2px;}

.wrap{max-width:1140px; margin:0 auto; padding-inline:32px;}
@media (max-width:600px){ .wrap{padding-inline:20px;} }
.wrap-narrow{max-width:720px; margin:0 auto; padding-inline:32px;}
@media (max-width:600px){ .wrap-narrow{padding-inline:20px;} }

/* ---------- property listing block (hero proof) ---------- */
.listing{border:1px solid var(--ink); background:var(--field);}
.listing-head{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding:12px 20px; border-bottom:1px solid var(--ink);
}
.listing .addr{
  font-size:clamp(23px,2.6vw,30px); font-weight:800; letter-spacing:-.03em;
  padding:24px 20px 4px;
}
.listing .sub{padding:0 20px 20px; color:var(--ink-soft); font-size:14.5px;}
.figs{margin:0; border-top:1px solid var(--rule);}
.figs .row{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  padding:14px 20px; border-bottom:1px solid var(--rule-soft);
}
.figs .row:last-child{border-bottom:none;}
.figs dt{font-size:15px; color:var(--ink-soft); margin:0;}
.figs dd{
  margin:0; font-family:var(--narrow); font-weight:700; font-size:19px;
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.figs .row.surplus{background:rgba(95,164,99,.13); border-top:1px solid var(--ink); border-bottom:none; padding-block:18px;}
.figs .row.surplus dt{color:var(--ink); font-weight:600;}
.figs .row.surplus dd{color:var(--leaf); font-size:26px;}
.listing .note{
  margin:0; padding:11px 20px; border-top:1px solid var(--rule);
  font-family:var(--narrow); font-size:10.5px; text-transform:uppercase;
  letter-spacing:.1em; color:var(--ink-soft);
}

/* technical annotation type */
.ann{
  font-family:var(--narrow); font-weight:600; text-transform:uppercase;
  letter-spacing:.12em; font-size:11.5px; color:var(--ink-soft);
  font-variant-numeric:tabular-nums;
}
.ann.red{color:var(--markup);}

/* ---------- letter bar ---------- */
.letter-bar{
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  background:var(--markup); color:var(--markup-ink); padding:11px 24px; text-decoration:none;
  font-family:var(--narrow); text-transform:uppercase; letter-spacing:.1em;
  font-size:11.5px; font-weight:600; text-align:center;
}
.letter-bar:hover{background:var(--ink); color:var(--paper);}

/* ---------- header ---------- */
header.site{border-bottom:1px solid var(--ink);}
.nav{display:flex; align-items:stretch; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.brand{display:flex; align-items:center; gap:13px; padding:17px 0; text-decoration:none;}
.brand .mark{
  width:33px; height:33px; border:1.5px solid var(--pine); background:var(--pine); color:#F2F1E8; flex-shrink:0;
  display:grid; place-items:center; font-family:var(--narrow); font-weight:700;
  font-size:12.5px; letter-spacing:.04em;
}
.brand .nm{font-family:var(--narrow); font-weight:700; text-transform:uppercase; letter-spacing:.14em; font-size:13.5px; white-space:nowrap;}
.navlinks{display:flex; align-items:center; flex-wrap:wrap;}
.navlinks a{
  font-family:var(--narrow); text-transform:uppercase; letter-spacing:.1em;
  font-size:11.5px; font-weight:600; text-decoration:none; color:var(--ink-soft);
  padding:18px 15px; border-left:1px solid var(--rule-soft);
}
.navlinks a:hover{color:var(--markup);}
.navlinks a[aria-current]{color:var(--ink);}
.navlinks a.cta{background:var(--leaf); color:var(--leaf-ink); border-left:1px solid var(--leaf);}
.navlinks a.cta:hover{background:var(--markup); color:var(--markup-ink);}
@media (max-width:900px){
  .navlinks{padding-bottom:10px;}
  .navlinks a{padding:11px 12px; border-left:none; border-right:1px solid var(--rule-soft);}
  /* the nav CTA duplicates Contact and the hero button — drop it on small screens
     so the headline sits higher above the fold */
  .navlinks a.cta{display:none;}
}

/* ---------- buttons ---------- */
.btnrow{display:flex; flex-wrap:wrap; border:1px solid var(--ink); width:fit-content; max-width:100%;}
.btnrow a, .btnrow button{
  font-family:var(--narrow); text-transform:uppercase; letter-spacing:.1em; font-size:12px;
  font-weight:700; text-decoration:none; padding:15px 24px; display:inline-block;
  border:none; background:none; color:inherit; cursor:pointer;
}
.btnrow a.primary, .btnrow button.primary{background:var(--leaf); color:var(--leaf-ink);}
.btnrow a.primary:hover, .btnrow button.primary:hover{background:var(--markup); color:var(--markup-ink);}
.btnrow a.ghost{border-left:1px solid var(--ink);}
.btnrow a.ghost:hover{color:var(--markup);}
@media (max-width:420px){
  .btnrow{width:100%; flex-direction:column;}
  .btnrow a.ghost{border-left:none; border-top:1px solid var(--ink);}
  .btnrow a{text-align:center;}
}

/* ---------- hero (home) ---------- */
.hero{display:grid; grid-template-columns:1.05fr .95fr; border-bottom:1px solid var(--rule);}
@media (max-width:900px){ .hero{grid-template-columns:1fr;} }
.hero-copy{padding:70px 40px 70px 0;}
@media (max-width:900px){ .hero-copy{padding:44px 0 34px;} }
.hero h1{font-size:clamp(34px,4.6vw,56px); line-height:1.03; font-weight:800; margin:20px 0 22px; letter-spacing:-.035em;}
.hero h1 em{font-style:normal; color:var(--markup);}
.hero p.lede{font-size:17.5px; color:var(--ink-soft); max-width:46ch; margin:0 0 28px;}
.hero-plat{display:flex; flex-direction:column; justify-content:center; padding:56px 0 56px 52px;}
@media (max-width:900px){ .hero-plat{padding:0 0 42px;} }

/* title block — signature element, lifted from real plats */
.titleblock{border:1px solid var(--ink); margin-top:18px; background:var(--field);}
.titleblock .tb-head{
  border-bottom:1px solid var(--ink); padding:9px 14px;
  font-family:var(--narrow); text-transform:uppercase; letter-spacing:.12em;
  font-size:10.5px; font-weight:700;
}
.tb-rows{display:grid; grid-template-columns:1fr 1fr;}
.tb-rows div{padding:9px 14px; border-top:1px solid var(--rule-soft); font-family:var(--narrow); font-size:11.5px; font-variant-numeric:tabular-nums;}
.tb-rows div:nth-child(odd){border-right:1px solid var(--rule-soft);}
.tb-rows .k{display:block; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); font-size:9.5px; margin-bottom:3px;}
.tb-rows .v{font-weight:700; letter-spacing:.02em; font-size:12.5px;}

/* ---------- page hero (interior pages) ---------- */
.page-hero{border-bottom:1px solid var(--ink); padding:46px 0 42px;}
.page-hero h1{font-size:clamp(29px,3.9vw,44px); line-height:1.05; margin:14px 0 14px;}
.page-hero h1 em{font-style:normal; color:var(--markup);}
.page-hero p{font-size:17.5px; color:var(--ink-soft); max-width:60ch; margin:0;}

/* ---------- trust strip ---------- */
.strip{display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--ink);}
@media (max-width:820px){ .strip{grid-template-columns:1fr 1fr;} }
@media (max-width:460px){ .strip{grid-template-columns:1fr;} }
.strip .cell{padding:22px 24px; border-left:1px solid var(--rule);}
.strip .cell:first-child{border-left:none; padding-left:0;}
@media (max-width:820px){
  .strip .cell{border-left:1px solid var(--rule); padding-left:24px;}
  .strip .cell:nth-child(odd){border-left:none; padding-left:0;}
  .strip .cell:nth-child(n+3){border-top:1px solid var(--rule-soft);}
}
@media (max-width:460px){
  .strip .cell{border-left:none; padding-left:0; border-top:1px solid var(--rule-soft);}
  .strip .cell:first-child{border-top:none;}
}
.strip .big{font-size:19px; font-weight:700; letter-spacing:-.02em; margin-bottom:3px;}

/* ---------- sections ---------- */
section.sheet{border-bottom:1px solid var(--rule);}
section.sheet:last-of-type{border-bottom:none;}
.sec-head{padding:76px 0 0;}
@media (max-width:600px){ .sec-head{padding-top:52px;} }
.sec-head h2{font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-.032em; margin-top:12px;}
.sec-sub{color:var(--ink-soft); max-width:58ch; padding-bottom:0; margin:16px 0 0; font-size:17px;}

/* ---------- steps (open, no card borders) ---------- */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin:48px 0 80px;}
@media (max-width:820px){ .cards{grid-template-columns:1fr; gap:36px; margin-bottom:60px;} }
.card{padding:0;}
.card .num{
  font-family:var(--narrow); font-weight:700; font-size:12px; color:var(--markup);
  letter-spacing:.14em; padding-bottom:12px; border-bottom:1px solid var(--markup);
  display:inline-block; margin-bottom:18px;
}
.card h3{font-size:20px; margin:0 0 10px; letter-spacing:-.025em;}
.card p{margin:0; color:var(--ink-soft); font-size:15.5px;}

/* ---------- process stages (open list) ---------- */
.linetable{margin:44px 0 80px;}
.lt-head{display:none;}
.lt-row{
  display:grid; grid-template-columns:52px 1fr 1.5fr; gap:28px;
  padding:26px 0; border-top:1px solid var(--rule-soft); align-items:start;
}
.lt-row:first-child{border-top:1px solid var(--rule);}
@media (max-width:820px){
  .lt-row{grid-template-columns:40px 1fr; gap:16px;}
  .lt-row .lt-desc{grid-column:2; padding-top:8px;}
}
.lt-key{
  font-family:var(--narrow); font-weight:700; font-size:13px; color:var(--markup);
  letter-spacing:.1em; padding-top:2px;
}
.lt-name{font-weight:700; font-size:19px; letter-spacing:-.022em;}
.lt-desc{color:var(--ink-soft); font-size:15.5px;}

/* ---------- extracts (testimonials) ---------- */
.extracts{display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin:44px 0 24px;}
@media (max-width:820px){ .extracts{grid-template-columns:1fr; gap:34px;} }
.ex{padding:0;}
.ex p{margin:12px 0 14px; font-size:16px;}
.ex .amt{font-family:var(--narrow); font-weight:700; font-size:30px; color:var(--leaf); letter-spacing:.01em; font-variant-numeric:tabular-nums;}
.disclosure{color:var(--ink-soft); font-size:12.5px; margin:0 0 76px;}

/* ---------- band (CTA) ---------- */
.band{background:var(--ink-fixed); color:var(--paper-fixed); padding:50px 0 54px; text-align:center;}
.band h2{color:var(--paper-fixed); font-size:clamp(24px,3vw,34px); margin-bottom:10px;}
.band p{color:rgba(242,241,232,.72); margin:0 0 20px;}
.band .fine{max-width:640px; margin:18px auto 0; font-size:12px; color:rgba(242,241,232,.55); line-height:1.5;}
.band .btnrow{border-color:var(--paper-fixed); margin:0 auto;}
.band .btnrow a.primary{background:var(--leaf); color:var(--leaf-ink);}
.band .btnrow a.primary:hover{background:var(--markup); color:var(--markup-ink);}
.band .btnrow a.ghost{border-left-color:var(--paper-fixed); color:var(--paper-fixed);}
.band .btnrow a.ghost:hover{color:var(--markup);}
@media (max-width:420px){ .band .btnrow a.ghost{border-left:none; border-top:1px solid var(--paper-fixed);} }

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--ink); margin-bottom:48px;}
.faq-item{border-bottom:1px solid var(--rule-soft); padding:20px 0;}
.faq-item summary{
  font-weight:700; font-size:16.5px; cursor:pointer; list-style:none;
  display:flex; justify-content:space-between; gap:18px; align-items:flex-start; letter-spacing:-.015em;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-family:var(--narrow); font-size:19px; color:var(--markup); flex-shrink:0; line-height:1;}
.faq-item[open] summary::after{content:"\2013";}
.faq-item .a{color:var(--ink-soft); font-size:15.5px; margin:12px 0 0; max-width:70ch;}
.faq-item .a ol{padding-left:20px; margin:6px 0 0;}
.faq-item .a li{margin-bottom:5px;}

/* ---------- forms ---------- */
.formcard{border:1px solid var(--ink); background:var(--field); padding:28px 26px 26px;}
@media (max-width:600px){ .formcard{padding:22px 18px 20px;} }
.formcard h2{font-size:21px; letter-spacing:-.02em; margin-bottom:8px;}
.why{font-size:13.5px; color:var(--ink-soft); margin:0 0 18px;}
.fgroup{margin-bottom:14px;}
label{display:block; font-family:var(--narrow); text-transform:uppercase; letter-spacing:.09em; font-size:10.5px; font-weight:700; margin-bottom:5px;}
input[type="text"],input[type="tel"],input[type="email"],select,textarea{
  width:100%; padding:12px 13px; border:1px solid var(--rule); background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:15.5px; border-radius:0;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--markup); outline-offset:-1px; border-color:var(--markup);}
.frow{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media (max-width:520px){ .frow{grid-template-columns:1fr;} }
.btn-full{
  width:100%; border:none; background:var(--leaf); color:var(--leaf-ink); cursor:pointer;
  font-family:var(--narrow); text-transform:uppercase; letter-spacing:.11em; font-weight:700;
  font-size:13.5px; padding:16px 20px; border-radius:0;
}
.btn-full:hover{background:var(--markup); color:var(--markup-ink);}
.consent{display:grid; grid-template-columns:20px 1fr; gap:9px; font-size:11.5px; color:var(--ink-soft); line-height:1.45; margin-bottom:11px;}
.consent input{width:auto; margin-top:3px;}
.under{font-size:12px; color:var(--ink-soft); text-align:center; margin-top:11px;}
.form-note{font-size:11.5px; color:var(--ink); background:rgba(228,116,90,.12); border:1px dashed var(--markup); padding:11px 14px; font-family:var(--narrow); letter-spacing:.03em; margin-top:14px;}

/* ---------- verify page components ---------- */
.callout{border:1px solid var(--ink); border-left:4px solid var(--markup); background:var(--field); padding:22px 24px; margin:28px 0;}
.callout p{margin:0; font-size:15.5px;}
.callout p + p{margin-top:12px;}

.prose h2{font-size:23px; margin-top:50px; margin-bottom:10px;}
.prose h2:first-child{margin-top:28px;}
.prose p{color:var(--ink-soft); font-size:16px;}
.prose strong{color:var(--ink);}
.prose a{color:var(--markup);}

.vsteps{counter-reset:vstep; margin-top:24px; border-top:1px solid var(--rule);}
.vstep{display:grid; grid-template-columns:44px 1fr; gap:18px; align-items:start; padding:20px 0; border-bottom:1px solid var(--rule-soft);}
@media (max-width:560px){ .vstep{grid-template-columns:34px 1fr; gap:13px;} }
.vstep .n{
  counter-increment:vstep; font-family:var(--narrow); font-weight:700; font-size:12px; color:var(--markup);
  border:1px solid var(--markup); width:38px; height:26px; display:grid; place-items:center;
}
@media (max-width:560px){ .vstep .n{width:30px; height:24px; font-size:11px;} }
.vstep .n::before{content:"0" counter(vstep);}
.vstep .t{font-weight:700; font-size:16.5px; letter-spacing:-.015em;}
.vstep p{margin:6px 0 0; font-size:15px; color:var(--ink-soft);}

.never-list{list-style:none; padding:0; margin:20px 0 0; border-top:1px solid var(--rule);}
.never-list li{
  display:grid; grid-template-columns:26px 1fr; gap:12px; align-items:start;
  font-size:15.5px; color:var(--ink-soft); padding:14px 0; border-bottom:1px solid var(--rule-soft);
}
.never-list li::before{content:"\2715"; color:var(--markup); font-weight:700; font-size:13px; line-height:1.5;}

.detail-grid{display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ink); margin-top:22px;}
@media (max-width:600px){ .detail-grid{grid-template-columns:1fr;} }
.detail-grid .d{padding:18px 20px; border-left:1px solid var(--rule); border-bottom:1px solid var(--rule-soft);}
.detail-grid .d:nth-child(odd){border-left:none; padding-left:0;}
@media (max-width:600px){ .detail-grid .d{border-left:none; padding-left:0;} }
.detail-grid .k{font-family:var(--narrow); font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); margin-bottom:5px;}
.detail-grid .v{font-size:15.5px; color:var(--ink);}
.detail-grid .v a{color:var(--markup); text-decoration:none;}

/* ---------- placeholder / todo ---------- */
.todo{
  background:rgba(228,116,90,.12); border:1px dashed var(--markup); padding:13px 16px;
  font-family:var(--narrow); font-size:12px; letter-spacing:.03em; margin-top:16px; color:var(--ink); line-height:1.55;
}

/* ---------- legal ---------- */
.legal-prose{padding:8px 0 64px;}
.legal-prose h2{font-size:20px; margin-top:42px; margin-bottom:8px;}
.legal-prose h2:first-of-type{margin-top:24px;}
.legal-prose p,.legal-prose li{color:var(--ink-soft); font-size:15.5px;}
.legal-prose a{color:var(--markup);}
.updated{font-family:var(--narrow); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft);}

/* ---------- footer ---------- */
footer.site{background:var(--ink-fixed); color:rgba(242,241,232,.78); padding:42px 0 36px;}
footer.site .fgrid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px;}
@media (max-width:760px){ footer.site .fgrid{grid-template-columns:1fr; gap:24px;} }
footer.site .ann{color:rgba(242,241,232,.52);}
footer.site p,footer.site a{font-size:14px; color:rgba(242,241,232,.82); text-decoration:none; margin:6px 0;}
footer.site a:hover{color:var(--markup);}
footer.site ul{list-style:none; padding:0; margin:8px 0 0;}
footer.site li{margin-bottom:6px;}
.foot-note{
  border-top:1px solid rgba(242,241,232,.16); margin-top:32px; padding-top:18px;
  font-size:12px; color:rgba(242,241,232,.6); max-width:88ch; line-height:1.6;
}
.foot-note strong{color:rgba(242,241,232,.95);}

/* --- lead form: honeypot + error state --- */
.hp{position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden;}
.form-err{
  margin:0 0 12px; padding:10px 12px; border:1px solid var(--markup);
  border-left-width:3px; background:rgba(228,116,90,.10);
  font-size:13px; line-height:1.5; color:var(--markup);
}
