/* The supplied 2027 oval and round marks: cold light, silver and a warm edge. */
:root{--brand-cyan:#56d5ff;--brand-ice:#c8f1ff;--brand-amber:#ffad56;--brand-black:#02070d}
header{height:106px;background:#000;color:#dff3ff;border-bottom:1px solid #24445b;box-shadow:0 8px 32px #0005;gap:22px}
header:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#19c8ff 25%,#e6f8ff 55%,#ff913a 88%,transparent);pointer-events:none}
header .brand{flex-shrink:0;background:#000}
header .brand-logo{width:340px;height:90px;max-height:none;object-fit:cover;object-position:center}
.brand:after{display:none;animation:none;content:none}
header nav{gap:17px;font-size:14px}header nav a{position:relative;padding:7px 0}
header nav a:hover,header nav a:focus-visible{color:#80e0ff}
header>.button{background:linear-gradient(155deg,#163b59,#04111f 65%,#0b2840);color:#c9f3ff;border:1px solid #8dcde7;box-shadow:inset 0 1px 0 #edfaff80,inset 0 -2px 0 #1599d899,0 0 17px #21bfff20;white-space:nowrap;text-shadow:none}
header>.button .booking-label{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:24px;font-weight:700;font-style:italic;line-height:1.15;letter-spacing:.01em;text-transform:none;color:#c9f3ff}
@supports(background-clip:text){header>.button .booking-label{background:linear-gradient(180deg,#fff 0%,#d9f6ff 28%,#70c4ee 48%,#2687c2 61%,#b9e9fc 85%,#fff 100%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #001828) drop-shadow(0 0 3px #6dd7ff55)}}
header>.button:hover{background:linear-gradient(155deg,#205579,#071a2d 65%,#123e5c);color:#effaff;border-color:#d7f6ff;box-shadow:inset 0 1px 0 #fff9,inset 0 -2px 0 #42b9ec,0 0 24px #21bfff38}
@media(max-width:800px){header>.button .booking-label{font-size:21px}}
.utility{background:#071019;color:#bfd0df;border-bottom:1px solid #1c2c39}.utility strong{color:#e8f8ff}
.showroom{background:#02070d}.showroom-top{background:#06111bcc}.showroom-top p{color:#a9c5d8}
.lobby-heading{background:radial-gradient(ellipse at 6% 20%,#07518428,transparent 65%)}
.lobby-heading em{color:#9be7ff;text-shadow:0 0 40px #21bfff20}
.lobby-heading .eyebrow{color:#8adfff}.lobby-heading>p span{color:#ffc185}
.living-portal{border-color:#42738c;background:#041321}
.living-portal:hover,.living-portal:focus-visible{border-color:#90e9ff;box-shadow:0 0 30px #37caff30,0 12px 30px #0005}
.portal-label b{color:#ffbc7c}.showroom-controls{background:#071521;border-top-color:#2c5870}
.world-nav button[aria-pressed=true]{background:#12364c;border-color:#66cff7;box-shadow:inset 0 -2px #ffb269;color:#fff}
.world-copy .eyebrow{color:#8edcff}.headline-line:last-child{color:#b7edff}
.button{background:linear-gradient(120deg,#d0f4ff,#76d6ff);color:#08273b;box-shadow:0 5px 18px #06111d10;transition:background .2s,box-shadow .2s,transform .2s}
.button:hover{background:linear-gradient(120deg,#e9faff,#a5e6ff);box-shadow:0 6px 24px #2ab8f52b}
.button:focus-visible{outline:3px solid #c56a15;outline-offset:4px}
.scene-detail>span{background:#b2eaff}.atmosphere{border-color:#3d718f}.atmosphere output{color:#a8e8ff}
.showroom[data-atmosphere=warm] .atmosphere output{color:#ffbd79}
.showroom[data-atmosphere=warm] .atmosphere input{accent-color:#ffad56}
.residential-home,.about{background:#fbfdff}.maintenance{background:#eaf3f9}
.residential-home h2 em,.maintenance h2 em,.about h2 em,.capabilities h2 em{color:#096c9b}
.home-services,.sector-home{border-color:#b8d5e4}.sector-care{background:linear-gradient(120deg,#e6f3fb,#f1f6f9);border-left:3px solid #389ed0}
.sector-care .eyebrow,.home-story>.eyebrow{color:#11638b}
.estimate,.mechanical-studio{background:radial-gradient(ellipse at 85% 0%,#163f5a,#04111f 75%);border-top:2px solid #66cfff}
.estimate h3,.mechanical-studio h3{color:#edf9ff}.price-note{color:#a7e8ff}
.projects{background:#06111e}.gallery button,.gallery .caption{background:#102739}
.filters button[aria-pressed=true]{background:#c5edff;border-color:#80d6ff;color:#071725;box-shadow:inset 0 -2px #e49a54}
.contact{background:linear-gradient(115deg,#d3effb,#edf6fa 75%,#fff0df)}.contact h2 em{color:#0c6592}
.call-dock{background:#071a2af5;color:#def6ff;border-color:#65c6ef88;box-shadow:0 7px 30px #0005}.call-dock strong{color:#fff0da}
footer{background:#000;color:#bbcfdf;border-top:1px solid #2a4559;align-items:center;gap:28px}
footer .brand{background:transparent;padding:0;border-radius:0}
footer .brand-logo.brand-badge{width:150px;height:150px;max-height:none;object-fit:contain}
footer .brand:after{display:none}footer .inline{color:#bfeaff}
html{scroll-padding-top:124px}
@media(max-width:1150px){header{gap:16px}header .brand-logo{width:280px;height:85px}header nav{gap:12px;font-size:13px}header>.button{padding:14px}}
@media(max-width:900px) and (min-width:801px){header .brand-logo{width:220px;height:78px}header{gap:12px}header nav{gap:10px;font-size:12px}}
@media(max-width:800px){header{height:auto;padding:6px 5%;gap:4px 12px}header .brand-logo{width:clamp(185px,46vw,290px);height:72px;object-fit:cover}header nav{font-size:14px;gap:24px;padding-bottom:10px}header>.button{padding:10px;font-size:12px}html{scroll-padding-top:138px}footer .brand-logo.brand-badge{width:125px;height:125px}}
@media(max-width:380px){header .brand-logo{width:170px;height:65px}header>.button{padding:9px 7px;font-size:11px}header nav{gap:18px}}
/* Supplied animated button artwork; the button retains its booking behaviour. */
header>.button.booking-art,header>.button.booking-art:hover{padding:0;border:0;background:transparent;box-shadow:none;display:block;flex-shrink:0;width:190px;line-height:0;border-radius:24px}
.booking-art img{width:100%;height:auto;object-fit:contain}
.booking-art .booking-still{display:none}
.motion-off .booking-art .booking-animated{display:none}
.motion-off .booking-art .booking-still{display:block}
@media(max-width:1150px){header>.button.booking-art{width:165px}}
@media(max-width:800px){header>.button.booking-art{width:clamp(120px,28vw,170px)}}
@media(max-width:380px){header>.button.booking-art{width:115px}}
@media(prefers-reduced-motion:reduce){.booking-art .booking-animated{display:none}.booking-art .booking-still{display:block}}
/* The footer badge's click-only tire stunt. */
footer #footer-burnout{border:0;cursor:pointer;line-height:0;overflow:visible}
footer #footer-burnout:focus-visible{outline:2px solid #9be7ff;outline-offset:5px;border-radius:50%}
.burnout-layer{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}
.burnout-wheel{position:absolute;z-index:2;will-change:transform}
.burnout-wheel img{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:50%;will-change:transform}
.burnout-smoke{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse,#e5ecf0aa,#a9b3ba66 38%,#63717d33 60%,transparent 73%);filter:blur(6px);will-change:transform,opacity}
/* Trim the detached fragment beside the standing pose, below its raised hand. */
.mascot.has-sprites:not(.running):not(.pushing):after{clip-path:polygon(5% 0,90% 0,90% 52%,73% 52%,73% 72%,90% 72%,90% 100%,5% 100%)}
/* Reserve actual viewport space for the guide and phone, never over page text. */
html,body{height:100%;overflow:hidden}body{padding-bottom:0}
#page-scroll{position:absolute;inset:0 0 86px;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:124px;scroll-padding-bottom:24px;overscroll-behavior-y:contain}
.experience-dock{position:fixed;bottom:0;left:0;right:0;height:86px;background:linear-gradient(100deg,#081d2c,#020a12);border-top:1px solid #376078;z-index:19;pointer-events:none}
.mascot{width:58px;height:58px;left:22px;bottom:27px}.mascot-tools{left:26px;bottom:5px}
.mascot-bubble{left:91px;bottom:14px;width:255px;font-size:13px;border-radius:14px;background:#102c40;color:#e9f8ff;border:1px solid #5c8fa9}
.call-dock{left:auto;right:28px;bottom:17px;transform:none;max-width:calc(100vw -140px)}
@media(max-width:800px){#page-scroll{scroll-padding-top:138px}}
@media(max-width:700px){#page-scroll{bottom:82px}.experience-dock{height:82px}.mascot{width:54px;height:54px;left:14px;bottom:27px}.mascot-tools{left:15px;bottom:5px}.mascot-bubble{display:none}.call-dock{right:16px;bottom:16px;padding:12px 16px}.call-dock strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){#page-scroll{scroll-behavior:auto}}
.motion-off #page-scroll{scroll-behavior:auto}
@media(min-width:701px){.living-portal{min-height:clamp(290px,35vh,420px)}.lobby-heading{padding-top:26px;padding-bottom:24px}}

/* Clear next steps, with the showroom's playfulness intact. */
.lobby-heading .lobby-promise{max-width:360px;line-height:1.6}
.proof-preview{background:#091b29;color:#e7f5ff;border-top:1px solid #284858}
.proof-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:32px}.proof-heading h2{margin:0}.proof-heading h2 em{color:#9be7ff}.proof-heading>p{max-width:360px;color:#b7ccda;line-height:1.7}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.proof-grid>button{padding:0;text-align:left;color:inherit;background:#102c3e;border:1px solid #34586b;border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s}.proof-grid>button:hover{transform:translateY(-5px);border-color:#95e8ff;box-shadow:0 12px 34px #0005}.proof-grid>button:focus-visible{outline:3px solid #ffbd79;outline-offset:4px}.proof-image{position:relative;overflow:hidden}.proof-image img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .6s}.proof-grid>button:hover img{transform:scale(1.04)}.proof-image>span{position:absolute;right:14px;bottom:14px;border-radius:50%;background:#081924cc;color:#b9efff;font-size:23px;padding:5px 12px}.proof-copy{padding:24px}.proof-copy small{letter-spacing:.12em;color:#a3cfdf;font-size:11px}.proof-copy h3{font-size:28px;line-height:1.1;margin:12px 0}.proof-copy p{color:#c3d3de;line-height:1.6;margin:0 0 20px}.proof-copy>span{font-size:13px;color:#9be7ff}.proof-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.proof-actions .text-link{color:#dcf5ff}
.booking-intro{line-height:1.6}.booking-call{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;margin:20px 0;background:#eaf5fb;border:1px solid #afcede;border-radius:8px;text-decoration:none;color:#08273b}.booking-call small{display:block;font-size:12px;margin-top:5px}.booking-call strong{white-space:nowrap}.optional-label{font-size:12px;color:#536675}.booking-expectation{color:#536675;line-height:1.6}.enquiry-details{margin-top:20px;border-top:1px solid #c7d9e4;padding-top:16px}.enquiry-details summary{cursor:pointer;color:#16516f;font-size:14px}.enquiry-details[open] summary{margin-bottom:16px}#booking-content .booking-links{margin-top:18px}#booking-content textarea{min-height:0}
@media(max-width:800px){.proof-heading{display:block}.proof-heading>p{max-width:none}.proof-grid{grid-template-columns:1fr}.proof-image img{height:260px}.proof-actions{align-items:stretch;flex-direction:column}.proof-copy{padding:22px}.booking-call{align-items:flex-start;flex-direction:column;gap:8px}.lobby-heading .lobby-promise{max-width:none}}
@media(prefers-reduced-motion:reduce){.proof-grid>button,.proof-image img{transition:none}.proof-grid>button:hover,.proof-grid>button:hover img{transform:none}}
.motion-off .proof-grid>button,.motion-off .proof-image img{transition:none}.motion-off .proof-grid>button:hover,.motion-off .proof-grid>button:hover img{transform:none}
.lobby-heading .lobby-promise>span{display:block;margin-top:12px}@media(max-width:800px){header nav{scrollbar-width:none}header nav::-webkit-scrollbar{display:none}}

.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.request-wide{grid-column:1/-1}#visit-request input,#visit-request select,#visit-request textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px;border:1px solid #9fb7c5;border-radius:5px;background:#fff;color:#08273b;margin:6px 0 16px}#visit-request label{display:block;font-size:14px;line-height:1.4}#visit-request input:focus-visible,#visit-request select:focus-visible,#visit-request textarea:focus-visible{outline:2px solid #147caa;outline-offset:2px}.request-trap{display:none}.request-send{width:100%;margin-top:8px}#enquiry-summary{white-space:pre-wrap;font:inherit;font-size:14px;line-height:1.5;color:#173b50}.request-confirmation{padding:24px;background:#e8f5fa;border-left:3px solid #147caa}.request-confirmation h3{font-size:28px}.booking-urgent{font-size:14px;margin-top:20px}#request-status{font-size:14px;line-height:1.6;color:#923b1a}@media(max-width:540px){.request-grid{grid-template-columns:1fr}.request-wide{grid-column:auto}}
