/* ─────────────────────────────────────────────────────────────
   PropSolvers — shared editorial floor
   Chaptered editorial grammar. Chapters, not acts. Hard cuts.
   Media in its own column with a caption, never under type.
   Brand: navy ink, royal accent, near-white grounds.
   ───────────────────────────────────────────────────────────── */
:root{
  --paper:        #FBFCFD;
  --paper-2:      #F1F4F9;
  --paper-3:      #E7ECF4;
  --ink:          #0B1B3A;
  --ink-soft:     #33456A;
  --ink-faint:    #6B7A99;
  --rule:         #C8D3E4;
  --accent:       #1D4ED8;
  --accent-soft:  #7FA3F0;
  --warn:         #8A3324;
  --measure:      64ch;
  --f-display: "Fraunces", Georgia, "Times New Roman", serif;
  --f-text:    "Inter", system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--f-text); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--f-display); font-weight:800; letter-spacing:-.02em; line-height:1.06; margin:0}
h2{font-size:clamp(1.9rem,4vw,3.1rem); max-width:20ch; margin-bottom:1.6rem}
h3{font-size:clamp(1.2rem,2.1vw,1.5rem); margin-bottom:.6rem}
a{color:var(--accent); text-underline-offset:.22em}

.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--ink);color:var(--paper);padding:.7rem 1rem}

/* folio — margin nav, no fixed bar */
.folio{
  position:fixed; left:1.6rem; top:50%; transform:translateY(-50%); z-index:40;
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);
  writing-mode:vertical-rl; text-orientation:mixed; display:flex; gap:1.4rem; align-items:center;
}
.folio__n{font-variant-numeric:tabular-nums; color:var(--accent); font-weight:600}
.folio__t{transition:opacity .35s ease}
@media (max-width:900px){ .folio{display:none} }

/* chapter shell */
.ch{position:relative; padding:clamp(4.5rem,10vh,8rem) 0}
.ch--2{background:var(--paper-2)}
.ch--3{background:var(--paper-3)}
.ch--4{background:var(--paper-2)}
.wrap{width:min(1180px,90vw); margin-inline:auto}
.col{max-width:var(--measure)}
.prose p{max-width:var(--measure); margin:0 0 1.15rem}
.prose p:last-child{margin-bottom:0}
.lede{font-family:var(--f-display); font-weight:400; font-size:clamp(1.2rem,2.1vw,1.55rem); line-height:1.5; max-width:46ch}

.intertitle{
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent);
  font-weight:600; margin-bottom:1.5rem; display:flex; align-items:baseline; gap:.9rem;
}
.intertitle::after{content:""; flex:1; height:1px; background:var(--rule)}

/* title page — type on paper, no media above the fold */
.title-page{display:flex; flex-direction:column; padding-block:clamp(4rem,9vh,6.5rem) 0}
header.ch{padding-bottom:0}
header.ch + .ch{padding-top:clamp(3.5rem,7vh,5rem)}   /* first section sits close under the imprint */
.title-page h1{font-size:clamp(2.5rem,6.2vw,5.2rem); max-width:17ch}
.title-page .deck{font-size:clamp(1.02rem,1.6vw,1.3rem); color:var(--ink-soft); max-width:54ch; margin-top:1.8rem; line-height:1.55}
.imprint{
  margin-top:2.6rem; padding-top:3rem; border-top:1px solid var(--rule);
  display:flex; flex-wrap:wrap; gap:1.2rem 2.4rem;
  font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint);
}
.imprint a{color:inherit}

/* plate — set-apart candor block */
.plate{border:1px solid var(--ink); padding:clamp(1.5rem,3.2vw,2.4rem); margin-top:2.4rem; background:var(--paper); max-width:66ch}
.plate h3{color:var(--accent)}
.plate--warn{border-color:var(--warn)}
.plate--warn h3{color:var(--warn)}

.caption{font-size:.79rem; color:var(--ink-faint); line-height:1.5; border-left:2px solid var(--rule); padding-left:.85rem; margin-top:1.5rem; max-width:58ch}

/* ── timeline: the foreclosure peak ── */
.clock{margin-top:3rem; border-top:2px solid var(--ink)}
.stage{
  display:grid; grid-template-columns:12ch 1fr; gap:.4rem 2rem;
  padding:1.5rem 0; border-bottom:1px solid var(--rule); align-items:start;
}
@media (max-width:720px){ .stage{grid-template-columns:1fr; gap:.35rem} }
.stage__when{font-variant-numeric:tabular-nums; font-weight:600; font-size:.92rem; color:var(--accent); line-height:1.4}
.stage__what h3{font-size:1.14rem; margin-bottom:.35rem}
.stage__what p{margin:0; max-width:56ch; color:var(--ink-soft); font-size:.96rem}
.stage--now{background:linear-gradient(90deg,rgba(29,78,216,.07),transparent 70%)}
.stage--now .stage__when::after{content:" ← still time"; color:var(--accent); font-weight:600}
.stage--gone .stage__when{color:var(--warn)}

/* ── signing chain: the probate peak ── */
.chain{margin-top:2.8rem; display:grid; gap:0}
.link{
  display:grid; grid-template-columns:3.2rem 1fr; gap:1.4rem;
  padding:1.4rem 0; border-bottom:1px solid var(--rule); align-items:start;
}
.link__n{
  font-family:var(--f-display); font-size:1.5rem; font-weight:800; color:var(--accent);
  line-height:1; font-variant-numeric:tabular-nums;
}
.link h3{margin-bottom:.3rem}
.link p{margin:0; max-width:58ch; color:var(--ink-soft); font-size:.97rem}
.link--no{opacity:.72}
.link--no .link__n{color:var(--warn)}

.answer{
  margin-top:2.4rem; padding:clamp(1.6rem,3.4vw,2.4rem);
  background:var(--ink); color:var(--paper); max-width:60ch;
}
.answer p{margin:0; font-family:var(--f-display); font-size:clamp(1.15rem,2.2vw,1.5rem); line-height:1.45}
.answer strong{color:var(--accent-soft); font-weight:800}

/* spreads */
.spread{display:grid; grid-template-columns:1fr 1fr; gap:2.8rem; margin-top:2.6rem}
@media (max-width:880px){ .spread{grid-template-columns:1fr; gap:2.2rem} }

/* colophon */
.colophon{background:var(--ink); color:var(--paper); padding:clamp(4rem,9vh,7rem) 0}
.colophon .intertitle{color:var(--accent-soft)}
.colophon .intertitle::after{background:#2A3C61}
.colophon h2{color:var(--paper)}
.running-cta{font-family:var(--f-display); font-size:clamp(1.35rem,2.9vw,2.1rem); line-height:1.45; max-width:36ch; margin-top:1.5rem}
.running-cta a{color:var(--paper); text-decoration-color:var(--accent-soft); text-decoration-thickness:2px}
.running-cta a:hover{color:var(--accent-soft)}
.masthead{
  margin-top:3rem; padding-top:1.8rem; border-top:1px solid #2A3C61;
  display:flex; flex-wrap:wrap; gap:.9rem 2.4rem; font-size:.76rem; letter-spacing:.06em; color:#9FB0CE;
}
.masthead a{color:#9FB0CE}

/* legal footer note */
.disclaimer{
  margin-top:2.4rem; font-size:.76rem; line-height:1.6; color:var(--ink-faint);
  max-width:64ch; border-top:1px solid var(--rule); padding-top:1.2rem;
}
.colophon .disclaimer{color:#8496B8; border-color:#2A3C61}

@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
