:root{--ink:#0c3b3a;--soft:#345251;--muted:#6a8180;--line:#dfeae9;--bg:#ffffff;--bg2:#f2f9f8;--acc:#0e8c86;--acc2:#0a6661;--accbg:#e2f3f1;--grn:#0e8c86;--grnbg:#e2f3f1;--ctaink:#0c3b3a;--fdisp:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--fbody:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--rbtn:10px;--rcard:14px;--dweight:800;--dspace:-0.02em;--dtransform:none;--herograd:radial-gradient(1100px 380px at 84% -20%,#e2f3f1,transparent 70%);--card-bg:var(--bg);--card-border:1px solid transparent;--card-shadow:0 14px 36px -26px rgba(15,22,30,.5);}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--fbody);color:var(--ink);line-height:1.62;font-size:17px;
-webkit-font-smoothing:antialiased;background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--acc2)}
h1,h2,h3{font-family:var(--fdisp);font-weight:var(--dweight);letter-spacing:var(--dspace);
text-transform:var(--dtransform)}
h1{font-size:2.55rem;line-height:1.08;margin:.1em 0 .35em}
h2{font-size:1.6rem;line-height:1.18;margin:0 0 .55em}
h3{font-size:1.16rem;margin:0 0 .35em;letter-spacing:0}
.lead{font-size:1.15rem;color:var(--soft);max-width:62ch}
.muted{color:var(--muted)}
.prose p{max-width:68ch}
/* header */
.hdr{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 94%,transparent);
backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line)}
.hdr-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:12px 22px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;
text-decoration:none;color:var(--ink);font-family:var(--fdisp);letter-spacing:0}
.mono{border-radius:9px;flex:none}
.logo{height:40px;width:auto}
.nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--soft);font-size:.93rem;font-weight:500}
.nav a:hover{color:var(--acc2)}
.call-btn{background:var(--acc);color:#fff;text-decoration:none;font-weight:700;
padding:10px 17px;border-radius:var(--rbtn);white-space:nowrap;font-size:.95rem;
box-shadow:0 6px 18px -8px var(--acc)}
.call-btn.sm{display:inline-block;padding:8px 15px;font-size:.9rem}
/* hero */
.hero{background:var(--herograd);border-bottom:1px solid var(--line);overflow:hidden}
.hero-in{max-width:1120px;margin:0 auto;padding:58px 22px 26px;display:grid;
grid-template-columns:1fr;gap:30px;align-items:center}
.hero.has-media .hero-in{grid-template-columns:1.05fr .95fr}
.hero h1{max-width:18ch}
.hero.has-media h1{font-size:2.3rem}
.sub{font-size:1.2rem;color:var(--soft);max-width:54ch}
.hero-stat{display:inline-block;background:var(--grnbg);color:var(--acc2);font-weight:650;
padding:7px 14px;border-radius:100px;font-size:.92rem}
.hero-media img{width:100%;height:auto;border-radius:var(--rcard);
box-shadow:0 30px 60px -30px rgba(10,15,25,.45)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 4px}
.cta-row.center{justify-content:center}
.cta{text-decoration:none;font-weight:700;padding:14px 23px;border-radius:var(--rbtn);font-size:1.02rem}
.cta.primary{background:var(--acc);color:#fff;box-shadow:0 10px 26px -10px var(--acc)}
.cta.soft{background:var(--bg);color:var(--acc2);border:1.5px solid var(--acc)}
.hero-form-wrap{max-width:1120px;margin:0 auto;padding:0 22px 46px}
/* form */
.quote{background:var(--bg);border:1px solid var(--line);border-radius:var(--rcard);padding:22px;
max-width:460px;box-shadow:0 18px 50px -26px rgba(15,22,30,.5)}
.quote h3{margin:0 0 2px}.form-ctx{color:var(--muted);font-size:.9rem;margin:0 0 12px}
.quote input,.quote textarea{width:100%;padding:12px 13px;margin:6px 0;border:1px solid var(--line);
border-radius:9px;font-size:1rem;font-family:inherit;background:var(--bg2)}
.quote button{width:100%;margin-top:8px;background:var(--acc);color:#fff;border:0;padding:14px;
border-radius:var(--rbtn);font-weight:700;font-size:1rem;cursor:pointer}
/* bands */
.band{max-width:1120px;margin:0 auto;padding:42px 22px;border-bottom:1px solid var(--line)}
.trust-bar{background:var(--bg2);text-align:center;padding:13px 20px;font-size:.95rem;
color:var(--soft);border-bottom:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:18px}
.card{display:block;text-decoration:none;color:var(--ink);border-radius:var(--rcard);
padding:20px 22px;transition:.16s;background:var(--card-bg);border:var(--card-border);
box-shadow:var(--card-shadow)}
.card:hover{transform:translateY(-2px);border-color:var(--acc);
box-shadow:0 16px 40px -22px var(--acc)}
.card p{color:var(--soft);font-size:.95rem;margin:.35em 0}
.card .more{color:var(--acc2);font-weight:650;font-size:.9rem}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.steps li{position:relative;padding:16px 18px 16px 56px;background:var(--bg2);border-radius:var(--rcard)}
.step-n{position:absolute;left:16px;top:15px;width:28px;height:28px;border-radius:50%;
background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem}
.ticks{columns:2;gap:34px;padding-left:1.1em}.ticks li{margin:.35em 0}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.shot{margin:0}.shot img{border-radius:var(--rcard);width:100%;height:auto}
.shot figcaption{color:var(--muted);font-size:.85rem;margin-top:6px}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.review{margin:0;border:1px solid var(--line);border-radius:var(--rcard);padding:20px;background:var(--bg)}
.stars{color:#e8a317;letter-spacing:2px}
.review blockquote{margin:.55em 0;font-size:.99rem}
.review figcaption{color:var(--muted);font-size:.88rem;font-weight:650}
.price{width:100%;border-collapse:collapse}
.price td{padding:11px 13px;border-bottom:1px solid var(--line)}
.price td:last-child{text-align:right;font-weight:700}
.arealist{line-height:2.15}.arealist a{text-decoration:none}
.crumbs{max-width:1120px;margin:0 auto;padding:15px 22px 0;font-size:.85rem;color:var(--muted)}
.crumbs a{color:var(--muted)}.up{font-weight:650}
.faq{border:1px solid var(--line);border-radius:10px;padding:2px 16px;margin:9px 0;background:var(--bg)}
.faq summary{cursor:pointer;font-weight:650;padding:13px 0}.faq p{margin:0 0 13px;color:var(--soft)}
.cta-band{background:var(--ctaink);color:#fff;text-align:center;padding:50px 22px}
.cta-band h2{color:#fff}.cta-band .cta.soft{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.ftr{background:var(--bg2);border-top:1px solid var(--line);padding:44px 22px 0}
.ftr-cols{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.brand-f{font-family:var(--fdisp);font-weight:var(--dweight);font-size:1.1rem}
.ftr h4{margin:0 0 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:.32em 0}
.ftr a{text-decoration:none;color:var(--soft)}
.ftr-base{max-width:1120px;margin:26px auto 0;padding:18px 0;border-top:1px solid var(--line);
color:var(--muted);font-size:.85rem}
.sticky-call{display:none}
@media(max-width:780px){
.nav{display:none}
.hero-in,.hero.has-media .hero-in{grid-template-columns:1fr}
.hero h1,.hero.has-media h1{font-size:1.95rem}
.hero-media{order:-1}
.ftr-cols{grid-template-columns:1fr}.ticks{columns:1}
.sticky-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;justify-content:center;
align-items:center;gap:8px;background:var(--acc);color:#fff;text-decoration:none;font-weight:700;
padding:16px;font-size:1.05rem;box-shadow:0 -6px 24px -10px rgba(0,0,0,.4)}
main{padding-bottom:62px}
}
