/* claimsandrecovery.com — shared stylesheet
   Palette: slate ground, white surface, one amber accent. Type: Manrope throughout.
   Tokens are SEMANTIC (role, not colour) so a future palette change is one block. */

:root{
  /* --- surfaces --- */
  --color-ground:#1f2933;          /* dark bands: masthead, page heads, footer */
  --color-ground-deep:#161e26;     /* recessed: footer, plate wells */
  --color-ground-edge:#33404d;     /* hairlines on dark */
  --color-surface:#ffffff;         /* content ground */
  --color-surface-raised:#f2f4f6;  /* alternating rows, callouts */

  /* --- text --- */
  --color-text:#1f2933;
  --color-text-muted:#616e7c;
  --color-text-on-ground:#e4e9ee;
  --color-text-on-ground-muted:#9aa8b5;

  /* --- lines --- */
  --color-border:#dde2e7;
  --color-border-strong:#1f2933;

  /* --- accent --- */
  --color-accent:#e8a33d;
  --color-accent-strong:#c4801f;   /* accessible on white for text */
  --color-accent-hover:#f0b358;
  --color-on-accent:#1f2933;

  --color-focus:#c4801f;

  /* --- scale --- */
  --space-1:.375rem; --space-2:.75rem; --space-3:1.25rem; --space-4:2rem;
  --space-5:3.25rem; --space-6:5rem;  --space-7:7.5rem;

  --font-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --measure:68ch;
  --radius:3px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--color-surface);color:var(--color-text);
  font-family:var(--font-sans);font-size:1.0625rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;
}
main{flex:1}
h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.022em;text-wrap:balance;font-weight:800}
p{margin:0}
a{color:inherit}

.skip{position:absolute;left:-9999px;top:0;background:var(--color-accent);color:var(--color-on-accent);padding:var(--space-2) var(--space-3);z-index:60;font-weight:700}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:2px}

.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}

/* ---------- label grammar ---------- */
.lab{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}

/* ---------- masthead ---------- */
.mast{background:var(--color-ground);position:relative;z-index:40}
.mast-in{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0}
.mark{font-weight:800;font-size:1.0625rem;letter-spacing:-.02em;text-decoration:none;white-space:nowrap;color:var(--color-text-on-ground)}
.mark .amp{color:var(--color-accent);font-style:normal}
.mast nav{margin-left:auto;display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center}
.mast nav a{
  font-size:.8125rem;letter-spacing:.04em;font-weight:600;
  color:var(--color-text-on-ground-muted);text-decoration:none;
  padding:.35rem 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;
}
.mast nav a:hover{color:var(--color-text-on-ground);border-bottom-color:var(--color-accent)}
.mast nav a[aria-current="page"]{color:var(--color-text-on-ground);border-bottom-color:var(--color-accent)}

.menu-btn{
  display:none;margin-left:auto;background:transparent;border:1px solid var(--color-ground-edge);
  color:var(--color-text-on-ground);font:inherit;font-size:.8125rem;font-weight:700;
  padding:.5rem .85rem;border-radius:var(--radius);cursor:pointer;letter-spacing:.04em;
}
.menu-btn:hover{border-color:var(--color-accent);color:#fff}

/* ---------- breadcrumbs ---------- */
.crumbs{background:var(--color-ground-deep);padding:var(--space-2) 0;font-size:.8125rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.crumbs a{color:var(--color-text-on-ground-muted);text-decoration:none}
.crumbs a:hover{color:var(--color-accent)}
.crumbs li[aria-current]{color:var(--color-text-on-ground);font-weight:600}
.crumbs .sep{color:var(--color-ground-edge)}

/* ---------- home hero ---------- */
.hero{background:var(--color-ground);color:var(--color-text-on-ground);padding:var(--space-6) 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-6);align-items:start}
.hero h1{font-size:clamp(2.35rem,5vw,4rem);color:#fff}
.hero h1 em{font-style:normal;color:var(--color-accent)}
.hero-sub{margin-top:var(--space-4);max-width:46ch;color:var(--color-text-on-ground-muted);font-size:1.125rem}
.hero-actions{margin-top:var(--space-4);display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}

.entry{background:var(--color-surface);color:var(--color-text);padding:var(--space-4) var(--space-4) 0;border-radius:var(--radius);box-shadow:0 18px 40px -24px rgba(0,0,0,.55)}
.entry-h{display:flex;justify-content:space-between;gap:var(--space-3);border-bottom:2px solid var(--color-border-strong);padding-bottom:var(--space-2)}
.erow{display:grid;grid-template-columns:9.5rem 1fr;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);align-items:baseline}
.erow b{font-weight:700;font-size:1.0625rem}
.erow .unclaimed{color:var(--color-accent-strong);font-weight:800}
.erow .blank{color:var(--color-text-muted)}
.entry-foot{
  margin:0 calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4);
  border-top:2px solid var(--color-accent);background:var(--color-surface-raised);
  display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;
  border-radius:0 0 var(--radius) var(--radius);
}

/* ---------- buttons ---------- */
.cta{
  display:inline-block;background:var(--color-accent);color:var(--color-on-accent);text-decoration:none;
  font-weight:800;font-size:1rem;padding:.8rem 1.4rem;border:2px solid var(--color-accent);
  border-radius:var(--radius);transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.cta:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}
.cta:active{transform:translateY(0)}
.cta-ghost{
  display:inline-block;text-decoration:none;font-weight:700;font-size:1rem;padding:.8rem 1.4rem;
  border:2px solid var(--color-ground-edge);color:var(--color-text-on-ground);border-radius:var(--radius);
  transition:border-color .15s ease,color .15s ease;
}
.cta-ghost:hover{border-color:var(--color-accent);color:#fff}

/* ---------- interior page head ---------- */
.pagehead{background:var(--color-ground);color:var(--color-text-on-ground);padding:var(--space-6) 0 var(--space-5)}
.pagehead h1{font-size:clamp(2rem,4.2vw,3.25rem);color:#fff;max-width:20ch}
.pagehead p{margin-top:var(--space-4);max-width:52ch;color:var(--color-text-on-ground-muted);font-size:1.125rem}
.pagehead .hero-actions{margin-top:var(--space-5)}

/* ---------- content fields ---------- */
.field{background:var(--color-surface);color:var(--color-text);padding:var(--space-6) 0}
.field h2{font-size:clamp(1.5rem,2.6vw,2rem);max-width:26ch}
.field p{max-width:var(--measure)}
.lede{font-size:1.1875rem;margin-top:var(--space-3)}
.body-p{margin-top:var(--space-3)}
.head-block{margin-bottom:var(--space-5)}
.stack-top{margin-top:var(--space-6)}

.ruleoff{margin-top:var(--space-5);display:flex;align-items:center;gap:var(--space-3)}
.ruleoff .line{flex:1;height:2px;background:var(--color-accent);transform-origin:left center;transform:scaleX(0);transition:transform .52s cubic-bezier(.2,.7,.3,1)}
.ruleoff.drawn .line{transform:scaleX(1)}

/* ---------- ledger rows ---------- */
.steps,.terms{margin-top:var(--space-5);border-top:2px solid var(--color-border-strong)}
.step{display:grid;grid-template-columns:3.5rem 15rem 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);align-items:baseline}
.term{display:grid;grid-template-columns:16rem 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);align-items:baseline}
.step:nth-of-type(even),.term:nth-of-type(even){background:var(--color-surface-raised);box-shadow:-1rem 0 0 var(--color-surface-raised),1rem 0 0 var(--color-surface-raised)}
.step .n{font-size:.9375rem;color:var(--color-accent-strong);font-weight:800;letter-spacing:.04em}
.step h3{font-size:1.1875rem;letter-spacing:-.014em}
.step p{color:var(--color-text-muted);max-width:56ch}
.term .k{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}
.term .v strong{font-weight:800}

/* ---------- home index ---------- */
.index-field{background:var(--color-surface);padding:var(--space-6) 0}
.index-field h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.idx{margin-top:var(--space-5);border-top:2px solid var(--color-border-strong)}
.idx a{display:grid;grid-template-columns:4.5rem 1fr auto;gap:var(--space-4);align-items:baseline;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);text-decoration:none;color:var(--color-text);transition:background .15s ease}
.idx a:nth-of-type(even){background:var(--color-surface-raised);box-shadow:-1rem 0 0 var(--color-surface-raised),1rem 0 0 var(--color-surface-raised)}
.idx a:hover{background:var(--color-surface-raised);box-shadow:-1rem 0 0 var(--color-surface-raised),1rem 0 0 var(--color-surface-raised)}
.idx .n{font-size:.9375rem;color:var(--color-accent-strong);font-weight:800}
.idx .t{font-size:1.25rem;font-weight:800;letter-spacing:-.016em}
.idx .d{display:block;font-size:1rem;font-weight:400;color:var(--color-text-muted);margin-top:var(--space-1);max-width:58ch}
.idx .go{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;font-weight:700}
.idx a:hover .t,.idx a:hover .go{color:var(--color-accent-strong)}

/* ---------- disclosure ---------- */
/* Square, deliberately: the 3px accent rule on top is the world's ruled-off
   grammar, and a thick rule meeting a rounded corner reads as a mistake. */
.disclosure{margin-top:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);padding:var(--space-4);border-radius:0}
.disclosure .lab{display:block;margin-bottom:var(--space-2);color:var(--color-accent-strong)}
.disclosure p{font-size:1.0625rem;line-height:1.6;font-weight:800;max-width:70ch;margin:0}
.disclosure .after{font-weight:400;margin-top:var(--space-3);font-size:.9375rem;color:var(--color-text-muted)}

/* ---------- principal plate ---------- */
.who{background:var(--color-ground);color:var(--color-text-on-ground);padding:var(--space-6) 0}
.who h2{font-size:clamp(1.5rem,2.6vw,2rem);color:#fff;max-width:20ch}
.who-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-6);margin-top:var(--space-5);align-items:start}
.who p{color:var(--color-text-on-ground-muted);max-width:60ch}
.who p + p{margin-top:var(--space-3)}
.plate{background:var(--color-ground-deep);border:1px solid var(--color-ground-edge);padding:var(--space-4);border-radius:var(--radius)}
.plate .nm{font-size:1.375rem;font-weight:800;color:#fff}
.plate .rl{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-on-ground-muted);margin-top:var(--space-1);font-weight:700}
.plate dl{margin:var(--space-4) 0 0;display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-3)}
.plate dt{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-on-ground-muted);align-self:baseline;font-weight:700}
.plate dd{margin:0;color:var(--color-text-on-ground)}
.plate a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid rgba(232,163,61,.4)}
.plate a:hover{color:var(--color-accent-hover);border-bottom-color:var(--color-accent-hover)}

/* ---------- contact ---------- */
.contact{background:var(--color-surface);padding:var(--space-6) 0}
.contact h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.contact .lede{max-width:54ch}
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);border-top:2px solid var(--color-border-strong)}
.cbox{padding:var(--space-4) var(--space-4) var(--space-4) 0;border-bottom:1px solid var(--color-border)}
.cbox + .cbox{padding-left:var(--space-4);border-left:1px solid var(--color-border)}
.cbox .lab{display:block;margin-bottom:var(--space-2)}
.cbox .val{font-size:1.25rem;font-weight:700;word-break:break-word}
.cbox a{color:var(--color-text);text-decoration:none;border-bottom:2px solid var(--color-accent)}
.cbox a:hover{color:var(--color-accent-strong)}

/* ---------- carried forward ---------- */
.carry{background:var(--color-surface-raised);border-top:2px solid var(--color-accent)}
.carry a{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;text-decoration:none;color:var(--color-text);flex-wrap:wrap}
.carry .lab{display:block;margin-bottom:var(--space-1)}
.carry .t{font-size:1.375rem;font-weight:800;letter-spacing:-.018em}
.carry .go{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}
.carry a:hover .t,.carry a:hover .go{color:var(--color-accent-strong)}

/* ---------- footer ---------- */
footer{background:var(--color-ground-deep);color:var(--color-text-on-ground-muted);padding:var(--space-5) 0 var(--space-6)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-5)}
footer p{font-size:.9375rem;max-width:60ch}
footer .ent{color:#fff;font-weight:800;font-size:1.0625rem}
footer .fine{font-size:.875rem;line-height:1.65;margin-top:var(--space-3)}
.foot-nav{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-3)}
.foot-nav a{font-size:.875rem;color:var(--color-text-on-ground-muted);text-decoration:none;border-bottom:1px solid transparent}
.foot-nav a:hover{color:#fff;border-bottom-color:var(--color-accent)}
.updated{margin-top:var(--space-4);font-size:.8125rem;color:var(--color-text-on-ground-muted);opacity:.85}

/* ---------- scroll to top ---------- */
.to-top{
  position:fixed;right:1.25rem;bottom:1.25rem;z-index:50;
  width:2.75rem;height:2.75rem;border-radius:50%;
  background:var(--color-ground);color:#fff;border:1px solid var(--color-ground-edge);
  display:grid;place-items:center;cursor:pointer;font-size:1.1rem;line-height:1;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s,background .15s ease;
}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}

/* ---------- sticky mobile CTA ---------- */
.sticky-cta{display:none}

/* ---------- 404 ---------- */
.notfound{background:var(--color-ground);color:var(--color-text-on-ground);padding:var(--space-7) 0;text-align:left}
.notfound h1{font-size:clamp(2.25rem,5vw,3.5rem);color:#fff;max-width:18ch}
.notfound p{margin-top:var(--space-4);max-width:50ch;color:var(--color-text-on-ground-muted);font-size:1.125rem}
.notfound .code{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-weight:800;display:block;margin-bottom:var(--space-3)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero-grid,.who-grid,.foot-grid{grid-template-columns:1fr;gap:var(--space-5)}
  .step{grid-template-columns:2.5rem 1fr;gap:var(--space-3)}
  .step p{grid-column:2}
  .term{grid-template-columns:1fr;gap:var(--space-1)}
  .cgrid{grid-template-columns:1fr}
  .cbox + .cbox{padding-left:0;border-left:0}
  .idx a{grid-template-columns:3rem 1fr;gap:var(--space-3)}
  .idx .go{grid-column:2}
  .hero,.field,.who,.contact,.index-field,.pagehead,.notfound{padding:var(--space-5) 0}
  .erow{grid-template-columns:7.5rem 1fr}

  .menu-btn{display:block}
  .mast nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--color-ground-deep);border-top:1px solid var(--color-ground-edge);
    flex-direction:column;gap:0;padding:var(--space-2) 1.25rem var(--space-3);
  }
  .mast nav.open{display:flex}
  .mast nav a{padding:.75rem 0;border-bottom:1px solid var(--color-ground-edge);width:100%}
  .mast nav a:last-child{border-bottom:0}

  .sticky-cta{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;
    background:var(--color-ground);border-top:1px solid var(--color-ground-edge);
    padding:.6rem 1.25rem;gap:var(--space-3);align-items:center;justify-content:space-between;
  }
  .sticky-cta span{font-size:.875rem;font-weight:700;color:var(--color-text-on-ground)}
  .sticky-cta .cta{padding:.6rem 1rem;font-size:.9375rem}
  body{padding-bottom:4rem}
  .to-top{bottom:4.75rem;right:1rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ruleoff .line{transform:scaleX(1);transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- print ---------- */
@media print{
  .mast,.crumbs,.carry,.to-top,.sticky-cta,.skip,.hero-actions,.cookie{display:none!important}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.45;padding:0;display:block}
  .hero,.pagehead,.who,footer{background:#fff!important;color:#000!important;padding:0 0 12pt}
  .hero h1,.pagehead h1,.who h2,footer .ent{color:#000!important}
  .hero-sub,.pagehead p,.who p,footer p,.plate dd,.plate .rl{color:#000!important}
  .plate{border:1pt solid #000;background:#fff}
  .field,.contact,.index-field{padding:0 0 12pt}
  .wrap{width:100%}
  .step:nth-of-type(even),.term:nth-of-type(even),.idx a:nth-of-type(even){background:#fff!important;box-shadow:none!important}
  .disclosure{border:1.5pt solid #000;background:#fff}
  a{text-decoration:underline;color:#000}
  main a[href^="http"]::after,main a[href^="mailto"]::after{content:" (" attr(href) ")";font-size:9pt}
  .ruleoff .line{transform:scaleX(1);background:#000}
  h1,h2,h3{page-break-after:avoid}
  .step,.term,.disclosure{page-break-inside:avoid}
}
