/* Editorial pages share the calculator's colours and typefaces. */
.site-root { width:100%; max-width:1280px; }
.guide-shell { width:100%; max-width:1120px; margin:0 auto; }
.guide-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:18px 0 42px; border-bottom:1px solid var(--color-border); }
.guide-logo { font:700 28px var(--font-heading); color:var(--color-text-main); text-decoration:none; }
.guide-logo span { color:var(--accent-indigo); }
.guide-header nav,.guide-link-row,.language-links { display:flex; flex-wrap:wrap; gap:14px 22px; }
.guide-header nav a,.guide-footer a,.guide-link-row a,.language-links a { color:var(--color-text-muted); font-size:14px; text-decoration:none; }
.guide-header nav a:hover,.guide-footer a:hover,.guide-link-row a:hover,.language-links a:hover { color:var(--accent-indigo); text-decoration:underline; }
.guide-hero { padding:64px 0 40px; max-width:860px; }
.eyebrow { color:var(--accent-indigo); font-weight:600; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.guide-hero h1 { font:600 clamp(34px,5vw,58px)/1.08 var(--font-heading); letter-spacing:-.035em; margin-bottom:24px; }
.guide-intro { font-size:19px; line-height:1.7; color:var(--color-text-muted); }
.byline { margin-top:20px; font-size:13px; color:var(--color-text-muted); }
.guide-shell h2,.resource-section h2 { font:600 clamp(24px,3vw,32px)/1.2 var(--font-heading); margin-bottom:18px; }
.guide-shell h3 { font:600 23px/1.3 var(--font-heading); margin:0 0 14px; }
.article-body { max-width:800px; }
.article-body section,.guide-section,.guide-faq { margin:44px 0; }
.article-body p,.guide-section>p,.guide-faq p,.neaptide-prices p,.scenario-calculator p,.example-card p { line-height:1.75; color:var(--color-text-muted); margin:0 0 16px; }
.article-body a,.example-card a,.estimate-note a,.estimate-disclosure+a { color:var(--accent-indigo); text-underline-offset:4px; }
.article-body ol,.article-body ul { padding-left:24px; line-height:1.8; color:var(--color-text-muted); }
.article-body li { padding:5px 0; }
.scenario-calculator { background:var(--color-bg-panel); border:1px solid var(--color-border); border-radius:24px; padding:32px; margin:16px 0 44px; }
.scenario-controls { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0; }
.scenario-controls label,.budget-inputs label { display:flex; flex-direction:column; gap:10px; font-weight:500; font-size:14px; }
.scenario-controls select,.budget-inputs input { font:inherit; padding:13px 15px; border:1px solid var(--color-border-active); border-radius:10px; background:var(--color-bg); color:var(--color-text-main); min-width:0; width:100%; }
.feature-options { border:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature-options legend { font-weight:600; margin-bottom:18px; }
.feature-options label { display:flex; align-items:center; gap:9px; font-size:14px; line-height:1.4; }
.feature-options input { appearance:auto; width:18px; height:18px; accent-color:var(--accent-indigo); flex-shrink:0; }
.estimate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0 20px; }
.estimate-grid>div { background:var(--color-bg-inner); padding:22px; border:1px solid var(--color-border); border-radius:14px; }
.estimate-grid span { color:var(--color-text-muted); font-size:13px; }
.estimate-grid strong { display:block; margin-top:10px; font:600 clamp(25px,3vw,38px) var(--font-heading); letter-spacing:-.025em; }
.estimate-note,.estimate-disclosure { font-size:13px; line-height:1.7; color:var(--color-text-muted); margin:20px 0; }
.guide-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.guide-actions .btn,.neaptide-prices .btn { padding:14px 20px; font-size:14px; text-decoration:none; min-height:46px; }
.text-button { background:none; border:0; color:var(--accent-indigo); cursor:pointer; font:inherit; font-size:14px; padding:12px; text-decoration:underline; text-underline-offset:4px; }
.share-status { overflow-wrap:anywhere; font-size:13px; margin-top:10px!important; }
.scenario-examples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:24px 0; }
.example-card { padding:28px; border:1px solid var(--color-border); border-radius:18px; background:var(--color-bg-card); scroll-margin-top:30px; }
.example-card>p { font-size:15px; }
.example-totals { border-top:1px solid var(--color-border); padding-top:16px; margin:20px 0; }
.example-totals div { display:flex; justify-content:space-between; gap:20px; padding:7px 0; }
.example-totals dt { color:var(--color-text-muted); }
.example-totals dd { font-weight:600; font-variant-numeric:tabular-nums; }
.guide-faq details { border-bottom:1px solid var(--color-border); padding:18px 0; }
.guide-faq summary { font-size:17px; font-weight:600; cursor:pointer; line-height:1.6; }
.guide-faq details p { margin:16px 0 0; max-width:800px; }
.neaptide-prices { padding:36px; margin:48px 0; border:1px solid var(--color-border-active); border-radius:22px; background:var(--featured-agency-bg); }
.starting-prices { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:24px 0; }
.starting-prices dt { color:var(--color-text-muted); font-size:14px; margin-bottom:10px; }
.starting-prices dd { font:600 clamp(23px,3vw,34px) var(--font-heading); }
.resource-links { margin:48px 0; padding-top:38px; border-top:1px solid var(--color-border); }
.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; }
.resource-card { display:flex; flex-direction:column; gap:12px; padding:22px; background:var(--color-bg-card); border:1px solid var(--color-border); border-radius:14px; text-decoration:none; color:var(--color-text-main); transition:border-color .2s; }
.resource-card:hover { border-color:var(--accent-indigo); }
.resource-card strong { font:600 20px/1.3 var(--font-heading); }
.resource-card span { color:var(--color-text-muted); font-size:14px; line-height:1.5; }
.resource-section { max-width:1120px; margin:30px auto; }
.guide-footer { padding:26px 0; border-top:1px solid var(--color-border); color:var(--color-text-muted); font-size:13px; line-height:1.7; display:flex; flex-wrap:wrap; gap:12px 24px; }
.guide-footer p { flex-basis:100%; }
.language-links { justify-content:center; padding:24px 0; }
.formula { padding:22px; margin:22px 0; background:var(--color-bg-inner); border-left:3px solid var(--accent-indigo); line-height:1.9; overflow-wrap:anywhere; }
.table-scroll { overflow-x:auto; margin:24px 0; border:1px solid var(--color-border); border-radius:14px; }
.guide-shell table { width:100%; border-collapse:collapse; text-align:left; font-size:15px; }
.guide-shell th { background:var(--color-bg-inner); font-weight:600; }
.guide-shell th,.guide-shell td { padding:15px 18px; border-bottom:1px solid var(--color-border); line-height:1.6; }
.guide-shell td { color:var(--color-text-muted); }
.budget-inputs { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:22px 0; }
.budget-total { display:flex; flex-direction:column; gap:12px; padding:24px; background:var(--color-bg-inner); border-radius:14px; }
.budget-total strong { font:600 38px var(--font-heading); }
.budget-total span:last-child { font-size:13px; color:var(--color-text-muted); }
#calculatorLoadStatus { padding:20px; text-align:center; }
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid var(--accent-indigo); outline-offset:4px; }
@media(max-width:720px) { .guide-header { align-items:flex-start; flex-direction:column; padding-bottom:24px; gap:20px; }.guide-header nav{gap:14px}.guide-hero{padding-top:38px}.scenario-calculator,.neaptide-prices{padding:22px}.scenario-controls,.budget-inputs,.scenario-examples{grid-template-columns:1fr}.feature-options{grid-template-columns:1fr 1fr}.estimate-grid{grid-template-columns:1fr}.estimate-grid>div{display:flex;justify-content:space-between;align-items:center}.estimate-grid strong{margin:0}.resource-grid{grid-template-columns:1fr 1fr}.starting-prices{grid-template-columns:1fr;gap:14px}.starting-prices>div{display:flex;justify-content:space-between;align-items:center}.starting-prices dt{margin:0}.guide-actions{align-items:stretch;flex-direction:column}.guide-actions .btn{text-align:center}.guide-intro{font-size:17px} }
@media(max-width:420px){.resource-grid{grid-template-columns:1fr}.feature-options{grid-template-columns:1fr}.starting-prices>div{align-items:flex-start;gap:8px;flex-direction:column}.guide-header nav{font-size:13px}.example-card{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
