
:root{
  --bg:#0F1311; --bg2:#151B17; --footer:#1A1F1C;
  --green:#7AD64A; --green-dark:#2F5A1C; --cyan:#5AC3DC;
  --text:#F0F5F0; --muted:#AAB4AA;
  --paper:#F6F8F5; --ink:#172019; --ink-muted:#5B665D;
  --line:#DFE5DF; --max:1240px; --shadow:0 24px 70px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.kicker{
  display:inline-flex;align-items:center;gap:10px;color:var(--green-dark);
  font-weight:800;font-size:12px;letter-spacing:.13em;text-transform:uppercase
}
.kicker::before{content:"";width:24px;height:2px;background:currentColor}
.section-head{max-width:1160px;margin-bottom:40px}
.section-head h2{margin:10px 0 14px;max-width:1120px;font-size:clamp(34px,3.85vw,54px);line-height:1.07;letter-spacing:-.044em;text-wrap:pretty}
.section-head p{margin:0;max-width:1060px;font-size:18px;line-height:1.6;color:var(--ink-muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:8px;font-weight:800;transition:transform .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:#10200D}
.btn-secondary{border:1px solid rgba(240,245,240,.28);color:#fff;background:rgba(255,255,255,.03)}
.btn-dark{background:#172019;color:#fff}
.icon{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Header */
.site-header{position:fixed;z-index:60;top:0;left:0;right:0;height:74px;background:rgba(15,19,17,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:172px;height:auto}
.nav-links{display:flex;align-items:center;gap:24px;color:#DDE6DE;font-size:14px;font-weight:700}
.nav-links>a:not(.btn):hover,.dropdown:hover>.drop-toggle{color:var(--green)}
.menu-toggle{display:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;width:42px;height:42px;border-radius:8px}
.dropdown{position:relative;align-self:stretch;display:flex;align-items:center}
.drop-toggle{display:inline-flex;align-items:center;gap:6px}
.drop-toggle::after{content:"▾";font-size:11px;opacity:.8}
.dropdown-menu{position:absolute;top:100%;left:0;min-width:300px;background:#121814;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;display:none;box-shadow:var(--shadow)}
.dropdown-menu a{display:block;padding:10px 12px;border-radius:10px;color:#DDE6DE;font-weight:700}
.dropdown-menu a small{display:block;color:#9EAA9F;font-weight:400;line-height:1.45;margin-top:2px}
.dropdown-menu a:hover{background:rgba(255,255,255,.05);color:var(--green)}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block}

/* Hero */
.hero{position:relative;min-height:760px;padding-top:74px;background:var(--bg);color:#fff;overflow:hidden}
.hero-photo{position:absolute;inset:74px 0 0 48%;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);will-change:transform}
.hero-photo::after{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,#0F1311 0%,rgba(15,19,17,.98) 9%,rgba(15,19,17,.85) 27%,rgba(15,19,17,.16) 62%,rgba(15,19,17,.05) 100%),
 linear-gradient(0deg,rgba(15,19,17,.52),transparent 42%)}
.hero-grid{position:relative;z-index:3;min-height:686px;display:grid;grid-template-columns:58% 42%;align-items:center}
.hero-copy{padding:64px 0 58px;max-width:770px}
.hero .kicker{color:var(--green)}
.hero h1{margin:14px 0 22px;font-size:clamp(50px,5vw,77px);line-height:.95;letter-spacing:-.055em;text-wrap:balance}
.hero h1 span{display:block}
.hero h1 .accent{color:var(--green)}
.hero-lead{font-size:20px;line-height:1.52;color:#E4ECE5;max-width:690px;margin:0}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#C3CDC5;font-size:12px}
.hero-trust span{display:flex;align-items:center;gap:8px}
.hero-trust span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}
.corner{position:absolute;width:70px;height:70px;z-index:6}
.corner.tl{left:28px;top:103px;border-left:4px solid var(--green);border-top:4px solid var(--green)}
.corner.br{right:28px;bottom:28px;border-right:4px solid var(--green);border-bottom:4px solid var(--green)}

/* Subpage hero */
.page-hero{position:relative;padding:142px 0 80px;background:var(--bg);color:#fff;overflow:hidden}
.page-hero-image{position:absolute;inset:0;overflow:hidden}
.page-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);will-change:transform}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,19,17,.94) 0%,rgba(15,19,17,.83) 38%,rgba(15,19,17,.48) 68%,rgba(15,19,17,.28) 100%);z-index:1}
.page-hero .wrap{position:relative;z-index:2}
.breadcrumbs{font-size:13px;color:#C7D1C9;margin-bottom:26px}
.breadcrumbs a:hover{color:var(--green)}
.page-hero h1{max-width:860px;margin:14px 0 18px;font-size:clamp(43px,4.55vw,68px);line-height:.98;letter-spacing:-.05em;text-wrap:balance}
.page-hero p{max-width:760px;margin:0;font-size:19px;line-height:1.55;color:#E4ECE5}

/* Shared blocks */
.problems,.services,.overview,.content-block,.branches,.faq{padding:100px 0;background:#fff}
.benefits{padding:100px 0;background:#EEF3EC}
.highlight{padding:100px 0;background:#182019;color:#fff}
.highlight .kicker{color:var(--green)}
.highlight .section-head p,.highlight p{color:#C4CEC6}
.cards-3,.cards-4,.service-grid,.benefit-grid,.branch-grid{display:grid;gap:16px}
.cards-3,.service-grid,.benefit-grid{grid-template-columns:repeat(3,1fr)}
.cards-4,.branch-grid{grid-template-columns:repeat(4,1fr)}
.card,.service,.benefit,.branch-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px}
.card h3,.service h3,.benefit h3,.branch-card h3{margin:0 0 9px;font-size:21px;letter-spacing:-.02em}
.card p,.service p,.benefit p,.branch-card p{margin:0;color:var(--ink-muted);font-size:14px;line-height:1.6}
.meta{font-size:11px;font-weight:900;color:#438D2F;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.service .icon,.benefit .icon{color:#3E8F2D}
.service p{margin-bottom:16px}
.link-arrow{display:inline-block;margin-top:16px;font-size:13px;font-weight:800;color:#367D26}
.link-arrow:hover{text-decoration:underline}
.round{width:48px;height:48px;border-radius:12px;background:#E9F6E3;color:#377C26;display:grid;place-items:center;margin-bottom:17px}
.split{display:grid;grid-template-columns:1.03fr .97fr;gap:42px;align-items:center}
.split.reverse{grid-template-columns:.97fr 1.03fr}
.visual-box{border-radius:18px;border:1px solid rgba(23,32,25,.08);overflow:hidden;background:#fff;box-shadow:0 16px 40px rgba(23,32,25,.08)}
.visual-box img{width:100%;height:100%;object-fit:cover}
.list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.list li{position:relative;padding-left:18px;color:var(--ink-muted);line-height:1.58}
.list li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--green)}
.note{padding:22px 24px;border-left:4px solid var(--green);background:rgba(122,214,74,.10);border-radius:0 14px 14px 0;font-size:18px;line-height:1.55;color:#2A352B}
.note.dark{background:rgba(122,214,74,.08);color:#E5F0E6}
.process{padding:100px 0;background:#0F1311;color:#fff}
.process .kicker{color:var(--green)}
.process .section-head p{color:#B7C1B9}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.step{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.035)}
.step-num{font-size:11px;font-weight:900;color:var(--green);letter-spacing:.14em}
.step h3{font-size:21px;margin:19px 0 8px}
.step p{font-size:13px;line-height:1.55;color:#B8C2BA;margin:0}
.audit-strip{padding:34px 0;background:#EAF2E6;border-top:1px solid #D6E4D0;border-bottom:1px solid #D6E4D0}
.audit-strip .wrap{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.audit-strip strong{display:block;font-size:21px;margin-bottom:5px}
.audit-strip p{margin:0;color:#526055;line-height:1.55}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px}
.faq h2{font-size:clamp(34px,4vw,52px);line-height:1.06;letter-spacing:-.04em;text-wrap:pretty}
.faq-intro{color:var(--ink-muted);line-height:1.6}
.faq-list{display:grid;gap:9px}
details{border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 18px}
summary{cursor:pointer;padding:18px 3px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:#438D2F;font-size:22px}
details[open] summary::after{content:"–"}
details p{margin:0 3px 18px;color:var(--ink-muted);line-height:1.55;font-size:14px}
.cta{padding:95px 0;background:#E8F1E4}
.cta h2{max-width:1080px;font-size:clamp(34px,4vw,54px);line-height:1.06;letter-spacing:-.043em;text-wrap:pretty;margin:8px 0 14px}
.cta p{max-width:980px;font-size:17px;color:#566157;line-height:1.55;margin:0 0 26px}
.footer{background:var(--footer);color:#D8E0D9;padding:48px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}
.footer img{width:170px;margin-bottom:16px}
.footer p,.footer a{font-size:12px;color:#AAB4AA;line-height:1.7}
.footer h4{font-size:12px;margin:0 0 12px;color:#F0F5F0}
.footer-links{display:grid;gap:6px}
.footer-bottom{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:#818C83;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

[data-parallax]{will-change:transform}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-parallax]{transform:none!important}.btn{transition:none}}
@media(max-width:1100px){.cards-4,.branch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){
  .nav-links{display:none}.menu-toggle{display:block}
  .nav-links.open{display:flex;position:absolute;top:74px;left:0;right:0;padding:22px;background:#0F1311;flex-direction:column;align-items:stretch;border-top:1px solid rgba(255,255,255,.08);max-height:calc(100vh - 74px);overflow:auto}
  .dropdown{width:100%;display:block}.drop-toggle{justify-content:space-between;width:100%}.dropdown-menu{display:none;position:static;min-width:100%;margin-top:10px}.dropdown.open .dropdown-menu{display:block}
  .hero-photo{inset:74px 0 0 0;opacity:.46}.hero-photo::after{background:linear-gradient(90deg,rgba(15,19,17,.98),rgba(15,19,17,.72))}
  .hero-grid{grid-template-columns:1fr;min-height:690px}.hero-copy{padding:82px 0 105px}
  .cards-3,.service-grid,.benefit-grid,.split,.split.reverse,.faq-grid{grid-template-columns:1fr}
  .audit-strip .wrap{grid-template-columns:1fr}
}
@media(max-width:640px){
  .wrap{width:min(var(--max),calc(100% - 28px))}.brand img{width:150px}
  .hero{min-height:auto}.hero-grid{min-height:760px}.hero h1{font-size:44px}.page-hero h1{font-size:38px}
  .hero-lead,.page-hero p{font-size:17px}.hero-trust{gap:12px}
  .cards-4,.branch-grid,.process-grid{grid-template-columns:1fr}.section-head h2,.faq h2,.cta h2{font-size:35px}
  .footer-grid{grid-template-columns:1fr}.corner{display:none}
}


/* v2 review refinements */
.section-head.wide{max-width:none}
.section-head.wide h2,
.section-head.wide p{max-width:none}
.cta h2,.cta p{max-width:none}
.compact-page .page-hero h1{font-size:clamp(38px,4vw,58px)}
.compact-page .section-head h2{font-size:clamp(30px,3.05vw,45px)}
.compact-page .cta h2{font-size:clamp(31px,3.2vw,46px)}

.tight-bottom{padding-bottom:40px!important}
.tight-top{padding-top:40px!important}

.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.topic-card{
  border:1px solid var(--line);border-radius:14px;padding:25px;background:#fff
}
.topic-card h3{margin:0 0 9px;font-size:20px;letter-spacing:-.02em}
.topic-card p{margin:0;color:var(--ink-muted);line-height:1.58;font-size:14px}
.topic-card .meta{margin-bottom:12px}

.workflow{padding:94px 0;background:#182019;color:#fff}
.workflow .kicker{color:var(--green)}
.workflow .section-head p{color:#C4CEC6}
.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:34px}
.workflow-step{
  position:relative;padding:22px;border:1px solid rgba(255,255,255,.12);
  border-radius:13px;background:rgba(255,255,255,.035)
}
.workflow-step:not(:last-child)::after{
  content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);
  z-index:2;color:var(--green);font-weight:900;font-size:19px
}
.workflow-step strong{display:block;color:var(--green);font-size:11px;letter-spacing:.12em;margin-bottom:11px}
.workflow-step h3{margin:0 0 7px;font-size:19px}
.workflow-step p{margin:0;color:#BBC5BD;font-size:13px;line-height:1.55}

.branch-solutions{padding:100px 0;background:#EEF3EC}
.branch-results{padding:100px 0;background:#fff}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.result{
  padding:24px 25px;border-left:4px solid var(--green);background:#F6F9F4;
  border-radius:0 13px 13px 0
}
.result h3{margin:0 0 7px;font-size:20px}
.result p{margin:0;color:var(--ink-muted);line-height:1.55;font-size:14px}

.mini-faq{padding:92px 0;background:#F4F7F2}
.mini-faq .faq-list{max-width:none}
.mini-faq details{background:#fff}

.service-link{
  display:inline-flex;margin-top:14px;font-size:13px;font-weight:800;color:#367D26
}
.service-link:hover{text-decoration:underline}

@media(max-width:900px){
  .topic-grid,.result-grid{grid-template-columns:1fr}
  .workflow-grid{grid-template-columns:1fr 1fr}
  .workflow-step:not(:last-child)::after{display:none}
}
@media(max-width:600px){
  .workflow-grid{grid-template-columns:1fr}
}


/* v3: stronger flowing headings + deeper service pages */
.section-head.flow{
  max-width:none!important;
  width:100%;
}
.section-head.flow h2,
.section-head.flow p{
  max-width:none!important;
  width:100%;
  text-wrap:pretty;
}
.home-benefits-flow h2{
  max-width:none!important;
  width:100%;
  font-size:clamp(33px,3.35vw,48px)!important;
  line-height:1.08!important;
  text-wrap:pretty;
}
.home-benefits-flow p{
  max-width:none!important;
  width:100%;
}
.service-deep .page-hero h1{
  font-size:clamp(39px,4vw,58px);
}
.service-deep .section-head h2{
  font-size:clamp(30px,3.05vw,45px);
}
.service-deep .section-head.flow h2{
  font-size:clamp(31px,3.15vw,46px);
}
.service-deep .cta h2{
  font-size:clamp(31px,3.15vw,46px);
}
.service-deep .overview,
.service-deep .benefits,
.service-deep .content-block,
.service-deep .branch-solutions,
.service-deep .branch-results,
.service-deep .mini-faq{
  padding-top:88px;
  padding-bottom:88px;
}
.service-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.service-point{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px 25px;
}
.service-point .meta{
  margin-bottom:11px;
}
.service-point h3{
  margin:0 0 8px;
  font-size:20px;
  letter-spacing:-.02em;
}
.service-point p{
  margin:0;
  color:var(--ink-muted);
  font-size:14px;
  line-height:1.58;
}
.service-point.dark{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.12);
}
.service-point.dark h3{color:#fff}
.service-point.dark p{color:#BBC5BD}
.service-point.dark .meta{color:var(--green)}
.service-outcomes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.service-outcome{
  padding:24px 25px;
  background:#F7FAF5;
  border-left:4px solid var(--green);
  border-radius:0 13px 13px 0;
}
.service-outcome h3{
  margin:0 0 8px;
  font-size:20px;
}
.service-outcome p{
  margin:0;
  color:var(--ink-muted);
  line-height:1.56;
  font-size:14px;
}
.service-process{
  padding:88px 0;
  background:#182019;
  color:#fff;
}
.service-process .kicker{color:var(--green)}
.service-process .section-head p{color:#C4CEC6}
.service-process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}
.service-process-step{
  position:relative;
  padding:22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:rgba(255,255,255,.035);
}
.service-process-step:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-12px;
  top:50%;
  transform:translateY(-50%);
  color:var(--green);
  z-index:2;
  font-weight:900;
}
.service-process-step strong{
  color:var(--green);
  display:block;
  font-size:11px;
  letter-spacing:.13em;
  margin-bottom:10px;
}
.service-process-step h3{
  margin:0 0 7px;
  font-size:18px;
}
.service-process-step p{
  margin:0;
  color:#BBC5BD;
  font-size:13px;
  line-height:1.55;
}
.seo-note{
  font-size:12px;
  color:#687369;
  margin-top:18px;
}
@media(max-width:900px){
  .service-two-col,.service-outcomes{grid-template-columns:1fr}
  .service-process-grid{grid-template-columns:1fr 1fr}
  .service-process-step:not(:last-child)::after{display:none}
}
@media(max-width:600px){
  .service-process-grid{grid-template-columns:1fr}
}
