/* Burgundy glass: translucent surfaces, quiet reflections, strong contrast. */
:root{--paper:#f3f4f6;--line:#d9dce1;--radius:26px;--glass-edge:#ffffffa8;--glass-shadow:0 18px 48px #2430420b,inset 0 1px 0 #ffffffd9}
body{background:radial-gradient(ellipse at 0 30%,#98142007,transparent 46%),radial-gradient(ellipse at 100% 70%,#c8d7ee33,transparent 48%),var(--paper)}
.header{background:#ffffffc9;border-bottom-color:#ffffffb3;box-shadow:inset 0 -1px 0 #17191b07;-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%)}
.header.is-scrolled{box-shadow:0 8px 32px #17191b0b,inset 0 -1px 0 #ffffffb8}
.header:after{background:linear-gradient(90deg,#981420,#c85769);opacity:.65}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;max-width:1280px;width:calc(100% - clamp(40px,8vw,120px));margin:32px auto 0;border:1px solid #ffffffb3;border-radius:26px;overflow:hidden;background:#f6f7f8;box-shadow:0 16px 48px #24304208}
.hero-image-wrap{min-height:clamp(480px,41vw,600px)}
.hero-copy{padding:44px clamp(28px,3.3vw,52px);background:radial-gradient(ellipse at 100% 12%,#98142008,transparent 58%),linear-gradient(130deg,#fffffff2,#f6f7f8)}
.hero-copy:before{display:none}
.hero .kicker{margin-bottom:22px;font-size:.75rem;letter-spacing:.12em}
.hero h1{font-size:clamp(2.6rem,4.05vw,5rem);line-height:1.09;letter-spacing:-.04em;margin-bottom:24px}
.hero-text{max-width:390px;font-size:1rem;line-height:1.75}
.hero-actions{gap:18px;margin:28px 0 0;align-items:center}
.hero-actions>.button{min-height:52px;padding:14px 22px}
.hero-scroll{display:none}
.hero-slide{transition:opacity 1.4s var(--ease),transform 10s linear,visibility 0s 1.4s}
.hero-slide.is-active{transition:opacity 1.4s var(--ease),transform 10s linear,visibility 0s}

/* Tinted glass controls. Reflection is fixed, movement is limited to hover. */
.button,.nav-contact,.mobile-contact a:last-child{background:linear-gradient(145deg,#bb3b4beb,#981420ee 58%,#79101ded);border:1px solid #ffffff42;box-shadow:0 7px 18px #79101d1e,inset 0 1px 0 #ffffff54,inset 0 -1px 0 #450a1240;-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);text-shadow:0 1px 1px #450a1230}
.button{border-radius:14px;transition:transform .6s var(--ease),box-shadow .6s var(--ease),background .6s var(--ease)}
.button:hover,.button:focus-visible,.nav-contact:hover{background:linear-gradient(145deg,#c04758f2,#a01b2bee 62%,#87131fed);box-shadow:0 12px 28px #79101d26,inset 0 1px 0 #ffffff70,inset 0 -1px 0 #450a1240}
.nav-contact{border-radius:99px}
.button-light,.button-outline{background:linear-gradient(135deg,#ffffffed,#ffffffc7);border-color:#ffffffb3;color:var(--ink);text-shadow:none;box-shadow:0 8px 22px #00000012,inset 0 1px 0 #fff}
.button-light:hover,.button-outline:hover{background:linear-gradient(135deg,#fff,#f5e7e9f0);color:var(--red);box-shadow:0 10px 26px #00000018,inset 0 1px 0 #fff}
.button-outline{border-color:#98142030;color:var(--red)}
.contact-phone{border:1px solid #ffffffd9;border-radius:16px;background:linear-gradient(135deg,#ffffffcf,#ffffffa8);box-shadow:0 8px 24px #2430420a,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.contact-phone:hover{border-color:#98142030;box-shadow:0 12px 28px #98142010,inset 0 1px 0 #fff}
.hero-call{min-height:48px;padding:8px 0;gap:8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#53575e;transition:color .6s var(--ease)}
.hero-call:hover{color:var(--red);transform:none;box-shadow:none}
.hero-call strong{font-size:.875rem;font-weight:400}
.hero-call .call-icon{width:24px;height:24px;background:none;border:0;box-shadow:none;color:inherit}
.hero-call .call-icon svg{width:18px;height:18px}
.call-icon,.phone-icon{background:linear-gradient(140deg,#fff2,#98142016);border:1px solid #98142013;box-shadow:inset 0 1px 0 #fff}
.hero-slide figcaption,.media-label,.slider-pause,.slider-arrow{background:linear-gradient(135deg,#ffffff24,#17191b72);border:1px solid #ffffff60;border-radius:13px;box-shadow:0 8px 24px #00000012,inset 0 1px 0 #ffffff40;-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%)}
.hero-slide figcaption{left:24px;bottom:70px;gap:3px;padding:10px 14px;background:linear-gradient(135deg,#24272b99,#17191b85);border-color:#ffffff30;border-left:1px solid #ffffff30;box-shadow:inset 0 1px 0 #ffffff18}
.hero-slide figcaption small{color:#f0f0f2;font-size:.75rem;letter-spacing:.06em}
.hero-slide figcaption strong{font-size:.875rem;font-weight:600}
.media-label,.slider-pause{background:linear-gradient(135deg,#17191baa,#17191b72);border-radius:9px}
.slider-arrow:hover{background:linear-gradient(135deg,#b83b4abd,#981420b8)}

/* A shallow frosted surface gives each section a shared visual rhythm. */
.services{position:relative;isolation:isolate;background:linear-gradient(135deg,#ffffffde,#ffffffa6);border-color:#fff;box-shadow:var(--glass-shadow)}
.services:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse at 95% 0,#98142007,transparent 52%);pointer-events:none}
.service-card{background:linear-gradient(140deg,#ffffffb8,#f7f8fa99);border-color:#dce0e6;border-radius:17px;box-shadow:inset 0 1px 0 #fff}
.service-card:before{background:linear-gradient(140deg,#bc4656f5,#981420ed 58%,#771521f2);box-shadow:inset 0 1px 0 #ffffff65}
.service-card:hover,.service-card:focus-visible{border-color:#b8495866;box-shadow:0 12px 28px #9814201a,inset 0 1px 0 #ffffff8c}
.service-card>b{background:#ffffff73;box-shadow:inset 0 1px 0 #fff;border-color:#98142029}
.service-card:hover>b,.service-card:focus-visible>b{background:#ffffff16;box-shadow:inset 0 1px 0 #ffffff4d}
.service-more{background:linear-gradient(140deg,#3d3d42f2,#22242ce8);border-color:#ffffffa8;color:#fff;box-shadow:inset 0 1px 0 #ffffff40}
.service-more>b{background:#ffffff12;box-shadow:inset 0 1px 0 #ffffff30}
.commercial{background:radial-gradient(ellipse at 100% 0,#98142042,transparent 70%),#202126;border:1px solid #ffffffc7;box-shadow:var(--glass-shadow)}
.commercial-copy{background:linear-gradient(140deg,#ffffff0b,transparent 70%);box-shadow:inset 0 1px 0 #ffffff24}
.founder{background:linear-gradient(135deg,#ffffffd9,#e9edf1cf);border:1px solid #ffffffde;box-shadow:var(--glass-shadow)}
.founder-values span,.original-tag{background:#ffffff80;border-color:#ffffffed;box-shadow:inset 0 1px 0 #fff;border-radius:99px}
.founder-stamp{background:linear-gradient(140deg,#bc4656c9,#981420d9);border:1px solid #ffffff88;box-shadow:0 12px 24px #570c1733,inset 0 1px 0 #ffffff70;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.project{background:linear-gradient(135deg,#ffffffdb,#ffffffa8);border-color:#fff;border-radius:20px;box-shadow:0 10px 26px #24304206,inset 0 1px 0 #fff}
.project-media{border-radius:12px}
.gallery-button{border-radius:99px;background:#ffffff85;border-color:#ffffffed;box-shadow:0 7px 22px #24304208,inset 0 1px 0 #fff}
.gallery-button:hover{background:linear-gradient(135deg,#3d3d42ee,#22242cf2);border-color:#ffffff6b;box-shadow:0 10px 26px #17191b18,inset 0 1px 0 #ffffff40}

/* Burgundy light passes behind the clear enquiry panel. */
.contact{background:radial-gradient(ellipse at 82% 8%,#c450657d,transparent 50%),radial-gradient(ellipse at 3% 90%,#9814209c,transparent 58%),linear-gradient(130deg,#3d1823,#661c2b 58%,#341b27)}
.contact:before{opacity:.09;background-size:90px 90px}
.contact-orbit{border-color:#ffffff18;box-shadow:0 0 0 35px #ffffff03}
.contact-lead{align-self:start;position:relative;padding:clamp(24px,3vw,38px);border:1px solid #ffffff2e;border-radius:26px;background:linear-gradient(135deg,#ffffff13,#98142017);box-shadow:0 16px 45px #18081215,inset 0 1px 0 #ffffff24;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.contact h2{font-size:clamp(2.5rem,3.75vw,4rem)}
.contact-badge{background:#ffffff12;border-color:#ffffff30;box-shadow:inset 0 1px 0 #ffffff25}
.contact-phone{background:linear-gradient(135deg,#fffffff2,#ffffffdc);box-shadow:0 9px 24px #18081219,inset 0 1px 0 #fff}
.form-card{background:linear-gradient(135deg,#ffffffed,#ffffffda);border-color:#ffffffb8;border-radius:26px;box-shadow:0 24px 64px #19081028,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(28px) saturate(130%);backdrop-filter:blur(28px) saturate(130%)}
.form-card:before{inset:-7px 7px 7px -7px;border-radius:30px;border-color:#ffffff26}
.customer-choice span{background:#ffffff60;border-color:#ffffffc4;border-radius:10px;box-shadow:inset 0 1px 0 #fff}
.customer-choice input:checked+span{background:linear-gradient(145deg,#a73b4bea,#8b1624f2);border-color:#ffffff70;box-shadow:0 4px 12px #98142016,inset 0 1px 0 #ffffff48}
.field input,.field select,.field textarea{background:#ffffffa6;border-color:#c6bdc3;border-radius:10px;box-shadow:inset 0 1px 2px #17191b03}
.field input:focus,.field select:focus,.field textarea:focus{background:#fffffff2}
.enquiry-result details{background:#ffffff7d;border-color:#ffffffde;border-radius:12px}
.location,.legal-section{background:linear-gradient(135deg,#ffffffde,#ffffffb8);border-color:#fff;box-shadow:var(--glass-shadow)}
.map-shell{border-color:#ffffffc9;border-radius:16px;box-shadow:0 8px 20px #24304209}
.footer{background:radial-gradient(ellipse at 0 0,#98142029,transparent 65%),#1c1d22;border-top:1px solid #ffffff1c}
.mobile-contact{background:#ffffffe0;border:1px solid #ffffffd9;border-radius:18px;box-shadow:0 12px 35px #17191b20,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%)}
.mobile-contact a:last-child{border-radius:14px;margin:4px;padding:10px 14px}

@media(max-width:820px){.header nav{background:#ffffffed;border:1px solid #ffffffcc;border-radius:0 0 22px 22px;box-shadow:0 18px 35px #17191b12;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.contact{gap:28px}.contact-lead{padding:30px}.hero-slide figcaption{max-width:calc(100% - 60px)}}
@media(max-width:600px){.contact-lead{padding:25px 20px}.contact h2{font-size:clamp(2.2rem,9vw,3.2rem)}.contact-phone{padding:11px;gap:10px}.contact-phone strong{font-size:.95rem}.contact-phone .phone-icon{width:35px;height:35px}.contact-phone small{font-size:.75rem}.form-card{border-radius:22px}.services,.commercial,.founder,.location{border-radius:22px}.hero-slide figcaption{max-width:calc(100% - 40px)}}
@media(max-width:1100px) and (min-width:951px){.hero h1{font-size:clamp(2.35rem,4.05vw,2.8rem)}}
@media(max-width:950px){.hero{display:flex;flex-direction:column;width:calc(100% - 44px);margin-top:24px}.hero-image-wrap{min-height:clamp(300px,42vw,400px)}.hero-copy{padding:36px 40px 40px}.hero h1{font-size:clamp(2.4rem,5.6vw,3.6rem)}.hero-text{max-width:470px}.hero-actions{width:100%;gap:24px}}
@media(max-width:600px){.hero{width:calc(100% - 32px);margin-top:18px;border-radius:22px}.hero-image-wrap{min-height:280px}.hero-copy{padding:30px 24px 34px}.hero .kicker{margin-bottom:18px}.hero h1{font-size:clamp(2rem,7.6vw,2.8rem);margin-bottom:20px}.hero-actions{display:flex;margin-top:24px;gap:12px 20px;flex-direction:row;align-items:center}.hero-actions>.button{width:auto}.hero-call{width:auto;justify-content:flex-start}.hero-slide figcaption{left:18px;bottom:68px}.hero-slide figcaption strong{font-size:.875rem}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header,.header nav{background:#fafafb}.form-card,.hero-call,.contact-phone,.mobile-contact{background:#fff}.hero-slide figcaption{background:#651c2be8}.media-label,.slider-pause,.slider-arrow{background:#25252ee8}}
@media(prefers-reduced-transparency:reduce){.header,.header nav,.services,.project,.form-card,.hero-call,.contact-phone,.location,.legal-section,.mobile-contact{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.contact-lead{background:#4f1d2c;backdrop-filter:none;-webkit-backdrop-filter:none}.button,.nav-contact,.mobile-contact a:last-child{background:#981420}.button-light,.button-outline{background:#fff}.hero-slide figcaption{background:#651c2b}.media-label,.slider-pause,.slider-arrow{background:#25252e}}
@media(forced-colors:active){.button,.service-card,.project,.contact-lead,.form-card,.hero-call,.contact-phone{box-shadow:none;border:1px solid ButtonText}.service-card:before{background:none}.contact-lead,.form-card{background:Canvas;color:CanvasText}}
