:root{
  --ink:#171b1c;--ink2:#202728;--ink3:#2b3435;--mint:#baf3d5;--mint2:#d8fae9;--yellow:#ffd84d;--white:#f7f8f6;--muted:#b9c0bd;--danger:#e74c3c;--line:rgba(255,255,255,.12);--shadow:0 20px 60px rgba(0,0,0,.28);--radius:22px;--max:1200px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111516;color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mint);font-weight:800}.muted{color:var(--muted)}.yellow{color:var(--yellow)}
.topbar{background:#0e1213;border-bottom:1px solid var(--line);font-size:.88rem}.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:8px 0}.topbar strong{color:var(--yellow)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(23,27,28,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.brand img{width:280px;max-width:52vw}.site-nav{display:flex;align-items:center;gap:22px;font-size:.92rem;font-weight:700}.site-nav a{opacity:.88}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--mint);opacity:1}.nav-toggle{display:none;background:transparent;border:1px solid var(--line);color:#fff;border-radius:12px;padding:10px 12px}.header-cta{background:var(--yellow);color:var(--ink)!important;padding:12px 18px;border-radius:999px;font-weight:900!important;box-shadow:0 8px 24px rgba(255,216,77,.16)}
.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(17,21,22,.98) 0%,rgba(17,21,22,.89) 47%,rgba(17,21,22,.48) 74%,rgba(17,21,22,.70) 100%),url('../img/london-skyline.svg') center/cover no-repeat}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--mint),transparent);opacity:.4}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;min-height:620px;padding:70px 0}.hero h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.92;letter-spacing:-.05em;margin:.2em 0 .22em;max-width:850px}.hero h1 span{color:var(--mint)}.hero .lead{font-size:clamp(1.05rem,1.7vw,1.35rem);color:#dbe0dd;max-width:710px}.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.badge{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.04);font-weight:700;font-size:.9rem}.badge b{color:var(--yellow)}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:15px 20px;font-weight:900;border:1px solid transparent;transition:.2s transform,.2s background,.2s border-color}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--yellow);color:var(--ink)}.btn-secondary{background:var(--mint);color:var(--ink)}.btn-outline{border-color:rgba(186,243,213,.55);background:rgba(23,27,28,.7)}.hero-panel{background:rgba(24,31,32,.88);border:1px solid rgba(186,243,213,.22);border-radius:28px;box-shadow:var(--shadow);padding:26px}.hero-panel h2{margin-top:0;font-size:1.35rem}.rate-now{border-radius:16px;background:var(--mint);color:var(--ink);padding:16px;margin:14px 0 18px;display:grid;gap:3px}.hero-list{display:grid;gap:12px}.hero-list div{display:flex;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.hero-list strong{color:var(--white)}
.section{padding:78px 0}.section.alt{background:#171d1e}.section.light{background:#f4f6f4;color:#151919}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1;letter-spacing:-.04em;margin:8px 0}.section-head p{max-width:620px;color:var(--muted)}.light .section-head p,.light .muted{color:#5f6965}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:linear-gradient(180deg,#222a2b,#171c1d);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;gap:15px;min-height:255px;transition:.2s transform,.2s border-color}.service-card:hover{transform:translateY(-4px);border-color:rgba(186,243,213,.45)}.service-icon{width:54px;height:54px;border-radius:16px;background:var(--mint);display:grid;place-items:center;padding:11px}.service-card h3{font-size:1.25rem;margin:0}.service-card p{margin:0;color:#c1c7c4}.service-card .text-link{color:var(--yellow);font-weight:900;margin-top:auto}.pricing{display:grid;grid-template-columns:1fr 1fr;gap:22px}.price-card{border-radius:26px;padding:28px;background:var(--ink2);border:1px solid var(--line);position:relative;overflow:hidden}.price-card.weekend{background:linear-gradient(145deg,#242823,#1b211f)}.price-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--mint)}.price-card.weekend:before{background:var(--yellow)}.price{font-size:4.6rem;font-weight:950;letter-spacing:-.06em;line-height:1;margin:18px 0 4px}.price-card ul{padding-left:20px;color:#d3d8d5}.notice{border-left:4px solid var(--yellow);background:rgba(255,216,77,.08);padding:17px 18px;border-radius:0 14px 14px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{border:1px solid var(--line);border-radius:20px;padding:22px;background:#1b2122}.step-num{width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-weight:950;margin-bottom:16px}.step h3{margin:.2rem 0}.step p{color:var(--muted);font-size:.93rem}.areas{display:flex;flex-wrap:wrap;gap:10px}.area-chip{border:1px solid rgba(23,27,28,.13);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800}.light .area-chip{color:#1d2424}.maintenance-band{background:linear-gradient(110deg,#1a2021 0%,#273230 100%);border:1px solid rgba(186,243,213,.22);border-radius:28px;padding:34px;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}.maintenance-band h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:0 0 14px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 20px}.check-grid span:before{content:"✓";color:var(--mint);font-weight:900;margin-right:8px}
.page-hero{padding:72px 0;background:linear-gradient(90deg,#111617 0%,rgba(17,22,23,.82) 60%,rgba(17,22,23,.44)),url('../img/london-skyline.svg') center/cover}.page-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.96;letter-spacing:-.045em;margin:8px 0 18px}.page-hero p{max-width:760px;color:#d2d8d5;font-size:1.13rem}.content-grid{display:grid;grid-template-columns:1fr 340px;gap:36px;align-items:start}.content-card{background:#1b2122;border:1px solid var(--line);border-radius:24px;padding:28px}.light .content-card{background:#fff;border-color:#dfe5e1;color:#1a1e1d}.side-card{position:sticky;top:110px;background:#202829;border:1px solid var(--line);border-radius:22px;padding:22px}.side-card .btn{width:100%;margin-top:10px}.prose h2{margin-top:2rem;font-size:1.8rem}.prose h3{margin-top:1.5rem}.prose p,.prose li{color:#c9cfcc}.light .prose p,.light .prose li{color:#4f5955}.prose a{text-decoration:underline;text-decoration-color:var(--mint);text-underline-offset:3px}.prose ul{padding-left:20px}
.form-shell{max-width:860px;margin:auto;background:#1a2021;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800}.field input,.field select,.field textarea{width:100%;border-radius:13px;border:1px solid #3b4748;background:#101516;color:#fff;padding:13px 14px;outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(186,243,213,.12)}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.93rem}.checkbox input{margin-top:5px}.form-note{background:rgba(186,243,213,.08);border:1px solid rgba(186,243,213,.2);border-radius:15px;padding:14px}.form-shell .btn{width:100%;margin-top:8px}.hidden{display:none!important}.bank-box{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.bank-item{background:#fff;color:#171b1c;border-radius:14px;padding:16px}.bank-item span{display:block;font-size:.8rem;color:#626c68;text-transform:uppercase;letter-spacing:.09em}.bank-item strong{display:block;margin-top:5px;word-break:break-word}.warning{background:#fff0b8;color:#2b2200;border:1px solid #f5ca32;border-radius:14px;padding:16px;margin-bottom:18px}
.footer{background:#0d1112;border-top:1px solid var(--line);padding:44px 0 100px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.8fr);gap:30px}.footer h3{font-size:1rem;margin-top:0}.footer a{display:block;color:#c6cdca;margin:8px 0;font-size:.92rem}.footer .brand img{width:240px}.footer-small{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;color:#8f9995;font-size:.82rem}.mobile-actions{display:none}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;max-width:760px;margin:auto;background:#202829;border:1px solid rgba(186,243,213,.3);box-shadow:var(--shadow);border-radius:18px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.cookie-banner p{margin:0;font-size:.88rem;color:#d6dcda}.cookie-actions{display:flex;gap:8px;flex:none}.cookie-actions button{border:0;border-radius:10px;padding:9px 12px;font-weight:800}.cookie-actions .accept{background:var(--mint);color:var(--ink)}.cookie-actions .essential{background:#303a3b;color:#fff}
@media(max-width:980px){.site-nav{position:absolute;left:18px;right:18px;top:86px;display:none;flex-direction:column;align-items:stretch;background:#171d1e;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.site-nav.is-open{display:flex}.nav-toggle{display:block}.header-cta{display:none}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:56px 0}.hero-panel{max-width:650px}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.side-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.maintenance-band{grid-template-columns:1fr}.brand img{width:245px}.header-inner{min-height:76px}}
@media(max-width:640px){.container{width:min(100% - 24px,var(--max))}.topbar{display:none}.brand img{width:218px;max-width:72vw}.hero-grid{padding:44px 0}.hero h1{font-size:3.15rem}.cta-row{display:grid;grid-template-columns:1fr}.btn{width:100%}.section{padding:56px 0}.section-head{display:block}.service-grid,.pricing,.steps,.form-grid,.footer-grid,.check-grid,.bank-box{grid-template-columns:1fr}.service-card{min-height:auto}.price{font-size:4rem}.page-hero{padding:54px 0}.form-shell{padding:20px;border-radius:20px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:repeat(3,1fr);background:#111617;border-top:1px solid var(--line);padding:8px}.mobile-actions a{display:grid;place-items:center;text-align:center;border-radius:10px;padding:10px 5px;font-size:.78rem;font-weight:900}.mobile-actions a:nth-child(2){background:#1d2825}.mobile-actions a:nth-child(3){background:var(--yellow);color:var(--ink)}.cookie-banner{bottom:76px;align-items:stretch;flex-direction:column}.cookie-actions{width:100%}.cookie-actions button{flex:1}.footer{padding-bottom:120px}}

/* Final approved visual direction */
.hero.hero-photo{background:#111516;min-height:600px}.hero.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101415 0%,rgba(16,20,21,.97) 34%,rgba(16,20,21,.62) 58%,rgba(16,20,21,.12) 100%);z-index:1}.hero.hero-photo .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:600px;padding:56px 0;gap:24px}.hero-copy{position:relative;z-index:3;max-width:760px}.hero-visual{position:absolute;z-index:0;top:0;right:0;bottom:0;width:58%;background:url('../img/hero-london.jpg') center/cover no-repeat}.hero.hero-photo h1{font-size:clamp(3.9rem,7.4vw,7rem);max-width:720px;margin:.12em 0 .08em}.hero-kicker{font-size:clamp(1.2rem,2.1vw,1.75rem);font-weight:850;margin:0 0 8px;color:#fff}.hero-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;color:#d9dfdc;font-weight:700;font-size:.9rem}.btn-call{min-width:310px}.emergency-strip{background:#151b1c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.emergency-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 0}.emergency-strip-inner>div:first-child{display:grid;gap:2px}.emergency-strip-inner strong{font-size:1.18rem}.emergency-strip-inner span{color:#c6ceca}.emergency-strip-actions{display:flex;gap:10px}.emergency-strip .btn{padding:12px 16px}.services-showcase{padding-top:42px}.photo-grid{grid-template-columns:repeat(3,1fr)}.photo-card{padding:0;overflow:hidden;display:block;min-height:0}.service-photo{width:100%;height:155px;object-fit:cover;filter:saturate(.92) contrast(1.04)}.service-body{padding:20px;display:grid;gap:12px}.photo-card .service-icon{margin-top:-44px;border:4px solid #202728;position:relative;z-index:2;box-shadow:0 8px 22px rgba(0,0,0,.25)}.maintenance-band{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(17,22,23,.97),rgba(17,22,23,.83)),url('../img/maintenance-refurbishment.jpg') center/cover no-repeat}.maintenance-band>*{position:relative;z-index:1}.site-header{box-shadow:0 10px 28px rgba(0,0,0,.14)}.header-cta{border-radius:12px}.topbar{background:#0b0f10}.price-card.weekend{border-color:rgba(255,216,77,.35)}
@media(max-width:980px){.hero.hero-photo .hero-grid{grid-template-columns:1fr;min-height:590px}.hero-visual{width:100%;opacity:.33}.hero.hero-photo:before{background:linear-gradient(90deg,rgba(12,16,17,.97),rgba(12,16,17,.72))}.emergency-strip-inner{align-items:flex-start;flex-direction:column}.emergency-strip-actions{width:100%}.emergency-strip-actions .btn{flex:1}.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.hero.hero-photo{min-height:610px}.hero.hero-photo .hero-grid{min-height:610px;padding:44px 0}.hero.hero-photo h1{font-size:3.55rem}.hero-visual{width:100%;background-position:58% center;opacity:.28}.hero-trust{display:grid;gap:7px}.btn-call{min-width:0}.emergency-strip-actions{display:grid;grid-template-columns:1fr;width:100%}.photo-grid{grid-template-columns:1fr}.service-photo{height:185px}}
