:root{--green:#031d12;--green-2:#073522;--gold:#c49a3a;--cream:#f3f0e8;--white:#fff;--ink:#152019;--muted:#68736c;--line:#d8ddd8;--shadow:0 24px 70px rgba(3,29,18,.12);--radius:2px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);background:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}body,button,a{-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);padding:12px 18px;background:#fff;color:#000}.skip-link:focus{transform:none}.site-header{height:72px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:28px;padding:0 max(20px,calc((100vw - var(--max))/2));background:rgba(3,29,18,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:17px;letter-spacing:.02em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;font-weight:900}.site-header nav{display:flex;gap:26px;margin-left:auto}.site-header nav a{text-decoration:none;color:#c7d0ca;font-size:14px}.site-header nav a:hover{color:#fff}.header-phone{color:var(--gold);text-decoration:none;font-weight:800;letter-spacing:.04em}.hero{min-height:calc(100vh - 72px);background:linear-gradient(100deg,var(--green) 0 58%,#06281a 58%);color:#fff;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);overflow:hidden}.hero-copy{width:min(calc(100% - 40px),730px);margin-right:0;align-self:center;padding:80px 30px 84px 0}.eyebrow,.kicker{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--gold)}.eyebrow{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin:0 0 28px}.eyebrow span:first-child{border:1px solid var(--gold);border-radius:50px;padding:7px 12px}.eyebrow span:nth-child(2){letter-spacing:.08em}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:800;letter-spacing:-.045em;line-height:.98}h1{font-size:clamp(46px,6.4vw,92px);max-width:900px;margin-bottom:28px}h1 em,h2 span{color:var(--gold);font-style:normal}.lead{max-width:660px;font-size:clamp(18px,2vw,22px);color:#d2dcd6}.hero-actions{display:flex;align-items:center;gap:26px;margin:34px 0}.button{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 24px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.11em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button strong{font-size:17px;letter-spacing:.04em}.button-gold{background:var(--gold);color:var(--green)}.button-dark{background:var(--green);color:#fff}.button-light{background:#fff;color:var(--green)}.text-link{color:#fff;text-underline-offset:5px}.trust-list{display:flex;flex-wrap:wrap;gap:16px 30px;padding:0;margin:0;list-style:none;color:#b9c8bf;font-size:13px}.trust-list li:before{content:'✓';color:var(--gold);margin-right:8px}.hero-visual{position:relative;display:grid;place-items:center;min-height:620px}.hero-visual:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(196,154,58,.14),transparent 55%)}.hero-visual img{position:relative;z-index:2;width:min(86%,620px);filter:drop-shadow(0 35px 32px rgba(0,0,0,.4))}.target-ring{position:absolute;width:min(72%,520px);aspect-ratio:1;border:34px solid #0b5a38;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15),0 0 0 2px #00140c}.target-ring:after{content:'';position:absolute;width:130%;height:34px;left:-15%;top:calc(50% - 17px);background:#0b5a38;transform:rotate(-45deg);box-shadow:0 0 0 2px #00140c}.hero-stamp{position:absolute;z-index:4;right:7%;bottom:8%;width:100px;height:100px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;text-align:center;text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.12em;transform:rotate(8deg)}.section{padding:120px 0}.split{display:grid;grid-template-columns:1.05fr .95fr}.image-frame{min-height:560px;background:#ddd;overflow:hidden}.image-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.problem{padding:0}.problem .container{width:100%;max-width:none}.problem-copy{background:var(--green);color:#fff;padding:clamp(60px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.problem-copy h2,.section-heading h2,.process h2,.why h2,.faq h2{font-size:clamp(40px,5vw,72px);margin-bottom:30px}.problem-copy>p:not(.kicker){font-size:19px;color:#d5ddd8;max-width:620px}.signal{margin-top:20px;padding:20px;border-left:2px solid var(--gold);display:grid;gap:4px;background:rgba(255,255,255,.04)}.signal span{color:#b9c8bf}.section-heading{margin-bottom:54px}.section-heading.row{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading.row>p{max-width:390px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-grid article{padding:38px 28px 34px;border-right:1px solid var(--line)}.feature-grid article:last-child{border-right:0}.feature-grid article>span{color:var(--gold);font-weight:800}.feature-grid h3{font-size:23px;margin:28px 0 14px}.feature-grid p{color:var(--muted);margin:0}.pricing{background:var(--cream)}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.price-card{position:relative;background:#fff;box-shadow:var(--shadow)}.price-card img{width:100%;height:300px;object-fit:cover;filter:grayscale(.4)}.price-card.featured img{filter:none}.price-body{padding:34px}.price-label{color:var(--gold);font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.12em}.price-body h3{font-size:30px;margin-bottom:4px}.price{font-size:54px;line-height:1;color:var(--gold);font-weight:800;margin:6px 0 20px}.price small{font-size:20px}.price-body>p:not(.price-label):not(.price){color:var(--muted)}.price-body ul{padding:0;margin:24px 0 30px;list-style:none}.price-body li{padding:8px 0;border-bottom:1px solid var(--line)}.price-body li:before{content:'✓';color:var(--gold);margin-right:10px}.price-body .button{width:100%}.tag{position:absolute;right:14px;top:14px;z-index:2;background:var(--gold);color:var(--green);padding:8px 11px;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.process{background:var(--green);color:#fff}.process-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:center}.process-photo{height:760px;overflow:hidden}.process-photo img{width:100%;height:100%;object-fit:cover}.steps{list-style:none;padding:0;margin:40px 0 0}.steps li{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;border-top:1px solid rgba(255,255,255,.14)}.steps li>span{color:var(--gold);font-size:13px;font-weight:800}.steps h3{font-size:21px;margin-bottom:5px}.steps p{color:#b9c8bf;margin:0;max-width:660px}.why h2{margin-bottom:52px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-grid>div{padding:28px;border:1px solid var(--line);min-height:180px}.why-grid b{font-size:20px}.why-grid p{color:var(--muted);margin:18px 0 0}.reviews{background:var(--cream);overflow:hidden}.rating{display:grid;text-align:right}.rating b{font-size:34px}.rating span{color:var(--gold);letter-spacing:.1em}.rating small{color:var(--muted)}.carousel{overflow:hidden;cursor:grab;touch-action:pan-y}.carousel:active{cursor:grabbing}.review-track{display:flex;gap:22px;width:max-content;will-change:transform}.review{width:min(420px,calc(100vw - 50px));min-height:300px;background:#fff;border-top:5px solid var(--green);padding:32px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 30px rgba(3,29,18,.07)}.stars{color:#f2b900;letter-spacing:.12em}.review blockquote{font-size:19px;margin:28px 0;line-height:1.55}.review footer{display:grid}.review footer span{color:var(--muted);font-size:13px}.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:26px;color:var(--muted);font-size:12px}.carousel-controls button{width:48px;height:48px;border:1px solid var(--green);background:transparent;color:var(--green);font-size:20px;cursor:pointer}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.faq-layout>div:first-child>p:last-child{color:var(--muted);max-width:430px}.accordion details{border-top:1px solid var(--line);padding:0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{position:relative;padding:25px 48px 25px 0;cursor:pointer;font-weight:800;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:'+';position:absolute;right:4px;color:var(--gold);font-size:26px;top:17px}.accordion details[open] summary:after{content:'−'}.accordion details p{color:var(--muted);padding:0 50px 24px 0;margin:0}.final-cta{padding:110px 0;background:var(--gold);color:var(--green);text-align:center}.final-cta .kicker{color:var(--green)}.final-cta h2{font-size:clamp(44px,6vw,82px);margin:0 auto 36px}.final-cta h2 span{color:#fff}.final-cta .button{min-width:320px}.final-cta>div>p:last-child{margin:24px 0 0;font-size:13px}.footer{padding:52px 0;background:var(--green);color:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:40px;align-items:start}.footer-grid>div{display:grid;gap:8px}.footer-grid>div span,.footer-grid>div a,.footer-grid>p{color:#aebdb4;font-size:14px}.brand:focus-visible,.site-header a:focus-visible,.button:focus-visible,.carousel:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffd56d;outline-offset:4px}@media(max-width:900px){.site-header nav{display:none}.header-phone{margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{width:min(calc(100% - 40px),var(--max));margin:auto;padding:66px 0 25px}.hero-visual{min-height:410px}.hero-visual img{width:min(72%,430px)}.target-ring{width:min(60%,340px);border-width:24px}.target-ring:after{height:24px;top:calc(50% - 12px)}.split{grid-template-columns:1fr}.image-frame{min-height:420px}.problem-copy{padding:70px max(20px,calc((100vw - var(--max))/2))}.feature-grid,.why-grid{grid-template-columns:1fr 1fr}.feature-grid article:nth-child(2){border-right:0}.feature-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.process-layout{grid-template-columns:.8fr 1.2fr;gap:50px}.faq-layout{grid-template-columns:1fr;gap:45px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid .brand{grid-column:1/-1}}@media(max-width:640px){.container{width:min(calc(100% - 32px),var(--max))}.site-header{height:62px;padding:0 16px}.site-header .brand{font-size:14px}.header-phone{font-size:13px}.hero{background:var(--green)}.hero-copy{padding-top:52px}.eyebrow{font-size:10px;gap:9px 12px}h1{font-size:46px}.lead{font-size:17px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{text-align:center}.hero-actions .button{width:100%}.trust-list{gap:8px 16px}.hero-visual{min-height:340px}.hero-stamp{width:76px;height:76px;font-size:8px;right:5%}.section{padding:78px 0}.image-frame{min-height:300px}.problem-copy{padding:65px 20px}.problem-copy h2,.section-heading h2,.process h2,.why h2,.faq h2{font-size:41px}.problem-copy>p:not(.kicker){font-size:17px}.section-heading.row{display:block}.section-heading.row>p{margin-top:22px}.feature-grid,.price-grid,.why-grid{grid-template-columns:1fr}.feature-grid article{border-right:0;border-bottom:1px solid var(--line)!important}.feature-grid article:last-child{border-bottom:0!important}.price-card img{height:240px}.price-body{padding:28px 24px}.process-layout{grid-template-columns:1fr}.process-photo{height:380px}.steps li{grid-template-columns:42px 1fr}.why-grid>div{min-height:0}.rating{text-align:left;margin-top:20px}.review{min-height:280px;padding:26px}.review blockquote{font-size:17px}.carousel-controls{justify-content:space-between}.carousel-controls span{display:none}.final-cta{padding:80px 0}.final-cta .button{min-width:0;width:100%}.footer{padding-bottom:38px}.footer-grid{grid-template-columns:1fr}.footer-grid .brand{grid-column:auto}.header-phone{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Approved, targeted content and typography adjustments. */
:root {
  --gold-text-light: #876313;
  --muted-on-cream: #626d66;
}

.button {
  align-items: baseline;
  gap: 17px;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1;
}

.button span,
.button strong {
  font-family: inherit;
  line-height: 1;
}

.button strong {
  font-weight: 900;
}

.hero-phone-cta {
  min-width: 270px;
  min-height: 92px;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  padding: 15px 30px;
  text-align: center;
}

.hero-phone-cta span {
  font-size: 11px;
  letter-spacing: .14em;
}

.hero-phone-cta strong {
  font-size: 25px;
  letter-spacing: .045em;
}

.price-body .price-cta {
  width: 100%;
  min-height: 68px;
  padding: 18px 24px;
  align-items: center;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
}

.steps li {
  grid-template-columns: 72px 1fr;
  gap: 30px;
  align-items: start;
}

.steps li > span {
  color: var(--gold);
  font-size: clamp(44px, 4vw, 58px);
  font-weight: 900;
  line-height: .85;
  letter-spacing: -.04em;
}

.service-area {
  background: var(--green);
  color: #fff;
}

.service-area-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9vw;
  align-items: center;
}

.service-area h2,
.qualification h2 {
  font-size: clamp(40px, 5vw, 72px);
  margin-bottom: 30px;
}

.service-area-layout > div > p:last-child {
  max-width: 600px;
  color: #b9c8bf;
  font-size: 18px;
}

.service-area ul {
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.service-area li {
  padding: 18px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  font-size: 20px;
  font-weight: 800;
}

.service-area li::before {
  content: '✓';
  color: var(--gold);
  margin-right: 14px;
}

.qualification {
  background: #fff;
}

.qualification-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.qualification-grid article {
  padding: 34px;
  border: 1px solid var(--line);
}

.qualification-grid article:first-child {
  border-top: 4px solid var(--gold);
}

.qualification-grid article:last-child {
  border-top: 4px solid var(--green);
}

.qualification-grid h3 {
  font-size: 27px;
  margin-bottom: 10px;
}

.qualification-grid article > p {
  color: var(--muted);
}

.qualification-grid ul {
  padding: 0;
  margin: 20px 0 0;
  list-style: none;
}

.qualification-grid li {
  position: relative;
  padding: 9px 0 9px 28px;
  border-top: 1px solid var(--line);
}

.qualification-grid li::before {
  content: '✓';
  position: absolute;
  left: 2px;
  color: var(--gold);
  font-weight: 900;
}

.qualification-grid article:last-child li::before {
  content: '—';
  color: var(--muted);
}

.qualification-note {
  max-width: 800px;
  margin: 28px 0 0;
  padding-left: 18px;
  border-left: 2px solid var(--gold);
  font-weight: 800;
}

.reviews .section-heading.row {
  align-items: center;
}

.reviews .section-heading.row > div:first-child {
  flex: 1;
}

.rating {
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
  min-width: 270px;
  padding: 8px 0 8px 28px;
  border-left: 1px solid rgba(3, 29, 18, .18);
  text-align: left;
}

.rating b {
  grid-row: 1 / 3;
  font-size: 42px;
  line-height: 1;
}

.rating span {
  align-self: end;
  line-height: 1;
}

.rating small {
  align-self: start;
  line-height: 1.3;
}

.review {
  height: 320px;
  min-height: 320px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  justify-content: stretch;
}

.review .stars {
  min-height: 25px;
  line-height: 1;
}

.review blockquote {
  align-self: start;
  margin: 28px 0 22px;
}

.review footer {
  align-self: end;
}

.final-phone-cta {
  width: min(100%, 440px);
  min-height: 104px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 17px 34px;
  text-align: center;
}

.final-phone-cta span {
  font-size: 12px;
  letter-spacing: .13em;
}

.final-phone-cta strong {
  font-size: 29px;
  letter-spacing: .045em;
}

.final-area {
  margin-top: 28px;
  color: var(--green);
}

.final-area small {
  display: block;
  margin-bottom: 9px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.final-area p {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 9px;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

.final-area i {
  color: rgba(3, 29, 18, .86);
  font-style: normal;
}

.footer-grid {
  grid-template-columns: 1.25fr .8fr 1.45fr auto;
  column-gap: 48px;
}

.footer-grid > div {
  min-width: 0;
}

.footer-grid > div span {
  max-width: 310px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .service-area-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 34px 44px;
  }
}

@media (max-width: 640px) {
  .steps li {
    grid-template-columns: 54px 1fr;
    gap: 18px;
  }

  .steps li > span {
    font-size: 44px;
  }

  .qualification-grid {
    grid-template-columns: 1fr;
  }

  .qualification-grid article {
    padding: 28px 24px;
  }

  .hero-phone-cta {
    width: min(100%, 330px) !important;
    min-height: 88px;
    margin-inline: auto;
    padding: 14px 24px;
  }

  .hero-phone-cta strong {
    font-size: 24px;
  }

  .price-body .price-cta {
    min-height: 70px;
    padding: 19px 20px;
  }

  .reviews .section-heading.row {
    display: grid;
    gap: 26px;
  }

  .rating {
    width: 100%;
    min-width: 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(3, 29, 18, .18);
    border-left: 0;
  }

  .review {
    height: 310px;
    min-height: 310px;
  }

  .final-phone-cta {
    width: 100%;
    min-height: 100px;
    padding: 16px 24px;
  }

  .final-phone-cta strong {
    font-size: 27px;
  }

  .final-area p {
    gap: 3px 7px;
    font-size: 13px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-grid > div span {
    max-width: 100%;
  }
}

.mobile-call {
  display: none;
}

.solution .kicker,
.solution .section-heading h2 span,
.feature-grid article > span,
.pricing .kicker,
.pricing .section-heading h2 span,
.price-label,
.price,
.price-body li::before,
.why .kicker,
.why h2 span,
.qualification .kicker,
.qualification .section-heading h2 span,
.qualification-grid article:first-child li::before,
.reviews .kicker,
.reviews .section-heading h2 span,
.reviews .rating span,
.reviews .stars,
.faq .kicker,
.faq h2 span,
.accordion summary::after {
  color: var(--gold-text-light);
}

.pricing .section-heading.row > p,
.reviews .rating small,
.reviews .carousel-controls {
  color: var(--muted-on-cream);
}

.final-cta {
  background: #b88c2c;
}

@keyframes mobile-call-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.025); }
}

@media (max-width: 767px) {
  body {
    padding-bottom: 100px;
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-call {
    position: fixed;
    z-index: 9999;
    left: 12px;
    right: 12px;
    bottom: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: auto;
    max-width: none;
    height: 76px;
    min-height: 0;
    max-height: 76px;
    margin: 0;
    padding: 8px 18px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 18px;
    background: var(--gold);
    color: var(--green);
    box-shadow: 0 8px 24px rgba(3, 29, 18, .28);
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transform-origin: center bottom;
    will-change: transform;
    animation: mobile-call-pulse 2.4s ease-in-out infinite;
  }

  .mobile-call span,
  .mobile-call strong {
    display: block;
    margin: 0;
    padding: 0;
    font-family: inherit;
    text-align: center;
  }

  .mobile-call span {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.25px;
    line-height: 1.1;
  }

  .mobile-call strong {
    font-size: 28px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: 1px;
    line-height: 1;
  }

  .mobile-call:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
  }

  .mobile-call:active {
    animation: none;
    box-shadow: 0 4px 16px rgba(3, 29, 18, .28);
    transform: scale(.97);
  }
}

@media (hover: hover) and (pointer: fine) and (max-width: 767px) {
  .mobile-call:hover {
    animation-play-state: paused;
    transform: translateY(-2px) scale(1.02);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-call {
    animation: none;
    will-change: auto;
  }
}

/* Final UX/UI restoration. Kept in the single production stylesheet. */
:root {
  --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
  --text-on-dark: #f3f7f4;
  --muted-on-dark: #b9c8bf;
  --green-card: #073522;
  --radius-ui: 8px;
}

body,
button,
input,
textarea,
select,
.button,
.mobile-call {
  font-family: var(--font-sans);
}

h1,
h2,
h3,
.brand,
.footer-title {
  font-family: var(--font-sans);
}

body {
  line-height: 1.6;
}

h1,
h2 {
  font-weight: 850;
}

h3 {
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.15;
}

.section {
  padding-block: 104px;
}

.button {
  border-radius: 4px;
}

.steps li > span {
  font-size: clamp(42px, 3.8vw, 52px);
  line-height: .88;
}

.why {
  padding-bottom: 96px;
  background: linear-gradient(135deg, var(--green) 0%, #062d1d 100%);
  color: var(--text-on-dark);
}

.why .kicker,
.why h2 span,
.service-area .kicker,
.service-area h2 span {
  color: var(--gold);
}

.why h2 {
  max-width: 980px;
  margin-bottom: 48px;
}

.why-grid {
  gap: 18px;
}

.why-grid > div {
  min-height: 218px;
  padding: 30px 28px;
  border: 1px solid rgba(196, 154, 58, .34);
  border-radius: 4px;
  background: rgba(7, 53, 34, .72);
  box-shadow: 0 18px 36px rgba(0, 0, 0, .1);
}

.why-grid > div:nth-child(even) {
  background: rgba(10, 67, 43, .66);
}

.why-grid b {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}

.why-grid b::after {
  content: '';
  display: block;
  width: 34px;
  height: 2px;
  margin-top: 16px;
  background: var(--gold);
}

.why-grid p {
  margin-top: 18px;
  color: var(--muted-on-dark);
}

.service-area {
  padding-top: 88px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  background: #05291b;
  color: var(--text-on-dark);
}

.service-area-layout {
  grid-template-columns: .95fr 1.05fr;
  gap: 8vw;
}

.service-area ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  border-top: 0;
}

.service-area li {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 66px;
  padding: 15px 18px 15px 44px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 4px;
  background: rgba(255, 255, 255, .045);
  color: var(--text-on-dark);
  font-size: 17px;
  line-height: 1.25;
}

.service-area li::before {
  content: '';
  position: absolute;
  left: 20px;
  width: 7px;
  height: 7px;
  margin: 0;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(196, 154, 58, .12);
}

.qualification {
  background: var(--cream);
}

.qualification-grid article {
  min-height: 100%;
  padding: 38px;
  border: 1px solid rgba(3, 29, 18, .14);
  border-radius: var(--radius-ui);
  background: #fff;
  box-shadow: 0 18px 50px rgba(3, 29, 18, .07);
}

.qualification-grid article:first-child {
  border-color: rgba(196, 154, 58, .42);
  border-top: 5px solid var(--gold);
  background: var(--green-card);
  color: #fff;
}

.qualification-grid article:last-child {
  border-top: 5px solid var(--green);
}

.qualification-grid h3 {
  font-size: 28px;
}

.qualification-grid article:first-child > p {
  color: var(--muted-on-dark);
}

.qualification-grid li {
  padding-block: 11px;
}

.qualification-grid article:first-child li {
  border-color: rgba(255, 255, 255, .13);
  color: #eef4f0;
}

.qualification-grid article:first-child li::before {
  color: var(--gold);
}

.qualification-grid article:last-child li::before {
  color: var(--gold-text-light);
}

.qualification-note {
  max-width: 850px;
  margin-top: 30px;
  padding: 18px 20px;
  border-left: 3px solid var(--gold-text-light);
  background: rgba(255, 255, 255, .58);
  color: var(--green);
}

.final-cta {
  padding-block: 96px;
}

.final-phone-cta {
  flex-direction: row;
  width: min(100%, 440px);
  min-height: 72px;
  gap: 14px;
  padding: 16px 30px;
  border-radius: var(--radius-ui);
  box-shadow: 0 12px 30px rgba(3, 29, 18, .16);
}

.final-phone-cta:hover {
  background: #f7f7f3;
  box-shadow: 0 16px 34px rgba(3, 29, 18, .2);
}

.final-phone-cta strong {
  font-size: 25px;
}

.footer {
  padding: 58px 0 48px;
  border-top: 1px solid rgba(196, 154, 58, .18);
}

.footer-grid {
  grid-template-columns: 1.15fr .75fr 1.35fr auto;
  gap: 42px;
}

.footer-column {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.footer-title {
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.01em;
}

.footer-grid > .footer-column a {
  width: fit-content;
  color: var(--gold);
  font-size: 18px;
  font-weight: 850;
  letter-spacing: .03em;
  text-decoration: none;
}

.footer-areas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 18px;
  padding: 0;
  margin: 0;
  color: #b9c8bf;
  font-size: 14px;
  line-height: 1.55;
  list-style: none;
}

.footer-areas li::before {
  content: '•';
  margin-right: 7px;
  color: var(--gold);
}

.footer-grid > p {
  margin-top: 3px;
  white-space: nowrap;
}

.footer a:focus-visible {
  outline: 3px solid #ffd56d;
  outline-offset: 4px;
}

@media (max-width: 1100px) {
  .footer-grid {
    grid-template-columns: 1fr .7fr 1.2fr auto;
    gap: 30px;
  }

  .footer-areas {
    grid-template-columns: 1fr;
  }
}

/* Final CTA: phone-first hierarchy and local service-area chips. */
.final-cta {
  padding-block: 86px;
}

.final-cta h2 {
  margin-bottom: 28px;
}

.final-call-label {
  margin: 0 0 12px;
  color: var(--green);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.final-phone-cta {
  width: min(100%, 430px);
  min-height: 78px;
  padding: 16px 42px;
  border-radius: var(--radius-ui);
  box-shadow: 0 12px 28px rgba(3, 29, 18, .16);
  transition: transform .2s ease, opacity .2s ease, background-color .2s ease;
}

.final-phone-cta strong {
  display: block;
  width: 100%;
  color: var(--green);
  font-size: 34px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  letter-spacing: .045em;
  line-height: 1;
  text-align: center;
}

.final-phone-cta:hover {
  background: #f7f7f3;
  box-shadow: 0 12px 28px rgba(3, 29, 18, .16);
  transform: translateY(-2px) scale(1.01);
}

.final-phone-cta:active {
  transform: translateY(0) scale(.99);
}

.final-phone-cta:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 4px;
}

.final-area {
  width: min(100%, 1020px);
  margin: 34px auto 0;
  padding-top: 28px;
  border-top: 1px solid rgba(3, 29, 18, .28);
  color: var(--green);
}

.final-area h3 {
  margin: 0 0 8px;
  color: var(--green);
  font-size: clamp(22px, 2.2vw, 27px);
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.15;
  text-transform: uppercase;
}

.final-area .final-area-copy {
  display: block;
  margin: 0;
  color: #173c2c;
  font-size: 16px;
  font-weight: 650;
}

.final-area-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  padding: 0;
  margin: 22px 0 0;
  list-style: none;
}

.final-area-list li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 17px 12px 34px;
  border: 1px solid rgba(196, 154, 58, .78);
  border-radius: 6px;
  background: var(--green);
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
}

.final-area-list li::before {
  content: '';
  position: absolute;
  left: 16px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}

@media (min-width: 641px) {
  .final-area-list li {
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .final-cta {
    padding-block: 70px;
  }

  .final-cta h2 {
    margin-bottom: 24px;
  }

  .final-call-label {
    margin-bottom: 10px;
    font-size: 13px;
  }

  .final-phone-cta {
    width: 100%;
    min-height: 76px;
    padding: 14px 22px;
  }

  .final-phone-cta strong {
    font-size: 29px;
    letter-spacing: .035em;
  }

  .final-area {
    margin-top: 30px;
    padding-top: 25px;
  }

  .final-area h3 {
    font-size: 22px;
  }

  .final-area .final-area-copy {
    font-size: 15px;
  }

  .final-area-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 19px;
  }

  .final-area-list li {
    min-height: 58px;
    padding: 10px 10px 10px 25px;
    font-size: 14px;
  }

  .final-area-list li::before {
    left: 11px;
  }

  .final-area-list li:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 360px) {
  .final-area-list {
    grid-template-columns: 1fr;
  }

  .final-area-list li:last-child {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .service-area-layout {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px 44px;
  }

  .footer-grid .brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .section {
    padding-block: 72px;
  }

  .steps li > span {
    font-size: 36px;
  }

  .why {
    padding-bottom: 72px;
  }

  .why-grid > div {
    min-height: 0;
    padding: 26px 24px;
  }

  .service-area {
    padding-top: 72px;
  }

  .service-area-layout {
    gap: 34px;
  }

  .service-area ul {
    grid-template-columns: 1fr;
  }

  .service-area li {
    min-height: 58px;
    font-size: 16px;
  }

  .qualification-grid article {
    padding: 29px 24px;
  }

  .qualification-note {
    margin-top: 24px;
    padding: 16px 17px;
  }

  .final-cta {
    padding-block: 70px;
  }

  .final-phone-cta {
    flex-direction: column;
    width: min(100%, 400px);
    min-height: 76px;
    gap: 4px;
    padding: 14px 22px;
  }

  .final-phone-cta strong {
    font-size: 29px;
    letter-spacing: .035em;
  }

  .footer {
    padding: 48px 0 38px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-grid .brand {
    grid-column: auto;
  }

  .footer-areas {
    grid-template-columns: 1fr;
  }
}
