:root{--ink:#14232b;--muted:#53646d;--teal:#0f5c63;--teal2:#14808a;--mint:#e8f4f3;--bg:#fbfcfc;--line:#dce7e8;--r:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--teal)}h1,h2,h3{line-height:1.2;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.4vw,3.2rem)}h2{font-size:clamp(1.5rem,2.6vw,2rem)}h3{font-size:1.15rem}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.narrow{max-width:820px}
sup{font-size:.55em}
.ph{background:#fff3b0;color:#5b4300;border:1px dashed #d4a900;border-radius:4px;padding:0 .25em}
.ph.supplied{background:#e3efff;color:#173d73;border-color:#7da7e0}
/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;height:68px}
.logo{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}
.logo small{display:block;font-size:.72rem;color:var(--muted);line-height:1}.logo b{display:block;line-height:1.2}
.mark{width:38px;height:38px;border-radius:10px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem}
#nav{display:flex;gap:16px;margin-left:auto}#nav a{text-decoration:none;color:var(--muted);font-size:.88rem;font-weight:500}
#nav a[aria-current],#nav a:hover{color:var(--teal)}
.menu{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font:inherit;font-size:.9rem}
.btn{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;font-weight:600;padding:14px 26px;border-radius:999px;border:0;font-size:1rem;cursor:pointer;transition:.2s;box-shadow:0 6px 18px rgba(15,92,99,.22)}
.btn:hover{background:var(--teal2);transform:translateY(-1px)}.btn.sm{padding:9px 18px;font-size:.88rem;white-space:nowrap}
.btn.ghost{background:#fff;color:var(--teal);border:1.5px solid var(--teal);box-shadow:none}
.btn.light{background:#fff;color:var(--teal)}
.link{font-weight:600;text-decoration:none;align-self:center}
/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,#d5ecea,transparent),linear-gradient(#fff,var(--bg));padding:56px 0 48px;border-bottom:1px solid var(--line)}
.herogrid{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--teal2);margin:0 0 12px}
.lead{font-size:1.15rem;color:var(--muted);max-width:40em}
.ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0 26px}
.benefits{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.benefits li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px 12px 40px;font-size:.92rem;color:var(--muted);position:relative}
.benefits li:before{content:"";position:absolute;left:14px;top:17px;width:14px;height:14px;border-radius:50%;background:var(--teal2);box-shadow:inset 0 0 0 4px #c9e8e5}
.benefits strong{color:var(--ink);display:block}
.imgph,.heroart{margin:0;aspect-ratio:4/5;border-radius:24px;background:linear-gradient(145deg,#e2f1ef,#c8e2df);display:grid;place-items:center;align-content:center;gap:14px;padding:24px;text-align:center;border:1px solid var(--line)}
.heroart{aspect-ratio:1}
.imgph svg,.heroart svg,.ic svg{width:40%;fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.imgph figcaption{font-size:.85rem}
/* cards */
.cards{padding:56px 0}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,35,43,.08);border-color:#b7d6d6}
.card p{color:var(--muted);font-size:.93rem;flex:1}.more{font-weight:600;color:var(--teal);font-size:.92rem}
.ic{width:52px;height:52px;border-radius:14px;background:var(--mint);display:grid;place-items:center;margin-bottom:14px}.ic svg{width:30px}
/* blocks */
.block{padding:56px 0}.block.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px}
.steps li{counter-increment:s;position:relative;padding:14px 16px 14px 62px;background:var(--bg);border:1px solid var(--line);border-radius:12px}
.block:not(.alt) .steps li{background:#fff}
.steps li:before{content:counter(s);position:absolute;left:16px;top:13px;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.feat{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.feat li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.feat strong{display:block}
.ticks{list-style:none;padding:0}.ticks li{padding-left:30px;position:relative;margin:6px 0}
.ticks li:before{content:"✓";position:absolute;left:0;color:var(--teal2);font-weight:700}
.cred{border-left:3px solid var(--teal2);padding-left:14px}
.faq{padding:56px 0}details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:0 18px}
summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;position:relative;padding-right:30px}summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:0;top:12px;font-size:1.4rem;color:var(--teal)}details[open] summary:after{content:"–"}
details p{margin:0 0 16px;color:var(--muted)}
.closing{background:linear-gradient(120deg,var(--teal),#13737c);color:#fff;text-align:center;padding:64px 0}.closing p{opacity:.9;max-width:36em;margin:0 auto 24px}
.visit{padding:56px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.map{aspect-ratio:5/3;border-radius:var(--r);background:#e6efee;border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.map svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#b8d3d1;stroke-width:3}.map circle{fill:var(--teal);stroke:none}.map mark{position:relative}
.formsec{padding:56px 0;background:#fff;border-top:1px solid var(--line)}
form .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form label{display:flex;flex-direction:column;font-weight:600;font-size:.92rem;gap:6px}
form label.opt{flex-direction:row;font-weight:400;align-items:center;gap:8px}
input[type=text],input[type=tel],input[type=email],textarea{font:inherit;padding:11px 13px;border:1px solid #c7d6d8;border-radius:10px;background:var(--bg)}
fieldset{border:1px solid var(--line);border-radius:12px;grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 20px}legend{font-weight:600;font-size:.92rem;padding:0 6px}
form label:has(textarea){grid-column:1/-1}form .btn{margin-top:18px}
.small{font-size:.83rem;color:var(--muted)}
footer{background:#0e1f25;color:#c4d2d5;padding:48px 0 24px;font-size:.92rem}footer a{color:#fff}
.fgrid2{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.brand{color:#fff;font-weight:700;font-size:1.05rem}
.fnav{display:flex;flex-wrap:wrap;gap:10px 18px}.fnav a{text-decoration:none}
.disc{font-size:.78rem;opacity:.75;border-top:1px solid #24383f;padding-top:18px;margin-top:24px}
footer .ph{background:#3d3510;color:#ffe680;border-color:#8a7520}
@media (max-width:1080px){#nav{display:none}.menu{display:block}.bar .btn.sm{display:none}
 body.open #nav{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:#fff;padding:16px 24px;border-bottom:1px solid var(--line)}
 .grid4{grid-template-columns:1fr 1fr}}
@media (max-width:760px){body{font-size:16px}.herogrid,.two,.fgrid2,form .fgrid,.feat{grid-template-columns:1fr}
 .hero{padding:28px 0 32px}.herovis{order:-1}.imgph{aspect-ratio:16/9}.heroart{display:none}
 .imgph svg{width:22%}.lead{font-size:1.02rem}.ctas{margin:16px 0 20px}.ctas .btn{width:100%;text-align:center}
 .benefits{grid-template-columns:1fr;gap:8px}.benefits li{padding:9px 12px 9px 36px}.grid4{grid-template-columns:1fr}
 .block,.cards,.faq,.visit,.formsec{padding:40px 0}}
