:root{--green:#082d25;--green-2:#0e4a3b;--green-3:#19705a;--cream:#f8f6f0;--paper:#fff;--ink:#12231d;--muted:#60716a;--gold:#f2c66b;--gold-deep:#cd8a21;--gold-light:#ffe8ae;--gold-pale:#fff1d1;--line:#dbe5e0;--shadow:0 24px 70px rgba(4,32,25,.16);--radius:24px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
body:has(.menu-panel.open){overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button,a,summary{touch-action:manipulation}
.wrap{width:min(1180px,calc(100% - 34px));margin-inline:auto}
.skip-link{position:fixed;left:12px;top:-80px;z-index:200;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}
.offer-bar{min-height:36px;padding:8px 16px;display:flex;gap:8px;align-items:center;justify-content:center;background:linear-gradient(90deg,#041d17,#0a3b2f 50%,#041d17);color:#dcebe5;text-align:center;font-size:.78rem;letter-spacing:.01em;box-shadow:inset 0 -1px rgba(244,203,112,.17)}
.offer-bar strong{color:var(--gold-light)}
.site-header{height:76px;position:sticky;top:0;z-index:90;background:rgba(252,253,251,.92);border-bottom:1px solid rgba(11,52,42,.09);box-shadow:0 8px 30px rgba(3,31,24,.06);backdrop-filter:blur(18px) saturate(1.2)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:11px;color:var(--green);font:700 1.04rem/1.05 "Playfair Display",serif}
.brand img{width:48px;height:42px;object-fit:contain}
.brand small{display:block;margin-top:4px;color:#718079;font:700 .57rem/1 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.desktop-nav{display:none}
.nav-actions{display:flex;align-items:center;gap:9px}
.phone-link{display:none;color:var(--green);font-weight:800}
.phone-link small{display:block;color:#75827d;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.menu-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;display:grid;place-content:center;gap:4px;cursor:pointer}
.menu-toggle span{display:block;width:18px;height:2px;background:var(--green);border-radius:3px}
.menu-panel{position:fixed;z-index:85;top:118px;right:17px;width:min(320px,calc(100vw - 34px));padding:10px;background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.2s ease}
.menu-panel.open{opacity:1;transform:none;pointer-events:auto}
.menu-panel a{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:12px;color:var(--green);font-weight:800}
.menu-panel a:hover,.menu-panel a:focus-visible{background:#edf4f1}
h1,h2,h3{margin:0;color:var(--green);font-family:"Playfair Display",serif;line-height:1.03;letter-spacing:-.035em}
h1{font-size:clamp(2.7rem,12vw,5.8rem)}
h2{font-size:clamp(2.15rem,8vw,3.75rem)}
h3{font-size:1.35rem}
p{margin:0}
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 12px;color:var(--green-2);font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow:before{content:"";width:26px;height:2px;background:var(--gold)}
.eyebrow.light{color:#f5d996}
.btn{min-height:54px;padding:0 22px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-2px)}
.btn-gold{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--gold-light) 0%,var(--gold) 42%,#e3a63a 100%);color:#14271f;box-shadow:0 12px 30px rgba(161,105,15,.28),inset 0 1px rgba(255,255,255,.7);border:1px solid rgba(183,120,18,.28)}
.btn-gold:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 18%,rgba(255,255,255,.45) 44%,transparent 68%);transform:translateX(-130%);transition:transform .55s ease}
.btn-gold:hover:after,.btn-gold:focus-visible:after{transform:translateX(130%)}
.btn-ghost{border:1px solid rgba(255,255,255,.52);background:rgba(255,255,255,.07);color:#fff}
.btn-dark{width:100%;background:var(--green);color:#fff}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 82% 13%,rgba(247,205,112,.21),transparent 24%),radial-gradient(circle at 12% 82%,rgba(43,159,119,.28),transparent 28%),linear-gradient(138deg,#041b16 0%,#082f27 43%,#0c5946 100%);color:#fff;padding:52px 0 58px}
.hero:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(145deg,black,transparent 72%)}
.hero:after{content:"";position:absolute;z-index:-1;width:780px;height:780px;right:-500px;top:-420px;border-radius:50%;border:1px solid rgba(255,222,150,.28);box-shadow:0 0 0 74px rgba(255,255,255,.018),0 0 0 148px rgba(243,198,107,.025),inset 0 0 120px rgba(238,189,84,.08)}
.hero-orb{position:absolute;z-index:-1;border:1px solid rgba(241,214,151,.24);border-radius:50%;backdrop-filter:blur(3px);box-shadow:inset 0 0 50px rgba(255,255,255,.025)}
.hero-orb-one{width:310px;height:310px;right:-190px;top:255px}
.hero-orb-two{width:350px;height:350px;left:-250px;bottom:-160px}
.hero-grid{position:relative;z-index:1;display:grid;gap:36px}
.hero-copy h1{max-width:790px;color:#fff;text-wrap:balance;text-shadow:0 9px 34px rgba(0,0,0,.2)}.hero-copy h1 span{display:block;width:fit-content;background:linear-gradient(105deg,#fff3c9 0%,#f2c66b 44%,#fff1bd 82%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}
.hero-lead{max-width:650px;margin-top:20px;color:#dbe9e3;font-size:1.05rem;line-height:1.7}.hero-lead strong{color:#fff;font-weight:800}
.google-rating-chip{width:fit-content;max-width:100%;margin-top:18px;padding:9px 13px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:.76rem}.google-g{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#4285f4;font-weight:900;box-shadow:0 3px 9px rgba(0,0,0,.13)}.rating-stars{color:#f5bd43;letter-spacing:.06em}
.hero-offer{width:fit-content;max-width:100%;margin-top:23px;padding:9px 17px 9px 9px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,225,159,.46);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045));box-shadow:0 14px 38px rgba(0,0,0,.13),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(12px)}
.hero-offer .discount{width:64px;height:64px;border-radius:14px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,var(--gold-light),#e1a13a);color:#163328;font-size:1.35rem;font-weight:900;line-height:.85;box-shadow:0 9px 22px rgba(164,104,12,.28),inset 0 1px rgba(255,255,255,.7);transform:rotate(-2deg)}
.hero-offer .discount small{font-size:.58rem;letter-spacing:.12em}
.hero-offer b,.hero-offer>span:last-child small{display:block}
.hero-offer b{font-size:.96rem}
.hero-offer>span:last-child small{margin-top:2px;color:#c8dbd4;font-size:.75rem}
.hero-actions{display:grid;gap:10px;margin-top:24px}
.assurance-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.assurance-row span{padding:8px 10px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.06);color:#d9e9e2;font-size:.72rem;font-weight:700;backdrop-filter:blur(8px)}
.quote-card{scroll-margin-top:105px;border:1px solid rgba(255,255,255,.68);border-radius:29px;background:rgba(255,255,255,.985);color:var(--ink);box-shadow:0 34px 90px rgba(0,0,0,.33),0 0 0 6px rgba(255,255,255,.035);overflow:hidden}
.quote-heading{padding:23px 21px 18px;background:radial-gradient(circle at 90% 0,rgba(242,198,107,.18),transparent 34%),linear-gradient(145deg,#fff,#faf5e8);border-bottom:1px solid var(--line)}
.step-label{display:inline-block;margin-bottom:8px;color:#8a651f;font-size:.65rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.quote-heading h2{font-size:2rem}
.quote-heading p{margin-top:7px;color:var(--muted);font-size:.88rem}
.quote-card form{padding:20px}
.form-grid{display:grid;gap:11px}
.field{display:grid;gap:5px}
.field span,.contact-choice legend{color:#405049;font-size:.72rem;font-weight:800}.field span small,.contact-choice legend small{color:#7b8983;font-weight:600}
.field input,.field select,.extras-grid select{width:100%;min-height:50px;border:1px solid #cfdbd6;border-radius:12px;background:#fff;color:var(--ink);padding:0 12px;outline:none;transition:border .16s,box-shadow .16s}
.field input:focus,.field select:focus,.extras-grid select:focus{border-color:var(--green-3);box-shadow:0 0 0 3px rgba(29,105,83,.11)}
.contact-choice{margin:15px 0 0;padding:0;border:0}
.contact-choice legend{margin-bottom:7px}
.choice-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.choice-row label{position:relative}
.choice-row input{position:absolute;opacity:0}
.choice-row span{min-height:43px;display:grid;place-items:center;border:1px solid #cfdbd6;border-radius:11px;color:var(--green);font-size:.69rem;font-weight:800}
.choice-row input:checked+span{border-color:var(--green);background:var(--green);color:#fff}
.extras-panel{margin-top:14px;border:1px solid #d3ded9;border-radius:13px;background:#f7faf8}
.extras-panel summary{padding:13px 14px;color:var(--green);font-size:.78rem;font-weight:800;cursor:pointer}
.extras-grid{display:grid;gap:9px;padding:0 12px 13px}
.extras-grid>label:not(.upholstery){display:grid;grid-template-columns:1fr 76px;align-items:center;gap:10px;color:#53615b;font-size:.74rem}
.extras-grid b{display:block;color:var(--green);font-size:.69rem}
.extras-grid select{min-height:42px}
.upholstery{display:flex;align-items:center;gap:9px;color:#45564f;font-size:.76rem;font-weight:700}
.upholstery input{width:18px;height:18px;accent-color:var(--green)}
.submit{width:100%;margin-top:16px}
.form-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:#69766f;font-size:.69rem;text-align:center}
.form-note span{color:var(--green);font-weight:900}
.trust-bar{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.trust-grid div{padding:17px 12px;text-align:center;border-bottom:1px solid var(--line)}
.trust-grid div:nth-child(odd){border-right:1px solid var(--line)}
.trust-grid b,.trust-grid span{display:block}
.trust-grid b{color:var(--green);font-size:.83rem}
.trust-grid span{color:var(--muted);font-size:.67rem}
.reviews-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f8f6f0,#eef4f0)}.reviews-section:before{content:"";position:absolute;width:480px;height:480px;right:-230px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(242,198,107,.2),transparent 67%);pointer-events:none}.reviews-heading{position:relative;display:grid;gap:24px;align-items:end}.reviews-heading h2{max-width:730px}.reviews-heading>div>p:not(.eyebrow){max-width:640px;margin-top:14px;color:var(--muted)}.google-score{width:fit-content;display:flex;align-items:center;gap:13px;padding:14px 17px;border:1px solid rgba(11,52,42,.12);border-radius:18px;background:rgba(255,255,255,.83);box-shadow:0 14px 38px rgba(6,45,35,.09),inset 0 1px #fff;backdrop-filter:blur(14px)}.google-score>.google-g{width:38px;height:38px}.google-score>span:last-child{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center}.google-score strong{color:var(--green);font-size:1.35rem}.google-score small{grid-column:1/-1;color:var(--muted);font-size:.69rem}.review-grid{position:relative;display:grid;gap:14px;margin-top:30px}.review-card{padding:23px;border:1px solid rgba(11,52,42,.11);border-radius:23px;background:rgba(255,255,255,.91);box-shadow:0 16px 42px rgba(5,43,33,.09),inset 0 1px #fff}.review-card.featured{border-color:rgba(205,138,33,.33);background:linear-gradient(145deg,#fff,#fff9eb)}.review-top{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px}.review-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--green-2),var(--green));color:#fff;font-weight:900}.review-top b,.review-top small{display:block}.review-top b{color:var(--green)}.review-top small{margin-top:2px;color:var(--muted);font-size:.68rem}.review-mark{color:rgba(205,138,33,.26);font:700 3.3rem/.7 "Playfair Display",serif}.review-card>.rating-stars{margin-top:17px}.review-card blockquote{margin:11px 0 17px;color:#33463e;font-size:.94rem;line-height:1.75}.review-tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:#edf4f1;color:var(--green);font-size:.68rem;font-weight:800}.review-link{display:inline-flex;gap:7px;align-items:center;margin-top:20px;color:var(--green);font-weight:800;border-bottom:1px solid rgba(8,45,37,.3)}
.section{padding:72px 0}
.section-heading{display:grid;gap:12px;margin-bottom:28px}
.section-heading>p:not(.eyebrow){max-width:680px;color:var(--muted)}
.section-heading.centre{text-align:center;justify-items:center}
.section-heading.centre .eyebrow{justify-content:center}
.process-grid{display:grid;gap:12px}
.process-grid article{position:relative;overflow:hidden;min-height:200px;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(155deg,#fff 65%,#f2f7f4);box-shadow:0 12px 34px rgba(11,52,42,.065)}
.process-grid article:after{content:"";position:absolute;right:-36px;bottom:-44px;width:104px;height:104px;border-radius:50%;border:18px solid rgba(18,90,70,.045)}
.process-grid article>span{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#edf4f1;color:var(--green);font-weight:900;font-size:.75rem}
.process-grid h3{margin-top:26px;font-size:1.26rem}
.process-grid p{margin-top:8px;color:var(--muted);font-size:.87rem}
.included{background:var(--green);color:#fff}
.included-layout{display:grid;gap:32px}
.included-intro{align-self:start}
.included-intro h2{color:#fff}
.included-intro>p:not(.eyebrow){margin-top:16px;color:#ccded7}
.text-link{display:inline-block;margin-top:21px;color:var(--green);font-weight:800;border-bottom:1px solid currentColor}
.included .text-link{color:#f3d48f}
.checklist{display:grid;gap:9px}
.check-room{border:1px solid rgba(255,255,255,.17);border-radius:17px;background:rgba(255,255,255,.06);overflow:hidden}
.check-head{width:100%;padding:13px 15px;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;text-align:left;font-weight:800;cursor:pointer}
.check-head:after{content:"+";font-size:1.4rem;color:#f0d18a}
.check-room.open .check-head:after{content:"−"}
.check-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.1);color:#f2d38e;font-size:.68rem}
.check-body{display:none;padding:0 16px 17px 64px}
.check-room.open .check-body{display:block}
.check-body ul{display:grid;gap:7px;margin:3px 0 0;padding:0;list-style:none;color:#d0e0da;font-size:.82rem}
.check-body li:before{content:"✓";margin-right:8px;color:#f1d28e;font-weight:900}
.scope-card{display:grid;gap:10px;margin-top:28px}
.scope-card>div{padding:17px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.07)}
.scope-card b{color:#f2d48f}
.scope-card p{margin-top:5px;color:#caddd6;font-size:.78rem}
.price-explainer{background:#fff}
.price-panel{display:grid;gap:30px;align-items:center}
.price-panel>div:first-child>p:not(.eyebrow){margin-top:17px;color:var(--muted);font-size:1rem;max-width:630px}
.price-card{padding:24px;border:1px solid #e8c77b;border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(255,218,132,.35),transparent 34%),linear-gradient(145deg,#fffefb,#fae9c1);box-shadow:0 22px 54px rgba(116,75,9,.14),inset 0 1px rgba(255,255,255,.8)}
.price-card>span{color:#7c5b1e;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.price-card>strong{display:block;margin-top:3px;color:var(--green);font:700 2.7rem/1 "Playfair Display",serif}
.price-card>p{margin-top:7px;color:#6d624d;font-size:.82rem}
.price-card ul{display:grid;gap:7px;margin:17px 0 20px;padding:0;list-style:none;color:#47564f;font-size:.82rem}
.price-card li:before{content:"✓";margin-right:8px;color:var(--green);font-weight:900}
.promise-section{background:#113e33;color:#fff}
.promise-grid{display:grid;gap:23px;align-items:center}
.promise-number{width:150px;height:150px;display:grid;place-content:center;border-radius:50%;border:1px solid rgba(240,209,138,.65);background:rgba(255,255,255,.05);color:#f3d48f;text-align:center;font:700 4.4rem/.78 "Playfair Display",serif}
.promise-number small{display:block;margin-top:14px;color:#d4e4de;font:800 .68rem/1 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.promise-grid h2{color:#fff}
.promise-grid div:last-child>p:not(.eyebrow){margin-top:15px;color:#ccded7;max-width:720px}
.faq-section{background:#f0f4f1}
.faq-layout{display:grid;gap:28px}
.faq{display:grid;gap:9px}
.faq-item{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}
.faq-q{position:relative;width:100%;padding:17px 48px 17px 17px;border:0;background:#fff;color:var(--green);text-align:left;font-weight:800;cursor:pointer}
.faq-q:after{content:"+";position:absolute;right:17px;top:12px;font-size:1.45rem}
.faq-item.open .faq-q:after{content:"−"}
.faq-a{display:none;padding:0 17px 18px;color:var(--muted);font-size:.86rem}
.faq-item.open .faq-a{display:block}
.final-section{background:var(--cream)}
.final-cta{position:relative;isolation:isolate;overflow:hidden;padding:42px 22px;border:1px solid rgba(245,205,116,.2);border-radius:28px;background:radial-gradient(circle at 86% 14%,rgba(242,198,107,.17),transparent 24%),radial-gradient(circle at 8% 96%,rgba(37,143,106,.2),transparent 28%),linear-gradient(140deg,#051f19,#0c4839);color:#fff;text-align:center;box-shadow:var(--shadow)}
.final-cta .eyebrow{justify-content:center}
.final-cta h2{color:#fff}
.final-cta>p:not(.eyebrow){max-width:600px;margin:14px auto 23px;color:#d0e2db}
.final-actions{display:grid;gap:10px}
footer{padding:36px 0 105px;background:#07251e;color:#bfd2ca}
.footer-grid{display:grid;gap:18px}
.footer-grid b{color:#fff;font:700 1.35rem "Playfair Display",serif}
.footer-grid p{margin-top:4px;font-size:.8rem}
.footer-grid>div:nth-child(2){display:flex;gap:11px;flex-wrap:wrap;font-size:.8rem}
.footer-grid small{color:#779087}
.wa-float{position:fixed;right:13px;bottom:82px;z-index:99;min-height:58px;display:flex;align-items:center;gap:9px;padding:7px 15px 7px 8px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:linear-gradient(135deg,#31e879,#1fbd5b);color:#fff;box-shadow:0 14px 34px rgba(8,96,49,.38),0 0 0 0 rgba(37,211,102,.52);font-weight:800;animation:waHeartbeat 1.65s ease-in-out infinite;transform-origin:center;backdrop-filter:blur(10px)}
.wa-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.wa-icon svg{width:29px;height:29px;fill:currentColor}
.wa-copy{display:block;line-height:1.05;white-space:nowrap}
.wa-copy b,.wa-copy small{display:block}
.wa-copy small{margin-top:5px;color:#eafff1;font-size:.67rem;font-weight:600}
.wa-float:hover,.wa-float:focus-visible{animation-play-state:paused;transform:translateY(-3px) scale(1.03);box-shadow:0 17px 38px rgba(8,96,49,.4),0 0 0 8px rgba(37,211,102,.16)}
@keyframes waHeartbeat{0%,38%,100%{transform:scale(1);box-shadow:0 13px 32px rgba(8,96,49,.34),0 0 0 0 rgba(37,211,102,.5)}10%{transform:scale(1.075);box-shadow:0 15px 38px rgba(8,96,49,.42),0 0 0 8px rgba(37,211,102,.18)}20%{transform:scale(1.025);box-shadow:0 14px 34px rgba(8,96,49,.37),0 0 0 3px rgba(37,211,102,.1)}28%{transform:scale(1.065);box-shadow:0 15px 38px rgba(8,96,49,.42),0 0 0 7px rgba(37,211,102,.16)}}
.mobile-action{position:fixed;z-index:100;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:.78fr 1.22fr;gap:6px;padding:5px;border:1px solid rgba(255,255,255,.64);border-radius:18px;background:rgba(248,251,249,.93);box-shadow:0 15px 44px rgba(3,33,25,.28),inset 0 1px rgba(255,255,255,.8);backdrop-filter:blur(18px) saturate(1.25)}
.mobile-action a{min-height:49px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(12,69,53,.1);border-radius:13px;color:var(--green);background:rgba(255,255,255,.7);font-size:.76rem;font-weight:900}
.mobile-action a.primary{border-color:rgba(171,110,14,.18);background:linear-gradient(115deg,var(--gold-light),var(--gold) 46%,#dda03a);color:#143229;box-shadow:0 7px 18px rgba(156,101,15,.22),inset 0 1px rgba(255,255,255,.68)}
@media(min-width:700px){
  .phone-link{display:block}.hero{padding:74px 0}.hero-actions{display:flex}.hero-actions .btn{min-width:190px}.form-grid{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:repeat(4,1fr)}.trust-grid div,.trust-grid div:nth-child(odd){border-right:1px solid var(--line);border-bottom:0}.trust-grid div:last-child{border-right:0}.reviews-heading{grid-template-columns:1fr auto}.review-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.scope-card{grid-template-columns:1fr 1fr}.price-panel{grid-template-columns:1.25fr .75fr}.promise-grid{grid-template-columns:170px 1fr}.faq-layout{grid-template-columns:.75fr 1.25fr}.faq-layout .section-heading{align-self:start;position:sticky;top:118px}.final-actions{display:flex;justify-content:center}.footer-grid{grid-template-columns:1fr auto;align-items:end}.footer-grid small{grid-column:1/-1}.mobile-action{display:none}.wa-float{right:25px;bottom:25px}.wa-copy{display:block}footer{padding-bottom:36px}
}
@media(min-width:1024px){
  .site-header{height:82px}.desktop-nav{display:flex;gap:28px;margin-left:auto}.desktop-nav a{position:relative;padding:10px 0;color:var(--green);font-size:.78rem;font-weight:800}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:2px;background:var(--gold);transition:right .2s}.desktop-nav a:hover:after{right:0}.hero{min-height:760px;display:grid;align-items:center}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(420px,.72fr);align-items:center;gap:66px}.hero-lead{font-size:1.12rem}.quote-card form{padding:23px}.section{padding:96px 0}.process-grid{grid-template-columns:repeat(4,1fr)}.included-layout{grid-template-columns:.77fr 1.23fr;gap:72px}.included-intro{position:sticky;top:124px}.check-body ul{grid-template-columns:repeat(2,1fr)}.scope-card{margin-top:36px}.final-cta{padding:58px}
}
@media(max-width:380px){.brand span{font-size:.9rem}.brand small{display:none}.brand img{width:42px}.hero-actions .btn{padding-inline:14px}.choice-row{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Refined luxury palette and mobile-first polish */
:root{--green:#062d25;--green-2:#0b493a;--green-3:#176a55;--cream:#f5f2eb;--paper:#fffefa;--ink:#11231d;--muted:#617069;--gold:#d9b76d;--gold-deep:#9f7831;--gold-light:#efdfb7;--gold-pale:#f8efd9;--line:#d9e1dc;--shadow:0 24px 70px rgba(4,37,29,.14)}
html{overflow-x:hidden}
body{overflow-x:hidden;background:linear-gradient(180deg,#f8f6f1 0%,var(--cream) 38%,#f3f1eb 100%)}
.offer-bar{background:linear-gradient(100deg,#031c17 0%,#08372d 52%,#041f19 100%);box-shadow:inset 0 -1px rgba(239,223,183,.19)}
.offer-bar strong{color:#f0dba8}
.site-header{background:rgba(255,254,250,.92);border-color:rgba(6,45,37,.08)}
.menu-toggle{background:rgba(255,255,255,.9);box-shadow:0 8px 25px rgba(6,45,37,.07)}
.hero{background:radial-gradient(circle at 83% 11%,rgba(217,183,109,.18),transparent 25%),radial-gradient(circle at 7% 88%,rgba(25,112,90,.24),transparent 31%),linear-gradient(140deg,#031b16 0%,#062f27 46%,#0d4c3d 100%)}
.hero-copy h1 span{background:linear-gradient(105deg,#fff4d6 0%,#dfbd74 44%,#f4e4bb 83%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.eyebrow:before{background:linear-gradient(90deg,#c99e50,#edd8a5)}
.eyebrow.light{color:#ead5a2}
.btn-gold,.mobile-action a.primary{background:linear-gradient(120deg,#f3e4bf 0%,#dfbd75 48%,#c99c4c 100%);border-color:rgba(159,120,49,.24);box-shadow:0 12px 30px rgba(111,76,18,.21),inset 0 1px rgba(255,255,255,.76)}
.hero-offer{border-color:rgba(239,216,165,.36);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04))}
.hero-offer .discount{background:linear-gradient(145deg,#f4e7c4,#cfa555);box-shadow:0 9px 22px rgba(100,67,14,.22),inset 0 1px rgba(255,255,255,.72)}
.quote-heading{background:radial-gradient(circle at 92% 0,rgba(217,183,109,.17),transparent 35%),linear-gradient(145deg,#fffefa,#f8f1e2)}
.reviews-section{background:linear-gradient(180deg,#faf8f3,#eef3ef)}
.reviews-section:before{background:radial-gradient(circle,rgba(217,183,109,.17),transparent 68%)}
.review-card.featured{border-color:rgba(159,120,49,.25);background:linear-gradient(145deg,#fffefa,#faf4e6)}
.price-card{border-color:#dfc588;background:radial-gradient(circle at 100% 0,rgba(239,223,183,.42),transparent 35%),linear-gradient(145deg,#fffefa,#f5e8ca);box-shadow:0 22px 54px rgba(91,63,15,.11),inset 0 1px rgba(255,255,255,.86)}
.promise-section{background:linear-gradient(140deg,#0a362c,#123f34)}
.faq-section{background:#eef2ee}
.final-cta{border-color:rgba(217,183,109,.2);background:radial-gradient(circle at 87% 13%,rgba(217,183,109,.15),transparent 25%),radial-gradient(circle at 8% 96%,rgba(31,126,98,.17),transparent 30%),linear-gradient(140deg,#041f19,#0b4638)}

@media(max-width:699px){
  html{scroll-padding-top:86px}
  .wrap{width:min(100% - 28px,1180px)}
  .offer-bar{min-height:34px;padding:7px 12px;font-size:.69rem;line-height:1.25;flex-wrap:wrap;gap:4px 7px}
  .site-header{height:70px}
  .brand{gap:8px;font-size:.94rem}
  .brand img{width:43px;height:38px}
  .brand small{font-size:.5rem;letter-spacing:.12em}
  .menu-toggle{width:42px;height:42px}
  .menu-panel{top:78px;right:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 96px);overflow:auto;padding:8px;border-radius:18px;box-shadow:0 24px 62px rgba(3,31,24,.2)}
  .menu-panel a{min-height:48px;padding:12px 14px}
  h1{font-size:clamp(2.65rem,12.2vw,4.25rem);line-height:.98;letter-spacing:-.045em}
  h2{font-size:clamp(2rem,9.6vw,3rem);line-height:1.02}
  .hero{padding:42px 0 46px}
  .hero-grid{gap:28px}
  .hero-copy h1{max-width:9ch}
  .hero-lead{margin-top:17px;font-size:.98rem;line-height:1.62}
  .google-rating-chip{margin-top:15px;padding:8px 11px;font-size:.72rem}
  .google-rating-chip .google-g{width:23px;height:23px}
  .hero-offer{margin-top:18px;padding:8px 14px 8px 8px;border-radius:16px}
  .hero-offer .discount{width:56px;height:56px;border-radius:12px;font-size:1.18rem}
  .hero-offer b{font-size:.88rem}
  .hero-actions{margin-top:18px}
  .hero-actions .btn{width:100%;min-height:52px}
  .hero-actions .btn-ghost{display:none}
  .assurance-row{margin-top:18px;gap:6px}
  .assurance-row span{padding:7px 9px;font-size:.68rem}
  .quote-card{scroll-margin-top:84px;border-radius:24px;box-shadow:0 26px 64px rgba(0,0,0,.25)}
  .quote-heading{padding:21px 18px 16px}
  .quote-heading h2{font-size:1.85rem}
  .quote-card form{padding:17px}
  .form-grid{gap:12px}
  .field input,.field select,.extras-grid select{min-height:52px;font-size:16px;border-radius:13px;padding-inline:13px}
  .choice-row{grid-template-columns:repeat(2,1fr);gap:7px}
  .choice-row span{min-height:46px;font-size:.72rem}
  .extras-panel summary{min-height:48px;display:flex;align-items:center}
  .submit{min-height:54px}
  .trust-grid div{padding:15px 8px}
  .trust-grid b{font-size:.78rem}
  .trust-grid span{font-size:.62rem;line-height:1.35}
  .section{padding:58px 0}
  .reviews-heading{gap:18px}
  .google-score{padding:11px 13px;border-radius:15px}
  .google-score>.google-g{width:34px;height:34px}
  .review-grid{margin-top:22px}
  .review-card{padding:19px;border-radius:19px}
  .review-card blockquote{font-size:.9rem;line-height:1.65}
  .process-grid article{min-height:auto;padding:20px}
  .process-grid h3{margin-top:20px}
  .included-layout{gap:25px}
  .check-head{min-height:58px;padding:10px 12px;grid-template-columns:36px 1fr auto;gap:9px}
  .check-icon{width:36px;height:36px}
  .check-body{padding:0 13px 16px 15px}
  .check-body ul{font-size:.79rem}
  .scope-card{margin-top:22px}
  .price-panel{gap:23px}
  .price-card{padding:21px;border-radius:20px}
  .promise-number{width:122px;height:122px;font-size:3.7rem}
  .faq-q{min-height:56px;padding:15px 46px 15px 15px}
  .faq-a{padding:0 15px 17px}
  .final-cta{padding:36px 18px;border-radius:24px}
  footer{padding-bottom:112px}
  .wa-float{right:12px;bottom:82px;min-height:52px;max-width:calc(100vw - 24px);padding:6px 13px 6px 7px;gap:8px;animation-duration:2.2s}
  .wa-float.form-visible{opacity:0;pointer-events:none;animation:none;transform:translateY(12px)}
  .wa-icon{width:38px;height:38px}
  .wa-icon svg{width:25px;height:25px}
  .wa-copy b{font-size:.9rem}.wa-copy small{font-size:.62rem}
  .mobile-action{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));padding:5px;border-radius:17px}
  .mobile-action a{min-height:50px;font-size:.78rem}
}

@media(max-width:420px){
  .wrap{width:calc(100% - 24px)}
  .brand small{display:none}
  .hero-copy h1{font-size:clamp(2.55rem,12.4vw,3.35rem)}
  .hero-copy h1 span{display:inline}
  .google-rating-chip{gap:6px}
  .hero-offer{width:100%}
  .hero-offer>span:last-child{min-width:0}
  .review-top{grid-template-columns:40px 1fr auto}
  .review-avatar{width:40px;height:40px}
  .promise-number{margin-inline:auto}
  .promise-grid{text-align:center;justify-items:center}
}
