
:root{
  --bg:#ffffff; --text:#0b1d12; --muted:#5a6e62;
  --brand:#0f6b2b; --brand-2:#04150e;
  --accent:#d4a430; --light:#f5f7f3;
  --card:#f1f5f3; --line:#e2e8e4; --maxw:1100px; --radius:14px; --shadow:0 10px 25px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto;display:block;border-radius:10px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--maxw);margin-inline:auto;padding:24px}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:8px 12px;border-radius:8px;box-shadow:var(--shadow)}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line);z-index:10}
.hdrwrap{display:flex;gap:16px;align-items:center;justify-content:space-between}
.logo img{display:block}
.nav-toggle{display:none;font-size:24px;background:none;border:1px solid var(--line);padding:6px 10px;border-radius:10px}
.nav-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
.nav-menu a{padding:8px 10px;border-radius:10px}
.nav-menu a:hover{background:var(--card);text-decoration:none}
.btn{display:inline-block;padding:12px 18px;border:1px solid var(--brand);border-radius:12px}
.btn-cta{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-cta:hover{background:var(--brand-2)}
.hdr-cta{display:flex;flex-direction:column;gap:4px;font-weight:600}
.hero-brand{background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.02) 60%), var(--light);}
.hero-inner h1{font-size:clamp(28px,3vw,44px);line-height:1.15;margin:0 0 8px;color:var(--brand-2)}
.tagline{color:#2a3b30;font-weight:600}
.cards{display:grid;gap:16px}
.cards.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow)}
.card .arrow{display:inline-block;margin-top:8px}
.badges .badgegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.badge{background:#eaf4ee;border:1px dashed var(--brand);padding:10px;border-radius:999px;text-align:center;font-weight:600}
.twocol{display:grid;gap:24px;grid-template-columns:1.2fr .8fr;align-items:center}
.checklist{list-style:none;padding-left:0}
.checklist li{padding-left:28px;position:relative;margin-bottom:8px}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--brand);font-weight:900}
.cta-banner{background:linear-gradient(90deg,var(--light),transparent),#f8faf9;margin-top:24px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-sections section{margin:24px 0}
.grid.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.panel{background:#f8faf9;border:1px solid var(--line);padding:14px;border-radius:12px}
.gallery-grid{columns:3 280px;column-gap:12px}
.gallery-grid figure{break-inside:avoid;padding:0;margin:0 0 12px}
.site-footer{background:#04150e;color:#e8f1ec;margin-top:24px}
.site-footer a{color:#c8eed7}
.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.footnote{border-top:1px solid #2a3b30;margin-top:12px;padding:12px 0;color:#aecaBB}
.small{font-size:.9rem;color:var(--muted)}
.list-plain{list-style:none;margin:0;padding:0}
.contact-form label{display:block;margin:10px 0}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px}
.contact-form button{margin-top:8px}
.badges, .highlight{margin-top:12px}
.table-wrap{overflow:auto;margin:10px 0}
table.price{width:100%;border-collapse:separate;border-spacing:0;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;overflow:hidden}
table.price th, table.price td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
table.price thead th{background:#f3f7f4;font-weight:700}
table.price tr:last-child td{border-bottom:0}
.hidden{position:absolute;left:-9999px;opacity:0;height:0;width:0}
blockquote{margin:0;padding:14px;border-left:4px solid var(--brand);background:#f8faf9;border-radius:8px}
@media (max-width: 860px){
  .twocol{grid-template-columns:1fr}
  .nav-toggle{display:inline-block}
  .nav-menu{display:none;flex-direction:column;align-items:flex-start;background:#fff;position:absolute;right:24px;top:64px;padding:12px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
  .nav-menu.open{display:flex}
  .hdr-cta{display:none}
}
