:root{
  --forest:#14352a;
  --forest-2:#1c4a38;
  --gold:#c8a24b;
  --gold-2:#d8b869;
  --cream:#f6f1e7;
  --cream-2:#fbf8f2;
  --charcoal:#2a2a2a;
  --muted:#5c5c56;
  --line:rgba(20,53,42,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--charcoal);background:var(--cream-2);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.15;color:var(--forest)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:#1c1c1c;font-weight:700;font-size:15px;padding:14px 26px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;transition:background .2s,transform .2s;letter-spacing:.2px}
.btn:hover{background:var(--gold-2);transform:translateY(-1px)}
.btn-lg{padding:17px 34px;font-size:16px}
.btn-ghost{background:transparent;border:1.5px solid var(--gold);color:#fff}
.btn-ghost:hover{background:rgba(200,162,75,.12)}
.eyebrow{font-family:'Inter';font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:12.5px;color:var(--gold)}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(251,248,242,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:38px;height:38px;flex:0 0 38px}
.brand .name{display:flex;flex-direction:column;line-height:1}
.brand .name b{font-family:'Playfair Display',serif;font-size:19px;letter-spacing:1px;color:var(--forest)}
.brand .name span{font-size:10.5px;letter-spacing:4px;color:var(--muted);margin-top:3px}
nav.links{display:flex;gap:26px}
nav.links a{font-size:14.5px;font-weight:500;color:var(--charcoal);transition:color .2s}
nav.links a:hover,nav.links a.active{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:20px}
.phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.phone b{font-size:18px;color:var(--forest);font-weight:700}
.phone span{font-size:11px;color:var(--muted)}
.menu-toggle{display:none;background:none;border:none;font-size:26px;color:var(--forest);cursor:pointer}

/* Hero */
.hero{position:relative;background:var(--forest);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,40,31,.96) 0%,rgba(15,40,31,.72) 42%,rgba(15,40,31,.35) 100%),url('https://images.unsplash.com/photo-1568605114967-8130f3a36994?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat}
.hero-inner{position:relative;display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center;padding:72px 0 84px}
.hero h1{color:#fff;font-size:52px;font-weight:700}
.hero h1 .gold{color:var(--gold-2)}
.hero p.sub{color:rgba(255,255,255,.85);font-size:16.5px;max-width:520px;margin-top:20px}
.hero-trust{display:flex;gap:30px;margin-top:34px;flex-wrap:wrap}
.hero-trust .ht{display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(255,255,255,.9);max-width:180px}
.hero-trust .ht svg{flex:0 0 22px}

/* Offer card */
.offer{background:rgba(15,35,27,.55);border:1.5px solid var(--gold);border-radius:14px;padding:34px 30px;backdrop-filter:blur(3px)}
.offer h3{color:#fff;font-size:27px;text-align:center;line-height:1.2}
.offer p.lead{text-align:center;color:rgba(255,255,255,.82);font-size:14px;margin:12px 0 22px}
.offer input,.offer textarea{width:100%;padding:15px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:14.5px;margin-bottom:14px;font-family:inherit}
.offer input::placeholder,.offer textarea::placeholder{color:rgba(255,255,255,.6)}
.offer input:focus,.offer textarea:focus{outline:none;border-color:var(--gold)}
.offer .btn{width:100%;margin-top:2px}
.offer .fine{display:flex;align-items:center;justify-content:center;gap:7px;color:rgba(255,255,255,.75);font-size:12.5px;margin-top:16px}

/* Page hero (internal pages) */
.page-hero{position:relative;background:var(--forest);color:#fff;text-align:center;overflow:hidden}
.page-hero .hero-bg{opacity:.9}
.page-hero-inner{position:relative;padding:74px 0 66px}
.page-hero h1{color:#fff;font-size:44px}
.page-hero p{color:rgba(255,255,255,.85);font-size:16px;max-width:620px;margin:16px auto 0}

/* Trust strip */
.strip{background:var(--cream);border-bottom:1px solid var(--line)}
.strip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:44px 0}
.strip-item{text-align:center;padding:0 10px;border-right:1px solid var(--line)}
.strip-item:last-child{border-right:none}
.strip-item .ico{width:42px;height:42px;margin:0 auto 12px;color:var(--forest)}
.strip-item b{display:block;font-size:15px;color:var(--forest);margin-bottom:5px}
.strip-item span{font-size:12.5px;color:var(--muted)}

/* Generic section */
.section{padding:84px 0}
.section.cream{background:var(--cream)}
.section.creamlite{background:var(--cream-2)}
.section-head{text-align:center;max-width:640px;margin:0 auto 52px}
.section-head h2{font-size:38px}
.section-head .rule{width:70px;height:3px;background:var(--gold);margin:16px auto 0;border-radius:2px}
.section-head p{color:var(--muted);font-size:15.5px;margin-top:16px}

/* Story */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.story-grid h2{font-size:40px;margin:14px 0 20px}
.story-grid p{color:var(--muted);font-size:15.5px;max-width:460px;margin-bottom:14px}
.story-img{border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(20,53,42,.5);aspect-ratio:4/3;background:var(--forest) url('https://images.unsplash.com/photo-1609220136736-443140cffec6?auto=format&fit=crop&w=1000&q=80') center/cover}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
.step .num{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--forest);color:var(--gold-2);display:flex;align-items:center;justify-content:center;border:2px solid var(--gold);position:relative}
.step .num b{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:var(--cream);color:var(--forest);font-family:'Playfair Display',serif;font-size:14px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--gold)}
.step h3{font-size:18px;margin-bottom:8px}
.step p{font-size:13.5px;color:var(--muted);max-width:210px;margin:0 auto}

/* Cards (services / situations) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--cream-2);border:1px solid var(--line);border-radius:14px;padding:30px 26px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -28px rgba(20,53,42,.5)}
.card .ico{width:46px;height:46px;color:var(--forest);margin-bottom:16px}
.card h3{font-size:19px;margin-bottom:8px}
.card p{color:var(--muted);font-size:14px}

/* Compare */
.compare-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.cmp-card{background:var(--forest);border-radius:16px;padding:30px;color:#fff}
.cmp-card h3{color:#fff;text-align:center;font-size:22px;margin-bottom:22px}
.cmp-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative}
.cmp-col{background:rgba(255,255,255,.06);border-radius:12px;padding:18px 16px}
.cmp-col.alt{background:rgba(255,255,255,.03)}
.cmp-col h4{font-size:14px;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:7px}
.cmp-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.cmp-col li{font-size:13px;color:rgba(255,255,255,.85);display:flex;gap:8px;align-items:flex-start}
.cmp-col .yes{color:var(--gold-2);font-weight:700}
.cmp-col .no{color:#c47b6b;font-weight:700}
.vs{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--forest);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;border:3px solid var(--forest)}
.map-side h2{font-size:32px;margin-bottom:16px}
.map-side p{color:var(--muted);font-size:15px;margin-bottom:22px;max-width:420px}
.map-side .badge{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--gold);border-radius:10px;padding:12px 18px}
.map-side .badge b{color:var(--forest);font-size:14px;display:block}
.map-side .badge span{color:var(--muted);font-size:12px}

/* Reviews */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review{background:var(--cream-2);border:1px solid var(--line);border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.review .stars{color:var(--gold);font-size:16px;letter-spacing:2px}
.review p{font-size:14.5px;color:var(--charcoal)}
.review .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.review .who .av{width:42px;height:42px;border-radius:50%;background:var(--forest);color:var(--gold-2);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Playfair Display',serif}
.review .who b{font-size:14px;color:var(--forest);display:block}
.review .who span{font-size:12px;color:var(--muted)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;max-width:960px;margin:0 auto}
details{background:var(--cream-2);border:1px solid var(--line);border-radius:10px;padding:0 20px;transition:box-shadow .2s}
details[open]{box-shadow:0 10px 30px -18px rgba(20,53,42,.4)}
summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:600;font-size:15px;color:var(--forest);display:flex;justify-content:space-between;align-items:center;gap:12px}
summary::-webkit-details-marker{display:none}
summary .chev{transition:transform .2s;color:var(--gold)}
details[open] summary .chev{transform:rotate(180deg)}
details p{color:var(--muted);font-size:14px;padding:0 0 18px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact-info h2{font-size:34px;margin-bottom:18px}
.contact-info p{color:var(--muted);font-size:15px;margin-bottom:26px;max-width:440px}
.contact-info .row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.contact-info .row .ci{width:44px;height:44px;border-radius:10px;background:var(--forest);color:var(--gold-2);display:flex;align-items:center;justify-content:center;flex:0 0 44px}
.contact-info .row b{display:block;color:var(--forest);font-size:15px}
.contact-info .row span{color:var(--muted);font-size:13.5px}
.contact-card{background:var(--forest);border:1.5px solid var(--gold);border-radius:14px;padding:34px 30px}
.contact-card h3{color:#fff;text-align:center;font-size:24px}
.contact-card p.lead{text-align:center;color:rgba(255,255,255,.82);font-size:14px;margin:10px 0 22px}
.contact-card input,.contact-card textarea{width:100%;padding:15px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:14.5px;margin-bottom:14px;font-family:inherit}
.contact-card input::placeholder,.contact-card textarea::placeholder{color:rgba(255,255,255,.6)}
.contact-card input:focus,.contact-card textarea:focus{outline:none;border-color:var(--gold)}
.contact-card .btn{width:100%}

/* Thank you */
.ty{text-align:center;max-width:620px;margin:0 auto;padding:100px 0}
.ty .check{width:88px;height:88px;margin:0 auto 26px;border-radius:50%;background:var(--forest);color:var(--gold-2);display:flex;align-items:center;justify-content:center;border:2px solid var(--gold)}
.ty h1{font-size:42px;margin-bottom:16px}
.ty p{color:var(--muted);font-size:16px;margin-bottom:12px}
.ty .actions{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap}

/* Legal pages */
.legal{max-width:820px;margin:0 auto}
.legal .updated{color:var(--muted);font-size:13.5px;margin-bottom:22px}
.legal h2{font-size:23px;margin:34px 0 12px}
.legal h3{font-size:17px;margin:22px 0 8px}
.legal p{color:var(--muted);font-size:15px;margin-bottom:14px}
.legal ul{margin:0 0 16px 20px;color:var(--muted);font-size:15px;display:flex;flex-direction:column;gap:8px}
.legal a{color:var(--forest-2);text-decoration:underline}
.legal .note{background:var(--cream);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:16px 18px;font-size:13.5px;color:var(--muted);margin:24px 0}
.foot-bottom a{color:rgba(255,255,255,.7)}
.foot-bottom a:hover{color:var(--gold-2)}

/* Final CTA */
.final{background:var(--forest);color:#fff}
.final-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:54px 0;flex-wrap:wrap}
.final h2{color:#fff;font-size:32px}
.final p{color:rgba(255,255,255,.8);font-size:15px;margin-top:6px}
.final .actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}

/* Footer */
footer{background:#0f271f;color:rgba(255,255,255,.75)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:40px;padding:64px 0 40px}
.foot .brand .name b{color:#fff}
.foot h4{color:#fff;font-size:14px;margin-bottom:16px;letter-spacing:.5px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot ul li{font-size:13.5px}
.foot ul li a:hover{color:var(--gold-2)}
.foot .contact-f div{display:flex;align-items:center;gap:9px;font-size:13.5px;margin-bottom:10px}
.social{display:flex;gap:12px;margin-top:14px}
.social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s,border-color .2s}
.social a:hover{background:var(--gold);border-color:var(--gold);color:var(--forest)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.55)}

/* Responsive */
@media(max-width:960px){
  nav.links,.phone span{display:none}
  .menu-toggle{display:block}
  .hero-inner{grid-template-columns:1fr;gap:34px;padding:52px 0 60px}
  .hero h1{font-size:38px}
  .story-grid,.compare-grid,.contact-grid{grid-template-columns:1fr;gap:34px}
  .strip-grid{grid-template-columns:repeat(2,1fr);gap:26px}
  .strip-item{border-right:none}
  .steps,.cards,.reviews-grid{grid-template-columns:1fr 1fr;gap:26px}
  .faq-grid{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr;gap:30px}
  .final-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .strip-grid,.steps,.cards,.reviews-grid,.foot{grid-template-columns:1fr}
  .cmp-cols{grid-template-columns:1fr;gap:40px}
}
