.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); }
.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; }
.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; } }
@media (max-width:540px) { .quote-form,.remap-stage-grid,.area-list { 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; } }
