/* Graves refine layer (2026-11-12). Loaded last from head.php.
   normalize.css zeroes every p/h margin, so text blocks ran together.
   This restores a consistent vertical rhythm and evens out type sizes. */

/* ---------- Vertical rhythm ---------- */
main :is(p,ul,ol,address,blockquote,table,.gr-table-scroll,.gr-actions,figure)+:is(p,ul,ol,address,blockquote,.gr-table-scroll,.gr-actions){margin-top:1em}
main :is(h2,h3,h4)+:is(p,ul,ol,address,.gr-table-scroll,.gr-actions){margin-top:.7em}
main :is(p:not(.gr-eyebrow,.gr-card-topic),ul,ol,address,.gr-table-scroll,.gr-actions,figure,table)+:is(h2,h3,h4){margin-top:1.6em}
main :is(p,ul,ol,.gr-table-scroll)+a.gr-button{display:inline-block;margin-top:1.4em}
main :is(ul,ol):not([class]) li+li{margin-top:.45em}
:root main address{line-height:1.8}

/* ---------- Headings: real 600 weight, tighter tracking ---------- */
:root main :is(h1,h2){letter-spacing:-.015em}
:root main h3{line-height:1.35}

/* ---------- Eyebrows: one size, one tracking everywhere ---------- */
:root main .gr-eyebrow{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}

/* ---------- Readable card text (was 13.6-14px) ---------- */
:root main :is(.gr-card,.gr-service-card,.gr-steps li,.gr-panel) p{font-size:15px;line-height:1.7}
:root main .gr-source{font-size:14px;color:#4d6072}

/* Project / article cards: space between topic, title, text, meta and link */
:root main .gr-card>div{display:flex;flex-direction:column;gap:10px;padding:26px 26px 28px}
:root main .gr-card>div>*{margin:0}
:root main .gr-card .gr-card-topic{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4a6a86}
:root main .gr-card h3{font-size:21px;line-height:1.32}
:root main .gr-card h3 a{color:inherit}
:root main .gr-card .gr-read-link{margin-top:auto;padding-top:6px;font-weight:600}
:root main .gr-card figcaption{font-size:12px;line-height:1.55;color:#4d6072;padding:12px 26px 0}
:root main .gr-card-grid+:is(p,.gr-actions,a.gr-button){margin-top:36px}
:root main .gr-card-grid+a.gr-button{display:inline-block}

/* Service / step cards */
:root main .gr-service-card h3+p,:root main .gr-steps h3+p{margin-top:10px}
:root main .gr-steps li{padding:26px}

/* ---------- Side panels ---------- */
:root main .gr-panel{padding:36px}
:root main .gr-panel>*+*{margin-top:.9em}

/* ---------- CTA band ---------- */
:root main .gr-cta{padding:56px}
:root main .gr-cta h2+p{margin-top:16px}
:root main .gr-cta p{font-size:17px;line-height:1.7;max-width:62ch}
:root main .gr-cta .gr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
:root main .gr-cta .gr-actions+p{margin-top:18px;font-size:15px}

/* ---------- FAQ disclosures ---------- */
:root main details:not(.gr-services)>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:17px;font-weight:500;line-height:1.5;padding:4px 0}
:root main details:not(.gr-services)>summary::-webkit-details-marker{display:none}
:root main details:not(.gr-services)>summary::after{content:'+';flex:none;font-size:24px;font-weight:400;line-height:1;color:#2b5c90;transition:transform .2s}
:root main details[open]:not(.gr-services)>summary::after{transform:rotate(45deg)}
:root main details:not(.gr-services)>summary+*{margin-top:12px}

/* ---------- Body copy: a touch larger on desktop for easier reading ---------- */
@media (min-width:768px){
  :root main :is(section,article)>:is(p,ul,ol):not(.gr-eyebrow,.gr-source),
  :root main :is(section,article)>div>:is(p,ul,ol):not(.gr-eyebrow,.gr-source){font-size:17px;line-height:1.75}
}

/* ---------- Articles: tiny meta text (10-12px) raised to readable sizes ---------- */
:root main .gr-byline,:root main .gr-publisher{font-size:13px!important}
:root main .gr-pub-kicker{font-size:11px!important}
:root main.gr-publishing figcaption,:root main .gr-publishing figcaption{font-size:12.5px;line-height:1.6}
:root main .gr-contents li,:root main.gr-publishing .gr-contents a{font-size:13.5px;line-height:1.6}
:root main .gr-contents li+li{margin-top:0}

/* ---------- In-article guide links ---------- */
:root main .gr-see-also{margin-top:18px;padding:12px 16px;border-left:3px solid #2b5c90;background:#f4f8fb;border-radius:0 8px 8px 0;font-size:15px;font-weight:500}

/* ---------- Tables ---------- */
:root main :is(th,td){font-size:15px;line-height:1.6}

/* ---------- Footer ---------- */
:root .gr-footer :is(a,p,li){font-size:15px}
:root .gr-footer p+p{margin-top:12px}

@media (max-width:767px){
  :root main .gr-cta{padding:32px 24px}
  :root main .gr-panel{padding:26px}
  :root main .gr-card>div{padding:22px}
  :root main .gr-card figcaption{padding:12px 22px 0}
}
