:root{
  --navy:#0F1B24;--navy-l:#162130;--teal:#5FA6AD;--teal-l:#7BBEC5;
  --amber:#D18A29;--seafoam:#5BA870;--cream:#F4F1EC;--sand:#E9E2D6;
  --mid:#4a5a6a;--light:#7a8a9a;--border:#ddd8d0;--ok:#2d7a4f;--err:#c0392b;
}
*{margin:0;padding:0;box-sizing:border-box;}
a,button,.nav-link,.nav-cta,.nav-privacy,.btn,.btn-wa,.btn-ghost,.btn-outline,.cl-item,.cl-trigger,.burger,.svc-card,.svc-card-new,.blog-card,[data-nav],[data-pc-in]{touch-action:manipulation;}
html{scroll-behavior:smooth;}
body{font-family:'Lato',sans-serif;background:var(--cream);color:var(--navy);overflow-x:hidden;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(15,27,36,.97);backdrop-filter:blur(12px);height:88px;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 24px rgba(0,0,0,.4);}
.logo-wrap{display:flex;align-items:center;gap:1rem;cursor:pointer;}
.logo-mark{width:58px;height:58px;flex-shrink:0;}
.logo-name{font-family:'Marcellus',serif;font-weight:400;font-size:1.45rem;color:#fff;letter-spacing:0.01em;line-height:1.15;text-transform:uppercase;}
.logo-tag{font-family:'Marcellus',serif;font-size:.62rem;font-weight:400;color:var(--amber);letter-spacing:0.08em;text-transform:uppercase;margin-top:.1rem;}
.hright{display:flex;align-items:center;gap:1.5rem;}
.hphone{color:var(--teal);font-weight:700;font-size:.9rem;text-decoration:none;font-family:'Marcellus',serif;transition:color .2s;}
.hphone:hover{color:var(--teal-l);}
.burger{background:none;border:1px solid rgba(255,255,255,.2);border-radius:4px;width:42px;height:42px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.burger span{display:block;width:18px;height:1.5px;background:#fff;border-radius:1px;transition:all .3s;}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* NAV OVERLAY */
.nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,27,36,.98);z-index:1002;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;opacity:0;pointer-events:none;transition:opacity .3s;overflow-y:auto;padding:6rem 1rem 2rem;}
.nav-overlay.open{opacity:1;pointer-events:all;}
.nav-link{font-family:'Marcellus',serif;font-size:clamp(1.4rem,5vw,2rem);font-weight:400;color:rgba(255,255,255,.55);cursor:pointer;padding:.4rem 1rem;transition:color .2s;}
@media (hover:hover){
.nav-link:hover{color:var(--teal);transform:translateX(8px);}
}
.nav-div{width:40px;height:1px;background:rgba(255,255,255,.1);margin:.35rem 0;}
.nav-cta{margin-top:.8rem;background:var(--teal);color:#fff;padding:.9rem 3rem;border-radius:3px;font-family:'Marcellus',serif;font-size:.88rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;cursor:pointer;border:none;min-width:200px;}
.nav-cta:hover{background:var(--teal-l);}

/* PAGES */
.page{display:block;}
.page.active{display:block;}

/* BUTTONS */
.btn{background:var(--teal);color:#fff;padding:.8rem 2rem;border-radius:3px;font-family:'Marcellus',serif;font-weight:400;font-size:.82rem;letter-spacing:0.02em;text-transform:uppercase;cursor:pointer;border:none;transition:all .25s;}
@media (hover:hover){.btn:hover{background:var(--teal-l);transform:translateY(-2px);}}
.btn-ghost{background:transparent;color:#fff;padding:.8rem 2rem;border-radius:3px;font-family:'Marcellus',serif;font-weight:400;font-size:.82rem;letter-spacing:0.02em;text-transform:uppercase;cursor:pointer;border:1px solid rgba(255,255,255,.25);transition:all .25s;}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.btn-wa{background:#25D366;color:#fff;padding:.8rem 2rem;border-radius:3px;font-family:'Marcellus',serif;font-weight:400;font-size:.82rem;letter-spacing:0.02em;text-transform:uppercase;cursor:pointer;border:none;transition:all .25s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;}
@media (hover:hover){.btn-wa:hover{background:#1ebe5c;transform:translateY(-2px);}}
.btn-dark{background:var(--navy);color:#fff;width:100%;padding:.85rem;border:none;border-radius:3px;font-family:'Marcellus',serif;font-size:.8rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;cursor:pointer;transition:all .25s;margin-top:.4rem;}
.btn-dark:hover{background:var(--navy-l);}

/* HERO */
.hero{position:relative;overflow:hidden;min-height:82vh;display:flex;align-items:center;padding-top:88px;}
.hero-bg{position:absolute;inset:0;background-image:url('hero.jpg');background-size:cover;background-position:center 60%;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(15,27,36,.96) 0%,rgba(15,27,36,.82) 52%,rgba(15,27,36,.45) 100%);}
.hero-inner{max-width:1100px;margin:0 auto;width:100%;padding:4rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1;}
.eyebrow{font-family:'Marcellus',serif;font-size:.64rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:var(--teal);margin-bottom:.65rem;}
.hero h1{font-family:'Marcellus',serif;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:400;color:#fff;line-height:1.08;margin-bottom:.5rem;}
.hero h1 span{color:var(--teal);}
.hero-sub{font-family:'Marcellus',serif;font-size:1.1rem;font-weight:400;color:rgba(255,255,255,.6);margin-bottom:1.8rem;font-style:italic;}
.hero-desc{color:rgba(255,255,255,.52);font-size:.9rem;line-height:1.7;margin-bottom:1.8rem;font-weight:300;max-width:440px;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;}
.trust-card{background:rgba(255,255,255,.04);border:1px solid rgba(95,166,173,.18);border-radius:6px;padding:1.75rem;}
.trust-title{font-family:'Marcellus',serif;font-size:.6rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:var(--teal);margin-bottom:.9rem;}
.trust-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.75);font-size:.86rem;font-weight:300;}
.trust-item:last-child{border-bottom:none;}
.trust-icon{width:28px;height:28px;border:1px solid rgba(95,166,173,.25);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--teal);}

/* TAGLINE BAR */
.tagbar{background:var(--navy);border-top:1px solid rgba(95,166,173,.12);border-bottom:1px solid rgba(95,166,173,.12);padding:.9rem 2rem;}
.tagbar-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.tagbar-main{font-family:'Marcellus',serif;font-size:.75rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:var(--teal);}
.tagbar-pills{display:flex;gap:1.5rem;flex-wrap:wrap;}
.tagpill{display:flex;align-items:center;gap:.4rem;font-family:'Marcellus',serif;font-size:.6rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.tagdot{width:4px;height:4px;border-radius:50%;background:var(--teal);}

/* SCROLL PROMPT */
.scroll-prompt{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:rgba(255,255,255,.3);font-family:'Marcellus',serif;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;z-index:2;transition:color .2s;animation:scrollbob 2.4s ease-in-out infinite;margin-top:1.2rem;padding-bottom:.5rem;width:100%;text-align:center;}
.scroll-prompt:hover{color:var(--teal);}
.scroll-prompt svg{animation:scrollbob 2.4s ease-in-out infinite;}
@keyframes scrollbob{0%,100%{opacity:.35;}50%{opacity:.7;}}

/* SECTIONS */
.section{padding:3.5rem 2rem;max-width:1100px;margin:0 auto;}
.section-title{font-family:'Marcellus',serif;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;color:var(--navy);line-height:1.1;margin-bottom:1rem;}
.section-desc{color:var(--mid);font-size:.92rem;line-height:1.7;max-width:580px;font-weight:300;}
.section-hdr{margin-bottom:2.2rem;}

/* SERVICE CARDS */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.svc-card{background:#fff;border-radius:5px;padding:2rem;border:1px solid var(--border);cursor:pointer;transition:all .3s;position:relative;overflow:hidden;}
.svc-card::after{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--teal);transform:scaleY(0);transform-origin:bottom;transition:transform .3s;}
@media (hover:hover){.svc-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(15,27,36,.1);border-color:transparent;}}
.svc-card:hover::after{transform:scaleY(1);}
.svc-icon{width:46px;height:46px;border:1px solid rgba(95,166,173,.22);border-radius:4px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;}
.svc-card h3{font-family:'Marcellus',serif;font-size:1.05rem;font-weight:400;color:var(--navy);margin-bottom:.45rem;}
.svc-card p{font-size:.86rem;color:var(--mid);line-height:1.6;margin-bottom:1.1rem;font-weight:300;}
.svc-price{font-family:'Marcellus',serif;font-size:.78rem;font-weight:400;color:var(--teal);}
.svc-arrow{position:absolute;top:1.4rem;right:1.4rem;color:var(--border);transition:color .2s,transform .2s;}
.svc-card:hover .svc-arrow{color:var(--teal);transform:translate(2px,-2px);}

/* IMAGE BANNER */
.img-banner{position:relative;overflow:hidden;height:340px;display:flex;align-items:center;justify-content:center;}
.img-banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.img-banner-ov{position:absolute;inset:0;}
.img-banner-c{position:relative;z-index:1;text-align:center;padding:2rem;max-width:680px;}
.img-banner-c h2{font-family:'Marcellus',serif;font-size:clamp(1.6rem,4vw,2.5rem);font-weight:400;color:#fff;line-height:1.15;margin-bottom:.7rem;}
.img-banner-c p{color:rgba(255,255,255,.68);font-size:.92rem;line-height:1.6;font-weight:300;}

/* WHY SECTION */
.why-section{background:var(--navy);padding:3.5rem 2rem;}
.why-inner{max-width:1100px;margin:0 auto;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem;}
.why-item{text-align:center;padding:1.5rem;}
.why-num{font-family:'Marcellus',serif;font-size:2.5rem;font-weight:400;color:var(--teal);line-height:1;margin-bottom:.3rem;}
.why-label{color:#fff;font-family:'Marcellus',serif;font-size:.82rem;font-weight:400;margin-bottom:.35rem;}
.why-desc{color:rgba(255,255,255,.32);font-size:.78rem;line-height:1.5;}

/* ABOUT */
.about-section{background:#fff;padding:3.5rem 2rem;}
.about-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:center;}
.about-img-wrap{position:relative;}
.about-img{width:100%;border-radius:5px;display:block;object-fit:cover;aspect-ratio:4/3;}
.about-badge{position:absolute;bottom:-1rem;right:-1rem;background:var(--teal);color:#fff;padding:.9rem 1.4rem;border-radius:5px;text-align:center;}
.badge-num{font-family:'Marcellus',serif;font-size:1.5rem;font-weight:400;line-height:1;}
.badge-txt{font-family:'Marcellus',serif;font-size:.6rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;opacity:.85;margin-top:.15rem;}
.about-quote{font-family:'Lato',sans-serif;font-size:1rem;font-style:italic;font-weight:300;color:var(--navy);line-height:1.6;margin:1.4rem 0;padding-left:1.5rem;border-left:2px solid var(--teal);}
.about-txt{color:var(--mid);line-height:1.7;font-size:.9rem;font-weight:300;margin-bottom:1.1rem;}

/* CTA SECTION */
.cta-section{background:var(--navy);padding:4.5rem 2rem;text-align:center;position:relative;}
.cta-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);}
.cta-section h2{font-family:'Marcellus',serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:400;color:#fff;margin-bottom:.7rem;}
.cta-section p{color:rgba(255,255,255,.45);margin-bottom:2rem;font-size:.9rem;font-weight:300;}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* PAGE HERO */
.page-hero{position:relative;overflow:hidden;min-height:280px;display:flex;align-items:center;justify-content:center;text-align:center;padding:calc(88px + 3rem) 2rem 4rem;}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.page-hero-ov{position:absolute;inset:0;}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:var(--cream);clip-path:ellipse(55% 100% at 50% 100%);}
.page-dark .page-hero::after{background:var(--navy);}
.page-hero-c{position:relative;z-index:1;}
.page-hero h1{font-family:'Marcellus',serif;font-size:clamp(1.9rem,4vw,2.7rem);font-weight:400;color:#fff;margin-bottom:.7rem;}
.page-hero p{color:rgba(255,255,255,.62);font-size:.9rem;max-width:460px;margin:0 auto;font-weight:300;}

/* SERVICES FULL */
.svc-full{padding:4rem 2rem;max-width:1100px;margin:0 auto;}
.svc-full-wrap{background:var(--navy);}
.svc-cat{margin-bottom:3.5rem;}
.svc-cat-hdr{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem;padding-bottom:.9rem;border-bottom:1px solid rgba(255,255,255,.08);}
.svc-cat-icon{width:38px;height:38px;border:1px solid rgba(95,166,173,.25);border-radius:4px;display:flex;align-items:center;justify-content:center;}
.svc-cat-title{font-family:'Marcellus',serif;font-size:1.25rem;font-weight:400;color:#fff;}
.svc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;}
.svc-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:5px;padding:1.3rem;transition:all .25s;text-align:center;}
.svc-item:hover{border-color:var(--teal);background:rgba(95,166,173,.06);box-shadow:0 6px 20px rgba(0,0,0,.2);}
.svc-item h4{font-family:'Marcellus',serif;font-weight:400;color:#fff;margin-bottom:.3rem;font-size:.9rem;}
.svc-item p{font-size:.8rem;color:rgba(255,255,255,.45);line-height:1.5;margin-bottom:.7rem;font-weight:300;}
.price-tag{display:inline-block;font-family:'Marcellus',serif;font-size:.7rem;font-weight:400;padding:.2rem .6rem;border-radius:2px;background:rgba(95,166,173,.1);color:var(--teal);border:1px solid rgba(95,166,173,.18);}

/* POSTCODE */
.pc-section{background:#fff;padding:3.5rem 2rem;}
.pc-inner{max-width:660px;margin:0 auto;text-align:center;}
.pc-form{margin-top:2.5rem;display:flex;gap:.6rem;max-width:400px;margin-left:auto;margin-right:auto;}
.pc-input{flex:1;padding:.75rem 1.1rem;border:1px solid var(--border);border-radius:3px;font-family:'Marcellus',serif;font-size:.95rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:var(--navy);background:var(--cream);outline:none;transition:border-color .2s;}
.pc-input:focus{border-color:var(--teal);}
.pc-btn{background:var(--navy);color:#fff;padding:.75rem 1.3rem;border-radius:3px;border:none;font-family:'Marcellus',serif;font-weight:400;font-size:.78rem;letter-spacing:0.02em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .2s;}
.pc-btn:hover{background:var(--navy-l);}
.pc-result{margin-top:2rem;padding:1.4rem 1.8rem;border-radius:5px;display:none;text-align:left;}
.pc-result.show{display:block;}
.res-green{background:rgba(45,122,79,.12);border:1px solid rgba(45,122,79,.3);}
.res-amber{background:rgba(209,138,41,.12);border:1px solid rgba(209,138,41,.3);}
.res-red{background:rgba(192,57,43,.12);border:1px solid rgba(192,57,43,.3);}
.res-hdr{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem;}
.res-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot-g{background:var(--ok);}.dot-a{background:var(--amber);}.dot-r{background:var(--err);}
.res-title{font-family:'Marcellus',serif;font-weight:400;font-size:.92rem;color:#fff;}
.res-msg{color:rgba(255,255,255,.85);}
.pc-result-light .res-msg{color:var(--navy);}
.res-dist{font-size:.82rem;color:rgba(255,255,255,.65);margin-bottom:1.1rem;font-weight:300;line-height:1.6;}
.res-table{width:100%;border-collapse:collapse;font-size:.84rem;}
.res-table th{text-align:left;padding:.4rem .65rem;color:rgba(255,255,255,.4);font-family:'Marcellus',serif;font-weight:400;font-size:.68rem;text-transform:uppercase;letter-spacing:0.02em;border-bottom:1px solid rgba(255,255,255,.1);}
.res-table td{padding:.5rem .65rem;border-bottom:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.8);font-weight:300;}
.res-table td:last-child{font-family:'Marcellus',serif;font-weight:400;color:var(--teal);}
.res-table tr:last-child td{border-bottom:none;}

/* PRICING */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem;}
.price-card{background:#fff;border:1px solid var(--border);border-radius:5px;padding:1.8rem;position:relative;}
.price-card.featured{border-color:var(--teal);box-shadow:0 16px 40px rgba(95,166,173,.14);}
.price-card.featured::before{content:'Most Popular';position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-family:'Marcellus',serif;font-size:.62rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;padding:.22rem .8rem;border-radius:2px;white-space:nowrap;}
.price-card h3{font-family:'Marcellus',serif;font-size:1.15rem;font-weight:400;color:var(--navy);margin-bottom:.25rem;}
.price-card-desc{font-size:.8rem;color:var(--light);margin-bottom:1.4rem;font-weight:300;}
.price-amount{font-family:'Marcellus',serif;font-size:2rem;font-weight:400;color:var(--navy);line-height:1;margin-bottom:.2rem;}
.price-amount span{font-size:.9rem;font-family:'Lato',sans-serif;color:var(--light);font-weight:300;}
.price-note{font-size:.74rem;color:var(--light);margin-bottom:1.4rem;font-weight:300;}
.price-features{list-style:none;margin-bottom:1.4rem;}
.price-features li{display:flex;align-items:flex-start;gap:.45rem;font-size:.84rem;color:var(--mid);padding:.25rem 0;font-weight:300;}
.price-features li::before{content:'\2713';color:var(--teal);font-weight:700;flex-shrink:0;}
.price-divider{height:1px;background:var(--border);margin:1.3rem 0;}

/* ABOUT FULL */
.about-full{padding:4rem 2rem;max-width:1100px;margin:0 auto;}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-bottom:4.5rem;}
.story-img{width:100%;border-radius:5px;object-fit:cover;aspect-ratio:3/4;display:block;}
.story-content h2{font-family:'Marcellus',serif;font-size:1.85rem;font-weight:400;color:var(--navy);margin-bottom:1.1rem;line-height:1.15;}
.story-content p{color:var(--mid);line-height:1.8;font-size:.9rem;margin-bottom:1.1rem;font-weight:300;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;}
.val-card{background:#fff;border:1px solid var(--border);border-radius:5px;padding:1.5rem;text-align:center;}
.val-icon{width:26px;height:26px;margin:0 auto .65rem;display:block;stroke:var(--teal);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.val-card h4{font-family:'Marcellus',serif;font-size:.86rem;font-weight:400;color:var(--navy);margin-bottom:.35rem;}
.val-card p{font-size:.78rem;color:var(--light);line-height:1.5;font-weight:300;}

/* FORMS */
.form-wrap{max-width:660px;margin:0 auto;padding:4rem 2rem;}
.form-card{background:#fff;border-radius:5px;padding:2.2rem;border:1px solid var(--border);}

/* ── MULTI-STEP BOOKING ── */
.bk-progress{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;}
.bk-prog-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex-shrink:0;}
.bk-prog-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--border);color:var(--mid);font-family:'Marcellus',serif;font-size:.85rem;transition:background .3s,color .3s;}
.bk-prog-label{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mid);font-weight:400;transition:color .3s;}
.bk-prog-step.active .bk-prog-num{background:var(--teal);color:#fff;}
.bk-prog-step.active .bk-prog-label{color:var(--navy);}
.bk-prog-step.done .bk-prog-num{background:var(--navy);color:#fff;}
.bk-prog-line{flex:1;height:2px;background:var(--border);margin:0 .5rem;max-width:60px;margin-bottom:1.1rem;}
.bk-step{animation:bkFade .3s ease;}
@keyframes bkFade{from{opacity:0;transform:translateX(8px);}to{opacity:1;transform:translateX(0);}}
.bk-btn-row{display:flex;gap:.8rem;align-items:center;margin-top:.5rem;}
.bk-btn-row .btn-dark{flex:1;}
.bk-back{background:transparent;border:1px solid var(--border);color:var(--mid);padding:.85rem 1.4rem;border-radius:3px;font-family:'Marcellus',serif;font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;flex-shrink:0;transition:border-color .2s;}
@media (hover:hover){.bk-back:hover{border-color:var(--teal);color:var(--teal);}}
.bk-next{width:100%;}
@media (max-width:480px){
  .bk-prog-label{font-size:.6rem;}
  .bk-prog-num{width:28px;height:28px;font-size:.78rem;}
  .bk-prog-line{max-width:30px;margin:0 .25rem .9rem;}
}
.form-group{margin-bottom:1.1rem;}
.form-label{display:block;font-family:'Marcellus',serif;font-size:.7rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:var(--navy);margin-bottom:.35rem;}
.form-input,.form-select,.form-textarea{width:100%;padding:.72rem .9rem;border:1px solid var(--border);border-radius:3px;font-family:'Lato',sans-serif;font-size:.9rem;color:var(--navy);background:var(--cream);outline:none;transition:border-color .2s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--teal);}
.form-textarea{min-height:95px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-alts{margin-top:1.8rem;text-align:center;}
.form-alts p{color:var(--light);font-size:.82rem;margin-bottom:.9rem;font-weight:300;}
.alt-pills{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;}
.alt-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:3px;font-family:'Marcellus',serif;font-size:.75rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;text-decoration:none;border:none;transition:all .2s;cursor:pointer;}
.pill-wa{background:#25D366;color:#fff;}.pill-wa:hover{background:#1ebe5c;}
.pill-fb{background:#1877F2;color:#fff;}.pill-fb:hover{background:#1464d4;}
.pill-ph{background:var(--navy);color:#fff;}.pill-ph:hover{background:var(--navy-l);}
.form-success{display:none;text-align:center;padding:2.5rem;}
.form-success.show{display:block;}
.form-success h3{font-family:'Marcellus',serif;font-size:1.25rem;font-weight:400;color:var(--navy);margin-bottom:.45rem;}
.form-success p{color:var(--mid);font-size:.88rem;font-weight:300;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;padding:4rem 2rem;max-width:1100px;margin:0 auto;align-items:start;}
.contact-info h2{font-family:'Marcellus',serif;font-size:1.6rem;font-weight:400;color:var(--navy);margin-bottom:.7rem;}
.contact-info p{color:var(--mid);line-height:1.7;font-size:.9rem;margin-bottom:1.8rem;font-weight:300;}
.contact-methods{display:flex;flex-direction:column;gap:.65rem;}
.contact-method{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;background:#fff;border:1px solid var(--border);border-radius:5px;text-decoration:none;color:var(--navy);transition:all .2s;cursor:pointer;}
.contact-method:hover{border-color:var(--teal);box-shadow:0 4px 14px rgba(95,166,173,.1);}
.method-icon{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.method-text strong{display:block;font-family:'Marcellus',serif;font-size:.86rem;font-weight:400;}
.method-text span{font-size:.76rem;color:var(--light);font-weight:300;}

/* REVIEWS */
.reviews-section{background:var(--cream);padding:3.5rem 2rem;border-top:1px solid var(--border);}
.reviews-inner{max-width:1100px;margin:0 auto;}
.reviews-label{text-align:center;font-family:'Marcellus',serif;font-size:.6rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:var(--light);margin-bottom:1.4rem;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.review-card{background:#fff;border:1px solid var(--border);border-radius:5px;padding:1.4rem;}
.review-stars{color:var(--amber);font-size:.82rem;margin-bottom:.5rem;}
.review-text{font-size:.84rem;color:var(--mid);line-height:1.6;margin-bottom:.7rem;font-style:italic;font-weight:300;}
.review-author{font-family:'Marcellus',serif;font-size:.76rem;font-weight:400;color:var(--navy);}
.review-loc{font-size:.7rem;color:var(--light);font-weight:300;}

/* WHATSAPP FLOAT */
.wa-float{position:fixed;bottom:2rem;right:2rem;width:52px;height:52px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 4px 20px rgba(37,211,102,.4);cursor:pointer;z-index:998;text-decoration:none;animation:float 3s ease-in-out infinite;}
.wa-float:hover{animation:none;transform:scale(1.1);}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}

/* FOOTER */
footer{background:var(--navy);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem;margin-bottom:2rem;}
.footer-desc{font-size:.8rem;line-height:1.6;color:rgba(255,255,255,.28);max-width:250px;margin-top:.75rem;font-weight:300;}
.footer-col h4{font-family:'Marcellus',serif;color:rgba(255,255,255,.4);font-size:.6rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;margin-bottom:.9rem;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:.4rem;}
.footer-col ul li a,.footer-col ul li span{font-size:.8rem;color:rgba(255,255,255,.28);text-decoration:none;cursor:pointer;transition:color .2s;font-weight:300;}
.footer-col ul li a:hover,.footer-col ul li span:hover{color:var(--teal);}
.footer-bottom{max-width:1100px;margin:0 auto;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:rgba(255,255,255,.2);flex-wrap:wrap;gap:.5rem;font-weight:300;}
.gas-badge{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.04);padding:.25rem .7rem;border-radius:2px;font-size:.68rem;}

/* RESPONSIVE */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;}.trust-card{display:none;}
  .services-grid{grid-template-columns:1fr 1fr;}.why-grid{grid-template-columns:repeat(2,1fr);}
  .about-inner{grid-template-columns:1fr;}.about-story{grid-template-columns:1fr;}
  .pricing-grid{grid-template-columns:1fr;}.values-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}.footer-inner{grid-template-columns:1fr 1fr;}
  .img-banner{height:240px;}
}
@media(max-width:600px){
  .services-grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}.footer-inner{grid-template-columns:1fr;}
  .hphone{display:none;}.pc-form{flex-direction:column;}
  .reviews-grid{grid-template-columns:1fr;}.about-badge{position:static;margin-top:1rem;display:inline-block;}
}

/* ABOUT US PAGE */
.about-why{padding:3.5rem 0;}
.why-honest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.why-honest-card{background:#fff;border:1px solid var(--border);border-radius:5px;padding:1.8rem;}
.why-honest-icon{width:44px;height:44px;border:1px solid rgba(95,166,173,.22);border-radius:4px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;}
.why-honest-card h4{font-family:'Marcellus',serif;font-size:1rem;font-weight:400;color:var(--navy);margin-bottom:.6rem;}
.why-honest-card p{font-size:.86rem;color:var(--mid);line-height:1.75;font-weight:300;}
.about-tech{background:var(--navy);border-radius:6px;padding:3rem;margin:1rem 0 3rem;}
.about-tech-inner{max-width:100%;display:grid;grid-template-columns:1.4fr 1fr;gap:3.5rem;align-items:center;}
.about-tech-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.tech-stat{background:rgba(255,255,255,.04);border:1px solid rgba(95,166,173,.14);border-radius:5px;padding:1.2rem;text-align:center;}
.tech-stat-num{font-family:'Marcellus',serif;font-size:1.4rem;font-weight:400;color:var(--teal);line-height:1;margin-bottom:.3rem;}
.tech-stat-lbl{font-size:.72rem;color:rgba(255,255,255,.35);font-weight:300;line-height:1.4;}

@media(max-width:900px){
  .why-honest-grid{grid-template-columns:1fr;}
  .about-tech-inner{grid-template-columns:1fr;}
  .about-tech-stats{grid-template-columns:repeat(2,1fr);}
}

/* ═══════ OTACTA-STYLE LAYOUT ═══════ */

/* HEADER NAV */
.header-nav{display:flex;align-items:center;gap:1rem;}
.hnav-link{font-family:'Marcellus',serif;font-size:.82rem;font-weight:400;color:rgba(255,255,255,.55);cursor:pointer;letter-spacing:.02em;transition:color .2s;}
.hnav-link:hover{color:#fff;}
.hnav-book{background:var(--teal);color:#fff;padding:.52rem 1.3rem;height:36px;border-radius:3px;font-family:'Marcellus',serif;font-size:.78rem;font-weight:400;letter-spacing:.02em;border:none;cursor:pointer;transition:background .2s;display:flex;align-items:center;}
.hnav-book:hover{background:var(--teal-l);}

/* HERO V2 — centred, full-width */
.hero-v2{position:relative;overflow:hidden;min-height:0;display:flex;align-items:flex-start;justify-content:center;padding-top:88px;padding-bottom:2.5rem;}
.hero-v2-bg{position:absolute;inset:0;background-image:url('hero.jpg');background-size:cover;background-position:center 55%;}
.hero-v2-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,27,36,.88) 0%,rgba(15,27,36,.82) 50%,rgba(15,27,36,.92) 100%);}
.hero-v2-inner{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:2rem 2rem 1.5rem;text-align:center;width:100%;}
.eyebrow-pill{display:inline-block;background:rgba(95,166,173,.12);border:1px solid rgba(95,166,173,.25);color:var(--teal);font-family:'Marcellus',serif;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem 1rem;border-radius:20px;margin-bottom:.8rem;}
.hero-v2-h1{font-family:'Marcellus',serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:400;color:#fff;line-height:1.1;margin-bottom:.8rem;}
.hero-v2-h1 span{color:var(--teal);}
.hero-v2-sub{color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.6;max-width:580px;margin:0 auto 1.2rem;font-weight:300;}
.hero-v2-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem;}

/* POSTCODE HERO WIDGET */
.hero-widget{background:rgba(255,255,255,.04);border:1px solid rgba(95,166,173,.2);border-radius:10px;padding:1.6rem 2rem 1.4rem;backdrop-filter:blur(16px);max-width:620px;margin:.8rem auto 0;text-align:center;}
.hero-widget-label{font-family:'Marcellus',serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;}
.hw-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);display:inline-block;box-shadow:0 0 6px var(--teal);}
.hw-form{display:flex;gap:.6rem;}
.hw-input{flex:1;padding:.85rem 1.1rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:4px;font-family:'Marcellus',serif;font-size:1rem;color:#fff;outline:none;letter-spacing:.05em;text-transform:uppercase;transition:border-color .2s;text-align:center;}
.hw-input::placeholder{color:rgba(255,255,255,.25);text-transform:none;letter-spacing:0;}
.hw-input:focus{border-color:var(--teal);}
.hw-btn{background:var(--teal);color:#fff;padding:.8rem 1.4rem;border-radius:4px;border:none;font-family:'Marcellus',serif;font-size:.76rem;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .2s;}
.hw-btn:hover{background:var(--teal-l);}
.hw-pills{display:flex;gap:1.2rem;margin-top:1.2rem;flex-wrap:wrap;justify-content:center;}
.hw-pill{display:flex;align-items:center;gap:.4rem;font-size:.74rem;color:rgba(255,255,255,.35);font-weight:300;}
.hw-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}

/* TRUST BAR */
.trust-bar{background:var(--navy);border-bottom:1px solid rgba(95,166,173,.1);padding:.9rem 2rem;}
.trust-bar-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;}
.tb-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 1.8rem;font-family:'Marcellus',serif;font-size:.68rem;font-weight:400;letter-spacing:.03em;color:rgba(255,255,255,.45);text-transform:uppercase;}
.tb-icon{display:flex;align-items:center;}
.tb-sep{width:1px;height:18px;background:rgba(255,255,255,.08);}

/* HOME SECTIONS */
.home-section{padding:5rem 2rem;}
.bg-cream{background:var(--cream);}
.bg-navy{background:var(--navy);}
.bg-white{background:#fff;}
.hs-inner{max-width:1100px;margin:0 auto;}
.hs-hdr{margin-bottom:3rem;}
.hs-hdr.centered{text-align:center;}
.hs-hdr.centered .hs-desc{margin:0 auto;}
.areas-text{max-width:780px;margin:2rem auto 0;text-align:center;}
.areas-text p{color:var(--mid);font-size:.95rem;line-height:1.8;font-weight:300;margin-bottom:1rem;}
.areas-text p:last-child{margin-bottom:0;}
.hs-title{font-family:'Marcellus',serif;font-size:clamp(1.9rem,3.8vw,2.8rem);font-weight:400;color:var(--navy);line-height:1.1;margin-bottom:1rem;}
.hs-desc{color:var(--mid);font-size:.95rem;line-height:1.75;max-width:560px;font-weight:300;}

/* FEATURE ROWS — alternating */
.feat-row{padding:5rem 2rem;}
.feat-row-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.feat-row-inner.reversed{direction:rtl;}
.feat-row-inner.reversed > *{direction:ltr;}
.feat-text .eyebrow{margin-bottom:.7rem;}
.feat-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.fstat{background:rgba(255,255,255,.04);border:1px solid rgba(95,166,173,.12);border-radius:6px;padding:1.4rem;}
.fstat-num{font-family:'Marcellus',serif;font-size:2rem;font-weight:400;color:var(--teal);line-height:1;margin-bottom:.3rem;}
.fstat-lbl{font-family:'Marcellus',serif;font-size:.76rem;font-weight:400;color:#fff;margin-bottom:.3rem;letter-spacing:.02em;}
.fstat-desc{font-size:.74rem;color:rgba(255,255,255,.3);line-height:1.5;font-weight:300;}

/* FEAT PHOTO */
.feat-photo-wrap{position:relative;}
.feat-photo{width:100%;border-radius:8px;object-fit:cover;aspect-ratio:4/3;display:block;}
.feat-photo-badge{position:absolute;bottom:-1rem;right:-1rem;background:var(--teal);color:#fff;padding:.9rem 1.4rem;border-radius:5px;text-align:center;}
.fpb-num{font-family:'Marcellus',serif;font-size:1.1rem;font-weight:400;line-height:1;margin-bottom:.2rem;}
.fpb-lbl{font-family:'Marcellus',serif;font-size:.58rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;opacity:.8;}

/* OUTLINE BUTTON */
.btn-outline{background:transparent;color:var(--navy);padding:.8rem 2rem;border-radius:3px;font-family:'Marcellus',serif;font-weight:400;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;border:1.5px solid var(--navy);transition:all .25s;display:inline-block;}
.btn-outline:hover{background:var(--navy);color:#fff;}

/* RESPONSIVE — new sections */
@media(max-width:900px){
  .feat-row-inner{grid-template-columns:1fr;gap:2.5rem;}
  .feat-row-inner.reversed{direction:ltr;}
  .feat-stats{grid-template-columns:1fr 1fr;}
  .trust-bar-inner{gap:0;justify-content:flex-start;overflow-x:auto;}
  .tb-sep{display:none;}
  .tb-item{padding:.4rem 1rem;}
  .header-nav .hnav-link{display:none;}
}
@media(max-width:600px){
  .feat-stats{grid-template-columns:1fr;}
  .hnav-book{display:none;}
}

/* LIGHT BACKGROUND TABLE VARIANT (pricing page) */
.res-table-light th{color:var(--light);border-bottom:1px solid var(--border);}
.res-table-light td{color:var(--navy);border-bottom:1px solid rgba(220,215,205,.5);}
.res-table-light tr:last-child td{border-bottom:none;}

/* POSTCODE RESULT — light background variant (services/pricing pages) */
.pc-result-light .res-title{color:var(--navy);}
.pc-result-light p{color:var(--navy);}
.pc-result-light .res-dist{color:var(--mid);}
.pc-result-light .res-table th{color:var(--light);border-bottom:1px solid var(--border);}
.pc-result-light .res-table td{color:var(--navy);border-bottom:1px solid rgba(220,215,205,.5);}
.pc-result-light .res-table td:last-child{color:var(--teal);}
.pc-result-light .res-table tr:last-child td{border-bottom:none;}
.pc-result-light.res-green{background:rgba(45,122,79,.06);border:1px solid rgba(45,122,79,.2);}
.pc-result-light.res-amber{background:rgba(209,138,41,.06);border:1px solid rgba(209,138,41,.2);}
.pc-result-light.res-red{background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.2);}
.pc-result-light .pc-reset-btn{color:var(--mid) !important;border-color:rgba(0,0,0,.15) !important;}


/* ═══════ COOKIE BANNER ═══════ */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--navy);border-top:1px solid rgba(95,166,173,.15);z-index:1000;transform:translateY(100%);transition:transform .4s ease;padding:.9rem 2rem;}
.cookie-banner.show{transform:translateY(0);}
.cookie-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.cookie-inner span{font-size:.78rem;color:rgba(255,255,255,.5);font-weight:300;}
.cookie-link{color:var(--teal);cursor:pointer;text-decoration:underline;}
.cookie-btns{display:flex;gap:.6rem;}
.cookie-accept{background:var(--teal);color:#fff;border:none;padding:.4rem 1.1rem;border-radius:3px;font-family:'Marcellus',serif;font-size:.74rem;cursor:pointer;}
.cookie-decline{background:transparent;color:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.15);padding:.4rem 1.1rem;border-radius:3px;font-family:'Marcellus',serif;font-size:.74rem;cursor:pointer;}

/* ═══════ SCROLL ANIMATIONS ═══════ */
.anim{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease;}
.anim-in{opacity:1;transform:translateY(0);}
.anim-up{transform:translateY(28px);}
.anim-left{transform:translateX(-28px);}
.anim-right{transform:translateX(28px);}

/* ═══════ FAQ ═══════ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;}
.faq-item{border:1px solid var(--border);border-radius:5px;overflow:hidden;background:#fff;}
.faq-q{width:100%;text-align:left;padding:1.1rem 1.3rem;background:none;border:none;font-family:'Marcellus',serif;font-size:.9rem;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;line-height:1.4;}
.faq-q:hover{background:rgba(95,166,173,.04);}
.faq-icon{color:var(--teal);font-size:1.2rem;flex-shrink:0;transition:transform .25s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s;font-size:.84rem;color:var(--mid);line-height:1.7;font-weight:300;padding:0 1.3rem;}
.faq-item.open .faq-a{max-height:200px;padding:.1rem 1.3rem 1.2rem;}
@media(max-width:700px){.faq-grid{grid-template-columns:1fr;}}

/* ═══════ BLOG ═══════ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem;}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:6px;padding:1.8rem;display:flex;flex-direction:column;gap:.7rem;cursor:pointer;transition:box-shadow .25s,transform .25s;}
@media (hover:hover){.blog-card:hover{box-shadow:0 8px 32px rgba(15,27,36,.1);transform:translateY(-3px);}}
.blog-cat{font-family:'Marcellus',serif;font-size:.65rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;}
.blog-title{font-family:'Marcellus',serif;font-size:1.05rem;font-weight:400;color:var(--navy);line-height:1.35;}
.blog-intro{font-size:.82rem;color:var(--mid);line-height:1.65;font-weight:300;flex:1;}
.blog-meta{display:flex;gap:1rem;font-size:.72rem;color:var(--light);font-weight:300;}
.blog-read-btn{background:transparent;border:1.5px solid var(--teal);color:var(--teal);padding:.5rem 1.1rem;border-radius:3px;font-family:'Marcellus',serif;font-size:.74rem;letter-spacing:.02em;cursor:pointer;align-self:flex-start;transition:all .2s;}
.blog-read-btn:hover{background:var(--teal);color:#fff;}
@media(max-width:800px){.blog-grid{grid-template-columns:1fr;}}

/* ═══════ BLOG MODAL ═══════ */
.blog-modal{position:fixed;inset:0;background:rgba(15,27,36,.7);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .3s;}
.blog-modal.open{opacity:1;pointer-events:all;}
.blog-modal-wrap{background:#fff;border-radius:8px;max-width:680px;width:100%;max-height:88vh;overflow-y:auto;padding:2.5rem;position:relative;}
.bm-close{position:absolute;top:1.2rem;right:1.2rem;background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--light);}
.bm-cat{font-family:'Marcellus',serif;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;}
.bm-title{font-family:'Marcellus',serif;font-size:1.5rem;font-weight:400;color:var(--navy);line-height:1.25;margin-bottom:.5rem;}
.bm-meta{font-size:.75rem;color:var(--light);margin-bottom:1.4rem;font-weight:300;}
.bm-intro{font-size:.95rem;color:var(--navy);line-height:1.75;margin-bottom:1.2rem;font-weight:400;}
.bm-body{font-size:.88rem;color:var(--mid);line-height:1.8;margin-bottom:1rem;font-weight:300;}

/* ═══════ SERVICE AREA MAP ═══════ */
.map-wrap{border-radius:8px;overflow:hidden;border:1px solid rgba(95,166,173,.2);}
#coverage-map, #coverage-map-svc{height:420px;width:100%;background:var(--navy);}
.map-legend{display:flex;gap:1.8rem;justify-content:center;flex-wrap:wrap;padding:1rem 1.4rem;background:rgba(255,255,255,.04);border-top:1px solid rgba(95,166,173,.12);}
.map-legend-light{background:rgba(15,27,36,.04);border-top:1px solid var(--border);}
.map-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.76rem;color:rgba(255,255,255,.45);font-weight:300;}
.map-legend-light .map-legend-item{color:var(--mid);}
.map-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
@media(max-width:700px){#coverage-map,#coverage-map-svc{height:300px;}.map-legend{gap:1rem;}}

/* ═══════ CONTACT LAUNCHER ═══════ */
.contact-launcher{position:fixed;bottom:1.8rem;right:1.8rem;z-index:1800;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;pointer-events:none;}
.contact-launcher .cl-trigger{pointer-events:auto;}
.cl-trigger{width:58px;height:58px;border-radius:50%;background:var(--teal);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(95,166,173,.5);transition:transform .2s,box-shadow .2s;flex-shrink:0;-webkit-tap-highlight-color:transparent;}
.cl-trigger:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(95,166,173,.6);}
.cl-trigger.active{background:var(--navy);}
.cl-menu{display:flex;flex-direction:column;gap:.55rem;opacity:0;pointer-events:none;transform:translateY(12px) scale(.97);transition:opacity .25s,transform .25s;transform-origin:bottom right;}
.cl-menu.open{opacity:1;pointer-events:all;transform:translateY(0) scale(1);}
.cl-item{display:flex;align-items:center;gap:.85rem;background:#fff;border-radius:8px;padding:.75rem 1rem .75rem .7rem;box-shadow:0 4px 20px rgba(15,27,36,.15);text-decoration:none;transition:transform .15s,box-shadow .15s;min-width:230px;-webkit-tap-highlight-color:transparent;}
@media (hover:hover){.cl-item:hover{transform:translateX(-3px);box-shadow:0 6px 24px rgba(15,27,36,.2);}}
.cl-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cl-label{display:flex;flex-direction:column;gap:.1rem;}
.cl-label strong{font-family:'Marcellus',serif;font-size:.88rem;color:var(--navy);font-weight:400;}
.cl-label span{font-size:.72rem;color:var(--light);font-weight:300;}
.cl-trigger-icon{display:flex;align-items:center;justify-content:center;}
@media(max-width:480px){.cl-item{min-width:190px;padding:.7rem;}.cl-label span{display:none;}}

/* ═══════ MOBILE TAP FIXES ═══════ */
.nav-link,.nav-cta,.hnav-link,.hnav-book,.btn,.btn-ghost,.btn-wa,.btn-outline,.burger{-webkit-tap-highlight-color:transparent;}
.nav-link{min-height:48px;display:flex;align-items:center;justify-content:center;width:auto;min-width:240px;text-align:center;padding-left:1rem;padding-right:1rem;}
.nav-cta{min-height:48px;}
.faq-q{min-height:52px;-webkit-tap-highlight-color:transparent;}
[data-page]{cursor:pointer;-webkit-tap-highlight-color:transparent;}
.hero-v2-bg,.hero-v2-ov,.page-hero-bg,.page-hero-ov{pointer-events:none;}

/* ═══════ PRIVACY POLICY ═══════ */
.privacy-wrap{padding:3.5rem 2rem;}
.privacy-inner{max-width:740px;margin:0 auto;}
.privacy-updated{font-size:.78rem;color:var(--light);margin-bottom:1.5rem;font-weight:300;}
.privacy-intro{font-size:.95rem;color:var(--mid);line-height:1.8;margin-bottom:2rem;font-weight:300;padding:1.2rem 1.5rem;background:rgba(95,166,173,.06);border-left:3px solid var(--teal);border-radius:0 4px 4px 0;}
.privacy-section{margin-bottom:2.2rem;}
.privacy-section h2{font-family:'Marcellus',serif;font-size:1.15rem;font-weight:400;color:var(--navy);margin-bottom:.8rem;}
.privacy-section p{font-size:.88rem;color:var(--mid);line-height:1.8;margin-bottom:.8rem;font-weight:300;}
.privacy-section ul{margin:.5rem 0 .8rem 1.2rem;}
.privacy-section ul li{font-size:.88rem;color:var(--mid);line-height:1.75;margin-bottom:.4rem;font-weight:300;}
.privacy-section strong{color:var(--navy);font-weight:400;}
.nav-privacy{font-family:'Marcellus',serif;font-size:.82rem;color:rgba(255,255,255,.35);cursor:pointer;padding:.8rem 1.5rem;margin-top:.3rem;letter-spacing:.04em;display:block;min-height:44px;display:flex;align-items:center;justify-content:center;}
.nav-privacy:hover{color:rgba(255,255,255,.6);}
.footer-privacy{cursor:pointer;color:rgba(255,255,255,.25);text-decoration:underline;}
.footer-privacy:hover{color:rgba(255,255,255,.4);}

/* ═══════ BOOKING NOTICE ═══════ */
.booking-notice{background:rgba(95,166,173,.06);border:1px solid rgba(95,166,173,.18);border-radius:5px;padding:1.1rem 1.3rem;margin-bottom:1.2rem;}
.bn-item{font-size:.8rem;color:var(--mid);line-height:1.6;margin-bottom:.4rem;font-weight:300;}
.bn-item strong{color:var(--navy);font-weight:400;}
.bn-item:last-of-type{margin-bottom:.7rem;}
.bn-small{font-size:.72rem;color:var(--light);padding-top:.6rem;border-top:1px solid var(--border);}
.bn-link{color:var(--teal);cursor:pointer;text-decoration:underline;}

/* ═══════ HOW TO PAY ═══════ */
.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.2rem;}
.pay-card{background:var(--cream);border:1px solid var(--border);border-radius:5px;padding:1.3rem;text-align:center;}
.pay-card-featured{background:rgba(95,166,173,.06);border-color:rgba(95,166,173,.25);}
.pay-icon{font-size:1.6rem;margin-bottom:.6rem;}
.pay-card h4{font-family:'Marcellus',serif;font-size:.9rem;font-weight:400;color:var(--navy);margin-bottom:.4rem;}
.pay-card p{font-size:.78rem;color:var(--mid);line-height:1.6;font-weight:300;margin-bottom:.6rem;}
.pay-note{font-size:.68rem;color:var(--teal);font-family:'Marcellus',serif;letter-spacing:.04em;text-transform:uppercase;}
.pay-terms{display:flex;gap:1.5rem;flex-wrap:wrap;padding:.9rem 0 0;border-top:1px solid var(--border);font-size:.76rem;color:var(--light);font-weight:300;}
.pay-link{color:var(--teal);cursor:pointer;text-decoration:underline;}
@media(max-width:600px){.pay-grid{grid-template-columns:1fr;}}

/* ═══════ LEGAL PAGE BACK NAV ═══════ */
.legal-back{background:var(--navy);padding:.7rem 2rem;display:flex;gap:2rem;align-items:center;margin-top:88px;}
.legal-back span{font-family:'Marcellus',serif;font-size:.75rem;color:rgba(255,255,255,.4);cursor:pointer;letter-spacing:.03em;transition:color .2s;}
.legal-back span:first-child{color:rgba(255,255,255,.6);}
.legal-back span:hover{color:var(--teal);}

/* NAV CLOSE BUTTON */
.nav-close{position:absolute;top:1.4rem;right:1.4rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);width:44px;height:44px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;-webkit-tap-highlight-color:transparent;}
.nav-close:hover{background:rgba(255,255,255,.15);color:#fff;}

/* NAV OVERLAY TAP FIX */
.nav-overlay .nav-link,
.nav-overlay .nav-cta,
.nav-overlay .nav-privacy{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
  cursor:pointer;
}

/* ── REVIEWS PLACEHOLDER ── */
.reviews-placeholder{text-align:center;padding:3rem 2rem;background:#fff;border:1px solid var(--border);border-radius:6px;max-width:560px;margin:0 auto;}
.rp-icon{font-size:2rem;color:rgba(95,166,173,.3);margin-bottom:1rem;}
.reviews-placeholder h3{font-family:'Marcellus',serif;font-size:1.2rem;font-weight:400;color:var(--navy);margin-bottom:.7rem;}
.reviews-placeholder p{font-size:.88rem;color:var(--mid);line-height:1.75;font-weight:300;margin-bottom:1.4rem;}
.rp-btn{font-size:.78rem;padding:.6rem 1.4rem;}

/* ── STORY IMAGE PLACEHOLDER ── */
.story-img-placeholder{width:100%;aspect-ratio:4/3;background:var(--cream);border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(95,166,173,.25);}
.sip-inner{text-align:center;}
.sip-inner p{font-size:.75rem;color:rgba(95,166,173,.5);margin-top:.5rem;font-family:'Marcellus',serif;letter-spacing:.04em;}

/* ── HERO CALL ── */
.hero-call{display:none;align-items:center;gap:.5rem;color:rgba(255,255,255,.7);font-family:'Marcellus',serif;font-size:.8rem;text-decoration:none;letter-spacing:.04em;margin-top:1rem;padding:.55rem 1.2rem;border:1px solid rgba(255,255,255,.2);border-radius:3px;background:rgba(255,255,255,.06);transition:all .2s;text-transform:uppercase;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.hero-call:hover{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1);}
@media(max-width:768px){.hero-call{display:inline-flex;}}

/* ── WHAT HAPPENS NEXT ── */
.whats-next{background:var(--cream);border-radius:5px;padding:1.2rem 1.4rem;margin:1.2rem 0;text-align:left;}
.whats-next h4{font-family:'Marcellus',serif;font-size:.82rem;color:var(--navy);margin-bottom:.8rem;font-weight:400;text-transform:uppercase;letter-spacing:.06em;}
.wn-item{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:.6rem;font-size:.82rem;color:var(--mid);font-weight:300;line-height:1.5;}
.wn-item:last-child{margin-bottom:0;}
.wn-num{background:var(--teal);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-family:'Marcellus',serif;flex-shrink:0;margin-top:.1rem;}

/* ═══════ SERVICES PAGE REBUILD ═══════ */
.svc-section{padding:3.5rem 2rem;}
.svc-section-inner{max-width:1100px;margin:0 auto;}
.svc-plumbing{background:var(--navy);border-top:3px solid #5FA6AD;}
.svc-heating{background:var(--navy);border-top:3px solid #D18A29;}
.svc-renewables{background:var(--navy);border-top:3px solid #5BA870;}

.svc-section-hdr{display:flex;align-items:center;gap:1.2rem;margin-bottom:2rem;flex-wrap:wrap;}
.svc-section-icon{width:56px;height:56px;border-radius:8px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.03);}
.svc-section-label{font-family:'Marcellus',serif;font-size:1.4rem;font-weight:400;line-height:1.1;margin-bottom:.2rem;}
.svc-section-sub{font-size:.82rem;color:rgba(255,255,255,.4);font-weight:300;line-height:1.4;}
.svc-book-btn{margin-left:auto;background:var(--teal);color:#fff;border:none;padding:.6rem 1.4rem;border-radius:3px;font-family:'Marcellus',serif;font-size:.78rem;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.svc-book-btn:hover{background:var(--teal-l);}
.svc-book-amber{background:rgba(209,138,41,.8);}
.svc-book-amber:hover{background:#D18A29;}
.svc-book-green{background:rgba(91,168,112,.8);}
.svc-book-green:hover{background:#5BA870;}

/* Coloured card variants */
.svc-item.svc-teal{border-top:2px solid rgba(95,166,173,.5);}
.svc-item.svc-amber{border-top:2px solid rgba(209,138,41,.5);}
.svc-item.svc-green{border-top:2px solid rgba(91,168,112,.5);}
.svc-item.svc-teal:hover{border-color:var(--teal);}
.svc-item.svc-amber:hover{border-color:#D18A29;}
.svc-item.svc-green:hover{border-color:#5BA870;}

/* Coloured price tags */
.price-tag.pt-teal{color:var(--teal);background:rgba(95,166,173,.1);border-color:rgba(95,166,173,.2);}
.price-tag.pt-amber{color:#D18A29;background:rgba(209,138,41,.1);border-color:rgba(209,138,41,.2);}
.price-tag.pt-green{color:#5BA870;background:rgba(91,168,112,.1);border-color:rgba(91,168,112,.2);}

/* Not sure section */
.svc-unsure{background:var(--navy);border-top:3px solid #5FA6AD;padding:3rem 2rem;text-align:center;}
.svc-unsure-inner{max-width:520px;margin:0 auto;}
.svc-unsure-icon{font-size:2rem;margin-bottom:.8rem;}
.svc-unsure h3{font-family:'Marcellus',serif;font-size:1.3rem;font-weight:400;color:#fff;margin-bottom:.7rem;}
.svc-unsure p{font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.75;font-weight:300;margin-bottom:1.4rem;}
.svc-unsure-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

@media(max-width:600px){
  .svc-section-hdr{flex-direction:column;align-items:flex-start;}
  .svc-book-btn{margin-left:0;width:100%;}
}

/* Services page dark overrides */
.page-dark .cta-section{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);}
.page-dark .cta-section h2{color:#fff;}
.page-dark .cta-section p{color:rgba(255,255,255,.5);}
.page-dark .pc-section .section-title{color:#fff;}
.page-dark .pc-section .section-desc{color:rgba(255,255,255,.5);}
.page-dark .pc-section .eyebrow{color:var(--teal);}

/* ═══════ PRICING PAGE DARK ═══════ */
.pricing-section{background:var(--navy);}
.pricing-section .section-title{color:#fff;}
.pricing-section .section-desc{color:rgba(255,255,255,.45);}
.pricing-section .eyebrow{color:var(--teal);}
.page-dark .price-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);}
.page-dark .price-card h3{color:#fff;}
.page-dark .price-card .price-card-desc{color:rgba(255,255,255,.45);}
.page-dark .price-card .price-amount{color:#fff;}
.page-dark .price-card .price-amount span{color:rgba(255,255,255,.45);}
.page-dark .price-card .price-note{color:rgba(255,255,255,.35);}
.page-dark .price-card .price-divider{background:rgba(255,255,255,.08);}
.page-dark .price-card .price-features li{color:rgba(255,255,255,.6);}
.page-dark .price-card .price-features li::before{color:var(--teal);}
.page-dark .price-card.featured{background:rgba(95,166,173,.1);border-color:rgba(95,166,173,.35);}
.pay-card{background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.1) !important;}
.pay-card h4{color:#fff !important;}
.pay-card p{color:rgba(255,255,255,.45) !important;}
.pay-card-featured{background:rgba(95,166,173,.1) !important;border-color:rgba(95,166,173,.3) !important;}
.pay-terms-dark{border-top:1px solid rgba(255,255,255,.08) !important;color:rgba(255,255,255,.35) !important;}

/* ═══════ PRICING PAGE FULL WIDTH FIX ═══════ */
.pricing-full-wrap{background:var(--navy);}
.pricing-full-wrap .section{max-width:1100px;}
.pricing-full-wrap .section + .section{padding-top:0;}

/* ALIGNED BOOK NOW BUTTONS */
.price-card-flex{display:flex;flex-direction:column;}
.price-card-flex .price-features{flex:1;}
.price-card-flex .btn{margin-top:auto;}
.tb-pound{font-family:'Marcellus',serif;font-size:1rem;font-weight:400;line-height:1;display:flex;align-items:center;}

/* ═══════════════════════════════════════
   MOBILE-FIRST RESPONSIVE OVERHAUL
   ═══════════════════════════════════════ */

/* ── TRUST BAR: scroll horizontally on mobile ── */
@media(max-width:768px){
  .trust-bar{padding:.7rem 1rem;}
  .trust-bar-inner{justify-content:center;flex-wrap:wrap;gap:.2rem 0;}
  .tb-sep{display:none;}
  .tb-item{padding:.3rem .7rem;font-size:.63rem;flex:0 0 auto;}
}

/* ── HERO V2: tighter on mobile ── */
@media(max-width:768px){
  .hero-v2-inner{padding:1.5rem 1.4rem 1rem;}
  .hero-v2-h1{font-size:2.1rem;line-height:1.1;}
  .hero-v2-sub{font-size:.88rem;}
  .hero-v2-btns{flex-direction:column;align-items:center;gap:.7rem;}
  .hero-v2-btns .btn,.hero-v2-btns .btn-ghost{width:100%;max-width:320px;text-align:center;}
  .hero-widget{padding:1.4rem 1.2rem 1.2rem;margin:0 -.2rem;}
  .hw-form{flex-direction:column;}
  .hw-btn{width:100%;}
  .hw-pills{gap:.8rem;}
  .hw-pill{font-size:.66rem;}
}

/* ── HOME SECTIONS: mobile ── */
@media(max-width:768px){
  .home-section{padding:2.8rem 1.4rem;}
  .hs-title{font-size:1.7rem;}
  .services-grid{grid-template-columns:1fr;}
  .feat-row{padding:2.8rem 1.4rem;}
  .feat-row-inner{grid-template-columns:1fr;gap:2rem;}
  .feat-row-inner.reversed{direction:ltr;}
  .feat-stats{grid-template-columns:1fr 1fr;}
  .fstat{padding:1rem;}
  .fstat-num{font-size:1.6rem;}
  .feat-photo{aspect-ratio:16/9;}
  .feat-photo-badge{bottom:.5rem;right:.5rem;padding:.7rem 1rem;}
}

/* ── WHY SECTION: mobile ── */
@media(max-width:768px){
  .why-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;}
  .why-section{padding:2.8rem 1.4rem;}
}

/* ── REVIEWS: mobile ── */
@media(max-width:768px){
  .reviews-grid{grid-template-columns:1fr;}
  .reviews-section{padding:2.5rem 1.4rem;}
}

/* ── MAP: mobile ── */
@media(max-width:768px){
  #coverage-map,#coverage-map-svc{height:280px;}
  .map-legend{flex-direction:column;align-items:center;gap:.6rem;padding:.8rem;}
}

/* ── FAQ: mobile ── */
@media(max-width:768px){
  .faq-grid{grid-template-columns:1fr;}
  .faq-q{font-size:.86rem;padding:.9rem 1.1rem;}
}

/* ── BLOG: mobile ── */
@media(max-width:768px){
  .blog-grid{grid-template-columns:1fr;}
  .blog-modal-wrap{padding:1.6rem;border-radius:6px 6px 0 0;max-height:92vh;}
  .blog-modal{align-items:flex-end;}
}

/* ── SERVICES PAGE: mobile ── */
@media(max-width:768px){
  .svc-section{padding:2.5rem 1.4rem;}
  .svc-section-hdr{flex-wrap:wrap;gap:.9rem;}
  .svc-section-icon{width:46px;height:46px;}
  .svc-section-label{font-size:1.2rem;}
  .svc-book-btn{margin-left:0;width:100%;}
  .svc-list{grid-template-columns:1fr;}
  .svc-unsure{padding:2.5rem 1.4rem;}
}

/* ── PRICING PAGE: mobile ── */
@media(max-width:768px){
  .pricing-grid{grid-template-columns:1fr;}
  .pricing-full-wrap .section{padding:2.5rem 1.4rem;}
  .pay-grid{grid-template-columns:1fr;}
  .pay-terms{flex-direction:column;gap:.5rem;}
}

/* ── ABOUT PAGE: mobile ── */
@media(max-width:768px){
  .about-full{padding:2.5rem 1.4rem;}
  .about-story{grid-template-columns:1fr;}
  .about-tech{padding:1.8rem 1.4rem;}
  .about-tech-inner{grid-template-columns:1fr;gap:1.5rem;}
  .about-tech-stats{grid-template-columns:1fr 1fr;}
  .why-honest-grid{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
}

/* ── BOOKING/CONTACT: mobile ── */
@media(max-width:768px){
  .form-wrap{padding:2.5rem 1.4rem;}
  .form-row{grid-template-columns:1fr;}
  .contact-grid{padding:2.5rem 1.4rem;gap:2rem;}
}

/* ── FOOTER: mobile ── */
@media(max-width:768px){
  .footer-inner{grid-template-columns:1fr;gap:1.5rem;}
  .footer-bottom{flex-direction:column;text-align:center;gap:.5rem;}
  footer{padding:2.5rem 1.4rem 1.5rem;}
}

/* ── CTA SECTION: mobile ── */
@media(max-width:768px){
  .cta-section{padding:3rem 1.4rem;}
  .cta-section h2{font-size:1.5rem;}
  .cta-btns{flex-direction:column;align-items:center;}
  .cta-btns .btn,.cta-btns .btn-wa,.cta-btns .btn-ghost{width:100%;max-width:320px;text-align:center;justify-content:center;}
}

/* ── LEGAL PAGES: mobile ── */
@media(max-width:768px){
  .privacy-wrap{padding:2rem 1.4rem;}
  .legal-back{padding:.6rem 1.4rem;gap:1.2rem;margin-top:88px;}
  .legal-back span{font-size:.7rem;}
}

/* ── CONTACT LAUNCHER: mobile bottom position ── */
@media(max-width:768px){
  .contact-launcher{bottom:1.2rem;right:1.2rem;}
  .cl-item{min-width:200px;}
}

/* ── GENERAL TYPOGRAPHY: mobile ── */
@media(max-width:768px){
  .section-title,.hs-title{font-size:1.6rem;}
  .page-hero h1{font-size:2rem;}
  .page-hero p{font-size:.85rem;}
}

/* ── HEADER: ensure logo doesn't overflow ── */
@media(max-width:400px){
  .logo-name{font-size:1.1rem;}
  .logo-tag{font-size:.52rem;}
  header{padding:0 1rem;}
}

/* SERVICES PAGE BOTTOM CTA */
.svc-book-cta{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);padding:2.5rem 2rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.svc-cta-book{min-width:180px;}
.svc-cta-wa{min-width:180px;display:flex;align-items:center;justify-content:center;}
@media(max-width:600px){
  .svc-book-cta{flex-direction:column;align-items:center;padding:2rem 1.4rem;}
  .svc-cta-book,.svc-cta-wa{width:100%;max-width:320px;}
}

/* HERO ABOVE-FOLD FIX */
@media(max-width:768px){
  .eyebrow-pill{display:none;}
  .hero-call{font-size:.72rem;padding:.45rem .9rem;margin-top:.6rem;}
  .hero-widget{padding:1.2rem 1.4rem 1rem;margin-top:.6rem;}
  .hero-widget-label{margin-bottom:.7rem;font-size:.68rem;}
  .hw-pills{margin-top:.8rem;gap:.6rem;}
  .hw-pill{font-size:.62rem;}
  .scroll-prompt{margin-top:.8rem;padding-bottom:.5rem;}
}
@media(min-width:769px){
  .hero-v2-inner{padding-top:2.5rem;}
}
.hw-input:not(:placeholder-shown){text-align:left;}

/* PC-INPUT DARK OVERRIDE for dark pages */
.page-dark .pc-section{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);}
.page-dark .pc-input{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);color:#fff;}
.page-dark .pc-input::placeholder{color:rgba(255,255,255,.25);}
.page-dark .pc-input:focus{border-color:var(--teal);}
.page-dark .pc-btn{background:var(--teal);color:#fff;}
.page-dark .pc-btn:hover{background:var(--teal-l);}

/* CONTACT LAUNCHER: visible on all screen sizes */
.val-pound{font-family:'Marcellus',serif;font-size:1.6rem;color:var(--teal);display:block;margin-bottom:.5rem;line-height:1;}

/* ── BOOKING PRICE INDICATOR ── */
#booking-price-indicator{margin-bottom:1.2rem;}
.bpi-inner{background:rgba(95,166,173,.08);border:1px solid rgba(95,166,173,.3);border-radius:5px;padding:1.1rem 1.3rem;}
.bpi-quote{background:rgba(15,27,36,.04);border-color:rgba(15,27,36,.1);}
.bpi-header{display:flex;align-items:center;gap:.5rem;font-size:.76rem;color:var(--mid);margin-bottom:.6rem;font-weight:300;}
.bpi-header strong{color:var(--navy);font-weight:400;}
.bpi-price{font-family:'Marcellus',serif;font-size:1.6rem;color:var(--teal);line-height:1;margin-bottom:.35rem;}
.bpi-price-quote{font-family:'Marcellus',serif;font-size:1rem;color:var(--navy);margin-bottom:.5rem;}
.bpi-dist{font-family:'Lato',sans-serif;font-size:.72rem;color:var(--light);font-weight:300;}
.bpi-hourly{font-size:.8rem;color:var(--mid);margin-bottom:.5rem;font-weight:300;}
.bpi-note{font-size:.76rem;color:var(--mid);line-height:1.6;font-weight:300;}
.bpi-nopc{font-size:.72rem;color:var(--amber);margin-top:.5rem;font-weight:300;}
.bpi-pound{font-family:'Marcellus',serif;font-size:.9rem;color:var(--teal);margin-right:.3rem;}
.bpi-includes{list-style:none;margin:.5rem 0 .5rem;padding:0;}
.bpi-includes li{font-size:.76rem;color:var(--mid);padding:.15rem 0;font-weight:300;display:flex;align-items:center;gap:.4rem;}
.bpi-includes li::before{content:'\2713';color:var(--teal);font-size:.7rem;flex-shrink:0;}

/* ── EMERGENCY CONTACT BOX ── */
.emergency-contact-box{background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.2);border-radius:6px;padding:1.8rem;text-align:center;margin-bottom:1.2rem;}
.ecb-icon{font-size:2rem;margin-bottom:.8rem;}
.emergency-contact-box h3{font-family:'Marcellus',serif;font-size:1.1rem;font-weight:400;color:var(--navy);margin-bottom:.6rem;}
.emergency-contact-box p{font-size:.85rem;color:var(--mid);line-height:1.65;margin-bottom:1.2rem;font-weight:300;}
.ecb-btns{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-bottom:1rem;}
.ecb-call{display:inline-flex;align-items:center;gap:.8rem;background:var(--navy);color:#fff;padding:.8rem 2rem;border-radius:3px;text-decoration:none;min-width:220px;justify-content:center;transition:background .2s;}
.ecb-call:hover{background:#1a2f3d;}
.ecb-call-text{display:flex;flex-direction:column;text-align:left;}
.ecb-call-label{font-family:'Marcellus',serif;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.65;line-height:1.3;}
.ecb-call-number{font-family:'Marcellus',serif;font-size:.95rem;letter-spacing:.02em;line-height:1.3;}
.ecb-wa-btn{display:inline-flex;align-items:center;gap:.7rem;background:#25D366;color:#fff;padding:.8rem 2rem;border-radius:3px;text-decoration:none;font-family:'Marcellus',serif;font-size:.82rem;letter-spacing:.02em;min-width:220px;justify-content:center;transition:background .2s;-webkit-tap-highlight-color:transparent;}
.ecb-wa-btn:hover{background:#1ea855;}
.ecb-wa-icon{display:flex;align-items:center;flex-shrink:0;}
.ecb-note{font-size:.74rem;color:var(--light);margin-bottom:0 !important;}
.bpi-warning{background:rgba(209,138,41,.12);border:1px solid rgba(209,138,41,.3);border-radius:4px;padding:.6rem .9rem;font-size:.76rem;color:#8a5a00;margin-top:.7rem;font-weight:400;}

/* ═══════ EMERGENCY PAGE ═══════ */
.hnav-emergency{background:#c0392b;color:#fff;width:36px;height:36px;border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:background .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0;position:relative;}
.hnav-emergency:hover{background:#a93226;}
.hnav-emergency::after{content:'Emergency';position:absolute;bottom:-2rem;left:50%;transform:translateX(-50%);background:rgba(192,57,43,.9);color:#fff;font-family:'Marcellus',serif;font-size:.62rem;letter-spacing:.04em;white-space:nowrap;padding:.2rem .5rem;border-radius:2px;opacity:0;transition:opacity .2s;pointer-events:none;}
.hnav-emergency:hover::after{opacity:1;}
.nav-link-emergency{color:#ff6b6b !important;}
.nav-link-emergency:hover{color:#ff4444 !important;}

.emrg-hero{background:var(--navy);padding:calc(88px + 3rem) 2rem 3.5rem;text-align:center;border-bottom:1px solid rgba(192,57,43,.2);}
.emrg-hero-inner{max-width:720px;margin:0 auto;}
.emrg-h1{font-family:'Marcellus',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400;color:#fff;line-height:1.15;margin:.6rem 0 1rem;}
.emrg-sub{font-size:.92rem;color:rgba(255,255,255,.55);margin-bottom:2rem;line-height:1.65;font-weight:300;}
.emrg-contact-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.2rem;}
.emrg-call-btn{display:inline-flex;align-items:center;gap:.8rem;background:var(--navy);border:1px solid rgba(255,255,255,.2);color:#fff;padding:.9rem 2rem;border-radius:3px;text-decoration:none;min-width:220px;justify-content:center;transition:border-color .2s,background .2s;}
.emrg-call-btn:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);}
.emrg-wa-btn{display:inline-flex;align-items:center;gap:.8rem;background:#25D366;color:#fff;padding:.9rem 2rem;border-radius:3px;text-decoration:none;font-family:'Marcellus',serif;font-size:.82rem;letter-spacing:.02em;min-width:220px;justify-content:center;transition:background .2s;}
.emrg-wa-btn:hover{background:#1ea855;}
.emrg-btn-label{display:block;font-family:'Marcellus',serif;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.65;line-height:1.3;}
.emrg-btn-num{display:block;font-family:'Marcellus',serif;font-size:.92rem;line-height:1.3;}
.emrg-hours{font-size:.76rem;color:rgba(255,255,255,.3);font-weight:300;}

.emrg-body{background:var(--navy);}
.emrg-section{padding:3.5rem 2rem;}
.emrg-section-inner{max-width:1000px;margin:0 auto;}
.emrg-section-title{font-family:'Marcellus',serif;font-size:1.6rem;font-weight:400;color:#fff;margin:.4rem 0 2rem;}
.emrg-what{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.08);}
.emrg-plumbing{background:var(--navy);border-bottom:1px solid rgba(95,166,173,.15);}
.emrg-heating{background:rgba(209,138,41,.04);border-top:1px solid rgba(209,138,41,.12);}

/* Steps */
.emrg-steps{display:flex;flex-direction:column;gap:1.4rem;}
.emrg-step{display:flex;gap:1.2rem;align-items:flex-start;}
.emrg-step-num{width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Marcellus',serif;font-size:.9rem;flex-shrink:0;margin-top:.1rem;}
.emrg-step-text strong{display:block;font-family:'Marcellus',serif;font-size:.95rem;font-weight:400;color:#fff;margin-bottom:.3rem;}
.emrg-step-text p{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.65;font-weight:300;margin:0;}

/* Advice grid */
.emrg-advice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.emrg-advice-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.6rem;transition:border-color .2s,background .2s;}
.emrg-plumbing .emrg-advice-card{border-top:3px solid #5FA6AD;}
.emrg-plumbing .emrg-advice-card:hover{border-color:#5FA6AD;background:rgba(95,166,173,.07);}
.emrg-heating .emrg-advice-card{border-top:3px solid #D18A29;}
.emrg-heating .emrg-advice-card:hover{border-color:#D18A29;background:rgba(209,138,41,.07);}
.emrg-advice-icon{font-size:2rem;margin-bottom:.9rem;display:block;}
.emrg-advice-card h4{font-family:'Marcellus',serif;font-size:1rem;font-weight:400;color:#fff;margin-bottom:.9rem;}
.emrg-advice-card ul{list-style:none;padding:0;margin:0;}
.emrg-advice-card ul li{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.7;padding:.3rem 0 .3rem 1.2rem;position:relative;font-weight:300;border-bottom:1px solid rgba(255,255,255,.05);}
.emrg-advice-card ul li:last-child{border-bottom:none;}
.emrg-advice-card ul li::before{content:'•';position:absolute;left:0;color:var(--teal);}
.emrg-heating .emrg-advice-card ul li::before{color:#D18A29;}

/* CTA */
.emrg-cta{background:var(--navy);padding:3.5rem 2rem;text-align:center;}
.emrg-cta h2{font-family:'Marcellus',serif;font-size:1.8rem;font-weight:400;color:#fff;margin-bottom:.6rem;}
.emrg-cta p{font-size:.88rem;color:rgba(255,255,255,.5);margin-bottom:1.8rem;font-weight:300;}
.emrg-pricing-note{font-size:.76rem;color:rgba(255,255,255,.3);margin-top:1.4rem !important;}
.emrg-pricing-note strong{color:rgba(255,255,255,.6);font-weight:400;}

/* Hide footer on emergency page */
.page-dark-footer .emrg-hero{padding-top:calc(88px + 3rem);}

@media(max-width:768px){
  .emrg-hero{padding:calc(88px + 2rem) 1.4rem 2.5rem;}
  .emrg-contact-btns{flex-direction:column;align-items:center;}
  .emrg-call-btn,.emrg-wa-btn{width:100%;max-width:320px;}
  .emrg-advice-grid{grid-template-columns:1fr;}
  .emrg-section{padding:2.5rem 1.4rem;}
  .emrg-cta{padding:2.5rem 1.4rem;}
}

/* ── MOBILE HERO LAYOUT FIXES ── */
@media(max-width:768px){
  /* Side by side buttons */
  .hero-v2-btns{flex-direction:row !important;gap:.6rem;}
  .hero-btn-book,.hero-btn-svc{flex:1;font-size:.72rem;padding:.75rem .5rem;text-align:center;}
  /* Hide Call Now on mobile - contact launcher handles this */
  .hero-call-mobile-hide{display:none !important;}
  /* Hide View Our Services chevron on mobile */
  .scroll-prompt{display:none;}
}

/* ── CALENDLY INTEGRATION ── */
#booking-submit{transition:opacity .3s,background .2s;}
#booking-submit:not(:disabled):hover{background:var(--navy-l);}
#booking-boiler-group{animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
/* Calendly popup z-index */
.calendly-overlay{z-index:9999 !important;}

/* ═══════ HOME SERVICES SECTION REBUILT ═══════ */
.home-svc-section{background:var(--navy);padding:3rem 2rem 2.5rem;}
.home-svc-section .hs-title{font-size:clamp(1.8rem,4vw,2.8rem);}

.services-grid-new{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.8rem;}

.svc-card-new{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.8rem 1.5rem;cursor:pointer;transition:transform .2s,border-color .2s,background .2s;display:flex;flex-direction:column;gap:.8rem;-webkit-tap-highlight-color:transparent;}
@media (hover:hover){.svc-card-new:hover{transform:translateY(-4px);background:rgba(255,255,255,.07);}}

/* Coloured top border per category */
.svc-card-plumbing{border-top:3px solid #5FA6AD;}
.svc-card-plumbing:hover{border-color:#5FA6AD;}
.svc-card-heating{border-top:3px solid #D18A29;}
.svc-card-heating:hover{border-color:#D18A29;}
.svc-card-renewables{border-top:3px solid #5BA870;}
.svc-card-renewables:hover{border-color:#5BA870;}
.svc-card-emergency{border-top:3px solid #ff6b6b;background:rgba(255,107,107,.04);}
.svc-card-emergency:hover{border-color:#ff6b6b;background:rgba(255,107,107,.08);}

/* Icon area */
.svc-card-new-icon{width:56px;height:56px;border-radius:8px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;margin-bottom:.4rem;}

.svc-card-new h3{font-family:'Marcellus',serif;font-size:1.05rem;font-weight:400;color:#fff;margin:0;}
.svc-card-new p{font-size:.82rem;color:rgba(255,255,255,.45);line-height:1.65;font-weight:300;flex:1;margin:0;}
.svc-card-new-link{font-family:'Marcellus',serif;font-size:.76rem;color:var(--teal);letter-spacing:.03em;margin-top:.4rem;display:flex;align-items:center;gap:.3rem;transition:gap .2s;}
.svc-card-new:hover .svc-card-new-link{gap:.6rem;}

@media(max-width:900px){
  .services-grid-new{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:500px){
  .services-grid-new{grid-template-columns:1fr;}
  .home-svc-section{padding:2.5rem 1.4rem;}
}
