:root{
  --navy:#14261c; --navy2:#1c3327; --card:#ffffff; --ink:#18241d; --mut:#5b6a60;
  --amber:#f28c1c; --amber2:#cf7510; --sky:#2f8f57; --line:#e6ebe6; --soft:#f4f7f4;
  --ok:#2f8f57; --heroc:#193124; --herob:#2a4635; --fib:#1f3a2b;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);background:#fff;line-height:1.62;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--sky);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px;margin:0 auto}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
.h1{font-size:2.5rem;font-weight:800;letter-spacing:-.02em}
.h2{font-size:1.85rem;font-weight:800;letter-spacing:-.01em}
.h3{font-size:1.25rem;font-weight:700}
.c{text-align:center}
.lead{font-size:1.18rem;color:#dbe7df}
.muted{color:var(--mut)}

/* header */
.top{background:var(--navy);position:sticky;top:0;z-index:30;border-bottom:1px solid #27402f}
.top-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:18px}
.brand img{height:36px;width:auto}
.nav{display:flex;gap:22px;flex-wrap:wrap}
.nav a{color:#cbd8cf;font-weight:600;font-size:.98rem}
.nav a:hover,.nav a[aria-current=page]{color:var(--amber);text-decoration:none}

/* buttons */
.btn{display:inline-block;background:var(--amber);color:#1a2a12;font-weight:700;
  padding:13px 24px;border-radius:10px;border:0;cursor:pointer;transition:.15s}
.btn:hover{background:var(--amber2);text-decoration:none;color:#1a2a12}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid #3c5a48}
.btn.ghost:hover{border-color:var(--amber);color:var(--amber)}

/* hero */
.hero{background:var(--navy);color:#fff;padding:76px 0 70px;border-bottom:3px solid var(--amber)}
.hero .h1{color:#fff}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.kicker{display:inline-block;color:var(--amber);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;font-size:.8rem;margin:0 0 10px}
.hero-card{background:var(--heroc);border:1px solid var(--herob);border-radius:18px;padding:26px}
.hero-card ul{list-style:none;margin:0;padding:0}
.hero-card li{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--herob);color:#dbe7df;font-weight:600}
.hero-card li:last-child{border:0}
.hero-card .ic{flex:0 0 40px;height:40px;border-radius:10px;display:grid;place-items:center}

/* sections */
.sec{padding:66px 0}
.sec.soft{background:var(--soft)}
.sec.navy{background:var(--navy);color:#fff}
.sec.navy .h2{color:#fff}
.eyebrow{color:var(--sky);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin:0 0 8px}

/* category grid */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;
  transition:.16s;display:block;color:var(--ink)}
.cat:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,38,28,.10);text-decoration:none;border-color:#cdd8d0}
.cat svg{width:46px;height:46px;margin-bottom:14px}
.cat h3{margin:0 0 6px;font-size:1.15rem}
.cat p{margin:0;color:var(--mut);font-size:.96rem}

/* feature row */
.feats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.feat{text-align:center}
.feat .fi{width:58px;height:58px;margin:0 auto 12px;border-radius:14px;background:var(--fib);display:grid;place-items:center}
.feat .fi svg{width:30px;height:30px}
.feat h3{color:#fff;font-size:1.08rem;margin:0 0 4px}
.feat p{color:#bccabf;font-size:.95rem;margin:0}

/* two columns */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:8px 0 8px 32px;border-bottom:1px solid var(--line)}
.ticks li:last-child{border:0}
.ticks li:before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:50%;
  background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat}

/* highlight cards */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
.review .ri{width:46px;height:46px;border-radius:12px;background:var(--soft);display:grid;place-items:center;margin-bottom:12px}
.review h4{margin:0 0 6px;font-size:1.08rem}
.review p{margin:0;color:#39473e}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:4px 20px}
.faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:14px;font-size:1.5rem;color:var(--sky)}
.faq details[open] summary:after{content:"\2013"}
.faq p{margin:0 0 16px;color:#39473e}

/* banner strip */
.strip{background:var(--navy2);color:#fff;border-radius:18px;padding:40px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border:1px solid var(--herob)}
.strip h2{margin:0;color:#fff}

/* legal / content */
.prose h2{font-size:1.4rem;margin:1.4em 0 .4em}
.prose h3{font-size:1.12rem;margin:1.2em 0 .3em}
.prose p{margin:0 0 1em;color:#2d3a31}
.prose ul{margin:0 0 1em;padding-left:1.2em;color:#2d3a31}

/* slim hero */
.hero.slim{padding:54px 0 48px}
.hero.slim .h1{font-size:2.1rem}

/* footer */
.foot{background:var(--navy);color:#a8b8ac;padding:50px 0 34px;border-top:1px solid #27402f}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;margin-bottom:28px}
.foot img{height:32px;margin-bottom:12px}
.foot h4{color:#fff;font-size:.95rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:.05em}
.foot a{color:#a8b8ac;display:block;padding:4px 0;font-size:.95rem}
.foot a:hover{color:var(--amber);text-decoration:none}
.foot .copy{border-top:1px solid #27402f;padding-top:20px;font-size:.88rem;color:#839689}
.notice{background:var(--heroc);border:1px solid var(--herob);border-radius:12px;padding:14px 18px;color:#cbd8cf;font-size:.92rem;margin-top:16px}

/* mobile nav duplicate in footer always visible; responsive */
@media(max-width:900px){
  .hero-in,.cols2{grid-template-columns:1fr}
  .cats{grid-template-columns:repeat(2,1fr)}
  .feats{grid-template-columns:repeat(2,1fr)}
  .reviews{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .h1,.hero .h1{font-size:2rem}
}
@media(max-width:560px){
  body{font-size:16px}
  .cats{grid-template-columns:1fr}
  .nav{gap:14px}
  .sec{padding:48px 0}
  .strip{padding:28px}
  .foot-grid{grid-template-columns:1fr}
}

/* overflow safety: prevent grid items forcing horizontal scroll on small screens */
html,body{overflow-x:hidden}
.hero-in>*,.cols2>*,.cat,.feat,.review,.box,.strip>*{min-width:0}
.hero .h1{overflow-wrap:break-word}
