/* Keyboard visibility and touch ergonomics without changing the visual identity. */
:focus-visible{outline:2px solid #ed183b;outline-offset:5px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px}
@media(max-width:760px){
 .quote-section input,.quote-section select,.quote-section textarea,.planner-options select{font-size:16px}
 .unit-switch button,#menu,#play-control,#skip-intro{min-height:44px;min-width:44px}
 .quote-preview pre{overflow-wrap:anywhere;white-space:pre-wrap}
}
/* Native cross-document transitions disabled after review: stable scrollbar/layout. */

html{scroll-padding-top:110px}
.quote-wizard{min-width:0;padding:28px;border:1px solid #ffffff24;background:radial-gradient(ellipse at 100% 0,#731d3030,transparent 60%),#0b1019}
.quote-steps{list-style:none;padding:0;display:flex;gap:16px;margin:0 0 30px;justify-content:space-between}
.quote-steps li{display:flex;align-items:center;gap:8px;color:#a1adbd;font-size:13px}
.quote-steps li span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffffff35;border-radius:50%;flex-shrink:0}
.quote-steps [aria-current=step]{color:#fff}.quote-steps [aria-current=step] span{background:#e7193d;border-color:#e7193d}
.wizard-title{font-size:clamp(23px,3vw,32px);margin-bottom:26px;scroll-margin-top:100px}
.wizard-fields{display:grid;gap:20px}.wizard-fields label{margin:0}.wizard-fields input,.wizard-fields select,.wizard-fields textarea{margin-top:8px;font-family:inherit}
.wizard-optional{border-top:1px solid #ffffff24;padding-top:16px}.wizard-optional summary{cursor:pointer;color:#bbc5d4;min-height:44px;font-size:14px}.wizard-optional .wizard-fields{margin-top:12px}
.wizard-actions{display:flex;gap:14px;justify-content:space-between;margin-top:26px}.wizard-actions .button{margin-inline-start:auto}
.quote-wizard button{font-family:inherit;cursor:pointer;min-height:44px}.wizard-secondary{background:transparent;border:1px solid #ffffff40;color:#e4e9ef;padding:10px 18px}
.wizard-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff24;margin-top:26px;padding-top:14px;color:#a1adbd;font-size:12px;line-height:1.8}.wizard-foot button,.wizard-estimate button{background:none;color:#fff;border:0;text-decoration:underline;flex-shrink:0}
.wizard-privacy{display:inline-block;font-size:12px;color:#a1adbd;padding-top:10px}
.wizard-estimate{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;background:#3d19284d;border-inline-start:3px solid #ee2045;margin-bottom:24px}.wizard-estimate strong{font-size:24px}.wizard-estimate span{font-size:12px;color:#c6bac1;flex:1;min-width:140px}
.wizard-summary{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.9;color:#d1dae6;padding:18px;background:#ffffff05;border:1px solid #ffffff1f}.wizard-preview-note{color:#e3b1bd}.quote-wizard #quote-preview p{font-size:14px;line-height:1.8;margin-block:16px}.quote-wizard button:disabled{opacity:.6;cursor:default}
@media(max-width:1179px){#navigation{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}#navigation a{min-height:44px}}
@media(max-width:760px){.quote-wizard{padding:20px 16px}.quote-steps{gap:8px}.quote-steps li{font-size:11px;gap:5px}.quote-steps li span{width:24px;height:24px}.wizard-actions .button{flex:1}.wizard-foot{align-items:flex-start}.wizard-summary{font-size:13px}.quote-wizard #send-enquiry{width:100%}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
/* Service clarity and lightweight contact controls. */
.mobile-actions{display:none}.deferred-map{width:100%;height:100%;min-height:300px}.map-placeholder{height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:radial-gradient(ellipse at center,#203044,#0b121c);color:#b9c5d4}.map-placeholder button{padding:12px 20px;background:#172435;border:1px solid #ffffff40;color:#fff;min-height:44px}
.service-overview{border-block:1px solid #ffffff24;padding-block:28px;margin-bottom:36px}.service-overview>.eyebrow{color:#d6a5b0;margin-bottom:22px}.service-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service-overview h2{font-size:21px;line-height:1.4;letter-spacing:0;margin-bottom:9px}.service-overview p:not(.eyebrow){font-size:15px;color:#aab5c4;line-height:1.8}.service-jumps{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #ffffff18;padding-top:20px;margin-top:25px}.service-jumps a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid #ffffff30}.service-jumps a:hover{color:#ff6b86}.wizard-service-hint{font-size:13px;color:#aab8c9;line-height:1.8}
@media(max-width:760px){.service-overview-grid{grid-template-columns:1fr;gap:20px}.service-overview h2{font-size:20px}.service-jumps{gap:8px 16px}.mobile-actions:not([hidden]){display:flex;position:fixed;inset:auto 12px calc(10px + env(safe-area-inset-bottom));z-index:29;background:#101722f5;border:1px solid #ffffff30;box-shadow:0 8px 30px #0008;padding:8px;gap:8px;align-items:center}.mobile-actions a{min-height:46px;text-align:center;font-size:13px;flex:1}.mobile-actions .button{flex:1.7;padding:10px 14px}.mobile-actions>a:last-child{display:grid;place-items:center}body:has(.mobile-actions:not([hidden])){padding-bottom:86px}body:has(input:focus,textarea:focus,select:focus) .mobile-actions{display:none}}

.enquiry-trap{position:absolute!important;inset:0 auto auto 0!important;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.summary-line{display:block;min-height:1em;unicode-bidi:plaintext}.quote-wizard #send-enquiry{background:#e7193d;color:white}
/* Social links are separate from privacy navigation. */
footer .footer-social{grid-column:1/-1;flex-basis:100%;width:100%;padding:28px 0 8px;margin-top:20px;border-top:1px solid #ffffff24}
footer .footer-social p{font-size:13px;letter-spacing:.12em;color:#b5c0d0;margin:0 0 16px}
footer .footer-social nav{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:0;border:0}
footer .footer-social a{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:12px 20px;border:1px solid #ffffff38;background:#111c2b;color:#fff;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s}
footer .footer-social a:hover,footer .footer-social a:focus-visible{background:#1c2b40;border-color:#ef244a;outline:2px solid #ef244a;outline-offset:3px}
footer .footer-social svg{width:23px;height:23px;flex:none}footer .footer-social a>span:last-child{color:#ed3152;margin-inline-start:10px}
@media(max-width:480px){footer .footer-social nav{gap:10px}footer .footer-social a{flex:1;padding:12px;justify-content:center;font-size:15px;gap:8px}footer .footer-social a>span:last-child{margin-inline-start:0}}
