/* Foundation: tokens, type and accessibility. Global values remain editable in theme.json. */
:root { --km-navy:var(--wp--preset--color--navy,#08243b); --km-gold:var(--wp--preset--color--gold,#ffc21d); --km-paper:var(--wp--preset--color--paper,#f7f8fa); --km-muted:var(--wp--preset--color--muted,#526071); --km-line:#dce1e7; --km-radius:12px; --km-container:1200px; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:1.5rem; }
body { margin:0; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; }
button,input,textarea,select { font:inherit; }
a { text-underline-offset:.25em; text-decoration-thickness:1px; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #2477c7; outline-offset:5px; }
.km-hero :focus-visible,.km-demo :focus-visible,.km-footer :focus-visible { outline-color:var(--km-gold); }
.wp-site-blocks > *,.km-main > *,.km-main .wp-block-post-content > * { margin-block-start:0; margin-block-end:0; }
.km-container { width:min(var(--km-container), calc(100% - 96px)); margin-inline:auto; }
.km-container .wp-block-group { min-width:0; }
.km-container .wp-block-heading { overflow-wrap:anywhere; }
.km-hero-grid > .wp-block-group,.km-showcase > .wp-block-group,
.km-benefit-grid > .wp-block-group,.km-feature-grid > .wp-block-group,
.km-implementation-grid > .wp-block-group,.km-faq-grid > .wp-block-group,
.km-demo-grid > .wp-block-group,.km-footer-grid > .wp-block-group { margin-block:0; }
.km-section { padding-block:clamp(3.25rem,5vw,4.75rem); }
.km-section p { color:var(--km-muted); }
.km-section h2 { margin:0 0 1.4rem; font-size:clamp(2rem,3.7vw,3.2rem); }
.km-section h3 { margin:0 0 .8rem; font-size:1.35rem; line-height:1.25; letter-spacing:-.025em; }
.km-section p { margin:0 0 1.25rem; }
.km-eyebrow { font-size:.7rem; line-height:1.6; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:1.4rem!important; }
.km-section .km-eyebrow { color:#6b542d; }
.km-section .km-lead { font-size:1.125rem; line-height:1.8; }
.km-section-intro { max-width:570px; }
.km-section-copy { max-width:620px; }
.km-interior { min-height:65vh; padding-block:5rem; }
.km-page-content { max-width:850px; }
.km-page-content h1 { font-size:clamp(2.5rem,5vw,4rem); }
.km-asset-note { font-size:.75rem; color:#657080; line-height:1.6; }
.wp-block-details > summary { cursor:pointer; }
.wp-block-details > summary:focus-visible { outline-offset:3px; }
.screen-reader-text:focus,.skip-link:focus { z-index:100000; }
@media (max-width:1024px) { .km-container { width:calc(100% - 64px); } }
@media (max-width:600px) { .km-container { width:calc(100% - 40px); } .km-section h2 br { display:none; } .km-eyebrow { font-size:.65rem; letter-spacing:.12em; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
