/* Base + tokens */
:root{--bg:#fff;--text:#000;--hero:#E0F8D4;--card:#F5C87E}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;background:#000;color:#fff;padding:.5rem 1rem;z-index:1000}
.container{width:min(1100px,92vw);margin:0 auto}

.header{position:sticky;top:0;z-index:999;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:.75rem 4vw;border-bottom:1px solid rgba(0,0,0,.06)}
.logo{height:36px;width:auto;display:block}.logo-link{display:inline-flex;align-items:center;gap:.5rem}
.burger{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border:0;padding:.25rem;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:#000}
.nav{position:fixed;inset:56px 0 auto 0;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);display:flex;gap:1rem;padding:1rem 4vw}
.nav a{text-decoration:none;color:#000;font-weight:400}
@media (min-width:860px){.burger{display:none}.nav{position:static;display:flex!important;border:0;padding:0}}

.hero{background:var(--hero);color:#000;padding:clamp(3rem,8vw,7rem) 4vw}
.hero h1{font-weight:900;letter-spacing:-.01em;font-size:clamp(1.8rem,5.5vw,3rem);max-width:28ch;margin:0 0 1.25rem 0}
.btn.cta{display:inline-block;text-decoration:none;color:#000;background:#fff;border:1px solid #000;padding:.75rem 1rem;border-radius:999px;font-weight:400}

.about{background:#E0F8D4;color:#000;padding:clamp(2rem,6vw,4rem) 4vw}
.about h2{font-weight:400;margin:0 0 .75rem 0}
.about .about-body{margin:.5rem 0;font-weight:200}

.services{padding:clamp(2rem,6vw,4rem) 4vw}
.services h2{font-size:clamp(1.4rem,4.5vw,2rem);margin:0 0 1rem 0;font-weight:400}
.service-group{margin:1.25rem 0 2rem 0}
.service-group h3{font-weight:400;margin:.5rem 0 1rem 0}
.card{background:var(--card);padding:1rem;border-radius:12px;margin:.75rem 0}
.card h4{margin:0 0 .35rem 0;font-weight:400}
.card p{margin:0;font-weight:200}

.footer{background:#000;border-top:1px solid rgba(255,255,255,.12);padding:clamp(2rem,6vw,4rem) 4vw;color:#fff}
.footer h2{font-weight:400;margin:0 0 .75rem 0;color:#fff}
.footer .blurb{margin:.25rem 0 1rem 0;font-weight:200;color:#fff}
.contact-list{list-style:none;padding:0;margin:0 0 1rem 0}
.contact-list li{margin:.25rem 0;color:#fff}
.footer a{color:#fff;text-decoration:none}
.socials{display:flex;gap:.75rem;margin:.5rem 0 1rem 0}
.icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid #fff;color:#fff}
.icon svg{width:20px;height:20px;display:block;fill:currentColor}
.legal{font-size:.9rem;opacity:.9;color:#fff}

/* Fade-in safety overrides */
.fade-in{opacity:1;transform:none}
.js .fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.js .fade-in.visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.js .fade-in{opacity:1!important;transform:none!important;transition:none!important}}

/* Accessibility */
:focus-visible{outline:2px solid Highlight;outline-offset:2px}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
