/* Reset and typography. All values come from the :root variables emitted by config/theme.php. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:calc(var(--header-h) + 12px)} /* in-page anchors land below the sticky header */
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto} /* height:auto so width/height attributes reserve space but never override CSS aspect-ratio */
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0}
h1,h2{font-family:var(--head);font-weight:400;letter-spacing:.015em;line-height:.98}
h1{font-size:clamp(2.9rem,6.5vw,4.8rem)}
h2{font-size:clamp(2.1rem,4.2vw,3.1rem)}
h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
p{margin:0}
.muted{color:var(--ink-2)}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.rule{height:4px;width:56px;background:var(--accent);border-radius:2px;margin-bottom:18px}
/* Check-mark list: hero bullets, service "included" and "signs" lists. */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.checks li{padding-left:28px;position:relative;font-weight:500}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--accent-soft)}
.checks li::after{content:"";position:absolute;left:6px;top:7px;width:5px;height:8px;border:solid var(--accent-text);border-width:0 2px 2px 0;transform:rotate(45deg)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
