:root{
  --brand:#000;
  --brand-dark:rgba(0, 0, 0, 0.425);
  --brand-light:#e8f5ee;
  --ink:#0f1c17;
  --muted:#5b6b64;
  --bg:#ffffff;
  --soft:#f6faf7;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif;font-weight:700;color:var(--ink);letter-spacing:-.01em}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-dark)}

/* Top bar */
.topbar{background:var(--brand-dark);color:#fff;font-size:.85rem;padding:.5rem 0}
.topbar a{color:#fff;opacity:.9;margin:0 .5rem}
.topbar a:hover{opacity:1}

/* Navbar */
.navbar-brand-custom{font-family:'Poppins',sans-serif;font-weight:800;font-style:italic;color:#fff !important;font-size:1.4rem}
.navbar-custom{background:var(--brand);padding:.9rem 0}
.navbar-custom .nav-link{color:#fff !important;font-weight:500;padding:.5rem 1rem !important}
.navbar-custom .nav-link:hover{color:#d9f5e4 !important}
.navbar-toggler{border-color:rgba(255,255,255,.5)}
.navbar-toggler-icon{filter:invert(1)}

/* Buttons */
.btn-brand{background:var(--brand);color:#fff;border-radius:999px;padding:.75rem 1.75rem;font-weight:600;border:none}
.btn-brand:hover{background:var(--brand-dark);color:#fff}
.btn-outline-brand{background:transparent;color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:.65rem 1.65rem;font-weight:600}
.btn-outline-brand:hover{background:var(--ink);color:#fff}

/* Hero */
.hero{position:relative;background:url('/photo-1554224155-6726b3ff858f.avif?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;padding:5rem 0}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,125,59,.15),rgba(0,0,0,.25))}
.hero .container{position:relative;z-index:1}
.hero-card{background:#fff;border-radius:16px;padding:3.5rem 2rem;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.08);max-width:820px;margin:0 auto}
.hero-card h1{font-size:clamp(2rem,4vw,3.25rem);margin-bottom:1rem}
.hero-card p{color:var(--muted);font-size:1.1rem;max-width:600px;margin:0 auto 2rem}

/* Sections */
section{padding:5rem 0}
.section-soft{background:var(--soft)}
.section-title{font-size:clamp(1.75rem,3vw,2.5rem);margin-bottom:1rem}
.eyebrow{color:var(--brand);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;margin-bottom:.75rem}

/* Feature cards */
.feature-card{background:#fff;border:1px solid #eaeee9;border-radius:14px;padding:2rem;height:100%;transition:transform .2s, box-shadow .2s}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(10,125,59,.08)}
.feature-icon{width:56px;height:56px;border-radius:12px;background:var(--brand-light);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem}

/* Steps */
.step-num{width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:1rem}

/* FAQ */
.accordion-button:not(.collapsed){background:var(--brand-light);color:var(--brand-dark);font-weight:600}
.accordion-button:focus{box-shadow:0 0 0 .15rem rgba(10,125,59,.2)}
.accordion-item{border-radius:10px !important;margin-bottom:.75rem;overflow:hidden;border:1px solid #eaeee9}

/* Pricing */
.price-card{background:#fff;border:1px solid #eaeee9;border-radius:16px;padding:2.5rem 2rem;height:100%;text-align:center;transition:transform .2s}
.price-card:hover{transform:translateY(-6px)}
.price-card.featured{background:var(--brand);color:#fff;border-color:var(--brand)}
.price-card.featured h3,.price-card.featured .price{color:#fff}
.price-card.featured .btn-brand{background:#fff;color:var(--brand)}
.price-card .price{font-size:2.75rem;font-weight:800;color:var(--ink);margin:1rem 0}
.price-card ul{list-style:none;padding:0;text-align:left;margin:1.5rem 0}
.price-card li{padding:.5rem 0;border-bottom:1px dashed rgba(0,0,0,.08)}
.price-card.featured li{border-color:rgba(255,255,255,.2)}

/* Contact */
.contact-info-card{background:var(--brand);color:#fff;padding:2.5rem;border-radius:16px;height:100%}
.contact-info-card a{color:#fff}
.form-control{border-radius:10px;padding:.85rem 1rem;border:1px solid #d6ddd8}
.form-control:focus{border-color:var(--brand);box-shadow:0 0 0 .15rem rgba(10,125,59,.15)}

/* Page banner */
.page-banner{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;padding:4rem 0;text-align:center}
.page-banner h1{color:#fff;font-size:clamp(2rem,4vw,3rem)}
.page-banner p{opacity:.9;max-width:600px;margin:1rem auto 0}
.breadcrumb-custom{display:inline-flex;background:rgba(255,255,255,.15);padding:.4rem 1rem;border-radius:999px;margin-top:1rem;font-size:.9rem}
.breadcrumb-custom a{color:#fff;opacity:.85}
.breadcrumb-custom span{margin:0 .5rem;opacity:.6}

/* Footer */
footer{background:#0a1512;color:#c9d4cf;padding:4rem 0 1.5rem;margin-top:0}
footer h5{color:#fff;font-family:'Poppins',sans-serif;font-size:1.05rem;margin-bottom:1.25rem}
footer a{color:#c9d4cf;display:block;padding:.35rem 0}
footer a:hover{color:var(--brand)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:1.5rem;font-size:.85rem;color:#8a978f;text-align:center}
.social-icons a{display:inline-flex;width:38px;height:38px;background:rgba(255,255,255,.06);border-radius:50%;align-items:center;justify-content:center;margin-right:.5rem;padding:0}
.social-icons a:hover{background:var(--brand);color:#fff}

/* Legal pages */
.legal-content h2{margin-top:2.5rem;font-size:1.5rem}
.legal-content h3{margin-top:1.75rem;font-size:1.2rem}
.legal-content p,.legal-content li{color:#3a4a44}

/* Utility */
.rounded-hero{border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.12)}
@media (max-width: 767px){
  section{padding:3rem 0}
  .hero{padding:3rem 0}
  .hero-card{padding:2.5rem 1.25rem}
}