@font-face { font-family: "Cabinet"; src: url("/fonts/cabinet-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Cabinet"; src: url("/fonts/cabinet-800.woff2") format("woff2"); font-weight: 800; font-display: swap; }

:root {
  --paper: #f4f1eb;
  --paper-2: #e9e3d8;
  --white: #fbfaf7;
  --ink: #121314;
  --ink-2: #1d1f22;
  --muted: #5e5f62;
  --line: #d8d0c2;
  --accent: #9a3f2b;
  --gold: #b08d57;
  --on-dark: #f4f1eb;
  --on-dark-muted: #b9b3a8;
  --sans: "Cabinet", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --serif: "Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --wrap: 1280px;
  --gutter: clamp(16px, 4vw, 48px);
  --radius: 2px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 18px; line-height: 1.6; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2 { font-family: var(--serif); font-weight: 300; line-height: 1.04; letter-spacing: -0.015em; margin: 0 0 .5em; text-wrap: balance; }
h1 { font-size: clamp(2.5rem, 5.6vw, 5.2rem); }
h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
h3 { font-weight: 800; font-size: 1.15rem; line-height: 1.25; letter-spacing: -0.005em; margin: 0 0 .5em; }
h1 em, h2 em { color: var(--accent); }
p { margin: 0 0 1em; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.section { padding-top: clamp(64px, 10vw, 140px); padding-bottom: clamp(64px, 10vw, 140px); }
.eyebrow { font-size: .74rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: 1.2rem; display: flex; align-items: center; gap: 12px; }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.serif { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.2; color: var(--accent); }
.lede { font-size: clamp(1.05rem, 1.5vw, 1.22rem); color: var(--muted); max-width: 44rem; }
.fine { font-size: .85rem; color: var(--muted); }
.ico { width: .8em; height: .8em; vertical-align: -0.05em; margin-left: .3em; transition: transform .3s var(--ease); }
a:hover > .ico { transform: translate(2px, -2px); }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 16px; z-index: 100; background: var(--ink); color: var(--paper); padding: 8px 12px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* ---------- header: his name and the brokerage logo side by side; the brokerage logo is the larger mark ---------- */
.site-head { position: sticky; top: 0; z-index: 50; background: rgba(244, 241, 235, .94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); transition: background .4s ease, border-color .4s ease, color .4s ease; }
.head-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 92px; }
.ident { display: flex; align-items: center; gap: 16px; text-decoration: none; }
.ident-name { font-size: 13px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; }
.ident-rule { width: 1px; height: 28px; background: currentColor; opacity: .35; }
.ident-logo { height: 26px; width: auto; }
.ident-pm { height: 66px; width: auto; }
.logo-light { display: none; }
.nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.nav a { text-decoration: none; position: relative; }
.nav a:not(.btn)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.nav a:not(.btn):hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }
.menu-btn { display: none; font: inherit; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; background: none; border: 1px solid currentColor; border-radius: 999px; padding: 8px 16px; color: inherit; }

/* home: transparent header over the photo until you scroll */
.home .site-head { position: fixed; left: 0; right: 0; background: transparent; border-color: transparent; color: var(--on-dark); backdrop-filter: none; }
.home .site-head .logo-dark { display: none; }
.home .site-head .logo-light { display: block; }
.home .site-head .btn { background: var(--on-dark); color: var(--ink); border-color: var(--on-dark); }
.home .site-head.solid { background: rgba(244, 241, 235, .95); border-color: var(--line); color: var(--ink); backdrop-filter: blur(10px); }
.home .site-head.solid .logo-dark { display: block; }
.home .site-head.solid .logo-light { display: none; }
.home .site-head.solid .btn { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ---------- buttons ---------- */
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 28px; border-radius: 999px; background: var(--ink); color: var(--paper); border: 1px solid var(--ink); text-decoration: none; font: inherit; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; overflow: hidden; transition: color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease); }
.btn:hover { transform: translateY(-2px); }
.btn-ghost { background: transparent; color: var(--ink); }
.btn-ghost:hover { background: var(--ink); color: var(--paper); }
.btn-small { min-height: 40px; padding: 8px 20px; font-size: 12px; }
.on-dark .btn { background: var(--on-dark); color: var(--ink); border-color: var(--on-dark); }
.on-dark .btn-ghost { background: transparent; color: var(--on-dark); }
.on-dark .btn-ghost:hover { background: var(--on-dark); color: var(--ink); }
.text-link { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }

/* ---------- hero: crossfading photos, slow push-in ---------- */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end; color: var(--on-dark); overflow: hidden; background: var(--ink); }
.hero-media { position: absolute; inset: 0; }
.slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity 1.8s ease, transform 9s linear; }
.slide.on { opacity: 1; transform: scale(1.0); }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,9,10,.74) 0%, rgba(8,9,10,.42) 55%, rgba(8,9,10,.12) 100%), linear-gradient(180deg, rgba(8,9,10,.45) 0%, rgba(8,9,10,0) 25%, rgba(8,9,10,.25) 55%, rgba(8,9,10,.88) 100%); }
.hero-copy { position: relative; z-index: 1; padding-top: 160px; padding-bottom: clamp(72px, 10vw, 120px); width: 100%; }
.hero h1 { max-width: 13.5em; }
.hero .eyebrow, .hero .lede { color: var(--on-dark-muted); }
.hero-copy > * { animation: rise 1.2s var(--ease) both; }
.hero-copy > *:nth-child(2) { animation-delay: .15s; }
.hero-copy > *:nth-child(3) { animation-delay: .3s; }
.hero-copy > *:nth-child(4) { animation-delay: .45s; }
.hero-scroll { position: absolute; z-index: 1; right: var(--gutter); bottom: 32px; margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: var(--on-dark-muted); writing-mode: vertical-rl; display: flex; align-items: center; gap: 12px; }
.hero-scroll::after { content: ""; width: 1px; height: 56px; background: var(--on-dark-muted); animation: drip 2.4s ease-in-out infinite; transform-origin: top; }
@keyframes rise { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }
@keyframes drip { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* ---------- numbers ---------- */
.stats-band { background: var(--ink); color: var(--on-dark); }
.stats { list-style: none; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(48px, 6vw, 80px); }
.stats li { display: flex; flex-direction: column; gap: 10px; padding: 0 24px; border-left: 1px solid rgba(244,241,235,.16); }
.stats li:first-child { border-left: 0; padding-left: 0; }
.stat-num { font-family: var(--serif); font-weight: 300; font-size: clamp(2.4rem, 4.6vw, 4.2rem); line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.stat-label { color: var(--on-dark-muted); font-size: .9rem; }

/* ---------- statement band: lines drift in opposite directions as you scroll ---------- */
.statement { overflow: hidden; padding: clamp(56px, 9vw, 120px) 0; border-bottom: 1px solid var(--line); }
.statement-line { font-family: var(--serif); font-weight: 300; font-size: clamp(3rem, 9vw, 9rem); line-height: 1.02; letter-spacing: -0.03em; white-space: nowrap; margin: 0; will-change: transform; }
.statement-line:first-child { padding-left: 6vw; }
.statement-line.accent { padding-left: 22vw; color: var(--accent); }

/* ---------- feature story ---------- */
.feature { display: grid; grid-template-columns: 1.3fr 1fr; background: var(--white); }
.feature-media { position: relative; overflow: hidden; min-height: 560px; }
.feature-media img { position: absolute; inset: -8% 0; width: 100%; height: 116%; object-fit: cover; will-change: transform; }
.feature-copy { padding: clamp(40px, 6vw, 96px); align-self: center; }

/* price timeline */
.tl { margin: 36px 0 32px; }
.tl-bar { position: relative; height: 3px; background: var(--line); }
.tl-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--accent); transition: width 1.8s var(--ease); }
.tl ul { list-style: none; margin: 0; padding: 0; position: relative; height: 124px; }
.tl-pt { position: absolute; top: 0; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; text-align: center; white-space: nowrap; opacity: 0; transition: opacity .5s ease; }
.tl-pt::before { content: ""; width: 12px; height: 12px; margin-top: -8px; border-radius: 50%; background: var(--white); border: 2px solid var(--ink); }
.tl-pt b { font-family: var(--serif); font-weight: 400; font-size: 1.2rem; margin-top: 8px; }
.tl-pt span { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.tl-pt:nth-child(2) { top: 64px; }
.tl-pt:nth-child(2)::before { display: none; }
.tl-win b { color: var(--accent); font-size: 1.6rem; }
.tl-win::before { background: var(--accent); border-color: var(--accent); }
.tl.go .tl-pt { opacity: 1; }
.tl.go .tl-pt:nth-child(2) { transition-delay: .5s; }
.tl.go .tl-pt:nth-child(3) { transition-delay: 1s; }
.tl.go .tl-pt:nth-child(4) { transition-delay: 1.6s; }
.tl-note { font-size: .85rem; color: var(--muted); margin-top: 8px; }

/* ---------- seller plan ---------- */
.section-head { margin-bottom: 48px; max-width: 900px; }
.steps { list-style: none; padding: 0; margin: 0 0 48px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); }
.step { padding: 32px 32px 8px 0; }
.step + .step { padding-left: 32px; border-left: 1px solid var(--line); }
.step-n { display: block; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 3.4rem; line-height: 1; color: var(--accent); margin-bottom: 22px; }
.step p { color: var(--muted); font-size: 1rem; }

/* ---------- situations ---------- */
.sits-section { padding-top: 0; }
.sits { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.sit { position: relative; display: flex; flex-direction: column; padding: 32px 26px; background: var(--paper); text-decoration: none; overflow: hidden; transition: color .45s var(--ease); }
.sit::before { content: ""; position: absolute; inset: 0; background: var(--ink); transform: translateY(101%); transition: transform .5s var(--ease); z-index: 0; }
.sit > * { position: relative; z-index: 1; }
.sit:hover { color: var(--on-dark); }
.sit:hover::before { transform: none; }
.sit h3 { font-family: var(--serif); font-weight: 400; font-size: 1.45rem; line-height: 1.15; letter-spacing: -0.01em; }
.sit p { color: var(--muted); font-size: .98rem; flex: 1; transition: color .45s var(--ease); }
.sit:hover p { color: var(--on-dark-muted); }
.sit-go { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.sit:hover .sit-go { color: var(--gold); }

/* ---------- reviews ---------- */
.reviews-band { background: var(--ink); color: var(--on-dark); overflow: hidden; }
.reviews-band .eyebrow { color: var(--on-dark-muted); }
.chips { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.chips a { display: inline-flex; gap: 8px; align-items: baseline; padding: 9px 18px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; font-size: .95rem; transition: border-color .3s ease, background .3s ease; }
.chips a:hover { border-color: currentColor; }
.chips strong { font-family: var(--serif); font-weight: 400; font-size: 1.15rem; }
.chips span { color: var(--muted); font-size: .85rem; }
.reviews-band .chips a { border-color: rgba(244,241,235,.25); }
.reviews-band .chips span { color: var(--on-dark-muted); }
.marquee { overflow: hidden; margin: 16px 0 40px; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.marquee-track { display: flex; gap: 20px; width: max-content; animation: scroll 90s linear infinite; padding: 8px 0; }
.marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes scroll { to { transform: translateX(-50%); } }
.quote { margin: 0; width: 380px; flex: none; padding: 32px; border: 1px solid rgba(244,241,235,.16); }
.quote blockquote { margin: 0 0 18px; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.45rem; line-height: 1.3; }
.quote figcaption { font-size: .85rem; color: var(--on-dark-muted); }
.quote figcaption strong { color: var(--on-dark); }
.reviews-band .text-link { color: var(--on-dark); }

.review-list { columns: 2 420px; column-gap: 24px; padding-bottom: 120px; }
.review { break-inside: avoid; margin: 0 0 24px; padding: 32px; background: var(--white); border: 1px solid var(--line); }
.review blockquote { margin: 0; font-size: 1rem; }
.review .pull { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.6rem; line-height: 1.25; }
.review figcaption { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding-top: 14px; border-top: 1px solid var(--line); font-size: .9rem; }
.review figcaption span { color: var(--muted); }
.review figcaption a { margin-left: auto; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }

/* ---------- about ---------- */
.about-teaser { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(32px, 7vw, 110px); align-items: center; }
.about-teaser .photo { overflow: hidden; }
.about-teaser img, .about-head img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; width: 100%; }
.seen { font-size: .9rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 16px; margin-top: 28px; }
.about-head { display: grid; grid-template-columns: 1.3fr .8fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.about-head h1 { font-size: clamp(2.2rem, 4vw, 3.6rem); }
.about-head img { position: sticky; top: 110px; }

/* ---------- pages ---------- */
.page-head { padding-bottom: 40px; }
.narrow { max-width: 900px; }
.stats-band.inline { margin-top: 0; }

.story { border-top: 1px solid var(--line); padding-top: 72px; }
.story-head { max-width: 900px; margin-bottom: 36px; }
.video { position: relative; aspect-ratio: 16 / 9; background: var(--ink); overflow: hidden; }
.video.vertical { aspect-ratio: 9 / 16; max-width: 360px; }
.video img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.video:hover img { transform: scale(1.04); }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.play { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 10px; background: rgba(8,9,10,.15); border: 0; color: #fff; font: inherit; font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.play svg { width: 92px; height: 92px; transition: transform .35s var(--ease); }
.play:hover svg { transform: scale(1.08); }
.video-note { font-size: .85rem; color: var(--muted); margin-top: 10px; }
.story-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 24px 0 56px; }
.story-gallery img { aspect-ratio: 4/3; object-fit: cover; }
.beats { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px 56px; }
.beat h3 { color: var(--accent); }
.voices { margin: 64px 0 40px; padding-top: 40px; border-top: 1px solid var(--line); }
.voices h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 8px; }
.voices > p { color: var(--muted); max-width: 62ch; margin: 0 0 28px; }
.voices-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 48px; max-width: 980px; margin: 0; padding: 0; list-style: none; }
.voices-list figure { margin: 0; padding-left: 18px; border-left: 2px solid var(--gold); }
.voices-list blockquote { margin: 0 0 10px; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.25rem; line-height: 1.35; }
.voices-list figcaption { font-size: .85rem; color: var(--muted); }
.voices-list figcaption strong { color: var(--ink); }
@media (max-width: 700px) { .voices-list { grid-template-columns: 1fr; } }
.lesson { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.25; max-width: 940px; margin: 56px 0 16px; }
.story-short { display: grid; grid-template-columns: 360px 1fr; gap: 56px; align-items: center; }

.wide-photo img { width: 100%; height: min(64vh, 620px); object-fit: cover; }

/* ---------- contact ---------- */
.contact-band { position: relative; background: var(--ink); color: var(--on-dark); padding: clamp(80px, 11vw, 160px) 0; overflow: hidden; }
.contact-band h2 { font-size: clamp(2.4rem, 5.4vw, 5rem); }
.contact-band p { color: var(--on-dark-muted); }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: start; padding-bottom: 120px; }
.office { margin-top: 36px; color: var(--muted); font-size: .95rem; }
.form { display: grid; gap: 18px; padding: 36px; background: var(--white); border: 1px solid var(--line); }
.form label { display: grid; gap: 6px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.form label span { font-weight: 400; color: var(--muted); letter-spacing: 0; text-transform: none; }
.form input, .form select, .form textarea { font: inherit; font-weight: 400; font-size: 16px; letter-spacing: 0; text-transform: none; padding: 13px 14px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: var(--paper); color: var(--ink); width: 100%; }
.form input:focus, .form select:focus, .form textarea:focus { border-bottom-color: var(--ink); outline: none; }
.hp { display: none; }
.form-status { margin: 0; font-weight: 800; }
.form-status.ok { color: #1f6b3a; }
.form-status.err { color: var(--accent); }

.legal h2 { font-size: 1.8rem; margin-top: 44px; }

/* ---------- footer ---------- */
.site-foot { background: #0b0c0d; color: var(--on-dark-muted); font-size: .88rem; padding: 72px 0 96px; }
.site-foot a { color: var(--on-dark); }
.foot-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px 64px; }
.foot-logos { display: flex; align-items: center; gap: 22px; margin-bottom: 26px; flex-wrap: wrap; }
.foot-cire { width: 320px; height: auto; }
.foot-pm { width: 146px; height: auto; }
.foot-legal { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.12); padding-top: 24px; }
.foot-legal img { margin-bottom: 14px; }

.mobile-bar { display: none; }

/* ---------- scroll reveals (only after JS marks the page) ---------- */
.js .reveal { opacity: 0; transform: translateY(36px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.js .reveal.in { opacity: 1; transform: none; }
.js .steps .step:nth-child(2) { transition-delay: .1s; }
.js .steps .step:nth-child(3) { transition-delay: .2s; }
.js .steps .step:nth-child(4) { transition-delay: .3s; }
.js .stats li:nth-child(2) { transition-delay: .1s; }
.js .stats li:nth-child(3) { transition-delay: .2s; }
.js .stats li:nth-child(4) { transition-delay: .3s; }
.js .reveal-img { clip-path: inset(12% 0 12% 0); transition: clip-path 1.4s var(--ease); }
.js .reveal-img.in { clip-path: inset(0 0 0 0); }

@media (max-width: 1180px) {
  .sits { grid-template-columns: repeat(3, 1fr); }
  .ident-name { letter-spacing: .14em; }
}
@media (max-width: 960px) {
  .menu-btn { display: inline-block; }
  .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: flex-start; gap: 20px; padding: 28px var(--gutter); background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line); }
  .nav.open { display: flex; }
  .home .site-head .nav .btn { background: var(--ink); color: var(--paper); border-color: var(--ink); }
  .stats { grid-template-columns: repeat(2, 1fr); gap: 40px 0; }
  .stats li:nth-child(3) { border-left: 0; padding-left: 0; }
  .feature, .about-teaser, .about-head, .contact-grid, .story-short { grid-template-columns: 1fr; }
  .about-head img { position: static; max-width: 440px; }
  .feature-media { min-height: 340px; }
  .steps { grid-template-columns: 1fr 1fr; }
  .step:nth-child(3) { padding-left: 0; border-left: 0; }
  .story-gallery { grid-template-columns: 1fr 1fr; }
  .story-gallery img:last-child { display: none; }
  .mobile-bar { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: var(--ink); border-top: 1px solid rgba(255,255,255,.15); }
  .mobile-bar a { color: var(--paper); text-align: center; padding: 15px 0; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
  .mobile-bar a + a { border-left: 1px solid rgba(255,255,255,.15); }
  body { padding-bottom: 52px; }
  .hero-scroll { display: none; }
}
@media (max-width: 640px) {
  .head-row { min-height: 64px; gap: 12px; }
  .ident { flex-direction: column; align-items: flex-start; gap: 4px; }
  .ident-rule { display: none; }
  .ident-pm { height: 52px; }
  .sits { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .step, .step + .step { padding: 24px 0 4px; border-left: 0; border-bottom: 1px solid var(--line); }
  .quote { width: 290px; padding: 24px; }
  .quote blockquote { font-size: 1.2rem; }
  .form { padding: 22px; }
  .stats li { padding: 0 16px; }
  .statement-line.accent { padding-left: 10vw; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal, .js .reveal-img { opacity: 1; transform: none; clip-path: none; }
  .slide { transform: none; }
  .marquee { overflow-x: auto; }
}
.stat-pre { font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); min-height: 1em; }

/* ---------- review library ---------- */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.t-stats li { padding-top: 0; }
.t-stat { all: unset; cursor: pointer; display: flex; flex-direction: column; gap: 10px; }
.t-stat:hover .stat-num, .t-stat:focus-visible .stat-num { color: var(--gold); }
.t-stat:focus-visible { outline: 2px solid var(--gold); outline-offset: 6px; }

.rts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.rt { background: var(--white); border: 1px solid var(--line); padding: 32px; }
.rt h3 { font-family: var(--serif); font-weight: 400; font-size: 1.8rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 24px; }
.rt h3 span { font-family: var(--sans); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.rt ol { list-style: none; margin: 0; padding: 0 0 0 26px; position: relative; }
.rt ol::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 1px; background: var(--line); }
.rt li { position: relative; padding-bottom: 22px; }
.rt li:last-child { padding-bottom: 0; }
.rt li::before { content: ""; position: absolute; left: -26px; top: 6px; width: 11px; height: 11px; border-radius: 50%; background: var(--white); border: 2px solid var(--ink); }
.rt li:last-child::before { background: var(--accent); border-color: var(--accent); }
.rt-year { font-family: var(--serif); font-size: 1.3rem; margin-right: 10px; }
.rt-what { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.rt li p { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.15rem; line-height: 1.35; margin: 6px 0 4px; }
.rt-link { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--accent); }

.lib { padding-top: 0; }
.lib-tools { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.f-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.f-chip { font: inherit; font-size: 13px; font-weight: 800; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.f-chip span { color: var(--muted); font-weight: 400; margin-left: 4px; }
.f-chip:hover { border-color: var(--ink); }
.f-chip.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.f-chip.on span { color: var(--on-dark-muted); }
.lib-search input { font: inherit; font-size: 16px; width: min(340px, 100%); padding: 11px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); }
.lib-search input:focus { outline: none; border-color: var(--ink); }
.lib-search { flex: 1 1 260px; display: flex; justify-content: flex-end; }
.lib-count { font-size: .85rem; color: var(--muted); margin-bottom: 24px; }
.lib-grid { columns: 3 320px; column-gap: 20px; }
.lib-card { break-inside: avoid; margin: 0 0 20px; padding: 28px; background: var(--white); border: 1px solid var(--line); font-size: .98rem; transition: box-shadow .4s ease, border-color .4s ease; }
.lib-card[hidden] { display: none; }
.lib-card.flash { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(154,63,43,.2); }
.lib-pull { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.35rem; line-height: 1.3; }
.lib-card details summary { list-style: none; cursor: pointer; }
.lib-card details summary::-webkit-details-marker { display: none; }
.lib-card .more { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.lib-card details[open] summary { margin-bottom: 12px; }
.lib-card details[open] .more { display: none; }
.lib-card footer { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; border-top: 1px solid var(--line); padding-top: 14px; margin-top: 8px; font-size: .88rem; }
.lib-card footer span { color: var(--muted); }
.lib-empty { padding: 40px 0; color: var(--muted); }
@media (max-width: 960px) { .rts { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .lib-search { justify-content: stretch; } .lib-search input { width: 100%; } .f-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; margin: 0 calc(var(--gutter) * -1); padding-left: var(--gutter); padding-right: var(--gutter); } .f-chip { flex: none; } }

/* ---------- review reader: sidebar + one review at a time ---------- */
.reader { display: grid; grid-template-columns: 360px 1fr; gap: 0; border: 1px solid var(--line); background: var(--white); }
.rd-side { position: sticky; top: 92px; align-self: start; max-height: calc(100vh - 110px); display: flex; flex-direction: column; gap: 14px; padding: 24px; border-right: 1px solid var(--line); background: var(--paper); }
.rd-side .lib-search { flex: none; display: block; }
.rd-side .lib-search input { width: 100%; }
.rd-side .f-chips { gap: 6px; }
.rd-side .f-chip { font-size: 12px; padding: 7px 12px; }
.rd-side .lib-count { margin: 0; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ix-toggle { display: none; }
.rd-index { list-style: none; margin: 0 -24px; padding: 0; overflow-y: auto; flex: 1; border-top: 1px solid var(--line); }
.rd-index li[hidden] { display: none; }
.rd-index a { display: block; padding: 14px 24px; text-decoration: none; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; transition: background .2s ease; }
.rd-index a:hover { background: var(--white); }
.rd-index li.on a { background: var(--white); border-left-color: var(--accent); }
.ix-q { display: block; font-family: var(--serif); font-style: italic; font-size: 1rem; line-height: 1.3; }
.ix-who { display: block; margin-top: 4px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

.rd-main { padding: clamp(24px, 4vw, 56px); min-width: 0; }
.rd-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 32px; }
.rd-nav-bottom { border-bottom: 0; border-top: 1px solid var(--line); padding: 20px 0 0; margin: 40px 0 0; }
.rd-nav button { font: inherit; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--ink); border-radius: 999px; padding: 10px 18px; color: var(--ink); cursor: pointer; transition: background .25s ease, color .25s ease; }
.rd-nav button:hover:not(:disabled) { background: var(--ink); color: var(--paper); }
.rd-nav button:disabled { opacity: .3; cursor: default; }
.rd-pos { font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); text-align: center; }

.reader .lib-card { border: 0; padding: 0; margin: 0; background: none; font-size: 1.08rem; line-height: 1.75; max-width: 46rem; animation: rdIn .45s var(--ease); }
.reader .lib-card[hidden] { display: none; }
.reader .lib-pull { font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.18; margin-bottom: 28px; color: var(--ink); }
.reader .lib-card footer { font-size: .95rem; margin-top: 24px; }
.rd-more { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; }
.rd-more > span { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-right: 4px; }
.rd-tag { font: inherit; font-size: 12px; font-weight: 800; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); cursor: pointer; }
.rd-tag:hover { border-color: var(--accent); color: var(--accent); }
.rd-client { margin-top: 36px; padding: 24px; background: var(--paper); border-left: 3px solid var(--accent); max-width: 46rem; }
.rd-client ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rd-client a { text-decoration: none; font-size: .95rem; }
.rd-client a:hover { color: var(--accent); }
.rd-client li.here a { font-weight: 800; }
.rd-client li.here a::after { content: "  (reading now)"; font-weight: 400; color: var(--muted); }
@keyframes rdIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* without JS the reader is a plain list of every review */
.reader:not(.on) { display: block; }
.reader:not(.on) .rd-nav, .reader:not(.on) .rd-index, .reader:not(.on) .rd-side { display: none; }
.reader:not(.on) .lib-card { margin-bottom: 40px; }

@media (max-width: 960px) {
  .reader { grid-template-columns: minmax(0, 1fr); }
  .rd-side { min-width: 0; }
  .rd-side { position: static; max-height: none; border-right: 0; border-bottom: 1px solid var(--line); padding: 18px; }
  .rd-side .f-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -18px; padding: 0 18px 4px; }
  .rd-side .f-chip { flex: none; }
  .ix-toggle { display: block; font: inherit; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--ink); border-radius: 999px; padding: 10px; color: var(--ink); }
  .rd-index { display: none; margin: 0 -18px; max-height: 60vh; }
  .reader.browsing .rd-index { display: block; }
  .reader.browsing .rd-main { display: none; }
  .rd-index a { padding: 14px 18px; }
}

/* ---------- reviews page v3: reader first, sources last ---------- */
.rv-head { padding-bottom: 48px; }
.rv-head .text-link { display: inline-block; margin-top: 8px; }
.t-stats { grid-template-columns: repeat(5, 1fr); }
.t-star .stat-num { color: var(--gold); }
.lib { padding-top: clamp(40px, 6vw, 72px); }
.f-chip.f-star { border-color: var(--gold); background: rgba(176,141,87,.12); }
.f-chip.f-star.on { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.f-chip.f-star.on span { color: var(--ink); }
.rd-client { margin: 0 0 28px; padding: 16px 20px; background: var(--paper); border-left: 3px solid var(--gold); max-width: 46rem; }
.rd-client p { margin: 0 0 10px; font-size: .95rem; }
.rc-years { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rc-years a { font-family: var(--serif); font-size: 1.15rem; text-decoration: none; padding: 4px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
.rc-years a:hover { border-color: var(--ink); }
.rc-years a.here { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.rc-years span { color: var(--muted); }
.rv-sources { padding-top: 56px; padding-bottom: 72px; max-width: 900px; color: var(--muted); font-size: .95rem; }
.chips-quiet a { font-size: .85rem; padding: 6px 14px; }
@media (max-width: 960px) {
  .t-stats { grid-template-columns: repeat(2, 1fr); }
  .t-stats li:nth-child(3), .t-stats li:nth-child(5) { border-left: 0; padding-left: 0; }
  .t-stats li:nth-child(4) { border-left: 1px solid rgba(244,241,235,.16); padding-left: 24px; }
}

/* ---------- situations: the spine ---------- */
.sits { grid-template-columns: repeat(4, 1fr); }
.sit-side { font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; transition: color .45s var(--ease); }
.sit:hover .sit-side { color: var(--gold); }
.sit-else { background: var(--paper-2); }
.sits-hub { padding-bottom: clamp(64px, 9vw, 120px); }
.back { display: inline-block; margin-bottom: 28px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--muted); }
.back:hover { color: var(--ink); }
.s-head h1 { max-width: 16em; }
.s-start { background: var(--ink); color: var(--on-dark); padding: clamp(56px, 8vw, 104px) 0; }
.s-start .eyebrow { color: var(--on-dark-muted); }
.big-q { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(1.9rem, 4vw, 3.4rem); line-height: 1.15; max-width: 22em; margin: 0; }
.s-search { margin-top: 24px; color: var(--on-dark-muted); font-size: .95rem; }
.s-search a { color: var(--on-dark); font-weight: 800; }
.s-rev-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 36px; }
.s-rev { margin: 0; padding: 32px; background: var(--white); border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.s-rev blockquote { margin: 0; font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.45rem; line-height: 1.3; }
.s-rev figcaption { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; font-size: .9rem; border-top: 1px solid var(--line); padding-top: 14px; }
.s-rev figcaption a { margin-left: auto; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--accent); }
.s-videos { padding-top: 0; }
.s-questions { padding-top: 0; }
.q-list { list-style: none; padding: 0; margin: 0 0 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.q-list li { padding: 28px; border-top: 2px solid var(--ink); background: var(--white); }
.q-list h3 { font-family: var(--serif); font-weight: 400; font-size: 1.6rem; line-height: 1.15; }
.q-list p { color: var(--muted); font-size: 1rem; }
.s-other { padding-top: 0; }

/* ---------- questions page ---------- */
.q-page { padding-top: 0; }
.q-big { list-style: none; margin: 0; padding: 0; }
.q-big li { display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 48px 0; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.q-n { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 3.4rem; line-height: 1; color: var(--accent); }
.q-big h2 { font-size: clamp(1.9rem, 3.4vw, 3rem); margin-bottom: .4em; }
.q-big p { max-width: 44rem; font-size: 1.08rem; }
.q-rel { color: var(--muted); font-size: .92rem !important; }
.q-rel a { color: var(--ink); }

/* ---------- video library ---------- */
.v-lib .v-chips { margin-bottom: 28px; }
.v-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; align-items: start; }
.v-card { margin: 0; }
.v-card[hidden] { display: none; }
.v-card:not(.vertical) { grid-column: span 2; }
.v-card .video.vertical { max-width: none; }
.v-card figcaption { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; }
.v-kind { font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.v-card strong { font-family: var(--serif); font-weight: 400; font-size: 1.2rem; line-height: 1.25; }
.v-tags { font-size: .82rem; color: var(--muted); }

/* ---------- guided contact form ---------- */
.matters { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.matters legend { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; padding: 0; }
.matters legend span { font-weight: 400; color: var(--muted); letter-spacing: 0; text-transform: none; }
.m-chip { display: inline-flex !important; cursor: pointer; }
.m-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.m-chip span { font-size: 13px; font-weight: 800; letter-spacing: 0; text-transform: none; padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); transition: background .2s ease, color .2s ease, border-color .2s ease; }
.m-chip input:checked + span { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.m-chip input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.q-carry { margin: 0; padding: 14px 16px; background: var(--paper); border-left: 3px solid var(--accent); font-family: var(--serif); font-style: italic; font-size: 1.15rem; }

@media (max-width: 1180px) { .sits { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 960px) {
  .s-rev-grid { grid-template-columns: 1fr; }
  .q-big li { grid-template-columns: 1fr; gap: 8px; padding: 36px 0; }
  .v-card:not(.vertical) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .sits { grid-template-columns: 1fr; }
  .v-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .v-card strong { font-size: 1rem; }
}

/* situation photo band */
.s-photo { overflow: hidden; }
.s-photo img { width: 100%; height: min(54vh, 560px); object-fit: cover; }
.foot-logos a { display: inline-block; }

/* awards wall */
.awards { padding: clamp(64px, 9vw, 120px) 0; background: var(--white); border-bottom: 1px solid var(--line); }
.aw-strip { list-style: none; margin: 0 auto; max-width: var(--wrap); padding: 8px var(--gutter) 8px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px 20px; }
@media (max-width: 960px) { .aw-strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 62vw; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); padding-bottom: 20px; } }
.aw { scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px; }
.aw img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); transition: transform .6s var(--ease); }
.aw:hover img { transform: translateY(-6px); }
.aw-year { font-family: var(--serif); font-weight: 300; font-size: 2rem; line-height: 1; margin-top: 10px; }
.aw-name { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }

/* award tiles: solid face, the photo on hover/tap */
.aw-tile { all: unset; position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; cursor: pointer; overflow: hidden; background: var(--ink); color: var(--on-dark); border-radius: var(--radius); }
.aw-tile:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.aw-face { position: absolute; inset: 10px; border: 1px solid rgba(176,141,87,.55); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px; padding: 12px; transition: opacity .5s var(--ease); }
.aw-brand { font-family: var(--serif); font-size: .95rem; color: var(--on-dark-muted); margin-bottom: 10px; }
.aw .aw-year { font-family: var(--serif); font-weight: 300; font-size: clamp(2.4rem, 3.4vw, 3.2rem); line-height: 1; margin: 0; color: var(--on-dark); }
.aw-tier { font-family: var(--serif); font-style: italic; font-size: 1.15rem; color: var(--gold); margin-top: 8px; }
.aw-title { font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--on-dark); }
.aw .aw-name { position: absolute; bottom: 16px; left: 0; right: 0; font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.aw-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s var(--ease); }
.aw .aw-tile img { aspect-ratio: auto; border-radius: 0; }
.aw:hover .aw-tile img { transform: none; }
@media (hover: hover) { .aw-tile:hover img { opacity: 1; } .aw-tile:hover .aw-face { opacity: 0; } }
.aw-tile.show img { opacity: 1; }
.aw-tile.show .aw-face { opacity: 0; }

/* Home value page */
.steps-3 { grid-template-columns: repeat(3, 1fr); }
.hv-points { list-style: none; padding: 0; margin: 28px 0; border-top: 1px solid var(--line); }
.hv-points li { padding: 14px 0 14px 28px; border-bottom: 1px solid var(--line); position: relative; }
.hv-points li::before { content: ""; position: absolute; left: 4px; top: 1.35em; width: 12px; height: 1px; background: var(--accent); }
@media (max-width: 960px) { .steps-3 { grid-template-columns: 1fr; } .steps-3 .step + .step { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); } }
.hv-listed { color: var(--muted); }
.hv-listed a { white-space: nowrap; }

/* EP1 chapters */
.chapters { margin: 28px 0 8px; }
.chapters ol { list-style: none; padding: 0; margin: 12px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); column-gap: 48px; border-top: 1px solid var(--line); }
.chapters li { border-bottom: 1px solid var(--line); }
.chapters a { display: flex; align-items: baseline; gap: 14px; padding: 12px 4px; text-decoration: none; color: inherit; }
.chapters a:hover .ch-n, .chapters a:focus-visible .ch-n { color: var(--accent); }
.ch-t { font-variant-numeric: tabular-nums; color: var(--accent); min-width: 2.6em; }
.ch-n { flex: 1; }
.ch-n { display: flex; flex-direction: column; gap: 2px; }
.ch-topic { font-size: .78rem; color: var(--muted); }
.ch-jump { margin-top: 20px; color: var(--muted); }

/* town pages */
.town-src { padding-bottom: clamp(32px, 4vw, 48px); font-size: .8rem; color: var(--on-dark-muted); }
.town-src a { color: var(--on-dark-muted); }
.town-read p { font-size: 1.12rem; max-width: 68ch; }
.town-links a { margin-right: 4px; }

/* Edition links and comparisons grow vertically as the archive grows. */
.town-history { padding-bottom: clamp(32px, 4vw, 48px); font-size: .85rem; overflow-wrap: anywhere; }
.town-history p { margin: 1em 0 0; }
.town-reports li { margin-bottom: .75em; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .town-read, .town-reports, .town-src { overflow-wrap: anywhere; }
}

/* Isolated award draft: preserve trophy proportions and the site's card rhythm. */
.draft-awards { padding-top: 24px; padding-bottom: 0; }
.draft-award-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.draft-award { margin: 0; padding: 24px; border: 1px solid var(--line); background: var(--white); }
.draft-award img { width: 100%; height: auto; }
.draft-award figcaption { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 16px; }
.draft-award figcaption p { margin: 0; color: var(--muted); }
.draft-rolex { border-left: 3px solid var(--accent); padding: 24px; margin-top: 32px; background: var(--paper-2); }
.draft-rolex h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); margin: 0; }
@media (max-width: 640px) {
  .draft-award-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .draft-award { padding: 20px; }
}

/* home v2 */
.home-v2 .head-row { min-height: 88px; }
.home-v2 .nav { gap: 24px; }
.home-v2 .hv-hero { min-height: 660px; height: min(78svh, 860px); }
.home-v2 .hero-copy { padding-top: 160px; padding-bottom: 100px; }
.home-v2 .hero h1 { font-size: clamp(3.6rem, 6.5vw, 6.6rem); line-height: .98; max-width: 15em; }
.home-v2 .hero::after { background: linear-gradient(0deg, rgba(8,9,10,.84), rgba(8,9,10,.1) 75%); }
.home-v2 .hero-copy > *, .home-v2 .slide, .home-v2 .reveal { animation: none; transform: none; opacity: 1; clip-path: none; }
.home-v2 .slide { opacity: 0; transition: opacity 1.4s ease; }
.home-v2 .slide.on { opacity: 1; }
.home-v2 .btn:hover { transform: none; }
.hv-proof { position: relative; z-index: 2; margin-top: -40px; padding-bottom: 64px; }
.hv-picker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--paper); }
.hv-choice { position: relative; display: flex; flex-direction: column; gap: 8px; text-align: left; background: transparent; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px 24px 30px; color: var(--ink); font: inherit; cursor: pointer; min-width: 0; }
.hv-choice:last-of-type { border-right: 0; }
.hv-choice .eyebrow { margin: 0 0 10px; font-size: .65rem; }
.hv-choice .eyebrow::before { display: none; }
.hv-choice-title { font-family: var(--serif); font-size: clamp(1.5rem, 2.1vw, 2rem); line-height: 1.1; }
.hv-teaser { font-size: .8rem; color: var(--muted); max-width: 19em; }
.hv-plus { position: absolute; right: 20px; top: 23px; color: var(--muted); }
.hv-choice[aria-expanded="true"] { background: var(--white); box-shadow: inset 0 3px var(--accent); }
.hv-choice[aria-expanded="true"] .hv-plus { color: var(--accent); }
.hv-choice:focus-visible { z-index: 1; outline-offset: -5px; }
.hv-panel-slot { grid-column: 1 / -1; min-width: 0; }
.hv-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; padding: 56px 24px 12px; }
.hv-panel[hidden] { display: none; }
.hv-panel h2 { font-size: clamp(1.8rem, 2.5vw, 2.5rem); margin: 12px 0 18px; }
.hv-panel .hv-number { font-size: clamp(5rem, 8vw, 7.5rem); margin-bottom: 0; color: var(--accent); }
.hv-panel .hv-story-lead { font-size: clamp(2.2rem, 3.2vw, 3rem); max-width: 15em; margin-top: 0; }
.hv-story { display: flex; align-items: center; gap: 18px; margin-top: 32px; font-family: var(--serif); font-size: 1.35rem; line-height: 1.2; text-decoration: none; }
.hv-story img { width: 110px; height: 86px; object-fit: cover; flex-shrink: 0; }
.hv-story span { max-width: 15em; }
.hv-secondary { display: inline-block; font-size: .85rem; margin-top: 16px; }
.hv-count { font-size: .9rem; color: var(--muted); max-width: 28em; }
.hv-count strong { color: var(--ink); }
.hv-voices figure { margin: 22px 0; }
.hv-voices blockquote { margin: 0 0 8px; font: italic 300 clamp(1.2rem, 1.7vw, 1.5rem)/1.25 var(--serif); }
.hv-voices figcaption { font-size: .75rem; color: var(--muted); }
.hv-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; }
.hv-actions > a:first-child { font-size: .85rem; white-space: nowrap; }
.hv-actions .btn { font-size: .65rem; padding: 12px 20px; }
.hv-comparison { padding-top: 88px; text-align: center; }
.hv-comparison h2 { font-size: clamp(2rem, 3.4vw, 3.5rem); max-width: 29em; margin: 0 auto 28px; line-height: 1.15; }
.hv-comparison .fine { color: var(--on-dark-muted); font-size: .75rem; }
.home-v2 .hv-comparison .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1050px; padding-top: 50px; padding-bottom: 64px; }
.hv-towns { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding-top: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--line); gap: 20px; }
.hv-towns a { text-decoration: none; font-family: var(--serif); font-size: 1.2rem; }
.hv-towns small { display: block; font-family: var(--sans); font-size: .7rem; color: var(--muted); margin-top: 6px; }
.home-v2 .hv-about { grid-template-columns: .65fr 1.35fr; gap: 10%; align-items: center; }
.hv-about .photo { max-width: 330px; }
.home-v2 .hv-about img { height: auto; aspect-ratio: 4 / 5; }
.home-v2 .aw-tile { transition: none; }
@media (max-width: 1050px) { .home-v2 .nav { gap: 14px; } .hv-actions { align-items: flex-start; flex-direction: column; gap: 14px; } }
@media (max-width: 700px) {
  .home-v2 .head-row { min-height: 76px; }
  .home-v2 .hv-hero { height: 560px; min-height: 0; }
  .home-v2 .hero-copy { padding-top: 130px; padding-bottom: 44px; }
  .home-v2 .hero h1 { font-size: clamp(2.8rem, 11.5vw, 4rem); }
  .home-v2 .hero .eyebrow { display: block; font-size: .59rem; letter-spacing: .1em; max-width: 31em; }
  .home-v2 .hero .eyebrow::before { display: none; }
  .hv-proof { margin-top: 0; padding-bottom: 44px; }
  .hv-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row dense; }
  .hv-choice { padding: 23px 12px 22px; min-height: 174px; }
  .hv-choice:nth-of-type(2n) { border-right: 0; }
  .hv-choice-title { font-size: 1.5rem; }
  .hv-teaser { font-size: .76rem; }
  .hv-plus { right: 12px; top: 18px; }
  .hv-panel { display: block; padding: 30px 8px; }
  .hv-panel .hv-number { font-size: 5.4rem; }
  .hv-panel h2 { font-size: 1.8rem; }
  .hv-evidence { margin-bottom: 32px; }
  .hv-story { font-size: 1.25rem; margin-top: 24px; }
  .hv-story img { width: 90px; height: 76px; }
  .hv-voices { border-top: 1px solid var(--line); padding-top: 24px; }
  .hv-voices blockquote { font-size: 1.3rem; }
  .hv-actions { flex-direction: column; }
  .hv-comparison { padding-top: 56px; }
  .hv-comparison h2 { font-size: 2rem; }
  .home-v2 .hv-comparison .stats { gap: 0; padding-bottom: 48px; }
  .home-v2 .hv-comparison .stats li { padding: 0 9px; border-left: 1px solid rgba(244,241,235,.16); }
  .home-v2 .hv-comparison .stats li:first-child { border-left: 0; }
  .hv-comparison .stat-num { font-size: 1.6rem; }
  .hv-comparison .stat-label { font-size: .7rem; }
  .hv-towns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .home-v2 .hv-about { grid-template-columns: 1fr; gap: 32px; }
  .hv-about .photo { max-width: 220px; }
  .home-v2 .aw-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; gap: 16px; overflow: visible; }
  .home-v2 .aw-tile { width: 100%; }
}

/* home v2 round 2 â€” draft-only variants */
[data-mode-content][hidden], [data-mode-band][hidden] { display: none; }
.home-v2 .hv-hero { min-height: 760px; height: auto; }
.home-v2 .hero-copy { padding-top: 120px; padding-bottom: 100px; }
.home-v2 .hero h1 { font-size: clamp(2.8rem, 4.5vw, 4.7rem); line-height: 1.08; max-width: 20em; }
.hv-subline { font: 300 clamp(1.5rem, 2.2vw, 2rem)/1.2 var(--serif); margin: 28px 0 22px; }
.hv-phone-eyebrow { display: none; }
.hv-switch { display: inline-flex; gap: 4px; padding: 5px; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; }
.hv-switch button { font: 800 .82rem/1.2 var(--sans); padding: 13px 24px; border: 0; background: transparent; border-radius: 999px; cursor: pointer; color: var(--muted); min-height: 44px; }
.hv-switch button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.hv-buy-band { padding: 80px 0; }
.hv-buy-band h2 { font-size: clamp(2rem, 3vw, 3rem); }
.hv-towns-heading { padding-top: 36px; margin-bottom: 0; }
.hv-towns { padding-top: 18px; }
.home-v2 .hv-compact-awards { padding: 48px 0; }
.home-v2 .hv-compact-awards .section-head { margin-bottom: 20px; }
.home-v2 .hv-compact-awards .section-head h2 { font-size: 2rem; }
.home-v2 .hv-compact-awards .section-head .lede { display: none; }
.home-v2 .hv-compact-awards .aw-strip { display: grid; grid-template-columns: repeat(10, minmax(0,1fr)); grid-auto-flow: row; gap: 10px; overflow: visible; }
.home-v2 .hv-compact-awards .aw-face { inset: 5px; padding: 5px; gap: 4px; }
.home-v2 .hv-compact-awards .aw-year { font-size: 1.8rem; }
.home-v2 .hv-compact-awards .aw-brand { font-size: .6rem; margin-bottom: 5px; }
.home-v2 .hv-compact-awards .aw-title { font-size: .4rem; letter-spacing: .06em; }
.hv-awards-link { margin-top: 24px; margin-bottom: 0; }
.sold-head { padding-bottom: 56px; }
.sold-intro { font: 300 clamp(1.8rem, 3.2vw, 3.2rem)/1.15 var(--serif); max-width: 28em; }
.sold-stats .stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sold-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.sold-card { background: var(--paper); padding: 34px 28px; min-width: 0; }
.sold-card .eyebrow { font-size: .65rem; letter-spacing: .12em; }
.sold-card .eyebrow::before { display: none; }
.sold-card h3 { font: 300 clamp(2rem,3vw,3rem)/1.1 var(--serif); }
.sold-badges { list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sold-badges li { font-size: .72rem; line-height: 1.35; border: 1px solid var(--line); padding: 7px 10px; border-radius: 999px; }
.sold-fast { background: var(--paper-2); }
.sold-current { padding-bottom: 64px; }
.sold-current a { display: inline-block; }
.repeat-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.repeat-tags span { display: inline-block; font-size: .72rem; line-height: 1.3; color: #76551f; background: #f2e7ce; border: 1px solid #c9ad7a; padding: 6px 10px; border-radius: 999px; }
@media(max-width: 1000px) {
  .home-v2 .hv-compact-awards .aw-strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 110px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 16px; }
  .sold-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 700px) {
  .home-v2 .hv-hero { min-height: 680px; height: auto; }
  .home-v2 .hero-copy { padding-top: 96px; padding-bottom: 54px; }
  .home-v2 .hero h1 { font-size: clamp(2.1rem, 8.6vw, 3.2rem); line-height: 1.12; }
  .home-v2 .hero .eyebrow { margin-bottom: 24px; }
  .hv-full-eyebrow { display: none; }
  .hv-phone-eyebrow { display: inline; }
  .hv-subline { font-size: 1.45rem; margin-top: 26px; }
  .hv-switch button { padding: 13px 22px; }
  .home-v2 .hv-compact-awards .aw-strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 108px; overflow-x: auto; }
  .sold-grid { grid-template-columns: minmax(0,1fr); }
  .sold-card { padding: 28px 22px; }
  .sold-stats .stats { grid-template-columns: 1fr; gap: 30px; }
  .sold-stats .stats li { border-left: 0; padding-left: 0; }
  .sold-current a { font-size: .72rem; }
}

.home-v2 .hero .eyebrow { color: var(--paper); }
.home-v2 .hero::after { background: linear-gradient(0deg, rgba(8,9,10,.92), rgba(8,9,10,.55) 58%, rgba(8,9,10,.12)); }

/* 11/4 home flow: question under the hero line -> that side's situations (site plan step 1) */
.hero-ask { margin-top: clamp(28px, 4vw, 44px); }
.hero-q { font-family: var(--serif); font-weight: 300; font-size: clamp(1.7rem, 3.2vw, 2.6rem); line-height: 1.15; color: var(--on-dark, #fff); margin: 0 0 20px; }
.side-switch { display: flex; flex-wrap: wrap; gap: 14px; }
.side-switch .btn { min-width: 200px; min-height: 60px; font-size: 15px; }
.side-switch .btn-ghost { color: #fff; border-color: rgba(255,255,255,.7); }
.side-switch .btn[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
.sits-first { padding-top: clamp(72px, 9vw, 120px); scroll-margin-top: 80px; }
.sits-all { margin-top: 12px; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.sit.is-off { display: none; }
.stats-more { padding-bottom: 48px; margin: 0 auto; text-align: center; }
.stats-more .text-link { color: var(--on-dark, #fff); }
@media (max-width: 700px) { .side-switch .btn { flex: 1; min-width: 0; } }
@media (max-width: 1100px) { .sits:has(.sit.is-off) .sit-else { grid-column: 1 / -1; } }

/* === Track record page (site plan step 2, 11/4): deal rows, rubric, 19 houses. Generated once from build.py constants. === */

/* home v2 â€” boutique drafts only */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.draft-cell { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.draft-cell .draft-form { font-size: .72rem; font-weight: 400; }
.nav .draft-cell { gap: 10px; }
.nav .draft-cell .draft-form { max-width: 100px; line-height: 1.2; }
.boutique-band-copy { max-width: 49em; margin: 24px auto; color: var(--on-dark); font-size: clamp(1.05rem,1.6vw,1.35rem); }
#quarterback-title, #band-selling, #town-picker { scroll-margin-top: 110px; }
.boutique-head { max-width: 1100px; padding-bottom: 60px; }
.boutique-head h1 { max-width: 13em; }
.boutique-head .lede { max-width: 43em; }
.deal-score { border-top: 1px solid var(--line); padding-top: 24px; font-size: 1rem; font-weight: 800; }
.boutique-records > h2 { font-size: 2rem; }
.deal-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 24px 0 16px; }
.deal-chips button { min-height: 44px; }
.deal-row { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 24px; padding: 32px 0; border-top: 1px solid var(--line); }
.deal-row[hidden], .deal-detail[hidden] { display: none; }
.deal-title h2 { font-size: 1.65rem; line-height: 1.15; overflow-wrap: anywhere; }
.deal-title p, .deal-lane { font-size: .82rem; }
.deal-lane { margin-bottom: 14px; }
.deal-lane span { display: block; margin-bottom: 8px; }
.deal-lane svg { display: block; width: 100%; height: 5px; background: var(--paper-2); overflow: visible; }
.deal-lane path { stroke: var(--muted); stroke-width: 3; }
.deal-lane.listing path { stroke: #8b672c; }
.deal-price p { font-size: .95rem; margin-bottom: 12px; }
.deal-price .fine { font-size: .82rem; }
.deal-price > p > span[aria-hidden] { color: #76551f; }
.deal-tag { display: inline-block; padding: 5px 10px; font-size: .7rem; background: #f2e7ce; color: #694c1d; border: 1px solid #c9ad7a; }
.deal-tag.miss { color: #56585a; background: #e7e5e1; border-color: #c6c4bf; }
.deal-toggle { grid-column: 1/-1; justify-self: start; background: none; border: 0; border-bottom: 1px solid var(--line); padding: 10px 0; cursor: pointer; color: var(--ink); font: 800 .8rem var(--sans); min-height: 44px; }
.deal-toggle[aria-expanded=true] > span[aria-hidden] { display: inline-block; transform: rotate(45deg); }
.deal-detail { grid-column: 1/-1; background: var(--paper-2); padding: 24px; font-size: .92rem; }
.deal-detail p:last-child { margin-bottom: 0; }
.quarterback { border-top: 1px solid var(--line); }
.qb-map { position: relative; margin: 56px 0 64px; min-height: 600px; }
.qb-map > svg { position: absolute; width: 100%; height: 100%; inset: 0; stroke: var(--line); fill: none; stroke-width: 1; }
.qb-map ul { position: relative; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); min-height: 600px; gap: 32px 64px; }
.qb-map li { align-self: center; background: var(--paper); padding: 18px; min-width: 0; }
.qb-map li p { font-size: .92rem; margin: 0; }
.qb-map li:nth-child(4) { grid-column: 1; }
.qb-map li:nth-child(5) { grid-column: 3; }
.qb-map li:nth-child(6) { grid-column: 1; }
.qb-map li:nth-child(7) { grid-column: 3; }
.qb-center { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); background: var(--paper); padding: 24px; width: 230px; text-align: center; display: grid; justify-items: center; gap: 8px; }
.qb-center img { border-radius: 50%; width: 96px; height: 96px; object-fit: cover; }
.qb-center strong { font: 300 2rem var(--serif); }
.qb-center span { font-size: .76rem; }
.qb-proof > h3 { font: 300 clamp(1.7rem,3vw,2.6rem)/1.15 var(--serif); margin-bottom: 28px; }
@media(max-width: 1000px) { .nav .draft-cell .draft-form { display: none; } .qb-map ul { gap: 24px; } .qb-center { width: 190px; } }
@media(max-width: 700px) {
 .deal-row { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .deal-race { max-width: 100%; }
 .deal-toggle { margin-top: 0; }
 .deal-price br { display: none; }
 .deal-price .fine { display: block; }
 .boutique-head { padding-bottom: 40px; }
 .qb-map { min-height: 0; margin: 32px 0; padding-left: 20px; }
 .qb-map > svg { display: none; }
 .qb-center { position: relative; left: auto; top: auto; transform: none; width: 100%; margin: 0 0 20px; }
 .qb-map ul { min-height: 0; grid-template-rows: none; grid-template-columns: minmax(0,1fr); gap: 0; border-left: 1px solid var(--gold); }
 .qb-map li { grid-column: 1 !important; border-bottom: 1px solid var(--line); margin-left: 16px; padding: 20px 0; position: relative; }
 .qb-map li::before { content: ''; position: absolute; height: 1px; width: 16px; background: var(--gold); left: -16px; top: 32px; }
 .draft-cell { gap: 14px; }
 .nav .draft-cell { align-items: start; }
 .nav .draft-cell .draft-form { display: inline; max-width: none; }
}

.hv-hero .hero-copy h1{margin-bottom:0}.hv-ask{text-align:center;padding:96px 0 48px}.hv-ask .eyebrow{justify-content:center}.hv-ask-q{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5.2vw,4.6rem);line-height:1.05;margin:16px auto 40px;max-width:16ch}.hv-ask .hv-switch{display:inline-flex;gap:0;padding:6px;border:1px solid var(--line);border-radius:999px;background:var(--white);box-shadow:0 18px 40px rgba(20,20,20,.08)}.hv-ask .hv-switch button{font:inherit;font-size:clamp(1.05rem,1.6vw,1.35rem);min-height:64px;padding:0 clamp(24px,4vw,48px);border:0;border-radius:999px;background:none;color:var(--ink);cursor:pointer;transition:background .35s,color .35s}.hv-ask .hv-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.hv-proof .hv-picker{gap:16px}.hv-proof .hv-choice{position:relative;display:grid;align-content:start;gap:10px;padding:28px 24px 32px;min-height:260px;border:1px solid var(--line);border-radius:4px;background:var(--white);text-align:left;transition:transform .35s,background .35s,color .35s,box-shadow .35s}.hv-proof .hv-choice:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,20,20,.08)}.hv-proof .hv-choice[aria-expanded=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hv-proof .hv-choice[aria-expanded=true] .eyebrow,.hv-proof .hv-choice[aria-expanded=true] .hv-teaser{color:rgba(255,255,255,.78)}.hv-choice-title{font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.15}.hv-gauge{position:relative;display:block;width:96px;height:96px;margin-bottom:12px}.hv-gauge svg{width:100%;height:100%;transform:rotate(-90deg)}.hv-icon svg{transform:none;fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.hv-ring-bg{fill:none;stroke:var(--line);stroke-width:5}.hv-ring{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:var(--full);stroke-dashoffset:var(--fill)}.js .hv-proof:not(.hv-in) .hv-ring{stroke-dashoffset:var(--full)}.hv-ring{transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1)}.hv-ring-label{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:1.15rem}.hv-choice[aria-expanded=true] .hv-ring-bg{stroke:rgba(255,255,255,.2)}.js .hv-proof:not(.hv-in) .hv-choice{opacity:0;transform:translateY(24px)}.hv-proof .hv-choice:nth-child(2){transition-delay:.08s}.hv-proof .hv-choice:nth-child(3){transition-delay:.16s}.hv-proof .hv-choice:nth-child(4){transition-delay:.24s}.hv-proof.hv-in .hv-choice{transition:transform .6s,opacity .6s,background .35s,color .35s,box-shadow .35s}.hv-panel .hv-number{font-size:clamp(4rem,8vw,7rem)}@media(max-width:700px){.hv-ask{padding:64px 0 32px}.hv-ask .hv-switch{display:flex;width:100%}.hv-ask .hv-switch button{flex:1;padding:0 12px;min-height:56px}.hv-proof .hv-choice{min-height:0;grid-template-columns:72px 1fr;column-gap:16px}.hv-gauge{width:72px;height:72px;grid-row:1/4}.hv-ring-label{font-size:.95rem}}@media(prefers-reduced-motion:reduce){.hv-proof .hv-choice,.hv-ring{transition:none!important}.js .hv-proof .hv-choice{opacity:1!important;transform:none!important}.js .hv-proof .hv-ring{stroke-dashoffset:var(--fill)!important}}

/* Task 14b: every sale as a house, with detail on request. */
.v3-houses{display:grid;grid-template-columns:repeat(19,minmax(0,1fr));gap:8px;margin:32px 0 24px}
.pm-record .v3-house{appearance:none;border:0;background:none;padding:6px 2px;min-width:44px;min-height:56px;border-radius:0;display:grid;place-items:center}
.v3-house svg{width:40px;height:44px;overflow:visible}
.v3-house-outline{fill:var(--paper);fill-rule:evenodd;stroke:#73716c;stroke-width:2.4;stroke-linejoin:round}
.v3-house-both .v3-house-outline{fill:var(--accent);stroke:var(--accent)}
.v3-house-one .v3-house-outline{stroke:var(--accent)}
.v3-house-half{fill:var(--accent);fill-rule:evenodd}
.pm-record .v3-house[aria-expanded=true]{outline:2px solid var(--ink);outline-offset:3px}
.v3-house-key{font-size:16px;max-width:none!important}
.pm-record .v3-house-detail{min-height:0;display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.pm-record .v3-house-detail:has([id^="v3-deal-"]:not([hidden])){grid-template-rows:1fr}
.v3-house-inner{min-height:0;overflow:hidden}
.v3-house-inner>[id^="v3-deal-"]{border-top:1px solid var(--line);padding-top:24px;margin-bottom:16px}
.pm-record #v3-house-prompt{margin:0 0 8px}
.v3-houses.v3-fill-in .v3-house svg{animation:v3-house-fill .15s ease-out both;animation-delay:var(--house-delay)}
@keyframes v3-house-fill{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.v3-houses{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}}
@media(max-width:600px){.v3-houses{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.pm-record .v3-house-detail{transition:none}.v3-houses .v3-house svg{animation:none!important}}
.pm-record{padding-top:96px;padding-bottom:96px}.pm-record .v3-record-line{font-size:clamp(2rem,3.6vw,3.4rem);max-width:22ch;line-height:1.12}.pm-record .v3-record-line em{color:var(--accent)}.pm-record>p{max-width:60ch}.pm-record .v3-disclose{border:0;background:none;padding:12px 0;min-height:44px;font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.pm-record [hidden]{display:none!important}.pm-record table{border-collapse:collapse;width:100%;font-size:16px;margin:24px 0}.pm-record th,.pm-record td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line)}.pm-record #v3-method{font-size:16px}

/* === Track record highlight reel (Founder 11/4) === */
.hl-cases{padding-top:96px;padding-bottom:64px}
.hl-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;margin-top:32px}
.hl-card{scroll-snap-align:start;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.hl-media{aspect-ratio:3/2;overflow:hidden;background:var(--ink)}.hl-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.hl-card:hover .hl-media img{transform:scale(1.04)}
.hl-plain{display:grid;place-items:center}.hl-plain span{font-family:var(--serif);font-size:7rem;color:var(--accent);line-height:1}
.hl-body{padding:24px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.hl-body h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;line-height:1.15;margin:0}
.hl-facts{display:flex;gap:28px;list-style:none;padding:0;margin:6px 0}
.hl-facts strong{display:block;font-family:var(--serif);font-weight:300;font-size:2.3rem;line-height:1;color:var(--accent)}
.hl-facts span{font-size:13px;color:var(--muted)}
.hl-body p{margin:0;color:var(--muted)}.hl-body .text-link{margin-top:auto}
.hl-hint{font-size:14px;color:var(--muted);margin-top:8px}
.tr-all{padding-bottom:72px}.tr-all summary{cursor:pointer;font-family:var(--serif);font-size:1.4rem;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}
.tr-all summary::after{content:" +";color:var(--accent)}.tr-all details[open] summary::after{content:" \2212"}.tr-all summary::-webkit-details-marker{display:none}
@media(min-width:1200px){.hl-track{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}.hl-hint{display:none}}
@media(max-width:700px){.hl-track{grid-auto-columns:85%}}

/* Track record: jump links + tighter rhythm (Founder 11/4) */
.tr-jump{position:sticky;top:64px;z-index:40;background:rgba(244,241,235,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tr-jump .wrap{display:flex;gap:28px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.tr-jump .wrap::-webkit-scrollbar{display:none}
.tr-jump a{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:16px 0;border-bottom:2px solid transparent;transition:color .3s,border-color .3s}
.tr-jump a.on,.tr-jump a:hover{color:var(--ink);border-bottom-color:var(--accent)}
#tr-numbers,#tr-record,#tr-cases,#tr-all,#tr-talk{scroll-margin-top:130px}
.pm-record{padding-bottom:40px}.hl-cases{padding-top:40px;padding-bottom:40px}.hl-track{gap:16px;margin-top:24px}
.v3-back{display:inline-block;margin-top:8px;background:none;border:0;padding:12px 0;font:inherit;font-size:16px;cursor:pointer}
@media(max-width:700px){.tr-jump{top:56px}.tr-jump .wrap{gap:20px}}

/* home: boutique line in the numbers band (Founder 11/4: I like that) */
.band-lead{padding-top:clamp(56px,7vw,88px);text-align:center}.band-lead h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;margin:0 auto 18px;max-width:20ch;color:inherit}.band-lead p{max-width:62ch;margin:0 auto;opacity:.85}

/* === Awards carousel (Founder 11/4) === */
.awc{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px);overflow:hidden}
.awc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.awc-arrows{display:flex;gap:10px;flex:none}
.awc-arrows button,.awc-dnav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;cursor:pointer;transition:background .3s,color .3s,transform .3s}
.awc-arrows button:hover,.awc-dnav button:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.awc-track{display:flex;gap:24px;list-style:none;margin:36px 0 0;padding:12px max(24px,calc((100vw - 1280px)/2 + 24px)) 28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.awc-track::-webkit-scrollbar{display:none}
.awc-item{flex:0 0 clamp(220px,24vw,300px);scroll-snap-align:center}
.awc-card{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;text-align:left;transition:transform .6s var(--ease),opacity .6s var(--ease);transform:scale(.92);opacity:.7}
.awc-card.is-center,.awc-card:hover,.awc-card:focus-visible{transform:scale(1);opacity:1}
.awc-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;box-shadow:0 24px 50px rgba(20,20,20,.18)}
.awc-cap{display:flex;flex-direction:column;gap:4px;margin-top:16px}
.awc-year{font-family:var(--serif);font-weight:300;font-size:2.2rem;line-height:1}
.awc-name{font-size:14px;letter-spacing:.06em;color:var(--muted)}
.awc-dialog{border:0;padding:0;background:none;max-width:min(92vw,560px);width:100%;overflow:visible}
.awc-dialog::backdrop{background:rgba(12,12,12,.82);backdrop-filter:blur(6px)}
.awc-dialog[open]{animation:awcIn .45s var(--ease)}
@keyframes awcIn{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}
.awc-dialog img{display:block;width:100%;max-height:74vh;object-fit:contain;border-radius:8px;background:#111}
.awc-dcap{display:flex;align-items:baseline;gap:14px;margin:16px 0 0;color:#fff}
.awc-dcap .awc-name{color:rgba(255,255,255,.75)}
.awc-close{position:absolute;top:-56px;right:0;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:26px;cursor:pointer}
.awc-dnav{display:flex;gap:10px;justify-content:flex-end;margin-top:-52px}
@media(max-width:700px){.awc-head{flex-direction:column;align-items:flex-start}.awc-arrows{display:none}.awc-item{flex-basis:70%}.awc-dnav{margin-top:12px;justify-content:center}}
@media(prefers-reduced-motion:reduce){.awc-card{transition:none;transform:none;opacity:1}.awc-dialog[open]{animation:none}.awc-track{scroll-behavior:auto}}
.awc-track{scroll-padding-left:max(24px,calc((100vw - 1280px)/2 + 24px))}.awc-item{scroll-snap-align:start}

/* === Awards: 3D coverflow on black (Founder 11/4) === */
.cf{background:#0b0b0b;color:#f4f1eb;padding:clamp(72px,9vw,120px) 0 clamp(56px,7vw,96px);overflow:hidden;text-align:center}
.cf .eyebrow{color:var(--accent);justify-content:center}.cf h2{color:#f4f1eb;margin-left:auto;margin-right:auto}
.cf .lede{color:rgba(244,241,235,.72);max-width:60ch;margin:0 auto}
.cf-stage{position:relative;height:clamp(340px,44vw,520px);margin-top:clamp(36px,5vw,60px);perspective:1400px}
.cf-ring{position:absolute;inset:0;list-style:none;margin:0;padding:0;transform-style:preserve-3d}
.cf-item{position:absolute;left:50%;top:50%;width:clamp(200px,24vw,320px);aspect-ratio:4/5;margin:0;transform-style:preserve-3d;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .8s cubic-bezier(.2,.7,.2,1),filter .8s;will-change:transform}
.cf-card{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:8px;overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,.6)}
.cf-card img{display:block;width:100%;height:100%;object-fit:cover}
.cf-item.is-center .cf-card{cursor:zoom-in;box-shadow:0 50px 100px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.08)}
.cf-item::after{content:"";position:absolute;left:6%;right:6%;top:100%;height:40%;margin-top:10px;background:inherit;
  background:linear-gradient(rgba(255,255,255,.08),transparent);border-radius:8px;filter:blur(6px);opacity:.5}
.cf-arrow{position:absolute;top:50%;z-index:20;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;
  border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.4);color:#fff;font-size:22px;cursor:pointer;transition:background .3s,border-color .3s}
.cf-arrow:hover,.cf-arrow:focus-visible{background:var(--accent);border-color:var(--accent)}
.cf-prev{left:max(16px,calc((100vw - 1280px)/2 + 16px))}.cf-next{right:max(16px,calc((100vw - 1280px)/2 + 16px))}
.cf-cap{display:flex;flex-direction:column;align-items:center;gap:6px;margin:clamp(28px,4vw,44px) 0 0}
.cf-year{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,4.5vw,3.6rem);line-height:1;color:#fff}
.cf-name{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,241,235,.7)}
.cf-hint{font-size:13px;color:rgba(244,241,235,.5);margin-top:10px}
@media(max-width:700px){.cf-arrow{width:44px;height:44px;font-size:18px}.cf-item{width:58vw}}
@media(prefers-reduced-motion:reduce){.cf-item{transition:none}}

/* Houses: show they can be tapped (Founder 11/4) */
.v3-houses .v3-house{cursor:pointer;transition:transform .25s ease}
.v3-houses .v3-house svg{transition:filter .25s ease}
.v3-houses .v3-house:hover,.v3-houses .v3-house:focus-visible{transform:translateY(-6px)}
.v3-houses .v3-house:hover svg,.v3-houses .v3-house:focus-visible svg{filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}
.v3-tap-hint{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.v3-tap-hint::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(176,90,60,.5);animation:v3tap 1.8s ease-out 3}
@keyframes v3tap{0%{box-shadow:0 0 0 0 rgba(176,90,60,.55)}100%{box-shadow:0 0 0 12px rgba(176,90,60,0)}}
.v3-houses.v3-nudge .v3-house{animation:v3nudge .7s ease both;animation-delay:var(--house-delay,0ms)}
@keyframes v3nudge{0%,100%{transform:none}45%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.v3-houses .v3-house{transition:none}.v3-tap-hint::before,.v3-houses.v3-nudge .v3-house{animation:none}}

/* jump bar: text links, no pills; current section = ink text + bold accent underline (Founder 11/4) */
.tr-jump{background:#fff}
.tr-jump .wrap{align-items:stretch;gap:32px}
.tr-jump-label{align-self:center;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--muted);margin-right:4px;flex:none}
.tr-jump a{padding:18px 0 15px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:rgba(20,20,20,.45);font-size:12px;letter-spacing:.14em}
.tr-jump a:hover{color:var(--ink)}
.tr-jump a.on{color:var(--ink);border-bottom-color:var(--accent)}
@media(max-width:700px){.tr-jump-label{display:none}.tr-jump .wrap{gap:24px}}

/* 'Every sale' header pinned as a third row while open (Founder 11/4) */
.tr-all details[open] > summary{position:sticky;top:var(--tr-stack,150px);z-index:35;background:#fff;padding-left:16px;padding-right:16px;margin:0 -16px;box-shadow:0 8px 16px -12px rgba(0,0,0,.25)}

/* House Hunters watch note (Founder 11/4) */
.hh-note{font-size:14px;color:var(--muted);margin-top:-4px}

/* === Case studies: one sale per row, problem -> what I did -> result (Founder 11/4) === */
.cs-cases{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(40px,5vw,72px)}
.cs-sub{color:var(--muted);margin-top:8px}
.cs-row{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(36px,5vw,64px) 0;border-top:1px solid var(--line)}
.cs-row:first-of-type{border-top:0}
.cs-flip .cs-media{order:2}
.cs-media{aspect-ratio:4/3;overflow:hidden;background:var(--ink);border-radius:4px}
.cs-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.cs-row:hover .cs-media img{transform:scale(1.04)}
.cs-plain{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,4vw,56px);color:#f4f1eb;
  background:radial-gradient(120% 90% at 0% 100%,rgba(176,58,46,.35),transparent 60%),#111}
.cs-plain-town{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,241,235,.6)}
.cs-plain-num{font-family:var(--serif);font-weight:300;font-size:clamp(5rem,11vw,9rem);line-height:1;margin:12px 0 4px;color:#fff}
.cs-plain-l{font-size:15px;color:rgba(244,241,235,.75)}
.cs-n{color:var(--accent);margin-right:6px}
.cs-body h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1;margin:6px 0 20px}
.cs-steps{margin:0 0 20px;display:grid;gap:14px}
.cs-step{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:baseline}
.cs-step dt{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cs-step:last-child dt{color:var(--accent)}
.cs-step dd{margin:0;line-height:1.55}
.cs-step:last-child dd{font-weight:600;color:var(--ink)}
.cs-facts{margin:4px 0 16px}
.cs-quote{margin:clamp(24px,4vw,48px) 0 0;padding:clamp(36px,5vw,64px);background:var(--ink);color:#f4f1eb;border-radius:4px}
.cs-quote blockquote{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.2;max-width:28ch}
.cs-quote figcaption{margin-top:20px;color:rgba(244,241,235,.7);display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline}
.cs-quote .text-link{color:#fff}
@media(max-width:800px){.cs-row{grid-template-columns:1fr;gap:20px}.cs-flip .cs-media{order:0}
  .cs-step{grid-template-columns:1fr;gap:4px}.cs-plain{aspect-ratio:16/9}}
.cs-plain{container-type:inline-size}.cs-plain-num{font-size:clamp(3.5rem,24cqi,9rem)}

/* House Hunters 2016 promo photo (Founder 11/4) */
.hh-photo{margin:28px 0 32px;max-width:460px}.hh-photo img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 24px 50px rgba(20,20,20,.18)}
.hh-photo figcaption{font-size:14px;color:var(--muted);margin-top:10px}

/* ---------- mega menu (11/4 Founder: four topics, fewer buttons, photos + motion) ---------- */
.nav.mega { gap: 30px; }
.mm-item { position: static; }
.mm-trigger { font: inherit; font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: inherit; background: none; border: 0; padding: 10px 0; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; position: relative; text-decoration: none; }
.nav.mega .mm-trigger::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.nav.mega .mm-trigger:hover::after, .nav.mega .mm-trigger[aria-expanded="true"]::after, .nav.mega .mm-trigger[aria-current="page"]::after { transform: scaleX(1); }
.nav.mega .mm-trigger[aria-current="page"]::after { height: 2px; background: var(--accent); }
.mm-face { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px currentColor; }
.nav .mm-panel a::after { display: none; }
.mm-panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line); box-shadow: 0 30px 60px -30px rgba(18,19,20,.35);
  visibility: hidden; clip-path: inset(0 0 100% 0); transition: clip-path .5s var(--ease), visibility 0s linear .5s; text-transform: none; letter-spacing: 0; font-weight: 400; }
.mm-item.open .mm-panel { visibility: visible; clip-path: inset(0 0 0 0); transition: clip-path .5s var(--ease), visibility 0s; }
.mm-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); padding-top: 40px; padding-bottom: 44px; }
.mm-lead { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: 1.25rem; color: var(--ink); margin: 0 0 18px; max-width: 34ch; }
.mm-links { list-style: none; margin: 0; padding: 0; display: grid; }
.mm-links li { border-top: 1px solid var(--line); opacity: 0; transform: translateY(10px); transition: opacity .45s var(--ease), transform .45s var(--ease); }
.mm-links li:last-child { border-bottom: 1px solid var(--line); }
.mm-item.open .mm-links li { opacity: 1; transform: none; }
.mm-item.open .mm-links li:nth-child(2) { transition-delay: .04s; } .mm-item.open .mm-links li:nth-child(3) { transition-delay: .08s; }
.mm-item.open .mm-links li:nth-child(4) { transition-delay: .12s; } .mm-item.open .mm-links li:nth-child(5) { transition-delay: .16s; }
.mm-item.open .mm-links li:nth-child(6) { transition-delay: .2s; } .mm-item.open .mm-links li:nth-child(7) { transition-delay: .24s; }
.mm-links a { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; align-items: baseline; padding: 11px 0; text-decoration: none; }
.mm-l { font-family: var(--serif); font-weight: 300; font-size: clamp(1.3rem, 1.9vw, 1.7rem); line-height: 1.2; transition: transform .35s var(--ease), color .35s var(--ease); }
.mm-b { font-size: 13px; color: var(--muted); text-align: right; max-width: 26ch; line-height: 1.35; }
.mm-links a:hover .mm-l, .mm-links a:focus-visible .mm-l, .mm-links a.on .mm-l { color: var(--accent); transform: translateX(8px); }
.mm-photo { position: relative; overflow: hidden; aspect-ratio: 4 / 3; max-height: 440px; background: var(--paper-2); align-self: start; max-width: 100%; }
.mm-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: opacity .6s var(--ease), transform 1.6s var(--ease); }
.mm-item.open .mm-photo img { transform: scale(1); }
.mm-photo img.mm-old { opacity: 0; }
.mm-item[data-mm="praveen"] .mm-photo { aspect-ratio: 1; max-height: 420px; max-width: 420px; justify-self: end; width: 100%; }
.site-head.mm-open { background: var(--paper) !important; color: var(--ink) !important; border-color: var(--line) !important; backdrop-filter: none !important; }
.home .site-head.mm-open .logo-dark { display: block; } .home .site-head.mm-open .logo-light { display: none; }
.home .site-head.mm-open .btn { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.mm-scrim { position: fixed; inset: 0; background: rgba(18,19,20,.35); z-index: 40; opacity: 0; pointer-events: none; transition: opacity .4s var(--ease); }
.mm-scrim.on { opacity: 1; pointer-events: auto; }
@media (max-width: 1100px) { .nav.mega { gap: 22px; } .mm-b { display: none; } }
@media (max-width: 960px) {
  .nav.mega { position: absolute; top: 100%; left: 0; right: 0; height: calc(100vh - var(--mm-top, 64px)); height: calc(100dvh - var(--mm-top, 64px)); overflow-y: auto; overscroll-behavior: contain; padding: 8px var(--gutter) 96px; gap: 0; align-items: stretch; background: var(--paper); border-top: 1px solid var(--line); }
  .nav.mega.open { display: flex; }
  .mm-item { border-bottom: 1px solid var(--line); }
  .mm-trigger { width: 100%; justify-content: flex-start; font-family: var(--serif); font-weight: 300; font-size: 2rem; letter-spacing: -.01em; text-transform: none; padding: 16px 0; }
  .nav.mega .mm-trigger::after { display: none; }
  .mm-trigger::before { content: "+"; display: inline-block; order: 3; margin-left: auto; font-family: var(--sans); font-size: 1.4rem; transition: transform .3s var(--ease); }
  .mm-trigger[aria-expanded="true"]::before { transform: rotate(45deg); }
  .mm-panel { position: static; box-shadow: none; border: 0; clip-path: none; visibility: visible; display: none; background: transparent; }
  .mm-item.open .mm-panel { display: block; }
  .mm-grid { grid-template-columns: 1fr; padding: 0 0 18px; gap: 0; }
  .mm-lead { font-size: 1.05rem; margin-bottom: 8px; }
  .mm-photo { display: none; }
  .mm-l { font-size: 1.2rem; }
  .nav.mega .btn { margin-top: 24px; align-self: flex-start; }
  .mm-scrim { display: none; }
}
@media (prefers-reduced-motion: reduce) { .mm-panel, .mm-links li, .mm-photo img, .mm-l { transition: none !important; } }
/* 11/4: jump bar + scroll cue on every long page. Founder: the cue matches the home page (vertical "SCROLL" with the dripping line) */
.page-scroll { position: fixed; z-index: 30; right: max(10px, calc(var(--gutter) / 2 - 4px)); bottom: 28px; margin: 0; padding: 12px 7px; border-radius: 999px; background: rgba(244, 241, 235, .88); font-size: 11px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: var(--muted); writing-mode: vertical-rl; display: flex; align-items: center; gap: 12px; pointer-events: none; transition: opacity .5s var(--ease); }
.page-scroll::after { content: ""; width: 1px; height: 48px; background: currentColor; animation: drip 2.4s ease-in-out infinite; transform-origin: top; }
.page-scroll.gone { opacity: 0; }
.about-head img { top: calc(var(--tr-stack, 94px) + 16px); }
@media (max-width: 960px) { .page-scroll { display: none; } } /* same as the home hero cue: phones rely on the jump bar */
@media (prefers-reduced-motion: reduce) { .page-scroll::after { animation: none; } }

/* 11/4: "Is now a good time to sell?" in the live look */
.gt-table tr.gt-you th, .gt-table tr.gt-you td { background: rgba(255,255,255,.7); font-weight: 700; }
.gt-table tr.gt-you th { box-shadow: inset 3px 0 0 var(--accent); padding-left: 10px !important; }
.gt-cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); margin: 8px 0 32px; }
.gt-cols > div { border-top: 1px solid var(--line); padding-top: 22px; }
.gt-cols h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom: 14px; }
@media (max-width: 760px) { .gt-cols { grid-template-columns: 1fr; } }

/* 11/4 launch check: the security policy blocks inline style attributes, so these live here */
.v3-houses .v3-house:nth-child(1){--house-delay:0ms}.v3-houses .v3-house:nth-child(2){--house-delay:40ms}.v3-houses .v3-house:nth-child(3){--house-delay:80ms}.v3-houses .v3-house:nth-child(4){--house-delay:120ms}.v3-houses .v3-house:nth-child(5){--house-delay:160ms}.v3-houses .v3-house:nth-child(6){--house-delay:200ms}.v3-houses .v3-house:nth-child(7){--house-delay:240ms}.v3-houses .v3-house:nth-child(8){--house-delay:280ms}.v3-houses .v3-house:nth-child(9){--house-delay:320ms}.v3-houses .v3-house:nth-child(10){--house-delay:360ms}.v3-houses .v3-house:nth-child(11){--house-delay:400ms}.v3-houses .v3-house:nth-child(12){--house-delay:440ms}.v3-houses .v3-house:nth-child(13){--house-delay:480ms}.v3-houses .v3-house:nth-child(14){--house-delay:520ms}.v3-houses .v3-house:nth-child(15){--house-delay:560ms}.v3-houses .v3-house:nth-child(16){--house-delay:600ms}.v3-houses .v3-house:nth-child(17){--house-delay:640ms}.v3-houses .v3-house:nth-child(18){--house-delay:680ms}.v3-houses .v3-house:nth-child(19){--house-delay:720ms}.v3-houses .v3-house:nth-child(20){--house-delay:760ms}.v3-houses .v3-house:nth-child(21){--house-delay:800ms}.v3-houses .v3-house:nth-child(22){--house-delay:840ms}.v3-houses .v3-house:nth-child(23){--house-delay:880ms}.v3-houses .v3-house:nth-child(24){--house-delay:920ms}.v3-houses .v3-house:nth-child(25){--house-delay:960ms}.v3-houses .v3-house:nth-child(26){--house-delay:1000ms}.v3-houses .v3-house:nth-child(27){--house-delay:1040ms}.v3-houses .v3-house:nth-child(28){--house-delay:1080ms}.v3-houses .v3-house:nth-child(29){--house-delay:1120ms}.v3-houses .v3-house:nth-child(30){--house-delay:1160ms}.v3-houses .v3-house:nth-child(31){--house-delay:1200ms}.v3-houses .v3-house:nth-child(32){--house-delay:1240ms}.v3-houses .v3-house:nth-child(33){--house-delay:1280ms}.v3-houses .v3-house:nth-child(34){--house-delay:1320ms}.v3-houses .v3-house:nth-child(35){--house-delay:1360ms}.v3-houses .v3-house:nth-child(36){--house-delay:1400ms}.v3-houses .v3-house:nth-child(37){--house-delay:1440ms}.v3-houses .v3-house:nth-child(38){--house-delay:1480ms}.v3-houses .v3-house:nth-child(39){--house-delay:1520ms}.v3-houses .v3-house:nth-child(40){--house-delay:1560ms}
.gt-grid{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.85rem}
.gt-grid caption{text-align:left;margin-bottom:16px}
.gt-grid th,.gt-grid td{padding:12px 3px;border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere}
.gt-grid th[scope="row"],.gt-grid thead th:first-child{text-align:left}
.gt-grid thead th:nth-child(1){width:25%}.gt-grid thead th:nth-child(2){width:25%}.gt-grid thead th:nth-child(3){width:16%}.gt-grid thead th:nth-child(4){width:19%}.gt-grid thead th:nth-child(5){width:15%}
.gt-src{font-size:.75rem;line-height:1.6;margin-top:16px}

/* === One family, two moves: the Track record feature story (Founder 11/4, replaces the five case studies) === */
#tr-story{scroll-margin-top:130px}
.fam{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(48px,6vw,88px);max-width:1080px}
.fam-head h2{font-size:clamp(2.1rem,4.4vw,3.8rem);line-height:1.08;max-width:20ch;text-wrap:balance}
.fam-head h2 em{font-style:normal;color:var(--accent)}
.fam-lede{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:52ch;margin-top:20px}
.fam-ch{border-top:1px solid var(--line);margin-top:clamp(40px,5vw,72px);padding-top:clamp(32px,4vw,56px)}
.fam-n{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.fam-n span{color:var(--accent);margin-right:10px}
.fam-ch h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.2vw,2.6rem);margin:0 0 24px}
.fam-warn{background:var(--ink);color:var(--paper);font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-weight:700;
  font-size:clamp(.95rem,1.9vw,1.4rem);line-height:1.5;letter-spacing:.02em;padding:clamp(20px,3vw,36px);margin:0 0 32px;max-width:none}
.fam-warn span{display:inline-block}
.fam-warn span:first-child{color:#f0a48f}
.fam-text p{max-width:62ch}
.fam-turn{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.8rem);color:var(--accent);margin:28px 0 8px}
.fam-nums{list-style:none;padding:0;margin:36px 0 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.fam-nums li{padding:18px 16px 20px 0}
.fam-nums span{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fam-nums strong{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.1}
.fam-nums .fam-win strong{color:var(--accent)}
.fam-src{font-size:14px;color:var(--muted)}
.fam-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.fam-two img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fam-bars{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:18px}
.fam-bar{display:grid;grid-template-columns:150px minmax(0,1fr) 92px;column-gap:16px;align-items:center}
.fam-bar-who{font-weight:700}
.fam-bar-track{height:14px;background:var(--paper-2);position:relative;overflow:hidden}
.fam-bar-fill{position:absolute;inset:0 auto 0 0;background:#8c8a85;transform-origin:left;transition:transform 1.1s var(--ease,ease)}
.fam-bar-a .fam-bar-fill{width:100%}.fam-bar-b .fam-bar-fill{width:82%}.fam-bar-me .fam-bar-fill{width:10.5%;background:var(--accent)}
.fam-bar-days{text-align:right}.fam-bar-days strong{font-family:var(--serif);font-weight:400;font-size:1.6rem}
.fam-bar-me .fam-bar-days strong{color:var(--accent)}
.fam-bar-note{grid-column:2 / 4;font-size:14px;color:var(--muted);margin-top:4px}
.js .fam-ch.reveal:not(.in) .fam-bar-fill{transform:scaleX(0)}
.fam-quote{margin:clamp(40px,5vw,64px) 0 0;padding:clamp(28px,4vw,48px);background:var(--ink);color:var(--paper)}
.fam-quote blockquote{margin:0 0 18px;font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.35}
.fam-quote figcaption{color:var(--on-dark-muted);font-size:15px}
.fam-quote .text-link{color:var(--paper);margin-left:8px}
@media (max-width:760px){
  .fam-two{grid-template-columns:1fr}
  .fam-nums{grid-template-columns:1fr}.fam-nums li{border-bottom:1px solid var(--line);padding-right:0}
  .fam-bar{grid-template-columns:minmax(0,1fr) 80px}.fam-bar-who{grid-column:1 / 3}.fam-bar-note{grid-column:1 / 3}
}
@media (prefers-reduced-motion:reduce){.fam-bar-fill{transition:none}.fam-ch .fam-bar-fill{transform:none!important}}

/* === The record as a chart: 19 listings vs the typical home in each town (Founder 11/4, replaces the houses + every-sale fold) === */
.rc .rc-sum{display:flex;flex-wrap:wrap;gap:16px 56px;margin:28px 0 40px}
.rc .rc-sum p{margin:0;max-width:24ch;font-size:15px;color:var(--muted)}
.rc .rc-sum strong{display:inline-block;font-family:var(--serif);font-weight:300;font-size:clamp(3.2rem,6.4vw,5.2rem);line-height:1;color:var(--accent);margin-right:8px}
.rc .rc-sum-mkt strong{color:#9b958a}
.rc .rc-sum span{display:block;margin-top:6px}
.rc-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;border-top:1px solid var(--ink);padding-top:20px}
.rc-views{display:inline-flex;border:1px solid var(--ink)}
.rc-views button{font:inherit;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:11px 18px;min-height:44px;border:0;background:none;color:var(--ink);cursor:pointer;transition:background .25s,color .25s}
.rc-views button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.rc-key{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;font-size:14px;color:var(--muted)}
.rc-k::before{content:"";display:inline-block;width:11px;height:11px;margin-right:8px;vertical-align:-1px}
.rc-k-me::before{background:var(--accent)}.rc-k-mkt::before{background:#d9d2c5}.rc-k-miss::before{background:#5e5f62}
.rc-read{font-size:15px;color:var(--muted);margin:18px 0 6px}.rc-read strong{color:var(--ink)}
.rc-chart{margin:8px 0 6px}
.rc-svg{display:block;width:100%;height:auto;overflow:visible}
.rc-tall{display:none;max-width:560px}
@media (max-width:860px){.rc-wide{display:none}.rc-tall{display:block}}
.rc-grid{stroke:var(--line);stroke-width:1}
.rc-axis{stroke:#b9b1a3;stroke-width:1.2}
.rc-tick{fill:var(--muted);font:12px var(--sans)}
.rc-addr{fill:var(--ink);font:13px var(--sans)}
.rc-mkt{fill:#d9d2c5}
.rc-me,.rc-dot{fill:var(--accent)}
.rc-link{stroke:var(--accent);stroke-width:2}
.rc-tickm{fill:#a39b8c}
.rc-vm{fill:var(--accent);font:700 14px var(--sans)}
.rc-vt{fill:#8b857a;font:400 12px var(--sans)}
.rc-miss .rc-me,.rc-miss .rc-dot{fill:#5e5f62}.rc-miss .rc-link{stroke:#5e5f62}.rc-miss .rc-vm{fill:#5e5f62}
.rc-hit{fill:transparent;transition:fill .2s}
.rc-s{cursor:pointer;outline:none}
.rc-s:hover .rc-hit{fill:rgba(18,19,20,.045)}
.rc-s:focus-visible .rc-hit{fill:rgba(18,19,20,.045);stroke:var(--ink);stroke-width:1.5}
.rc-s[aria-expanded=true] .rc-hit{fill:rgba(154,63,43,.09)}
.rc-s[aria-expanded=true] .rc-addr{font-weight:700}
.rc-v,.rc-h,.rc-dot{transform-box:fill-box;transition:transform .8s var(--ease),opacity .6s var(--ease)}
.rc-v{transform-origin:50% 100%}.rc-h{transform-origin:0 50%}.rc-dot{transform-origin:50% 50%}
.js .rc:not(.rc-in) .rc-v{transform:scaleY(0)}
.js .rc:not(.rc-in) .rc-h{transform:scaleX(0)}
.js .rc:not(.rc-in) .rc-dot{transform:scale(0)}
.rc-d0{transition-delay:0ms}.rc-d1{transition-delay:35ms}.rc-d2{transition-delay:70ms}.rc-d3{transition-delay:105ms}.rc-d4{transition-delay:140ms}.rc-d5{transition-delay:175ms}.rc-d6{transition-delay:210ms}.rc-d7{transition-delay:245ms}.rc-d8{transition-delay:280ms}.rc-d9{transition-delay:315ms}.rc-d10{transition-delay:350ms}.rc-d11{transition-delay:385ms}.rc-d12{transition-delay:420ms}.rc-d13{transition-delay:455ms}.rc-d14{transition-delay:490ms}.rc-d15{transition-delay:525ms}.rc-d16{transition-delay:560ms}.rc-d17{transition-delay:595ms}.rc-d18{transition-delay:630ms}
.rc .rc-hint{margin:14px 0 4px}
.rc-detail{margin:6px 0 10px}
.rc-deal{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0 18px;max-width:760px}
.rc-deal-where{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.rc-deal h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0 0 14px}
.rc-deal-nums{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:12px 48px}
.rc-deal-nums li{font-size:15px}
.rc-deal-nums strong{font-family:var(--serif);font-weight:300;font-size:2.2rem;color:var(--accent);margin-right:6px}
.rc-deal-nums span{display:block;font-size:14px;color:var(--muted)}
.rc-story{max-width:60ch;font-size:1.05rem}
.rc-close{background:none;border:0;padding:8px 0;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.pm-record .rc-disclose{border:0;background:none;padding:12px 0;min-height:44px;font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:5px;cursor:pointer;color:var(--ink)}
@media (prefers-reduced-motion:reduce){.rc-v,.rc-h,.rc-dot,.rc-hit{transition:none}.js .rc .rc-v,.js .rc .rc-h,.js .rc .rc-dot{transform:none}}
.rc-wide .rc-vt,.rc-wide .rc-vm{paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}
.rc-chart[data-view=days] .rc-wide .rc-s:not(.rc-miss) .rc-vm{stroke:#d9d2c5}
@media (max-width:520px){.rc-views{display:flex;width:100%}.rc-views button{flex:1;font-size:12px;padding:10px 8px;letter-spacing:.05em}}

/* === Stories hub cards, Track record teasers, story page photo (Founder 11/4 site map: Stories = judgment) === */
.st-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);padding-bottom:clamp(48px,6vw,88px)}
.st-grid-one{grid-template-columns:minmax(0,1fr);max-width:640px;padding-bottom:0}
.st-card,.tr-tease{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--white);border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.st-card:hover,.tr-tease:hover,.st-card:focus-visible,.tr-tease:focus-visible{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(18,19,20,.45)}
.st-img,.tr-tease-img{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--paper-2)}
.st-img img,.tr-tease-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.st-card:hover img,.tr-tease:hover img{transform:scale(1.04)}
.st-body,.tr-tease-body{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.4vw,32px)}
.st-body .eyebrow,.tr-tease-body .eyebrow{margin:0}
.st-t,.tr-tease-t{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.15}
.st-l,.tr-tease-l{color:var(--muted);max-width:52ch}
.st-body .text-link,.tr-tease-body .text-link{margin-top:6px;align-self:flex-start}
.st-more{padding-top:clamp(40px,5vw,72px)}
.tr-stories{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(48px,6vw,80px)}
.tr-tease-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:28px}
#tr-stories{scroll-margin-top:130px}
.fam-page{padding-top:clamp(36px,5vw,64px)}
.fam-page .fam-head h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.06;max-width:19ch;text-wrap:balance;margin:0}
.fam-page .fam-head h1 em{font-style:normal;color:var(--accent)}
.fam-shot{position:relative;margin:0 0 32px}
.fam-shot img{display:block;width:100%;height:auto;aspect-ratio:1092/743;object-fit:cover}
.fam-shot .fam-warn{position:absolute;left:clamp(12px,2.4vw,28px);right:clamp(12px,2.4vw,28px);bottom:clamp(12px,2.4vw,28px);margin:0;max-width:640px;box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.fam-back{display:inline-block;margin-bottom:18px}
@media (max-width:760px){
  .st-grid,.tr-tease-grid{grid-template-columns:minmax(0,1fr)}
  .fam-shot .fam-warn{position:static;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){.st-card,.tr-tease,.st-img img,.tr-tease-img img{transition:none}}

/* Menu: the hire path first in every panel (Founder 11/4: "use me to sell and use me to buy") */
.mm-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.mm-cta .btn{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.mm-cta .btn:hover{background:var(--accent);border-color:var(--accent)}
.mm-cta p{margin:0;font-size:14px;line-height:1.5;color:var(--muted);max-width:44ch;text-transform:none;letter-spacing:0;font-weight:400}
.mm-cta p a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.nav .mm-cta a::after{display:none}
@media (max-width:960px){.mm-cta{margin:4px 0 14px;padding-bottom:16px}.mm-cta .btn{width:100%;justify-content:center}}

/* Breadcrumb: says which menu and which link brought you here (Founder 11/5) */
.crumbs{padding:18px 0 12px;font-size:13px;letter-spacing:.04em;color:var(--muted)}
.crumbs .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.crumbs a{color:var(--muted);text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.crumbs a:hover,.crumbs a:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.crumbs-sep{color:var(--line);font-size:15px}
.crumbs [aria-current=page]{color:var(--ink);font-weight:400}
.crumbs + .page-head,.crumbs + section.page-head{padding-top:clamp(20px,3vw,40px)}

/* Section bar: every page in this section, the current one underlined (Founder 11/5). Replaces the breadcrumb. */
.secbar{border-bottom:1px solid var(--line);background:var(--paper)}
.secbar-row{display:flex;align-items:center;gap:6px 26px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;white-space:nowrap}
.secbar-row::-webkit-scrollbar{display:none}
.secbar a{position:relative;display:inline-block;padding:15px 0 13px;font-size:14px;color:var(--muted);text-decoration:none;transition:color .2s}
.secbar a:hover,.secbar a:focus-visible{color:var(--ink)}
.secbar a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.secbar a[aria-current=page]{color:var(--ink);font-weight:700}
.secbar a[aria-current=page]::after,.secbar a:hover::after{transform:scaleX(1)}
.secbar a:hover:not([aria-current])::after{opacity:.35}
.secbar .secbar-home{font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.secbar-sep{flex:0 0 1px;align-self:stretch;margin:12px 0;background:var(--line)}
@media (max-width:760px){.secbar-row{gap:6px 20px;padding-right:var(--gutter)}.secbar a{font-size:13px}}
.secbar + .page-head,.secbar + section.page-head{padding-top:clamp(28px,4vw,56px)}
@media (max-width:760px){.secbar-row{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent);padding-left:var(--gutter)}}

/* === Reviews up top (Founder 11/5): gold stars, 5.0, review count under Meet Praveen; review card in its dropdown === */
.stars{position:relative;display:inline-block;width:70px;height:14px;overflow:hidden;vertical-align:-1px;flex:0 0 auto}
.stars svg{display:block;width:100%;height:100%}
.stars-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,250,225,.95) 48%,transparent 66%);transform:translateX(-120%);animation:star-sheen 5.5s ease-in-out 1.2s infinite;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M10 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM30 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM50 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM70 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM90 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M10 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM30 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM50 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM70 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7zM90 1.2l2.6 5.5 6 .7-4.4 4.1 1.2 5.9-5.4-3-5.4 3 1.2-5.9-4.4-4.1 6-.7z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
@keyframes star-sheen{0%{transform:translateX(-120%)}22%,100%{transform:translateX(120%)}}
.mm-id{position:relative;display:inline-flex;align-items:center}
.mm-item[data-mm="praveen"] .mm-trigger > span{transform:translateY(-8px)}
.nav .mm-stars{position:absolute;left:50px;top:calc(50% + 2px);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none;color:inherit;text-decoration:none;white-space:nowrap;line-height:1}
.mm-stars .stars{width:62px;height:12px}
.mm-stars .sl-n{font-weight:400;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(176,141,87,.6)}
.mm-stars:hover .sl-n,.mm-stars:focus-visible .sl-n{text-decoration-color:currentColor}
.nav .mm-stars::after{display:none}
.head-stars{display:none;align-items:center;gap:6px;margin-left:auto;margin-right:12px;font-size:13px;font-weight:700;color:inherit;text-decoration:none;white-space:nowrap}
.head-stars .stars{width:60px;height:12px}
.head-stars .sl-n{font-weight:400;opacity:.8}
.mm-reviews{align-self:start;justify-self:end;width:100%;max-width:420px;background:var(--ink);color:var(--paper);padding:clamp(24px,2.6vw,36px)}
.mm-rv-kicker{margin:0 0 10px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.15rem;color:#e9c46a}
.mm-rv-big{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.mm-rv-num{font-family:var(--serif);font-weight:300;font-size:4.4rem;line-height:.9}
.stars-lg{width:140px;height:28px}
.mm-rv-sub{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}
.mm-rv-list{list-style:none;margin:0 0 22px;padding:0}
.mm-rv-list li{border-top:1px solid rgba(244,241,235,.16)}
.mm-rv-list li:last-child{border-bottom:1px solid rgba(244,241,235,.16)}
.mm-rv-list a{display:flex;justify-content:space-between;padding:10px 0;color:var(--paper);text-decoration:none;font-size:15px}
.mm-rv-list a:hover span:first-child{color:#e9c46a}
.mm-rv-list b{color:#e9c46a;font-weight:400}
.nav .mm-rv-list a::after{display:none}
.mm-reviews .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.mm-reviews .btn:hover{background:#e9c46a;border-color:#e9c46a}
@media (max-width:960px){
  .head-stars{display:inline-flex}
  .mm-id{display:block}
  .mm-item[data-mm="praveen"] .mm-trigger > span{transform:none}
  .nav .mm-stars{position:static;margin:-8px 0 14px 50px}
  .mm-reviews{display:none}
}
@media (max-width:380px){.head-stars .sl-n{display:none}}
@media (prefers-reduced-motion:reduce){.stars-sheen{animation:none;display:none}}
@media (min-width:961px){.mm-item[data-mm="praveen"]{margin-right:52px}}

/* Pinned navigation (Founder 11/5): header, then the section bar, then the page bar, all stay while you scroll on desktop.
   Phones: header + section bar stay; the page bar scrolls away to save the screen. */
.secbar{position:sticky;top:var(--head-h,64px);z-index:45}
main section[id]{scroll-margin-top:calc(var(--tr-stack,150px) + 16px)}
@media (max-width:760px){.tr-jump{position:static!important}}
.tr-jump-label{font-style:normal;font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);padding-right:18px;border-right:1px solid var(--line)}
.about-reviews .ar-stars{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 28px;color:var(--muted);font-size:15px}
.about-reviews .btn{margin-top:8px}
@media (max-width:760px){.contact-grid{grid-template-columns:minmax(0,1fr)!important}.contact-grid > *{min-width:0}}
@media (max-width:760px){.hv-listed .text-link,.s-search .text-link{white-space:normal;display:inline}}

/* Section bar has its own tone so it reads as navigation (Founder 11/5) */
.secbar{background:#ebe4d7;border-bottom-color:#d9cfbe}
.secbar a{color:#6a655c}
.secbar .secbar-home{color:var(--ink)}

/* "Everything in Selling" cards on a section's own page; "Next in Selling" at the end of every page in it */
.sx{padding-top:clamp(40px,5vw,72px)}
.sx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.sx-card,.sx-next{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--white);border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.sx-card:hover,.sx-card:focus-visible,.sx-next:hover,.sx-next:focus-visible{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(18,19,20,.45)}
.sx-img,.sx-next-img{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--paper-2)}
.sx-img img,.sx-next-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.sx-card:hover img,.sx-next:hover img{transform:scale(1.04)}
.sx-body,.sx-next-body{display:flex;flex-direction:column;gap:8px;padding:clamp(18px,2vw,26px)}
.sx-t{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.2}
.sx-b{color:var(--muted);font-size:15px}
.sx-go{margin-top:auto;padding-top:6px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.sx-next-wrap{padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(40px,5vw,72px)}
.sx-next{flex-direction:row;align-items:stretch;max-width:980px}
.sx-next-img{flex:0 0 42%;aspect-ratio:auto;min-height:220px}
.sx-next-body{justify-content:center}
.sx-next-body .eyebrow{margin:0}
.sx-next-t{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.15}
.sx-all{display:inline-block;margin-top:16px}
@media (max-width:960px){.sx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sx-grid{grid-template-columns:minmax(0,1fr)}.sx-next{flex-direction:column}.sx-next-img{flex:none;aspect-ratio:3/2;min-height:0}}
@media (prefers-reduced-motion:reduce){.sx-card,.sx-next,.sx-img img,.sx-next-img img{transition:none}}

/* Results dropdown: the two stories sit under Stories (Founder 11/5: the menu should mirror the bar) */
.mm-links li.mm-sub a{padding-left:22px;position:relative}
.mm-links li.mm-sub a::before{content:"";position:absolute;left:4px;top:50%;width:10px;height:1px;background:var(--line)}
.mm-links li.mm-sub .mm-l{font-size:clamp(1.05rem,1.4vw,1.25rem)}
.nav .mm-links li.mm-sub a::after{display:none}
@media (max-width:960px){.mm-links li.mm-sub .mm-l{font-size:1.05rem}}

/* Card tags use the section bar's names, so cards, bar and menu read as one system (Founder 11/5) */
.sx-tag{align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:3px}
.sx-tag:empty{display:none}

/* Tighter rhythm (Founder 11/5: sections were "very spread"). Was up to 140px top and bottom. */
.section{padding-top:clamp(48px,7vw,104px);padding-bottom:clamp(48px,7vw,104px)}
.ca-q{padding-top:clamp(28px,3.5vw,48px)!important;padding-bottom:clamp(28px,3.5vw,48px)!important;border-top:1px solid var(--line)}
.q-big li:has(> h3){grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:clamp(16px,3vw,40px);padding:30px 0}
.q-big li > h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;line-height:1.25;margin:0}
@media (max-width:760px){.q-big li:has(> h3){grid-template-columns:minmax(0,1fr);gap:8px;padding:24px 0}}
@media (min-width:961px){.sits:has(> .sit:nth-child(6):last-child){grid-template-columns:repeat(3,1fr)}}
.about-tagline{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.3;color:var(--ink);max-width:30ch;margin:14px 0 22px}

/* ===== Readability (Founder 11/6: "the type is very light and older people might have a hard time reading").
   Same fonts and look; text is darker and one step heavier. Newsreader is loaded as a 300-500 variable range. ===== */
:root{--muted:#45464a;--on-dark-muted:#d2ccc0}
h1,h2,.stat-num,.statement-line,.big-q,.sx-next-t,.band-lead h2,.hero-q,.mm-rv-num,.aw-year,.aw .aw-year,.awc-year,.hl-facts strong,.voices h2,.step-n,.q-n{font-weight:380}
.serif,.lesson,.quote blockquote,.review .pull,.voices-list blockquote,.rt li p,.lib-pull,.s-rev blockquote,.sx-t,.about-tagline,.mm-rv-kicker,.tr-jump-label{font-weight:420}
.lede{color:#36373a}
.sit p,.step p,.q-list p{font-size:1.02rem}
.sx-b,.hl-facts span{font-size:16px}
.fine,.tl-note,.video-note,.voices-list figcaption,.lib-count{font-size:.9rem}
.eyebrow{color:#3f4044}

/* ===== One page bar, everywhere (Founder 11/6): readable on desktop, pinned on phones too ===== */
.tr-jump a{color:#3f4044;font-size:13px;font-weight:800;letter-spacing:.12em}
.tr-jump a:hover,.tr-jump a.on{color:var(--ink)}
@media (max-width:760px){
  .tr-jump{position:sticky!important;z-index:44}
  .tr-jump .wrap{gap:22px}
  .tr-jump a{font-size:12px;padding:13px 0 10px}
}

/* Buyer numbers band on Buying (Founder 11/6): three figures */
.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.buyer-band .stats-more{color:var(--on-dark-muted);padding-bottom:clamp(32px,4vw,56px);margin:0 auto}
@media (max-width:960px){.stats-3{grid-template-columns:minmax(0,1fr);gap:28px 0}.stats-3 li{border-left:0;padding-left:0}}

/* Story page figure + numbers row (Wilmette, 11/6) */
.story-figure{margin:0 0 clamp(28px,4vw,48px);border:1px solid var(--line);background:var(--white)}
.story-figure img{display:block;width:100%;height:auto}
.story-nums{list-style:none;margin:0 0 clamp(40px,5vw,64px);padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-nums li{display:flex;flex-direction:column;gap:6px;padding:22px 0}
.story-nums .stat-num{font-size:clamp(1.7rem,3vw,2.6rem);color:var(--ink)}
.story-nums .stat-label{color:var(--muted);font-size:.95rem}
@media (max-width:700px){.story-nums{grid-template-columns:minmax(0,1fr);gap:0}.story-nums li{padding:16px 0;border-bottom:1px solid var(--line)}.story-nums li:last-child{border-bottom:0}}

/* ===== Section bar reads as tabs (Founder 11/6: "it doesn't feel like those are different tabs") =====
   Each page in the section is a tab with its own outline; the page you're on is filled. */
.secbar-row{gap:8px;padding-top:10px;padding-bottom:10px}
.secbar a{padding:8px 16px;border:1px solid #cfc4b1;border-radius:999px;background:#f7f3ec;color:#3f4044;font-size:14px;font-weight:700;line-height:1.2}
.secbar a::after{display:none}
.secbar a:hover,.secbar a:focus-visible{background:#fff;border-color:var(--ink);color:var(--ink)}
.secbar a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.secbar .secbar-home{border:0;background:none;padding-left:0;padding-right:4px;color:var(--ink);font-size:12px}
.secbar .secbar-home[aria-current=page]{background:none;color:var(--accent)}
.secbar-sep{margin:6px 6px 6px 0}
@media (max-width:760px){.secbar a{font-size:13px;padding:7px 13px}.secbar-row{gap:6px}}

.story-photo{margin:0 0 clamp(20px,3vw,32px)}.story-photo img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover}


/* ===== 11/7 Founder: phones pin only the header and the Call/Text/Email bar. The section tabs and the page bar
   stay at the top of the page but scroll away with it. Desktop is unchanged. ===== */
@media (max-width:760px){
  .secbar{position:static}
  .tr-jump{position:static!important}
  main section[id]{scroll-margin-top:calc(var(--head-h,64px) + 12px)}
}

/* ===== Situation forms (11/7): quick questions, "Add more details", then how to reach you ===== */
.smart-form [hidden]{display:none!important}
.f-quick,.f-more-body,.f-reach{display:grid;gap:18px}
.f-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}
.f-more summary{cursor:pointer;list-style:none;padding:14px 0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.f-more summary::-webkit-details-marker{display:none}
.f-more summary::before{content:"+";display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--ink);border-radius:50%;font-size:15px;letter-spacing:0;transition:transform .25s var(--ease)}
.f-more[open] summary::before{content:"â€“"}
.f-more summary span{font-weight:400;color:var(--muted);letter-spacing:0;text-transform:none}
.f-more-body{padding:4px 0 18px}
.f-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.f-two{grid-template-columns:minmax(0,1fr)}}
.form .f-check{display:flex!important;gap:10px;align-items:center;font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;cursor:pointer}
.form .f-check input{width:20px;height:20px;padding:0;accent-color:var(--ink)}
.form .f-check span{color:var(--ink)}
.f-promise{margin:0;font-size:15px;color:var(--muted)}
.f-promise a{color:var(--ink);font-weight:700}
.form-status.err{color:var(--accent);font-weight:700}

/* Situation pages (11/7): the ask and a real example on the first screen */
.s-ask{margin-top:clamp(20px,3vw,32px);padding:clamp(20px,3vw,28px);background:var(--white);border:1px solid var(--line);max-width:860px}
.s-ask-q{font-family:var(--serif);font-weight:420;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.25;margin:0 0 18px;color:var(--ink)}
.s-ask .btn-row{margin:0}
.s-ask .s-search{margin:14px 0 0;font-size:15px;color:var(--muted)}
.s-ask .s-search a{color:var(--ink)}  /* 11/11 Founder: was the on-dark colours on a white box, near invisible */
.s-proof{display:grid;gap:8px;margin-top:18px;max-width:860px;padding:18px 0 4px;border-top:1px solid var(--line);text-decoration:none;color:inherit}
.s-proof .eyebrow{margin:0}
.s-proof-t{font-family:var(--serif);font-weight:420;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.3}
.s-proof:hover .s-proof-t{color:var(--accent)}
@media (max-width:560px){.s-ask .btn-row .btn{width:100%;justify-content:center}}

/* Selling (11/7): three real sales and the call behind each */
.sales{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.sale{background:var(--white);border:1px solid var(--line);padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:10px}
.sale .eyebrow{margin:0}
.sale h3{font-family:var(--serif);font-weight:420;font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.15;margin:0}
.sale p{margin:0}
.sale .sale-n{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:15px;font-weight:700;color:var(--ink)}
@media (max-width:860px){.sales{grid-template-columns:minmax(0,1fr)}}
.sale-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 8px}
.sell-ask{margin-top:clamp(28px,4vw,44px)}

/* Selling (11/7): on phones the record starts with the 10 most recent sales; "Show all" opens every one */
.rc-more{display:none;margin:14px 0 0;background:none;border:0;padding:0;cursor:pointer;font:inherit}
@media (max-width:860px){
  .rc-short .rc-tall-full{display:none}
  .rc-short.rc-all .rc-tall-full{display:block}
  .rc-short.rc-all .rc-tall-short{display:none}
  .rc-short .rc-more{display:inline-flex}
}
.rc-short .rc-more{font-size:13px;letter-spacing:.1em;line-height:1.5;text-align:left}

/* 11/7 audit fixes: errors beside the field, a clear focus ring, form first on phone Contact */
.f-err{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--accent);letter-spacing:0;text-transform:none}
.form [aria-invalid=true]{border-bottom:2px solid var(--accent)}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible,.m-chip input:focus-visible + span,.f-more summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.f-more{margin-top:4px}
@media (max-width:760px){
  .contact-main .contact-intro .btn-row,.contact-main .contact-intro .office{display:none}
  .contact-main{padding-top:24px}
  .contact-main .contact-intro h1{margin-bottom:.3em}
}

/* ===== Menu panels on laptop screens (Founder 11/7: "some drop downs are too big and I can't see the bottom") =====
   Big monitors keep the full panel. Shorter windows get a compact one, and no panel is ever taller than the
   screen: if it would be, it scrolls inside itself so the last link is always reachable. */
@media (min-width:961px){
  .mm-panel{max-height:calc(100vh - var(--head-h,64px));overflow-y:auto;overscroll-behavior:contain}
}
@media (min-width:961px) and (max-height:820px){
  .mm-grid{padding-top:22px;padding-bottom:24px;gap:clamp(24px,4vw,56px)}
  .mm-lead{font-size:1.05rem;margin-bottom:10px}
  .mm-cta{margin-bottom:12px;padding-bottom:12px;gap:6px}
  .mm-links a{padding:6px 0}
  .mm-l{font-size:clamp(1.1rem,1.5vw,1.3rem)}
  /* descriptions stay (Founder 11/7), on the title's line, one line only */
  .mm-b{display:block;font-size:12px;max-width:34ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
  .mm-photo{max-height:calc(100vh - var(--head-h,64px) - 60px)}
}
@media (max-width:1100px){.mm-links .mm-b{display:none}}

/* ===== 11/10 navigation (Founder: build the review's version) ===== */
.mm-chev{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease);margin-left:-2px}
.mm-trigger[aria-expanded="true"] .mm-chev{transform:translateY(1px) rotate(-135deg)}
.mm-group{border-top:0!important;padding:16px 0 4px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:1!important;transform:none!important}
.mm-ext{font-size:.75em;color:var(--muted)}
.mm-cta{margin:22px 0 0;padding:22px 0 0;border-bottom:0;border-top:1px solid var(--line)}
@media (min-width:961px) and (max-height:820px){.mm-cta{margin-top:12px;padding-top:12px;margin-bottom:0;padding-bottom:0}.mm-group{padding-top:8px}}
@media (max-width:960px){
  .mm-desk{display:none!important}
  .mm-chev{display:none}
  .mm-cta{border-top:0;padding-top:6px;margin-top:6px}
  .mm-plain .mm-trigger::before{content:none}
}
/* Contact: the visible choice */
.f-choice{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.f-choice legend{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;padding:0}
.f-choice button{font:inherit;font-size:15px;font-weight:700;padding:11px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer}
.f-choice button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.f-choice button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* ===== 11/10: one pinned bar on desktop (the header). The section tabs scroll away, and "On this page" is a
   labeled box inside the page, under its opening (Founder + ChatGPT concept). ===== */
.secbar{position:static}
.tr-jump{position:static!important;background:none!important;border:0!important;backdrop-filter:none!important;padding:0 0 clamp(24px,3.5vw,44px)}
.tr-jump .wrap{display:block;overflow:visible;white-space:normal}
.otp-box{background:#efe8dc;border:1px solid #ddd2c0;border-radius:10px;padding:18px 24px 12px}
.tr-jump .tr-jump-label{display:block!important;border:0;padding:0;margin:0 0 4px;font-family:var(--sans);font-style:normal;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.otp-links{display:flex;flex-wrap:wrap;align-items:center}
.tr-jump .otp-links a{font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);padding:8px 0;border:0;text-decoration:none}
.tr-jump .otp-links a:hover,.tr-jump .otp-links a:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.tr-jump .otp-links a + a::before{content:"Â·";display:inline-block;margin:0 16px;color:var(--muted);text-decoration:none}
.page-head:has(+ .tr-jump){padding-bottom:clamp(24px,3vw,40px)}
main section[id]{scroll-margin-top:calc(var(--head-h,64px) + 16px)}
.tr-all details[open] > summary{top:var(--head-h,64px)}
@media (max-width:760px){.otp-box{padding:14px 16px 8px}.tr-jump .otp-links a{font-size:15px;padding:7px 0}.tr-jump .otp-links a + a::before{margin:0 10px}}
.hero + .tr-jump{padding-top:clamp(20px,3vw,36px)}
@media (max-width:760px){.tr-jump .otp-links a + a::before{content:none}.otp-links{gap:0 20px}}

/* ===== 11/10 scroll navigation ===== */
/* header leaves when reading down; the slim row returns on a deliberate scroll up */
.site-head{transition:transform .18s ease, background .4s ease, border-color .4s ease, color .4s ease}
body.head-away .site-head{transform:translateY(-110%)}
.crow{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(244,241,235,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transform:translateY(-110%);transition:transform .18s ease;visibility:hidden}
.crow.show{transform:none;visibility:visible}
.crow-row{display:flex;align-items:center;gap:14px;min-height:52px}
.crow-brand{font-family:var(--serif);font-size:17px;color:var(--ink);text-decoration:none}
.crow-slash{color:var(--muted)}
.crow-sec{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding:4px 0}
.crow-otp{position:relative;margin-left:auto}
.crow-menu{font:inherit;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:none;border:1px solid var(--ink);border-radius:999px;padding:9px 18px;cursor:pointer}
.crow-menu[aria-expanded="true"]{background:var(--ink);color:var(--paper)}
.crow-panel{border-top:1px solid var(--line);background:var(--paper);max-height:calc(100vh - 60px);overflow-y:auto;overscroll-behavior:contain;padding:8px 0 20px}
.crow-panel .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 32px;align-items:start}
.crow-home{grid-column:1/-1;font-family:var(--serif);font-size:1.3rem;color:var(--ink);text-decoration:none;padding:10px 0}
.crow-d summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:1.3rem;padding:10px 0;display:flex;justify-content:space-between;align-items:center}
.crow-d summary::-webkit-details-marker{display:none}
.crow-d summary::after{content:"+";font-family:var(--sans);font-size:1.2rem}
.crow-d[open] summary::after{content:"â€“"}
.crow-d ul{list-style:none;margin:0 0 10px;padding:0}
.crow-d li a{display:block;padding:7px 0;color:var(--ink);text-decoration:none;border-top:1px solid var(--line);font-size:15px}
.crow-d li a.crow-cta{font-weight:800;color:var(--accent)}
.crow-contact{grid-column:1/-1;justify-self:start;margin-top:10px}
@media (min-width:961px){.crow-d summary{pointer-events:none}.crow-d summary::after{content:none}.crow-d:not([open]) ul{display:block}}
@media (max-width:960px){.crow-panel .wrap{grid-template-columns:1fr;gap:0}.crow-d{border-top:1px solid var(--line)}.crow-panel{max-height:calc(100vh - 60px - 64px)}}
@media (max-width:760px){.crow-brand,.crow-slash{display:none}.crow-row{gap:10px;min-height:50px}.crow-menu{padding:8px 14px}}
@media (prefers-reduced-motion:reduce){.site-head,.crow{transition:none}}

/* On this page: one clearly styled button under the intro; the same list in the compact row */
.tr-jump.otp{position:static!important;background:none!important;border:0!important;padding:0 0 clamp(14px,2vw,22px)}
.otp .wrap{position:relative;display:block}
.otp-btn{font:inherit;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:#efe8dc;border:1px solid #d9cdb9;border-radius:999px;padding:11px 18px;cursor:pointer;display:inline-flex;align-items:center;gap:10px}
.otp-btn[aria-expanded="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.otp-chev{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.otp-btn[aria-expanded="true"] .otp-chev{transform:translateY(1px) rotate(-135deg)}
.otp-list{position:absolute;z-index:61;margin:8px 0 0;padding:8px 0;list-style:none;min-width:260px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 40px -20px rgba(18,19,20,.35)}
.otp .otp-list{left:var(--gutter)}
.crow-otp .otp-btn{padding:8px 14px;font-size:12px}
.crow-otp .otp-list{right:0;left:auto;top:100%}
.otp-list a{display:block;padding:10px 18px;color:var(--ink);text-decoration:none;font-size:16px}
.otp-list a:hover,.otp-list a:focus-visible{background:var(--tint,#ebe4d7);color:var(--accent)}
.otp-list a.on{font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}
.otp-box{display:none}
main section[id]{scroll-margin-top:calc(var(--head-h,72px) + 16px)}

/* breadcrumb above the title on a detail page; "Explore Selling" in the content */
.crumb{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1.2rem}
.crumb a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}
.crumb [aria-current]{color:var(--ink)}
.explore{padding:0 0 clamp(28px,4vw,48px)}
.explore-label{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.explore-links{display:flex;flex-wrap:wrap;gap:8px}
.explore-links a{padding:8px 16px;border:1px solid #cfc4b1;border-radius:999px;background:#f7f3ec;color:#3f4044;font-size:14px;font-weight:700;text-decoration:none}
.explore-links a:hover,.explore-links a:focus-visible{background:#fff;border-color:var(--ink);color:var(--ink)}

/* menu: the name links to the overview, the chevron opens the shortcuts */
.mm-head{display:inline-flex;align-items:center;gap:2px}
.mm-chev-btn{background:none;border:0;color:inherit;cursor:pointer;width:26px;height:30px;display:inline-grid;place-items:center;border-radius:6px;padding:0}
.mm-chev-btn:hover,.mm-chev-btn[aria-expanded="true"]{background:rgba(18,19,20,.07)}
.mm-chev-btn[aria-expanded="true"] .mm-chev{transform:translateY(1px) rotate(-135deg)}
.mm-chev-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media (max-width:960px){
  .mm-head{display:flex;width:100%}
  .mm-head .mm-trigger{flex:1}
  .mm-head .mm-trigger::before{content:none}
  .mm-chev-btn{width:44px;height:44px}
  .mm-chev-btn .mm-chev{display:none}
  .mm-chev-btn::before{content:"+";font-size:1.4rem;transition:transform .3s var(--ease)}
  .mm-chev-btn[aria-expanded="true"]::before{transform:rotate(45deg)}
}
.crow-otp .otp-btn{white-space:nowrap}
@media (max-width:360px){.crow-row{gap:8px}.crow-sec{font-size:11.5px;letter-spacing:.08em}.crow-otp .otp-btn{padding:7px 10px;font-size:11px;letter-spacing:.06em;gap:6px}.crow-menu{padding:7px 11px;font-size:11px}}

/* ===== 11/10 one shared site menu (phone MENU and the slim row's Menu) ===== */
.sm{position:fixed;left:0;right:0;top:64px;z-index:59;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(18,19,20,.35);max-height:calc(100vh - 64px);overflow-y:auto;overscroll-behavior:contain}
.sm .wrap{padding-top:18px;padding-bottom:22px}
.sm-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 28px;align-items:start}
.sm-sec{display:block;font-family:var(--serif);font-weight:420;font-size:1.45rem;line-height:1.2;color:var(--ink);text-decoration:none;padding:8px 0 10px;border-bottom:1px solid var(--line)}
.sm-sec:hover,.sm-sec:focus-visible{color:var(--accent)}
.sm-col.is-here .sm-sec{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.sm-col ul{list-style:none;margin:0;padding:4px 0 0}
.sm-col li a{display:block;padding:7px 0;font-size:15px;color:#3f4044;text-decoration:none}
.sm-col li a:hover,.sm-col li a:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
/* 11/10 Founder review: red means "you are here" only; actions are dark, bold, with an arrow */
.sm-col li a.sm-cta{font-weight:800;color:var(--ink)}
.sm-col li a[aria-current=page]{color:var(--accent);font-weight:700}
.mm-links a[aria-current=page] .mm-l{color:var(--accent)}
.sm-contact{margin-top:18px}
@media (max-width:960px){
  .js .nav.mega{display:none!important}
  .sm{max-height:calc(100vh - var(--sm-top,64px) - 64px)}
  .sm-grid{grid-template-columns:1fr;gap:0}
  .sm-col{padding:4px 0 10px;border-bottom:1px solid var(--line)}
  .sm-sec{border-bottom:0;padding:10px 0 2px;font-size:1.5rem}
  .sm-col li a{padding:6px 0 6px 2px}
  .sm-col.is-here .sm-sec{box-shadow:none}
}
.crow-panel{display:none!important}
/* the jump list without the script: a plain list; with it, a dropdown behind the button */
html:not(.js) .otp-btn{display:none}
html:not(.js) .otp-list{position:static;box-shadow:none;border:0;background:none;display:flex;flex-wrap:wrap;gap:4px 18px;padding:0}
html:not(.js) .otp-list a{padding:6px 0}
main section[tabindex="-1"]:focus{outline:none}
/* 11/10 late: the footer prints the same one list per section as the menus */
.foot-list{margin:0 0 8px;line-height:1.7}
.foot-list b{margin-right:6px}
.foot-list b a{font-weight:800}

/* 11/10 late (Founder): red = where you are, down to the part of the page you're reading */
.otp-list a.on,.otp-list a[aria-current=location]{color:var(--accent);font-weight:700}
.sm-col li a[aria-current=location]{color:var(--accent);font-weight:700}
.mm-links a[aria-current=location] .mm-l{color:var(--accent)}
/* jump targets that are headings or blocks clear the header */
main h2[id],main h3[id],main form[id],main .fam-ch[id],main section[id],main article[id]{scroll-margin-top:110px}
/* 11/10 late (Founder: "I don't need an On this page button on the page"): the list lives only in the slim top row,
   which slides in on a scroll up; the page keeps the list in its markup so the row can copy it */
main .otp{display:none!important}

/* 11/10 late: pages under a menu item (each story under Stories, each town under Town markets), quiet and indented */
.sm-kids,.mm-kids{display:block;padding:0 0 6px 14px;border-left:1px solid var(--line);margin:0 0 6px 2px;opacity:1!important;transform:none!important;border-top:0!important}
.sm-kids summary,.mm-kids summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:#5d5f63;padding:3px 0}
.sm-kids summary::-webkit-details-marker,.mm-kids summary::-webkit-details-marker{display:none}
.sm-kids summary::after,.mm-kids summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.sm-kids details[open] summary::after,.mm-kids details[open] summary::after{transform:rotate(45deg)}
.sm-kids summary:hover,.mm-kids summary:hover,.sm-kids summary:focus-visible,.mm-kids summary:focus-visible{color:var(--ink)}
.kids-links{display:flex;flex-wrap:wrap;gap:2px 14px;padding:2px 0 2px}
.sm-kids a,.mm-kids a{font-size:13.5px;color:#5d5f63;text-decoration:none;padding:3px 0}
.sm-kids a:hover,.mm-kids a:hover,.sm-kids a:focus-visible,.mm-kids a:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.sm-kids a[aria-current=page],.mm-kids a[aria-current=page]{color:var(--accent);font-weight:700}
.nav .mm-kids a::after{display:none}
/* reviews card: Read the reviews first; the outside sites small, below it */
.mm-reviews .btn{margin:0 0 16px}
.mm-rv-also{margin:0;font-size:12.5px;line-height:1.7;color:var(--on-dark-muted)}
.mm-rv-also a{color:var(--on-dark-muted);text-decoration:underline;text-decoration-color:rgba(244,241,235,.3);text-underline-offset:3px;white-space:nowrap}
.mm-rv-also a:hover{color:var(--paper)}
.nav .mm-rv-also a::after{display:none}
/* Meet Praveen: the chevron sits on the name line so it never covers the stars line under it */
@media (min-width:961px){.nav.mega .mm-id{align-items:flex-start}.nav.mega .mm-id .mm-chev-btn{margin-top:9px;height:20px}}

/* 11/10 late (Founder): On this page sits next to the section name; Site menu a short gap after it (not at the far edge);
   on desktop the part you're reading shows beside the button */
.crow-otp{margin-left:6px!important}
.crow-now{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch}
.crow-now:empty{display:none}
.crow-menu{margin-left:28px}
@media (max-width:760px){.crow-now{display:none}.crow-menu{margin-left:auto}}
.menu-btn{white-space:nowrap}
.crow-menu{white-space:nowrap}
@media (max-width:360px){.crow-menu{margin-left:auto;padding:7px 10px;letter-spacing:.08em}.crow-otp .otp-btn{letter-spacing:.04em}}

/* 11/10 late (Founder): story card blocks read as one section: a heading, numbered cards, more room between rows */
.beats-h{font-family:var(--serif);font-weight:380;font-size:clamp(1.6rem,3vw,2.3rem);margin:clamp(48px,7vw,88px) 0 28px;padding-top:clamp(28px,4vw,44px);border-top:1px solid var(--line)}
.beats{counter-reset:beat;gap:clamp(36px,4.5vw,56px) clamp(32px,4vw,64px)}
.beat{padding-top:16px;border-top:2px solid var(--ink)}
.beat h3{margin-top:0}
.beat h3::before{counter-increment:beat;content:counter(beat,decimal-leading-zero);display:block;font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}
.story .lesson{margin-top:clamp(48px,6vw,80px)}
/* Morton Grove: two moves, said quietly */
.fam-moves{margin:18px 0 0;font-size:15px;color:var(--muted)}
.fam-moves a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
/* slim bar: the part you're reading in red, a little larger; Site menu a bit further right */
.crow-now{color:var(--accent);font-size:14.5px;font-weight:600}
.crow-menu{margin-left:56px}
@media (max-width:760px){.crow-menu{margin-left:auto}}

/* 11/11 Founder (iPhone): "On this page" list was cut off on the left. It hung off the button's right edge, and on a
   phone the button sits near the left. On phones it now opens the full width of the bar, under it, and scrolls if long. */
@media (max-width:760px){
  .crow-row{position:relative}
  .crow-otp{position:static}
  .crow-otp .otp-list{left:var(--gutter);right:var(--gutter);top:100%;min-width:0;max-height:calc(100vh - 52px - 64px - 24px);max-height:calc(100dvh - 52px - 64px - 24px);overflow-y:auto;overscroll-behavior:contain}
}

/* 11/11 Founder OK (review list #10): gaps between sections were 265-300px on desktop (two section paddings stacked,
   plus the last item's bottom margin). Trim the second padding and that margin: about 180-200px now. */
.section + .section,.st-grid + .section{padding-top:clamp(40px,5vw,72px)}
/* 11/11 Founder: the slim row is a trail, whole site â†’ section â†’ page â†’ part:
   [â˜° Site menu] / Selling / Home value  [On this page Â· Three steps â–¾]. Phones stack each step's label over its name. */
.crow-ico{display:inline-block;width:16px;height:12px;flex:none;
  background:linear-gradient(currentColor 0 0) top/100% 2px no-repeat,linear-gradient(currentColor 0 0) center/100% 2px no-repeat,linear-gradient(currentColor 0 0) bottom/100% 2px no-repeat}
.crow .crow-root{display:inline-flex;align-items:center;gap:9px;margin-left:0!important;flex:none}
.crow-row{gap:12px}
.crow-row .crow-slash{color:#b7ab97;font-size:18px;font-weight:300}
.crow-trail{display:flex;align-items:baseline;gap:12px;min-width:0}
.crow-trail .crow-sec{flex:none;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;border:0;padding:0}
.crow-trail .crow-sec:hover,.crow-trail .crow-sec:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.crow-page{font-family:var(--serif);font-size:19px;font-weight:400;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.crow-otp{margin-left:14px!important}
.crow-brand{display:none}
/* the big header's phone menu sits at the left too, in the same place as the slim row's */
.menu-btn{display:none;align-items:center;gap:8px}
@media (max-width:960px){.menu-btn{display:inline-flex;order:-1}}
@media (max-width:760px){
  .crow-row{gap:8px}
  .crow .crow-root{width:40px;height:40px;padding:0!important;justify-content:center;border-radius:50%}
  .crow .crow-root .crow-root-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .crow-slash-root{display:none}
  .crow-trail{display:grid;gap:1px;flex:0 1 auto;max-width:42%}
  .crow-trail .crow-slash{display:none}
  .crow-trail .crow-sec{font-size:9.5px;letter-spacing:.12em;line-height:1.2}
  .crow-page{font-size:15px;line-height:1.2}
  .crow-otp{margin-left:auto!important}
}

/* 11/11: town-page questions were wider than a 320px phone (300px card minimum + a long web address), which made the
   whole page 363px wide and pushed Site menu off the pinned bar */
.q-list{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.q-list p,.q-list li{overflow-wrap:anywhere}

/* 11/11 Founder: Selling's chart opens with one sale (Summit) as the example; tap any other bar */
.rc-ex-label{display:inline-block;margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);background:var(--accent);border-radius:999px;padding:4px 10px}
.rc-ex-more{margin:4px 0 6px}
.rc-ex-tap{margin:10px 0 0;font-weight:700;color:var(--accent)}
.rc-deal{scroll-margin:70px 0 84px}
.rc-short .rc-more{margin-top:18px}
.rc .sale-links{margin-top:26px}

/* 11/11 Founder (phones): the slim row is pinned, so its button names the part you're reading, in red, changing as
   you scroll; tap it for the jump list. Site menu gets a smaller pill to make room. Desktop is unchanged. */
.otp-now{display:none}
/* 11/11 Founder: one pill "On this page Â· <part you're reading> â–¾": label quiet, part red and live; the dropdown is this
   page's parts. Phones stack the label over the part (no room for one line beside the section name and Site menu). */
.crow-otp{min-width:0;flex:0 1 auto}
.crow-otp .crow-pill{max-width:100%;min-width:0;letter-spacing:0;text-transform:none;font-size:15px;font-weight:600;padding:8px 14px;gap:8px}
.crow-pill .otp-lbl{flex:none;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.crow-pill .otp-now:not(:empty){display:block;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.crow-pill .otp-now:not(:empty)::before{content:"Â·";color:var(--muted);margin:0 8px 0 0}
.crow-pill .otp-chev{flex:none;margin-left:2px}
.crow-pill[aria-expanded="true"] .otp-lbl,.crow-pill[aria-expanded="true"] .otp-now{color:var(--paper)}
.crow-otp .crow-dd{left:0;right:auto;min-width:260px;max-height:calc(100vh - 52px - 32px);overflow-y:auto;overscroll-behavior:contain}
.crow-dd ul{list-style:none;margin:0;padding:0}
.crow-menu{flex:none}
.crow-now{display:none!important}
@media (max-width:760px){
  .crow-row{gap:10px;min-height:56px}
  .crow-sec{flex:none}
  .crow-otp{flex:1 1 auto}
  .crow-otp .crow-pill{overflow:hidden;display:inline-grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:1px;align-items:center;text-align:left;border-radius:14px;padding:5px 12px 6px;font-size:14px}
  .crow-pill .otp-lbl{grid-column:1;font-size:9.5px;letter-spacing:.12em;line-height:1.2}
  .crow-pill .otp-now:not(:empty){grid-column:1;grid-row:2;line-height:1.25}
  .crow-pill .otp-now:not(:empty)::before{content:none}
  .crow-pill .otp-chev{grid-column:2;grid-row:1 / span 2}
  .crow-otp .crow-dd{left:var(--gutter);right:var(--gutter);min-width:0;max-height:calc(100vh - 56px - 64px - 24px);max-height:calc(100dvh - 56px - 64px - 24px)}
  .crow-menu{padding:6px 10px!important;font-size:10.5px!important;letter-spacing:.06em!important}
}
.section > :last-child{margin-bottom:0}

/* 11/11 Founder ("why are the fonts all different... just put a slash"): ONE trail, one typeface, slashes between every step;
   the last step is the part you're reading and opens the jump list. Steps differ only by color: grey links above you,
   dark = this page, red = the part. No pills. Phones: same trail, smaller, wrapping to a second line if needed. */
.crow .crow-row{gap:10px;flex-wrap:nowrap}
.crow .crow-row .crow-root,.crow .crow-trail .crow-sec,.crow .crow-page,.crow .crow-otp .crow-pill{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.3}
.crow .crow-row .crow-root{width:auto;height:auto;border:0;border-radius:0;background:none;padding:6px 0!important;color:var(--muted);gap:8px}
.crow .crow-row .crow-root .crow-root-l{position:static;width:auto;height:auto;overflow:visible;clip:auto}
.crow .crow-row .crow-root:hover,.crow .crow-row .crow-root[aria-expanded="true"]{color:var(--ink)}
.crow .crow-trail{display:flex;align-items:baseline;gap:10px;min-width:0;max-width:none}
.crow .crow-trail .crow-slash,.crow .crow-slash-root,.crow .crow-otp .crow-slash{display:inline}
.crow .crow-trail .crow-sec{color:var(--muted)}
.crow .crow-page{color:var(--ink)}
.crow .crow-row .crow-slash{color:#bfb4a2;font-size:15px;font-weight:400}
.crow .crow-otp{display:flex;align-items:baseline;gap:10px;margin-left:0!important;flex:0 1 auto;min-width:0}
.crow .crow-otp[hidden]{display:none}
.crow .crow-otp .crow-pill{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-radius:0;padding:6px 0;color:var(--ink);min-width:0;overflow:hidden}
.crow .crow-pill .otp-lbl{font:inherit;letter-spacing:0;text-transform:none;color:var(--ink)}
/* 11/11 Founder: "On this page" always shows (it says what the button is); the part you're reading follows it in red */
.crow .crow-pill:has(.otp-now:not(:empty)) .otp-lbl::after{content:":"}
.crow .crow-pill .otp-lbl{flex:none}
.crow .crow-pill .otp-now:not(:empty){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.crow .crow-trail span.crow-sec:hover{color:var(--muted);text-decoration:none}
/* 11/11 Founder ("shouldn't the font be larger for Results... Reviews is darker and more bold"): every step looks the
   same (one color, size, weight); slashes separate; red only for the part you're reading */
.crow .crow-row .crow-root,.crow .crow-trail .crow-sec,.crow .crow-trail span.crow-sec:hover,.crow .crow-page,.crow .crow-pill .otp-lbl{color:var(--ink);font-weight:600}
/* phones: line 1 = where you are (☰ / Buying / Wilmette), line 2 = On this page: part ▾ (no stray slash) */
@media (max-width:760px){
  .crow .crow-row .crow-otp{flex:1 0 100%}
  .crow .crow-row .crow-otp .crow-slash{display:none!important}
}
.crow .crow-pill .otp-now:not(:empty){display:block;color:var(--accent)}
.crow .crow-pill .otp-now:not(:empty)::before{content:none}
.crow .crow-pill .otp-chev{color:var(--accent)}
.crow .crow-pill[aria-expanded="true"]{background:none}
.crow .crow-pill[aria-expanded="true"] .otp-lbl{color:var(--ink)}
.crow .crow-pill[aria-expanded="true"] .otp-now{color:var(--accent)}
.crow .crow-pill:hover .otp-now,.crow .crow-pill:hover .otp-lbl{text-decoration:underline;text-underline-offset:4px}
@media (max-width:760px){
  .crow .crow-row{flex-wrap:wrap;row-gap:0;column-gap:7px;padding-top:6px;padding-bottom:6px;min-height:50px;align-items:baseline}
  .crow .crow-row .crow-root,.crow .crow-trail .crow-sec,.crow .crow-page,.crow .crow-otp .crow-pill{font-size:13.5px}
  .crow .crow-row .crow-root .crow-root-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .crow .crow-slash-root{display:inline}
  .crow .crow-trail{display:flex;gap:7px;flex:0 1 auto}
  .crow .crow-trail .crow-slash{display:inline}
  .crow .crow-otp{gap:7px;flex:0 1 auto}
  .crow .crow-otp .crow-pill{display:inline-flex;padding:4px 0;border-radius:0}
  .crow .crow-page{white-space:nowrap}
}

/* 11/11 Founder: the trail is always there. On arrival it sits under the big header (below the header's own dropdowns,
   so the mega menus open over it); the page starts below it; it leaves out its ☰ while the header (with its own
   Site menu) is showing. The old small breadcrumb above the title is gone: the trail replaces it. */
.crow{transition:transform .18s ease,top .18s ease}
.crow.crow-under{z-index:49;box-shadow:none}
/* 11/11 Founder: "why make the site menu disappear... that is the only one that shows everything": the trail keeps its
   ☰ Site menu always. On phones/tablets the big header's own Site menu button hides wherever the trail shows (one button). */
@media (max-width:960px){.trail-top .site-head .menu-btn{display:none!important}}
.trail-top main{padding-top:var(--crow-h,52px)}
.crumb{display:none}
@media (prefers-reduced-motion:reduce){.crow{transition:none}}

/* 11/11 Founder: Home in Site menu shows its parts, each with a curved arrow: quieter and smaller than the page links,
   so it reads "parts of the home page", not more pages. The part you're reading on Home turns red, as everywhere. */
.sm-parts{list-style:none;margin:6px 0 0;padding:0}
.sm-parts li a.sm-part{display:flex;align-items:baseline;gap:9px;padding:6px 0;font-size:14.5px;color:#4a4b4f;text-decoration:none;transition:color .2s ease}
.sm-parts .sm-arrow{flex:none;width:14px;font-size:15px;line-height:1;color:var(--accent);opacity:.55;transform:translateY(-1px);transition:opacity .2s ease,transform .2s ease}
.sm-parts a.sm-part:hover,.sm-parts a.sm-part:focus-visible{color:var(--ink)}
.sm-parts a.sm-part:hover .sm-arrow,.sm-parts a.sm-part:focus-visible .sm-arrow{opacity:1;transform:translate(2px,-1px)}
.sm-parts a.sm-part[aria-current=location]{color:var(--accent);font-weight:700}
.sm-parts a.sm-part[aria-current=location] .sm-arrow{opacity:1}
@media (max-width:960px){.sm-parts{margin:2px 0 6px}.sm-parts li a.sm-part{padding:6px 0 6px 2px}}

/* 11/11 Founder: the Awards card shows the 2025 crystal with its year visible (crop from the top) */
.sx-card img[src*="award_2025"]{object-position:50% 0}

/* 11/11 Founder: on phones the pinned trail carries the 5-star rating at the right end of line 1 (measured: fits on
   every page). Hidden on desktop (the header row is the place there) and while the header (which shows it) is on screen. */
.crow .crow-stars{display:none}
@media (max-width:760px){
  .crow:not(.crow-under) .crow-stars{display:inline-flex;align-items:center;margin-left:auto;flex:none;align-self:center}
}
/* 11/11 Founder: the bar's rating reads "★★★★★ 5.0 · 86 reviews", sized to share line 1 with the longest trail */
@media (max-width:760px){
  .crow .crow-stars{gap:5px;margin-right:0;font-size:12px}
  .crow .crow-stars .stars{width:50px;height:10px}
  .crow .crow-stars .sl-dot{margin:0 1px}
}

/* 11/11 Founder (option A): phones = line 1 the trail, larger, like a heading; line 2 = On this page + the rating at
   the right ("★★★★★ 5.0 · 86"). Desktop: the pinned bar keeps Meet Praveen and Contact Praveen on the right, as in
   the header (hidden while the header itself is on screen). */
.crow .crow-br{display:none}
.crow .crow-right{display:none}
.crow .crow-stars{display:none;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;flex:none}
.crow .crow-stars .stars{width:52px;height:10px}
.crow .crow-stars .sl-n{font-weight:400;opacity:.8}
@media (min-width:761px){
  .crow:not(.crow-under) .crow-right{display:flex;align-items:center;gap:22px;margin-left:auto;flex:none}
  .crow-meet{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
  .crow-meet .mm-face{width:30px;height:30px;border-radius:50%;object-fit:cover}
  .crow-meet-t{display:grid;line-height:1.15}
  .crow-meet-n{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
  .crow-meet-s{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--muted)}
  .crow-meet-s .stars{width:50px;height:10px}
  .crow-meet:hover .crow-meet-n{text-decoration:underline;text-underline-offset:3px}
  .crow .crow-contact{flex:none;padding:9px 16px;font-size:11.5px}
}
@media (max-width:760px){
  .crow .crow-br{display:block;flex-basis:100%;height:0}
  .crow .crow-row .crow-root,.crow .crow-trail .crow-sec,.crow .crow-page{font-size:17px;font-weight:600;line-height:1.25}
  .crow .crow-row .crow-root .crow-ico{width:18px;height:14px}
  .crow .crow-row .crow-slash{font-size:17px}
  .crow .crow-row .crow-otp{flex:1 1 0;min-width:0}
  .crow .crow-otp .crow-pill{font-size:14px;max-width:100%}
  .crow:not(.crow-under) .crow-stars{display:inline-flex;margin-left:auto;align-self:center}
}
/* 11/11 Founder: on the desktop pinned bar "86 reviews" is its own link to Reviews (as in the header); the name goes to About */
@media (min-width:761px){
  .crow-meet .crow-meet-n,.crow-meet .crow-meet-face{color:var(--ink);text-decoration:none}
  .crow-meet .crow-meet-s{text-decoration:none;color:var(--muted)}
  .crow-meet .crow-meet-r{text-decoration:underline;text-decoration-color:rgba(18,19,20,.35);text-underline-offset:3px}
  .crow-meet .crow-meet-s:hover .crow-meet-r{color:var(--ink);text-decoration-color:currentColor}
  .crow-meet .crow-meet-n:hover{text-decoration:underline;text-underline-offset:3px}
}

/* 11/11 Founder: on phones the @properties Christie's logo had shrunk to 160px while his stayed 146px wide (it looked
   bigger). Phones now keep the desktop proportions (320 : 146), both on one row, scaled together. */
@media (max-width:760px){
  .site-foot .foot-logos,.foot-logos{flex-wrap:nowrap;gap:14px}
  .foot-logos a:first-child{flex:0 1 68.7%;min-width:0}
  .site-foot .foot-cire,.foot-logos .foot-cire{width:100%!important;max-width:320px;height:auto}
  .site-foot .foot-pm,.foot-logos .foot-pm{flex:0 1 31.3%;width:31.3%!important;max-width:146px;height:auto;min-width:0}
}
@media (max-width:760px){.foot-grid .foot-broker{grid-column:1/-1}}

/* 11/11 Founder: "See all 31 sales" is a clear button right under the bars (it was small grey text below the example) */
.rc-short .rc-more{align-items:center;justify-content:center;gap:10px;width:100%;margin:16px 0 22px;padding:13px 18px;border:1px solid var(--ink);border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:none}
.rc-short .rc-more::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.rc-short .rc-more[aria-expanded="true"]::after{transform:translateY(1px) rotate(-135deg)}
.rc-short .rc-more:hover,.rc-short .rc-more:focus-visible{background:var(--ink);color:var(--paper)}
/* 11/11 Founder: Home ▾ in the header lists Home's parts with the same curved arrows as Site menu */
.mm-home-parts .sm-arrow{display:inline-block;width:16px;margin-right:6px;color:var(--accent);opacity:.6}
.mm-home-parts a:hover .sm-arrow,.mm-home-parts a:focus-visible .sm-arrow{opacity:1}
.mm-home-parts a[aria-current=location] .mm-l{color:var(--accent)}
/* 11/11 Founder: fold "How I measured this" from the end; its toggle shows open/closed */
.rc-method-close{display:inline-flex;align-items:center;gap:8px;margin:14px 0 4px;padding:9px 16px;border:1px solid var(--ink);border-radius:999px;background:none;font:inherit;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);cursor:pointer}
.rc-method-close::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(1px) rotate(-135deg)}
.rc-method-close:hover,.rc-method-close:focus-visible{background:var(--ink);color:var(--paper)}
.pm-record .rc-disclose::after{content:"";display:inline-block;width:6px;height:6px;margin-left:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.pm-record .rc-disclose[aria-expanded="true"]::after{transform:translateY(0) rotate(-135deg)}

/* 11/11 Founder: statement band readable as it drifts (smaller, centred, fits the screen mid-way) and less white space */
.statement{padding:clamp(28px,4.5vw,64px) 0}
.statement-line{font-size:clamp(1.8rem,9.2vw,6.2rem);text-align:center}
.statement-line:first-child,.statement-line.accent{padding-left:0}
/* 11/11 Founder: cards rise a little further and settle, like an index card being placed */
.js .reveal:is(.sit,.sx-card,.st-card,.s-rev,.sale){transform:translateY(52px) scale(.965);transition:opacity .85s var(--ease),transform .95s var(--ease)}
.js .reveal.in:is(.sit,.sx-card,.st-card,.s-rev,.sale){transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal:is(.sit,.sx-card,.st-card,.s-rev,.sale){transform:none}}

/* 11/11 readability pass (Founder found a faint line; scan of every page found these too) */
.seller-band .stats-more{color:var(--on-dark-muted)}
.cf .eyebrow{color:var(--on-dark-muted)}
.rc .rc-sum-mkt strong{color:#857f74}
