@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;size-adjust:94%;src:url(../assets/fonts/newsreader-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;size-adjust:94%;src:url(../assets/fonts/newsreader-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ============================================================
   jakeklimas.com  version six, the Corcoran cousin
   Palette: white / warm gray / black, one dusty-blue accent drawn from the affiliate stripe
   Type:    Newsreader (the serif in the seller decks) + Figtree (an Avenir stand-in)
   ============================================================ */

:root{
  --cream:#FFFFFF;
  --sand:#F5F4F1;
  --sand-2:#ECEAE5;
  --espresso:#111111;
  --ink-2:#3D3D3D;
  --muted:#6B6B6B;
  --line:#E2E0DB;
  --line-strong:#8E8B84;
  --forest:#4F6B8A;
  --forest-2:#AEBFD1;
  --pine:#111111;
  --pine-2:#1A1A1A;
  --on-pine:#FFFFFF;
  --on-pine-2:#B3B3B3;
  --line-pine:#333333;

--font-display:"Newsreader",Georgia,"Times New Roman",serif;
  --font-text:"Figtree","Helvetica Neue",Arial,sans-serif;

  --measure:62ch;
  --gutter:clamp(20px,5vw,80px);
  --max:1400px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--espresso);font-family:var(--font-text);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
::selection{background:var(--forest);color:var(--cream)}
.skip{position:absolute;left:12px;top:-60px;background:var(--espresso);color:var(--cream);padding:10px 14px;z-index:100;font-size:14px}
.skip:focus{top:12px}

h1,h2,h3{font-family:var(--font-display);font-weight:300;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-.005em;font-variation-settings:"SOFT" 0,"opsz" 144}
h2 em,h1 em{font-style:italic;font-weight:300;color:var(--forest)}
h1{font-size:clamp(46px,6.4vw,100px)}
h2{font-size:clamp(34px,3.9vw,60px)}
h3{font-size:clamp(24px,2.1vw,31px);font-weight:400;line-height:1.15;font-variation-settings:"SOFT" 0,"opsz" 40}
h4{font-family:var(--font-text);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0}
p{margin:0}
.lede{font-family:var(--font-display);font-size:clamp(20px,1.55vw,25px);line-height:1.42;font-weight:300;max-width:var(--measure);font-variation-settings:"SOFT" 60,"opsz" 24}
.prose{max-width:var(--measure)}
.prose p+p{margin-top:1.1em}
.prose h3{margin:2.1em 0 .6em}
.prose h3:first-child{margin-top:0}
.prose strong{font-weight:600;color:var(--espresso)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--forest)}
.small{font-size:14px;color:var(--ink-2);line-height:1.55}
.muted{color:var(--muted)}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.source{font-size:12.5px;color:var(--muted);margin-top:18px;max-width:82ch;line-height:1.55}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;padding:17px 28px;background:var(--espresso);color:var(--cream);font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--espresso);border-radius:2px;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.btn:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.btn .arrow{width:18px;height:10px;transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.btn--light{background:var(--cream);color:var(--espresso);border-color:var(--cream)}
.btn--light:hover{background:var(--forest-2);border-color:var(--forest-2);color:var(--espresso)}
.btn--ghost{background:transparent;color:var(--espresso)}
.btn--ghost:hover{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.textlink{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--espresso);padding-bottom:6px;border-bottom:1px solid var(--line-strong);transition:color .25s var(--ease),border-color .25s var(--ease)}
.textlink .arrow{width:18px;height:10px;transition:transform .25s var(--ease)}
.textlink:hover{color:var(--forest);border-color:var(--forest)}
.textlink:hover .arrow{transform:translateX(4px)}
.on-dark .textlink{color:var(--on-pine);border-color:var(--line-pine)}
.on-dark .textlink:hover{color:var(--forest-2);border-color:var(--forest-2)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:var(--cream);border-bottom:1px solid var(--line);transition:background .3s var(--ease),border-color .3s var(--ease)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.brand{display:flex;flex-direction:column;line-height:1;gap:7px}
.brand .name{font-family:var(--font-display);font-size:24px;letter-spacing:.06em;font-weight:400;font-variation-settings:"SOFT" 40,"opsz" 24}
.brand .firm{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}
.nav a{font-size:13.5px;font-weight:500;letter-spacing:.04em;color:var(--ink-2);position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--forest);transition:right .3s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0}
.nav a[aria-current="page"]{color:var(--espresso)}
.nav .nav-cta{color:var(--cream);background:var(--espresso);padding:11px 18px;border-radius:2px;font-weight:600}
.nav .nav-cta::after{display:none}
.nav .nav-cta:hover{background:var(--forest)}
.nav-toggle{display:none;background:none;border:1px solid var(--line-strong);padding:10px 12px;font:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--espresso);cursor:pointer;border-radius:2px}
/* transparent over the photographic hero */
.has-hero .site-header{position:sticky;background:var(--cream);border-bottom-color:var(--line)}
.has-hero .site-header .brand .name,.has-hero .site-header .nav a,.has-hero .site-header .nav-toggle{color:var(--espresso)}
.has-hero .site-header .brand .firm{color:var(--ink-2)}
.has-hero .site-header .nav .nav-cta{background:var(--espresso);color:var(--cream)}
.has-hero .site-header .nav .nav-cta:hover{background:var(--forest)}
.has-hero .site-header.scrolled{background:var(--cream);border-bottom-color:var(--line)}
.has-hero .site-header.scrolled .brand .name,.has-hero .site-header.scrolled .nav a,.has-hero .site-header.scrolled .nav-toggle{color:var(--espresso)}
.has-hero .site-header.scrolled .brand .firm{color:var(--ink-2)}
.has-hero .site-header.scrolled .nav .nav-cta{background:var(--espresso);color:var(--cream)}
@media (max-width:900px){
  .nav-toggle{display:inline-block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:18px var(--gutter) 26px;gap:14px}
  .nav.is-open{display:flex}
  .nav.is-open a{color:var(--espresso)!important}
  .nav.is-open .nav-cta{background:var(--espresso)!important;color:var(--cream)!important;margin-top:6px}
}

/* ---------- Photographic hero ---------- */
.hero{position:relative;min-height:clamp(600px,84vh,900px);display:grid;align-items:end;color:var(--cream);isolation:isolate}
.hero .bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;filter:saturate(.9)}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,33,28,.46) 0%,rgba(38,33,28,.12) 32%,rgba(38,33,28,.7) 100%)}
.hero .wrap{width:100%;padding-top:140px;padding-bottom:clamp(44px,6vw,80px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:end}
.hero .eyebrow{color:rgba(250,247,241,.82);display:block;margin-bottom:18px}
.hero h1.thesis{font-size:clamp(88px,13vw,220px);line-height:.9;letter-spacing:-.025em;font-variation-settings:"SOFT" 70,"opsz" 144}
.hero h1.thesis em{font-style:italic;font-weight:300}
.hero h1.thesis .dot{color:var(--forest-2)}
.hero .lede{color:rgba(250,247,241,.94);margin-bottom:30px;font-variation-settings:"SOFT" 60,"opsz" 24}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.hero .textlink{color:var(--cream);border-color:rgba(250,247,241,.45)}
.hero .textlink:hover{color:var(--forest-2);border-color:var(--forest-2)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-top:120px}.hero h1.thesis{font-size:clamp(72px,20vw,128px)}.hero .bg::after{background:linear-gradient(180deg,rgba(38,33,28,.5) 0%,rgba(38,33,28,.62) 40%,rgba(38,33,28,.86) 100%)}}

.fade-up{animation:fadeUp 1s var(--ease) both}
.fade-up.d1{animation-delay:.1s}.fade-up.d2{animation-delay:.2s}
@keyframes fadeUp{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fade-up{animation:none}*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- Sections ---------- */
.section{padding:clamp(76px,9vw,144px) 0}
.section--tight{padding:clamp(52px,6vw,96px) 0}
.section--sand{background:var(--sand)}
.section--sand2{background:var(--sand-2)}
.section-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,56px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.section-head .eyebrow{display:block;margin-bottom:16px}
@media (max-width:900px){.section-head{grid-template-columns:1fr;align-items:start}}

/* promise grid */
.promise{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--espresso)}
.promise .item{padding:clamp(28px,3vw,44px) clamp(20px,3vw,48px) clamp(28px,3vw,44px) 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(16px,2vw,32px);align-items:start}
.promise .item:nth-child(odd){border-right:1px solid var(--line)}
.promise .item:nth-child(even){padding-left:clamp(20px,3vw,48px)}
.promise h3{font-size:clamp(26px,2.3vw,34px)}
.promise p{color:var(--ink-2);font-size:16px;max-width:38ch}
@media (max-width:900px){.promise{grid-template-columns:1fr}.promise .item{grid-template-columns:1fr;border-right:0!important;padding-left:0!important;gap:10px}}

/* statement band */
.statement{background:var(--pine);color:var(--on-pine)}
.statement .wrap{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,72px);align-items:center;padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px)}
.statement .mark{font-family:var(--font-display);font-size:clamp(28px,2.6vw,40px);color:var(--forest-2);font-variation-settings:"SOFT" 60,"opsz" 40;white-space:nowrap}
.statement .mark em{font-style:italic}
.statement .pull{font-family:var(--font-display);font-size:clamp(28px,3.4vw,50px);line-height:1.18;font-weight:300;max-width:30ch;text-wrap:balance;font-variation-settings:"SOFT" 60,"opsz" 48}
.statement .pull cite{display:block;font-style:normal;font-family:var(--font-text);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-pine-2);margin-top:22px}
@media (max-width:900px){.statement .wrap{grid-template-columns:1fr;gap:20px}}

/* alternating splits */
.split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,5vw,96px);align-items:center}
.split.rev>figure{order:2}
.split figure{margin:0}
.split figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0}
.split figure.wide img{aspect-ratio:4/3}
.split figure figcaption{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:12px}
.split .copy .eyebrow{display:block;margin-bottom:16px}
.split .copy h2{margin-bottom:22px}
.split .copy .prose{color:var(--ink-2)}
.split .copy .textlink,.split .copy .btn{margin-top:30px}
.split.top{align-items:start}
.split .sticky{position:sticky;top:110px}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.rev>figure{order:0}.split .sticky{position:static}}
.service-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px;font-size:15.5px;color:var(--ink-2)}
.service-list li{padding-left:20px;position:relative}
.service-list li::before{content:"";position:absolute;left:0;top:.75em;width:9px;height:1px;background:var(--forest)}

/* snapshot */
.snapshot{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3vw,48px);align-items:stretch;border-top:1px solid var(--espresso);border-bottom:1px solid var(--line)}
.snapshot .label{padding:26px 0;display:flex;flex-direction:column;justify-content:center;gap:6px;border-right:1px solid var(--line)}
.snapshot .label .where{font-family:var(--font-display);font-size:24px;font-variation-settings:"SOFT" 40,"opsz" 24}
.snapshot .stats{display:grid;grid-template-columns:repeat(4,1fr)}
.snapshot .stat{padding:26px 22px}
.snapshot .stat+.stat{border-left:1px solid var(--line)}
.snapshot .stat .k{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.snapshot .stat .v{font-family:var(--font-display);font-size:36px;line-height:1.05;margin-top:8px;font-variant-numeric:tabular-nums;font-variation-settings:"SOFT" 40,"opsz" 36}
.snapshot .stat .n{font-size:12.5px;color:var(--ink-2);margin-top:4px}
@media (max-width:1000px){.snapshot{grid-template-columns:1fr}.snapshot .label{border-right:0;border-bottom:1px solid var(--line)}.snapshot .stats{grid-template-columns:repeat(2,1fr)}.snapshot .stat{padding:20px 18px 20px 0}.snapshot .stat:nth-child(odd){border-left:0}}

/* ledger */
.ledger-wrap{overflow-x:auto}
.ledger{width:100%;border-collapse:collapse;border-top:1px solid var(--espresso)}
.ledger th{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:14px 20px 14px 0;border-bottom:1px solid var(--line)}
.ledger td{padding:24px 20px 24px 0;border-bottom:1px solid var(--line);vertical-align:top}
.ledger th.r,.ledger td.r{text-align:right;padding-right:clamp(16px,2.4vw,44px);white-space:nowrap}
.ledger td.link{text-align:right;padding-right:0;white-space:nowrap;padding-top:28px}
.ledger td.name{font-family:var(--font-display);font-size:clamp(22px,1.9vw,28px);line-height:1.1;font-weight:400;font-variation-settings:"SOFT" 40,"opsz" 28}
.ledger td.name a{border-bottom:1px solid transparent;transition:border-color .25s var(--ease)}
.ledger td.name a:hover{border-color:var(--forest)}
.ledger td.desc{color:var(--ink-2);font-size:15.5px;max-width:48ch}
.ledger td .v{font-family:var(--font-display);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.ledger td .n{display:block;font-size:12.5px;color:var(--muted);margin-top:6px}
@media (max-width:820px){.ledger thead{display:none}.ledger tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;padding:20px 0;border-bottom:1px solid var(--line)}.ledger td{border:0;padding:0}.ledger td.name,.ledger td.desc,.ledger td.link{grid-column:1/-1}.ledger td.r{text-align:left;padding:0;white-space:normal}.ledger td.r::before{content:attr(data-label);display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:6px 0 4px}.ledger td.link{margin-top:8px;text-align:left}}

/* portrait */
.portrait{position:relative;aspect-ratio:4/5;background:var(--sand-2);overflow:hidden;border-radius:2px}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
.guard{position:relative;display:block;width:100%;height:100%}
.guard img{display:block;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
.guard-veil{position:absolute;inset:0;background:transparent}
.portrait.is-empty .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:24px}
.portrait.is-empty::after{content:"";position:absolute;inset:16px;border:1px solid var(--line-strong);pointer-events:none}

/* brief band (light) */
.brief{background:var(--sand-2)}
.brief .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,96px);align-items:center;padding-top:clamp(72px,9vw,130px);padding-bottom:clamp(72px,9vw,130px)}
.brief .eyebrow{display:block;margin-bottom:14px}
.brief .byline{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;font-weight:600}
.brief h2{margin-bottom:18px}
.brief p{color:var(--ink-2);max-width:54ch}
.brief ul.what{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;font-size:15px;color:var(--espresso)}
.brief ul.what li{padding-left:20px;position:relative}
.brief ul.what li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--forest)}
.brief .offer{margin-top:28px;padding-top:22px;border-top:1px solid var(--line-strong);color:var(--espresso);font-family:var(--font-display);font-size:20px;line-height:1.4;max-width:46ch;font-variation-settings:"SOFT" 60,"opsz" 20}
.brief form{display:grid;gap:14px;background:var(--cream);padding:clamp(24px,2.6vw,40px);border-radius:2px}
.brief form h3{font-size:22px;margin-bottom:6px}
.brief input,.brief select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);color:var(--espresso);padding:14px 0;font:inherit;font-size:16px;border-radius:0;-webkit-appearance:none;appearance:none}
.brief select{background-image:linear-gradient(45deg,transparent 50%,var(--espresso) 50%),linear-gradient(135deg,var(--espresso) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:28px}
.brief input::placeholder{color:var(--muted)}
.brief input:focus,.brief select:focus{border-bottom-color:var(--forest)}
.brief .consent{font-size:12.5px;color:var(--muted);line-height:1.5}
@media (max-width:900px){.brief .wrap{grid-template-columns:1fr}.brief ul.what{grid-template-columns:1fr}}

/* CTA */
.cta{padding:clamp(76px,9vw,130px) 0}
.cta .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:end}
.cta h2{max-width:18ch;margin-top:12px}
.cta .actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.cta .contact-lines{display:grid;gap:8px;font-size:15px;color:var(--ink-2)}
.cta .contact-lines a{border-bottom:1px solid var(--line-strong)}
.cta .contact-lines a:hover{color:var(--forest);border-color:var(--forest)}
@media (max-width:900px){.cta .wrap{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-footer{background:var(--pine);color:var(--on-pine-2);font-size:13.5px;line-height:1.65}
.site-footer .top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,3fr) minmax(0,2fr);gap:clamp(24px,3vw,56px);padding:clamp(48px,6vw,84px) 0 clamp(36px,4vw,56px);border-bottom:1px solid var(--line-pine)}
.site-footer .brand .name{color:var(--on-pine)}
.site-footer .brand .firm{color:var(--forest-2)}
.site-footer .tagline{font-family:var(--font-display);font-size:30px;color:var(--on-pine);margin-top:26px;font-variation-settings:"SOFT" 60,"opsz" 30}
.site-footer .tagline em{font-style:italic}
.site-footer .firm-lockup{margin-top:22px;display:grid;gap:6px}
.site-footer .firm-lockup .firm-name{font-family:var(--font-display);font-size:20px;color:var(--on-pine)}
.site-footer .firm-lockup img{max-height:64px;width:auto;margin-bottom:10px}
.site-footer h4{color:var(--on-pine);margin-bottom:14px}
.site-footer a{color:var(--on-pine);border-bottom:1px solid transparent;transition:border-color .25s var(--ease),color .25s var(--ease)}
.site-footer a:hover{color:var(--forest-2);border-color:var(--forest-2)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer address{font-style:normal;display:grid;gap:4px}
.site-footer .legal{padding:26px 0 36px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;font-size:12px;line-height:1.6}
.site-footer .legal p+p{margin-top:8px}
.eho{width:44px;height:44px;flex:none;color:var(--on-pine)}
@media (max-width:1000px){.site-footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.site-footer .top{grid-template-columns:1fr}.site-footer .legal{grid-template-columns:1fr}}

/* ---------- Interior pages ---------- */
.page-hero{padding:clamp(56px,8vw,120px) 0 clamp(40px,5vw,72px)}
.page-hero .eyebrow{display:block;margin-bottom:20px}
.page-hero h1{font-size:clamp(42px,5.6vw,88px);max-width:18ch}
.page-hero .lede{margin-top:28px}
.page-hero .meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 26px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.page-figure{margin:0}
.page-figure img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:0}
.page-figure figcaption{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 0 0}
@media (max-width:700px){.page-figure img{aspect-ratio:4/3}}

.process{list-style:none;margin:0;padding:0;counter-reset:step;border-top:1px solid var(--espresso)}
.process li{counter-increment:step;display:grid;grid-template-columns:72px minmax(0,4fr) minmax(0,7fr);gap:clamp(16px,2.4vw,40px);padding:clamp(26px,3vw,40px) 0;border-bottom:1px solid var(--line)}
.process li::before{content:counter(step,decimal-leading-zero);font-family:var(--font-display);font-size:28px;line-height:1;color:var(--forest);font-variant-numeric:tabular-nums;padding-top:4px}
.process h3{margin:0}
.process p{color:var(--ink-2);max-width:var(--measure)}
.process p+p{margin-top:.9em}
@media (max-width:820px){.process li{grid-template-columns:52px 1fr}.process li>div{grid-column:2}}

.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden}
.tile{background:var(--cream);padding:22px 22px 20px}
.tile .k{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tile .v{font-family:var(--font-display);font-size:clamp(28px,2.6vw,38px);line-height:1;margin:10px 0 8px;font-variant-numeric:tabular-nums}
.tile .n{font-size:12.5px;color:var(--ink-2);line-height:1.45}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.tiles{grid-template-columns:repeat(2,1fr)}.tile{padding:18px 16px 16px}}

.facts{display:grid;grid-template-columns:max-content 1fr;gap:12px 28px;margin:0;max-width:78ch}
.facts dt{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:4px}
.facts dd{margin:0;color:var(--ink-2)}
.facts dd strong{color:var(--espresso);font-weight:600}
@media (max-width:600px){.facts{grid-template-columns:1fr;gap:4px}.facts dd{margin-bottom:14px}}

.hoods{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,48px)}
.hood{border-top:1px solid var(--espresso);padding-top:22px;display:grid;grid-template-rows:auto auto 1fr auto auto;gap:14px}
.hood .eyebrow{color:var(--muted)}
.hood h3{font-size:clamp(26px,2.4vw,36px)}
.hood p{color:var(--ink-2);max-width:52ch}
.hood .band{display:flex;gap:28px;flex-wrap:wrap;margin-top:6px}
.hood .band div{font-size:13px;color:var(--ink-2)}
.hood .band .v{font-family:var(--font-display);font-size:24px;display:block;color:var(--espresso);font-variant-numeric:tabular-nums}
.hood .textlink{justify-self:start;margin-top:8px}
@media (max-width:820px){.hoods{grid-template-columns:1fr}}

.table-wrap{overflow-x:auto;border-top:1px solid var(--espresso)}
table.data{width:100%;border-collapse:collapse;font-size:14.5px}
table.data th{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--line);white-space:nowrap}
table.data td{padding:13px 16px 13px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
table.data td:first-child{color:var(--espresso)}
table.data th.r,table.data td.r{text-align:right;padding-right:0;white-space:nowrap;font-variant-numeric:tabular-nums}

.callout{border-left:2px solid var(--forest);padding:6px 0 6px 22px;max-width:var(--measure);color:var(--ink-2)}
.callout strong{color:var(--espresso)}

.timeline{list-style:none;margin:0;padding:0;border-top:1px solid var(--espresso)}
.timeline li{display:grid;grid-template-columns:150px 1fr;gap:clamp(16px,2.4vw,40px);padding:24px 0;border-bottom:1px solid var(--line)}
.timeline .when{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);font-weight:600;padding-top:6px}
.timeline h3{font-size:22px;margin-bottom:6px}
.timeline p{color:var(--ink-2);max-width:var(--measure)}
@media (max-width:600px){.timeline li{grid-template-columns:1fr;gap:6px}}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,80px);align-items:start}
.form{display:grid;gap:26px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.field{display:grid;gap:8px}
.field label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.field label .opt{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:12px 0;font:inherit;font-size:16px;color:var(--espresso);border-radius:0;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--espresso) 50%),linear-gradient(135deg,var(--espresso) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:28px}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--forest)}
.form .consent{font-size:12.5px;color:var(--muted);line-height:1.5;max-width:60ch}
.form .consent a{border-bottom:1px solid var(--line-strong)}
.form .actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.form .actions a{border-bottom:1px solid var(--line-strong)}
.contact-aside{display:grid;gap:34px}
.contact-aside .block h4{margin-bottom:10px}
.contact-aside .block p,.contact-aside .block address{color:var(--ink-2);font-style:normal;line-height:1.7}
.contact-aside .block a{border-bottom:1px solid var(--line-strong)}
.contact-aside .block a:hover{color:var(--forest);border-color:var(--forest)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}}

.mt-1{margin-top:12px}.mt-2{margin-top:24px}.mt-3{margin-top:40px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.honey{position:absolute;left:-9999px}

/* ---------- Version three: the hero as a three-beat sequence that closes on the line ---------- */
.hero h1.thesis{display:grid;gap:.08em}
.hero h1.thesis .beat{display:block;font-size:clamp(26px,2.6vw,40px);line-height:1.15;font-weight:300;letter-spacing:0;font-variation-settings:"SOFT" 60,"opsz" 40;color:rgba(250,247,241,.92);max-width:30ch}
.hero h1.thesis .beat+.beat{margin-bottom:.35em}
.hero h1.thesis .line{display:block;font-size:clamp(76px,10.5vw,176px);line-height:.92;letter-spacing:-.025em;font-variation-settings:"SOFT" 70,"opsz" 144}
.hero h1.thesis .q{color:var(--forest-2);font-weight:300}
@media (max-width:900px){.hero h1.thesis .beat{font-size:clamp(20px,5.2vw,26px)}.hero h1.thesis .line{font-size:clamp(60px,16vw,100px)}}
.statement .mark{font-family:var(--font-text);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--forest-2);font-weight:600}

/* what's different */
.diff{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--espresso)}
.diff article{padding:clamp(26px,3vw,40px) clamp(20px,3vw,44px) clamp(26px,3vw,40px) 0;border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;gap:14px;align-content:start}
.diff article+article{padding-left:clamp(20px,3vw,44px)}
.diff article:last-child{border-right:0}
.diff h3{font-size:clamp(24px,2.1vw,30px);max-width:16ch}
.diff p{color:var(--ink-2);font-size:16px;max-width:42ch}
.diff .textlink{justify-self:start;margin-top:4px}
@media (max-width:900px){.diff{grid-template-columns:1fr}.diff article{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}.diff article:last-child{border-bottom:0}}

/* ---------- Version five: long-copy, print-ad structure ---------- */
.ad{padding:clamp(64px,8vw,120px) 0}
.ad--lead{padding-top:clamp(40px,5vw,72px)}
.ad-head{display:block;margin-bottom:clamp(28px,4vw,56px)}
.ad-head .eyebrow{display:block;margin-bottom:18px}
.ad-head h1{font-size:clamp(52px,7.4vw,118px);line-height:.98;letter-spacing:-.02em;font-variation-settings:"SOFT" 60,"opsz" 144;max-width:11ch}
.ad-head h2{font-size:clamp(40px,5vw,76px);line-height:1;letter-spacing:-.015em;font-variation-settings:"SOFT" 60,"opsz" 96;max-width:14ch}
.ad-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,88px);align-items:start}
.ad-body.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.ad-body.rev>figure{order:2}
.ad-photo{margin:0}
.ad-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.ad-photo.tall img{aspect-ratio:4/5}
.ad-photo figcaption{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:12px}
.copy-long{font-family:var(--font-display);font-size:clamp(18px,1.3vw,20.5px);line-height:1.55;color:var(--espresso);font-variation-settings:"SOFT" 30,"opsz" 14;max-width:66ch}
.copy-long p+p{margin-top:1.05em}
.copy-long .opener{font-size:1.14em;line-height:1.45}
.copy-long .line{font-size:clamp(40px,4.4vw,66px);line-height:1;margin:.5em 0 .55em;letter-spacing:-.02em;font-variation-settings:"SOFT" 70,"opsz" 96;clear:both}
.copy-long .line em{font-style:italic}
.copy-long .kicker{margin-top:1.4em;font-size:1.12em;font-weight:500;font-variation-settings:"SOFT" 50,"opsz" 20}
.copy-long .sig{margin-top:1.4em;padding-top:18px;border-top:1px solid var(--line-strong);display:grid;gap:4px;font-family:var(--font-text)}
.copy-long .sig .name{font-family:var(--font-display);font-style:italic;font-size:26px;font-variation-settings:"SOFT" 60,"opsz" 26}
.copy-long .sig .firm{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.copy-long .hero-actions{margin-top:28px;font-family:var(--font-text)}
.copy-long .textlink{margin-top:26px;font-family:var(--font-text)}
@media (max-width:900px){.ad-head{grid-template-columns:1fr}.ad-body,.ad-body.rev{grid-template-columns:1fr}.ad-body.rev>figure{order:0}.copy-long{font-size:18px}}

/* ---------- Version six: the presentation cover, the numbers grid, the step lists ---------- */
.cover{position:relative;min-height:clamp(520px,78vh,860px);display:grid;align-items:end;color:#fff;isolation:isolate;background:#111}
.cover .cover-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.cover .cover-bg img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.cover .cover-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%)}
.cover .wrap{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:clamp(34px,5vw,64px);padding-top:120px}
.cover .cover-line{font-family:var(--font-display);font-weight:300;font-size:clamp(40px,5.4vw,84px);line-height:1.02;letter-spacing:-.01em;max-width:15ch;color:#fff;text-shadow:0 1px 24px rgba(0,0,0,.25);font-variation-settings:"SOFT" 0,"opsz" 144;text-wrap:balance}
.cover .cover-sub{margin-top:18px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.88);font-weight:600}
.cover .cover-lockup{width:clamp(120px,14vw,190px);height:auto;flex:none;margin-bottom:6px;filter:drop-shadow(0 1px 10px rgba(0,0,0,.35))}
@media (max-width:700px){.cover .wrap{flex-direction:column;align-items:flex-start;padding-top:80px}.cover .cover-lockup{width:120px}}
.ad--lead{padding-top:clamp(48px,6vw,88px)}
.copy-long .ad-title{font-size:clamp(44px,5.4vw,84px);line-height:.98;letter-spacing:-.02em;margin:0 0 .45em;max-width:11ch;font-variation-settings:"SOFT" 0,"opsz" 144}
.ad--lead .ad-body{align-items:start}

.numbers-head{margin-bottom:clamp(30px,4vw,54px)}
.numbers-head .eyebrow{display:block;margin-bottom:16px}
.numbers-head h2{max-width:18ch}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--espresso);border-bottom:1px solid var(--line)}
.numbers .num{padding:clamp(28px,3vw,44px) 20px;text-align:center;display:grid;gap:12px;align-content:start}
.numbers .num+.num{border-left:1px solid var(--line)}
.numbers .v{font-family:var(--font-display);font-size:clamp(44px,4.6vw,68px);line-height:.95;font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-variation-settings:"SOFT" 0,"opsz" 144}
.numbers .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);font-weight:600;line-height:1.5;max-width:22ch;margin:0 auto}
.numbers--dark{border-color:var(--line-pine)}
.numbers--dark .num+.num{border-left-color:var(--line-pine)}
.numbers--dark .k{color:var(--forest-2)}
@media (max-width:900px){.numbers{grid-template-columns:1fr 1fr}.numbers .num:nth-child(3){border-left:0}.numbers .num:nth-child(n+3){border-top:1px solid var(--line)}.numbers--dark .num:nth-child(n+3){border-top-color:var(--line-pine)}}
@media (max-width:480px){.numbers .v{font-size:36px}.numbers .num{padding:22px 10px}}

.firm-band{background:var(--pine);color:var(--on-pine)}
.firm-band .eyebrow{color:var(--forest-2)}
.firm-band .lede{color:rgba(255,255,255,.82)}
.firm-band .source{color:var(--on-pine-2)}

.steps-band{background:var(--cream)}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,3vw,48px);border-top:1px solid var(--espresso)}
.steps--two{grid-template-columns:repeat(2,1fr)}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink-2);line-height:1.5;align-items:start}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--font-display);font-size:22px;line-height:1.1;color:var(--forest);font-variant-numeric:tabular-nums;font-variation-settings:"SOFT" 0,"opsz" 40}
@media (max-width:900px){.steps,.steps--two{grid-template-columns:1fr}}

/* ---------- Audit pass ---------- */
.bf-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:600;margin-bottom:-8px}
.site-footer .fh{font-family:var(--font-text);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-pine);margin:0 0 14px}
.textlink,.nav a,.site-footer a{min-height:44px;display:inline-flex;align-items:center}
.site-footer ul{gap:2px}
.site-footer address{gap:0}
.site-footer .legal a{min-height:0;display:inline}
[id]{scroll-margin-top:110px}
@media (max-width:900px){.site-header .wrap{min-height:64px}.brand .name{font-size:20px}.ad--lead .ad-photo img{aspect-ratio:4/3;object-position:center}.ad--lead .ad-photo.lead-portrait img{aspect-ratio:4/5;object-position:center top}.cover{min-height:clamp(420px,62vh,640px)}}

/* ---------- Second audit pass ---------- */
.cover .cover-bg img{object-position:center 40%}
.cover .cover-bg::after{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.65) 100%)}
@media (max-width:700px){.cover .cover-bg::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 10%,rgba(0,0,0,.78) 100%)}.cover .cover-line{max-width:12ch}}
.ad-head h2{font-size:clamp(34px,3.9vw,60px);line-height:1.05;letter-spacing:-.015em;font-variation-settings:"SOFT" 0,"opsz" 144;max-width:16ch}
.ad-head h1{font-size:clamp(46px,6.4vw,92px);max-width:12ch}
.copy-long .line{font-size:clamp(34px,3.6vw,48px)}
.lead-portrait{position:sticky;top:110px}
@media (max-width:900px){.lead-portrait{position:static}}
.textlink .arrow{display:none}
.nav-mobile{display:none;align-items:center;gap:10px}
.nav-call{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border:1px solid var(--line-strong);padding:10px 12px;border-radius:2px;min-height:0}
.nav a.nav-call-item{display:none}
@media (max-width:900px){.nav-toggle{display:inline-block}.nav-mobile{display:flex}.nav a.nav-call-item{display:inline-flex;font-weight:600}.brief .btn,.form .btn{width:100%;justify-content:center}}
.about-hero h1{font-size:clamp(40px,4.8vw,72px);max-width:none}
.about-hero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,96px);align-items:end}
.about-hero .portrait{aspect-ratio:4/5;max-width:440px;justify-self:end;width:100%}
.about-hero .portrait figcaption{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:12px}
.about-hero .portrait{overflow:visible;background:none}
.about-hero .portrait img{aspect-ratio:4/5;height:auto;border-radius:0}
.about-hero .portrait .guard{height:auto}
@media (max-width:900px){.about-hero .wrap{grid-template-columns:1fr}.about-hero .portrait{justify-self:start;max-width:360px}}
.about-side .eyebrow{display:block;margin-bottom:8px}
.req-note{color:var(--muted);margin-bottom:-8px}
.hero-actions .btn{min-height:0}
@media (max-width:700px){.cover-sub .sep{display:none}.cover-sub .cs{display:block;line-height:1.7}}

/* ---------- Interactive data ---------- */
.tiles{gap:12px;background:none;border:0;overflow:visible}
.tile{border:1px solid var(--line);border-radius:4px;padding:24px 22px 22px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.tile:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(17,17,17,.06);border-color:var(--line-strong)}
.tile .v{font-variation-settings:"SOFT" 0,"opsz" 144;letter-spacing:-.02em}
.sales .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chip{font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.04em;padding:9px 14px;border:1px solid var(--line-strong);background:var(--cream);color:var(--ink-2);border-radius:999px;cursor:pointer;transition:all .2s var(--ease);min-height:40px}
.chip:hover{border-color:var(--espresso);color:var(--espresso)}
.chip.is-on{background:var(--espresso);border-color:var(--espresso);color:#fff}
table.sortable th button{font:inherit;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:0}
table.sortable th button::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--line-strong);opacity:.6;transition:transform .2s var(--ease)}
table.sortable th button.is-sorted{color:var(--espresso)}
table.sortable th button.is-sorted::after{border-top-color:var(--forest);opacity:1}
table.sortable th button.is-sorted.asc::after{transform:rotate(180deg)}
table.sortable th.r button{flex-direction:row-reverse}
table.sortable tbody tr{transition:background .2s var(--ease);animation:rowIn .45s var(--ease) both;animation-delay:calc(var(--i,0)*30ms)}
table.sortable tbody tr:hover{background:var(--sand)}
table.sortable td{padding:14px 16px 14px 0}
table.sortable td.psf{position:relative;padding-left:0;white-space:nowrap}
table.sortable td.psf .bar{display:inline-block;width:110px;height:6px;background:var(--sand-2);border-radius:3px;margin-right:12px;vertical-align:middle;overflow:hidden}
table.sortable td.psf .bar i{display:block;height:100%;width:var(--w);background:var(--forest);border-radius:3px;transform-origin:left;animation:barIn .7s var(--ease) both;animation-delay:calc(var(--i,0)*30ms + 120ms)}
.sales-foot{font-family:var(--font-display);font-size:18px;color:var(--espresso);padding:18px 0 0;font-variation-settings:"SOFT" 0,"opsz" 20}
@keyframes rowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes barIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:820px){
  table.sortable thead{position:absolute;left:-9999px}
  table.sortable tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line)}
  table.sortable td{border:0;padding:2px 0;text-align:left!important;white-space:normal}
  table.sortable td:first-child{grid-column:1/-1;font-family:var(--font-display);font-size:20px;color:var(--espresso)}
  table.sortable td::before{content:attr(data-label);display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
  table.sortable td:first-child::before{display:none}
  table.sortable td.psf .bar{width:80px}
}
@media (prefers-reduced-motion:reduce){table.sortable tbody tr,table.sortable td.psf .bar i{animation:none}}

/* ---------- Location cards and value trends ---------- */
.place{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.place .card{border:1px solid var(--line);border-radius:4px;padding:26px 24px 24px;background:var(--cream);display:grid;grid-template-rows:auto 1fr;gap:16px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.place .card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(17,17,17,.06);border-color:var(--line-strong)}
.place .card h3{font-size:clamp(22px,2vw,28px);margin:0}
.place ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.place li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2);line-height:1.45}
.place li:first-child{border-top:0;padding-top:0}
.place li b{font-weight:600;color:var(--espresso);font-variant-numeric:tabular-nums;white-space:nowrap}
.place li span{display:block}
.place li small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.place .card.plain li{grid-template-columns:1fr}
.place .card.plain li b{white-space:normal}
.costs{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:14px;color:var(--ink-2);padding-top:20px;border-top:1px solid var(--line)}
.costs b{font-weight:600;color:var(--espresso)}
@media (max-width:900px){.place{grid-template-columns:1fr}}
.split .tiles{grid-template-columns:repeat(2,1fr)}

.trend{display:grid;gap:14px;margin-top:8px}
.trend .row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:18px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.trend .row:first-child{border-top:0}
.trend .lbl{font-family:var(--font-display);font-size:clamp(18px,1.6vw,21px);color:var(--espresso);line-height:1.2;font-variation-settings:"SOFT" 0,"opsz" 20}
.trend .lbl small{display:block;font-family:var(--font-text);font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:5px}
.trend .bars{display:grid;gap:7px}
.trend .b{display:grid;grid-template-columns:110px minmax(0,1fr) 70px;gap:12px;align-items:center;font-size:13px;color:var(--ink-2)}
.trend .b .t{display:block;height:10px;background:var(--sand-2);border-radius:5px;position:relative;overflow:hidden}
.trend .b .t i{position:absolute;top:0;bottom:0;left:var(--z);width:var(--w);background:var(--forest);border-radius:5px;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.trend .b .t i.neg{left:auto;right:calc(100% - var(--z));transform-origin:right;background:var(--line-strong)}
.trend .b.ref .t i{background:var(--line-strong);opacity:.7}
.trend .b .v{font-weight:600;color:var(--espresso);font-variant-numeric:tabular-nums;text-align:right}
.trend .b.ref .v{color:var(--ink-2);font-weight:500}
.trend .b .t::before{content:"";position:absolute;top:-3px;bottom:-3px;left:var(--z);width:1px;background:var(--line-strong)}
.trend.is-in .b .t i{transform:scaleX(1)}
@media (max-width:820px){.trend .row{grid-template-columns:1fr;gap:10px}.trend .b{grid-template-columns:90px minmax(0,1fr) 60px}}
@media (prefers-reduced-motion:reduce){.trend .b .t i{transition:none;transform:scaleX(1)}}

/* ---------- Home page form ---------- */
.cta--form .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
.cta--form .contact-lines{margin-top:28px}
.cta .contact-lines a{justify-self:start}
.cta--form .form{background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:clamp(24px,3vw,40px)}
.cta--form .form .row{gap:22px}
.cta--form .form{gap:22px}
@media (max-width:900px){.cta--form .wrap{grid-template-columns:1fr}.cta--form .form .row{grid-template-columns:1fr}}

/* ---------- Market Report pointer band ---------- */
.report-band{background:var(--sand-2);padding:clamp(48px,6vw,80px) 0}
.report-row{display:grid;grid-template-columns:minmax(0,8fr) auto;gap:clamp(24px,4vw,64px);align-items:center}
.report-row .eyebrow{display:block;margin-bottom:12px}
.report-row h2{margin-bottom:12px}
.report-row p{color:var(--ink-2);max-width:56ch}
@media (max-width:820px){.report-row{grid-template-columns:1fr}.place[style]{grid-template-columns:1fr!important}}

/* ---------- Short answer and FAQ ---------- */
.answer{padding:clamp(32px,4vw,56px) 0 0}
.answer-box{border-left:2px solid var(--forest);padding:6px 0 6px clamp(20px,2.4vw,32px);max-width:78ch}
.answer-box .eyebrow{display:block;margin-bottom:12px}
.answer-box p{margin:0;font-size:clamp(17px,1.5vw,19.5px);line-height:1.55;color:var(--espresso)}
.faq .qs{display:grid;gap:0;border-top:1px solid var(--espresso)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:center;padding:20px 0;font-family:var(--font-display);font-size:clamp(19px,1.7vw,23px);line-height:1.25;color:var(--espresso);font-variation-settings:"SOFT" 0,"opsz" 24;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;justify-self:end;border-right:1.5px solid var(--forest);border-bottom:1.5px solid var(--forest);transform:rotate(45deg) translateY(-3px);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq summary:hover{color:var(--forest)}
.faq summary:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
.faq .a{padding:0 40px 22px 0;color:var(--ink-2);max-width:66ch}
.faq .a p{margin:0}
@media (prefers-reduced-motion:reduce){.faq summary::after{transition:none}}

/* ---------- Version seven: hero, doors, market cards, edition, home value ---------- */
h1.cover-line{font-size:clamp(38px,5vw,78px);max-width:16ch;margin:0}
.cover .cover-sub2{margin:18px 0 0;font-size:clamp(16px,1.35vw,19px);line-height:1.5;max-width:52ch;color:rgba(255,255,255,.92);text-shadow:0 1px 14px rgba(0,0,0,.35)}
.cover .cover-proof{margin:18px 0 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:600}
.cover .cover-actions{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;margin-top:26px}
.btn.btn-light{background:#fff;color:var(--espresso)}
.btn.btn-light:hover{background:var(--sand)}
.textlink.on-dark{color:#fff;border-color:rgba(255,255,255,.6)}
.textlink.on-dark:hover{color:#fff;border-color:#fff}
.cover .cover-bg::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 15%,rgba(0,0,0,.66) 100%)}
@media (max-width:700px){.cover .cover-proof .sep{display:none}.cover .cover-proof span{display:block;line-height:1.8}.cover .cover-actions{margin-top:20px}.cover{min-height:clamp(560px,92vh,760px)}.cover .wrap{padding-bottom:28px}}
.doors-band{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
.doors-band .eyebrow{display:block;margin-bottom:18px}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.door{display:grid;grid-template-rows:auto 1fr auto;gap:12px;border:1px solid var(--line);border-radius:4px;padding:26px 26px 22px;background:var(--cream);color:inherit;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.door:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(17,17,17,.06);border-color:var(--line-strong)}
.door h2{font-size:clamp(26px,2.4vw,34px)}
.door p{color:var(--ink-2);font-size:15.5px;margin:0}
.door .textlink{justify-self:start}
@media (max-width:900px){.doors{grid-template-columns:1fr}}
.mkt{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.mk{display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;border:1px solid var(--line);border-radius:4px;padding:22px 20px 20px;background:var(--cream);color:inherit;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.mk:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(17,17,17,.06);border-color:var(--line-strong)}
.mk .eyebrow{color:var(--muted);font-size:11px;margin:0}
.mk h3{font-size:clamp(20px,1.6vw,23px)}
.mk p{color:var(--ink-2);font-size:14px;margin:0}
.mk .fig{font-size:12.5px;color:var(--ink-2);padding-top:12px;border-top:1px solid var(--line)}
.mk .fig b{display:block;font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--espresso);font-variant-numeric:tabular-nums;font-variation-settings:"SOFT" 0,"opsz" 60;margin-bottom:2px}
@media (max-width:1100px){.mkt{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.mkt{grid-template-columns:1fr}}
.snapshot .where{font-family:var(--font-display);font-size:22px}
.ad--lead .ad-head h2{font-size:clamp(36px,4.6vw,64px)}
.ad--lead .ad-head .eyebrow{display:block;margin-bottom:14px}
.promise-band{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
.edition .prose p{font-size:16px}
details.steps-toggle summary{display:block;cursor:pointer;font-family:var(--font-display);font-size:22px;padding:12px 0;color:var(--espresso);list-style:none;border-top:1px solid var(--line)}details.steps-toggle summary::-webkit-details-marker{display:none}details.steps-toggle summary::after{content:" +";color:var(--forest)}details.steps-toggle[open] summary::after{content:" \2013"}details.steps-toggle[open] summary{margin-bottom:8px}
@media (max-width:600px){.tiles .tile:nth-child(n+7){display:none}}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:36px}
.reviews blockquote{margin:0;border-left:1px solid var(--line-pine);padding-left:20px}
.reviews p{font-family:var(--font-display);font-size:19px;line-height:1.4;color:var(--on-pine);font-variation-settings:"SOFT" 0,"opsz" 20}
.reviews cite{display:block;font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}
@media (max-width:820px){.reviews{grid-template-columns:1fr}}

/* Version 7.5, Selling and Buying rebuilt */
.page-hero .hero-actions{margin-top:30px}
.page-hero .meta+.hero-actions{margin-top:30px}
.diff.diff--4{grid-template-columns:repeat(2,1fr)}
.diff--4 article:nth-child(2){border-right:0}
.diff--4 article:nth-child(-n+2){border-bottom:1px solid var(--line)}
.diff--4 article:nth-child(3){padding-left:0}
.diff--4 article:nth-child(n+3){padding-top:clamp(26px,3vw,40px)}
@media (max-width:900px){.diff--4 article:nth-child(2){border-bottom:1px solid var(--line)}.diff--4 article:nth-child(3){border-bottom:1px solid var(--line)}}
.evidence .tiles{margin-bottom:28px}


/* Version 7.8, the tape and the parcel map */
.tape{background:var(--espresso);color:var(--cream);overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.tape-head{display:flex;align-items:center;gap:18px;padding:12px clamp(20px,4vw,48px) 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.tape-head .eyebrow{margin:0;color:var(--cream)}
.tape-head .tape-week{color:rgba(255,255,255,.6);letter-spacing:.06em;text-transform:none;font-size:13px}
.tape-head a{margin-left:auto;color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);letter-spacing:.1em;font-weight:600;font-size:11.5px;display:inline-flex;align-items:center;gap:8px}.tape-head a .arrow{width:18px;height:10px}
.tape-track{display:flex;width:max-content;padding:10px 0 14px;animation:tape 75s linear infinite}
.tape:hover .tape-track{animation-play-state:paused}
.tape-run{display:flex;flex-shrink:0}
.tk{display:inline-flex;align-items:baseline;gap:10px;padding:0 clamp(20px,3vw,44px);border-right:1px solid rgba(255,255,255,.14);white-space:nowrap;font-size:14px}
.tk b{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11px;color:rgba(255,255,255,.7)}
.tk em{font-style:normal;font-family:var(--font-display);font-size:20px;color:var(--cream);font-variation-settings:"SOFT" 0,"opsz" 20;font-variant-numeric:tabular-nums}
.tk i{font-style:normal;color:rgba(255,255,255,.62);font-size:13px}
@keyframes tape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape-track{animation:none;width:auto;flex-wrap:wrap}.tape-run[aria-hidden]{display:none}.tk{white-space:normal;padding:6px 18px}}
@media (max-width:700px){.tape-head{flex-wrap:wrap;gap:8px 14px}.tape-head a{margin-left:0}.tk{padding:0 18px}.tk em{font-size:18px}.tk i{display:none}}

.pmap-section{background:var(--cream)}
.pmap-ctl{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.pmap-stage{position:relative;border:1px solid var(--line);background:#FBFAF7;border-radius:4px;padding:clamp(8px,1.5vw,20px)}
.pmap-svg{width:100%;height:auto;display:block}
.pmap-svg .pc{stroke:#FBFAF7;stroke-width:1.2;cursor:pointer;transition:fill .35s ease}
.pmap-svg .pc:hover,.pmap-svg .pc.is-sel{stroke:var(--espresso);stroke-width:2.2}
.pmap-svg .pc-open{fill:#E3E8DD;stroke:#FBFAF7;stroke-width:1}
.pmap-tip{position:absolute;z-index:2;background:var(--espresso);color:var(--cream);font-size:13px;line-height:1.5;padding:10px 13px;border-radius:3px;pointer-events:none;max-width:260px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.pmap-tip b{font-family:var(--font-display);font-size:16px;font-weight:400;font-variation-settings:"SOFT" 0,"opsz" 16}
.pmap-tip .tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.4);padding:1px 6px;border-radius:2px;margin-left:4px;vertical-align:middle}
.pmap-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:13px;color:var(--ink-2);align-items:center}
.pmap-legend .lg-name{font-weight:600;color:var(--espresso);margin-right:6px}
.pmap-legend .lg{display:inline-flex;align-items:center;gap:6px}
.pmap-legend .lg i{width:14px;height:14px;border-radius:2px;display:inline-block}
.pmap-note{font-size:14px;color:var(--ink-2);margin-top:16px;max-width:70ch}
@media (max-width:700px){.pmap-svg .pc{stroke-width:.8}.pmap-tip{max-width:200px;font-size:12px}}

.pmap-svg .pl{font-family:var(--font-text);font-size:13px;letter-spacing:.14em;text-transform:uppercase;fill:var(--muted)}
.pmap-svg .pn path{fill:var(--espresso)}.pmap-svg .pn text{font-family:var(--font-text);font-size:12px;font-weight:600;fill:var(--espresso)}


/* Version 7.9, borrowed and rebuilt */
.btn,.textlink,.nav .nav-cta,.btn-light{text-transform:none;letter-spacing:0;font-size:15px;font-weight:500}
.btn{padding:15px 24px}
.textlink{padding-bottom:5px}
.stats-band{background:var(--espresso);color:var(--cream)}
.stats-band .wrap{padding-top:clamp(28px,3.5vw,44px)}
.stats-band .numbers{border-top:0;border-bottom:0}
.stats-band .numbers .v{color:var(--cream)}
.stats-band .tape{border-top:1px solid rgba(255,255,255,.12);margin-top:clamp(18px,2.5vw,30px)}
.intro .split{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
.intro figure.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.intro figure.portrait figcaption{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:12px}
.intro .copy h2{max-width:16ch}
.intro .copy .prose{color:var(--ink-2)}
.intro .copy .hero-actions{margin-top:26px}
.search-band{background:var(--sand)}
.search-band .report-row h2{max-width:24ch}
table.data.brief-table th.r,table.data.brief-table td.r{padding-right:22px}table.data.brief-table td:last-child{padding-left:6px}.brief-table td:last-child{max-width:34ch;font-size:14px;color:var(--ink-2)}.brief-table td.r{white-space:nowrap}
.brief-table tr.core td{background:#E3ECE2}
.brief-table tr.core td:first-child{border-left:3px solid #4E7A52;padding-left:12px}
.brief-table tr.ceiling td{background:#DCD9D3}
.brief-table tr.ceiling td:first-child{border-left:3px solid var(--espresso);padding-left:12px}
.brief-table tr.aside td{color:var(--muted)}
.brief-table tr.aside td:first-child{border-left:3px solid var(--line);padding-left:12px}
.brief-legend{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0 0 14px;font-size:13.5px;color:var(--ink-2)}
.brief-legend span{display:inline-flex;align-items:center;gap:8px}
.brief-legend .sw{display:inline-block;width:14px;height:14px;border-radius:2px;border-left:3px solid #4E7A52;background:#E3ECE2}
.brief-legend .sw-ceiling{border-left-color:var(--espresso);background:#DCD9D3}
.brief-legend .sw-aside{border-left-color:var(--line);background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
@media (max-width:700px){
  .cover{min-height:0;display:block}
  .cover .cover-bg{position:relative;inset:auto;height:62vw;min-height:230px;z-index:0}
  .cover .cover-bg::after{display:none}
  .cover .wrap{background:var(--espresso);padding-top:26px;padding-bottom:30px;flex-direction:column;align-items:stretch}
  .cover .cover-line{text-shadow:none;font-size:clamp(34px,9.5vw,44px);max-width:none}
  .cover .cover-sub2{text-shadow:none;color:rgba(255,255,255,.86)}
  .cover .cover-actions{flex-direction:column;align-items:stretch;gap:12px}
  .cover .cover-actions .btn{justify-content:center;width:100%}
  .cover .cover-actions .textlink{justify-content:center;border-bottom:0;border:1px solid rgba(255,255,255,.35);padding:14px 20px}
  .cover .cover-lockup{display:none}
  .stats-band .wrap{padding-top:22px}
  .intro .split{grid-template-columns:1fr}
  .intro figure.portrait img{aspect-ratio:4/5}
}

/* Version 7.10 */
.casework{background:var(--cream)}
.intro .copy h2{max-width:22ch}

/* Version 7.15 */
.numbers--3{grid-template-columns:repeat(3,1fr)}
.cover h1.cover-line{max-width:none;text-wrap:initial}
.cover-line br.lg{display:inline}
@media (max-width:700px){.cover-line br.lg{display:none}}
@media (max-width:900px){.numbers--3{grid-template-columns:1fr 1fr}.numbers--3 .num:nth-child(3){grid-column:1/-1}}
@media (max-width:700px){.cover .cover-line{max-width:none}}

/* Version 7.19: legibility of the cover line */
@media (min-width:701px){
  .cover .cover-bg::after{background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.38) 42%,rgba(0,0,0,.04) 72%),linear-gradient(180deg,rgba(0,0,0,.08) 15%,rgba(0,0,0,.66) 100%)}
  .cover .cover-line{font-weight:400;text-shadow:0 2px 6px rgba(0,0,0,.45),0 2px 34px rgba(0,0,0,.35)}
  .cover .cover-sub2{text-shadow:0 1px 4px rgba(0,0,0,.5),0 1px 18px rgba(0,0,0,.4)}
}

/* Version 7.20: cover rhythm */
@media (min-width:701px){
  .cover{align-items:center;min-height:clamp(560px,82vh,880px)}
  .cover .wrap{position:relative;display:block;padding-top:96px;padding-bottom:clamp(96px,12vw,150px)}
  .cover .cover-title{max-width:900px}
  .cover .cover-line{line-height:1.08;letter-spacing:-.015em;font-size:clamp(38px,5vw,76px)}
  .cover .cover-sub2{margin-top:26px;max-width:60ch;font-size:clamp(16px,1.3vw,18px);line-height:1.6}
  .cover .cover-actions{margin-top:34px;gap:14px 28px}
  .cover .cover-lockup{position:absolute;right:var(--gutter);bottom:clamp(30px,4vw,48px);margin:0}
}

/* Version 7.21: split cover. Text on an espresso panel, the photo untouched beside it. */
@media (min-width:701px){
  .cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;min-height:clamp(540px,76vh,800px);background:var(--espresso)}
  .cover .cover-bg{position:relative;inset:auto;z-index:0;order:2;min-height:100%}
  .cover .cover-bg img{object-position:center 50%}
  .cover .cover-bg::after{display:none}
  .cover .wrap{order:1;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:none;margin:0;width:auto;padding:clamp(56px,7vw,96px) clamp(40px,4vw,64px) clamp(56px,7vw,96px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))}
  .cover .cover-title{max-width:none}
  .cover .cover-line{font-size:clamp(32px,3.6vw,52px);line-height:1.08;letter-spacing:-.012em;font-weight:400;text-shadow:none;color:var(--cream)}
  .cover .cover-sub2{margin-top:22px;max-width:46ch;font-size:clamp(15px,1.15vw,17px);line-height:1.6;text-shadow:none;color:rgba(255,255,255,.82)}
  .cover .cover-actions{margin-top:30px;gap:12px 26px}
  .cover .cover-lockup{position:static;margin:clamp(40px,5vw,64px) 0 0;width:clamp(120px,10vw,150px);align-self:flex-start;filter:none}
}
@media (min-width:701px) and (max-width:1100px){
  .cover{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
}

/* Version 7.22: the opener */
.opener{background:var(--cream);color:var(--ink)}
.opener .opener-head{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(32px,5vw,88px);align-items:start;padding-top:clamp(44px,5.5vw,80px);padding-bottom:clamp(36px,4vw,56px)}
.opener h1{font-family:var(--font-display);font-weight:300;font-size:clamp(36px,3.9vw,56px);line-height:1.05;letter-spacing:-.015em;margin:0;max-width:none;font-variation-settings:"SOFT" 0,"opsz" 144;color:var(--ink)}
.opener .opener-aside{padding-top:10px}
.opener .opener-sub{margin:0;font-size:clamp(16px,1.2vw,18px);line-height:1.6;color:var(--ink-2);max-width:38ch;text-wrap:pretty}
.opener .opener-actions{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;margin-top:26px}
.opener .opener-photo>img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center 58%}
.opener .opener-caption{display:flex;justify-content:flex-end;align-items:center;padding:16px 0 28px}
.opener .opener-caption img{width:clamp(104px,8.5vw,136px);height:auto;opacity:.92}
@media (max-width:1100px){.opener .opener-head{grid-template-columns:1fr;gap:26px;align-items:start}.opener .opener-sub{max-width:52ch}}
@media (max-width:700px){.opener .opener-head{padding-top:32px;padding-bottom:26px}.opener h1{font-size:clamp(32px,8.6vw,42px)}.opener .opener-photo>img{aspect-ratio:4/3}.opener .opener-actions{flex-direction:column;align-items:stretch;gap:12px}.opener .opener-actions .btn{justify-content:center}.opener .opener-actions .textlink{justify-content:center;border:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 20px}.opener .opener-caption{padding:14px 0 22px}}
.opener h1 .bal{display:block;text-wrap:balance;max-width:40ch}
.opener h1 .line{display:block}

/* Version 7.24: the brief process strip */
.process--brief{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(20px,3vw,44px)}
.process--brief li{display:block;padding:0;border:0}
.process--brief li h3{margin:0 0 8px}
.process--brief li p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}
@media (max-width:1000px){.process--brief{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.process--brief{grid-template-columns:1fr;gap:18px}}
.process--brief{border-top:0}
.process--brief li::before{display:block;font-size:13px;letter-spacing:.14em;color:var(--forest);margin-bottom:12px;padding-top:0}
.process--brief li{padding-top:18px;border-top:1px solid var(--espresso)}

/* Version 7.26: six-figure snapshot */
.snapshot{grid-template-columns:minmax(0,3fr) minmax(0,10fr)}
.snapshot .stats{grid-template-columns:repeat(6,1fr)}
.snapshot .stat{padding:24px 16px}
.snapshot .stat .v{font-size:clamp(24px,2.1vw,32px)}
@media (max-width:1000px){.snapshot .stats{grid-template-columns:repeat(3,1fr)}.snapshot .stat:nth-child(4){border-left:0}.snapshot .stat:nth-child(n+4){border-top:1px solid var(--line)}}
@media (max-width:560px){.snapshot .stats{grid-template-columns:repeat(2,1fr)}.snapshot .stat:nth-child(4){border-left:1px solid var(--line)}.snapshot .stat:nth-child(odd){border-left:0}.snapshot .stat:nth-child(n+3){border-top:1px solid var(--line)}}
.snapshot .stat .k{min-height:2.7em}

/* Version 7.27: the firm section */
.firm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);border-top:1px solid rgba(255,255,255,.18);padding-top:clamp(28px,3vw,40px)}
.firm-grid h3{margin:0 0 12px;font-family:var(--font-display);font-size:26px;font-weight:300;color:#fff;font-variation-settings:"SOFT" 0,"opsz" 36}
.firm-grid p{margin:0;color:rgba(255,255,255,.8);font-size:15.5px;line-height:1.6}
.firm-facts{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.firm-facts li{font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.72);padding-top:10px;border-top:1px solid rgba(255,255,255,.14)}
.firm-facts li b{font-family:var(--font-display);font-weight:400;font-size:19px;color:#fff;margin-right:6px;font-variation-settings:"SOFT" 0,"opsz" 24}
@media (max-width:900px){.firm-grid{grid-template-columns:1fr;gap:30px}}

/* Version 7.37: the buyer's three stages */
.stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,56px);counter-reset:stage}
.stages li{counter-increment:stage;border-top:1px solid var(--espresso);padding-top:18px;position:relative}
.stages li::before{content:"0" counter(stage);display:block;font-family:var(--font-display);font-size:15px;letter-spacing:.06em;color:var(--forest);margin-bottom:14px;font-variant-numeric:tabular-nums}
.stages .stage-when{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}
.stages h3{margin:0 0 12px;font-family:var(--font-display);font-size:28px;font-weight:300;line-height:1.1;font-variation-settings:"SOFT" 0,"opsz" 36}
.stages .stage-key{margin:0 0 10px;font-size:17px;line-height:1.45;color:var(--ink);font-weight:500}
.stages p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2)}
@media (max-width:900px){.stages{grid-template-columns:1fr;gap:26px}}

/* Version 7.38: a stacked section head for a one-line lede */
.section-head--stack{display:block}
.section-head--stack h2{max-width:26ch;text-wrap:balance}
.section-head--stack .lede{margin-top:16px;max-width:52ch}

/* Version 7.40: the text link sits on the button's centre line */
.hero-actions .textlink{align-self:center;padding-bottom:4px;margin-top:2px}

/* Version 7.45 */
.lede{text-wrap:pretty}

/* Version 7.46: a title-only page hero */
.page-hero--title .wrap{padding-bottom:0}
.page-hero--title+.section--tight{padding-top:clamp(28px,4vw,56px)}

.casework h2 .bal{display:block;text-wrap:balance}.casework h2 .line{display:block}

/* Version 7.49: no one-word last lines in body text */
.prose p,.stages p,.diff p,.process p,.firm-grid p{text-wrap:pretty}

/* Market Report contents list (7.71) */
.contents{list-style:none;margin:0;padding:0;counter-reset:item;border-top:1px solid var(--espresso)}
.contents li{counter-increment:item;display:grid;grid-template-columns:4ch minmax(0,5fr) minmax(0,7fr);gap:clamp(16px,3vw,48px);padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.contents p{padding-top:6px}
.contents li::before{content:"0" counter(item);font-family:var(--font-display);font-size:15px;letter-spacing:.06em;color:var(--forest);font-variant-numeric:tabular-nums}
.contents h3{margin:0;font-family:var(--font-display);font-size:clamp(24px,2.2vw,30px);font-weight:300;line-height:1.1;font-variation-settings:"SOFT" 0,"opsz" 36}
.contents p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2);text-wrap:pretty}
@media (max-width:760px){.contents li{grid-template-columns:4ch 1fr;row-gap:8px}.contents p{grid-column:2}}

/* 7.72 audit fixes */
@media (max-width:1000px){.snapshot{grid-template-columns:1fr}}
@media (max-width:560px){.numbers--3{grid-template-columns:repeat(3,1fr)}.numbers--3 .num:nth-child(3){grid-column:auto;border-top:0;border-left:1px solid var(--line-pine)}.numbers--3 .num{padding:22px 8px}.numbers--3 .v{font-size:30px}.numbers--3 .k{font-size:9.5px;letter-spacing:.1em}}
@media (max-width:600px){.casework h2 .bal,.casework h2 .line{display:inline;text-wrap:pretty}}
.hood-links{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(20px,3vw,40px);border-top:1px solid var(--espresso);padding-top:22px}
.hood-links a{text-decoration:none;color:inherit;display:grid;grid-template-rows:auto 1fr auto;gap:8px}
.hood-links h3{margin:0;font-family:var(--font-display);font-size:clamp(22px,1.7vw,26px);font-weight:300;line-height:1.1;font-variation-settings:"SOFT" 0,"opsz" 36}
.hood-links p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}
.hood-links .textlink{margin-top:10px;font-size:13.5px;justify-self:start}
.hood-else{margin:28px 0 0;font-size:15.5px;color:var(--ink-2)}
.hood-else .textlink{white-space:nowrap;margin-left:6px}
@media (max-width:900px){.hood-links{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.hood-links{grid-template-columns:1fr;gap:20px}.hood-links a{border-bottom:1px solid var(--line);padding-bottom:18px}}

.brief-table tfoot td{font-weight:600;color:var(--ink);border-top:2px solid var(--espresso);background:var(--cream)}
.brief-table tfoot tr+tr td{border-top:1px solid var(--line)}

/* 7.94: full-bleed opener photo */
.opener .opener-photo--bleed{width:100%}
.opener .opener-photo--bleed>img{aspect-ratio:21/8;object-position:center 30%;max-height:78vh}
@media (max-width:700px){.opener .opener-photo--bleed>img{aspect-ratio:4/3;max-height:none}}

/* 7.95: market report band table */
.band-table td:first-child{white-space:nowrap;font-weight:500;color:var(--ink)}
.band-table td.r,.band-table th.r{white-space:nowrap}
.mt-4{margin-top:clamp(36px,4vw,56px)}

/* 7.96: market report detail charts */
.chart{margin:0 0 clamp(28px,3vw,40px);border:1px solid var(--line);border-radius:4px;padding:20px 20px 12px;background:var(--cream)}
.chart figcaption{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.chart .chart-title{font-family:var(--font-display);font-size:clamp(20px,1.8vw,24px);color:var(--espresso);line-height:1.15}
.chart .chart-note{font-size:13.5px;color:var(--ink-2);line-height:1.5;text-wrap:pretty}
.chart svg{display:block;width:100%;height:auto;font-family:var(--font-text)}
.chart .axis{stroke:var(--line-strong);stroke-width:1}
.chart .cv{font-size:12px;fill:var(--ink-2);font-variant-numeric:tabular-nums}
.chart .cl{font-size:11.5px;fill:var(--muted)}
.chart .col rect{transition:opacity .2s}
.chart .col:hover rect{opacity:.75}
.chart-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
@media (max-width:900px){.chart-pair{grid-template-columns:1fr}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.band-table td small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.mt-1{margin-top:12px}

/* 7.97: insights, gradient charts, heatmap, averages */
.insights{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 clamp(28px,3vw,40px)}
.insight{border:1px solid var(--line);border-radius:4px;background:var(--cream);padding:18px 18px 16px}
.insight p{margin:8px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.insight b{color:var(--espresso);font-weight:600}
@media (max-width:1000px){.insights{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.insights{grid-template-columns:1fr}}
.chart-take{margin:10px 0 4px;font-size:14.5px;line-height:1.55;color:var(--ink);text-wrap:pretty;border-top:1px solid var(--line);padding-top:12px}
.heat .table-wrap{margin-top:6px}
.heatmap{width:100%;border-collapse:separate;border-spacing:3px;font-size:14px}
.heatmap th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:right;padding:6px 8px}
.heatmap th:first-child,.heatmap tbody th{text-align:left;color:var(--ink);text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;white-space:nowrap}
.heatmap td.hc{text-align:right;padding:10px 12px;border-radius:3px;font-variant-numeric:tabular-nums;font-weight:500}
.heat-legend{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin:2px 0 6px;flex-wrap:wrap}
.heat-scale{display:inline-flex;gap:2px}.heat-scale i{display:inline-block;width:18px;height:10px;border-radius:2px}
.area-table tfoot td{font-weight:600;color:var(--ink);border-top:2px solid var(--espresso);background:var(--cream)}
.area-table tfoot tr.ref td{font-weight:500;color:var(--forest);border-top:1px solid var(--line)}
.area-table tfoot tr.avg td:first-child,.area-table tfoot tr.ref td:first-child{white-space:nowrap}

/* 7.98: pricing-example teaser on the home page */
.teaser{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--sand);padding-top:clamp(36px,4.5vw,60px);padding-bottom:clamp(36px,4.5vw,60px)}
.teaser-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:end}
.teaser h2{margin:8px 0 0;font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.01em;max-width:18ch}
.teaser-copy p{margin:0 0 16px;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:48ch;text-wrap:pretty}
@media (max-width:900px){.teaser-grid{grid-template-columns:1fr;align-items:start}}
.diff--prose article{display:block}
.diff--prose article p+p{margin-top:14px}
.diff--prose article h3{margin-bottom:16px}
.firm-band .textlink{color:var(--on-pine);border-color:rgba(255,255,255,.5)}
.firm-band .textlink:hover{color:#fff}
.opener-plat{background:var(--sand);color:var(--espresso);aspect-ratio:21/9;display:block;overflow:hidden}
.opener-plat .plat{width:100%;height:100%;display:block}
.opener-caption{display:flex;justify-content:space-between;align-items:center;gap:24px}
.plat-caption{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);max-width:60ch}
@media (max-width:700px){.opener-plat{aspect-ratio:4/3}.opener-caption{flex-direction:column;align-items:flex-start}}

.opener-plat{background:var(--sand)}
.dots-stage{position:relative;width:100%;height:100%;aspect-ratio:21/9}
.dots-stage canvas{display:block;width:100%;height:100%}
.dots-title{position:absolute;left:clamp(20px,4vw,64px);top:clamp(18px,2.6vw,36px);display:flex;align-items:baseline;gap:14px;max-width:44ch}
.dots-title .dt-v{font-family:var(--font-display);font-weight:300;font-size:clamp(34px,4.6vw,68px);line-height:1;letter-spacing:-.01em;font-variation-settings:"SOFT" 0,"opsz" 144;min-width:3.2ch}
.dots-title .dt-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);max-width:30ch;line-height:1.4}
@media (max-width:700px){.dots-stage{aspect-ratio:1/1}.opener-plat{aspect-ratio:1/1}.dots-title{flex-direction:column;gap:4px}.dots-title .dt-v{font-size:30px}}

.dots-nav{position:absolute;right:clamp(20px,4vw,64px);top:clamp(22px,3vw,44px);display:flex;gap:8px}
.dots-nav button{width:22px;height:3px;border:0;padding:0;background:rgba(17,17,17,.2);cursor:pointer;border-radius:2px}
.dots-nav button.on{background:#111}
.dots-title .dt-k{transition:opacity .4s ease}

/* 7.140 home-value two-step form, address on the first phone screen */
.page-hero--form{padding-bottom:0}
.page-hero--form .lede--short{max-width:44ch}
.hv-form-section{padding-top:clamp(24px,3vw,40px)}
.hv-step2-lead{font-family:var(--font-display);font-weight:300;font-size:clamp(20px,1.6vw,24px);margin:6px 0 4px}
.hv-form .hv-step1 .small{color:var(--muted)}
.js-2step .hv-step2{display:none}
.js-2step.is-step2 .hv-step2{display:block;animation:hvIn .35s ease both}
.js-2step.is-step2 .hv-step1{display:none}
@keyframes hvIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:700px){
  .page-hero--form{padding-top:28px}
  .page-hero--form .eyebrow{margin-bottom:12px}
  .page-hero--form h1{font-size:clamp(34px,9.4vw,44px)}
  .page-hero--form .lede--short{margin-top:14px;font-size:18px}
  .hv-form-section{padding-top:18px}
}
@media (prefers-reduced-motion:reduce){.js-2step.is-step2 .hv-step2{animation:none}}
.hv-form:not(.js-2step) .hv-next{display:none}

/* 7.141 sample valuations */
.spec-disclose{max-width:62ch;color:var(--muted);font-size:15px;line-height:1.6;margin-top:16px}
.spec{border-top:1px solid var(--espresso);padding-top:clamp(28px,3vw,44px);margin-top:clamp(36px,4vw,64px)}
.spec-head{max-width:60ch}
.spec-head h3{font-family:var(--font-display);font-weight:300;font-size:clamp(26px,2.4vw,36px);line-height:1.15;margin:10px 0 12px}
.spec-head p{color:var(--ink-2)}
.spec-panel{margin-top:clamp(28px,3vw,44px)}
.spec-panel h4{font-family:var(--font-display);font-weight:300;font-size:clamp(21px,1.8vw,27px);line-height:1.2;margin:0 0 18px;max-width:40ch}
.spec-note{color:var(--muted);font-size:14.5px;margin-top:14px;max-width:70ch}
.spec-sub{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin:0 0 10px;color:var(--espresso)}
.spec-sub--warn{color:#A4483A}
.spec-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,48px)}
.spec-row-strong td{background:var(--sand);color:var(--espresso)!important;font-weight:600}
.spec-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.spec-card{background:var(--sand);border-top:2px solid var(--line-strong);padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px}
.spec-card span{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--forest)}
.spec-card strong{font-family:var(--font-display);font-weight:300;font-size:clamp(24px,2vw,30px);color:var(--espresso);line-height:1.1}
.spec-card p{font-size:14px;color:var(--ink-2);margin:4px 0 0}
.spec-card--dark{background:var(--espresso);border-top-color:#C4705F}
.spec-card--dark span{color:#E0A396}.spec-card--dark strong{color:#fff}.spec-card--dark p{color:#D6D6D6}
@media (max-width:900px){.spec-two{grid-template-columns:1fr}.spec-cards{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.spec-cards{grid-template-columns:1fr}}

/* dumbbell chart, HTML so the labels stay readable on a phone */
.db{display:flex;flex-direction:column;gap:4px}
.db-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) minmax(150px,230px);align-items:center;gap:16px;padding:7px 0}
.db-row--you .db-label,.db-row--you .db-note{color:#A4483A;font-weight:600}
.db-label{font-size:14px;color:var(--espresso)}
.db-note{font-size:13.5px;color:var(--ink-2)}
.db-track{position:relative;height:22px}
.db-band{position:absolute;top:-6px;bottom:-6px;background:#DCE4EC}
.db-line{position:absolute;top:50%;height:2px;margin-top:-1px;background:#A8A49C}
.db-row--you .db-line{background:#D9A69B}
.db-dot{position:absolute;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:var(--espresso);border:2px solid var(--espresso)}
.db-dot--open{background:#fff}
.db-row--you .db-dot{background:#A4483A;border-color:#A4483A}.db-row--you .db-dot--open{background:#fff}
.db-axis{padding-top:2px}
.db-ticks{position:relative;height:18px;border-top:1px solid var(--line-strong)}
.db-ticks span{position:absolute;top:4px;transform:translateX(-50%);font-size:11.5px;color:var(--muted)}
.db-key{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px}
.db-key span{display:inline-block;vertical-align:middle;margin-right:-8px}
.k-open,.k-fill{width:11px;height:11px;border-radius:50%;border:2px solid var(--espresso)}
.k-fill{background:var(--espresso)}.k-band{width:16px;height:11px;background:#DCE4EC}
@media (max-width:700px){
  .db-row{grid-template-columns:1fr;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}
  .db-axis{border-bottom:0}.db-axis .db-label,.db-axis .db-note{display:none}
  .db-note{font-size:13px}
}

/* teaser strip on the valuation pages */
.strip-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}
.strip-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);padding:22px;color:inherit;text-decoration:none;transition:border-color .25s var(--ease),transform .25s var(--ease)}
.strip-card:hover{border-color:var(--espresso);transform:translateY(-2px)}
.strip-kicker{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--forest)}
.strip-title{font-family:var(--font-display);font-weight:300;font-size:21px;line-height:1.25;margin:8px 0 16px;color:var(--espresso)}
.strip-viz .db-row{grid-template-columns:1fr;gap:4px;padding:5px 0;border:0}
.strip-viz .db-note,.strip-viz .db-key,.strip-viz .db-axis{display:none}
.strip-viz .db-label{font-size:12.5px}
.strip-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto}
.strip-pair--one{grid-template-columns:1fr}
.strip-pair div{background:var(--sand);padding:14px}
.strip-pair strong{display:block;font-family:var(--font-display);font-weight:300;font-size:30px;color:var(--espresso);line-height:1.1}
.strip-pair span{font-size:13px;color:var(--ink-2)}
.strip-pair .warn strong{color:#A4483A}
@media (max-width:1000px){.strip-grid{grid-template-columns:1fr}}

/* price tag and receipt */
.ptr{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:clamp(16px,2vw,32px);align-items:center;margin-top:clamp(32px,4vw,56px)}
.ptr-tag,.ptr-receipt{padding:24px 24px 26px;display:flex;flex-direction:column;gap:6px}
.ptr-tag{background:#fff;border:2px solid var(--forest);border-radius:4px;clip-path:polygon(14% 0,100% 0,100% 100%,14% 100%,0 50%);padding-left:calc(14% + 12px)}
.ptr-receipt{background:var(--espresso);color:#D6D6D6;clip-path:polygon(0 0,100% 0,100% 94%,92% 100%,84% 94%,76% 100%,68% 94%,60% 100%,52% 94%,44% 100%,36% 94%,28% 100%,20% 94%,12% 100%,4% 94%,0 100%);padding-bottom:36px}
.ptr-k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--forest)}
.ptr-receipt .ptr-k{color:#E0A396}
.ptr strong{font-family:var(--font-display);font-weight:300;font-size:clamp(34px,3.2vw,48px);line-height:1;color:var(--espresso)}
.ptr-receipt strong{color:#fff}
.ptr b{font-weight:600;color:var(--espresso)}.ptr-receipt b{color:#fff}
.ptr p{margin:0;font-size:14.5px}
.ptr-path ol{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;position:relative}
.ptr-path ol::before{content:"";position:absolute;left:0;right:0;top:15px;height:3px;background:var(--espresso)}
.ptr-path li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13.5px;font-weight:600;text-align:center;flex:1}
.ptr-path li span{width:32px;height:32px;border-radius:50%;background:#fff;border:3px solid var(--espresso);display:flex;align-items:center;justify-content:center;font-size:13px}
.ptr-miss{margin-top:18px!important;background:#F6E3DF;border-left:3px solid #A4483A;padding:12px 14px;font-size:14px!important;color:var(--ink-2)}
.ptr-miss b{color:var(--espresso)}
.ptr-foot{grid-column:1/-1;background:var(--espresso);color:#fff;padding:16px 20px;margin:4px 0 0!important;font-size:15.5px!important}
.ptr-foot strong{font-family:var(--font-text);font-size:inherit;color:#fff;font-weight:600}
@media (max-width:900px){.ptr{grid-template-columns:1fr}.ptr-tag{clip-path:polygon(9% 0,100% 0,100% 100%,9% 100%,0 50%);padding-left:calc(9% + 14px)}}
.spec-panel h4{text-transform:none;letter-spacing:normal}
.spec table.data th.r+th,.spec table.data td.r+td{padding-left:24px}
.spec table.data td.r,.spec table.data th.r{padding-left:14px}
.spec-two>*,.spec-panel,.spec-cards>*{min-width:0}
.spec-sub{overflow-wrap:anywhere}
.spec-scroll-hint{display:none}
@media (max-width:600px){
.spec table.data{font-size:14px}
.spec table.data th{letter-spacing:.06em;font-size:10.5px;padding-right:10px}
.spec table.data td{padding-right:10px}
.spec table.data th.r+th,.spec table.data td.r+td{padding-left:12px}
.spec table.data td.r,.spec table.data th.r{padding-left:8px}
.spec-long{display:none}
.spec-nets thead tr,.spec-nets tbody tr{display:grid;grid-template-columns:1fr auto auto;column-gap:18px;border-bottom:1px solid var(--line)}
.spec-nets th,.spec-nets td{border-bottom:0!important;padding-left:0!important;padding-right:0!important}
.spec-nets thead th:nth-child(2){display:none}
.spec-nets tbody td:nth-child(1){grid-column:1;grid-row:1;padding-bottom:2px}
.spec-nets tbody td:nth-child(3){grid-column:2;grid-row:1;padding-bottom:2px}
.spec-nets tbody td:nth-child(4){grid-column:3;grid-row:1;padding-bottom:2px}
.spec-nets tbody td:nth-child(2){grid-column:1/-1;grid-row:2;padding-top:0;font-size:13.5px;color:var(--muted)}
.spec-nets tbody tr.spec-row-strong td:nth-child(2){grid-row:1;grid-column:2;font-size:14px;color:var(--espresso);padding-top:13px}
.spec-nets tbody tr.spec-row-strong td:nth-child(3){display:none}

.spec-scroll{position:relative}
.spec-scroll-hint{display:block;font-size:12px;color:var(--muted);margin:8px 0 0;letter-spacing:.04em}
}
@media (max-width:380px){.spec-feats{font-size:13px!important}.spec-feats th{font-size:10px!important}}
@media (max-width:600px){.spec-nets tr.spec-row-strong{background:var(--sand)}.spec-nets tr.spec-row-strong td{background:transparent}}
/* 7.142: two-worlds ledger under the opener headline; dots-nav tap targets; stat label size */
.opener .opener-head{grid-template-areas:"h aside" "worlds aside";grid-template-rows:auto 1fr}
.opener .opener-head h1{grid-area:h}
.opener .opener-head .opener-aside{grid-area:aside}
.opener-worlds{grid-area:worlds;align-self:end;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px);border-top:1px solid var(--line);padding-top:22px;margin-top:clamp(28px,3vw,44px);max-width:760px}
.opener-worlds .ow-k{display:flex;gap:12px;align-items:baseline;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--forest);line-height:1.4}
.opener-worlds .ow-n{font-family:var(--font-display);font-weight:300;font-size:15px;letter-spacing:0;color:var(--muted);flex:none}
.opener-worlds p{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--ink-2);max-width:36ch;text-wrap:pretty}
@media (max-width:1100px){.opener .opener-head{grid-template-areas:"h" "aside" "worlds";grid-template-rows:auto}.opener-worlds{margin-top:8px}}
@media (max-width:700px){.opener-worlds{grid-template-columns:1fr;gap:18px;padding-top:18px}}
.dots-nav{gap:4px}
.dots-nav button{width:30px;height:24px;background:transparent;position:relative;border-radius:0}
.dots-nav button::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:3px;margin-top:-1.5px;border-radius:2px;background:rgba(17,17,17,.2)}
.dots-nav button.on{background:transparent}
.dots-nav button.on::after{background:#111}
.dots-nav button:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
@media (max-width:560px){.numbers--3 .k{font-size:11px;letter-spacing:.06em;line-height:1.35}}
.opener .opener-head{grid-template-rows:auto auto;row-gap:0}
.opener-worlds{align-self:start;margin-top:clamp(36px,3.4vw,52px)}
@media (max-width:1100px){.opener .opener-head{row-gap:26px}.opener-worlds{margin-top:0}}
@media (min-width:901px) and (max-width:1180px){.nav{gap:16px}.nav a{font-size:12.5px;letter-spacing:.02em;white-space:nowrap}.nav .nav-cta{padding:10px 14px}.site-header .brand .firm,.site-header .brand small{white-space:nowrap}}
/* 7.143: line illustration in the opener, replacing the 7.142 text ledger */
.opener .opener-head{grid-template-areas:"h aside" "vis aside"}
.opener .hero-vis{grid-area:vis;align-self:end;margin-top:clamp(32px,3.2vw,52px);min-width:0;max-width:820px}
.hero-line{display:block;width:100%;height:auto;overflow:visible}
.hero-line .ln{fill:#fff;stroke:var(--espresso);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hero-line .fine{fill:none;stroke:var(--line-strong);stroke-width:.7}
.hero-line .ridge{fill:none;stroke:var(--forest-2);stroke-width:1}
.hero-line .ground{fill:none;stroke-width:1}
.hero-line .win{fill:#E9CD95;fill-opacity:.55}
.draw-ready .hero-line .ln{stroke-dasharray:1;stroke-dashoffset:1}
.draw-ready .hero-line .win{fill-opacity:0}
.draw-ready.play .hero-line .ln{animation:hlDraw 1.5s var(--ease) forwards;animation-delay:var(--d)}
.draw-ready.play .hero-line .ridge{animation-duration:3.2s}
.draw-ready.play .hero-line .ground{animation-duration:2.4s}
.draw-ready.play .hero-line .win{animation:hlDraw 1.2s var(--ease) forwards var(--d),hlGlow 1.6s ease forwards 3.4s}
@keyframes hlDraw{to{stroke-dashoffset:0}}
@keyframes hlGlow{to{fill-opacity:.55}}
@media (max-width:1100px){.opener .opener-head{grid-template-areas:"h" "aside" "vis"}.opener .hero-vis{margin-top:6px;max-width:none}}
@media (max-width:700px){.hero-line .fine{stroke-width:.55}}
/* 7.144: the opener drawing follows Denver's time of day and season */
.hero-line .rfill{fill:#fff;stroke:none}
.hero-line .sky{opacity:0;transition:opacity 2s ease}
.hero-line .stars circle{fill:#8E9BAA;opacity:0;transition:opacity 2s ease}
.hero-line .sun circle{fill:#FBF3E4;stroke:#C9924F;stroke-width:1;vector-effect:non-scaling-stroke}
.hero-line .sun{opacity:0;transition:opacity 1.6s ease}
.hero-line .moon{fill:#fff;stroke:var(--espresso);stroke-width:.9;vector-effect:non-scaling-stroke;opacity:0;transition:opacity 2s ease}
.hero-line .snow path{fill:#EEF2F7;stroke:var(--forest-2);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.hero-line .snow{opacity:0;transition:opacity 2s ease}
.hero-vis{--glow:.55}
.is-day{--glow:.32}.is-dawn{--glow:.5}.is-dusk{--glow:.78}.is-night{--glow:.92}
.hero-line .win{fill-opacity:var(--glow);transition:fill-opacity 2s ease}
.is-night .hero-line .win{fill:#EFC77E}
@keyframes hlGlow{to{fill-opacity:var(--glow)}}
.is-day .hero-line .sun,.is-dusk .hero-line .sun,.is-dawn .hero-line .sun{opacity:1}
.is-dusk .hero-line .sky-dusk{opacity:.8}
.is-dawn .hero-line .sky-dawn{opacity:.8}
.is-dawn .hero-line .ridge{stroke:#C98E9C}
.is-dusk .hero-line .sun circle{fill:#F6D8B2;stroke:#C27A45}
.is-night .hero-line .stars circle{opacity:.9}
.is-night .hero-line .moon{opacity:1}
.is-night .hero-line .door{fill:#EFC77E;fill-opacity:.6}
.has-snow .hero-line .snow{opacity:1}
.s-fall .hero-line .can{fill:#E3B458;fill-opacity:.6}
.s-summer .hero-line .can{fill:#9DB384;fill-opacity:.5}
.s-spring .hero-line .can{fill:#BFD1A2;fill-opacity:.55}
.s-winter .hero-line .can{fill:none;stroke:var(--line-strong)}
.hero-line .can{transition:fill .8s ease}
.hero-now{margin:10px 0 0;text-align:right;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);min-height:1em}
.dots-pour{position:fixed;left:0;top:0;pointer-events:none;z-index:30}
.draw-ready .hero-line .sky,.draw-ready .hero-line .stars,.draw-ready .hero-line .sun,.draw-ready .hero-line .moon,.draw-ready .hero-line .snow{animation:hlFade 1.8s ease both 2.6s}
.draw-ready .hero-line .win{fill-opacity:var(--glow)}
.draw-ready.play .hero-line .win{animation:hlDraw 1.2s var(--ease) forwards var(--d),hlFrom 1.6s ease both 3.4s}
.draw-ready.play .hero-line .can{animation:hlDraw 1.5s var(--ease) forwards var(--d),hlFrom 1.2s ease both 3s}
.draw-ready:not(.play) .hero-line .win,.draw-ready:not(.play) .hero-line .can{fill-opacity:0}
@keyframes hlFade{from{opacity:0}}
@keyframes hlFrom{from{fill-opacity:0}}
.hero-line .sun .rays{fill:none;stroke:#C9924F;stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0}
.is-day .hero-line .sun .rays{opacity:1}
.opener .hero-vis{position:relative;z-index:31}
.is-night .hero-line .sky-night{opacity:.7}
.hero-line .stars circle{fill:#6F7F93}

.cC{margin-top:30px;border:1px solid var(--line);padding:18px 20px;background:var(--sand)}
.cC-top{display:flex;gap:14px;align-items:center}
.cC-ph{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:none}
.cC-ph .guard,.cC-ph img{display:block;width:56px;height:56px;object-fit:cover;object-position:center}
.cC-n{display:flex;flex-direction:column;line-height:1.3}
.cC-n b{font-family:var(--font-display);font-weight:400;font-size:19px}
.cC-n span{font-size:12.5px;color:var(--muted)}
.cC-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;border-top:1px solid var(--line-strong);padding-top:14px}
.cC-s{display:flex;flex-direction:column;gap:4px}
.cC-s b{font-family:var(--font-display);font-weight:300;font-size:26px;line-height:1;color:var(--espresso)}
.cC-s span{font-size:11px;line-height:1.35;color:var(--ink-2);letter-spacing:.02em}

.stats-band .wrap{padding-top:0}.stats-band .tape{border-top:0;margin-top:0}
/* 7.147: photo card with the three numbers */
.cC-ph .guard{position:relative}
@media (max-width:1100px){.cC{max-width:520px}}
@media (max-width:760px){.cC{padding:16px}.cC-s b{font-size:24px}.cC-s span{font-size:11px}}
/* 7.148: the card, polished */
.cC{position:relative;margin-top:30px;border:1px solid var(--line);padding:20px 22px 20px;background:var(--sand);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.cC::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--espresso);transform-origin:left;transform:scaleX(1)}
.cC:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(17,17,17,.28)}
.cC-top{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}
.cC-ph{width:58px;height:58px;box-shadow:0 0 0 3px var(--sand),0 0 0 4px var(--line-strong);transition:box-shadow .4s var(--ease)}
.cC-ph .guard,.cC-ph img{width:58px;height:58px}
.cC-top:hover .cC-ph{box-shadow:0 0 0 3px var(--sand),0 0 0 4px var(--espresso)}
.cC-n{flex:1;min-width:0}
.cC-more{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--forest);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .3s var(--ease),color .3s var(--ease)}
.cC-more .arrow{width:14px;height:8px;transition:transform .3s var(--ease)}
.cC-top:hover .cC-more{border-bottom-color:var(--forest)}
.cC-top:hover .cC-more .arrow{transform:translateX(3px)}
.cC-row{gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-strong)}
.cC-s{gap:6px}
.cC-g{width:32px;height:24px;display:block;margin-bottom:6px;overflow:visible}
.cC-g path{fill:none;stroke:var(--espresso);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cC-g .gf{stroke:var(--line-strong);stroke-width:.9}
.cC-s b{font-size:28px;letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums;font-variation-settings:"SOFT" 0,"opsz" 144;white-space:nowrap}
.cC-s b i{font-style:normal;font-weight:400;font-size:.72em;vertical-align:.22em;margin-left:.03em}
/* entrance, only when motion is on */
.cC.is-ready{opacity:0;transform:translateY(10px)}
.cC.is-ready::before{transform:scaleX(0)}
.cC.is-ready .cC-g path{stroke-dasharray:1;stroke-dashoffset:1}
.cC.is-ready .cC-ph{opacity:0;transform:scale(.92)}
.cC.is-ready.play{animation:cCIn .9s var(--ease) .25s forwards}
.cC.is-ready.play::before{animation:cCLine 1.1s var(--ease) .55s forwards}
.cC.is-ready.play .cC-ph{animation:cCPh .8s var(--ease) .5s forwards}
.cC.is-ready.play .cC-g path{animation:hlDraw 1s var(--ease) forwards;animation-delay:var(--gd)}
.cC.is-ready.play .cC-g .gf{animation-delay:calc(var(--gd) + .35s)}
.cC.is-ready.play:hover{transform:translateY(-3px)}
@keyframes cCIn{to{opacity:1;transform:none}}
@keyframes cCLine{to{transform:scaleX(1)}}
@keyframes cCPh{to{opacity:1;transform:none}}
@media (max-width:760px){.cC{padding:16px 16px 18px}.cC-s b{font-size:24px}.cC-g{width:28px;height:21px}}
.cC-s>span{font-size:11px;line-height:1.35;color:var(--ink-2);letter-spacing:.02em}
.cC-s b span{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit}
.cC-s b{color:var(--espresso)}
.cC-s b i{color:var(--espresso)}
.cC-more{position:absolute;right:22px;bottom:18px}
.cC{padding-bottom:46px}
@media (max-width:760px){.cC-more{font-size:10.5px;gap:7px;right:16px;bottom:14px}.cC{padding-bottom:40px}}
.cC-s b i{font-family:var(--font-text);font-weight:500;font-size:.5em;vertical-align:.8em;margin-left:.08em}
/* 7.149: the deck, real pages blurred, fanned and floating */
.deck-sec .section-head{margin-bottom:clamp(8px,1.5vw,20px)}
.deck{--cw:clamp(260px,30vw,440px);position:relative}
.deck--mini{--cw:clamp(260px,32vw,460px)}
.deck-stage{position:relative;height:calc(var(--cw) * .5625 + 150px);margin:0 auto;max-width:1240px}
.deck--mini .deck-stage{height:calc(var(--cw) * .5625 + 130px)}
.deck-card{position:absolute;left:50%;top:48%;width:var(--cw);aspect-ratio:16/9;padding:0;border:0;background:transparent;cursor:zoom-in;
  transform:translate(-50%,-50%) translateX(calc(var(--x) * 1 + var(--push,0px))) translateY(var(--y)) rotate(var(--r));
  transition:transform .65s var(--ease),filter .4s var(--ease);z-index:calc(10 + var(--i));-webkit-tap-highlight-color:transparent}
.deck-float{display:block;width:100%;height:100%;border-radius:5px;overflow:hidden;background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 24px 50px -28px rgba(17,17,17,.45),0 6px 14px -8px rgba(17,17,17,.18);outline:1px solid rgba(17,17,17,.08);
  animation:deckFloat 7s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.9s);transition:box-shadow .5s var(--ease)}
.deck-float img{display:block;width:100%;height:100%;object-fit:cover}
@keyframes deckFloat{from{transform:translateY(-3px)}to{transform:translateY(4px)}}
.deck-card.is-on{z-index:60;transform:translate(-50%,-50%) translateX(var(--x)) translateY(calc(var(--y) - 34px)) rotate(0deg) scale(1.16)}
.deck-card.is-on .deck-float{box-shadow:0 2px 0 rgba(0,0,0,.04),0 44px 80px -30px rgba(17,17,17,.55),0 10px 22px -10px rgba(17,17,17,.25)}
.deck.has-on .deck-card:not(.is-on){filter:saturate(.85) brightness(.97)}
.deck-card:focus-visible{outline:none}.deck-card:focus-visible .deck-float{outline:2px solid var(--forest);outline-offset:3px}
.deck-mcap{display:none}
/* the deal: cards start stacked, then fan out */
.deck.js .deck-card{transform:translate(-50%,-50%) translateY(30px) rotate(0deg);opacity:0}
.deck.js.dealt .deck-card{opacity:1;transform:translate(-50%,-50%) translateX(calc(var(--x) + var(--push,0px))) translateY(var(--y)) rotate(var(--r));transition:transform .9s var(--ease),opacity .5s ease,filter .4s var(--ease);transition-delay:calc(var(--i) * 70ms)}
.deck.js.dealt.ready .deck-card{transition:transform .6s var(--ease),filter .4s var(--ease);transition-delay:0s}
.deck.js.dealt .deck-card.is-on{transform:translate(-50%,-50%) translateX(var(--x)) translateY(calc(var(--y) - 34px)) rotate(0deg) scale(1.16)}
.deck-cap{text-align:center;min-height:62px;margin-top:4px}
.deck-cap-k{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--forest)}
.deck-cap p{margin:6px auto 0;font-family:var(--font-display);font-weight:300;font-size:clamp(18px,1.6vw,23px);color:var(--espresso);max-width:44ch;line-height:1.35}
.deck-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-top:clamp(18px,2vw,28px)}
/* lightbox */
.deck-lb{position:fixed;inset:0;z-index:200;background:rgba(17,17,17,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .35s ease}
.deck-lb.on{opacity:1}
.deck-lb[hidden]{display:none}
.deck-lb figure{margin:0;max-width:min(1400px,92vw);width:100%}
.deck-lb img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:4px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);transform:scale(.97);transition:transform .45s var(--ease)}
.deck-lb.on img{transform:none}
.deck-lb figcaption{color:#fff;text-align:center;margin-top:18px}
.deck-lb figcaption b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#AEBFD1;font-weight:600}
.deck-lb figcaption span{display:block;font-family:var(--font-display);font-weight:300;font-size:clamp(17px,1.6vw,22px);margin-top:6px}
.deck-lb figcaption i{display:block;font-style:normal;font-size:12px;color:#9a9a9a;margin-top:8px}
.deck-lb button{position:absolute;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;font:inherit;font-size:18px;display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s}
.deck-lb button:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.deck-lb .lb-x{top:18px;right:18px}.deck-lb .lb-p{left:18px;top:50%;margin-top:-23px}.deck-lb .lb-n{right:18px;top:50%;margin-top:-23px}
@media (max-width:760px){
 .deck-stage{height:auto;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 20px 18px;margin:0 calc(var(--gutter) * -1);-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .deck-stage::-webkit-scrollbar{display:none}
 .deck .deck-card,.deck.js .deck-card,.deck.js.dealt .deck-card,.deck.js.dealt .deck-card.is-on{position:relative;left:auto;top:auto;flex:0 0 80vw;width:80vw;aspect-ratio:auto;transform:none;opacity:1;scroll-snap-align:center;text-align:left}
 .deck-float{aspect-ratio:16/9;height:auto;animation:none}
 .deck-mcap{display:block;margin-top:12px;font-size:14px;line-height:1.45;color:var(--ink-2)}
 .deck-mcap b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:3px}
 .deck-cap{display:none}
 .deck-lb .lb-p,.deck-lb .lb-n{top:auto;bottom:22px;margin:0}.deck-lb .lb-p{left:calc(50% - 60px)}.deck-lb .lb-n{right:calc(50% - 60px)}
}
@media (prefers-reduced-motion:reduce){.deck-float{animation:none}.deck.js .deck-card{opacity:1}}
.deck-card{z-index:calc(10 + var(--z))}
.deck-stage{height:calc(var(--cw) * .5625 + 190px)}
.deck--mini .deck-stage{height:calc(var(--cw) * .5625 + 150px)}
.deck-lb{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.deck-swipe{display:none}
@media (max-width:760px){.deck-stage{height:auto}.deck--mini .deck-stage{height:auto}.deck-swipe{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}.deck-swipe .arrow{width:16px;height:9px}}
/* 7.149: real Denver weather in the drawing */
.hero-line .cloud{opacity:0;transition:opacity 2.4s ease}
.hero-line .cloud path{fill:#fff;stroke:var(--line-strong);stroke-width:.9;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.hero-line .c1,.hero-line .c3{animation:wxDrift 70s ease-in-out infinite alternate}
.hero-line .c2,.hero-line .c4{animation:wxDrift 90s ease-in-out infinite alternate-reverse}
@keyframes wxDrift{from{transform:translateX(-14px)}to{transform:translateX(14px)}}
.wx-c1 .hero-line .c2,.wx-c2 .hero-line .c2,.wx-c2 .hero-line .c1,.wx-c3 .hero-line .cloud{opacity:1}
.wx-c3 .hero-line .sky-grey{opacity:1}
.wx-c3 .hero-line .sun{opacity:0!important}
.wx-c3.is-night .hero-line .moon,.wx-c3.is-night .hero-line .stars{opacity:0!important}
.hero-line .fog{opacity:0;transition:opacity 2.4s ease;pointer-events:none}
.wx-fog .hero-line .fog{opacity:1}
.hero-line .hl-wx .drop{stroke:#9FB1C6;stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:wxRain linear infinite}
.hero-line .hl-wx .flake{fill:#8FA0B4;animation:wxSnow linear infinite}
@keyframes wxRain{from{transform:translate(0,-60px)}to{transform:translate(-18px,270px)}}
@keyframes wxSnow{0%{transform:translate(0,-40px)}50%{transform:translate(9px,110px)}100%{transform:translate(-4px,270px)}}
@media (prefers-reduced-motion:reduce){.hero-line .cloud,.hero-line .hl-wx *{animation:none!important}}
/* depth on mouse move */
.hero-line .hl-sky,.hero-line .hl-mtn,.hero-line .hl-wx,.hero-line .hl-front{will-change:transform}
/* smooth page transitions between pages (browsers that support it) */
@view-transition{navigation:auto}
.site-header{view-transition-name:site-header}
::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
::view-transition-old(root){animation-name:vtOut}
::view-transition-new(root){animation-name:vtIn}
@keyframes vtOut{to{opacity:0;transform:translateY(-6px)}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}}
::view-transition-group(site-header){animation-duration:0s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
.deck-sec:not(.deck-sec--mini){padding-top:clamp(8px,1.5vw,24px)}
.deck-sec:not(.deck-sec--mini) .section-head h2{font-size:clamp(28px,2.6vw,40px)}
.deck-sec:not(.deck-sec--mini) .section-head .lede{font-size:clamp(16px,1.25vw,18.5px);max-width:62ch}
.page-hero + .deck-sec{border-top:1px solid var(--line);margin-top:clamp(0px,1vw,12px);padding-top:clamp(28px,3vw,44px)}
/* 7.152: How I price a home, the walkthrough */
.wk-hero .lede{max-width:60ch}
.wk-rule .ptr{margin-top:clamp(12px,2vw,28px)}
.wk-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:start}
.wk-rail{position:sticky;top:120px;display:flex;flex-direction:column;border-left:1px solid var(--line)}
.wk-rail a{display:flex;gap:12px;align-items:baseline;padding:9px 0 9px 18px;margin-left:-1px;border-left:2px solid transparent;font-size:14px;color:var(--muted);text-decoration:none;transition:color .3s var(--ease),border-color .3s var(--ease)}
.wk-rail a span{font-family:var(--font-display);font-weight:300;font-size:15px;min-width:1.6em}
.wk-rail a:hover{color:var(--espresso)}
.wk-rail a.on{color:var(--espresso);border-left-color:var(--espresso);font-weight:600}
.wk-steps{display:flex;flex-direction:column;gap:clamp(64px,8vw,120px)}
.wk-step{scroll-margin-top:110px}
.wk-head{max-width:62ch;margin-bottom:clamp(20px,2.4vw,32px)}
.wk-num{display:flex;align-items:baseline;gap:14px;font-family:var(--font-display);font-weight:300;font-size:clamp(34px,3.4vw,52px);line-height:1;color:var(--line-strong)}
.wk-num i{font-style:normal;font-family:var(--font-text);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--forest)}
.wk-head h2{margin:14px 0 0;font-size:clamp(26px,2.4vw,36px);line-height:1.15}
.wk-head p{margin:14px 0 0;font-size:clamp(16px,1.2vw,18px);line-height:1.65;color:var(--ink-2)}
.wk-slide{display:block;position:relative;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in;border-radius:6px;overflow:hidden;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 30px 60px -34px rgba(17,17,17,.42),0 8px 18px -10px rgba(17,17,17,.16);outline:1px solid rgba(17,17,17,.07);
  transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.wk-slide img{display:block;width:100%;height:auto}
.wk-slide:hover{transform:translateY(-4px);box-shadow:0 2px 0 rgba(0,0,0,.04),0 44px 80px -36px rgba(17,17,17,.5),0 12px 24px -12px rgba(17,17,17,.2)}
.wk-open{position:absolute;right:16px;bottom:16px;background:rgba(17,17,17,.82);color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:9px 14px;border-radius:2px;opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.wk-slide:hover .wk-open,.wk-slide:focus-visible .wk-open{opacity:1;transform:none}
.wk-slide:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
/* reveal on scroll */
.js-wk .wk-step{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js-wk .wk-step.in{opacity:1;transform:none}
.wk-minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.wk-mini{display:flex;flex-direction:column;text-align:left;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit}
.wk-mini img{display:block;width:100%;height:auto;border-radius:5px;background:#fff;box-shadow:0 22px 44px -28px rgba(17,17,17,.4),0 6px 14px -8px rgba(17,17,17,.15);outline:1px solid rgba(17,17,17,.07);transition:transform .5s var(--ease)}
.wk-mini:hover img{transform:translateY(-3px)}
.wk-mini-k{margin-top:16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--forest)}
.wk-mini-t{margin-top:6px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.wk-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);border-top:1px solid var(--espresso)}
.wk-flow li{padding-top:20px}
.wk-flow b{display:block;font-family:var(--font-display);font-weight:300;font-size:30px;color:var(--line-strong);line-height:1}
.wk-flow span{display:block;margin-top:12px;font-weight:600;color:var(--espresso)}
.wk-flow p{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.wk-next .deck-actions{justify-content:flex-start;margin-top:clamp(28px,3vw,40px)}
.wk-note{margin:clamp(28px,3vw,40px) 0 0;font-size:13px;line-height:1.6;color:var(--muted);max-width:80ch}
@media (max-width:1000px){.wk-grid{grid-template-columns:1fr}.wk-rail{display:none}}
@media (max-width:760px){.wk-minis{grid-template-columns:1fr}.wk-flow{grid-template-columns:1fr}.wk-open{opacity:1;transform:none;right:10px;bottom:10px;padding:7px 11px;font-size:10px}.wk-num{font-size:32px}}
@media (prefers-reduced-motion:reduce){.js-wk .wk-step{opacity:1;transform:none}}
.wk-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.wk-stack{position:relative;display:block;aspect-ratio:16/10.5;text-decoration:none;color:inherit}
.wk-stack img{position:absolute;left:8%;top:10%;width:80%;height:auto;border-radius:5px;background:#fff;outline:1px solid rgba(17,17,17,.07);box-shadow:0 30px 60px -34px rgba(17,17,17,.45),0 8px 18px -10px rgba(17,17,17,.16);transition:transform .8s var(--ease)}
.wk-stack img:nth-child(1){transform:translate(12%,-4%) rotate(6deg)}
.wk-stack img:nth-child(2){transform:translate(5%,-1%) rotate(2.5deg)}
.wk-stack img:nth-child(3){transform:translate(-3%,3%) rotate(-2deg)}
.wk-stack:hover img:nth-child(1){transform:translate(17%,-8%) rotate(8deg)}
.wk-stack:hover img:nth-child(2){transform:translate(7%,-3%) rotate(3.5deg)}
.wk-stack:hover img:nth-child(3){transform:translate(-5%,4%) rotate(-3deg)}
.wk-stack-k{position:absolute;left:8%;bottom:0;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--forest);display:inline-flex;gap:8px;align-items:center}
.wk-stack-k .arrow{width:16px;height:9px;transform:rotate(90deg)}
.wk-open{display:inline-flex;align-items:center;gap:8px}
.wk-open em{font-style:normal}
@media (max-width:1000px){.wk-hero-grid{grid-template-columns:1fr}.wk-stack{max-width:520px;width:100%}}
@media (max-width:760px){.wk-open{padding:8px;border-radius:50%}.wk-open em{display:none}.wk-stack{display:none}}

/* 7.153: live price tags and receipts on Selling */
/* ---- the section ---- */
.tr{margin-top:clamp(40px,5vw,72px);padding-top:clamp(28px,3vw,44px);border-top:1px solid var(--line-strong);--blue:#4F6B8A;--red:#A4483A}
.tr-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(28px,3vw,44px)}
.tr-head h3{margin:10px 0 0;font-family:var(--font-display);font-weight:300;font-size:clamp(26px,2.5vw,38px);line-height:1.12;font-variation-settings:"SOFT" 0,"opsz" 144;text-transform:none;letter-spacing:-.01em}
.tr-head p{margin:0;color:var(--ink-2);font-size:clamp(16px,1.2vw,18px);line-height:1.6;max-width:52ch}
.tr-rail{position:relative;padding-top:6px}
.tr-bar{position:absolute;left:0;right:0;top:0;height:2px;background:var(--espresso);transform-origin:left}
.tr-cols{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.tr-col{position:relative;outline:none}
.tr-hang{position:relative;transform-origin:50% -6px}
.tr-string{display:block;width:1px;height:34px;margin:0 auto;background:var(--line-strong)}
.tr-tag{position:relative;background:var(--blue);padding:1.5px;clip-path:polygon(50% 0,100% 18%,100% 100%,0 100%,0 18%);text-align:center}
.tr-tag::before{content:"";position:absolute;inset:1.5px;background:#fff;clip-path:polygon(50% 0,100% 18%,100% 100%,0 100%,0 18%)}
.tr-tag>*{position:relative}
.tr-hole{display:block;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--blue);background:var(--sand);margin:10px auto 0}
.tr-range{display:block;margin:14px 0 0;font-size:12px;font-weight:700;color:var(--espresso);letter-spacing:.02em}
.tr-k{display:block;margin-top:10px;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--blue)}
.tr-v{display:block;margin-top:4px;font-family:var(--font-display);font-weight:300;font-size:clamp(22px,2.1vw,32px);line-height:1.05;color:var(--espresso);font-variant-numeric:lining-nums tabular-nums;font-variation-settings:"SOFT" 0,"opsz" 144;white-space:nowrap}
.tr-s{display:block;margin:4px 0 16px;font-size:11.5px;color:var(--muted)}
.tr-slot{height:6px;margin:16px -4px 0;border-radius:3px;background:#1d1d1d;box-shadow:inset 0 2px 3px rgba(0,0,0,.5)}
.tr-paper{overflow:hidden;margin-top:-3px;padding:0 2px 12px}
.tr-receipt{background:#151515;color:#fff;text-align:center;padding:16px 10px 28px;box-shadow:0 12px 22px -14px rgba(0,0,0,.5);background-image:linear-gradient(#262626 1px,transparent 1px);background-size:100% 4px;background-blend-mode:normal}
.tr-receipt .tr-k{margin-top:0;color:#E0A396;border-bottom:1px dashed #555;padding-bottom:9px;margin-bottom:8px}
.tr-receipt .tr-v{color:#fff}
.tr-receipt .tr-s{color:#b3b3b3;margin-bottom:12px}
.tr-gap{display:block;font-size:12px;color:#cfcfcf}
.tr-gap em{font-style:normal;font-family:var(--font-display);font-size:17px;color:#fff}
.tr-meta{display:block;margin-top:8px;font-size:11px;color:#8d8d8d}
.hot .tr-tag{background:var(--red)} .hot .tr-hole{border-color:var(--red)} .hot .tr-k{color:var(--red)}
.hot .tr-receipt{background:#3a1511;background-image:linear-gradient(#4a1d18 1px,transparent 1px);background-size:100% 4px}
.hot .tr-receipt .tr-k{color:#F2B7AB}.hot .tr-gap em{color:#FFB3A6;font-size:22px;display:block;margin-bottom:2px}
.tr-swipe{display:none}
.tr-src{margin:22px 0 0;font-size:12.5px;color:var(--muted)}
/* ---- motion ---- */
.tr.js .tr-bar{transform:scaleX(0)}
.tr.js .tr-hang{opacity:0;transform:translateY(-70px) rotate(0deg)}
.tr.js .tr-receipt{transform:translateY(-102%)}
.tr.js .tr-gap,.tr.js .tr-meta{opacity:0}
.tr.play .tr-bar{animation:trBar .9s var(--ease) forwards}
.tr.play .tr-hang{animation:trDrop .7s cubic-bezier(.2,.9,.3,1.2) forwards,trSwing 2.6s ease-out forwards;animation-delay:calc(.35s + var(--i)*90ms),calc(1.0s + var(--i)*90ms)}
.tr.play .tr-receipt{animation:trPrint 1.5s steps(24,end) forwards;animation-delay:calc(1.6s + var(--i)*170ms)}
.tr.play .tr-gap,.tr.play .tr-meta{animation:trFade .5s ease forwards;animation-delay:calc(3.1s + var(--i)*170ms)}
.tr.play .hot .tr-receipt{animation-duration:1.9s}
@keyframes trBar{to{transform:scaleX(1)}}
@keyframes trDrop{to{opacity:1;transform:translateY(0)}}
@keyframes trSwing{0%{rotate:0deg}12%{rotate:7deg}30%{rotate:-5deg}48%{rotate:3deg}66%{rotate:-1.5deg}84%{rotate:.6deg}100%{rotate:0deg}}
@keyframes trPrint{to{transform:translateY(0)}}
@keyframes trFade{to{opacity:1}}
.tr-col:hover .tr-hang,.tr-col:focus .tr-hang{animation:trSwing 2.2s ease-out}
.tr.play .tr-col:hover .tr-hang{animation:trSwing 2.2s ease-out}
.tr-col:hover .tr-tag,.tr-col:focus .tr-tag{filter:drop-shadow(0 10px 14px rgba(17,17,17,.12))}
@media (max-width:900px){
 .tr-head{grid-template-columns:1fr}
 .tr-rail{margin:0 calc(var(--gutter)*-1);overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-left:var(--gutter)}
 .tr-rail::-webkit-scrollbar{display:none}
 .tr-bar{left:0;right:auto;width:calc(7*38vw + 6*12px + 2*var(--gutter))}
 .tr-cols{grid-template-columns:repeat(7,38vw);gap:12px;padding:0 var(--gutter);width:max-content}
 .tr-col{scroll-snap-align:start}
 .tr-swipe{display:block;margin:14px 0 0;text-align:right;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}
 .tr-swipe::after{content:" \2192"}
 .tr-v{font-size:24px}
}
@media (prefers-reduced-motion:reduce){.tr.js .tr-bar,.tr.js .tr-hang,.tr.js .tr-receipt{transform:none;opacity:1}.tr.js .tr-gap,.tr.js .tr-meta{opacity:1}.tr.play *{animation:none!important}}

/* 7.153: the dots, scroll driven and smaller */
.dots-track{position:relative;height:calc(min(60vh,42.86vw) + 60px + 5 * 55vh)}
.dots-pin{position:sticky;top:86px}
.opener-plat{aspect-ratio:auto;height:min(60vh,42.86vw)}
.dots-stage{aspect-ratio:auto;height:100%}
.dots-scrollhint{display:none}
@media (max-width:700px){.dots-track{height:calc(min(62vh,100vw) + 90px + 5 * 60vh)}.dots-pin{top:72px}.opener-plat,.dots-stage{aspect-ratio:auto;height:min(62vh,100vw)}}
@media (prefers-reduced-motion:reduce){.dots-track{height:auto}.dots-pin{position:relative;top:auto}}
/* 7.154: homepage story order; dots get their own section */
.opener h1 .line{display:block}
.dots-sec{background:var(--sand)}
.dots-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;padding-top:clamp(56px,6vw,96px);padding-bottom:clamp(20px,2.4vw,32px)}
.dots-head h2{margin:10px 0 0}
.dots-head .lede{margin:0;max-width:52ch}
.dots-sec .opener-caption{padding:16px 0 28px}
@media (max-width:900px){.dots-head{grid-template-columns:1fr;gap:14px}}
.dots-sec .opener-caption img{width:clamp(104px,8.5vw,136px);height:auto;opacity:.92}
.dots-sec .opener-plat{background:var(--sand)}
.opener{padding-bottom:clamp(40px,5vw,72px)}
/* 7.155: Path 2, quieter homepage */
.opener .cred{display:flex;flex-wrap:wrap;gap:6px 0;margin:28px 0 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-2)}
.opener .cred span{white-space:nowrap}
.opener .cred span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--line-strong);margin:0 14px;vertical-align:middle}
.opener .cred span:first-child{color:var(--espresso)}
.means{border-top:1px solid var(--line)}
.means-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:18px}
.means-n{font-family:var(--font-display);font-weight:300;font-size:28px;color:var(--line-strong);line-height:1}
.means h3{margin:14px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(21px,1.7vw,26px);line-height:1.2}
.means p{margin:10px 0 0;color:var(--ink-2);font-size:16px;line-height:1.6}
.dots-track{height:calc(min(60vh,42.86vw) + 60px + 2 * 55vh)}
@media (max-width:700px){.dots-track{height:calc(min(62vh,100vw) + 90px + 2 * 60vh)}}
.firm-strip{background:var(--espresso);color:#fff}
.firm-strip-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:center;padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(36px,4vw,56px)}
.firm-strip img{width:clamp(120px,11vw,168px);height:auto}
.firm-strip p{margin:0;font-family:var(--font-display);font-weight:300;font-size:clamp(19px,1.6vw,24px);line-height:1.4;max-width:58ch}
.firm-strip p span{display:block;margin-top:8px;font-family:var(--font-text);font-size:14px;color:#b3b3b3;line-height:1.55}
.firm-strip .textlink{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
@media (max-width:900px){.means-grid{grid-template-columns:1fr;gap:22px}.firm-strip-in{grid-template-columns:1fr;gap:18px}}
.means--six .means-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:clamp(32px,4vw,56px)}
.means--six{border-top:0}
.hv-who{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.hv-who .guard,.hv-who img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;display:block;overflow:hidden}
.hv-who span{display:flex;flex-direction:column;font-size:13px;color:var(--muted);line-height:1.35}
.hv-who b{font-family:var(--font-display);font-weight:400;font-size:17px;color:var(--espresso)}
.wk-stack{pointer-events:none}
@media (max-width:900px){.means--six .means-grid{grid-template-columns:1fr}}
.opener .sig{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.opener .sig b{display:block;font-family:var(--font-display);font-weight:400;font-size:22px;color:var(--espresso);line-height:1.1}
.opener .sig span{display:block;margin-top:6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.opener .sig img{width:clamp(96px,8vw,124px);height:auto;opacity:.9}
.opener{padding-bottom:clamp(16px,2vw,32px)}
.opener .opener-head{padding-bottom:clamp(24px,3vw,40px)}
@media (max-width:700px){.opener .sig{margin-top:22px}}

/* css-about-2.css */
/* ============================================================
   About, Buying, Corcoran. Second pass.
   Note: this file sorts before css-about.css, so selectors here
   carry one extra class where they meet an existing rule.
   ============================================================ */

/* About. Eyebrow plus a factual h1, set smaller than the big page titles */
.page-hero.about-hero-t h1{font-size:clamp(34px,3.9vw,58px);line-height:1.08;max-width:22ch;text-wrap:balance}

/* About. Off the clock without the photo. Heading left, the two paragraphs
   in the same column as the story above */
.about-life .about-life-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,5vw,96px);align-items:start}
.about-life .about-life-in .eyebrow{display:block;margin-bottom:16px}
.about-life .about-life-in h2{max-width:14ch}
.about-life .about-life-in .prose{color:var(--ink-2);max-width:34rem;padding-top:clamp(0px,2.2vw,34px)}
@media (max-width:900px){
  .about-life .about-life-in{grid-template-columns:1fr;gap:20px}
  .about-life .about-life-in .prose{padding-top:0}
}

/* Corcoran. Three firm figures as a quiet row split by hairlines, not cards */
.firm-figs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.firm-figs li{padding:clamp(22px,2.4vw,30px) clamp(20px,2.6vw,40px)}
.firm-figs li:first-child{padding-left:0}
.firm-figs li+li{border-left:1px solid var(--line)}
.firm-figs b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(34px,3.2vw,48px);line-height:1;color:var(--espresso);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-variation-settings:"SOFT" 0,"opsz" 48}
.firm-figs span{display:block;margin-top:12px;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:30ch;text-wrap:pretty}
@media (max-width:760px){
  .firm-figs{grid-template-columns:1fr}
  .firm-figs li{padding:20px 0}
  .firm-figs li+li{border-left:0;border-top:1px solid var(--line)}
  .firm-figs b{font-size:34px;font-weight:400}
  .firm-figs span{margin-top:8px;max-width:none}
}

/* css-about.css */
/* ============================================================
   About, Buying, Corcoran. Calmer reading, fewer figures.
   ============================================================ */

/* About. Title sits a little closer to the story */
.about-hero-t{padding-bottom:clamp(8px,2vw,24px)}

/* the opening line, set as a quiet lead */
.about-story .about-lead{font-family:var(--font-display);font-weight:300;font-size:clamp(24px,2.1vw,32px);line-height:1.3;color:var(--espresso);margin:0 0 clamp(34px,4vw,52px);max-width:26ch;text-wrap:balance;font-variation-settings:"SOFT" 60,"opsz" 36}
.about-story .prose h3{font-size:clamp(22px,1.7vw,26px)}
.about-story .split .sticky{align-self:start}

/* four ways of working, one per line with a hairline between */
.about-ways{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.about-ways li{padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink-2);text-wrap:pretty}
.about-ways li b{display:block;font-family:var(--font-display);font-weight:400;font-size:19px;color:var(--espresso);margin-bottom:4px;font-variation-settings:"SOFT" 0,"opsz" 24}

/* What I bring, as one statement on the dark band */
.about-bring{background:var(--pine);color:var(--on-pine)}
.about-bring .eyebrow{color:var(--forest-2);display:block}
.about-bring-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,96px);align-items:end}
.about-bring .about-pull{margin-top:18px;max-width:18ch;color:#fff}
.about-bring .about-pull-sub{margin:0;max-width:46ch;font-size:17px;line-height:1.65;color:rgba(255,255,255,.78);text-wrap:pretty}
@media (max-width:900px){.about-bring-in{grid-template-columns:1fr;gap:24px}}

/* Off the clock */
.about-life .split{align-items:center}
.about-life figure.wide img{width:100%;height:auto;display:block;border-radius:2px}
.about-life .copy h2{max-width:14ch}

/* Buying. The firm band carries one quiet line of figures instead of lists */
.firm-band .firm-note{margin:clamp(28px,3vw,40px) 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:15px;line-height:1.55;color:rgba(255,255,255,.72);max-width:70ch}

/* Corcoran. Three figures in one row under the brand band */
.firm-row{list-style:none;margin:clamp(34px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,64px)}
.firm-row li{border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.firm-row b{display:block;font-family:var(--font-display);font-weight:300;font-size:clamp(34px,3.4vw,52px);line-height:1;color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-variation-settings:"SOFT" 0,"opsz" 144}
.firm-row span{display:block;margin-top:10px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.72)}
@media (max-width:700px){
  .firm-row{grid-template-columns:1fr;gap:0}
  .firm-row li{display:grid;grid-template-columns:104px 1fr;align-items:baseline;gap:12px;padding:14px 0}
  .firm-row b{font-size:32px;font-weight:400}
  .firm-row span{margin-top:0}
}
.firm-row+.source{margin-top:clamp(28px,3vw,40px)}

/* Corcoran. The page links sit on their own line under each column */
.diff--prose article p.diff-link{margin-top:22px}

/* Corcoran. Selling and Buying stack on a phone instead of two narrow columns */
@media (max-width:900px){
  #seller .diff.diff--4{grid-template-columns:1fr}
  #seller .diff--4 article{padding-left:0;padding-right:0;border-right:0}
  #seller .diff--4 article+article{padding-top:clamp(26px,5vw,40px)}
}
@media (min-width:901px){#seller .diff--4 article{border-bottom:0}}

/* css-convert-2.css */
/* ---------- convert r2 ---------- */
/* Inline call and text links under Send: a 44px tap area without changing the look.
   The underline moves from border to text-decoration so the padding doesn't push it down. */
.form .actions .small a{display:inline-block;padding:13px 2px;margin:-13px -2px;border-bottom:0;text-decoration:underline;text-decoration-color:var(--line-strong);text-decoration-thickness:1px;text-underline-offset:5px}
.form .actions .small a:hover{text-decoration-color:currentColor}
/* Neighborhoods: the "Ask about an area" link lines up with the gutter when it wraps */
.hood-else .textlink{margin-left:0}

/* css-convert.css */
/* ---------- convert: valuation, contact, review, thank-you (r1) ---------- */

/* Signed line with Jake's photo */
.jk-sig{display:flex;align-items:center;gap:14px}
.jk-sig-ph{flex:none;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--sand-2)}
.jk-sig-ph .guard,.jk-sig-ph img{width:48px;height:48px;object-fit:cover;display:block}
.jk-sig-t{display:flex;flex-direction:column;line-height:1.35}
.jk-sig-t b{font-family:var(--font-display);font-weight:400;font-size:17px;color:var(--espresso)}
.jk-sig-t span{font-size:13px;color:var(--muted)}
.jk-sig-t em{font-style:normal;font-size:13.5px;color:var(--ink-2);margin-top:2px}

/* Home value landing */
.hv{padding:clamp(40px,6vw,96px) 0 clamp(72px,9vw,128px)}
.hv-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:start}
.hv-main .eyebrow{display:block;margin-bottom:18px}
.hv-main h1{font-size:clamp(40px,4.6vw,70px);max-width:17ch}
.hv-lede{margin-top:22px;max-width:40ch}
.hv-form{margin-top:clamp(28px,3vw,44px);gap:22px}
.hv-form .hv-step1{gap:12px 20px}
.hv-form .hv-step1 .small{color:var(--muted)}
.hv-form .field input[name=address]{font-size:18px;padding:14px 0}
.hv-step2{display:grid;gap:22px}
.js-2step.is-step2 .hv-step2{display:grid}
.hv-step2-lead{margin:4px 0 0}
.hv-sig{margin-top:clamp(28px,3vw,40px);padding-top:22px;border-top:1px solid var(--line)}
.hv-card{background:var(--sand);padding:clamp(26px,2.8vw,44px);border-radius:2px;display:grid;gap:30px}
.hv-card .hv-h,.contact-aside .hv-h{font-family:var(--font-text);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0 0 14px;line-height:1.3}
.hv-card p{color:var(--ink-2);margin:0;line-height:1.65;font-size:16px}
.hv-get,.hv-isnt{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hv-get li,.hv-isnt li{position:relative;padding-left:22px;color:var(--ink-2);line-height:1.55;font-size:16px}
.hv-get li::before{content:"";position:absolute;left:0;top:.78em;width:10px;height:1px;background:var(--forest)}
.hv-isnt li::before{content:"";position:absolute;left:1px;top:.55em;width:7px;height:7px;border:1px solid var(--line-strong);border-radius:50%}
.hv-isnt b{font-weight:600;color:var(--espresso)}
.hv-fine{font-size:12.5px !important;color:var(--muted) !important;line-height:1.55 !important;padding-top:20px;border-top:1px solid var(--line)}
@media (max-width:900px){
  .hv-grid{grid-template-columns:1fr}
  .hv-card{margin-top:8px}
}
@media (max-width:700px){
  .hv{padding-top:26px}
  .hv-main .eyebrow{margin-bottom:12px}
  .hv-main h1{font-size:clamp(34px,9.4vw,44px)}
  .hv-lede{margin-top:14px;font-size:18px}
  .hv-form{margin-top:22px;gap:18px}
  .hv-form .hv-step1 .btn{width:100%;justify-content:center}
  .hv-form .hv-step1 .small{width:100%;text-align:center}
  .hv-sig{margin-top:24px;padding-top:18px}
  .hv-card{margin-left:-20px;margin-right:-20px;padding:30px 20px}
}

/* Contact */
.ct-hero{padding-bottom:clamp(24px,3vw,40px)}
.ct-direct{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px}
.ct-ways{display:flex;flex-wrap:wrap;gap:10px}
.ct-ways a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line-strong);border-radius:2px;font-size:13.5px;font-weight:600;letter-spacing:.04em;color:var(--espresso);transition:border-color .25s var(--ease),color .25s var(--ease)}
.ct-ways a:hover{border-color:var(--forest);color:var(--forest)}
.ct-body{padding-top:clamp(28px,3.4vw,56px);padding-bottom:clamp(72px,9vw,140px)}
.ct-body .form{padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.ct-body .contact-aside{padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
@media (max-width:700px){
  .ct-hero{padding-top:28px}
  .ct-hero .lede{margin-top:16px;font-size:18px}
  .ct-direct{margin-top:22px;gap:16px}
  .ct-ways{width:100%;display:grid;grid-template-columns:1.6fr 1fr 1fr}
  .ct-ways a{justify-content:center;padding:0 10px}
}

/* Property review */
.rv-hero{padding-bottom:clamp(20px,2.6vw,36px)}
.rv-hero .lede{max-width:46ch}
.rv-body{padding-top:clamp(20px,2.6vw,40px);padding-bottom:clamp(72px,9vw,140px)}
.rv-body .jk-sig{margin-top:6px;padding-top:22px;border-top:1px solid var(--line)}
.rv-body .hv-get li{font-size:16px}
@media (max-width:700px){
  .rv-hero{padding-top:28px}
  .rv-hero .eyebrow{margin-bottom:12px}
  .rv-hero h1{font-size:clamp(34px,9.4vw,44px)}
  .rv-hero .lede{margin-top:14px;font-size:18px}
  .rv-body{padding-top:14px}
}

/* Thank you */
.ty{padding-bottom:clamp(72px,9vw,140px)}
.ty h1{max-width:16ch}
.ty-note{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px;max-width:720px}
.ty-note p{margin:0;color:var(--ink-2);font-size:15.5px}
.ty-note a{border-bottom:1px solid var(--line-strong)}
.ty .hero-actions{margin-top:34px}
@media (max-width:700px){
  .ty{padding-top:36px}
  .ty .lede{font-size:18px}
  .ty-note{margin-top:26px}
}

/* pass 2 */
.hv a[href^="tel"],.ct-hero a[href^="tel"],.rv-body a[href^="sms"],.rv-body a[href^="tel"],.ty a[href^="tel"],.ct-body a[href^="tel"]{white-space:nowrap}
.ct-ways a{white-space:nowrap}
@media (max-width:480px){.ct-num{display:none}.ct-ways{grid-template-columns:repeat(3,1fr)}}
.rv-hero h1{font-size:clamp(40px,4.6vw,70px);max-width:17ch}
@media (min-width:701px){.rv-hero{padding-top:clamp(40px,6vw,96px)}.ct-hero{padding-top:clamp(40px,6vw,96px)}.ty{padding-top:clamp(40px,6vw,96px)}}
.ty h1{font-size:clamp(38px,4.6vw,70px)}
@media (max-width:700px){.hv{padding-bottom:0}.hv-card{border-radius:0}}

/* css-global-2.css */
/* ============================================================
   css-global-2: the site-wide system, second pass
   Loads after css-global. Form controls in the brand face, one
   numbered-item pattern, one h3 voice, 44px phone controls, a
   dimmed page behind the phone menu, and clear page endings.
   ============================================================ */

/* ---------- Form controls use the site's type, not the browser's ---------- */
button,input,select,textarea{font-family:inherit}
button.btn{font-family:var(--font-text);font-size:15px;font-weight:500;letter-spacing:.005em;line-height:1.25;text-transform:none;cursor:pointer}

/* ---------- One h3 voice ----------
   Every h3 and every FAQ question: Newsreader at a book weight, text optical size.
   :not(#_) lifts the rule above page-level selectors without !important. */
h3:not(#_),.faq summary:not(#_),details.steps-toggle summary:not(#_){font-family:var(--font-display);font-weight:350;font-variation-settings:"SOFT" 0,"opsz" 36;letter-spacing:-.003em}
.tr-head h3:not(#_){font-variation-settings:"SOFT" 0,"opsz" 144}

/* ---------- One numbered-item pattern ----------
   Hairline, a small blue numeral, one h3, then the body. Used by the Selling process,
   the Pricing Brief's four answers and three steps, and Buying's three stages. */
:root{--num-rule:1px solid var(--espresso)}
.process--brief li,.stages li,.means-grid article,.wk-flow li{border-top:var(--num-rule);padding-top:18px}
.means.means--four .means-grid:not(#_){border-top:0;padding-top:0}
.wk-flow{border-top:0}
.process--brief li::before,.stages li::before,.means-n,.wk-flow b{display:block;margin:0 0 14px;padding:0;font-family:var(--font-text);font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1.4;color:var(--forest);font-variant-numeric:tabular-nums}
.process--brief li h3,.stages h3,.means h3,.wk-flow span{margin:0 0 10px;font-family:var(--font-display);font-weight:350;font-size:clamp(22px,1.75vw,26px);line-height:1.18;color:var(--espresso);font-variation-settings:"SOFT" 0,"opsz" 36;letter-spacing:-.003em}
.process--brief li p,.stages p,.means p,.wk-flow p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.stages p+p{margin-top:10px}
/* Buying: the stage label rides on the numeral's line, and the key line reads as body, so each card has three levels */
.stages li::before{display:inline;margin:0}
.stages .stage-when{display:inline;margin:0 0 0 12px;padding-left:12px;border-left:1px solid var(--line-strong);font-size:12px;letter-spacing:.14em;color:var(--muted)}
.stages .stage-when::after{content:"";display:block;height:14px}
.stages .stage-key{font-size:15.5px;font-weight:400;line-height:1.6;color:var(--ink-2)}
.section--sand .stages li,.section--sand .wk-flow li{border-top-color:var(--espresso)}

/* ---------- Ledes: one face per block ---------- */
/* Homepage aside joins the serif ledes used on every other page */
.opener .opener-head .opener-sub{font-family:var(--font-display);font-weight:300;font-size:clamp(19px,1.45vw,22px);line-height:1.45;color:var(--espresso);font-variation-settings:"SOFT" 60,"opsz" 24;max-width:32ch}
.opener .opener-head .opener-sub b{font-weight:450;color:var(--espresso)}
/* Pricing Brief, The idea: the right column is one voice */
.wk-idea .wk-idea-copy p:not(.lede){font-family:var(--font-display);font-weight:300;font-size:clamp(19px,1.45vw,23px);line-height:1.45;color:var(--ink-2);font-variation-settings:"SOFT" 60,"opsz" 24}

/* ---------- Page endings and seams ---------- */
/* A photo that closes a page title sits inside the white, with room below, before a toned section */
main > .wrap:has(> .page-figure):has(+ .section--sand, + .section--sand2, + .firm-band){padding-bottom:var(--space-tight)}
/* A white section straight into the white Get in touch block: one section gap, not two */
.section:not(.section--sand):not(.section--sand2):not(.firm-band) + .cta{padding-top:0}
/* When a page ends on a beige section, the footer takes the deeper tone so the page has an edge */
body:has(main > section.section--sand:last-of-type) .site-footer{background:var(--sand-2);border-top-color:var(--sand-2)}

/* ---------- Closing contact lines: only what you can tap ---------- */
.cta .contact-lines{gap:4px;font-size:15.5px}
.cta .contact-lines a{display:inline-flex;align-items:center;min-height:40px;color:var(--espresso);border-bottom:0;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:5px;text-decoration-thickness:1px}
.cta .contact-lines a:hover{color:var(--forest);text-decoration-color:var(--forest)}

/* ---------- Header controls ----------
   css-global-2 sorts before css-global in the build, so these carry an html prefix to win. */
html .nav .nav-cta{min-height:44px}
@media (max-width:900px){
  html .nav-toggle,html .nav-call{width:44px;height:44px}
  html .nav-toggle::before{top:17px}
  html .nav-toggle::after{top:25px}
  html .nav-toggle[aria-expanded="true"]::before,html .nav-toggle[aria-expanded="true"]::after{top:21px}
  html .nav-hv{height:44px;min-height:44px}
  /* screen order matches reading order: links, then the button, then Call */
  html .nav.is-open .nav-cta,html .nav.is-open a.nav-call-item{order:0}
  /* the page behind the open menu is dimmed and holds still */
  body.nav-open{overflow:hidden}
  body.nav-open::after{content:"";position:fixed;inset:0;z-index:39;background:rgba(17,17,17,.32);animation:navDim .25s var(--ease) both}
}
@keyframes navDim{from{opacity:0}to{opacity:1}}
@media (max-width:374px){html .nav-mobile{gap:4px}html .nav-hv{padding:0 10px}html .brand .name{font-size:19px}html .brand .firm{font-size:9px;letter-spacing:.07em}}
@media (prefers-reduced-motion:reduce){body.nav-open::after{animation:none}}

/* css-global.css */
/* ============================================================
   css-global: the site-wide system (round 1)
   One type scale, one spacing rhythm, one button and link style,
   a calmer header with a phone path to "What's my home worth",
   and a lighter footer.
   ============================================================ */

:root{
  --space-section:clamp(64px,7.2vw,116px);
  --space-tight:clamp(44px,5vw,80px);
  --space-head:clamp(30px,3.6vw,52px);
  --eyebrow-gap:14px;
}

/* ---------- Type scale ---------- */
h1{font-size:clamp(40px,4.9vw,72px);line-height:1.04}
h2,.ad-head h2{font-size:clamp(31px,3.3vw,50px);line-height:1.08;letter-spacing:-.01em}
h3{font-size:clamp(22px,1.85vw,28px);line-height:1.18}
.page-hero h1,.ad-head h1{font-size:clamp(40px,4.9vw,72px);line-height:1.04;letter-spacing:-.015em}
.lede{font-size:clamp(19px,1.45vw,23px);line-height:1.45}

/* eyebrow labels: one size, one color, one gap to the heading */
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.15em;line-height:1.4;text-transform:uppercase;color:var(--forest)}
.section-head .eyebrow,.page-hero .eyebrow,.split .copy .eyebrow,.ad-head .eyebrow,.numbers-head .eyebrow,
.brief .eyebrow,.doors-band .eyebrow,.report-row .eyebrow,.answer-box .eyebrow,.ad--lead .ad-head .eyebrow{display:block;margin-bottom:var(--eyebrow-gap)}
.cta .eyebrow{display:block}
.cta h2{margin-top:var(--eyebrow-gap)}

/* ---------- Section rhythm ---------- */
.section{padding:var(--space-section) 0}
.section--tight{padding:var(--space-tight) 0}
.section-head{margin-bottom:var(--space-head)}
.cta{padding:var(--space-section) 0}
.brief .wrap{padding-top:var(--space-section);padding-bottom:var(--space-section)}
.page-hero{padding:clamp(48px,6.4vw,100px) 0 clamp(36px,4.4vw,64px)}
/* two plain white sections in a row read as one long gap; close it with a hairline instead */
.section:not(.section--sand):not(.section--sand2):not(.firm-band) + .section:not(.section--sand):not(.section--sand2):not(.firm-band){border-top:1px solid var(--line)}

/* a page title followed by a plain white section: the title's own bottom padding is the gap */
.page-hero + .section:not(.section--sand):not(.section--sand2):not(.firm-band):not(.deck-sec),
.page-hero + .section--tight:not(.section--sand):not(.section--sand2){padding-top:clamp(12px,1.6vw,28px)}

/* ---------- Buttons ---------- */
.btn{min-height:52px;padding:14px 26px;gap:12px;justify-content:center;font-size:15px;font-weight:500;letter-spacing:.005em;line-height:1.25;border-radius:2px}
.btn .arrow{width:16px;height:9px}
.hero-actions .btn{min-height:52px}

/* text links: underline hugs the words, the tap target stays 44px tall without showing it */
.textlink{position:relative;min-height:0;padding:2px 0 5px;gap:8px;font-size:15px;font-weight:500;letter-spacing:.005em;line-height:1.3;border-bottom:1px solid var(--line-strong)}
.textlink::before{content:"";position:absolute;left:-6px;right:-6px;top:-11px;bottom:-9px}
.textlink:hover{border-bottom-color:currentColor}
.textlink{justify-self:start}

/* ---------- Header ---------- */
.site-header{transition:box-shadow .3s var(--ease),background .3s var(--ease)}
.site-header.scrolled{box-shadow:0 10px 28px -26px rgba(17,17,17,.55)}
.site-header .wrap{min-height:78px}
.brand{gap:6px}
.brand .name{font-size:23px}
.brand .firm{font-size:10px;letter-spacing:.18em}
.nav a{font-size:14px;letter-spacing:.01em}
.nav a:hover{color:var(--espresso)}
.nav .nav-cta{min-height:42px;padding:0 18px;margin-left:4px;font-size:14px;font-weight:500;letter-spacing:.005em;justify-content:center}
.nav-hv{display:none}
@media (min-width:901px) and (max-width:1180px){.nav{gap:16px}.nav a{font-size:13px;letter-spacing:0}.nav .nav-cta{padding:0 14px;font-size:13.5px}}
.nav-call .ico-phone{width:17px;height:17px;display:block}

@media (max-width:900px){
  .site-header .wrap{min-height:64px;gap:12px}
  .brand{gap:5px;min-width:0;flex:0 1 auto}
  .brand .name{font-size:20px;white-space:nowrap}
  .brand .firm{font-size:9.5px;letter-spacing:.13em;white-space:nowrap}
  .nav-mobile{display:flex;align-items:center;gap:6px;flex:none}
  .nav-hv{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 14px;background:var(--espresso);color:var(--cream);font-size:13.5px;font-weight:500;letter-spacing:.005em;border-radius:2px;white-space:nowrap;transition:background .25s var(--ease)}
  .nav-hv:hover{background:var(--forest)}
  .nav-hv-short{display:none}
  .nav-call{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:2px;color:var(--espresso)}
  .nav-call-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav-call:hover{border-color:var(--espresso)}
  /* menu button drawn as two lines that turn into an X; the word stays for screen readers */
  .nav-toggle{position:relative;width:40px;height:40px;padding:0;font-size:0;line-height:0;color:var(--espresso);border:1px solid var(--line);border-radius:2px;background:transparent}
  .nav-toggle::before,.nav-toggle::after{content:"";position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .28s var(--ease),top .28s var(--ease)}
  .nav-toggle::before{top:15px}
  .nav-toggle::after{top:23px}
  .nav-toggle[aria-expanded="true"]::before{top:19px;transform:rotate(45deg)}
  .nav-toggle[aria-expanded="true"]::after{top:19px;transform:rotate(-45deg)}
  .nav-toggle:hover{border-color:var(--espresso)}

  /* the open menu */
  .nav{padding:6px var(--gutter) 22px;gap:0;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;box-shadow:0 24px 30px -26px rgba(17,17,17,.45)}
  .nav.is-open a{width:100%;min-height:54px;padding:0;font-family:var(--font-display);font-size:22px;font-weight:300;letter-spacing:0;border-bottom:1px solid var(--line);font-variation-settings:"SOFT" 30,"opsz" 24}
  .nav.is-open a::after{display:none}
  .nav.is-open a[aria-current="page"]{color:var(--forest)!important}
  .nav.is-open .nav-cta{order:1;margin:22px 0 0;min-height:52px;justify-content:center;font-family:var(--font-text);font-size:15px;font-weight:500;border-bottom:0}
  .nav.is-open a.nav-call-item{order:2;margin-top:10px;min-height:52px;justify-content:center;font-family:var(--font-text);font-size:15px;font-weight:500;border:1px solid var(--line-strong);border-radius:2px}
}
@media (max-width:600px){
  .nav-hv-long{display:none}
  .nav-hv-short{display:inline}
}
@media (max-width:374px){
  .nav-hv{padding:0 11px;font-size:13px}
  .brand .firm{letter-spacing:.1em}
  .nav-mobile{gap:5px}
}
@media (max-width:350px){.nav-call{display:none}}

/* ---------- Footer, lighter ---------- */
.site-footer{background:var(--sand);color:var(--ink-2);border-top:1px solid var(--line);font-size:14.5px;line-height:1.6}
.site-footer a{color:var(--espresso);min-height:0;display:inline;border-bottom:1px solid transparent}
.site-footer a:hover{color:var(--forest);border-color:currentColor}
.site-footer .fh{font-family:var(--font-text);font-size:11.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.site-footer .ft-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:clamp(28px,4vw,72px);padding:clamp(48px,5.4vw,80px) 0 clamp(36px,4vw,56px);border-bottom:1px solid var(--line)}
.site-footer .ft-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;border:0}
.site-footer .ft-brand:hover{color:var(--espresso)}
.site-footer .ft-brand .name{font-family:var(--font-display);font-size:26px;line-height:1;font-weight:400;letter-spacing:.04em;font-variation-settings:"SOFT" 40,"opsz" 24}
.site-footer .ft-brand .role{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-2)}
.site-footer .ft-area{margin-top:16px;max-width:36ch;color:var(--ink-2)}
.site-footer .ft-lockup{display:flex;align-items:center;gap:18px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line);border-bottom:0;max-width:440px;color:var(--ink-2);font-size:13.5px;line-height:1.5}
.site-footer .ft-lockup img{width:108px;height:auto;flex:none;margin:0;max-height:none}
.site-footer .ft-lockup .ft-more{display:inline;color:var(--espresso);border-bottom:1px solid var(--line-strong);white-space:nowrap}
.site-footer .ft-lockup:hover{color:var(--ink-2)}
.site-footer .ft-lockup:hover .ft-more{color:var(--forest);border-color:var(--forest)}
.site-footer .ft-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:0 clamp(24px,3vw,48px)}
.site-footer .ft-nav li a{display:inline-flex;align-items:center;min-height:36px}
.site-footer .ft-contact address{font-style:normal;display:grid;gap:2px;justify-items:start}
.site-footer .ft-contact address a{display:inline-flex;align-items:center;min-height:32px}
.site-footer .ft-contact address+.fh{margin-top:26px}
.site-footer .legal{padding:24px 0 36px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start;font-size:12px;line-height:1.6;color:var(--muted)}
.site-footer .legal>div{columns:2 340px;column-gap:clamp(28px,4vw,64px)}
.site-footer .legal p{break-inside:avoid}
.site-footer .legal p+p{margin-top:8px}
.site-footer .legal a{color:var(--ink-2);border-bottom:1px solid var(--line-strong)}
.site-footer .legal .eho{width:34px;height:34px;color:var(--ink-2);flex:none}
@media (max-width:1000px){
  .site-footer .ft-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .site-footer .ft-id{grid-column:1/-1}
}
@media (max-width:600px){
  .site-footer{font-size:14.5px}
  .site-footer .ft-top{grid-template-columns:1fr;gap:30px;padding:44px 0 32px}
  .site-footer .ft-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  .site-footer .ft-nav li a{min-height:40px}
  .site-footer .ft-lockup{gap:16px;font-size:13px}
  .site-footer .ft-lockup img{width:92px}
  .site-footer .legal{grid-template-columns:1fr;gap:14px;padding:22px 0 32px;font-size:11.5px}
}
@media (prefers-reduced-motion:reduce){.nav-toggle::before,.nav-toggle::after,.textlink::before{transition:none!important}}

/* css-home-2.css */
/* css-home-2: homepage, second pass (page owner "home").
   This file sorts before css-home.css, so every rule carries an html prefix to win on specificity. */

/* Hero. The required h1 never splits "real estate". */
html .opener h1 .nw{white-space:nowrap}

/* Hero spacing. No sign-off under the actions (the header, the firm band and the footer carry the name and firm),
   no forced full-screen height, and the portrait follows the drawing at section spacing. */
html section.opener{min-height:0;padding-bottom:0}
html .opener .opener-head{padding-bottom:0}
html .intro{padding-top:clamp(72px,6.8vw,100px)}
@media (min-width:1101px){
  html .opener .opener-head{padding-top:clamp(64px,8vw,120px);padding-bottom:0}
}
@media (max-width:700px){
  html .opener .opener-head{padding-bottom:0}
  html .opener .hero-vis{margin-top:8px}
  html .intro{padding-top:44px}
}

/* The dots. The count and its caption sit on a band of the section colour, so dots pass behind it,
   and the plot starts below it (build.py). Count, caption, axis title and source share the page gutter. */
html .dots-title{left:max(var(--gutter),calc((100% - var(--max)) / 2 + var(--gutter)));top:clamp(18px,2.4vw,32px);align-items:center;gap:20px;max-width:min(660px,calc(100% - 2 * var(--gutter) - 150px));background:var(--sand);box-shadow:0 0 0 14px var(--sand)}
html .dots-title .dt-k{font-size:16px;letter-spacing:0;text-transform:none;line-height:1.45;max-width:40ch;color:var(--ink-2);font-weight:400}
html .dots-nav{right:max(var(--gutter),calc((100% - var(--max)) / 2 + var(--gutter)));top:clamp(14px,3.2vw,44px);gap:0;margin-right:-7px}
html .dots-nav button{width:44px;height:44px;min-width:44px;min-height:44px}
html .dots-nav button::after{left:7px;right:7px}
@media (max-width:700px){
  html .dots-title{flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 2 * var(--gutter));box-shadow:0 0 0 10px var(--sand)}
  html .dots-title .dt-k{font-size:15px;max-width:none}
  html .dots-title .dt-v{line-height:1}
}

/* The intro line under the heading matches how the chart is driven. */
html .dots-head .lede-still{display:none}
@media (prefers-reduced-motion:reduce){
  html .dots-track{height:auto!important}
  html .dots-pin{position:relative;top:auto}
  html .dots-head .lede-motion{display:none}
  html .dots-head .lede-still{display:inline}
}
html .dots-title .dt-k{text-wrap:pretty}

/* Tablets. The chart was only about 330px tall at 768 wide; give it a floor so the neighborhoods read. */
@media (min-width:701px) and (max-width:1100px){
  html .dots-sec .opener-plat{height:min(60vh,460px)}
  html .dots-track{height:calc(min(60vh,460px) + 60px + 2 * 55vh)}
  html .dots-pin{top:max(72px,calc(43px + (100vh - min(60vh,460px) - 70px) / 2))}
}

/* css-home.css */
/* css-home: homepage presentation (page owner "home") */

/* Hero. The headline and drawing on the left; the credibility line, the two actions and the signature on the right,
   set to finish on the drawing's ground line. On a desktop the opener fills the first screen. */
.opener .opener-head{grid-template-columns:minmax(0,8fr) minmax(0,4fr);grid-template-areas:"h aside" "vis aside";grid-template-rows:auto auto;row-gap:0;align-items:start}
.opener .opener-aside{grid-area:aside;padding-top:0;align-self:end}
.opener .opener-sub{font-size:clamp(17px,1.3vw,19px);line-height:1.55;max-width:34ch}
.opener .opener-sub b{font-weight:600;color:var(--espresso)}
.opener .opener-actions{margin-top:28px}
.opener .sig{margin-top:40px;padding-top:18px;padding-bottom:1px}
@media (min-width:1101px){
  .opener{display:flex;flex-direction:column;justify-content:center;min-height:min(calc(100svh - 86px),740px);padding-bottom:0}
  .opener .opener-head{width:100%;padding-top:clamp(32px,3vw,48px);padding-bottom:clamp(48px,5vw,72px)}
  .opener .hero-vis{margin-top:clamp(40px,3.6vw,60px)}
}
@media (max-width:1100px){
  .opener .opener-head{grid-template-areas:"h" "aside" "vis";grid-template-columns:1fr;row-gap:26px}
  .opener .opener-aside{align-self:start}
}
@media (max-width:700px){
  .opener .opener-head{row-gap:22px;padding-bottom:36px}
  .opener .opener-sub{font-size:17px}
  .opener .opener-actions{margin-top:24px}
  .opener .sig{margin-top:26px}
  .opener .hero-vis{margin-top:4px}
}

/* The story. A touch less air above so it reads as the next thought, not a new page. */
.intro{padding-top:clamp(64px,7vw,112px)}
.intro .copy .prose p{max-width:60ch}

/* The dots. Short intro; the chart sits centred in the screen while it is pinned. */
.dots-head .lede{max-width:40ch}
.dots-pin{top:max(86px,calc(43px + (100vh - min(60vh,42.86vw) - 70px) / 2))}
.dots-sec .opener-caption{justify-content:flex-start;padding:14px 0 30px}
.dots-sec .plat-caption{font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--muted);max-width:none}
@media (max-width:700px){
  .dots-pin{top:max(72px,calc(36px + (100vh - min(62vh,100vw) - 110px) / 2))}
  .dots-sec .plat-caption{font-size:12px;line-height:1.5}
}
@media (prefers-reduced-motion:reduce){.dots-pin{top:auto}}

/* Doors */
.doors-band{padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px)}
.doors-band .eyebrow{margin-bottom:22px}
.doors{gap:16px}
.door{padding:30px 30px 26px;gap:14px}
.door p{max-width:40ch}
@media (max-width:700px){.door{padding:26px 24px 22px}}

/* Firm strip */
.firm-strip p{text-wrap:balance}
.firm-strip p span{text-wrap:pretty}
.firm-strip .textlink{justify-self:start;white-space:nowrap}

/* Contact */
.cta--form .prose{text-wrap:pretty;max-width:40ch}

/* css-selling-2.css */
/* ============================================================
   css-selling-2 (selling owner, second pass)
   selling.html and pricing-brief.html.
   Note: this file sorts before css-selling.css ("-" before "."),
   so rules here that must win over it carry one more class.
   ============================================================ */

/* ---------- Selling hero: words on the left, the deck on the right ---------- */
.sell-hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,4vw,72px);align-items:center}
.sell-hero h1{font-size:clamp(40px,4.1vw,62px);max-width:22ch}
.sell-hero .sell-hero-copy .lede{max-width:44ch}
.sell-deck{min-width:0}
.sell-deck-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted);text-align:center}
@media (max-width:1100px){
  .sell-hero-grid{grid-template-columns:1fr;gap:clamp(24px,4vw,40px)}
  .sell-hero h1{max-width:18ch}
  .sell-hero .sell-hero-copy .lede{max-width:56ch}
}

/* the fan, sized for a half column on a desktop with a mouse */
@media (min-width:1101px) and (hover:hover){
  .sell-deck .deck{--cw:clamp(240px,25vw,380px)}
  .sell-deck .deck-stage{height:calc(var(--cw) * .5625 + 120px)}
}
@media (min-width:761px) and (max-width:1100px) and (hover:hover){
  .sell-deck .deck-stage{height:calc(var(--cw) * .5625 + 140px)}
}

/* the caption under the fan: the top page's caption by default, hover or focus swaps it */
.sell-deck .deck-cap{min-height:56px;margin-top:0}
.sell-deck .deck-cap-k{font-size:11px;letter-spacing:.14em}
.sell-deck .deck-cap p{margin:4px auto 0;font-family:var(--font-text);font-weight:400;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:48ch}

/* patches over the sample pages: "your home" in place of the sample address, and no walkthrough grid */
.deck-float{position:relative;container-type:inline-size}
.deck-fix{position:absolute;display:block;box-sizing:border-box;background:#FBF7F4;color:#111;overflow:hidden;white-space:nowrap;pointer-events:none}
.deck-fix--w{background:#fff}
.deck-fix--t{font-family:var(--font-display);font-weight:300;font-variation-settings:"opsz" 48;font-size:3cqw;line-height:1;padding:0 0 0 .45cqw;letter-spacing:-.005em;color:#262626}
.deck-fix--s{font-family:var(--font-text);font-size:1.5cqw;line-height:1.95cqw;color:#3a3a3a;white-space:normal;padding:.2cqw 0 0 .5cqw}
.deck-fix--f{font-family:var(--font-text);font-size:1.3cqw;line-height:2.4cqw;color:#4b4846;padding-left:.55cqw}

/* touch screens wider than a phone (tablets): the swipe row with a caption under each page, as on a phone */
@media (hover:none) and (min-width:761px){
  .deck-stage,.deck--mini .deck-stage{height:auto;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 18px;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .deck-stage::-webkit-scrollbar{display:none}
  .deck .deck-card,.deck.js .deck-card,.deck.js.dealt .deck-card,.deck.js.dealt .deck-card.is-on{position:relative;left:auto;top:auto;flex:0 0 min(72%,520px);width:min(72%,520px);aspect-ratio:auto;transform:none;opacity:1;scroll-snap-align:start;text-align:left}
  .deck-float{aspect-ratio:16/9;height:auto;animation:none}
  .deck-mcap{display:block;margin-top:12px;font-size:14px;line-height:1.45;color:var(--ink-2)}
  .deck-mcap b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:3px}
  .deck-cap,.sell-deck .deck-cap{display:none}
  .deck-swipe{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}
  .deck-swipe .arrow{width:16px;height:9px}
  .sell-deck-note{text-align:left}
}

/* phone: one page at a time, full width, a plain caption under it */
@media (max-width:760px){
  .sell-deck .deck-stage{gap:12px;padding:6px var(--gutter) 16px;scroll-padding-inline:var(--gutter)}
  .sell-deck .deck .deck-card{flex:0 0 calc(100vw - var(--gutter) * 2);width:calc(100vw - var(--gutter) * 2);scroll-snap-align:start}
  .sell-deck .deck-mcap{font-size:15px;line-height:1.5}
  .sell-deck-note{text-align:left;margin-top:14px}
}

/* ---------- Price tag and receipt: tag and receipt are the only strong shapes ---------- */
.ptr .ptr-miss{background:transparent;border-left:0;border-top:1px solid var(--line-strong);padding:12px 0 0;color:var(--ink-2)}
.ptr-note{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}

/* ---------- What you get, in writing: the same four on Selling and How I price a home ---------- */
.sell-gets{margin-top:clamp(44px,5vw,76px)}
.sell-gets-h{margin:0 0 clamp(18px,2vw,28px);font-family:var(--font-display);font-weight:400;font-size:clamp(24px,2.2vw,32px);line-height:1.2;color:var(--espresso)}
.gets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.gets li{border-top:1px solid var(--line-strong);padding-top:18px}
.gets h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.6vw,24px);line-height:1.2;color:var(--espresso)}
.gets p{margin:8px 0 0;font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:34ch}
.sell-price .sell-gets .sell-price-more{margin-top:clamp(22px,2.4vw,32px)}
@media (max-width:1000px){.gets{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}
@media (max-width:600px){.gets{grid-template-columns:1fr;gap:0}.gets li{padding:16px 0 18px}.gets li:last-child{padding-bottom:0}}

/* ---------- How I price a home: the hero stands on type ---------- */
.wk-hero-grid--type{align-items:end}
.wk-say{border-top:1px solid var(--espresso);padding-top:clamp(20px,2.4vw,32px)}
.wk-say-big{margin:0;font-family:var(--font-display);font-weight:300;font-size:clamp(30px,3.1vw,46px);line-height:1.1;letter-spacing:-.01em;color:var(--espresso);max-width:22ch}
.wk-say-small{margin:16px 0 0;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:36ch}
@media (max-width:1000px){.wk-hero-grid--type{align-items:start}.wk-say{margin-top:8px}}
.means--gets .section-head{margin-bottom:clamp(20px,2.4vw,32px)}
.wk-next .section-head .lede{max-width:52ch}
.wk-next .deck-actions{justify-content:flex-start}

/* css-selling.css */
/* selling.html and pricing-brief.html (page owner: selling) */

/* Selling hero: keep the lede to a comfortable measure */
.sell-hero .lede{max-width:56ch}

/* How I price: the price tag and receipt carry the section */
.sell-price .section-head .lede{max-width:58ch}
.sell-price .ptr{margin-top:clamp(20px,3vw,40px)}
.sell-price-more{margin-top:clamp(18px,2vw,26px)}

/* Process: short lines, calm columns */
.sell-steps .process--brief li p{max-width:30ch}

/* Where your listing goes: words, not a wall of figures */
.listing-reach .firm-grid p{font-size:16px;line-height:1.65;max-width:38ch}
.listing-reach .section-head .lede{max-width:48ch}

/* Seller questions */
.sell-faq{border-top:1px solid var(--line)}
.sell-faq .sticky h2{max-width:14ch}

/* Pricing brief: the idea as a statement */
.wk-idea .eyebrow{display:block;margin-bottom:clamp(16px,2vw,24px)}
.wk-idea-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,96px);align-items:start;border-top:1px solid var(--espresso);padding-top:clamp(28px,3.5vw,48px)}
.wk-idea-grid h2{margin:0;font-size:clamp(34px,4vw,60px);line-height:1.08;max-width:16ch}
.wk-idea-copy p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.65;max-width:44ch}
.wk-idea-copy p.lede{color:var(--espresso);font-size:clamp(19px,1.45vw,23px);line-height:1.42;max-width:34ch}
.wk-idea-copy p+p{margin-top:1em}
@media (max-width:900px){.wk-idea-grid{grid-template-columns:1fr;gap:22px}}

/* Pricing brief: four answers */
.means--four{border-top:0}
.means--four .means-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:clamp(32px,4vw,56px);border-top:1px solid var(--line);padding-top:clamp(24px,3vw,36px)}
@media (max-width:1100px){.means--four .means-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.means--four .means-grid{grid-template-columns:1fr;gap:26px}}

/* css-zz-integration.css */
/* ============================================================
   css-zz-integration (v7.157)
   css-global loads after css-about and css-convert, so its base
   .page-hero, .page-hero h1, .page-hero .eyebrow and
   ".page-hero + .section--tight" rules overrode the page owners'
   spacing on Contact, Property review, Thank you and About.
   These restore the page owners' intent at a higher specificity.
   ============================================================ */

/* Contact, Property review, Thank you: hero spacing */
.page-hero.ct-hero{padding-bottom:clamp(24px,3vw,40px)}
.page-hero.rv-hero{padding-bottom:clamp(20px,2.6vw,36px)}
.page-hero.ty{padding-bottom:clamp(72px,9vw,140px)}
@media (min-width:701px){
  .page-hero.ct-hero,.page-hero.rv-hero,.page-hero.ty{padding-top:clamp(40px,6vw,96px)}
}
@media (max-width:700px){
  .page-hero.ct-hero,.page-hero.rv-hero{padding-top:28px}
  .page-hero.ty{padding-top:36px}
  .page-hero.rv-hero .eyebrow{margin-bottom:12px}
}

/* Property review and Thank you: the owner's title size */
.page-hero.rv-hero h1{font-size:clamp(40px,4.6vw,70px)}
.page-hero.ty h1{font-size:clamp(38px,4.6vw,70px)}

/* Contact and Property review: the body under the title */
.page-hero.ct-hero + .section--tight.ct-body{padding-top:clamp(28px,3.4vw,56px);padding-bottom:clamp(72px,9vw,140px)}
.page-hero.rv-hero + .section--tight.rv-body{padding-top:clamp(20px,2.6vw,40px);padding-bottom:clamp(72px,9vw,140px)}
@media (max-width:700px){
  .page-hero.rv-hero + .section--tight.rv-body{padding-top:14px}
}

/* About: title sits a little closer to the story, story keeps its own top */
.page-hero.about-hero-t{padding-bottom:clamp(8px,2vw,24px)}
.page-hero--title.about-hero-t + .section--tight.about-story{padding-top:clamp(28px,4vw,56px)}

/* css-zzz-finish.css */
/* ============================================================
   css-zzz-finish (v7.158, finisher)
   Loads last. One grid for every heading-left, text-right block,
   one personal sign-off at the end of a page, the rebuilt price tag,
   the How I price a home steps, and small page fixes.
   ============================================================ */

/* ---------- One split for every heading-left, text-right block ----------
   The right column starts at column 7 of 12 (756px at 1440), the same line as the
   About story, the Selling FAQ and the Selling closing photo. The right column's first
   line sits on the cap height of the h2's first line. */
:root{
  --split-gap:clamp(28px,5vw,96px);
  --h2-size:clamp(31px,3.3vw,50px);
  --lede-size:clamp(19px,1.45vw,23px);
  /* eyebrow line + gap + where the h2's capitals start inside its line, minus the same for the lede */
  --head-drop:calc(11.5px * 1.4 + var(--eyebrow-gap) + var(--h2-size) * .182 - var(--lede-size) * .366);
  /* the same drop for a block whose first line is small text (the sign-off) */
  --sign-drop:calc(11.5px * 1.4 + var(--eyebrow-gap) + var(--h2-size) * .182);
}
.section-head:not(.section-head--stack),
.dots-head,
.about-bring .about-bring-in,
.cta.cta--sign .wrap,
.wk-hero .wk-hero-grid--type,
.wk-next .wk-next-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--split-gap);align-items:start}
.section-head:not(.section-head--stack) > p.lede,
.section-head:not(.section-head--stack) > .section-head-r,
.dots-head > .lede,
.about-bring .about-pull-sub,
.wk-hero .wk-aside{padding-top:var(--head-drop)}
.section-head:not(.section-head--stack) > p.lede,
.section-head-r .lede{max-width:40ch}
.section-head-r .hero-actions{margin-top:22px}
.dots-head{padding-bottom:clamp(20px,2.4vw,32px)}
.about-bring .about-pull-sub{font-family:var(--font-display);font-weight:300;font-size:var(--lede-size);line-height:1.45;color:rgba(255,255,255,.8);max-width:40ch;font-variation-settings:"SOFT" 60,"opsz" 24}
@media (max-width:900px){
  .section-head:not(.section-head--stack),
  .dots-head,
  .about-bring .about-bring-in,
  .cta.cta--sign .wrap,
  .wk-hero .wk-hero-grid--type,
  .wk-next .wk-next-in{grid-template-columns:minmax(0,1fr);gap:18px}
  .section-head:not(.section-head--stack) > p.lede,
  .section-head:not(.section-head--stack) > .section-head-r,
  .dots-head > .lede,
  .about-bring .about-pull-sub,
  .wk-hero .wk-aside{padding-top:0}
}

/* ---------- The trimmed firm bands (Selling, Buying): the head is the whole band ---------- */
.firm-band.listing-reach .section-head,
.firm-band.buyer-firm .section-head{margin-bottom:0}
.firm-band.buyer-firm .section-head h2{max-width:20ch}

/* ---------- One personal sign-off at the end of a page ---------- */
.signoff{padding-top:var(--sign-drop);display:grid;gap:14px;justify-items:start}
.signoff .jk-sig-t b{font-size:18px}
.signoff .jk-sig-t span{font-size:13.5px}
.signoff-lines{margin:0;padding-left:62px;display:grid;gap:2px;font-size:15px}
.signoff-lines a{display:inline-flex;align-items:center;min-height:40px;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-strong);text-decoration-thickness:1px;text-underline-offset:5px;border:0;justify-self:start}
.signoff-lines a:hover{color:var(--forest);text-decoration-color:var(--forest)}
.cta.cta--sign .signoff{border-left:1px solid var(--line);padding-left:clamp(24px,3vw,44px);margin-top:0}
.wk-next .signoff{border-left:1px solid var(--line-strong);padding-left:clamp(24px,3vw,44px)}
@media (max-width:900px){
  .signoff,
  .cta.cta--sign .signoff,
  .wk-next .signoff{padding-top:22px;padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:14px}
  .wk-next .signoff{border-top-color:var(--line-strong)}
}
@media (max-width:420px){.signoff-lines{padding-left:0}}
.signoff-lines a[href^="tel"]{white-space:nowrap}

/* ---------- Selling: the four answers under a standard h2 ---------- */
.sell-price .sell-gets-h2{margin:0 0 clamp(22px,2.6vw,36px);max-width:24ch;text-wrap:balance}

/* ---------- Selling: the price tag as one drawn outline, with a whole eyelet in the point ---------- */
.ptr .ptr-tag{position:relative;isolation:isolate;background:transparent;border:0;border-radius:0;clip-path:none;padding-left:calc(14% + 14px)}
.ptr-shape{position:absolute;inset:.75px;width:calc(100% - 1.5px);height:calc(100% - 1.5px);overflow:visible;z-index:-1;pointer-events:none}
.ptr-shape path{fill:#fff;stroke:var(--forest);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ptr-shape .ptr-d2{display:none}
.ptr-eye{position:absolute;left:18px;top:50%;width:8px;height:8px;margin-top:-4px;border:1.5px solid var(--forest);border-radius:50%;background:var(--sand);box-sizing:border-box}
@media (max-width:900px){
  .ptr .ptr-tag{clip-path:none;padding-left:calc(9% + 20px)}
  .ptr-shape .ptr-d1{display:none}
  .ptr-shape .ptr-d2{display:inline}
  .ptr-eye{left:14px}
}

/* ---------- How I price a home: what happens after you send the address ---------- */
.wk-hero .wk-hero-grid--type h1{max-width:16ch}
.wk-hero .wk-aside .lede{margin:0;max-width:40ch}
.wk-steps{padding-top:clamp(12px,1.6vw,28px)}
.wk-steps .wk-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
.wk-steps .wk-flow span{font-size:clamp(22px,1.75vw,26px)}
.wk-then{margin:clamp(30px,3.4vw,48px) 0 0;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;color:var(--ink-2);font-size:16px}
.wk-next .wk-next-in h2{max-width:18ch;margin-top:var(--eyebrow-gap)}
.wk-next .wk-next-in .eyebrow{display:block}
.wk-next .deck-actions{margin-top:30px;justify-content:flex-start}
@media (max-width:760px){.wk-steps .wk-flow{grid-template-columns:1fr;gap:26px}}

/* ---------- Corcoran: the firm in one sentence ---------- */
.firm-sentence{margin:0;max-width:52ch;padding-top:clamp(22px,2.4vw,30px);border-top:1px solid var(--line);font-family:var(--font-display);font-weight:300;font-size:var(--lede-size);line-height:1.45;color:var(--espresso);font-variation-settings:"SOFT" 60,"opsz" 24;text-wrap:pretty}

/* ---------- Home: scene 2 of the dots has no count, so the two totals never disagree ---------- */
.dots-stage.no-count .dt-v{display:none}
@media (max-width:700px){html .dots-stage.no-count .dots-title{max-width:calc(100% - 2 * var(--gutter) - 144px)}}

/* About: the page now ends dark band, then Get in touch. A dark band into a white block keeps a full section gap. */
.section.about-bring + .cta:not(#_){padding-top:var(--space-section)}

/* 7.169 Corcoran page: the brand figures sit directly under the section head, above the three columns */
.firm-row.firm-row--top{margin:0 0 clamp(40px,4.5vw,64px)}

/* 7.175 What we offer bands on Selling and Buying */
@media (min-width:901px){.firm-row.firm-row--4{grid-template-columns:repeat(4,1fr)}}
.offer-grid{row-gap:clamp(34px,4vw,56px)}
.offer-band .firm-note{max-width:78ch}

/* 7.176 the firm's presentation pages, fanned inside the dark What we offer band on Selling */
.offer-deck{max-width:880px;margin:0 auto clamp(48px,5vw,72px)}
.offer-band .deck-cap-k,.offer-band .deck-mcap b{color:var(--forest-2)}
.offer-band .deck-cap p{color:#fff}
.offer-band .deck-mcap,.offer-band .deck-swipe{color:rgba(255,255,255,.78)}
.offer-band .sell-deck-note{color:var(--on-pine-2)}
@media (min-width:901px){.offer-deck{margin-top:-48px}}

/* 7.177 four doors on the home page; four plain benefits in the offer bands */
@media (min-width:901px){.doors.doors--4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:901px){.offer-grid,.corc-grid{grid-template-columns:repeat(2,1fr);column-gap:clamp(40px,6vw,96px)}}
.corc-split .hero-actions{gap:28px;flex-wrap:wrap}
.hv-after{margin:18px 0 0;font-size:15px;line-height:1.6;color:var(--ink-2);max-width:52ch}
.hv-after b{color:var(--espresso);font-weight:600}

/* 7.178 the Market Report's plain-English opening */
.short-version{margin:0 0 clamp(36px,4vw,56px);padding:clamp(24px,3vw,36px) clamp(24px,3vw,40px);background:var(--sand,#F4F1EC);border-left:3px solid var(--forest)}
.short-version .eyebrow{display:block;margin-bottom:14px}
.short-version p{margin:0 0 12px;font-family:var(--font-display);font-weight:300;font-size:clamp(19px,1.6vw,23px);line-height:1.45;color:var(--espresso);max-width:62ch}
.short-version p:last-child{margin-bottom:0}

/* 7.179 */
.doors-note{margin:-6px 0 22px;font-size:16px;line-height:1.55;color:var(--ink-2);max-width:60ch}
table.data th.r+th.r,table.data td.r+td.r{padding-left:18px}
@media (max-width:700px){
  .mkt-bands th:nth-child(2),.mkt-bands td:nth-child(2),
  .mkt-bands th:nth-child(3),.mkt-bands td:nth-child(3),
  .mkt-bands th:nth-child(4),.mkt-bands td:nth-child(4),
  .mkt-bands th:nth-child(6),.mkt-bands td:nth-child(6),
  .mkt-bands th:nth-child(7),.mkt-bands td:nth-child(7){display:none}
  table.data.mkt-bands{font-size:13.5px;width:100%}
  table.data.mkt-bands th,table.data.mkt-bands th.r{white-space:normal;letter-spacing:.05em;font-size:10px;line-height:1.3;vertical-align:bottom}
  table.data.mkt-bands th,table.data.mkt-bands td,table.data.mkt-bands th.r+th.r,table.data.mkt-bands td.r+td.r{padding-left:8px;padding-right:0}
  table.data.mkt-bands th:first-child,table.data.mkt-bands td:first-child{padding-left:0}
  .band-table-note{display:block}
}
.band-table-note{display:none;margin:10px 0 0;font-size:13px;color:var(--muted)}

/* 7.180 local proof row in the offer bands, fine print gathered at the page foot */
.local-proof{margin:clamp(32px,3.6vw,48px) 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.local-proof-k{font-size:11.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--on-pine-2);margin:0 0 14px}
.local-proof ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,48px)}
.local-proof li{display:flex;align-items:baseline;gap:12px}
.local-proof b{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1;color:#fff;flex:none;font-variant-numeric:tabular-nums}
.local-proof span{font-size:14px;line-height:1.45;color:rgba(255,255,255,.72)}
@media (max-width:900px){.local-proof ul{grid-template-columns:1fr;gap:12px}.local-proof b{min-width:64px}}
.site-footer .legal strong{font-weight:600;color:var(--ink-2)}
.pv-notes p+p,.pv-notes{margin-top:8px}
.pv-notes[hidden]{display:none}
/* 7.180 Selling hero, two example price pages */
.sell-pair{display:flex;flex-direction:column;align-self:center}
.pair-card{display:block;width:74%;border:0;color:inherit;position:relative;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.pair-card img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 18px 40px -18px rgba(0,0,0,.28);background:#F9F7F4}
.pair-card--a{transform:rotate(-1.6deg)}
.pair-card--b{margin:-19% 0 0 auto;z-index:2;transform:rotate(1.2deg)}
.pair-card:hover{transform:rotate(0) translateY(-4px)}
.pair-k{position:absolute;font-size:11.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.pair-card--a .pair-k{bottom:100%;left:0;margin-bottom:10px}
.pair-card--b .pair-k{top:100%;right:0;margin-top:12px}
.pair-cap{margin:46px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2);text-align:right}
@media (max-width:900px){
  .sell-pair{margin-top:34px;padding-top:26px}
  .pair-card{width:86%}
  .pair-card--b{margin-top:-14%}
  .pair-cap{text-align:left;margin-top:44px}
}
/* 7.182 five doors on the home page */
@media (min-width:1180px){.doors.doors--5{grid-template-columns:repeat(5,1fr)}.doors--5 .door{padding:26px 22px 22px}.doors--5 .door h2{font-size:clamp(22px,1.8vw,26px)}.doors--5 .door p{font-size:15px}}
@media (min-width:901px) and (max-width:1179px){.doors.doors--5{grid-template-columns:repeat(3,1fr)}}
.offer-grid article[id]{scroll-margin-top:110px}
.opener .opener-actions .btn{min-width:244px;justify-content:space-between}
@media (min-width:901px){.local-proof ul{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
/* 7.183 Corcoran page as the pitch; light figure rows; pair zoom; home next-step line */
.corc-hero .firm-row{margin-top:clamp(36px,4vw,56px);max-width:1040px}
.corc-hero .firm-row li,.offer-light .firm-row li{border-top-color:var(--line-strong)}
.corc-hero .firm-row b,.offer-light .firm-row b{color:var(--ink)}
.corc-hero .firm-row span,.offer-light .firm-row span{color:var(--ink-2)}
.offer-light .firm-grid{border-top-color:var(--line)}
.offer-light .firm-grid h3{color:var(--ink)}
.offer-light .firm-grid p{color:var(--ink-2)}
.offer-light .firm-row.firm-row--top{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.corc-sell .firm-row.firm-row--top{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.corc-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,64px)}
.corc-facts li{border-top:1px solid var(--line-strong);padding-top:18px}
.corc-facts b{display:block;font-family:var(--font-display);font-weight:300;font-size:clamp(32px,3vw,46px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.corc-facts span{display:block;margin-top:10px;font-size:14.5px;line-height:1.5;color:var(--ink-2);max-width:32ch}
.corc-press{margin:clamp(32px,3.6vw,48px) 0 0;padding-top:20px;border-top:1px solid var(--line);font-family:var(--font-display);font-weight:300;font-size:var(--lede-size);line-height:1.45;color:var(--ink-2);max-width:56ch}
@media (max-width:900px){.corc-facts,.corc-hero .firm-row{grid-template-columns:1fr;gap:0}.corc-facts li{display:grid;grid-template-columns:104px 1fr;align-items:baseline;gap:12px;padding:14px 0}.corc-facts b{font-size:30px;font-weight:400}.corc-facts span{margin-top:0}.offer-light .firm-row.firm-row--top,.corc-sell .firm-row.firm-row--top{grid-template-columns:1fr}}
button.pair-card{background:none;border:0;padding:0;font:inherit;text-align:left;cursor:zoom-in;-webkit-appearance:none;appearance:none}

.pair-tap{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.opener .opener-next{margin:14px 0 0;font-size:14px;line-height:1.55;color:var(--muted);max-width:44ch}
/* 7.184 */
.opener .opener-eyebrow{display:block;margin-bottom:18px}
.wyg{padding-top:clamp(8px,1.4vw,20px);padding-bottom:clamp(48px,5vw,72px)}
.wyg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,56px);border-top:1px solid var(--line-strong);padding-top:clamp(26px,2.8vw,36px)}
.wyg-col .eyebrow{display:block;margin-bottom:14px}
.wyg-col ul,.wyg-col ol{list-style:none;margin:0 0 18px;padding:0}
.wyg-col li{padding:9px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.wyg-col li b{color:var(--ink);font-weight:600}
.wyg-col--steps ol{counter-reset:wy}
.wyg-col--steps li{counter-increment:wy;display:grid;grid-template-columns:28px 1fr;gap:6px}
.wyg-col--steps li::before{content:counter(wy);font-family:var(--font-display);font-size:20px;line-height:1.2;color:var(--forest)}
@media (max-width:900px){.wyg-grid{grid-template-columns:1fr;gap:30px}}
.ptr-simple{display:none;margin:22px 0 0;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:52ch}
.ptr-simple b{color:var(--ink)}
/* 7.197: the graphic shows on phones too, stacked tag, path, receipt, with the one-line takeaway under it */
@media (max-width:700px){
 .sell-price .ptr{display:grid;grid-template-columns:1fr;gap:14px}
 .ptr .ptr-tag,.ptr-receipt{padding-top:18px;padding-right:18px;padding-bottom:20px}
 .ptr-receipt{padding-bottom:30px}
 .ptr strong{font-size:36px}
 .ptr-path{padding:6px 0 2px}
 .ptr-path li{font-size:12.5px;line-height:1.3}
 .ptr-path li span{width:28px;height:28px;font-size:12px}
 .ptr-path ol::before{top:13px;left:16%;right:16%}
 .ptr .ptr-miss{font-size:13.5px!important}
 .ptr-simple{display:block;margin-top:18px}
}
.t-mouse{display:none}
@media (hover:hover) and (pointer:fine){.t-mouse{display:inline}.t-touch{display:none}}
.buy-first{margin:20px 0 0;font-size:15.5px;line-height:1.55;color:var(--ink-2);max-width:56ch}
.move-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,56px)}
.move-steps li{border-top:1px solid var(--line-strong);padding-top:18px}
.move-steps b{display:block;font-family:var(--font-display);font-weight:300;font-size:28px;line-height:1;color:var(--forest);margin-bottom:12px}
.move-steps h3{margin:0 0 8px;font-family:var(--font-display);font-weight:400;font-size:24px}
.move-steps p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
@media (max-width:900px){.move-steps{grid-template-columns:1fr;gap:26px}}
.corc-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.corc-panel{background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3vw,40px);scroll-margin-top:110px}
.corc-panel .eyebrow{display:block;margin-bottom:12px}
.corc-panel h2{font-size:clamp(26px,2.4vw,34px);margin:0 0 22px}
.corc-nums{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.corc-nums li{border-top:1px solid var(--line-strong);padding-top:14px}
.corc-nums b{display:block;font-family:var(--font-display);font-weight:300;font-size:clamp(30px,2.8vw,42px);line-height:1;color:var(--ink)}
.corc-nums span{display:block;margin-top:8px;font-size:14px;line-height:1.45;color:var(--ink-2)}
.corc-panel>p{margin:0 0 18px;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
@media (max-width:900px){.corc-panels{grid-template-columns:1fr}}
.corc-deck .offer-deck{margin-top:0}
.your-area{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin:26px 0 clamp(30px,3.4vw,44px);font-size:15px}
.your-area .eyebrow{margin-right:6px}
.your-area a{color:var(--espresso);border-bottom:1px solid var(--line-strong)}
.your-area a:hover{color:var(--forest);border-color:var(--forest)}
.report-more{margin-top:8px}
.report-more>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid var(--espresso);border-radius:2px;font-weight:600;font-size:15px;color:var(--espresso)}
.report-more>summary::-webkit-details-marker{display:none}
.report-more>summary::after{content:"+";font-size:18px;line-height:1}
.report-more[open]>summary::after{content:"\2212"}
.report-more[open]>summary{margin-bottom:clamp(28px,3vw,40px)}
.opener .opener-head{grid-template-areas:"eb aside" "h aside" "vis aside";grid-template-rows:auto auto auto}
.opener .opener-eyebrow{grid-area:eb}
.opener .opener-head h1{grid-area:h}
.opener .opener-head .hero-vis{grid-area:vis}
@media (max-width:1100px){.opener .opener-head{grid-template-areas:"eb" "h" "aside" "vis";grid-template-rows:auto}.opener .opener-eyebrow{margin-bottom:-12px}}
/* 7.185 one Where to start section after Working with Jake; presentation caption on dark */
.start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,56px)}
.start-col{border-top:1px solid var(--line-strong);padding-top:clamp(22px,2.4vw,30px);display:flex;flex-direction:column}
.start-col h3{margin:0 0 10px;font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.3vw,32px)}
.start-col .start-k{margin:0 0 14px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.start-col ul{flex:1}
.start-links{display:flex;flex-wrap:wrap;gap:10px 24px}
.start-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,3.4vw,56px);margin-top:clamp(40px,4.4vw,64px);padding:clamp(26px,3vw,40px);background:var(--sand);border-radius:4px}
.start-curious h3{margin:0 0 10px;font-family:var(--font-display);font-weight:400;font-size:clamp(24px,2vw,28px)}
.start-curious p{margin:0 0 20px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.start-foot .wyg-col--steps .eyebrow{display:block;margin-bottom:10px}
.start-foot .wyg-col--steps ol{margin:0}
.start-foot .wyg-col--steps li:last-child{border-bottom:0}
@media (max-width:900px){.start-grid,.start-foot{grid-template-columns:1fr}}
.corc-deck .deck-cap p{color:#fff}
.corc-deck .deck-cap-k,.corc-deck .deck-mcap b{color:var(--forest-2)}
.corc-deck .deck-mcap,.corc-deck .deck-swipe{color:rgba(255,255,255,.78)}
/* 7.186 price page as text; flat Corcoran pages; fixes */
.pp{align-self:center;min-width:0}
.pp-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;margin-bottom:18px;background:var(--cream)}
.pp-tab{appearance:none;-webkit-appearance:none;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);padding:9px 18px;border-radius:999px;cursor:pointer;min-height:40px}
.pp-tab[aria-selected="true"]{background:var(--espresso);color:#fff}
.pp-panel{background:#F9F7F4;border:1px solid var(--line);border-radius:4px;padding:clamp(20px,2.4vw,30px);box-shadow:0 18px 40px -24px rgba(0,0,0,.22)}
.pp-panel[hidden]{display:none}
.pp-eb{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4B6F93}
.pp-h{margin:10px 0 18px;font-family:var(--font-display);font-weight:300;font-size:clamp(24px,2.2vw,32px);line-height:1.15;color:var(--ink)}
.pp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pp-cell{background:#fff;border-top:3px solid #8C8C8C;padding:14px 14px 12px}
.pp-cell--dark{background:#1E1E1E;border-top-color:#C0533D}
.pp-k{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4B6F93}
.pp-cell--dark .pp-k{color:#E8A392}
.pp-v{display:block;margin:6px 0 6px;font-family:var(--font-display);font-weight:300;font-size:clamp(22px,1.9vw,28px);line-height:1.05;color:var(--ink)}
.pp-cell--dark .pp-v{color:#fff}
.pp-cell p{margin:0;font-size:13px;line-height:1.45;color:var(--ink-2)}
.pp-cell--dark p{color:#ddd}
.pp-open{appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:14px;margin-top:16px;padding:0;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--espresso);cursor:zoom-in;text-align:left}
.pp-open img{width:96px;height:auto;border:1px solid var(--line);border-radius:2px;flex:none}
.pp-open span{border-bottom:1px solid var(--line-strong)}
.pp-cap{margin:16px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2)}
.pp .sell-deck-note{text-align:left}
@media (max-width:900px){.pp{margin-top:30px}}
@media (max-width:420px){.pp-grid{grid-template-columns:1fr 1fr;gap:8px}.pp-cell{padding:12px 11px 10px}.pp-v{font-size:21px}}
.corc-pages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.corc-page{appearance:none;-webkit-appearance:none;border:0;padding:0;background:none;font:inherit;text-align:left;color:#fff;cursor:zoom-in}
.corc-page img{display:block;width:100%;height:auto;border-radius:3px;background:#fff;transition:transform .3s var(--ease)}
.corc-page:hover img{transform:translateY(-3px)}
.corc-page b{display:block;margin-top:14px;font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--forest-2)}
.corc-page span{display:block;margin-top:6px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.8)}
@media (max-width:900px){.corc-pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.corc-page span{font-size:13.5px}}
.corc-deck{padding-bottom:clamp(56px,6vw,88px)}
@media (max-width:900px){.corc-facts li{grid-template-columns:minmax(0,auto) 1fr;column-gap:18px}.corc-facts b{min-width:72px}}
.site-footer .legal{color:var(--ink-2);font-size:12.5px}
.pp-open span{display:inline-flex;align-items:center;gap:8px}.pp-open svg{width:16px;height:16px;flex:none}
@media (max-width:900px){.corc-facts li{grid-template-columns:132px 1fr}.corc-facts b{min-width:0}}
.corc-page img{aspect-ratio:16/9;object-fit:contain}
/* 7.187 hero photo on Selling; both example price pages side by side */
.sell-hero-photo{margin:0;min-width:0}
.sell-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
@media (max-width:900px){.sell-hero-photo img{aspect-ratio:16/10}}
.sell-examples .pp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);align-items:start}
.sell-examples .pp-panel{display:flex;flex-direction:column}
.sell-examples .pp-h{margin-bottom:4px}
.pp-sub{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--muted)}
.sell-examples .pp-v{font-size:clamp(22px,1.8vw,27px)}
@media (max-width:900px){.sell-examples .pp-pair{grid-template-columns:1fr}}
/* 7.188 */
.opener .opener-next{font-size:16px;line-height:1.55;color:var(--ink-2);max-width:40ch}
.hero-split-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,88px);align-items:end}
.hero-card{background:var(--sand);border:1px solid var(--line);border-radius:4px;padding:clamp(24px,2.6vw,36px)}
.hero-card .eyebrow{display:block;margin-bottom:12px}
.hero-card p{margin:0 0 20px;font-family:var(--font-display);font-weight:300;font-size:clamp(19px,1.5vw,22px);line-height:1.45;color:var(--ink)}
.hero-card .hero-card-alt{margin:18px 0 0;font-family:var(--font-text);font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.corc-hero .hero-split-grid .firm-row{grid-template-columns:1fr;gap:0;margin:0;max-width:none}
.corc-hero .hero-split-grid .firm-row li{display:grid;grid-template-columns:minmax(0,150px) 1fr;align-items:baseline;gap:16px;padding:16px 0}
.corc-hero .hero-split-grid .firm-row b{font-size:clamp(32px,2.8vw,42px)}
.corc-hero .hero-split-grid .firm-row span{margin-top:0}
@media (max-width:900px){.hero-split-grid{grid-template-columns:1fr;gap:28px}.corc-hero .hero-split-grid .firm-row li{grid-template-columns:120px 1fr}}
.corc-vs{margin:-4px 0 14px!important;font-size:13.5px!important;line-height:1.5;color:var(--muted)!important}
.sell-buy .move-steps h3{font-size:24px}
@media (max-width:600px){.sell-examples .pp-grid{grid-template-columns:1fr}.sell-examples .pp-cell{padding:14px 16px}}
.pp-open{cursor:pointer}
.pp-open img[hidden]{display:none}
@media (min-width:901px){.corc-pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,2.6vw,40px)}.corc-page span{font-size:15.5px}}
@media (max-width:900px){.corc-pages{grid-template-columns:1fr;gap:28px}}
@media (max-width:900px){.site-header .wrap{transition:min-height .25s var(--ease)}.site-header.scrolled .wrap{min-height:54px}.site-header.scrolled .brand .firm{display:none}.site-header.scrolled .brand .name{font-size:18px}}
.ft-legal>summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding:6px 0}
.ft-legal>summary::-webkit-details-marker{display:none}
.ft-legal>summary::after{content:" +"}
.ft-legal[open]>summary::after{content:" \2212"}
@media (min-width:901px){.ft-legal>summary{display:none}}
@media (max-width:900px){.site-footer .legal.ft-legal{display:block}.ft-legal[open]>summary{margin-bottom:12px}.ft-legal .eho{margin-bottom:10px}}
/* 7.189 */
/* home opener sub-line, readable: text face, regular weight, full ink */
.opener .opener-head .opener-sub{font-family:var(--font-text);font-weight:400;font-size:clamp(18px,1.3vw,20px);line-height:1.55;color:var(--espresso);font-variation-settings:normal;max-width:36ch}
.opener .opener-head .opener-sub b{font-weight:600;color:var(--espresso)}
.opener .opener-next{color:var(--espresso)}
/* forms, boxed fields */
.field label{color:var(--espresso)}
.field input,.field select,.field textarea,.brief input,.brief select{background-color:#fff;border:1px solid var(--line-strong);border-radius:3px;padding:14px 16px;min-height:52px;color:var(--espresso);box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.field select,.brief select{padding-right:40px;background-color:#fff;background-position:calc(100% - 22px) 55%,calc(100% - 16px) 55%}
.field input::placeholder,.field textarea::placeholder,.brief input::placeholder{color:#8a877f}
.field input:focus,.field select:focus,.field textarea:focus,.brief input:focus,.brief select:focus{outline:0;border-color:var(--forest);box-shadow:0 0 0 3px rgba(79,107,138,.18)}
.hv-form .field input[name=address]{padding:16px 18px;font-size:18px}
.field textarea{min-height:130px}
/* corcoran, one large page */
.corc-big{margin:0}
.corc-big-page{appearance:none;-webkit-appearance:none;display:block;width:100%;border:0;padding:0;background:#fff;border-radius:4px;overflow:hidden;cursor:zoom-in;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.corc-big-page img{display:block;width:100%;height:auto}
.corc-big figcaption{margin-top:16px;font-size:15px;line-height:1.5;color:var(--on-pine-2,#c9cdd2)}
.corc-tap{display:none}
.corc-more{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:26px 0 0}
.corc-more>span{font-size:11.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--on-pine-2,#c9cdd2)}
.corc-deck .corc-more-link{appearance:none;-webkit-appearance:none;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;padding:0 0 6px;font:inherit;font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;cursor:pointer}
.corc-deck .corc-more-link:hover{border-bottom-color:#fff}
.corc-facts-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}
@media (max-width:900px){.corc-tap{display:inline}.corc-more{flex-direction:column;align-items:flex-start;gap:14px}.corc-facts-2{grid-template-columns:1fr}}
@media (min-width:901px){.offer-buy .offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(32px,4vw,64px)}}
/* 7.189 serif paragraphs site-wide, regular weight instead of light, darker */
.lede,.hero-card p,.wk-idea .wk-idea-copy p:not(.lede),.about-bring .about-pull-sub{font-weight:400;font-variation-settings:"opsz" 24}
.firm-band .lede,.about-bring .about-pull-sub{color:rgba(255,255,255,.92)}
.wk-idea .wk-idea-copy p:not(.lede){color:var(--espresso)}
/* 7.191 dot chart, static and button-driven */
html .dots-track{height:auto!important}
html .dots-pin{position:relative!important;top:auto!important}
html .dots-nav{position:absolute;top:clamp(14px,2.4vw,32px);right:max(var(--gutter),calc((100% - var(--max)) / 2 + var(--gutter)));margin:0;gap:6px;z-index:3}
html .dots-nav button{width:auto;height:auto;min-height:40px;min-width:0;padding:9px 14px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;font:600 12px/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--espresso)}
html .dots-nav button::after{display:none}
html .dots-nav button.on{background:var(--espresso);border-color:var(--espresso);color:#fff}
@media (max-width:700px){html .dots-nav{position:absolute;top:8px;left:var(--gutter);right:auto;flex-wrap:nowrap;padding:0}html .dots-nav button{padding:9px 11px;font-size:10.5px;min-height:38px}html .dots-title{top:62px}html .dots-sec .opener-plat,html .dots-sec .dots-stage{height:520px!important;aspect-ratio:auto!important}}
.table-note{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink-2);max-width:80ch}
/* 7.191 Corcoran platform figures as text on phone */
.corc-figs{display:none}
.corc-deck .corc-page-link{display:none}
@media (max-width:900px){
 .corc-figs{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;list-style:none;margin:0 0 6px;padding:0}
 .corc-figs li{border-top:1px solid rgba(255,255,255,.28);padding-top:14px}
 .corc-figs b{display:block;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1;color:#fff}
 .corc-figs span{display:block;margin-top:8px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.82)}
 .corc-big-page,.corc-big figcaption{display:none}
 .corc-deck .corc-page-link{display:inline-flex;margin-top:22px;appearance:none;-webkit-appearance:none;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;padding:0 0 6px;font:inherit;font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;cursor:pointer}
}
/* 7.193 price page comps */
.pp-comps{margin:4px 0 16px;background:#fff;border:1px solid var(--line);padding:14px 16px 6px}
.pp-comps ul{list-style:none;margin:8px 0 0;padding:0}
.pp-comps li{display:grid;grid-template-columns:minmax(0,1.15fr) 28px minmax(0,1.5fr);column-gap:12px;row-gap:2px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--ink-2)}
.pp-comps li:first-child{border-top:0}
.pp-comps li b{color:var(--espresso);font-weight:600}
.pp-comps .pp-n{font-family:var(--font-display);font-size:20px;line-height:1;color:var(--espresso);text-align:right}
.pp-comps .pp-p{color:var(--espresso)}
.pp-comps .pp-r{grid-column:1/-1;color:var(--muted);font-size:13.5px}
.pp-comps li:nth-child(2){background:#F7EFEC;margin:0 -16px;padding:10px 16px}
.move-steps p a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
/* 7.198: the phone header button now reads "What's it worth"; tighten the row so the firm name stays whole */
@media (max-width:430px){html .nav-hv{padding:0 10px}html .nav-mobile{gap:4px}html .brand .firm{letter-spacing:.06em}}
@media (max-width:374px){html .nav-hv{padding:0 8px;font-size:12.5px}html .nav-mobile{gap:3px}html .brand .firm{font-size:8.5px;letter-spacing:.03em}html .brand .name{font-size:18px}}
/* 7.199: phones see the presentation page itself again (tap to enlarge); the 7.198 cut left only bare links */
@media (max-width:900px){
 html .corc-big-page{display:block;margin-top:4px}
 html .corc-big figcaption{display:block;font-size:14px}
 html .corc-deck .corc-page-link{display:none}
}
/* 7.199 column charts: gridlines, a left scale, and a phone-sized copy of wide charts */
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .cg{font-size:10.5px;fill:var(--muted);font-variant-numeric:tabular-nums}
.chart .cc-narrow{display:none}
@media (max-width:600px){.chart .cc-wide{display:none}.chart .cc-narrow{display:block}}
/* 7.201: from Buying, the contact form asks only for contact details and what they're looking for */
.form.is-buying .ct-general{display:none}
