
:root{
  --green:#0aa534;--green-dark:#07872b;--green-deep:#056d21;--lime:#b9ef67;
  --black:#0d1510;--ink:#18201a;--muted:#667068;--soft:#f3f7f3;--line:#dce6dc;
  --white:#fff;--shadow:0 18px 50px rgba(11,42,19,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{background:#07150b;color:#dfeae1;font-size:13px;padding:9px 0}
.topbar .row{display:flex;justify-content:space-between;gap:20px}.topbar strong{color:#fff}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(7,21,11,.08)}
.nav{height:78px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:11px;font-weight:950;letter-spacing:-.02em}
.brand img{width:58px;height:58px;object-fit:contain}.brand span{font-size:18px}
.navlinks{margin-left:auto;display:flex;gap:21px;align-items:center;font-size:14px;font-weight:800}
.navlinks a:hover{color:var(--green)}.actions{display:flex;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:14px 18px;font-weight:900;cursor:pointer;transition:.2s transform,.2s box-shadow,.2s background}
.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--green);color:#fff;box-shadow:0 9px 24px rgba(10,165,52,.25)}
.btn.primary:hover{background:var(--green-dark)}.btn.dark{background:#0d1510;color:#fff}.btn.light{background:#fff;color:var(--green-deep)}
.btn.outline{background:#fff;border:2px solid var(--green);color:var(--green-deep)}.mobile-menu{display:none;margin-left:auto;background:none;border:0;font-size:28px}

.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(185,239,103,.28),transparent 24%),linear-gradient(135deg,#0aa534 0%,#07922c 44%,#056d21 100%);color:#fff}
.hero:after{content:"";position:absolute;right:-140px;bottom:-210px;width:560px;height:560px;border-radius:50%;border:90px solid rgba(255,255,255,.055)}
.hero .grid{min-height:640px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:46px;padding:64px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18)}
.hero h1{font-size:clamp(48px,6.4vw,78px);line-height:.98;letter-spacing:-.045em;margin:16px 0 20px}.hero p{font-size:20px;max-width:680px;color:#ebf7ee}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;font-size:14px;color:#eef8f0}
.hero-art{position:relative;display:flex;justify-content:center}.hero-card{position:relative;width:min(100%,470px);background:#fff;border-radius:34px;padding:24px;box-shadow:0 28px 70px rgba(0,0,0,.22)}
.hero-card img{width:100%;border-radius:22px}.hero-card:before{content:"LOCAL • FAST • PROFESSIONAL";position:absolute;right:-18px;top:24px;background:#0d1510;color:#fff;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.08em}
.hero-mini{position:absolute;left:-24px;bottom:56px;background:#fff;color:var(--ink);padding:15px 16px;border-radius:16px;box-shadow:var(--shadow);min-width:190px}.hero-mini strong{display:block;color:var(--green-deep);font-size:18px}

.section{padding:84px 0}.section.soft{background:var(--soft)}.section.greenwash{background:linear-gradient(180deg,#eff8f1,#fff)}
.section.dark{background:#0d1510;color:#fff}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}
.section h2{font-size:clamp(34px,4vw,50px);line-height:1.05;letter-spacing:-.035em;margin:0}.lead{max-width:720px;color:var(--muted);font-size:17px;margin:10px 0 0}
.section.dark .lead{color:#cbd5cd}.kicker{color:var(--green);font-size:13px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.section.dark .kicker{color:var(--lime)}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;min-height:220px;transition:.22s transform,.22s box-shadow,.22s border}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b6dcbf}.service-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#e9f7ed;color:var(--green-deep);font-weight:950;font-size:12px}
.service-card h3{font-size:21px;margin:18px 0 8px}.service-card p{color:var(--muted);margin:0 0 18px}.more{font-weight:900;color:var(--green-deep)}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{border-radius:18px;padding:24px;background:#fff;border:1px solid var(--line)}
.feature .num{font-size:30px;font-weight:950;color:var(--green);letter-spacing:-.04em}.feature h3{margin:8px 0 6px}.feature p{margin:0;color:var(--muted)}
.trust-strip{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.trust-chip{background:#e9f7ed;border:1px solid #c6e7cf;border-radius:14px;padding:15px;font-weight:850;color:#075d20;text-align:center}

.split{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.dark-panel{background:linear-gradient(135deg,#1e7f68 0%,#2b9c84 100%);color:#fff;border-radius:28px;padding:34px}.dark-panel p{color:#d4ddd6}
.checks{display:grid;gap:12px;margin-top:22px}.check{display:flex;gap:12px;align-items:flex-start}.check b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;flex:0 0 28px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:26px;border-radius:20px;border:1px solid var(--line);background:#fff}.step .badge{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:950}.step h3{margin:16px 0 7px}.step p{margin:0;color:var(--muted)}

.diff-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.diff{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px;background:rgba(255,255,255,.045)}
.diff strong{display:block;color:var(--lime);font-size:16px;margin-bottom:8px}.diff span{color:#d3ddd5;font-size:14px}

.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.work-card{min-height:260px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff}
.work-photo{height:190px;background:linear-gradient(135deg,#0aa534,#0a6e27);display:grid;place-items:center;color:#fff;text-align:center;padding:20px;position:relative}
.work-photo:before{content:"APEXA REAL WORK";position:absolute;top:14px;left:14px;font-size:11px;font-weight:950;letter-spacing:.12em;opacity:.82}
.work-photo span{font-size:15px;font-weight:850;max-width:220px}.work-card .caption{padding:18px}.work-card h3{margin:0 0 5px}.work-card p{margin:0;color:var(--muted);font-size:14px}
.draft-note{border:1px dashed #9ccdaa;background:#f2fbf4;border-radius:16px;padding:16px;color:#32613d;margin-top:18px}

.reviews-box{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-placeholder{border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px}
.review-placeholder strong{display:block;font-size:20px;margin-bottom:8px}.review-placeholder p{color:var(--muted)}

.area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.area-item{background:#fff;border:1px solid var(--line);padding:13px 15px;border-radius:13px;font-weight:800}
.booking-preview{background:linear-gradient(135deg,#0b1810,#122919);border-radius:26px;color:#fff;padding:30px}.booking-preview p{color:#ced9d1}.booking-preview .btn{margin-top:10px}
.faq{display:grid;gap:12px}.faq details{border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:#fff}.faq summary{cursor:pointer;font-weight:900}.faq p{color:var(--muted);margin-bottom:0}
.cta-band{background:linear-gradient(135deg,#0aa534,#056d21);color:#fff;padding:42px 0}.cta-band .row{display:flex;justify-content:space-between;gap:28px;align-items:center}.cta-band h2{margin:0;font-size:36px}.cta-band p{margin:7px 0 0;color:#e6f5ea}
.footer{background:#09120c;color:#dce7df;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:30px}.footer h4{margin:0 0 12px;color:#fff}.footer p,.footer a{color:#bac8bd;font-size:14px}.footer a:hover{color:#fff}.footer .brand img{width:66px;height:66px}.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:30px;padding-top:18px;color:#829085;font-size:12px}
.social-box img{width:132px;height:132px;background:#fff;padding:8px;border-radius:12px}.sticky-mobile{display:none}

.page-hero{background:linear-gradient(135deg,#0aa534,#056d21);color:#fff;padding:76px 0}.page-hero h1{font-size:clamp(46px,6vw,72px);line-height:1;letter-spacing:-.04em;margin:10px 0 16px}.page-hero p{font-size:18px;max-width:720px;color:#ebf8ee}
.page-trust{background:#fff;border-bottom:1px solid var(--line)}.page-trust .row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.page-trust span{padding:15px 12px;text-align:center;font-weight:850;border-right:1px solid var(--line)}.page-trust span:last-child{border-right:0}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.problem-link{display:block}.problem{height:100%;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;transition:.2s transform,.2s box-shadow,.2s border-color;cursor:pointer}
.problem-link:hover .problem{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#8fc89e}.problem h3{margin:0 0 8px}.problem p{margin:0;color:var(--muted)}.problem:after{content:"Book this repair →";display:block;margin-top:14px;font-weight:900;color:var(--green-deep)}

.booking-shell{padding:64px 0;background:linear-gradient(180deg,#f1f8f2,#fff)}.booking-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:start}
.booking-info{background:#0d1510;color:#fff;border-radius:24px;padding:30px;position:sticky;top:110px}.booking-info p{color:#d2ddd5}.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{font-weight:800;font-size:14px}
input,select,textarea{width:100%;border:1px solid #cfdacf;border-radius:12px;padding:13px 14px;background:#fff;color:#172018;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,165,52,.12)}
textarea{min-height:120px;resize:vertical}.form-note{font-size:12px;color:var(--muted)}.success{display:none;background:#e8f8ec;color:#075c1f;border:1px solid #bde6c8;border-radius:14px;padding:14px;margin-top:14px;font-weight:800}

@media(max-width:1020px){
 .navlinks{display:none}.mobile-menu{display:block}.actions .btn.outline{display:none}.hero .grid,.split,.area-grid,.booking-layout{grid-template-columns:1fr}.hero .grid{padding:42px 0 60px}.hero-art{order:-1}.hero-card{max-width:420px}.hero-mini{left:10px}
 .service-grid,.feature-grid,.work-grid{grid-template-columns:repeat(2,1fr)}.trust-strip,.page-trust .row{grid-template-columns:repeat(2,1fr)}.diff-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:1fr 1fr}.booking-info{position:static}.reviews-box{grid-template-columns:1fr}
}
@media(max-width:640px){
 .container{width:min(100% - 24px,1180px)}.topbar .row{justify-content:center}.topbar .row span:last-child{display:none}.brand span{display:none}.nav{height:70px}.actions .btn.primary{display:none}
 .hero h1{font-size:48px}.hero p{font-size:18px}.hero-card:before{right:10px;top:10px}.service-grid,.feature-grid,.work-grid,.trust-strip,.diff-grid,.steps,.problem-grid,.area-list,.footer-grid,.form-grid,.page-trust .row{grid-template-columns:1fr}
 .page-trust span{border-right:0;border-bottom:1px solid var(--line)}.section{padding:64px 0}.section-head{display:block}.section h2{font-size:36px}.cta-band .row{display:block}.cta-band .actions{margin-top:18px;display:flex;flex-wrap:wrap}
 .sticky-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:120;background:#fff;border-top:1px solid var(--line);padding:8px}.sticky-mobile a{padding:13px 10px;text-align:center;font-weight:950;border-radius:10px}.sticky-mobile a:first-child{background:#0d1510;color:#fff;margin-right:6px}.sticky-mobile a:last-child{background:var(--green);color:#fff}body{padding-bottom:64px}
}


/* V2.7 additions */
.hero-card{width:min(100%,535px);padding:22px}
.hero-card img{width:100%;max-height:485px;object-fit:contain}
.trust-row a{display:inline-flex;align-items:center;gap:7px;color:#fff;border-bottom:1px dashed rgba(255,255,255,.55);padding-bottom:2px}
.trust-row a:hover{border-bottom-style:solid}
.page-trust a{display:block;padding:15px 12px;text-align:center;font-weight:850;border-right:1px solid var(--line);transition:.18s background,.18s color}
.page-trust a:last-child{border-right:0}
.page-trust a:hover{background:#ecf8ef;color:var(--green-deep)}
.credentials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.document-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px;min-height:260px}
.document-slot{margin-top:18px;border:2px dashed #a9cdb2;border-radius:16px;min-height:160px;background:#f4fbf6;display:grid;place-items:center;text-align:center;color:#4f6d56;padding:20px}
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.brand-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;text-align:center}
.brand-mark{height:82px;border-radius:14px;background:linear-gradient(145deg,#f8fbf8,#eef6ef);border:1px solid #e1e9e1;display:grid;place-items:center;font-size:23px;font-weight:950;letter-spacing:-.035em;color:#162019;margin-bottom:13px}
.brand-card h3{margin:0;font-size:16px}
.service-category{display:inline-block;margin-top:3px;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep);background:#e9f7ed;padding:5px 8px;border-radius:999px}
.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.explain-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:25px}
.explain-card h3{margin:0 0 9px}
.explain-card p{color:var(--muted);margin:0}
@media(max-width:1020px){
  .brand-grid{grid-template-columns:repeat(2,1fr)}
  .credentials-grid,.explain-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .brand-grid{grid-template-columns:1fr}
  .page-trust a{border-right:0;border-bottom:1px solid var(--line)}
}


/* V2.8: warranty + brand logo improvements */
.brand-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px}
.brand-logo-box{height:86px;width:100%;display:grid;place-items:center;margin-bottom:12px}
.brand-logo-img{max-width:110px;max-height:70px;object-fit:contain}
.brand-logo-fallback{display:none;width:68px;height:68px;border-radius:18px;background:#edf5ef;color:#174c25;place-items:center;font-size:22px;font-weight:950;border:1px solid #dce8df}
.brand-disclaimer{margin-top:22px;padding:17px 19px;border-radius:15px;background:#f7faf7;border:1px solid var(--line);color:#59635b;font-size:13px;line-height:1.55}
.warranty-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.warranty-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:30px}
.warranty-card .big{font-size:46px;line-height:1;font-weight:950;color:var(--green);letter-spacing:-.045em}
.warranty-card h3{font-size:24px;margin:10px 0 8px}
.warranty-card p{color:var(--muted);margin:0}
@media(max-width:700px){.warranty-pair{grid-template-columns:1fr}}






/* V2.12 credentials document styles */
.credential-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.credential-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.credential-stat .label{font-size:12px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:var(--green-deep);margin-bottom:7px}
.credential-stat .value{font-size:22px;font-weight:950;line-height:1.15}
.credential-stat .sub{font-size:13px;color:var(--muted);margin-top:7px}
.document-viewer{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}
.document-viewer iframe{display:block;width:100%;height:780px;border:0;background:#f5f5f5}
.document-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);background:#f8fbf8}
.credential-note{margin-top:18px;padding:16px 18px;border-radius:15px;background:#eff8f1;border:1px solid #cde7d3;color:#365b3f;font-size:14px}
@media(max-width:1000px){.credential-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.credential-summary{grid-template-columns:1fr}.document-viewer iframe{height:560px}.document-toolbar{align-items:flex-start;flex-direction:column}}



/* V2.14 stable hero label placement */
@media(min-width:1021px){
  .hero .grid > div:first-child .hero-mini{
    position:static;
    margin-top:30px;
    margin-left:auto;
    margin-right:16px;
    width:max-content;
    min-width:230px;
    max-width:250px;
  }
  .hero-art > .hero-mini{display:none}
}
@media(max-width:1020px){
  .hero .grid > div:first-child .hero-mini{
    position:static;
    margin-top:22px;
    margin-left:0;
    width:max-content;
    max-width:100%;
  }
}

/* V2.15 production form + privacy */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{display:none;border-radius:14px;padding:14px;margin-top:14px;font-weight:800;line-height:1.45}
.form-status.success{display:block;background:#e8f8ec;color:#075c1f;border:1px solid #bde6c8}
.form-status.error{display:block;background:#fff1f1;color:#8b1b1b;border:1px solid #efbcbc}
.form-status.info{display:block;background:#eef6ff;color:#164d7a;border:1px solid #bfd9ef}
.submit-booking-btn:disabled{opacity:.65;cursor:not-allowed}
.privacy-card{max-width:900px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.privacy-card h2{margin-top:28px}.privacy-card h2:first-child{margin-top:0}

/* V2.16 colorful homepage */
.section.color-orange{
  background:linear-gradient(135deg,#f28b2d 0%,#f7a64a 100%);
  color:#1d130a;
}
.section.color-yellow{
  background:linear-gradient(135deg,#ffd43b 0%,#ffe97a 100%);
  color:#1d1b0a;
}
.section.color-cyan{
  background:linear-gradient(135deg,#23c9e8 0%,#68e3f5 100%);
  color:#10252a;
}
.section.color-purple{
  background:linear-gradient(135deg,#6f46e8 0%,#8c68ff 100%);
  color:#fff;
}
.section.color-coral{
  background:linear-gradient(135deg,#ff6b68 0%,#ff928f 100%);
  color:#271313;
}
.section.color-mint{
  background:linear-gradient(135deg,#44db88 0%,#78efab 100%);
  color:#0f2819;
}
.section.color-sky{
  background:linear-gradient(135deg,#4db3ff 0%,#80cbff 100%);
  color:#102232;
}
.section.color-pink{
  background:linear-gradient(135deg,#ff82ad 0%,#ffadd0 100%);
  color:#2b1220;
}
.section.color-lavender{
  background:linear-gradient(135deg,#ae91ff 0%,#d1c0ff 100%);
  color:#211735;
}

/* Keep headings, descriptions and labels readable on saturated backgrounds. */
.section.color-orange .lead,
.section.color-yellow .lead,
.section.color-cyan .lead,
.section.color-coral .lead,
.section.color-mint .lead,
.section.color-sky .lead,
.section.color-pink .lead,
.section.color-lavender .lead{color:rgba(20,24,20,.78)}

.section.color-orange .kicker,
.section.color-yellow .kicker,
.section.color-cyan .kicker,
.section.color-coral .kicker,
.section.color-mint .kicker,
.section.color-sky .kicker,
.section.color-pink .kicker,
.section.color-lavender .kicker{color:#075d20}

.section.color-purple .lead{color:#f1ecff}
.section.color-purple .kicker{color:#d9ff72}
.section.color-purple .diff{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.23);
}
.section.color-purple .diff strong{color:#d9ff72}
.section.color-purple .diff span{color:#f5f1ff}

/* Give content cards a clean white surface so the colorful sections stay professional and readable. */
.section.color-orange .service-card,
.section.color-yellow .feature,
.section.color-cyan .step,
.section.color-coral .brand-card,
.section.color-mint .work-card,
.section.color-sky .review-placeholder,
.section.color-pink .area-item,
.section.color-lavender .faq details{
  background:rgba(255,255,255,.96);
  border-color:rgba(20,30,20,.13);
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}

/* Bright green Book Online buttons everywhere. */
.book-online-bright{
  background:#39ff63!important;
  color:#062b12!important;
  border:2px solid #39ff63!important;
  box-shadow:0 10px 26px rgba(18,190,72,.28)!important;
}
.book-online-bright:hover{
  background:#65ff83!important;
  border-color:#65ff83!important;
  color:#041d0c!important;
}

/* Keep the final call-to-action visually distinct from the green hero. */
.cta-band{
  background:linear-gradient(135deg,#1749c6 0%,#222c78 100%);
}


/* V2.17 refinements */
.hero .btn.book-online-bright{
  background:#ffffff!important;
  color:var(--green-deep)!important;
  border:2px solid #ffffff!important;
  box-shadow:0 10px 26px rgba(0,0,0,.14)!important;
}
.hero .btn.book-online-bright:hover{
  background:#f4fff6!important;
  border-color:#f4fff6!important;
  color:#05250e!important;
}


/* V2.18 launch polish: keep green hero, use white/near-white sections after it */
.section.color-orange{background:#fff;color:var(--ink);box-shadow:inset 0 5px 0 #e99a4a}
.section.color-yellow{background:#fffaf3;color:var(--ink)}
.section.color-cyan{background:#fff;color:var(--ink)}
.section.dark.color-purple{background:#f5f7f8;color:var(--ink)}
.section.color-coral{background:#fff;color:var(--ink)}
.section.color-mint{background:#f4faf6;color:var(--ink)}
.section.color-sky{background:#fff;color:var(--ink)}
.section.color-pink{background:#f7f9fa;color:var(--ink)}
.section.color-lavender{background:#fff;color:var(--ink)}
.section.color-orange .lead,.section.color-yellow .lead,.section.color-cyan .lead,.section.color-coral .lead,.section.color-mint .lead,.section.color-sky .lead,.section.color-pink .lead,.section.color-lavender .lead,.section.dark.color-purple .lead{color:var(--muted)}
.section.color-orange .kicker,.section.color-yellow .kicker,.section.color-cyan .kicker,.section.color-coral .kicker,.section.color-mint .kicker,.section.color-sky .kicker,.section.color-pink .kicker,.section.color-lavender .kicker,.section.dark.color-purple .kicker{color:var(--green-deep)}
.section.dark.color-purple .diff{background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(0,0,0,.04)}
.section.dark.color-purple .diff strong{color:var(--green-deep)}
.section.dark.color-purple .diff span{color:var(--muted)}

.trust-strip-section{background:#fff;padding:22px 0;border-bottom:1px solid var(--line)}
.trust-strip{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.05)}
.trust-score-card,.review-platform-card{min-height:112px;padding:22px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line);color:var(--ink);text-decoration:none}
.review-platform-card:last-child{border-right:0}.review-platform-card:hover{background:#f8fbf8}
.trust-score{font-size:44px;font-weight:950;color:var(--green-deep);letter-spacing:-.05em;min-width:58px}
.trust-score-card strong,.review-platform-card strong{display:block;font-size:17px}.trust-score-card span,.review-platform-card small{display:block;color:var(--muted);margin-top:5px;font-size:12px;line-height:1.35}
.platform-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-weight:950;flex:0 0 38px;background:#f2f4f3;color:#111}
.google-mark{background:#eef5ff;color:#1769e0}.yelp-mark{background:#fff0f0;color:#d92323}.thumbtack-mark{background:#eef2f3;color:#23343a}
.stars{display:block;color:#e94f43;letter-spacing:1px;font-size:17px;margin-top:4px}

.special-offers{background:#fff;padding-top:56px;padding-bottom:56px}
.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.offer-card{border:1px solid var(--line);border-radius:22px;padding:26px;background:linear-gradient(135deg,#f7fff9,#fff);box-shadow:0 12px 34px rgba(0,0,0,.04)}
.offer-card h3{font-size:24px;margin:12px 0 8px}.offer-card p{color:var(--muted);margin:0}.offer-badge{display:inline-flex;background:#39ff63;color:#083015;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950;letter-spacing:.08em}.offer-note{color:var(--muted);font-size:13px;margin-top:14px}

.reviews-live{background:#fff}.live-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-feed-card{border:1px solid var(--line);border-radius:22px;padding:24px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.04);min-height:230px}.review-feed-head{display:flex;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.review-feed-head strong{display:block;font-size:18px}.review-feed-head small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.review-feed-list{display:grid;gap:12px;margin-top:16px}.live-review{background:#f7f9f8;border-radius:15px;padding:14px}.live-review .review-top{display:flex;justify-content:space-between;gap:10px}.live-review strong{font-size:14px}.live-review p{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.45}.thumbtack-widget-slot{background:#f7f9f8;border:1px dashed #b8c4bd;border-radius:15px;padding:18px;margin-top:16px;color:var(--muted);font-size:13px}
.hours-card{display:grid;gap:5px;background:rgba(255,255,255,.9);border-radius:15px;padding:15px;margin:16px 0}.hours-card strong{color:var(--green-deep)}.hours-card span{font-size:13px;color:#33433a}

/* Cookie consent UI */
.cookie-banner{position:fixed;left:18px;bottom:18px;width:min(430px,calc(100vw - 36px));z-index:9999;background:#fff;border:1px solid #dce3de;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.18);padding:20px}.cookie-banner[hidden]{display:none}.cookie-banner h3{margin:0 0 8px;font-size:18px}.cookie-banner p{font-size:13px;color:#536158;line-height:1.5;margin:0 0 16px}.cookie-actions{display:flex;gap:9px;flex-wrap:wrap}.cookie-actions button{border-radius:10px;padding:10px 13px;font-weight:850;border:1px solid #bfc9c2;background:#fff;cursor:pointer}.cookie-actions .accept{background:var(--green);border-color:var(--green);color:#07260f}.cookie-actions .reject{background:#1b231e;border-color:#1b231e;color:#fff}
.cookie-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:10000;display:grid;place-items:center;padding:18px}.cookie-modal-backdrop[hidden]{display:none}.cookie-modal{width:min(560px,100%);background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.cookie-modal h2{margin-top:0}.cookie-option{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.cookie-option p{margin:4px 0 0;color:var(--muted);font-size:13px}.cookie-toggle{width:48px;height:27px;accent-color:var(--green)}

/* Accessibility helpers */
.skip-link{position:fixed;left:12px;top:-60px;z-index:12000;background:#fff;color:#111;padding:11px 15px;border-radius:10px;box-shadow:var(--shadow)}.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ff9d2e;outline-offset:3px}
.turnstile-container{margin-top:16px}

/* Legal pages */
.legal-wrap{max-width:920px}.legal-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.legal-card h2{font-size:26px;margin-top:32px}.legal-card h2:first-child{margin-top:0}.legal-card p,.legal-card li{color:#4d5c53;line-height:1.65}.legal-card ul{padding-left:22px}.legal-meta{background:#f4faf6;border:1px solid #d7eadb;border-radius:14px;padding:14px 16px;margin-bottom:22px;color:#3a5242;font-size:13px}

@media(max-width:1000px){.trust-strip{grid-template-columns:1fr 1fr}.trust-score-card,.review-platform-card{border-bottom:1px solid var(--line)}.live-reviews-grid{grid-template-columns:1fr 1fr}.thumbtack-feed{grid-column:1/-1}}
@media(max-width:700px){.trust-strip{grid-template-columns:1fr}.trust-score-card,.review-platform-card{border-right:0}.offer-grid,.live-reviews-grid{grid-template-columns:1fr}.thumbtack-feed{grid-column:auto}.cookie-actions button{flex:1 1 auto}}

/* Preserve APEXA button styling over the vendor's injected defaults. */
#hcpBookingButton { font: inherit; font-weight: 800; text-transform: none; border-radius: 14px; }
#hcpBookingButton:focus-visible { outline: 3px solid #173f29; outline-offset: 4px; }
