:root{
  --ink:#16213a;--ink-2:#3b4660;--muted:#5d6782;--navy:#1d3557;--navy-2:#14284a;
  --gold:#e9c46a;--gold-ink:#7a5a12;--cta:#1f6f50;--cta-2:#175a40;
  --bg:#ffffff;--bg-soft:#f6f4ef;--line:#e3e0d8;--card:#ffffff;
  --radius:12px;--shadow:0 1px 2px rgba(20,30,60,.06),0 6px 24px rgba(20,30,60,.07);
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:17px/1.65 var(--sans);color:var(--ink);background:var(--bg)}
img,svg{max-width:100%}
a{color:var(--navy);text-underline-offset:2px}
a:hover{color:var(--cta)}
h1,h2,h3{font-family:var(--serif);line-height:1.2;color:var(--navy-2);margin:0 0 .5em}
h1{font-size:clamp(2rem,4.6vw,3rem)}
h2{font-size:clamp(1.45rem,3vw,1.9rem);margin-top:1.6em}
h3{font-size:1.2rem;margin-top:1.3em}
p{margin:0 0 1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.hp{position:absolute!important;left:-5000px!important;opacity:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.8em 1.25em;border-radius:10px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;line-height:1.2;transition:background .15s,transform .15s}
.btn-primary{background:var(--cta);color:#fff}.btn-primary:hover{background:var(--cta-2);color:#fff}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--navy)}.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}.btn-light:hover{background:var(--gold);color:var(--navy-2)}
.btn-block{width:100%}

/* header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy-2);margin-right:auto}
.brand strong{display:block;font-family:var(--serif);font-size:1.08rem;line-height:1.15}
.brand small{display:block;font-size:.76rem;color:var(--muted);letter-spacing:.02em}
.main-nav ul{list-style:none;margin:0;padding:0}
.main-nav .desk{display:none}
.main-nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.main-nav a[aria-current]{color:var(--cta)}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 10px}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;height:2px;background:var(--navy);border-radius:2px}
.menu ul{position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:8px 20px 16px}
.menu li a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.header-call span{display:none}
.header-call{padding:.7em}
@media (min-width:1080px){
  .menu{display:none}.main-nav .desk{display:flex;gap:20px}
  .header-call span{display:inline}.header-call{padding:.7em 1.1em}
}

/* hero */
.hero{background:linear-gradient(160deg,var(--navy-2),var(--navy) 60%,#264a75);color:#fff;padding:44px 0 52px}
.hero h1{color:#fff;margin-bottom:.3em}
.hero .eyebrow{color:var(--gold);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;margin-bottom:.6em}
.hero-grid{display:grid;gap:32px;align-items:start}
.hero-sub{font-size:1.15rem;color:#e4e9f2;max-width:36em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.checks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.checks li{padding-left:28px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='%2314284a'/%3E%3C/svg%3E") center/14px no-repeat}
.hero .lead-form{color:var(--ink)}
@media (min-width:900px){.hero{padding:64px 0 72px}.hero-grid{grid-template-columns:1.25fr 1fr;gap:56px}}

/* form */
.lead-form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;border:1px solid var(--line);display:grid;gap:12px}
.form-title{font-family:var(--serif);font-size:1.3rem;color:var(--navy-2);margin:0;font-weight:700}
.lead-form label{display:grid;gap:4px;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-weight:400;font-size:1rem;padding:.65em .75em;border:1px solid #c9c5bb;border-radius:8px;background:#fff;color:var(--ink);width:100%}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:3px solid rgba(31,111,80,.25);border-color:var(--cta)}
.form-note{font-size:.78rem;color:var(--muted);margin:0}
.form-status{margin:0;font-weight:600}.form-status.err{color:#b42318}.form-status.ok{color:var(--cta)}

/* sections */
.section{padding:56px 0}.section-soft{background:var(--bg-soft)}
.section-head{max-width:760px;margin-bottom:28px}
.section-head h2{margin-top:0}
.grid{display:grid;gap:18px}
@media (min-width:700px){.cards-2{grid-template-columns:repeat(2,1fr)}.cards-3{grid-template-columns:repeat(2,1fr)}.cards-4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}}
.card{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(20,30,60,.04)}
a.card:hover{border-color:var(--cta);transform:translateY(-2px);transition:transform .15s}
.card-title{font-family:var(--serif);font-weight:700;font-size:1.12rem;color:var(--navy-2);line-height:1.3}
.card-text{color:var(--muted);font-size:.95rem}
.card .more{margin-top:auto;font-weight:700;color:var(--cta);font-size:.92rem}
.tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-ink)}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:18px}
@media (min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px 20px}
.steps li::before{content:counter(s);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin-bottom:10px}
.steps strong{display:block;font-family:var(--serif);font-size:1.1rem;color:var(--navy-2);margin-bottom:4px}
.facts{display:grid;gap:14px}
@media (min-width:800px){.facts{grid-template-columns:repeat(3,1fr)}}
.fact{border-left:4px solid var(--gold);background:#fff;padding:14px 16px;border-radius:0 10px 10px 0}
.fact strong{display:block;font-size:1.5rem;font-family:var(--serif);color:var(--navy-2)}
.split{display:grid;gap:32px}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;align-items:start}}

/* faq */
.faq{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:10px}
.faq summary{cursor:pointer;padding:16px 44px 16px 18px;font-weight:700;position:relative;list-style:none;color:var(--navy-2)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:1.4rem;color:var(--cta)}
.faq[open] summary::after{content:"–"}
.faq>div{padding:0 18px 14px}
.faq>div p:last-child{margin-bottom:0}

/* inner pages */
.page-hero{background:var(--bg-soft);border-bottom:1px solid var(--line);padding:28px 0 30px}
.page-hero h1{margin:.25em 0 .2em;font-size:clamp(1.8rem,4vw,2.6rem)}
.page-hero .lead{font-size:1.12rem;color:var(--ink-2);max-width:46em;margin:0}
.crumbs{font-size:.85rem;color:var(--muted)}.crumbs a{color:var(--muted)}
.byline{color:var(--muted);font-size:.92rem;margin:0}
.with-side{display:grid;gap:36px;padding-top:32px;padding-bottom:56px}
.narrow{max-width:820px;padding-top:32px;padding-bottom:56px}
@media (min-width:980px){.with-side{grid-template-columns:minmax(0,1fr) 360px;gap:56px}.side .lead-form{position:sticky;top:92px}}
.prose{max-width:760px;min-width:0}
.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.25em}.prose li{margin-bottom:.45em}
.note{background:#eef6f1;border:1px solid #cfe5d8;border-radius:10px;padding:14px 16px}
.disclaimer-small{font-size:.82rem;color:var(--muted);margin-top:24px}
.related-h{margin-top:1.8em}

.cta-band{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;background:var(--navy);color:#e4e9f2;border-radius:var(--radius);padding:24px;margin:32px 0}
.cta-band p{margin:0}.cta-title{font-family:var(--serif);font-size:1.3rem;color:#fff!important;font-weight:700;margin-bottom:4px!important}

/* footer */
.site-footer{background:var(--navy-2);color:#cdd5e3;padding:48px 0 96px;font-size:.93rem;margin-top:0}
.site-footer a{color:#fff}
.foot-grid{display:grid;gap:28px}
@media (min-width:800px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.site-footer{padding-bottom:28px}}
.foot-h{font-weight:700;color:var(--gold);text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:6px}
.site-footer li a{text-decoration:none}.site-footer li a:hover{text-decoration:underline}
.brand-foot strong{color:#fff}
.foot-phone{font-size:1.35rem;font-weight:700;text-decoration:none}
.foot-legal{border-top:1px solid rgba(255,255,255,.15);margin-top:28px;padding-top:18px;font-size:.8rem;color:#a9b4c8}

.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1.4fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(20,30,60,.08)}
.mobile-bar .btn{padding:.75em .5em;font-size:.95rem}
@media (min-width:800px){.mobile-bar{display:none}}

/* header tightening */
.main-nav a,.header-call{white-space:nowrap}
@media (max-width:640px){.brand small{display:none}.brand strong{font-size:.98rem}.brand svg{width:30px;height:30px}.header-inner{gap:8px}}
@media (min-width:1080px){.main-nav .desk{gap:16px}.main-nav a{font-size:.9rem}}
@media (min-width:1080px) and (max-width:1279px){.header-call span{display:none}.header-call{padding:.7em}}
.btn svg{flex-shrink:0}
.brand small{white-space:nowrap}
@media (min-width:1080px) and (max-width:1279px){.brand small{display:none}}
.brand svg{flex-shrink:0}
.site-header .wrap{max-width:1360px}@media (min-width:1080px) and (max-width:1365px){.main-nav .desk{gap:13px}}

@media (min-width:1000px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}}

/* wide tool pages */
.page-wide{padding-top:28px;padding-bottom:56px}
.page-wide .prose{margin:0 auto}
.tool-intro{max-width:760px}

/* child support calculator */
.calc-grid{display:grid;gap:24px;margin:8px 0 32px}
@media (min-width:960px){.calc-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start}.calc-side{position:sticky;top:92px}}
.calc-form{display:grid;gap:16px}
.calc-form fieldset.card,.calc-form details.card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:0;background:#fff}
.calc-form legend{font-weight:700;color:var(--navy-2);padding:0 6px;font-family:var(--serif);font-size:1.05rem}
.calc-form label{display:grid;gap:4px;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.calc-form label.check{display:flex;align-items:center;gap:8px;font-weight:600}
.calc-form input:not([type=checkbox]),.calc-form select{font:inherit;font-size:1rem;font-weight:400;padding:.6em .7em;border:1px solid #c9c5bb;border-radius:8px;width:100%;background:#fff;color:var(--ink)}
.calc-form input:disabled{background:var(--bg-soft);color:var(--muted)}
.calc-form .fields{display:grid;gap:12px}
@media (min-width:640px){.calc-form .fields{grid-template-columns:1fr 1fr}}
.calc-form .job{display:grid;gap:10px;grid-template-columns:1fr 1fr auto;align-items:end;margin-bottom:10px}
@media (max-width:520px){.calc-form .job{grid-template-columns:1fr 1fr}.calc-form .job .remove{grid-column:1/-1;justify-self:start}}
.link-btn{background:none;border:0;color:var(--cta);font-weight:700;cursor:pointer;padding:6px 0;font-size:.95rem}
.notice{background:#eef6f1;border:1px solid #cfe5d8;border-radius:10px;padding:10px 14px;margin:0}
.calc-form summary{cursor:pointer;font-weight:700;color:var(--navy-2)}
.result{background:#fff;border:2px solid var(--navy);border-radius:var(--radius);padding:20px}
.result h2{margin:0 0 4px;font-size:1.2rem}
.result .amount{font-family:var(--serif);font-size:2.4rem;color:var(--cta);margin:0 0 12px;font-weight:700}
.result .amount .per{font-size:1rem;color:var(--muted);font-family:var(--sans);font-weight:400}
.result.empty .amount{color:var(--muted)}
.result .r{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.result .r.total{font-weight:700;border-bottom:2px solid var(--navy)}
.muted{color:var(--muted)}.small{font-size:.85rem}
.btn-sm{padding:.55em .9em;font-size:.9rem}
.side-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:16px}
.side-card h3{margin-top:0}
.mini{position:fixed;left:0;right:0;bottom:68px;z-index:55;background:var(--navy);color:#fff;text-align:center;padding:8px;font-weight:700}
@media (min-width:960px){.mini{display:none}}
.mini[hidden]{display:none}
table.simple{border-collapse:collapse;width:100%;font-size:.95rem;margin:8px 0 18px}
table.simple th,table.simple td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
table.simple th{background:var(--bg-soft);color:var(--navy-2)}
.table-scroll{overflow-x:auto}
@media print{.site-header,.site-footer,.mobile-bar,.no-print,.page-hero .crumbs{display:none!important}}
.page-wide #spo-cal{margin-left:-20px;margin-right:-20px}#spo-cal .layout>*{min-width:0}
.calc-form [hidden],.calc-side [hidden]{display:none!important}
