*{box-sizing:border-box;margin:0;padding:0}

:root{

--p:#6B2FA0;

--pd:#5B21B6;

--pl:#EDE9FE;

--pl-2:#F5F3FF;

--blk:#0A0A0A;

--grn:#059669;

--txt:#1a1a1a;

--muted:#6B7280;

--bg:#FFFFFF;

--bg-2:#F8F8F8;

--border:#E5E5E5;

--font-display:'Fraunces',Georgia,serif;

--font-body:'Inter',-apple-system,system-ui,sans-serif;

}

html,body{font-family:var(--font-body);color:var(--txt);background:#fff;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}

a{color:inherit;text-decoration:none}

img{max-width:100%;display:block}

/* NAV */

.nav{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;height:108px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}

.nav-logo img{height:84px;width:auto;display:block}

.nav-links{display:flex;gap:2.25rem}

.nav-links a{color:#333;font-size:14px;font-weight:400;transition:color .2s}

.nav-links a:hover{color:var(--p)}

.nav-cta{background:var(--p);color:#fff;font-size:13px;font-weight:500;padding:11px 20px;border-radius:8px;border:none;cursor:pointer;transition:background .2s}

.nav-cta:hover{background:var(--pd)}

/* STICKY CTA BAR (appears on scroll) */

.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:var(--blk);color:#fff;padding:14px 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:40;transform:translateY(100%);transition:transform .35s cubic-bezier(0.16,1,0.3,1);box-shadow:0 -8px 30px rgba(0,0,0,0.15)}

.sticky-cta.show{transform:translateY(0)}

.sticky-cta-text{font-size:14px;color:rgba(255,255,255,0.85)}

.sticky-cta-text strong{color:#fff}

.sticky-cta-btn{background:var(--p);color:#fff;border:none;padding:10px 20px;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-body);white-space:nowrap}

.sticky-cta-close{background:transparent;border:none;color:rgba(255,255,255,0.4);cursor:pointer;font-size:18px;padding:4px 8px;flex-shrink:0}

/* HERO */

.hero{background:var(--blk);padding:5rem 2.5rem 0;position:relative;overflow:hidden}

.hero::before{content:"";position:absolute;top:-20%;right:-10%;width:60%;height:80%;background:radial-gradient(circle,rgba(107,47,160,0.25) 0%,transparent 60%);pointer-events:none}

.hero-inner{position:relative;max-width:1400px;margin:0 auto}

.hero-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(107,47,160,0.4);background:rgba(107,47,160,0.15);color:#C4B5FD;font-size:12px;font-weight:500;padding:5px 14px;border-radius:24px;margin-bottom:1.5rem;letter-spacing:0.3px}

.pill-dot{width:6px;height:6px;border-radius:50%;background:#A78BFA;animation:pulse 2s ease-in-out infinite}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}

.hero h1{font-family:var(--font-display);color:#fff;font-size:clamp(36px,6vw,64px);font-weight:500;line-height:1.05;letter-spacing:-2px;margin-bottom:1.5rem;max-width:900px}

.hero h1 em{color:#B794F4;font-style:italic;font-weight:400}

.hero-sub{color:rgba(255,255,255,0.6);font-size:17px;line-height:1.7;max-width:580px;margin-bottom:2rem;font-weight:300}

.hero-proof{display:inline-flex;align-items:center;gap:10px;background:rgba(5,150,105,0.12);border:1px solid rgba(5,150,105,0.3);color:#34D399;font-size:13px;padding:9px 16px;border-radius:8px;margin-bottom:2rem;font-weight:400}

.hero-btns{display:flex;gap:12px;margin-bottom:0;flex-wrap:wrap}

.btn-p{background:var(--p);color:#fff;padding:16px 28px;border-radius:9px;border:none;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font-body);transition:background .2s;display:inline-flex;align-items:center;gap:8px}

.btn-p:hover{background:#5B21B6}

.btn-g{background:transparent;color:rgba(255,255,255,0.75);padding:16px 28px;border-radius:9px;border:1px solid rgba(255,255,255,0.18);font-size:14px;cursor:pointer;font-family:var(--font-body);transition:all .2s}

.btn-g:hover{border-color:rgba(255,255,255,0.4);color:#fff}

.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.08);border-top:1px solid rgba(255,255,255,0.08);margin-top:4rem}

.h-stat{background:var(--blk);padding:1.75rem 1.25rem;text-align:center}

.h-stat-val{font-family:var(--font-display);color:#fff;font-size:32px;font-weight:500;letter-spacing:-0.5px;line-height:1}

.h-stat-label{color:rgba(255,255,255,0.45);font-size:12px;margin-top:6px;letter-spacing:0.3px}

/* SECTIONS */

section{padding:5rem 2.5rem}

.section-inner{max-width:1400px;margin:0 auto}

.sec-tag{color:var(--p);font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:0.75rem}

.sec-h{font-family:var(--font-display);font-size:clamp(28px,4vw,40px);font-weight:500;letter-spacing:-1px;line-height:1.15;margin-bottom:0.75rem;color:var(--txt)}

.sec-sub{font-size:16px;color:var(--muted);line-height:1.7;max-width:560px;margin-bottom:2.5rem;font-weight:300}

/* LEAD MAGNET BANNER */

.lm-banner{background:linear-gradient(135deg,var(--pl) 0%,#fff 100%);border:1px solid var(--pl);border-radius:18px;padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-bottom:2rem}

.lm-banner-left h3{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-0.5px;margin-bottom:0.5rem;color:var(--txt)}

.lm-banner-left p{font-size:14px;color:var(--muted);line-height:1.6}

.lm-banner-right{display:flex;flex-direction:column;gap:8px}

.lm-form{display:flex;gap:8px;margin-top:8px}

.lm-input{flex:1;padding:13px 16px;border:1px solid var(--border);border-radius:9px;font-size:14px;font-family:var(--font-body);background:#fff}

.lm-input:focus{outline:none;border-color:var(--p)}

.lm-submit{background:var(--p);color:#fff;border:none;padding:13px 22px;border-radius:9px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-body);white-space:nowrap}

/* PAIN */

.pain{background:#fff}

.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:2.5rem}

.pain-card{border-radius:14px;padding:1.5rem;border:1px solid var(--border);background:#fff;transition:all .2s}

.pain-card:hover{border-color:#d0d0d0;transform:translateY(-2px)}

.pain-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}

.pain-card h4{font-family:var(--font-display);font-size:17px;font-weight:500;margin-bottom:0.5rem;color:var(--txt);letter-spacing:-0.3px}

.pain-card p{font-size:14px;color:var(--muted);line-height:1.65;font-weight:300}

.vs-table{background:var(--blk);border-radius:16px;padding:2rem;position:relative;overflow:hidden}

.vs-head{color:rgba(255,255,255,0.4);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.5rem;text-align:center;font-weight:500}

.vs-row{display:grid;grid-template-columns:1fr 110px 1fr;gap:12px;align-items:center;margin-bottom:10px}

.vs-bad{font-size:13px;color:#F87171;background:rgba(220,38,38,0.1);padding:8px 14px;border-radius:7px;text-align:right;font-weight:400}

.vs-mid{font-size:11px;color:rgba(255,255,255,0.35);text-align:center;letter-spacing:0.5px;text-transform:uppercase}

.vs-good{font-size:13px;color:#34D399;background:rgba(5,150,105,0.12);padding:8px 14px;border-radius:7px;font-weight:400}

/* CALCULATOR */

.calc-section{background:var(--pl-2);padding:5rem 2.5rem}

.calc-inner{max-width:720px;margin:0 auto}

.calc-card{background:#fff;border-radius:18px;border:1px solid var(--border);padding:2rem;margin-top:2rem;box-shadow:0 4px 20px rgba(107,47,160,0.06)}

.calc-row{margin-bottom:1.6rem}

.calc-lbl{font-size:13px;font-weight:500;color:var(--txt);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}

.calc-val{color:var(--p);font-weight:600;font-family:var(--font-display);font-size:15px}

input[type=range]{width:100%;accent-color:var(--p);height:6px}

.exit-btns{display:flex;gap:10px;margin-top:6px}

.exit-btn{flex:1;padding:10px;border-radius:8px;font-size:13px;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--muted);font-family:var(--font-body);transition:all .15s}

.exit-btn.active{border:1.5px solid var(--p);background:var(--pl);color:var(--pd);font-weight:500}

.calc-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--border)}

.calc-res{text-align:center;background:var(--pl-2);border-radius:12px;padding:1.1rem 0.75rem}

.calc-res-val{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--pd);letter-spacing:-0.5px}

.calc-res-label{font-size:11px;color:var(--muted);margin-top:5px;letter-spacing:0.3px}

.calc-email-capture{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--border);background:var(--pl-2);margin-left:-2rem;margin-right:-2rem;margin-bottom:-2rem;padding:1.75rem 2rem;border-radius:0 0 17px 17px}

.calc-email-capture h4{font-family:var(--font-display);font-size:17px;font-weight:500;margin-bottom:4px}

.calc-email-capture p{font-size:13px;color:var(--muted);margin-bottom:12px}

.calc-cta-btn{width:100%;background:var(--p);color:#fff;border:none;border-radius:10px;padding:15px;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font-body);transition:background .2s}

.calc-cta-btn:hover{background:var(--pd)}

.calc-note{font-size:11px;color:#9ca3af;text-align:center;margin-top:8px;font-weight:300}

/* DEALS */

.deals{background:#fff}

.deals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2.5rem}

.deal{border-radius:16px;border:1px solid var(--border);overflow:hidden;background:#fff;transition:all .2s}

.deal:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.06)}

.deal-hd{background:var(--blk);padding:1.4rem;position:relative}

.deal-badge{position:absolute;top:12px;right:12px;background:var(--p);color:#fff;font-size:10px;font-weight:500;padding:4px 11px;border-radius:20px;letter-spacing:0.3px}

.deal-hd-label{color:rgba(255,255,255,0.45);font-size:11px;margin-bottom:4px;letter-spacing:0.3px}

.deal-hd-val{font-family:var(--font-display);color:#fff;font-size:28px;font-weight:500;letter-spacing:-0.7px;line-height:1}

.deal-hd-sub{color:rgba(255,255,255,0.5);font-size:12px;margin-top:6px}

.deal-body{padding:1.4rem;background:#fff}

.deal-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #f0f0f0}

.deal-row:last-child{border-bottom:none}

.deal-rl{font-size:12px;color:var(--muted)}

.deal-rv{font-size:13px;font-weight:500;color:var(--txt)}

.green{color:var(--grn)!important}

.deal-cta{border:2px solid var(--p)}

.deal-cta .deal-hd{background:linear-gradient(135deg,#1a0533 0%,#2d1264 100%)}

/* PROCESS */

.process{background:var(--blk);padding:5rem 2.5rem}

.process .sec-tag{color:#A78BFA}

.process .sec-h{color:#fff}

.process .sec-sub{color:rgba(255,255,255,0.55)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

.step{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:1.75rem;transition:all .2s}

.step:hover{background:rgba(255,255,255,0.06);border-color:rgba(167,139,250,0.3)}

.step-n{width:32px;height:32px;border-radius:8px;background:var(--p);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;font-family:var(--font-display)}

.step h4{font-family:var(--font-display);color:#fff;font-size:16px;font-weight:500;margin-bottom:8px;letter-spacing:-0.3px}

.step p{color:rgba(255,255,255,0.5);font-size:13.5px;line-height:1.65;font-weight:300}

/* TESTIMONIALS */

.testi{background:var(--bg-2);padding:5rem 2.5rem}

.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2rem}

.testi-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.75rem}

.stars{color:var(--p);font-size:13px;letter-spacing:3px;margin-bottom:0.9rem}

.testi-text{font-family:var(--font-display);font-size:16px;line-height:1.6;color:var(--txt);margin-bottom:1.5rem;font-weight:400;font-style:italic}

.testi-author{display:flex;align-items:center;gap:12px}

.avatar{width:40px;height:40px;border-radius:50%;background:var(--pl);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--pd);flex-shrink:0;font-family:var(--font-display)}

.testi-name{font-size:13px;font-weight:500;color:var(--txt)}

.testi-role{font-size:11px;color:var(--muted);margin-top:2px}

/* LEAD MAGNET freeplan */

.lm-freeplan{background:#fff;padding:5rem 2.5rem}

.lm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2.5rem}

.lm-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.75rem;transition:all .2s;display:flex;flex-direction:column}

.lm-card:hover{border-color:var(--p);transform:translateY(-3px);box-shadow:0 12px 28px rgba(107,47,160,0.08)}

.lm-card-icon{width:48px;height:48px;border-radius:12px;background:var(--pl);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}

.lm-card h4{font-family:var(--font-display);font-size:19px;font-weight:500;letter-spacing:-0.3px;margin-bottom:6px;color:var(--txt)}

.lm-card-desc{font-size:13.5px;color:var(--muted);line-height:1.65;margin-bottom:1rem;flex:1;font-weight:300}

.lm-card-tag{display:inline-block;font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px;background:var(--pl);color:var(--pd);margin-bottom:0.75rem;letter-spacing:0.3px}

.lm-card-btn{background:var(--blk);color:#fff;border:none;padding:11px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-body);width:100%}

.lm-card-btn:hover{background:var(--p)}

/* FINAL CTA */

.final{background:var(--blk);padding:6rem 2.5rem;text-align:center;position:relative;overflow:hidden}

.final::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:radial-gradient(circle,rgba(107,47,160,0.18) 0%,transparent 60%);pointer-events:none}

.final-inner{position:relative;max-width:700px;margin:0 auto}

.final h2{font-family:var(--font-display);color:#fff;font-size:clamp(30px,4.5vw,44px);font-weight:500;letter-spacing:-1px;margin-bottom:1rem;line-height:1.15}

.final > p{color:rgba(255,255,255,0.55);font-size:16px;max-width:480px;margin:0 auto 2rem;line-height:1.7;font-weight:300}

.urgency{display:inline-block;background:rgba(107,47,160,0.18);border:1px solid rgba(107,47,160,0.35);color:#C4B5FD;font-size:12px;padding:7px 16px;border-radius:22px;margin-bottom:1.5rem;font-weight:500;letter-spacing:0.3px}

.final-btn{background:var(--p);color:#fff;padding:18px 40px;border-radius:11px;border:none;font-size:15px;font-weight:500;cursor:pointer;display:inline-block;font-family:var(--font-body);transition:background .2s}

.final-btn:hover{background:#5B21B6}

.final-note{color:rgba(255,255,255,0.35);font-size:12px;margin-top:14px}

.contact-row{display:flex;justify-content:center;gap:14px;margin-top:2rem;flex-wrap:wrap}

.contact-chip{border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.65);font-size:13px;padding:10px 18px;border-radius:9px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s;background:transparent}

.contact-chip:hover{border-color:rgba(255,255,255,0.3);color:#fff}

/* FOOTER */

.footer{background:#000;color:rgba(255,255,255,0.4);padding:2.5rem;text-align:center;font-size:12px}

.footer a{color:rgba(255,255,255,0.6)}

.footer-links{margin-bottom:1rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}

/* EXIT-INTENT POPUP */

.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:100;display:none;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px)}

.popup-overlay.show{display:flex}

.popup{background:#fff;border-radius:20px;max-width:540px;width:100%;padding:2.5rem;position:relative;animation:popIn .35s cubic-bezier(0.16,1,0.3,1)}

@keyframes popIn{from{opacity:0;transform:translateY(20px) scale(0.96)}to{opacity:1;transform:none}}

.popup-close{position:absolute;top:14px;right:14px;background:transparent;border:none;font-size:22px;color:var(--muted);cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}

.popup-close:hover{background:#f5f5f5}

.popup-icon{width:54px;height:54px;border-radius:14px;background:var(--pl);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}

.popup h3{font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-0.5px;margin-bottom:0.5rem}

.popup p{font-size:14.5px;color:var(--muted);line-height:1.65;margin-bottom:1.5rem;font-weight:300}

.popup-form{display:flex;flex-direction:column;gap:10px}

.popup-form input{padding:14px 16px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:var(--font-body)}

.popup-form input:focus{outline:none;border-color:var(--p)}

.popup-form button{background:var(--p);color:#fff;border:none;padding:15px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font-body)}

.popup-disclaimer{font-size:11px;color:#9ca3af;text-align:center;margin-top:10px}

/* DEAL ALERTS BANNER */

.alerts-banner{background:linear-gradient(135deg,#1a0533 0%,#2d1264 100%);color:#fff;padding:3rem 2.5rem;text-align:center}

.alerts-banner-inner{max-width:720px;margin:0 auto}

.alerts-banner h2{font-family:var(--font-display);font-size:30px;font-weight:500;letter-spacing:-0.5px;margin-bottom:0.6rem}

.alerts-banner p{color:rgba(255,255,255,0.6);font-size:15px;margin-bottom:1.5rem;font-weight:300}

.alerts-form{display:flex;gap:8px;max-width:480px;margin:0 auto;flex-wrap:wrap}

.alerts-form input{flex:1;min-width:200px;padding:14px 18px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.05);color:#fff;border-radius:10px;font-size:14px;font-family:var(--font-body)}

.alerts-form input::placeholder{color:rgba(255,255,255,0.4)}

.alerts-form input:focus{outline:none;border-color:#A78BFA}

.alerts-form button{background:var(--p);color:#fff;border:none;padding:14px 24px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-body);white-space:nowrap}

/* CITY-PAGE SPECIFIC */

.city-redirect{background:linear-gradient(135deg,var(--pl) 0%,#fff 100%);border:2px solid var(--p);border-radius:20px;padding:2.5rem;text-align:center;margin:2rem auto;max-width:900px}

.city-redirect h3{font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-0.5px;margin-bottom:0.75rem}

.city-redirect p{font-size:15px;color:var(--muted);line-height:1.7;max-width:560px;margin:0 auto 1.5rem;font-weight:300}

.city-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:2rem 0}

.city-stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem 1rem;text-align:center}

.city-stat-val{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--p);letter-spacing:-0.5px}

.city-stat-label{font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:0.3px}

/* RESPONSIVE — see mobile optimisations below */

.vs-bad,.vs-good{text-align:center}

}

.uk-comparison-table{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-top:2rem}

.uk-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;align-items:center;font-size:13.5px}

.uk-row:last-child{border-bottom:none}

.uk-row.head{background:var(--bg-2);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.6px;color:var(--muted)}

.uk-row.head .uk-cell{color:var(--muted)}

.uk-cell-city{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--txt)}

.uk-cell-city .winner{background:var(--p);color:#fff;font-size:9px;font-weight:600;padding:2px 7px;border-radius:10px;letter-spacing:0.4px}

.uk-cell{color:var(--txt);font-weight:500}

.uk-cell.poor{color:#DC2626}

.uk-cell.mid{color:#D97706}

.uk-cell.good{color:var(--grn);font-weight:600}

.spec-quote-section{background:linear-gradient(135deg,#0A0A0A 0%,#1a0533 100%);color:#fff;padding:4rem 2.5rem}

.spec-quote-inner{max-width:900px;margin:0 auto;text-align:center}

.spec-quote-inner h2{font-family:var(--font-display);font-size:clamp(26px,3.5vw,36px);font-weight:500;letter-spacing:-1px;margin-bottom:1rem;line-height:1.2}

.spec-quote-inner > p{color:rgba(255,255,255,0.65);font-size:15px;line-height:1.7;max-width:600px;margin:0 auto 2rem;font-weight:300}

.thought-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.5rem;text-align:left}

.thought-card h4{font-family:var(--font-display);font-size:17px;font-weight:500;margin-bottom:0.5rem;color:var(--txt)}

.thought-card p{font-size:13.5px;color:var(--muted);line-height:1.65;font-weight:300}

.thought-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2rem}

@media(max-width:900px){

.uk-row{grid-template-columns:1fr 1fr;font-size:12.5px;padding:0.75rem 1rem}

.uk-row.head{display:none}

.uk-cell{display:flex;flex-direction:column;align-items:flex-start;padding:0.4rem 0}

.uk-cell::before{content:attr(data-label);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.4px;margin-bottom:2px}

.thought-grid{grid-template-columns:1fr}

}

/* MOBILE OPTIMISATIONS */

.mobile-menu-btn{display:none;background:transparent;border:none;cursor:pointer;padding:8px;width:44px;height:44px;align-items:center;justify-content:center}

.mobile-menu-btn svg{width:24px;height:24px}

.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:85%;max-width:340px;background:#fff;z-index:200;transform:translateX(100%);transition:transform .3s cubic-bezier(0.16,1,0.3,1);box-shadow:-12px 0 40px rgba(0,0,0,0.15);display:flex;flex-direction:column;padding:1.5rem;overflow-y:auto}

.mobile-menu.open{transform:translateX(0)}

.mobile-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:199;opacity:0;pointer-events:none;transition:opacity .25s}

.mobile-menu-overlay.show{opacity:1;pointer-events:auto}

.mobile-menu-close{align-self:flex-end;background:transparent;border:none;font-size:28px;color:var(--muted);cursor:pointer;padding:8px;line-height:1}

.mobile-menu-nav{display:flex;flex-direction:column;gap:0;margin-top:1rem}

.mobile-menu-nav a{padding:14px 8px;font-size:16px;color:var(--txt);border-bottom:1px solid #f0f0f0;font-weight:500}

.mobile-menu-nav a:last-of-type{border-bottom:none}

.mobile-menu-cta{background:var(--p);color:#fff;border:none;padding:14px;border-radius:10px;font-size:14px;font-weight:500;margin-top:1.5rem;cursor:pointer;font-family:var(--font-body)}

@media (max-width:900px){

.nav-links{display:none}

.mobile-menu-btn{display:flex}

.nav-cta{display:none}

.nav{padding:0 1.25rem;height:88px}

.nav-logo img{height:64px}

.hero{padding:2.5rem 1.25rem 0}

.hero h1{font-size:34px;letter-spacing:-1px}

.hero-sub{font-size:15px}

section{padding:3rem 1.25rem}

.hero-stats{grid-template-columns:1fr 1fr;margin-top:2.5rem}

.h-stat{padding:1.25rem 1rem}

.h-stat-val{font-size:26px}

.pain-grid,.deals-grid,.steps,.testi-grid,.thought-grid{grid-template-columns:1fr;gap:14px}

.lm-grid{grid-template-columns:1fr!important;gap:14px}

.lm-banner{grid-template-columns:1fr;padding:1.5rem;gap:1.25rem}

.vs-row{grid-template-columns:1fr;gap:6px;text-align:center;padding:8px 0}

.vs-bad,.vs-good{text-align:center;font-size:12px}

.vs-mid{font-size:10px;padding:4px 0}

.calc-results{grid-template-columns:1fr;gap:10px}

.calc-section{padding:3rem 1.25rem}

.calc-card{padding:1.5rem}

.calc-email-capture{margin-left:-1.5rem;margin-right:-1.5rem;margin-bottom:-1.5rem;padding:1.5rem;border-radius:0 0 16px 16px}

.lm-form{flex-direction:column}

.lm-input{font-size:16px}

.lm-submit{width:100%}

.final{padding:4rem 1.25rem}

.final h2{font-size:26px;letter-spacing:-0.5px}

.final p{font-size:14px}

.final-btn,.cta-big{padding:14px 24px;font-size:14px}

.contact-row{gap:8px}

.alerts-banner{padding:2.5rem 1.25rem}

.alerts-form{flex-direction:column}

.alerts-form input,.alerts-form button{width:100%}

.sticky-cta{padding:12px 1rem;gap:0.5rem;flex-direction:row}

.sticky-cta-text{font-size:12px;flex:1;line-height:1.4}

.sticky-cta-btn{padding:9px 14px;font-size:12px}

.urgency{font-size:11px;padding:6px 12px}

/* UK comparison table - mobile cards */

.uk-comparison-table{border:none;background:transparent;border-radius:0}

.uk-row.head{display:none}

.uk-row{display:block;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:10px;font-size:13px}

.uk-cell-city{font-size:16px;margin-bottom:0.75rem;padding-bottom:0.5rem;border-bottom:1px solid #f0f0f0}

.uk-cell{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #f8f8f8}

.uk-cell:last-child{border-bottom:none}

.uk-cell::before{content:attr(data-label);font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:0.4px}

/* Project cards */

.projects-grid{grid-template-columns:1fr;gap:14px}

.filters-bar{position:static;padding:1.25rem;top:auto}

.filters-inner{grid-template-columns:1fr 1fr;gap:10px}

.filter-reset{grid-column:1/-1}

.projects-hero{padding:2.5rem 1.25rem 2rem}

.projects-hero h1{font-size:32px}

/* Spec quote section */

.spec-quote-section{padding:3rem 1.25rem}

.spec-quote-inner > div:last-child{padding:1.25rem!important}

/* City redirect box */

.city-redirect{padding:1.5rem 1.25rem}

.city-redirect h3{font-size:20px}

/* Forms - prevent iOS zoom by min font-size:16px */

input,select,textarea{font-size:16px!important}

/* Footer */

.footer{padding:2rem 1.25rem;font-size:11px}

.footer-links{flex-direction:column;gap:0.75rem;margin-bottom:1.25rem}

}

@media (max-width:600px){

.hero-stats{grid-template-columns:1fr}

.filters-inner{grid-template-columns:1fr}

.hero h1{font-size:30px}

.sec-h{font-size:24px}

.hero-btns{flex-direction:column;gap:8px}

.hero-btns button,.hero-btns a{width:100%;justify-content:center}

}