/* ============================================================
   Kitsap Probate — shared design system  (mid-fi build)
   Palette: deep navy · warm teal · warm white · warm gray
   Type: Source Serif 4 (headings) · Source Sans 3 (body)
============================================================ */
:root{
  --ink:#27313a;          /* primary body text — warm slate */
  --ink-soft:#5d5950;     /* secondary text */
  --muted:#857f74;        /* tertiary / captions */
  --navy:#1e3a52;         /* deep navy */
  --navy-deep:#152838;    /* darkest navy — footer / dark bands */
  --teal:#16685f;         /* primary action (AA on white text) */
  --teal-line:#2f857c;    /* teal borders / accents */
  --teal-tint:#e7f1ee;    /* soft teal wash */
  --teal-tint-2:#d6e8e3;
  --paper:#faf8f3;        /* page background, warm white */
  --surface:#ffffff;
  --surface-2:#f4f0e8;    /* warm gray panel */
  --line:#e7e1d6;         /* hairline borders */
  --line-soft:#f0ebe1;
  --gold:#b8862f;         /* tiny accent for premium tag only */
  --maxw:1120px;
  --r:14px;
  --r-sm:9px;
  --shadow:0 1px 2px rgba(30,40,55,.05), 0 8px 24px -14px rgba(30,40,55,.22);
  --shadow-sm:0 1px 2px rgba(30,40,55,.06), 0 4px 14px -10px rgba(30,40,55,.18);
  --f-serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --f-sans:'Source Sans 3', 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-sans); font-size:18px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--f-serif); color:var(--navy); line-height:1.15; margin:0; font-weight:600; letter-spacing:-.01em;}
h1{font-size:clamp(34px,4.4vw,52px); font-weight:600; letter-spacing:-.02em;}
h2{font-size:clamp(26px,3vw,36px);}
h3{font-size:22px;}
p{margin:0 0 1rem; text-wrap:pretty;}
a{color:var(--teal); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%; display:block;}
.eyebrow{font-family:var(--f-sans); font-weight:700; font-size:13.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); margin:0 0 14px;}
.lead{font-size:21px; color:var(--ink-soft); line-height:1.55;}
.muted{color:var(--muted);}
.small{font-size:14.5px;}
.center{text-align:center;}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.wrap-narrow{max-width:820px; margin:0 auto; padding:0 28px;}
section{padding:76px 0;}
.section-tight{padding:52px 0;}
.band-warm{background:var(--surface-2);}
.band-navy{background:var(--navy-deep); color:#e8eef3;}
.band-navy h1,.band-navy h2,.band-navy h3{color:#fff;}
.band-teal{background:var(--teal); color:#eef6f4;}
.band-teal h1,.band-teal h2{color:#fff;}

/* ---------- nav ---------- */
.nav{position:sticky; top:0; z-index:40; background:rgba(250,248,243,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav-inner{max-width:var(--maxw); margin:0 auto; padding:14px 28px; display:flex; align-items:center; gap:26px;}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--f-serif); font-weight:600; font-size:21px; color:var(--navy); white-space:nowrap;}
.brand:hover{text-decoration:none;}
.brand .mark{width:30px; height:30px; border-radius:7px; background:var(--navy); color:#fff; display:grid; place-items:center; font-family:var(--f-serif); font-size:16px; font-weight:600;}
.nav-links{display:flex; gap:24px; margin-left:auto; align-items:center;}
.nav-links a{color:var(--ink); font-size:16px; font-weight:500;}
.nav-links a:hover{color:var(--teal); text-decoration:none;}
.nav-cta{margin-left:6px;}
.nav-links a.nav-cta, .nav-links a.nav-cta:hover{color:#fff;}
.nav-toggle{display:none;}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--f-sans);
  font-weight:600; font-size:16px; line-height:1; min-height:50px; padding:0 24px; border-radius:999px;
  border:1.5px solid transparent; cursor:pointer; transition:transform .12s ease, box-shadow .2s, background .2s; white-space:nowrap;}
.btn:hover{text-decoration:none; transform:translateY(-1px);}
.btn-primary{background:var(--teal); color:#fff; box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:#12554e;}
.btn-secondary{background:transparent; color:var(--navy); border-color:var(--navy);}
.btn-secondary:hover{background:var(--navy); color:#fff;}
.btn-ghost{background:transparent; color:var(--teal); border-color:var(--teal-line);}
.btn-ghost:hover{background:var(--teal-tint);}
.btn-onnavy{background:#fff; color:var(--navy);}
.btn-onnavy:hover{background:#eef6f4;}
.btn-ghost-onnavy{background:transparent; color:#fff; border-color:rgba(255,255,255,.45);}
.btn-ghost-onnavy:hover{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.7);}
.btn-lg{min-height:56px; font-size:17px; padding:0 30px;}
.btn-block{display:flex; width:100%;}
.btn-row{display:flex; gap:14px; flex-wrap:wrap;}

/* ---------- icons (lucide) ---------- */
.ico-chip{width:50px; height:50px; border-radius:12px; background:var(--teal-tint); color:var(--teal); display:grid; place-items:center; flex:0 0 auto;}
.ico-chip svg{width:24px; height:24px;}
.ico-chip.navy{background:#e7edf2; color:var(--navy);}
svg.lucide{stroke-width:1.8;}

/* ---------- trust bar ---------- */
.trust{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface);}
.trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:22px 0;}
.trust-item{display:flex; align-items:center; gap:12px; justify-content:center; text-align:left; color:var(--ink-soft); font-size:15.5px; font-weight:500;}
.trust-item svg{width:22px; height:22px; color:var(--teal); flex:0 0 auto;}

/* ---------- cards ---------- */
.cards{display:grid; gap:22px;}
.cards-3{grid-template-columns:repeat(3,1fr);}
.cards-2{grid-template-columns:repeat(2,1fr);}
.cards-4{grid-template-columns:repeat(4,1fr);}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:28px; box-shadow:var(--shadow-sm);}
.card h3{margin-bottom:8px;}
.card p{color:var(--ink-soft); font-size:16px; margin-bottom:14px;}
.card .ico-chip{margin-bottom:18px;}
.card-link{display:flex; flex-direction:column; height:100%;}
.card-link .spacer{flex:1;}
.card-arrow{color:var(--teal); font-weight:600; font-size:16px; display:inline-flex; align-items:center; gap:6px;}

/* router cards (clickable) */
.router{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.router a{display:flex; flex-direction:column; gap:6px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:24px; transition:border-color .2s, box-shadow .2s, transform .12s; color:var(--ink);}
.router a:hover{border-color:var(--teal-line); box-shadow:var(--shadow); transform:translateY(-2px); text-decoration:none;}
.router .step{font-family:var(--f-serif); color:var(--teal); font-size:15px; font-weight:600;}
.router h3{font-size:20px;}
.router p{font-size:15.5px; color:var(--ink-soft); margin:0;}
.router .go{margin-top:10px; color:var(--teal); font-weight:600; font-size:15px;}

/* ---------- the three options ---------- */
.options{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch;}
.opt{position:relative; display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:30px 26px; box-shadow:var(--shadow-sm);}
.opt.featured{border:1.5px solid var(--teal-line); box-shadow:0 10px 30px -16px rgba(22,104,95,.5);}
.opt .tag{position:absolute; top:-13px; left:26px; white-space:nowrap; background:var(--teal); color:#fff; font-family:var(--f-sans); font-weight:700; font-size:12px; letter-spacing:.07em; text-transform:uppercase; padding:5px 12px; border-radius:999px;}
.opt h3{font-size:22px; margin-bottom:6px;}
.opt .fit{color:var(--muted); font-size:14.5px; font-style:italic; margin:0 0 18px;}
.opt p{font-size:16px; color:var(--ink-soft);}
.opt .spacer{flex:1;}
/* desktop: align rows column-to-column so titles, fit-lines, body & buttons line up */
@media (min-width:901px){
  .options{column-gap:22px; row-gap:0; grid-template-rows:auto auto auto 1fr auto;}
  .opt{display:grid; grid-template-rows:subgrid; grid-row:1 / span 5; row-gap:0;}
  .opt .ico-chip{margin-bottom:16px;}
  .opt .spacer{display:none;}
}

/* ---------- all-inclusive deep dive ---------- */
.ai-card{display:grid; grid-template-columns:0.92fr 1.08fr; gap:48px; align-items:center; background:var(--surface); border:1.5px solid var(--teal-line); border-radius:var(--r); padding:46px 48px; box-shadow:0 16px 40px -22px rgba(22,104,95,.55);}
.ai-card .tag-inline{display:inline-block; white-space:nowrap; background:var(--teal); color:#fff; font-family:var(--f-sans); font-weight:700; font-size:12px; letter-spacing:.07em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:16px;}
.ai-card h2{margin-bottom:14px;}
.ai-card .lead{font-size:18px;}
.ai-card .btn{margin-top:26px;}
.ai-benefits .checklist li{font-size:16.5px; align-items:flex-start;}
.ai-benefits .checklist strong{color:var(--ink);}
@media (max-width:820px){
  .ai-card{grid-template-columns:1fr; gap:30px; padding:34px 28px;}
  .ai-card .btn{margin-top:8px;}
}

/* ---------- checklist ---------- */
.checklist{list-style:none; padding:0; margin:0; display:grid; gap:14px;}
.checklist li{display:flex; gap:13px; align-items:flex-start; font-size:17px; color:var(--ink-soft);}
.checklist li svg{width:22px; height:22px; color:var(--teal); flex:0 0 auto; margin-top:3px;}
.diff-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.diff{display:flex; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:20px 22px;}
.diff h4{font-family:var(--f-serif); color:var(--navy); font-size:18px; margin:0 0 5px;}
.diff p{margin:0; font-size:15.5px; color:var(--ink-soft);}

/* ---------- accordion ---------- */
.accordion{border-top:1px solid var(--line);}
.acc{border-bottom:1px solid var(--line);}
.acc summary{list-style:none; cursor:pointer; padding:22px 4px; display:flex; align-items:center; justify-content:space-between; gap:18px;
  font-family:var(--f-serif); font-size:21px; color:var(--navy); font-weight:600;}
.acc summary::-webkit-details-marker{display:none;}
.acc summary .plus{flex:0 0 auto; width:26px; height:26px; position:relative; transition:transform .25s;}
.acc summary .plus::before,.acc summary .plus::after{content:""; position:absolute; background:var(--teal); border-radius:2px;}
.acc summary .plus::before{top:12px; left:3px; right:3px; height:2px;}
.acc summary .plus::after{left:12px; top:3px; bottom:3px; width:2px; transition:opacity .25s;}
.acc[open] summary .plus::after{opacity:0;}
.acc[open] summary{padding-bottom:6px;}
.acc-body{padding:0 4px 24px; max-width:760px;}
.acc-body p{color:var(--ink-soft); font-size:17px;}
.acc-body p:last-child{margin-bottom:0;}

/* ---------- timeline ---------- */
.timeline{display:grid; grid-template-columns:repeat(5,1fr); gap:8px; counter-reset:tl;}
.tl{position:relative; text-align:center; padding-top:46px;}
.tl::before{counter-increment:tl; content:counter(tl); position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:38px; height:38px; border-radius:50%; background:var(--teal); color:#fff; font-family:var(--f-serif); font-weight:600; display:grid; place-items:center; font-size:18px;}
.tl::after{content:""; position:absolute; top:19px; left:50%; right:-50%; height:2px; background:var(--teal-tint-2); z-index:-1;}
.tl:last-child::after{display:none;}
.tl h4{font-family:var(--f-serif); color:var(--navy); font-size:16.5px; margin:0 0 4px;}
.tl p{font-size:13.5px; color:var(--muted); margin:0;}

/* ---------- forms ---------- */
[hidden]{display:none !important;}
.form{display:grid; gap:14px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.field{display:flex; flex-direction:column; gap:6px;}
.field label{font-size:14px; font-weight:600; color:var(--ink-soft);}
.field input,.field textarea{font-family:var(--f-sans); font-size:16px; padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--r-sm); background:var(--surface); color:var(--ink); width:100%;}
.field input:focus,.field textarea:focus{outline:none; border-color:var(--teal-line); box-shadow:0 0 0 3px var(--teal-tint);}
.form-note{font-size:13.5px; color:var(--muted); margin:2px 0 0;}
.formcard{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:34px; box-shadow:var(--shadow);}

/* lead-magnet (kit) band */
.kit{background:var(--teal); color:#eef6f4; border-radius:0;}
.kit h2{color:#fff;}
.kit .kit-inner{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;}
.kit .whats{list-style:none; padding:0; margin:16px 0 0; display:grid; gap:12px;}
.kit .whats li{display:flex; gap:12px; align-items:flex-start; color:#dfeeeb; font-size:16.5px;}
.kit .whats li svg{width:22px; height:22px; color:#fff; flex:0 0 auto; margin-top:3px;}
.kit .kitform{background:#fff; border-radius:var(--r); padding:28px; box-shadow:0 18px 40px -20px rgba(0,0,0,.4);}
.kit .kitform h3{color:var(--navy); margin-bottom:4px;}
.kit .kitform .form-note{color:var(--muted);}

/* kit form — validation + success states */
.kf-status.kf-error{color:#b23b2e; font-weight:500;}
.kf-success{text-align:center; padding:8px 4px 4px;}
.kf-check{width:54px; height:54px; margin:0 auto 16px; border-radius:50%;
  background:var(--teal-tint); color:var(--teal);
  display:flex; align-items:center; justify-content:center;}
.kf-success h3{margin-bottom:10px;}
.kf-success p{color:var(--ink-soft); font-size:16.5px; margin-bottom:12px;}
.kf-success p:last-child{margin-bottom:0;}
.kf-success .form-note{color:var(--muted); font-size:14px;}

/* category grid */
.cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.cat{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:24px; box-shadow:var(--shadow-sm);}
.cat .ico-chip{margin-bottom:14px;}
.cat h3{font-size:18px; margin-bottom:6px;}
.cat p{font-size:14.5px; color:var(--ink-soft); margin:0;}

/* ---------- footer ---------- */
.footer{background:var(--navy-deep); color:#b9c6d2; padding:60px 0 30px; font-size:15px;}
.footer h4{color:#fff; font-size:16px; margin:0 0 14px; font-family:var(--f-sans); font-weight:700; letter-spacing:.02em;}
.footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:42px; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.12);}
.footer .brand{color:#fff;}
.footer .brand .mark{background:#fff; color:var(--navy-deep);}
.footer p{color:#9fb0bd; margin:14px 0 0; max-width:46ch;}
.footer ul{list-style:none; padding:0; margin:0; display:grid; gap:10px;}
.footer a{color:#b9c6d2;}
.footer a:hover{color:#fff;}
.footer .local{color:#fff; font-weight:600; margin-top:8px;}
.footer .brokerage{color:#9fb0bd; margin-top:12px; font-size:13.5px;}
.footer .brokerage strong{color:#dbe3ea; font-weight:600;}
.foot-bottom{padding-top:22px; display:flex; flex-wrap:wrap; gap:14px 26px; justify-content:space-between; color:#7e909d; font-size:13.5px;}
.foot-bottom .disc{max-width:62ch;}

/* page hero (no image) */
.phero{padding:64px 0 56px;}
.phero .eyebrow{margin-bottom:18px;}
.phero p.lead{margin-top:18px; max-width:60ch;}
.home-hero{padding:84px 0 64px; background:
   radial-gradient(120% 120% at 100% 0%, var(--teal-tint) 0%, rgba(231,241,238,0) 46%),
   var(--paper);}
.home-hero h1{max-width:18ch;}
.home-hero p.lead{max-width:54ch;}

/* misc */
.divider{height:1px; background:var(--line); border:0; margin:0;}
.kicker-row{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:14px;}
.note-inline{background:var(--teal-tint); border:1px solid var(--teal-tint-2); border-radius:var(--r); padding:22px 26px; display:flex; gap:18px; align-items:center; flex-wrap:wrap;}
.note-inline p{margin:0; color:var(--ink-soft);}
.note-inline .ico-chip{margin:0;}
.aside-cta{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow-sm);}
.section-head{max-width:56ch; margin-bottom:40px;}
.section-head.center{margin-left:auto; margin-right:auto;}
.section-head p{color:var(--ink-soft); font-size:18px; margin-top:12px;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .cards-3,.cards-4,.options,.router,.cat-grid{grid-template-columns:1fr 1fr;}
  .kit .kit-inner{grid-template-columns:1fr; gap:30px;}
  .timeline{grid-template-columns:1fr 1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  body{font-size:17px;}
  section{padding:54px 0;}
  .nav-links{position:fixed; inset:62px 0 auto 0; background:var(--paper); flex-direction:column; align-items:stretch; gap:0; padding:8px 0; border-bottom:1px solid var(--line); box-shadow:var(--shadow); display:none;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 28px; border-top:1px solid var(--line-soft);}
  .nav-cta{margin:12px 28px;}
  .nav-toggle{display:grid; place-items:center; margin-left:auto; width:44px; height:44px; border:1px solid var(--line); border-radius:10px; background:var(--surface);}
  .trust-grid{grid-template-columns:1fr 1fr; gap:16px 10px;}
  .cards-3,.cards-4,.options,.router,.cat-grid,.diff-grid,.form-row{grid-template-columns:1fr;}
  .timeline{grid-template-columns:1fr; gap:18px;}
  .tl{padding:0 0 0 52px; text-align:left;}
  .tl::before{left:0; transform:none;}
  .tl::after{display:none;}
  h1{font-size:32px;}
}

/* ---------- cash-offer modal ---------- */
.modal-overlay{position:fixed; inset:0; z-index:200; display:none; align-items:flex-start; justify-content:center; overflow-y:auto; padding:6vh 20px; background:rgba(24,33,40,.55); backdrop-filter:blur(2px);}
.modal-overlay.open{display:flex;}
.modal{position:relative; width:100%; max-width:560px; background:var(--surface); border-radius:var(--r); padding:38px 40px 34px; box-shadow:0 30px 70px -24px rgba(0,0,0,.5); animation:modal-in .22s ease;}
@keyframes modal-in{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}
.modal-close{position:absolute; top:16px; right:18px; width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--muted); font-size:24px; line-height:1; cursor:pointer; transition:background .15s, color .15s;}
.modal-close:hover{background:var(--paper); color:var(--ink);}
/* ---------- scheduling modal (chips) ---------- */
.sched-label{font-family:var(--f-sans); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin:22px 0 10px;}
.sched-grid{display:flex; flex-wrap:wrap; gap:10px;}
.sched-chip{font-family:var(--f-sans); font-size:15px; font-weight:600; color:var(--navy); background:var(--surface); border:1.5px solid var(--line); border-radius:999px; padding:10px 16px; cursor:pointer; transition:border-color .15s, background .15s, color .15s; line-height:1.1;}
.sched-chip:hover{border-color:var(--teal-line); background:var(--teal-tint);}
.sched-chip[aria-pressed="true"]{background:var(--teal); border-color:var(--teal); color:#fff;}
.sched-chip .dow{display:block; font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; opacity:.7;}
.sched-confirm{display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:8px 0 4px;}
.sched-confirm .tick{width:56px; height:56px; border-radius:50%; background:var(--teal-tint); color:var(--teal); display:grid; place-items:center; margin-bottom:8px;}
.sched-confirm .tick svg{width:28px; height:28px;}
@media (max-width:680px){
  .modal{padding:34px 22px 28px;}
}

/* ---------- photo placeholders (replace src before launch) ---------- */
.photo{
  position:relative; display:flex; align-items:center; justify-content:center;
  border-radius:var(--r); overflow:hidden; border:1px solid var(--line);
  background-color:var(--surface-2);
  background-image:repeating-linear-gradient(135deg,
    rgba(30,58,82,.045) 0, rgba(30,58,82,.045) 1px,
    transparent 1px, transparent 11px);
}
.photo img{width:100%; height:100%; object-fit:cover; display:block;}
.photo .ph-label{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px; line-height:1.45; letter-spacing:.01em; color:var(--ink-soft);
  background:rgba(250,248,243,.9); border:1px solid var(--line); border-radius:9px;
  padding:9px 13px; text-align:center; max-width:84%;
}
.photo .ph-label b{display:block; color:var(--navy); font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:3px;}
.photo-band{height:300px;}
.photo-tall{min-height:340px; height:100%;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center;}
.split.narrow-photo{grid-template-columns:1.05fr .95fr;}
@media (max-width:820px){
  .split{grid-template-columns:1fr; gap:28px;}
  .photo-band{height:220px;}
  .photo-tall{min-height:240px;}
}

/* ---------- footer social ---------- */
.social{display:flex; gap:10px; margin-top:18px;}
.social a{
  width:40px; height:40px; border-radius:10px; display:grid; place-items:center;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:#cdd9e2;
  transition:background .15s, color .15s, border-color .15s;
}
.social a:hover{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.3);}
.social a svg{width:20px; height:20px;}

/* ---------- legal / prose pages ---------- */
.prose{max-width:760px;}
.prose h2{font-size:24px; margin:38px 0 12px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:18px; margin:24px 0 8px; color:var(--navy);}
.prose p{color:var(--ink-soft); font-size:17px; margin:0 0 14px;}
.prose ul{margin:0 0 16px; padding-left:22px; color:var(--ink-soft); font-size:17px;}
.prose li{margin-bottom:8px;}
.prose .updated{font-size:14.5px; color:var(--muted); margin-bottom:30px;}
.legal-note{background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r); padding:22px 24px; margin:28px 0;}
.legal-note p{margin:0; font-size:15.5px; color:var(--ink-soft);}

/* ---------- contact page ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
.contact-aside .lead{margin-bottom:22px;}
.contact-points{list-style:none; padding:0; margin:0 0 26px; display:grid; gap:16px;}
.contact-points li{display:flex; gap:14px; align-items:flex-start;}
.contact-points .ico-chip{flex:0 0 auto;}
.contact-points h4{font-family:var(--f-serif); color:var(--navy); font-size:17.5px; margin:0 0 3px;}
.contact-points p{margin:0; font-size:15.5px; color:var(--ink-soft);}
.contact-call{display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:20px 24px; box-shadow:var(--shadow-sm);}
.contact-call .num{font-family:var(--f-serif); font-size:24px; color:var(--navy); font-weight:600; white-space:nowrap;}
.contact-call .num:hover{text-decoration:none;}
.contact-call .hrs{font-size:14.5px; color:var(--muted);}
@media (max-width:820px){
  .contact-grid{grid-template-columns:1fr; gap:34px;}
}
