/* Rounded glass surfaces, paired with the original red / blue identity. */
:root{--radius-sm:14px;--radius-md:24px;--radius-lg:36px;--glass-line:rgba(255,255,255,.32);--glass-shadow:0 18px 55px rgba(8,21,35,.1),inset 0 1px 0 rgba(255,255,255,.65);--glass-dark-shadow:0 18px 50px rgba(0,8,16,.2),inset 0 1px 0 rgba(255,255,255,.16)}
body{background:radial-gradient(ellipse at 1% 18%,rgba(197,45,59,.055),transparent 32%),radial-gradient(ellipse at 100% 55%,rgba(0,110,168,.075),transparent 35%),#f9fbfd}
.ui-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.topline{background:#081523;font-size:12px}.site-header{height:84px;margin:12px 24px;top:12px;padding:0 32px;border:1px solid rgba(255,255,255,.85);border-radius:var(--radius-md);background:rgba(248,252,255,.86);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(22px) saturate(165%);backdrop-filter:blur(22px) saturate(165%)}
header:not(.site-header){margin:16px 24px;border-radius:var(--radius-md);border:1px solid #fff;background:rgba(255,255,255,.88);box-shadow:var(--glass-shadow)}
.site-header nav{gap:22px}.site-header nav a:after{border-radius:999px}.brand{gap:10px}.logo-crop{border-radius:12px}.brandword small{font-size:8px}
.btn,.header-cta{border-radius:999px;border:1px solid #ffffff33;box-shadow:inset 0 1px 0 #ffffff45,0 8px 22px #08152314;gap:10px}
.btn-accent{background:linear-gradient(155deg,#dc4350f5,#b92333f5);box-shadow:inset 0 1px 0 #ffffff66,0 10px 28px #c52d3b28}.btn-accent:hover{background:linear-gradient(155deg,#e84e5a,#bc2636);box-shadow:inset 0 1px 0 #ffffff66,0 14px 30px #c52d3b35}
.btn-dark,.header-cta{background:linear-gradient(150deg,#1c405aef,#081523f5);border-color:#ffffff29}.btn-dark:hover,.header-cta:hover{background:linear-gradient(150deg,#285571,#102b42)}
.text-link{border-bottom-color:#526b7c66}.light-link{border-bottom-color:#ffffff66}.hero{margin:16px 24px 0;border-radius:var(--radius-lg);min-height:710px;max-height:960px;height:calc(100svh - 158px);box-shadow:0 22px 65px #08152320;outline:1px solid #ffffff50;outline-offset:-1px}.hero:before{border-radius:inherit}.hero-grid{opacity:.65}.hero-photo{animation-duration:1.8s}
.eyebrow.light{display:inline-block;max-width:100%;padding:9px 16px;border:1px solid #ffffff2b;border-radius:999px;background:linear-gradient(145deg,#18384b73,#08152391);box-shadow:inset 0 1px 0 #ffffff1b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;letter-spacing:.09em}
.hero-picture-label{border:1px solid #ffffff36;border-radius:var(--radius-md);padding:22px 26px;background:linear-gradient(140deg,#20495c88,#08152399);box-shadow:var(--glass-dark-shadow);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.hero-picture-label>span{color:#bce8ff}.hero-picture-label strong{font-size:20px}.hero-bottom b{display:inline-block;vertical-align:middle;width:4px;height:4px;background:#ff7580;border-radius:50%;padding:0;margin:0 14px}.scroll-track{background:#ffffff10;box-shadow:inset 0 1px 0 #ffffff30}
.about-visual{border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);border:1px solid #ffffffc9}.about-caption{border-top:0;position:relative;isolation:isolate;background:radial-gradient(ellipse at top right,#007aab40,transparent 65%),linear-gradient(145deg,#163a50,#081523)}.about-caption:before{content:'';position:absolute;inset:12px;border-radius:24px;border:1px solid #ffffff25;z-index:-1}.about-caption span{color:#a6ddf7}
.credential{border:1px solid #ccdbe766;background:linear-gradient(150deg,#ffffffb8,#f0f7fbc9);padding:22px 26px;margin-top:20px;border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #fff}.credential-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;border-radius:16px;background:linear-gradient(150deg,#fff,#f9e9ec);border:1px solid #c52d3b20;box-shadow:0 5px 15px #c52d3b0a,inset 0 1px 0 #fff}.credential-icon .ui-icon{width:25px;height:25px}
.services,.work,.contact-section,.statement,.project-story{margin:0 24px 24px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid #ffffff2a}.services{background:radial-gradient(ellipse at 0 35%,#c52d3b20,transparent 55%),radial-gradient(ellipse at 100% 90%,#007cab38,transparent 55%),#081523}.service-list{gap:16px}.service-card{min-height:445px;padding:28px 23px 75px;border:1px solid #ffffff29;border-radius:28px;background:linear-gradient(145deg,#ffffff0d,#ffffff03);box-shadow:var(--glass-dark-shadow);-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%)}
.service-card:before{content:'';position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--service-color),transparent);opacity:.85}.service-card:hover{background:linear-gradient(145deg,#ffffff1b,#ffffff09);border-color:#ffffff45;transform:translateY(-6px)}.service-no{letter-spacing:.04em}.service-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;border-radius:23px;margin:32px 0 28px;border:1px solid #ffffff28;background:linear-gradient(145deg,#ffffff14,#ffffff05);box-shadow:0 12px 30px #0000001c,inset 0 1px 0 #ffffff30}.service-icon .ui-icon{width:35px;height:35px;stroke-width:1.45}.service-card.heating .service-icon{background:linear-gradient(150deg,#f15e7040,#c52d3b10);border-color:#ff758044}.service-card.cooling .service-icon{background:linear-gradient(150deg,#32c2ff2e,#006ea80f);border-color:#49c2ff44}.service-card h3{font-size:clamp(24px,2.05vw,30px)}.service-link{left:23px;bottom:25px;font-size:14px}
.partner-grid>div{border-radius:20px;border-color:#ffffff;background:linear-gradient(145deg,#fff,#ffffff8c);box-shadow:0 8px 25px #08152306,inset 0 1px 0 #fff}.statement{box-shadow:0 18px 55px #08152312}.work{background:radial-gradient(ellipse at 0 0,#dcedf8b3,transparent 55%),radial-gradient(ellipse at 100% 100%,#f3d7dc60,transparent 55%),#f1f6fa;border-color:#fff}.work-card{border-radius:28px;border:1px solid #ffffffaa;box-shadow:0 16px 38px #08152314}.work-card>span{left:14px;right:14px;bottom:14px;gap:0 12px;padding:16px 18px;border-radius:20px;border:1px solid #ffffff37;background:linear-gradient(145deg,#29495b80,#081523a6);box-shadow:inset 0 1px 0 #ffffff26;-webkit-backdrop-filter:blur(16px) saturate(145%);backdrop-filter:blur(16px) saturate(145%)}.work-card small{grid-column:1;color:#e0f2fe;font-size:12px;letter-spacing:.08em}.work-card b{font-size:22px}.work-card i{display:flex;align-items:center;justify-content:center;width:38px;height:38px;align-self:center;grid-column:2;grid-row:1/3;border-radius:13px;border:1px solid #ffffff2a;background:#ffffff0d}.work-card i .ui-icon{width:21px;height:21px}
.gallery-dialog{border:1px solid #ffffff3b;border-radius:30px;background:#0f2636d9;box-shadow:0 25px 90px #0006;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.gallery-dialog::backdrop{background:#020b14d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gallery-dialog button{display:flex;align-items:center;justify-content:center;border-radius:16px;background:#18394bc9;border-color:#ffffff50;box-shadow:inset 0 1px 0 #ffffff20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.gallery-dialog .ui-icon{width:23px;height:23px}.gallery-count{border-radius:999px;background:#18394bc9;border:1px solid #ffffff30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:7px 14px}
.principles{display:flex;flex-direction:column;gap:12px}.principles>div{border:1px solid #d7e6f08c;border-radius:22px;padding:22px 24px;background:linear-gradient(145deg,#ffffffc9,#ecf5f994);box-shadow:inset 0 1px 0 #fff;grid-template-columns:48px 1fr}.principles b{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#c52d3b0a;border:1px solid #c52d3b1a}.principles h3{font-size:22px}
.contact-section{background:radial-gradient(ellipse at 10% 95%,#c52d3b24,transparent 55%),radial-gradient(ellipse at 100% 10%,#007aab3b,transparent 55%),#081523}.quote-form{border:1px solid #ffffffb3;border-radius:30px;background:linear-gradient(145deg,#ffffffed,#e9f4fbe0);box-shadow:0 25px 70px #0002,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
input,select,textarea{border-radius:var(--radius-sm);border-color:#a3bbc65e;background:linear-gradient(150deg,#ffffffe0,#ffffff85);box-shadow:inset 0 1px 0 #fff,0 3px 10px #08152303}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#0075aa90;box-shadow:0 0 0 3px #0075aa14,inset 0 1px 0 #fff}.consent input{border-radius:5px;accent-color:var(--blue);box-shadow:none}.contact-direct a:hover{color:#a6ddf7}.location-details>div{padding:24px 28px;border-radius:24px;background:linear-gradient(150deg,#fff,#f0f6faa6);border:1px solid white;box-shadow:var(--glass-shadow)}
footer{margin:0 24px 24px;border-radius:var(--radius-lg);border:1px solid #ffffff22;background:radial-gradient(ellipse at top right,#007aab22,transparent 65%),#081523;overflow:hidden}.footer-brand{border-radius:22px;border:1px solid #ffffffa6;background:linear-gradient(145deg,#fffffffa,#edf7fff0);box-shadow:inset 0 1px 0 #fff}.footer-bottom a{display:inline-flex;align-items:center;gap:6px}.footer-bottom .ui-icon{width:18px;height:18px}.footer-bottom a:hover{color:#fff}
.story-layout figure img{border-radius:28px;border:1px solid #ffffff3b;box-shadow:0 18px 50px #0002}.project-story{background:radial-gradient(ellipse at 0 40%,#c52d3b25,transparent 55%),radial-gradient(ellipse at 100% 100%,#007aab24,transparent 55%),#081523}.project-steps{display:flex;flex-direction:column;gap:12px}.project-steps li{padding:24px;border:1px solid #ffffff25;border-radius:24px;background:linear-gradient(145deg,#ffffff0e,#ffffff04);box-shadow:inset 0 1px 0 #ffffff16;grid-template-columns:44px 1fr;gap:14px}.project-steps li>span{border:1px solid #ff647135;border-radius:13px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#c52d3b15}.project-steps h3{font-size:24px}.project-story .story-layout figure img{height:615px}
.legal{padding:65px 40px;margin-bottom:40px;border-radius:32px;border:1px solid #fff;background:linear-gradient(145deg,#ffffffed,#f1f7fac9);box-shadow:var(--glass-shadow)}.legal h1{font-size:clamp(36px,4.5vw,58px)}
#menu{display:flex;align-items:center;justify-content:center;display:none;border-radius:14px;border:1px solid #8bb3ca35;background:linear-gradient(145deg,#ffffffbf,#edf6faa6);color:#102c46;box-shadow:inset 0 1px 0 #fff}#menu .ui-icon{width:24px;height:24px}#menu .icon-close{display:none}#menu[data-open="true"] .icon-menu{display:none}#menu[data-open="true"] .icon-close{display:block}
.admin-body{background:radial-gradient(ellipse at 100% 0,#dfedf7,transparent 50%),#f4f8fb}.admin-sidebar{background:linear-gradient(145deg,#18374bee,#081523fa);margin:16px 0 16px 16px;border:1px solid #ffffff30;border-radius:28px;min-height:calc(100vh - 32px)}.admin-sidebar .brand{background:#ffffffed;border-radius:18px;padding:12px}.admin-nav{gap:8px}.admin-nav a{display:flex;gap:10px;align-items:center;border-radius:14px;padding:12px}.admin-nav .ui-icon{width:20px;height:20px;color:#93d9fa}.admin-nav a.active,.admin-nav a:hover{border:1px solid #ffffff23;background:linear-gradient(145deg,#ffffff15,#ffffff06);padding:11px}.demo-badge{border-radius:18px;border-color:#8bd3f733;background:#8bd3f70a;color:#a6ddf7}.back-site{display:inline-flex;align-items:center;gap:6px}.back-site .ui-icon{width:18px;height:18px}.admin-top span:last-child{display:flex;align-items:center;gap:6px;color:#006ea8}.admin-top .ui-icon{width:18px;height:18px}.stats>div,.admin-panel,.settings-grid>div{border-radius:24px;border:1px solid #ffffffc9;background:linear-gradient(145deg,#ffffffe6,#eff6fac2);box-shadow:var(--glass-shadow)}.admin-panel{padding:30px}.settings-grid>div{border-radius:20px;box-shadow:inset 0 1px 0 #fff}.panel-title select,td select{border-radius:12px;background:#ffffffc9}.status{border:1px solid #006ea818;border-radius:999px}.admin-nav>span,.stats small{font-size:12px}.admin-body dialog{border:1px solid #ffffffb3;border-radius:28px;background:linear-gradient(145deg,#fffffffa,#edf6faf5);box-shadow:var(--glass-shadow)}.admin-body dialog::backdrop{background:#0815238c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-head button{display:flex;align-items:center;justify-content:center;border-radius:13px;background:#006ea80a;border:1px solid #006ea816;width:40px;height:40px;flex:none}.dialog-head .ui-icon{width:21px;height:21px}
@supports not (backdrop-filter:blur(1px)){.site-header{background:#f6fafc}.service-card{background:#172b40}.hero-picture-label,.work-card>span,.gallery-dialog button{background:#102c46}.quote-form{background:#f3f8fc}}
@media(max-width:1150px){.site-header{padding:0 24px}.site-header nav{gap:16px}.service-card{min-height:400px}.service-card h3{font-size:30px}.location-details{gap:20px}.location-details>div{padding:22px}}
@media(max-width:850px){.site-header{height:76px}.site-header .brand{margin-right:auto}#menu{display:flex}.site-header nav{top:calc(100% + 8px);padding:20px 24px;border-radius:24px;border:1px solid #ffffffbc;background:#f5fafff5;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.hero{height:calc(100svh - 150px)}.story-layout{grid-template-columns:1fr}.project-story .story-layout figure img{height:500px}.location-details>div{flex:1}.admin-main{padding-left:24px;padding-right:24px}.admin-sidebar{width:230px}}
@media(max-width:600px){:root{--radius-lg:28px}.site-header{margin:8px 12px;top:8px;padding:0 16px;height:74px;gap:12px;border-radius:22px}.site-header .brandword{font-size:18px}.hero{margin:10px 12px 0;min-height:720px;height:calc(100svh - 136px)}.hero-content{width:calc(100% - 40px);padding-top:82px}.hero h1{font-size:clamp(46px,15vw,88px);margin:26px 0 30px}.eyebrow.light{padding:8px 12px;font-size:12px;letter-spacing:.035em;line-height:1.5}.hero-content>p{font-size:18px}.hero-bottom{left:20px;right:20px;font-size:11px;letter-spacing:0}.hero-bottom b{margin:0 7px}.hero-actions{gap:18px}.services,.work,.contact-section,.statement,.project-story,footer{margin-left:12px;margin-right:12px;margin-bottom:18px}.services .wrap,.work .wrap,.contact-section .wrap,.statement .wrap,.project-story .wrap,footer .wrap{width:calc(100% - 36px)}.service-card{border-radius:24px;min-height:385px;padding:26px 24px 75px}.service-card h3{font-size:30px}.service-link{left:24px}.service-icon{margin:26px 0}.credential{padding:20px}.credential>span:last-child{padding:0}.about-visual{border-radius:26px}.about-caption{padding:26px}.about-caption:before{inset:10px;border-radius:18px}.partner-grid>div{border-radius:16px}.work-card{border-radius:24px}.work-card>span{left:12px;right:12px;bottom:12px;padding:14px;border-radius:18px}.work-card b{font-size:20px}.work-card i{width:34px;height:34px;border-radius:12px}.work-card small{font-size:12px}.principles>div{padding:20px;grid-template-columns:42px 1fr}.principles h3{font-size:21px}.quote-form{border-radius:24px;padding:24px 18px}.contact-intro h2{font-size:clamp(37px,11vw,50px)}.location-details>div{padding:24px}.location-details{gap:18px}.footer-main{gap:32px 12px}.footer-brand{padding:14px}.gallery-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);border-radius:24px}.gallery-dialog button{width:44px;height:44px;border-radius:14px}.gallery-prev{left:10px}.gallery-next{right:10px}.story-layout{gap:30px}.project-steps li{padding:20px 18px;grid-template-columns:38px 1fr;gap:12px}.project-steps h3{font-size:22px}.project-steps li>span{width:34px;height:34px;border-radius:11px}.project-story .story-layout figure img{height:420px}.legal{width:calc(100% - 32px);padding:40px 22px}.legal h1{font-size:36px;overflow-wrap:anywhere}header:not(.site-header){margin:12px 16px;padding:0 20px}.admin-body{display:block}.admin-sidebar{width:auto;margin:12px;min-height:auto;padding:16px;border-radius:22px}.admin-nav a{white-space:nowrap;min-height:44px}.admin-main{padding-left:18px;padding-right:18px}.admin-top{font-size:10px;letter-spacing:.03em;gap:12px}.stats>div{border-radius:20px;padding:18px}.admin-panel{border-radius:22px;padding:20px}.panel-title{flex-wrap:wrap;gap:16px}.admin-body dialog{padding:24px}.admin-welcome h1{overflow-wrap:anywhere}.back-site{display:none}}
@media(prefers-reduced-transparency:reduce){.site-header{background:#f6fafc}.service-card{background:#172b40}.quote-form{background:#f3f8fc}.hero-picture-label,.work-card>span,.gallery-dialog button{background:#102c46}}
@media(min-width:601px) and (max-width:1100px){.admin-welcome{flex-direction:column;align-items:flex-start}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.meeting-list>div{grid-template-columns:1fr;gap:8px}}

/* Motion stays brief, and pointer effects are reserved for hovering inputs. */
.btn,.header-cta{position:relative;overflow:hidden;isolation:isolate}.glass-ripple{position:absolute;border-radius:50%;background:#fff;pointer-events:none;z-index:3}.gallery-dialog button,#menu{overflow:hidden}.motion-ready .reveal{transition-delay:var(--reveal-delay,0ms)}
.service-card{isolation:isolate;transform-origin:center;transition:transform .5s cubic-bezier(.2,.65,.3,1),translate .35s,background .35s,border-color .35s,box-shadow .35s}.service-card>div,.service-card>a{position:relative;z-index:2}.service-card>a{position:absolute}.service-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(320px circle at var(--light-x,50%) var(--light-y,30%),#ffffff17,transparent 70%);z-index:1}
.work-card:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#ffffff25 45%,#ffffff08 55%,transparent 75%);translate:-120% 0;z-index:1;pointer-events:none;transition:translate .85s cubic-bezier(.2,.65,.3,1)}.work-card i{transition:scale .3s,background .3s,border-color .3s}.partner-grid>div{transition:translate .35s,box-shadow .35s}.partner-grid img{transition:scale .35s}.principles>div,.project-steps li{transition:background .35s,border-color .35s,translate .35s}.gallery-dialog button,#menu{transition:scale .25s,background .25s}.service-icon{transform-origin:center;transition:scale .35s,box-shadow .35s}.hero-actions{animation:glass-rise .9s .4s both}.hero-picture-label{animation:glass-rise 1s .65s both}.site-header{animation:header-arrive .8s .1s both}.site-header nav.open{animation:menu-arrive .35s cubic-bezier(.2,.65,.3,1) both}.gallery-dialog[open]{animation:dialog-arrive .35s cubic-bezier(.2,.65,.3,1) both}.gallery-dialog[open]::backdrop{animation:backdrop-arrive .3s ease both}.project-steps li>span{transition:background .35s,scale .35s}
@media(hover:hover) and (pointer:fine){.service-card:hover{translate:0 -6px;box-shadow:0 24px 55px #0003,inset 0 1px 0 #ffffff30}.motion-ready .service-card.reveal.is-visible{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.service-card:hover:after{opacity:1}.service-card:hover .service-icon{scale:1.07;box-shadow:0 15px 30px #0002,inset 0 1px 0 #ffffff40}.work-card:hover:before{translate:120% 0}.work-card:hover i{scale:1.08;background:#ffffff22;border-color:#ffffff66}.partner-grid>div:hover{translate:0 -4px;box-shadow:0 12px 30px #08152310}.partner-grid>div:hover img{scale:1.045}.principles>div:hover,.project-steps li:hover{translate:4px 0;border-color:#589fc45c}.project-steps li:hover>span{scale:1.07;background:#c52d3b25}.gallery-dialog button:hover,#menu:hover{scale:1.045}}
@keyframes glass-rise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes header-arrive{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}@keyframes menu-arrive{from{opacity:0;translate:0 -8px;scale:.98}to{opacity:1;translate:0 0;scale:1}}@keyframes dialog-arrive{from{opacity:0;scale:.97;translate:0 12px}to{opacity:1;scale:1;translate:0 0}}@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@media(hover:none),(pointer:coarse){.service-card:hover{transform:none;translate:none}.work-card:before{display:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{transition-delay:0ms}.motion-ready .service-card.reveal.is-visible{transform:none}.service-card:hover,.principles>div:hover,.project-steps li:hover,.partner-grid>div:hover{translate:none}.service-card:hover .service-icon,.work-card:hover i,.partner-grid>div:hover img,.gallery-dialog button:hover,#menu:hover,.project-steps li:hover>span{scale:1}.work-card:before,.service-card:after{display:none}.glass-ripple{display:none}}
@media(hover:hover) and (pointer:fine){.motion-ready .service-card.reveal.is-visible:hover{transition-delay:0ms}}
@media(prefers-reduced-motion:reduce){.service-card:hover{transform:none}}
