.booking-hero { background:radial-gradient(circle at 80% 18%,rgba(215,25,32,.29),transparent 23%),linear-gradient(120deg,#16191f,#08090b 68%); }
.booking-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:55px; align-items:start; }
.booking-intro h2,.quote-intro h2,.area-copy h2,.remap-stage-heading h2,.remap-steps h2,.remap-suitability h2 { margin:0 0 18px; font:800 clamp(2.6rem,4.4vw,4.6rem)/.9 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.booking-intro > p:not(.eyebrow),.quote-intro > p:not(.eyebrow),.area-copy > p:not(.eyebrow),.remap-suitability > p:not(.eyebrow) { color:var(--muted); }
.booking-points { display:grid; gap:0; margin:28px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.booking-points li { padding:13px 0 13px 25px; border-bottom:1px solid var(--line); position:relative; color:#e6e6e6; }
.booking-points li:before { content:'✓'; position:absolute; left:0; color:var(--red); font-weight:800; }
.booking-widget { min-height:300px; padding:26px; border:1px solid rgba(215,25,32,.48); background:linear-gradient(145deg,#1b1115,#0a0c0f); box-shadow:0 24px 50px rgba(0,0,0,.25); }
.booking-plugin-note { padding:24px; border-left:3px solid var(--red); background:#191115; color:#e4e4e4; }
.booking-plugin-note strong { display:block; margin-bottom:8px; color:var(--white); font:800 1.35rem "Barlow Condensed",sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.booking-plugin-note p { margin:0; color:var(--muted); }
.booking-help { background:#101216; }
.booking-help-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.booking-help-grid article { padding:25px; border-top:2px solid var(--red); background:#0a0c0f; }
.booking-help-grid h3 { margin:0 0 10px; font:800 1.8rem/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.booking-help-grid p { margin:0; color:var(--muted); font-size:.9rem; }
.quote-page { background:#111419; }
.quote-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:65px; align-items:start; }
.quote-form { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:30px; border:1px solid rgba(215,25,32,.5); background:linear-gradient(145deg,#211015,#0a0c0f); }
.quote-form label { display:grid; gap:6px; color:#e9e9e9; font:800 .72rem Manrope,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.quote-form label.full { grid-column:1/-1; }
.quote-form input,.quote-form select,.quote-form textarea { width:100%; min-height:45px; padding:11px 12px; border:1px solid #41444a; color:var(--white); background:#15181e; font:inherit; }
.quote-form select { appearance:auto; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { outline:1px solid var(--red); border-color:var(--red); }
.quote-form button,.quote-form small,.quote-form .quote-message { grid-column:1/-1; }
.booking-request-form { margin:0; }.booking-contact-note { margin-top:22px; color:var(--muted); }.booking-contact-note a { color:var(--white); font-weight:800; }.booking-contact-note a:hover { color:var(--red); }.quote-consent { grid-template-columns:20px 1fr !important; align-items:start; color:var(--muted) !important; font:600 .78rem/1.45 Manrope,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }.quote-consent input { width:16px; min-height:16px; margin:1px 0 0; accent-color:var(--red); }
.booking-form-heading { padding-bottom:8px; border-bottom:1px solid var(--line); }.booking-form-heading .eyebrow { margin:0 0 9px; }.booking-form-heading h2 { margin:0 0 10px; color:var(--white); font:800 clamp(2rem,3vw,2.8rem)/.9 "Barlow Condensed",sans-serif; text-transform:uppercase; }.booking-form-heading p:last-child { margin:0; color:var(--muted); font-size:.86rem; }.booking-service-guide { padding:16px 18px; border:1px solid rgba(215,25,32,.35); background:#130f12; }.booking-service-guide span { display:block; margin-bottom:6px; color:var(--red); font:800 .65rem Manrope,sans-serif; letter-spacing:.12em; text-transform:uppercase; }.booking-service-guide strong { display:block; color:var(--white); font:800 1.35rem/1 "Barlow Condensed",sans-serif; letter-spacing:.03em; text-transform:uppercase; }.booking-service-guide p { margin:8px 0 0; color:var(--muted); font-size:.82rem; }.booking-urgent { grid-template-columns:20px 1fr !important; align-items:start; padding:13px 15px; border:1px solid rgba(215,25,32,.38); background:#1b1014; color:#f1e5e5 !important; font:700 .78rem/1.45 Manrope,sans-serif !important; letter-spacing:0 !important; text-transform:none !important; }.booking-urgent input { width:16px; min-height:16px; margin:1px 0 0; accent-color:var(--red); }
.quote-form .full { grid-column:1/-1; }.booking-layout { grid-template-columns:.65fr 1.35fr; gap:42px; }.booking-widget { padding:32px; }.booking-service-guide { min-height:96px; }.booking-request-form select { cursor:pointer; }
.booking-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.booking-mobile-address{padding:15px 17px;border:1px solid rgba(215,25,32,.5);background:#160e12}.booking-mobile-address small{display:block;margin-top:8px;color:#b9bdc4;font-size:.75rem;line-height:1.55}.booking-mobile-address[hidden]{display:none}
.booking-address-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(96,164,193,.42);background:linear-gradient(105deg,#0d171d,#111419)}.booking-address-lookup strong{display:block;color:#eaf8ff;font:800 .84rem "Barlow Condensed",sans-serif;letter-spacing:.06em;text-transform:uppercase}.booking-address-lookup span{display:block;margin-top:3px;color:#aebbc3;font-size:.69rem;line-height:1.45}.booking-address-search,.booking-address-results button{border:1px solid rgba(110,181,211,.65);background:#13232c;color:#eaf8ff;font:800 .62rem Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.booking-address-search{min-height:37px;padding:8px 11px}.booking-address-search:hover,.booking-address-results button:hover{border-color:var(--red);background:#2a1317;color:#fff}.booking-address-results{grid-column:1/-1;display:grid;gap:6px}.booking-address-results:empty{display:none}.booking-address-results button{padding:9px 10px;text-align:left;text-transform:none;letter-spacing:0;font-weight:700;line-height:1.45}.booking-address-results>.is-selected{padding:9px 10px;border-left:3px solid #5ca65a;background:#122013;color:#d9f0d6;font-size:.72rem}@media(max-width:540px){.booking-address-lookup{grid-template-columns:1fr}}
.home-price-board strong small { font-size:0; }.home-price-board strong small:after { content:'fixed'; font:800 .65rem Manrope,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.whatsapp-float { position:fixed; z-index:60; right:auto; left:24px; bottom:24px; display:flex; align-items:center; gap:10px; padding:10px 16px 10px 10px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:#20b85a; color:#fff; box-shadow:0 12px 28px rgba(0,0,0,.34); font:800 .72rem Manrope,sans-serif; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }.whatsapp-float:hover { color:#fff; background:#169a49; transform:translateY(-3px); box-shadow:0 17px 32px rgba(0,0,0,.4); }.whatsapp-float-mark { display:grid; width:33px; height:33px; place-items:center; border:2px solid #fff; border-radius:50%; font:900 .58rem/1 Manrope,sans-serif; letter-spacing:0; }@media (max-width:540px) { .whatsapp-float { right:auto; left:14px; bottom:14px; padding:9px 13px 9px 9px; } }
.quote-message { margin:0; padding:13px; border-left:3px solid var(--red); background:#1a1214; color:#ffd2d2; }
.quote-message.success { border-color:#8ac640; background:#132014; color:#d5f1bc; }
.area-band { overflow:hidden; background:linear-gradient(105deg,#2b1014,#0b0d10 70%); }
.area-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.area-copy h2 { margin-bottom:13px; }
.area-list { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.area-list div { min-height:128px; padding:22px; border:1px solid rgba(255,255,255,.11); background:rgba(0,0,0,.17); }
.area-list strong { display:block; margin-bottom:7px; color:var(--white); font:800 1.55rem "Barlow Condensed",sans-serif; text-transform:uppercase; }
.area-list span { color:var(--muted); font-size:.84rem; }
.trust-band { background:#090b0e; border-top:1px solid rgba(215,25,32,.35); }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.trust-grid article { padding:4px 0 4px 58px; position:relative; }
.trust-grid article:before { content:'✓'; position:absolute; left:0; top:0; width:36px; height:36px; border:1px solid var(--red); color:var(--red); text-align:center; font:800 1.2rem/34px Arial,sans-serif; }
.trust-grid h3 { margin:0 0 7px; font:800 1.5rem/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.trust-grid p { margin:0; color:var(--muted); font-size:.84rem; }
.footer-expanded { grid-template-columns:1.1fr .8fr 1fr .7fr !important; gap:28px; align-items:start !important; }.footer-links { display:grid; gap:8px; }.footer-links a { color:#e8e8e8; font:800 .72rem Manrope,sans-serif; letter-spacing:.08em; text-transform:uppercase; }.footer-links a:hover { color:var(--red); }.site-footer span { color:var(--muted); }
.remap-hero { min-height:570px; display:flex; align-items:center; background-image:linear-gradient(90deg,rgba(6,8,10,.94) 10%,rgba(6,8,10,.67) 56%,rgba(6,8,10,.8)),url('../images/hero-clean.png'); background-position:center; background-size:cover; }
.remap-hero .shell { max-width:var(--shell); margin:auto; }
.remap-hero h1 { max-width:830px; }
.remap-hero h1 em { color:var(--red); font-style:normal; }
.remap-hero p { max-width:620px; }
.remap-price-line { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.remap-price-line span { padding:10px 12px; border:1px solid rgba(255,255,255,.22); background:rgba(0,0,0,.35); color:#ececec; font:800 .75rem Manrope,sans-serif; letter-spacing:.05em; text-transform:uppercase; }
.remap-price-line b { color:var(--red); }
.remap-stage-section { background:#111419; }
.remap-stage-heading { display:grid; grid-template-columns:1fr .8fr; gap:55px; align-items:end; }
.remap-stage-heading p:last-child { margin:0; color:var(--muted); }
.remap-stage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:38px; }
.remap-stage-card { padding:25px; border:1px solid var(--line); background:#0a0c0f; transition:transform .25s ease,border-color .25s ease; }
.remap-stage-card:hover { transform:translateY(-7px); border-color:var(--red); }
.remap-stage-card.featured { border-color:rgba(215,25,32,.7); background:linear-gradient(155deg,#281014,#0a0c0f 74%); }
.remap-stage-card .eyebrow { margin-bottom:25px; }
.remap-stage-card h3 { margin:0 0 7px; font:800 2.3rem/.9 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.remap-stage-card strong { display:block; margin:19px 0 21px; color:var(--white); font:800 3.3rem/.75 "Barlow Condensed",sans-serif; }
.remap-stage-card strong small { display:block; margin-bottom:6px; color:var(--red); font:800 .64rem Manrope,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.remap-stage-card ul { min-height:135px; margin:0; padding:0; list-style:none; }
.remap-stage-card li { margin-bottom:10px; padding-left:18px; position:relative; color:var(--muted); font-size:.84rem; }
.remap-stage-card li:before { content:'•'; position:absolute; left:0; color:var(--red); }
.remap-steps { background:#0a0c0f; }
.remap-step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:38px; }
.remap-step-grid article { padding:28px 0; border-top:1px solid var(--line); }
.remap-step-grid b { color:var(--red); font:800 1.1rem "Barlow Condensed",sans-serif; letter-spacing:.12em; }
.remap-step-grid h3 { margin:30px 0 10px; font:800 2rem/.94 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.remap-step-grid p { margin:0; color:var(--muted); }
.remap-suitability { background:linear-gradient(108deg,#351014,#0b0d10 62%); }
.remap-suitability .shell { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.remap-suitability h2 { max-width:600px; }
.remap-suitability .faq-accordion { margin-top:0; }
@media (max-width:850px) { .booking-layout,.quote-layout,.area-layout,.remap-stage-heading,.remap-suitability .shell,.footer-expanded { grid-template-columns:1fr !important; gap:30px; }.booking-help-grid,.trust-grid,.remap-step-grid { grid-template-columns:1fr; }.remap-stage-grid { grid-template-columns:repeat(2,1fr); }.remap-hero { min-height:500px; }.area-list { grid-template-columns:1fr 1fr; }.booking-widget { padding:22px; } }
@media (max-width:540px) { .quote-form,.remap-stage-grid,.area-list,.booking-address-grid { grid-template-columns:1fr; }.quote-form label { grid-column:1/-1; }.booking-widget { padding:16px; }.remap-hero { min-height:460px; }.remap-stage-card ul { min-height:0; } }

/* Smart booking availability and customer booking management. */
.booking-smart-form .booking-slot-picker{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr);gap:18px;padding:18px;border:1px solid rgba(215,25,32,.4);background:linear-gradient(135deg,#170d11,#101318)}.booking-slot-picker label{display:grid;gap:8px}.booking-slot-note{margin:12px 0 0;color:#aeb3ba;font-size:.78rem;line-height:1.65}.booking-slot-results{padding:2px 0}.booking-slot-results>strong{display:block;color:#fff;font:800 1.2rem/1 "Barlow Condensed",sans-serif;letter-spacing:.04em;text-transform:uppercase}.booking-slot-results>p{margin:8px 0 12px;color:#c6c8cb;font-size:.75rem}.booking-time-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-time-slots button{min-height:43px;padding:8px;border:1px solid #454a51;background:#171b20;color:#fff;text-align:left;font:800 .67rem Manrope,sans-serif;letter-spacing:.02em;cursor:pointer;transition:.2s}.booking-time-slots button:hover,.booking-time-slots button.is-selected{border-color:#ed1b24;background:#5c1118}.booking-time-slots button.is-full{border-color:#4a4144;background:#121315;color:#777d85;cursor:not-allowed;text-decoration:line-through}.booking-callout-note{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-left:3px solid #ed1b24;background:#171114;color:#d9dcdf;font-size:.77rem;line-height:1.55}.booking-callout-note strong{flex:0 0 auto;color:#fff;font:800 .78rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.06em}.manage-booking-shell{max-width:850px}.manage-booking-card{padding:clamp(24px,4vw,46px);border:1px solid rgba(215,25,32,.48);background:linear-gradient(135deg,#171014,#0e1115 60%,#1a1114);box-shadow:0 26px 60px rgba(0,0,0,.25)}.manage-booking-card h2{margin:.25rem 0 .75rem;font-size:clamp(2.4rem,6vw,4.6rem);text-transform:uppercase}.manage-booking-card>p{max-width:640px;color:#c4c7cb;line-height:1.65}.manage-booking-form{margin-top:22px}.otp-form{grid-template-columns:minmax(180px,.65fr) auto;align-items:end}.manage-status{margin-top:18px;padding:13px 15px;border:1px solid #6b5359;background:#211217;color:#f2dfe1;font-size:.83rem;line-height:1.5}.manage-status.success{border-color:#496944;background:#122012;color:#d7eed3}.manage-booking-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}.manage-booking-head h2{margin:0;font-size:2.5rem}.manage-booking-head p{margin:7px 0 0}.manage-booking-head>span{padding:7px 10px;border:1px solid rgba(215,25,32,.7);color:#ffd6d8;font:800 .66rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em}.manage-booking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.manage-booking-summary article{padding:14px;border:1px solid rgba(255,255,255,.12);background:#101317}.manage-booking-summary small{display:block;color:#9ba1a8;font:800 .6rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em}.manage-booking-summary strong{display:block;margin-top:8px;color:#fff;font:800 1.12rem/1 "Barlow Condensed",sans-serif;text-transform:uppercase}.manage-explainer{padding:14px;border-left:3px solid #ed1b24;background:rgba(215,25,32,.08)}
@media(max-width:720px){.booking-smart-form .booking-slot-picker{grid-template-columns:1fr}.booking-time-slots{grid-template-columns:1fr}.manage-booking-summary{grid-template-columns:1fr}.otp-form{grid-template-columns:1fr}.manage-booking-head{flex-direction:column}}
.manage-booking-live .case-timeline{margin:22px 0;padding:16px;border-color:rgba(215,25,32,.38);background:#0d1014}.manage-booking-live .case-timeline-head{color:#fff}.manage-booking-live .case-timeline article{grid-template-columns:118px 1fr}.manage-booking-live .case-timeline time{color:#aeb4bc}.manage-booking-live .case-timeline p{font-size:.78rem}@media(max-width:560px){.manage-booking-live .case-timeline article{grid-template-columns:1fr}}

/* Clear mobile call-out details and properly grouped booking consent. */
.quote-consent{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:start;gap:0 10px;color:var(--muted)!important;font:600 .78rem/1.55 Manrope,sans-serif!important;letter-spacing:0!important;text-transform:none!important}.quote-consent input{width:16px;min-height:16px;margin:2px 0 0;accent-color:var(--red)}.quote-consent span{display:block;min-width:0}.quote-consent a{display:inline!important;color:#fff;text-decoration:underline;text-decoration-color:rgba(237,27,36,.82);text-underline-offset:3px}.quote-consent a:hover{color:#ff4a51}.booking-mobile-panel{display:grid;gap:16px;padding:20px;border:1px solid rgba(215,25,32,.52);border-left:4px solid #ed1b24;background:linear-gradient(135deg,#1a0d12,#101317 72%)}.booking-mobile-panel[hidden]{display:none}.booking-mobile-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.booking-mobile-panel-head span{display:block;margin-bottom:5px;color:#ed1b24;font:800 .64rem Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase}.booking-mobile-panel-head h3{margin:0;color:#fff;font:800 1.55rem/1 "Barlow Condensed",sans-serif;letter-spacing:.04em;text-transform:uppercase}.booking-mobile-panel-head p{max-width:310px;margin:0;color:#c6cbd0;font-size:.76rem;line-height:1.55}.booking-mobile-panel .booking-mobile-address{display:grid;gap:8px;padding:0;border:0;background:transparent}.booking-mobile-panel .booking-mobile-address small{display:block;margin:0;color:#b9bdc4;font-size:.75rem;line-height:1.55}.booking-mobile-map-wrap{display:grid;grid-template-columns:155px minmax(0,1fr);gap:13px;align-items:stretch}.booking-mobile-map-wrap>div:first-child{padding:16px 12px;border:1px solid rgba(255,255,255,.12);background:#0d1014}.booking-mobile-map-wrap strong,.booking-mobile-map-wrap span{display:block}.booking-mobile-map-wrap strong{color:#fff;font:800 .8rem/1.25 Manrope,sans-serif;text-transform:uppercase}.booking-mobile-map-wrap span{margin-top:8px;color:#f05056;font:700 .68rem/1.45 Manrope,sans-serif;letter-spacing:.04em;text-transform:uppercase}.booking-mobile-map{min-height:220px;border:1px solid rgba(255,255,255,.16);background:#0b0d10}.booking-mobile-map-wrap small{grid-column:1/-1;color:#aeb4ba;font-size:.7rem;line-height:1.5}@media(max-width:720px){.booking-mobile-panel-head{display:grid}.booking-mobile-map-wrap{grid-template-columns:1fr}.booking-mobile-map-wrap>div:first-child{padding:12px}.booking-mobile-map{min-height:200px}}
