:root { --ink:#163936; --soft:#405c56; --teal:#086f60; --paper:#fbfaf6; --border:#d8e5dc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font:16px/1.7 'DM Sans',Arial,sans-serif; background:var(--paper); color:var(--ink); }
a { color:var(--teal); text-underline-offset:3px; }
a:focus-visible { outline:3px solid #d78759; outline-offset:3px; }
header,footer { background:#fff; border-bottom:1px solid var(--border); padding:18px max(24px,calc((100% - 960px)/2)); display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
footer { border-bottom:0; border-top:1px solid var(--border); margin-top:56px; }
header a.logo { font:700 22px 'Space Grotesk',Arial,sans-serif; text-decoration:none; letter-spacing:-.06em; color:var(--ink); }
header a.logo span { color:#15987c; }
header nav,footer nav { display:flex; gap:18px; flex-wrap:wrap; font-weight:700; font-size:15px; }
main { max-width:840px; padding:52px 24px 40px; margin:auto; }
.eyebrow { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; color:var(--teal); }
h1,h2 { font-family:'Space Grotesk',Arial,sans-serif; line-height:1.18; letter-spacing:-.035em; }
h1 { font-size:clamp(2.2rem,5vw,3.4rem); margin:12px 0; }
h2 { font-size:1.48rem; margin:34px 0 12px; }
p,li { color:var(--soft); }
li { padding-left:4px; margin-bottom:7px; }
.lead { font-size:1.12rem; }
.notice { background:#fff2d9; border:2px solid #e3ac61; color:#54350d; border-radius:12px; padding:18px 22px; margin:28px 0 36px; }
.notice strong { display:block; font-size:1.08rem; }
.notice p { margin:6px 0 0; color:#54350d; }
.review { background:#f1f6f2; border-left:4px solid var(--teal); padding:15px 18px; border-radius:0 8px 8px 0; }
.review strong { color:#164d42; }
@media(max-width:600px) { header,footer { padding:18px 24px; } main { padding-top:34px; } }