/* Interior-page design system (Oct 28, 2026). Loaded ONLY on interior pages (never on the homepage) and every rule is
   scoped to body.ix, so the approved homepage cannot change. Built on the site tokens in site.css (:root). */
body.ix{
  --ix-gold:var(--champ); --ix-gold-d:var(--champ-d); --ix-rule:var(--line);
  --ix-measure:68ch; --ix-nav:72px;
  --ix-sp-1:8px; --ix-sp-2:16px; --ix-sp-3:24px; --ix-sp-4:40px; --ix-sp-5:clamp(48px,6.5vw,96px);
}

/* ---- rhythm: tighter section spacing than the old 112px bands (no oversized empty sections) ---- */
.ix .band{padding-block:var(--ix-sp-5)}
.ix .band.tight{padding-top:0}
.ix [id]{scroll-margin-top:calc(var(--ix-nav) + 64px)}

/* ---- type hierarchy ---- */
.ix main h2.h2,.ix main .h2{line-height:1.14;letter-spacing:-.005em}
.ix main h3{line-height:1.25}
.ix .prose p+p,.ix .prose p+ul,.ix .prose ul+p{margin-top:1em}
.ix .prose li+li{margin-top:.35em}
.ix main p,.ix main li{text-wrap:pretty}
.ix .fine{font-size:15px;line-height:1.55}

/* ---- breadcrumbs ---- */
.ix-bc{font:600 12px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px}
.ix-bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.ix-bc li{display:inline-flex;align-items:center;min-width:0}
.ix-bc li+li::before{content:"/";margin:0 .7em;opacity:.45}
.ix-bc a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;padding-block:6px}
.ix-bc a:hover{border-bottom-color:currentColor}
.ix-bc [aria-current]{color:var(--soft);max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ix-bc{color:var(--ix-gold-d)}
.ix .dark .ix-bc,.ix .kwhero .ix-bc,.ix .wn-hero .ix-bc,.ix .sn-hero .ix-bc,.ix .ins-cover .ix-bc,.ix .ins-head .ix-bc,.ix .gf-hero .ix-bc,.ix .phead .ix-bc{color:var(--ix-gold)}
.ix .ix-bc+.eb{margin-top:2px}
.ix .dark .ix-bc [aria-current],.ix .kwhero .ix-bc [aria-current],.ix .wn-hero .ix-bc [aria-current],.ix .sn-hero .ix-bc [aria-current],.ix .ins-cover .ix-bc [aria-current],.ix .ins-head .ix-bc [aria-current],.ix .gf-hero .ix-bc [aria-current],.ix .phead .ix-bc [aria-current]{color:var(--on-soft)}
@media (max-width:640px){.ix-bc li:last-child:not(:first-child){display:none}}

/* ---- page openings: plain heads become a composed, page-specific opening ---- */
.ix .phead.ix-open{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 140% at 100% 0%,rgba(210,178,124,.13) 0%,rgba(210,178,124,0) 46%),linear-gradient(180deg,#151311 0%,var(--black) 100%);
  border-bottom:1px solid rgba(210,178,124,.28)}
.ix .phead.ix-open::after{content:"";position:absolute;right:-60px;top:0;bottom:0;width:min(46vw,560px);z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(-58deg,rgba(251,248,241,.035) 0 2px,transparent 2px 22px);
  -webkit-mask:linear-gradient(90deg,transparent,#000 60%);mask:linear-gradient(90deg,transparent,#000 60%)}
.ix .phead.ix-open .wrap{padding-block:clamp(40px,6vw,84px) clamp(36px,5vw,64px);gap:14px}
.ix .phead.ix-open h1{font-size:clamp(34px,4.6vw,58px);line-height:1.08;max-width:20ch}
.ix .phead.ix-open h1.h1-long{max-width:28ch;font-size:clamp(30px,3.6vw,48px)}
.ix .phead.ix-open .lede{max-width:60ch;font-size:clamp(17.5px,1.7vw,20.5px)}
.ix .phead.ix-open .eb{color:var(--ix-gold)}
.ix .ix-ow{display:grid!important;grid-template-columns:minmax(0,1fr);gap:28px!important;align-items:end}
.ix .ix-otx{display:grid;gap:14px;min-width:0}
@media (min-width:960px){.ix .ix-ow{grid-template-columns:minmax(0,1fr) 340px;gap:56px!important}}
.ix-ctx{border:1px solid rgba(251,248,241,.16);background:rgba(251,248,241,.035);padding:20px;display:grid;gap:16px;align-self:end}
.ix-who{display:flex;gap:14px;align-items:center}
.ix-who img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:1px solid rgba(210,178,124,.6);flex:none}
.ix-who p{display:grid;gap:1px;font-size:13px;line-height:1.4;color:var(--on-soft)}
.ix-who b{font:500 19px/1.2 var(--display);color:var(--on);margin-bottom:3px}
.ix-ctx .ix-pri{text-align:center;padding:16px 18px}
.ix-reach{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14.5px}
.ix-reach a{color:var(--on);text-underline-offset:4px;text-decoration-color:rgba(210,178,124,.7);padding-block:6px}
.ix-reach a:hover{color:var(--ix-gold)}
@media (max-width:959px){.ix-ctx{grid-template-columns:1fr;max-width:520px}.ix-ctx .ix-pri{justify-self:start}}

/* compact openings: calculators and articles get to the content quickly */
.ix .phead.ix-compact .wrap{padding-block:clamp(26px,3.4vw,44px) clamp(22px,3vw,36px);gap:10px}
.ix .phead.ix-compact h1{font-size:clamp(30px,3.6vw,46px)!important;max-width:24ch}
.ix .phead.ix-compact .lede{font-size:17px;max-width:70ch}
.ix-calc .phead.ix-compact+.cxband{padding-top:clamp(24px,3vw,40px)}

/* ---- "On this page" jump menu (long guides, seller review page) ---- */
.ix-jump{background:rgba(251,248,241,.97);border-bottom:1px solid var(--ix-rule);z-index:20}
.ix-jump .wrap{display:flex;align-items:center;gap:18px;min-width:0}
.ix-jl{flex:none;font:600 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.ix-jump ol{list-style:none;margin:0;padding:0;display:flex;gap:4px 22px;overflow-x:auto;scrollbar-width:none;min-width:0;-webkit-mask:linear-gradient(90deg,#000 92%,transparent);mask:linear-gradient(90deg,#000 92%,transparent);padding-right:28px}
.ix-jump ol::-webkit-scrollbar{display:none}
.ix-jump li{flex:none}
.ix-jump a{display:block;padding:15px 0 13px;font:600 13.5px/1.2 var(--body);color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.ix-jump a:hover{border-bottom-color:var(--line)}
.ix-jump a[aria-current="true"]{border-bottom-color:var(--ix-gold-d);color:var(--ix-gold-d)}
@media (min-width:1100px){.ix-jump{position:sticky;top:var(--ix-nav)}}
@media (max-width:640px){.ix-jl{display:none}.ix-jump a{padding:14px 0 12px}}

/* ---- buttons, links, forms ---- */
.ix main .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}
.ix main a:not(.btn):not(.tl){text-underline-offset:3px}
.ix main input:not([type=checkbox]):not([type=radio]):not([type=range]),.ix main select,.ix main textarea{min-height:46px}
@media (max-width:760px){.ix main input,.ix main select,.ix main textarea{font-size:16px}}
.ix main input:focus-visible,.ix main select:focus-visible,.ix main textarea:focus-visible{outline:2px solid var(--ix-gold-d);outline-offset:1px}
.ix main input[aria-invalid="true"],.ix main select[aria-invalid="true"]{border-color:#9b1c1c}
.ix .lead .msg[role="status"]:not([hidden]){border-left:3px solid var(--ix-gold-d);padding:10px 14px;background:#fff}

/* ---- focus and motion ---- */
.ix a:focus-visible,.ix button:focus-visible,.ix summary:focus-visible,.ix [tabindex]:focus-visible{outline:2px solid var(--ix-gold-d);outline-offset:3px}
.ix .dark a:focus-visible,.ix .dark button:focus-visible,.ix .kwhero a:focus-visible,.ix .wn-hero a:focus-visible,.ix .ix-ctx a:focus-visible{outline-color:var(--ix-gold)}
@media (prefers-reduced-motion:reduce){.ix *,.ix *::before,.ix *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ---- tables: readable, scroll inside their own box on phones (interior.js wraps wide tables) ---- */
.ix main table{font-variant-numeric:tabular-nums}
.ix .ix-tbl{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.ix .ix-tbl:focus-visible{outline:2px solid var(--ix-gold-d);outline-offset:2px}
.ix .ix-tbl table{min-width:560px}
.ix .ix-tbl-note{display:none;font-size:13px;color:var(--soft);margin:6px 0 0}
@media (max-width:700px){.ix .ix-tbl-note{display:block}}

/* ---- source notes and dates: quieter, consistent ---- */
.ix a.src{font-size:13px;color:var(--soft)}
.ix .fq-chk,.ix .fs-chk{font-size:13px;color:var(--soft)}

/* ---- articles: a clean editorial reading column ---- */
.ix-article .article{max-width:calc(var(--ix-measure) + 2*var(--g))}
.ix-article .article h1{font-size:clamp(32px,4vw,50px)!important;line-height:1.1;margin-top:6px}
.ix-article .article .lede{max-width:none;font-size:clamp(18.5px,1.8vw,21px);line-height:1.55;margin-top:0;color:var(--ink)}
.ix-article .article .by{display:flex;align-items:center;gap:12px;margin:4px 0 6px;padding:14px 0;border-block:1px solid var(--ix-rule);font-size:14.5px;line-height:1.45;color:var(--soft)}
.ix-article .article .by img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.ix-article .article>h2,.ix-article .article .prose h2{margin-top:22px;margin-bottom:-6px}
.ix-article .article>p{margin-top:0;font-size:clamp(17.5px,1.4vw,19px);line-height:1.68;max-width:none}
.ix-article .article>ul,.ix-article .article>ol{padding-left:1.2em}
.ix-article .article>ul li,.ix-article .article>ol li{margin-top:.45em}
.ix-article .article figcaption{font-size:13.5px;color:var(--soft);margin-top:8px;line-height:1.45}
.ix-article .article table{width:100%;border-collapse:collapse;font-size:15.5px;margin-top:1.2em}
.ix-article .article th,.ix-article .article td{border-bottom:1px solid var(--ix-rule);padding:10px 8px;text-align:left;vertical-align:top}
.ix-article .article th{font:600 12px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.ix-article .eb{margin-top:6px}

/* ---- calculators: tool first, larger results, comfortable mobile controls ---- */
.ix-calc .cx-mount .cx-loading{padding:24px;border:1px dashed var(--line)}
@media (max-width:760px){.ix-calc .cx-mount button,.ix-calc .cx-mount select{min-height:44px}}

/* ---- seller pages: process gets a stepped visual treatment ---- */
.ix-seller .wn-hero .ix-bc{margin-bottom:12px}

/* ---- Insider: archived-edition notice was picking up the archive list styles ---- */
.ix div.ins-arch{display:block;max-width:none;padding:12px max(var(--g),calc((100% - 1240px)/2 + var(--g)));border-bottom:1px solid var(--ix-rule);background:var(--fog)}
.ix div.ins-arch p{font-size:14.5px;line-height:1.5;max-width:none;color:var(--soft)}
.ix div.ins-arch p b{color:var(--ink)}
.ix div.ins-arch a{display:inline;padding:0;border:0;grid-template-columns:none;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}

/* ---- mobile: content and form fields are never hidden behind the bottom contact bar ---- */
@media (max-width:1099px){.ix main{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}}
@media print{.ix-jump,.ix-ctx,.ix-bc{display:none!important}}

/* about: portrait sits beside the opening of the story, not at the bottom of the column */
.ix-p-about .intro{align-items:start}

/* neighborhood seller pages: give Michael's card room so his title lines do not break word by word */
@media (min-width:960px){.ix .sn-hin{grid-template-columns:minmax(0,1fr) 330px}}
.ix .sn-me p{min-width:0}

/* article contents list and related stories */
.ix-toc{border-left:2px solid var(--ix-gold);padding:4px 0 4px 18px;margin:6px 0 4px}
.ix-toc .ix-jl{margin-bottom:8px}
.ix-toc ol{margin:0;padding-left:1.2em;display:grid;gap:4px;font-size:15.5px;line-height:1.4}
.ix-toc a{color:var(--ink);text-decoration-color:var(--line)}
.ix-toc a:hover{text-decoration-color:currentColor}
.ix-article .article .eb+ul.plain{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}
.ix-article .article .eb+ul.plain li{margin:0}
.ix-article .article .eb+ul.plain a{display:block;height:100%;padding:16px 18px;border:1px solid var(--line);border-top:3px solid var(--ix-gold);background:#fff;text-decoration:none;font:500 18px/1.3 var(--display);color:var(--ink)}
.ix-article .article .eb+ul.plain a:hover{border-color:var(--ix-gold-d)}

/* accessibility fixes found by axe on the representative pages (Oct 28, 2026) */
.ix .rl-src{line-height:1.9}
.ix .rl-src a{display:inline-block;padding-block:3px;min-height:24px}
.ix-p-why-isnt-my-house-selling #why-isnt-my-house-selling\.luxury .eb{color:var(--ix-gold)}
