:root {
  --navy:#061827; --navy-2:#0b2639; --ink:#102235; --muted:#526375; --teal:#0f766e; --teal-dark:#0b5f59; --mint:#d9f4ef; --paper:#fff; --soft:#f4f7f8; --line:#d9e2e6; --amber:#9a6516; --red:#9f3434; --max:1180px;
  --font-serif:"Source Serif 4",Georgia,"Times New Roman",Times,serif;
  --font-ui:"Source Sans 3","Segoe UI",system-ui,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--font-serif); line-height:1.6; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
.site-header,.button,.eyebrow,.kicker,.header-cta,.trust-row,.check-controls label,.field,.traffic-card > span,.framework-grid span,.footer-links,.form-status { font-family:var(--font-ui); }
h1,h2,h3,h4 { font-family:var(--font-serif); font-weight:600; }
:focus-visible { outline:3px solid #35b9aa; outline-offset:3px; }
.skip { position:absolute; left:-999px; top:8px; z-index:100; padding:10px 14px; background:white; color:var(--navy); }
.skip:focus { left:8px; }
.site-header { position:sticky; top:0; z-index:40; min-height:72px; padding:10px max(22px,calc((100vw - var(--max))/2)); display:flex; align-items:center; justify-content:space-between; gap:24px; color:#eaf2f5; background:rgba(6,24,39,.98); border-bottom:1px solid #284153; }
.brand { display:flex; align-items:center; gap:11px; min-width:180px; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:6px; color:white; background:var(--teal); font-weight:900; }
.brand strong,.brand small { display:block; }
.brand small { color:#aebdc8; font-size:.72rem; }
.site-header nav { display:flex; gap:21px; color:#c4d0d8; font-size:.86rem; }
.site-header nav a:hover { color:white; }
.header-cta { padding:9px 13px; border:1px solid #3e796f; border-radius:6px; font-size:.83rem; font-weight:800; }
.hero { padding:76px max(22px,calc((100vw - var(--max))/2)); display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,500px); gap:56px; align-items:center; background:var(--navy); color:white; }
.eyebrow,.kicker { margin:0 0 12px; color:#54caba; font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
h1,h2,h3,h4,p { margin-top:0; }
h1 { max-width:720px; margin-bottom:22px; font-size:3.35rem; line-height:1.12; letter-spacing:-0.02em; }
.lead { max-width:650px; color:#d3dee5; font-size:1.12rem; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.button { min-height:46px; padding:11px 16px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; border-radius:6px; cursor:pointer; font-weight:800; }
.button.primary { color:#031c1a; background:#18a999; }
.button.primary:hover { background:#2ec0b0; }
.button.secondary { color:white; background:#102b3d; border-color:#3a5263; }
.button.light { color:var(--navy); background:white; border-color:#b9c8ce; }
.button.full { width:100%; }
.trust-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; color:#b9c7d1; font-size:.78rem; }
.trust-row span { padding:7px 9px; border:1px solid #294556; border-radius:4px; }
.boundary-summary { padding:22px; border:1px solid #395365; border-radius:8px; background:#0a2132; }
.boundary-summary h2 { margin:0 0 8px; color:white; font-size:1.35rem; }
.boundary-summary > p { margin-bottom:16px; color:#b9c8d2; font-size:.86rem; }
.route-mini { padding:13px 0; border-top:1px solid #294556; }
.route-mini:first-of-type { border-top:0; }
.route-mini strong { display:block; font-size:.87rem; }
.route-mini p { margin:3px 0 0; color:#cad9e0; font-size:.78rem; line-height:1.45; }
.route-green strong { color:#73dcaa; }.route-amber strong { color:#f0bf68; }.route-red strong { color:#f28b8b; }
.section { padding:80px max(22px,calc((100vw - var(--max))/2)); }
.muted-band { background:var(--soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-heading { max-width:800px; margin-bottom:34px; }
.section-heading h2 { margin-bottom:14px; color:var(--navy); font-size:2.8rem; line-height:1.08; }
.section-heading > p:last-child { color:var(--muted); font-size:1.02rem; }
.traffic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.traffic-card { min-width:0; padding:23px; border:1px solid var(--line); border-top:4px solid #84939d; border-radius:8px; background:white; }
.traffic-card.green { border-top-color:#198754; }.traffic-card.amber { border-top-color:#b7791f; }.traffic-card.red { border-top-color:#b64848; }
.traffic-card > span { display:block; margin-bottom:18px; color:#536674; font-size:.72rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.traffic-card.green > span { color:#176c46; }.traffic-card.amber > span { color:#8c5a12; }.traffic-card.red > span { color:#963b3b; }
.traffic-card h3 { margin-bottom:10px; color:var(--navy); font-size:1.18rem; }
.traffic-card p { margin-bottom:0; color:var(--muted); font-size:.88rem; }
.traffic-card .example { min-height:65px; margin-bottom:14px; color:#253d4d; font-weight:700; }
.boundary-check { display:grid; grid-template-columns:.95fr 1.05fr; gap:28px; padding:28px; border:1px solid var(--line); border-radius:8px; background:white; }
.boundary-check h3 { margin-bottom:10px; color:var(--navy); font-size:1.38rem; }
.boundary-check p { color:var(--muted); }
.check-controls { display:grid; gap:12px; }
.check-controls label { display:grid; gap:6px; color:#2e4354; font-size:.82rem; font-weight:800; }
.check-controls select { width:100%; padding:11px 12px; border:1px solid #bdcbd1; border-radius:5px; color:var(--ink); background:white; }
.check-result { margin-top:18px; padding:17px; border-left:3px solid var(--teal); background:#eef8f6; }
.check-result strong,.check-result p { display:block; }.check-result p { margin:5px 0 0; color:#35505e; font-size:.87rem; }
.note { padding:16px 18px; border-left:3px solid #b7791f; background:#fff8e8; color:#654d24; font-size:.85rem; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cards.two { grid-template-columns:repeat(2,1fr); }
.cards.follow { margin-top:14px; }
.card { padding:22px; border:1px solid var(--line); border-radius:8px; background:white; }
.plain-list { margin:10px 0 0; padding-left:1.15rem; color:var(--muted); font-size:.88rem; }
.plain-list li { margin-bottom:7px; }
.checklist-panel { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:28px; margin-top:22px; border:1px solid var(--line); border-radius:8px; background:white; }
.checklist-panel p { margin:0; color:var(--muted); }
.checklist-panel strong { display:block; margin-bottom:5px; color:var(--navy); }
.card h3 { margin-bottom:9px; color:var(--navy); font-size:1.15rem; }.card p { margin:0; color:var(--muted); font-size:.88rem; }
.framework-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.framework-grid article { padding:20px; border-left:3px solid var(--teal); background:var(--soft); }
.framework-grid span { color:var(--teal); font-size:.7rem; font-weight:900; }.framework-grid h3 { margin:7px 0; color:var(--navy); font-size:1.04rem; }.framework-grid p { margin:0; color:var(--muted); font-size:.8rem; }
.scope-band { background:var(--navy); color:white; }.scope-band .section-heading h2 { color:white; }.scope-band .section-heading > p:last-child { color:#cbd7de; }
.scope-panel { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:28px; border:1px solid #355466; border-radius:8px; background:#0b2334; }.scope-panel p { margin:0; color:#d3dee5; }
.scope-panel strong { display:block; margin-bottom:5px; }
.founder { margin:18px 0 0; max-width:820px; color:#d3dee5; font-size:.9rem; }
.page-hero { padding:74px max(22px,calc((100vw - var(--max))/2)); background:var(--navy); color:white; }.page-hero h1 { font-size:3.5rem; }.page-hero p { max-width:730px; color:#d5e0e5; font-size:1.08rem; }
.scope-form { max-width:760px; padding:28px; border:1px solid var(--line); border-radius:8px; background:white; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.field { display:grid; gap:6px; margin-bottom:15px; color:#2e4354; font-size:.82rem; font-weight:800; }.field input,.field select { width:100%; padding:11px; border:1px solid #bdcbd1; border-radius:5px; color:var(--ink); background:white; }.form-status { display:none; margin-top:14px; padding:14px; border-radius:5px; }.form-status[data-state="success"] { display:block; color:#175c3f; background:#e6f6ee; }.form-status[data-state="error"] { display:block; color:#7c2e2e; background:#fbeaea; }.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.privacy-copy { max-width:800px; }.privacy-copy h2 { margin-top:36px; color:var(--navy); font-size:1.5rem; }.privacy-copy p,.privacy-copy li { color:var(--muted); }.privacy-copy li { margin-bottom:8px; }
footer { padding:34px max(22px,calc((100vw - var(--max))/2)); display:flex; justify-content:space-between; gap:30px; color:#bac8d1; background:#04131f; }.footer-brand { display:flex; gap:12px; align-items:center; }.footer-brand p { margin:2px 0 0; max-width:430px; font-size:.76rem; }.footer-meta { max-width:560px; font-size:.76rem; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }
.footer-links a { color:#d5e0e7; text-decoration:underline; text-underline-offset:2px; }
/* Canonical SEO content pages (article-page): scoped teal accent, no global --teal change. */
.article-page { --accent:#12A588; --accent-dark:#0e8a70; }
.article-page main { font-family:var(--font-ui); }
.related-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.related-links a { font-family:var(--font-ui); padding:9px 13px; border:1px solid #345061; border-radius:6px; color:#eaf2f5; font-size:.86rem; font-weight:700; background:#0a2132; }
.related-links a:hover { border-color:var(--accent); color:#fff; }
.article-body { max-width:800px; }
.article-body h2 { margin:42px 0 12px; color:var(--navy); font-size:1.95rem; line-height:1.15; }
.article-body h2:first-child { margin-top:0; }
.article-body h3 { margin:24px 0 8px; color:var(--ink); font-size:1.2rem; }
.article-body p,.article-body li { color:#33404d; font-size:1.02rem; line-height:1.72; }
.article-body ul,.article-body ol { margin:10px 0 0; padding-left:1.2rem; }
.article-body li { margin-bottom:8px; }
.article-body a { color:var(--accent-dark); text-decoration:underline; text-underline-offset:2px; }
.article-body a:hover { color:var(--accent); }
.faq { max-width:820px; }
.faq details { margin-bottom:10px; padding:16px 18px; border:1px solid var(--line); border-radius:8px; background:white; }
.faq details[open] { border-color:var(--accent); }
.faq summary { font-family:var(--font-ui); color:var(--navy); font-weight:800; font-size:1.02rem; cursor:pointer; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq details p { margin:10px 0 0; color:var(--muted); font-size:.94rem; }
.sources { max-width:820px; margin:22px 0 0; padding-left:1.2rem; color:var(--muted); font-size:.85rem; }
.sources li { margin-bottom:8px; }
.sources a { color:var(--accent-dark); text-decoration:underline; }
@media (max-width:940px) { .site-header nav { display:none; }.hero,.boundary-check,.checklist-panel { grid-template-columns:1fr; }.hero { gap:38px; }.traffic-grid,.cards,.cards.two { grid-template-columns:1fr; }.framework-grid { grid-template-columns:1fr 1fr; }.scope-panel { grid-template-columns:1fr; }.page-hero h1 { font-size:3rem; } }
@media (max-width:620px) { .site-header { min-height:64px; padding-left:18px; padding-right:18px; }.brand small { display:none; }.header-cta { font-size:.72rem; }.hero,.page-hero { padding:48px 18px; }h1,.page-hero h1 { font-size:2.5rem; line-height:1.05; }.hero-actions .button { width:100%; }.section { padding:62px 18px; }.section-heading h2 { font-size:2.1rem; }.framework-grid,.form-grid { grid-template-columns:1fr; }footer { flex-direction:column; } }
