:root{
  --ink:#16181d;
  --ink-2:#4a4f5a;
  --line:#e2e4e9;
  --bg:#ffffff;
  --bg-2:#f6f7f9;
  --brand:#0f5c4a;
  --brand-2:#0b473a;
  --radius:10px;
  --wrap:1120px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  color:var(--ink);
  background:var(--bg);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

h1,h2,h3{line-height:1.25;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4vw,2.9rem)}
h2{font-size:clamp(1.45rem,2.6vw,2rem);margin-top:0}
h3{font-size:1.12rem}
p{margin:0 0 1rem}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:780px}
.muted{color:var(--ink-2);font-size:.94rem}

.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:100;border-radius:6px}

/* Header */
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);z-index:50}
.header-inner{display:flex;align-items:center;gap:28px;min-height:70px}
.logo{font-weight:700;font-size:1.12rem;color:var(--ink);letter-spacing:-.02em}
.logo:hover{text-decoration:none}
.site-header nav{margin-left:auto}
.site-header nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.site-header nav a{color:var(--ink-2);font-size:.95rem}
.site-header nav a[aria-current="page"]{color:var(--brand);font-weight:600}

/* Buttons */
.btn{
  display:inline-block;background:var(--brand);color:#fff;
  padding:12px 22px;border-radius:var(--radius);
  font-weight:600;font-size:.95rem;border:1px solid var(--brand);
}
.btn:hover{background:var(--brand-2);text-decoration:none}
.btn-ghost{background:transparent;color:var(--brand)}
.btn-ghost:hover{background:var(--bg-2)}
.btn-invert{background:#fff;color:var(--brand);border-color:#fff}
.btn-invert:hover{background:#eef2f1}
.btn-header{padding:9px 16px;font-size:.9rem}

/* Hero */
.hero{padding:76px 0 56px;border-bottom:1px solid var(--line)}
.hero h1{max-width:20ch}
.lede{font-size:1.15rem;color:var(--ink-2);max-width:62ch;margin-bottom:1.75rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Sections */
.section{padding:64px 0}
.section-alt{background:var(--bg-2);border-block:1px solid var(--line)}

.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

.card{
  display:block;padding:26px;border:1px solid var(--line);
  border-radius:var(--radius);background:#fff;color:inherit;
  transition:border-color .15s,transform .15s;
}
.card:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-2px)}
.card h3{margin-bottom:.35em}
.card p{color:var(--ink-2);font-size:.96rem;margin-bottom:.75rem}
.card-link{color:var(--brand);font-weight:600;font-size:.9rem}

.feature h3{margin-bottom:.3em}
.feature p{color:var(--ink-2);font-size:.96rem;margin:0}

/* FAQ */
.faq{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";margin-right:10px;color:var(--brand);font-weight:700}
.faq[open] summary::before{content:"–"}
.faq p{margin:12px 0 0;color:var(--ink-2)}

/* CTA band */
.cta-band{background:var(--brand);color:#fff;padding:60px 0;text-align:center}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.9);max-width:52ch;margin:0 auto 1.5rem}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:52px 0 28px;background:var(--bg-2)}
.footer-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.footer-brand{font-weight:700;margin-bottom:.35rem}
.footer-head{font-weight:600;font-size:.92rem;margin-bottom:.6rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:.45rem}
.site-footer a{color:var(--ink-2);font-size:.94rem}
.footer-legal{margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}
.footer-legal p{margin:0 0 .35rem}

/* Forms */
.field{margin-bottom:18px}
.field label{display:block;font-weight:600;font-size:.93rem;margin-bottom:6px}
.field input,.field select,.field textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);
  border-radius:var(--radius);font:inherit;font-size:.96rem;background:#fff;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand);
}
.field textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px}

.notice{padding:14px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:.95rem}
.notice-ok{background:#e8f5f0;border:1px solid #b8ded2;color:#0b473a}
.notice-err{background:#fdecec;border:1px solid #f3c2c2;color:#8a2020}

/* Content pages */
.page-head{padding:56px 0 8px}
.page-head .lede{margin-bottom:0}
.prose{padding:36px 0 64px}
.prose h2{margin-top:2em}
.prose ul{padding-left:1.15em;color:var(--ink-2)}
.prose li{margin-bottom:.5rem}

table.spec{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}
table.spec th,table.spec td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
table.spec th{background:var(--bg-2);font-weight:600}

@media(max-width:820px){
  .site-header nav{display:none}
  .header-inner{gap:14px}
  .hero{padding:52px 0 40px}
  .section{padding:48px 0}
}

/* Page image */
.page-image{margin:0 0 2rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.page-image img{width:100%;height:auto;display:block;background:var(--bg-2)}

/* Header phone */
.header-phone{color:var(--ink-2);font-size:.93rem;font-weight:600;white-space:nowrap}
.header-phone:hover{color:var(--brand)}

/* Direct contact line */
.contact-direct{font-size:1rem;color:var(--ink-2);margin-top:-.5rem}
.contact-direct a{font-weight:600}
