*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 var(--step-0)/1.65 var(--font-body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--font-head);line-height:1.12;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}
h1{font-size:var(--step-4)} h2{font-size:var(--step-3)} h3{font-size:var(--step-1)}
p{margin:0 0 1em} a{color:inherit}
[id]{scroll-margin-top:calc(var(--header-h) + 12px)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:4px}
.site-header:not(.is-solid) :focus-visible,.hero :focus-visible,.band :focus-visible,.section--teal :focus-visible,.site-footer :focus-visible{outline-color:var(--accent-soft)}
.container{width:min(1180px,100% - 2rem);margin-inline:auto}
.section{padding-block:var(--space);position:relative}
.section--sand{background:var(--tint)} .section--teal{background:var(--navy);color:var(--white)}
.eyebrow{font:600 var(--step--1)/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:1rem;display:block}
.hero .eyebrow,.band .eyebrow,.section--teal .eyebrow{color:var(--accent-soft)}
.lead{font-size:var(--step-1);color:var(--muted);max-width:60ch}
.section--teal .lead,.hero .lead{color:rgba(255,255,255,.88)}
.center{text-align:center}.center .lead{margin-inline:auto}
.btn{display:inline-flex;gap:.6rem;align-items:center;justify-content:center;padding:.65rem 1.25rem;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid transparent;transition:transform .25s,box-shadow .25s,background .25s;cursor:pointer;font-size:.95rem;font-family:inherit;text-align:center}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn--gold{background:var(--accent);color:#fff}.btn--gold:hover{background:var(--accent-ink)} .btn--ghost{border-color:currentColor;color:inherit;background:transparent}
.btn--wa{background:var(--wa);color:#06361a}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.grid{display:grid;gap:1.5rem} .grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.js-off .reveal,.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
