:root{--gold:#63b8ff;--gold2:#dff2ff;--deep:#08111f;--panel:rgba(5,10,22,.72);--line:rgba(99,184,255,.42);--white:#f7fbff;--muted:rgba(247,251,255,.78);--font-head:'Cinzel',Georgia,serif;--font-wide:'Bebas Neue','Oswald',Impact,sans-serif;--font-body:'Montserrat',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#040a14;color:var(--white);font-family:var(--font-body);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-3;background:#040a14}a{color:inherit}.ra-site{min-height:100vh;background:#040a14}.ra-wrap{width:min(1120px,calc(100% - 56px));margin:0 auto}.ra-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:0 10px 40px rgba(0,0,0,.55)}.admin-bar .ra-header{top:32px}.ra-header-inner{height:92px;display:grid;grid-template-columns:170px 1fr 190px;align-items:center;gap:24px}.ra-logo img{width:112px;height:auto;display:block;filter:drop-shadow(0 0 16px rgba(99,184,255,.32))}.ra-nav{display:flex;justify-content:center;gap:34px;align-items:center}.ra-nav li{list-style:none;margin:0;padding:0}.ra-nav a{text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.08em;padding:28px 0 13px;position:relative}.ra-nav a:hover,.ra-nav .current-menu-item a{color:var(--gold2)}.ra-nav a:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);transform:translateX(-50%);transition:.2s}.ra-nav a:hover:after,.ra-nav .current-menu-item a:after{width:52px}.ra-header-phone{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 22px;text-decoration:none;border:1px solid #9dd0ff;border-radius:5px;background:linear-gradient(180deg,#eff8ff 0%,#72b9ff 48%,#1a4d8a 100%);color:#08111f;font-weight:950;box-shadow:0 0 28px rgba(99,184,255,.35),inset 0 1px 0 rgba(255,255,255,.48)}.ra-header-phone svg{width:17px;height:17px;fill:#08111f}.ra-hero{position:relative;min-height:690px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.ra-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.14),rgba(0,0,0,.22)),var(--ra-bg-desktop);background-size:cover;background-position:center top;filter:contrast(1.05) saturate(1.05)}.ra-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(0,0,0,.08),rgba(0,0,0,.26) 45%,rgba(0,0,0,.52) 100%),linear-gradient(90deg,rgba(0,0,0,.24),rgba(0,0,0,.05),rgba(0,0,0,.24));pointer-events:none}.ra-hero-frame{position:absolute;inset:18px;border:1px solid rgba(99,184,255,.42);clip-path:polygon(3% 0,97% 0,100% 5%,100% 95%,97% 100%,3% 100%,0 95%,0 5%);box-shadow:inset 0 0 26px rgba(99,184,255,.14)}.ra-hero-inner{position:relative;z-index:2;text-align:center;width:min(860px,calc(100% - 40px));padding-top:28px}.ra-kicker{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold);font-size:16px;font-weight:800;letter-spacing:.45em;text-transform:uppercase;margin-bottom:18px;text-shadow:0 0 18px rgba(99,184,255,.45)}.ra-kicker span{display:block;width:170px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.ra-hero-title{margin:0;text-transform:uppercase;line-height:.94;letter-spacing:.025em;font-family:var(--font-wide);font-size:clamp(72px,7vw,110px);font-weight:900;text-shadow:0 6px 0 rgba(0,0,0,.6),0 0 30px rgba(255,255,255,.09)}.ra-hero-title b,.ra-hero-title strong{display:block}.ra-hero-title b{background:linear-gradient(180deg,#fff 0%,#d5d5d5 30%,#595b60 64%,#f7f7f7 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.25)}.ra-hero-title strong{background:linear-gradient(180deg,#fff0b0 0%,#d6a63e 40%,#8d631f 72%,#ffe697 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(255,230,160,.18)}.ra-hero-intro{font-size:20px;line-height:1.55;max-width:680px;margin:18px auto 28px;color:#fff;text-shadow:0 4px 18px #000}.ra-hero-actions{display:flex;gap:24px;justify-content:center;align-items:center}.ra-btn{min-width:220px;height:56px;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;border-radius:5px;font-size:16px;font-weight:900}.ra-btn svg{width:22px;height:22px}.ra-btn-gold{background:linear-gradient(180deg,#eff8ff,#72b9ff 52%,#1f5fa8);color:#07111d;box-shadow:0 0 26px rgba(99,184,255,.32),inset 0 1px 0 rgba(255,255,255,.55)}.ra-btn-gold svg{fill:#07111d}.ra-btn-dark{background:rgba(0,0,0,.42);border:1px solid var(--line);box-shadow:inset 0 0 24px rgba(99,184,255,.08)}.ra-btn-dark svg{fill:#fff}.ra-section{position:relative;background:#040a14;border-bottom:1px solid rgba(99,184,255,.34)}.ra-service-strip{padding:26px 0 26px;background:linear-gradient(180deg,#06101c,#0b1524)}.ra-service-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.ra-service-tile{min-height:185px;padding:26px 18px;text-align:center;position:relative;border:1px solid rgba(99,184,255,.72);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),rgba(0,0,0,.72);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);box-shadow:0 0 24px rgba(99,184,255,.07),inset 0 0 38px rgba(99,184,255,.05)}.ra-tile-icon{height:74px;display:flex;align-items:center;justify-content:center;color:var(--gold)}.ra-tile-icon svg{width:62px;height:62px;fill:none;stroke:currentColor;stroke-width:2.2}.ra-service-tile h3{margin:10px 0 0;font-size:16px;line-height:1.2;font-weight:700}.ra-service-tile i{display:block;width:42px;height:2px;background:var(--gold);margin:16px auto 0}.ra-about-band{padding:54px 0;background-image:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.78) 43%,rgba(0,0,0,.92)),var(--ra-bg-desktop);background-size:cover;background-position:center}.ra-two-col{display:grid;grid-template-columns:38% 1fr;gap:58px;align-items:center}.ra-about-image{min-height:310px;display:flex;align-items:center}.ra-about-image img{width:100%;height:320px;object-fit:cover;border:1px solid rgba(99,184,255,.35);box-shadow:0 22px 70px rgba(0,0,0,.62)}.ra-copy h2,.ra-section-head h2,.ra-page-title{font-family:var(--font-head);font-size:clamp(32px,3.3vw,52px);line-height:1.08;margin:8px 0 18px;color:#f5f1e8;text-shadow:0 3px 18px #000}.ra-copy h2 strong,.ra-copy h2 em{color:var(--gold)}.ra-copy p{font-size:16px;line-height:1.68;color:var(--muted)}.ra-mini{margin:0;color:var(--gold);font-size:13px;font-weight:900;letter-spacing:.28em;text-transform:uppercase}.ra-trust-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:26px}.ra-trust{min-height:74px;border:1px solid rgba(99,184,255,.62);padding:13px;display:grid;grid-template-columns:34px 1fr;column-gap:9px;align-items:center;background:rgba(0,0,0,.48)}.ra-trust b{grid-row:1/3;color:var(--gold);font-size:25px}.ra-trust span{font-size:13px;text-transform:uppercase;font-weight:900;color:var(--gold2)}.ra-trust small{font-size:12px;color:#fff}.ra-gallery-preview{padding:38px 0 50px;background:#040a14}.ra-gallery-preview .ra-wrap{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start}.ra-section-head h2{font-size:29px;margin-top:8px}.ra-before-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ra-before-card{border:1px solid rgba(99,184,255,.72);background:#06101c;border-radius:5px;overflow:hidden;box-shadow:0 18px 46px rgba(0,0,0,.46)}.ra-before-imgs{height:155px;display:grid;grid-template-columns:1fr 1fr;position:relative}.ra-before-imgs img{width:100%;height:100%;object-fit:cover}.ra-before-imgs:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--gold)}.ra-before-imgs span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#06101c;font-size:30px;font-weight:900;z-index:3}.ra-labels{height:34px;display:grid;grid-template-columns:1fr 1fr;text-align:center;border-top:1px solid rgba(99,184,255,.45)}.ra-labels b{font-size:12px;align-self:center}.ra-contact-strip{padding:34px 0 38px;background:#040a14}.ra-contact-box{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;border:1px solid rgba(99,184,255,.72);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:inset 0 0 45px rgba(99,184,255,.05)}.ra-contact-box>div{min-height:132px;padding:24px 34px;display:flex;align-items:center;gap:22px;border-right:1px solid rgba(99,184,255,.45)}.ra-contact-box>div:last-child{border-right:0}.ra-contact-box svg{width:46px;height:46px;fill:var(--gold);flex:0 0 auto}.ra-contact-box p{margin:0;color:#fff;line-height:1.55}.ra-contact-box a{text-decoration:none;font-weight:900;font-size:19px}.ra-contact-phone{font-size:30px!important}.ra-footer{padding:24px 0 30px;text-align:center;border-top:1px solid rgba(99,184,255,.35);background:#06101c}.ra-footer a{text-decoration:none;color:var(--gold);font-weight:700}.ra-page-hero{padding:86px 0 34px;text-align:center;background-image:linear-gradient(rgba(0,0,0,.74),rgba(0,0,0,.88)),var(--ra-bg-desktop);background-size:cover;background-position:center;border-bottom:1px solid var(--line)}.ra-page-title{margin:10px 0 12px;text-transform:uppercase}.ra-title-line{display:flex;align-items:center;justify-content:center;gap:18px}.ra-title-line:before,.ra-title-line:after{content:"";height:1px;width:190px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.ra-services-list{padding:40px 0 70px;background:#06101c}.ra-service-row{display:grid;grid-template-columns:92px 1fr 330px;align-items:center;gap:24px;border:1px solid rgba(99,184,255,.7);margin:0 0 14px;padding:18px 20px;background:linear-gradient(90deg,rgba(99,184,255,.08),rgba(0,0,0,.6));clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}.ra-service-row .ra-tile-icon svg{width:58px}.ra-service-row h2{margin:0 0 7px;color:var(--gold2);font-size:19px;text-transform:uppercase}.ra-service-row p{margin:0;color:var(--muted);line-height:1.55}.ra-service-row img{width:100%;height:120px;object-fit:cover;border-left:1px solid rgba(99,184,255,.45)}.ra-gallery-page{padding:40px 0 70px;background:#040a14}.ra-gallery-page .ra-before-grid{grid-template-columns:repeat(3,1fr)}.ra-gallery-page .ra-before-imgs{height:250px}.ra-about-page,.ra-contact-page{padding:58px 0 70px;background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.58)),var(--ra-bg-desktop);background-size:cover;background-position:center}.ra-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}.ra-contact-form{border:1px solid rgba(99,184,255,.55);padding:28px;background:rgba(0,0,0,.58)}.ra-contact-form input,.ra-contact-form textarea{width:100%;margin:0 0 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);padding:16px;color:#fff;font-family:var(--font-body)}.ra-contact-form textarea{height:150px}.ra-contact-form button{width:100%;border:0;height:54px;font-weight:900;text-transform:uppercase;background:linear-gradient(180deg,#eff8ff,#72b9ff 52%,#1f5fa8);color:#06101c}.ra-menu-toggle{display:none}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:1050px){.ra-wrap{width:min(100% - 34px,880px)}.ra-header-inner{grid-template-columns:120px 1fr 160px}.ra-nav{gap:18px}.ra-hero{min-height:640px}.ra-service-tiles{grid-template-columns:repeat(3,1fr)}.ra-two-col,.ra-gallery-preview .ra-wrap,.ra-contact-grid{grid-template-columns:1fr}.ra-contact-box{grid-template-columns:1fr}.ra-contact-box>div{border-right:0;border-bottom:1px solid rgba(99,184,255,.45)}.ra-contact-box>div:last-child{border-bottom:0}.ra-service-row{grid-template-columns:70px 1fr}.ra-service-row img{grid-column:1/-1;border-left:0;height:180px}.ra-before-grid,.ra-gallery-page .ra-before-grid{grid-template-columns:1fr 1fr}.ra-trust-cards{grid-template-columns:1fr 1fr}.ra-title-line:before,.ra-title-line:after{width:90px}}
@media(max-width:760px){.admin-bar .ra-header{top:46px}.ra-header-inner{height:auto;min-height:78px;grid-template-columns:82px 1fr;gap:10px;padding:10px 0}.ra-logo img{width:72px}.ra-menu-toggle{display:inline-flex;justify-self:end;background:transparent;color:#fff;border:1px solid rgba(99,184,255,.55);padding:10px 14px;text-transform:uppercase;font-weight:900}.ra-nav{grid-column:1/-1;display:none;flex-direction:column;gap:0;padding:10px 0;border-top:1px solid rgba(99,184,255,.25)}.ra-header.is-open .ra-nav{display:flex}.ra-nav a{padding:13px 0}.ra-header-phone{grid-column:1/-1;width:100%;height:42px}.ra-hero{min-height:720px;align-items:flex-start;padding-top:70px}.ra-bg{background-image:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.46)),var(--ra-bg-mobile);background-position:center top}.ra-hero-frame{inset:10px}.ra-kicker{font-size:11px;letter-spacing:.28em;gap:10px}.ra-kicker span{width:48px}.ra-hero-title{font-size:clamp(54px,17vw,80px)}.ra-hero-intro{font-size:16px}.ra-hero-actions{flex-direction:column;gap:14px}.ra-btn{width:min(320px,100%)}.ra-service-tiles{grid-template-columns:1fr;gap:14px}.ra-service-tile{min-height:145px}.ra-about-band{padding:36px 0;background-image:linear-gradient(rgba(0,0,0,.82),rgba(0,0,0,.9)),var(--ra-bg-mobile)}.ra-copy h2,.ra-page-title{font-size:34px}.ra-trust-cards,.ra-before-grid,.ra-gallery-page .ra-before-grid{grid-template-columns:1fr}.ra-gallery-preview .ra-wrap{gap:18px}.ra-contact-box>div{padding:22px;align-items:flex-start}.ra-contact-phone{font-size:24px!important}.ra-page-hero{background-image:linear-gradient(rgba(0,0,0,.76),rgba(0,0,0,.91)),var(--ra-bg-mobile);padding-top:48px}.ra-title-line:before,.ra-title-line:after{display:none}.ra-about-page,.ra-contact-page{background-image:linear-gradient(rgba(0,0,0,.88),rgba(0,0,0,.92)),var(--ra-bg-mobile)}}

/* v4.1.0 mockup alignment pass */
.ra-wrap{width:min(1180px,calc(100% - 64px));}
.ra-header{position:relative;top:auto;background:#040a14;border-bottom:1px solid rgba(99,184,255,.55);box-shadow:0 14px 44px rgba(0,0,0,.75);}
.admin-bar .ra-header{top:auto;}
.ra-header-inner{height:108px;grid-template-columns:210px 1fr 230px;gap:26px;position:relative;}
.ra-logo{align-self:center;display:flex;align-items:center;justify-content:flex-start;height:100%;}
.ra-logo img{width:135px;max-height:96px;object-fit:contain;background:transparent;filter:drop-shadow(0 9px 18px rgba(0,0,0,.75)) drop-shadow(0 0 16px rgba(99,184,255,.22));}
.ra-nav{gap:38px;align-self:center;}
.ra-nav a{font-size:13px;letter-spacing:.095em;padding:20px 0 14px;text-shadow:0 2px 12px #000;}
.ra-header-phone{height:49px;min-width:204px;white-space:nowrap;border-radius:4px;font-size:15px;letter-spacing:.02em;box-shadow:0 0 22px rgba(99,184,255,.35), inset 0 1px 0 rgba(255,255,255,.65), inset 0 -2px 0 rgba(0,0,0,.18);}
.ra-hero{min-height:455px;align-items:flex-start;border-bottom:1px solid rgba(99,184,255,.55);}
.ra-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.18)),var(--ra-bg-desktop);background-position:center top;filter:contrast(1.11) saturate(1.1) brightness(1.02);}
.ra-hero:after{background:radial-gradient(ellipse at 50% 45%,rgba(0,0,0,.0) 0%,rgba(0,0,0,.12) 44%,rgba(0,0,0,.42) 100%),linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.0) 48%,rgba(0,0,0,.22));}
.ra-hero-frame{inset:0;border-top:0;border-left:1px solid rgba(99,184,255,.55);border-right:1px solid rgba(99,184,255,.55);border-bottom:1px solid rgba(99,184,255,.34);clip-path:none;box-shadow:inset 0 0 42px rgba(99,184,255,.12);}
.ra-hero-frame:before,.ra-hero-frame:after{content:"";position:absolute;top:0;width:104px;height:104px;border-top:2px solid var(--gold);opacity:.8;}
.ra-hero-frame:before{left:0;border-left:2px solid var(--gold);clip-path:polygon(0 0,100% 0,45% 12%,12% 45%,0 100%);}
.ra-hero-frame:after{right:0;border-right:2px solid var(--gold);clip-path:polygon(0 0,100% 0,100% 100%,88% 45%,55% 12%);}
.ra-hero-inner{padding-top:76px;width:min(760px,calc(100% - 40px));}
.ra-kicker{font-size:15px;letter-spacing:.43em;margin-bottom:14px;}
.ra-kicker span{width:170px;background:linear-gradient(90deg,transparent,rgba(99,184,255,.8),transparent);}
.ra-hero-title{font-size:clamp(72px,6.2vw,98px);line-height:.90;letter-spacing:.035em;filter:drop-shadow(0 12px 18px rgba(0,0,0,.8));}
.ra-hero-title b{background:linear-gradient(180deg,#fff 0%,#f3f3f3 20%,#9a9a9c 45%,#3d3d41 74%,#f9f9f9 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1.15px rgba(255,255,255,.28);}
.ra-hero-title strong{background:linear-gradient(180deg,#ffffff 0%,#bfe4ff 28%,#63b8ff 55%,#275f9d 75%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1.1px rgba(255,225,135,.25);}
.ra-hero-intro{font-size:19px;line-height:1.45;margin:17px auto 24px;max-width:640px;}
.ra-hero-actions{gap:24px;}
.ra-btn{min-width:204px;height:52px;border-radius:4px;font-size:16px;}
.ra-btn-gold{box-shadow:0 0 24px rgba(99,184,255,.34), inset 0 1px 0 rgba(255,255,255,.6), inset 0 -2px 0 rgba(0,0,0,.18);}
.ra-btn-dark{border-color:rgba(99,184,255,.72);background:rgba(0,0,0,.50);}
.ra-service-strip{padding:22px 0 24px;background:linear-gradient(180deg,#06101c 0%,#0d1829 48%,#040a14 100%);}
.ra-service-tiles{gap:24px;}
.ra-service-tile{min-height:178px;padding:24px 16px;border-color:rgba(99,184,255,.74);background:radial-gradient(circle at 50% 0,rgba(255,255,255,.08),transparent 48%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),rgba(0,0,0,.78);}
.ra-tile-icon{height:70px;}
.ra-tile-icon svg{width:62px;height:62px;stroke-width:2.1;filter:drop-shadow(0 0 10px rgba(99,184,255,.18));}
.ra-service-tile h3{font-size:16px;line-height:1.18;}
.ra-service-tile i{width:44px;margin-top:15px;box-shadow:0 0 10px rgba(99,184,255,.5);}
.ra-about-band{padding:48px 0;background-position:center top;border-top:1px solid rgba(99,184,255,.35);}
.ra-two-col{grid-template-columns:42% 1fr;gap:48px;}
.ra-about-image img{height:295px;object-fit:cover;border:0;box-shadow:0 18px 60px rgba(0,0,0,.62);opacity:.92;}
.ra-mini{font-size:12px;letter-spacing:.32em;}
.ra-copy h2{font-size:clamp(32px,3.05vw,46px);line-height:1.1;margin-top:9px;}
.ra-copy p{font-size:15px;}
.ra-trust-cards{gap:14px;margin-top:24px;}
.ra-trust{min-height:74px;padding:12px 13px;background:rgba(0,0,0,.58);}
.ra-gallery-preview{padding:34px 0 44px;}
.ra-gallery-preview .ra-wrap{grid-template-columns:320px 1fr;gap:34px;}
.ra-before-imgs{height:150px;}
.ra-contact-strip{padding:30px 0 34px;}
.ra-contact-box>div{min-height:122px;padding:22px 30px;}
.ra-contact-box svg{width:44px;height:44px;}
.ra-footer{padding:22px 0 26px;}
@media(max-width:1050px){.ra-header-inner{grid-template-columns:130px 1fr 190px;height:92px}.ra-logo img{width:100px;max-height:78px}.ra-header-phone{min-width:178px}.ra-hero{min-height:520px}.ra-hero-inner{padding-top:72px}.ra-service-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ra-wrap{width:min(100% - 28px,640px)}.ra-header{position:relative}.ra-header-inner{grid-template-columns:86px 1fr;height:auto;min-height:82px;padding:9px 0}.ra-logo img{width:78px;max-height:70px}.ra-hero{min-height:650px;padding-top:0}.ra-bg{background-image:linear-gradient(rgba(0,0,0,.16),rgba(0,0,0,.48)),var(--ra-bg-mobile);background-position:center top}.ra-hero-inner{padding-top:64px}.ra-kicker{font-size:10px;letter-spacing:.25em}.ra-kicker span{width:46px}.ra-hero-title{font-size:clamp(47px,14vw,70px)}.ra-hero-intro{font-size:15.5px}.ra-service-tiles{grid-template-columns:1fr;gap:13px}.ra-service-tile{min-height:136px}.ra-two-col{grid-template-columns:1fr}.ra-gallery-preview .ra-wrap{grid-template-columns:1fr}.ra-contact-box{grid-template-columns:1fr}.ra-contact-box>div{border-right:0;border-bottom:1px solid rgba(99,184,255,.45)}.ra-contact-box>div:last-child{border-bottom:0}}


/* v4.2.0 premium alignment + card hover pass */
.ra-wrap{width:min(1240px,calc(100% - 56px));}
.ra-service-tiles,
.ra-trust-cards{align-items:stretch;}
.ra-service-tile,
.ra-trust,
.ra-before-card,
.ra-service-row,
.ra-contact-box,
.ra-contact-form,
.ra-about-image img{
  position:relative;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
}
.ra-service-tile,
.ra-trust,
.ra-before-card,
.ra-service-row,
.ra-contact-box,
.ra-contact-form{
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);
}
.ra-service-tile:hover,
.ra-trust:hover,
.ra-before-card:hover,
.ra-service-row:hover,
.ra-contact-box:hover,
.ra-contact-form:hover{
  border-color:rgba(223,242,255,.95);
  box-shadow:0 0 0 1px rgba(223,242,255,.45),0 0 28px rgba(99,184,255,.42),0 22px 48px rgba(0,0,0,.46),inset 0 0 34px rgba(99,184,255,.08);
  transform:translateY(-3px);
}
.ra-service-tile:hover .ra-tile-icon,
.ra-trust:hover b,
.ra-service-row:hover .ra-tile-icon{filter:drop-shadow(0 0 12px rgba(99,184,255,.6));}
.ra-service-tile:hover i{box-shadow:0 0 10px rgba(99,184,255,.55);}
.ra-service-tile{padding:28px 18px 24px;}
.ra-service-tile h3{display:flex;align-items:center;justify-content:center;min-height:48px;max-width:160px;margin:8px auto 0;}
.ra-trust{
  min-height:110px;
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),rgba(0,0,0,.55);
}
.ra-trust b{grid-row:auto;font-size:24px;line-height:1;}
.ra-trust span,.ra-trust small{display:block;width:100%;text-align:center;}
.ra-trust span{font-size:13px;line-height:1.15;}
.ra-trust small{font-size:12px;line-height:1.35;color:rgba(247,251,255,.88);}
.ra-about-page .ra-wrap{display:block;}
.ra-about-page .ra-copy{
  max-width:920px;
  margin:0 auto 34px;
  text-align:center;
}
.ra-about-page .ra-copy p,
.ra-about-page .ra-mini,
.ra-about-page .ra-page-title{text-align:center;}
.ra-about-page .ra-about-image{
  justify-content:center;
  max-width:980px;
  margin:0 auto 34px;
}
.ra-about-page .ra-about-image img{
  width:100%;
  height:360px;
  object-fit:cover;
  clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);
}
.ra-about-page .ra-trust-cards{
  width:100%;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:0;
}
.ra-contact-box>div,
.ra-contact-box p,
.ra-contact-box a,
.ra-contact-box .ra-mini{
  text-align:center;
}
.ra-contact-box>div{justify-content:center;}
.ra-before-card{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)),#06101c;}
.ra-service-row{overflow:hidden;}
.ra-service-row:hover img,.ra-before-card:hover img,.ra-about-image img:hover{filter:brightness(1.04) saturate(1.05);}
@media(max-width:1050px){
  .ra-wrap{width:min(100% - 34px,1100px);}
  .ra-about-page .ra-trust-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .ra-wrap{width:min(100% - 26px,640px);}
  .ra-about-page .ra-copy{margin-bottom:24px;}
  .ra-about-page .ra-about-image img{height:260px;}
  .ra-about-page .ra-trust-cards{grid-template-columns:1fr;gap:14px;}
}


/* v4.3.0 fixed background / content scroll pass */
.ra-bg{
  background-attachment:fixed;
}

.ra-about-band,
.ra-page-hero,
.ra-about-page,
.ra-contact-page{
  background-attachment:fixed;
}

/* Keep the premium background visually locked while page content moves */
.ra-hero{
  background:#040a14;
}

.ra-section,
.ra-service-strip,
.ra-gallery-preview,
.ra-contact-strip,
.ra-footer{
  position:relative;
  z-index:2;
}

/* iOS/mobile can stutter with background-attachment:fixed, so keep it stable with normal attachment on small screens */
@media(max-width:760px){
  .ra-bg,
  .ra-about-band,
  .ra-page-hero,
  .ra-about-page,
  .ra-contact-page{
    background-attachment:scroll;
  }
}


/* v4.4.0 high-end footer rebuild */
.ra-footer-premium{
  padding:44px 0 34px;
  background:
    radial-gradient(700px 180px at 50% 0%, rgba(99,184,255,.13), transparent 70%),
    linear-gradient(180deg,#08111f 0%,#040913 100%);
  border-top:1px solid rgba(99,184,255,.58);
  text-align:left;
  position:relative;
  overflow:hidden;
}
.ra-footer-premium:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(223,242,255,.9),transparent);
  box-shadow:0 0 24px rgba(99,184,255,.55);
}
.ra-footer-premium:after{
  content:"";
  position:absolute;
  inset:auto -10% 0 -10%;
  height:140px;
  background:
    radial-gradient(circle at 15% 100%, rgba(99,184,255,.10), transparent 36%),
    radial-gradient(circle at 85% 100%, rgba(99,184,255,.08), transparent 36%);
  pointer-events:none;
}
.ra-footer-frame{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.1fr 1.4fr 1.1fr;
  align-items:center;
  gap:28px;
  padding:24px 28px;
  border:1px solid rgba(99,184,255,.68);
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),
    rgba(0,0,0,.62);
  clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);
  box-shadow:
    0 0 0 1px rgba(99,184,255,.10),
    0 24px 60px rgba(0,0,0,.55),
    inset 0 0 42px rgba(99,184,255,.055);
}
.ra-footer-frame:hover{
  border-color:rgba(223,242,255,.95);
  box-shadow:
    0 0 0 1px rgba(223,242,255,.32),
    0 0 30px rgba(99,184,255,.34),
    0 24px 60px rgba(0,0,0,.55),
    inset 0 0 42px rgba(99,184,255,.08);
}
.ra-footer-brand{
  display:flex;
  align-items:center;
  gap:16px;
}
.ra-footer-logo img{
  width:70px;
  height:70px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 16px rgba(99,184,255,.35));
}
.ra-footer-brand strong{
  display:block;
  font-family:var(--font-head);
  font-size:23px;
  line-height:1;
  color:#fff;
  letter-spacing:.03em;
}
.ra-footer-brand span{
  display:block;
  margin-top:7px;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.ra-footer-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 26px;
}
.ra-footer-menu a{
  position:relative;
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  padding:10px 0;
  transition:color .2s ease, text-shadow .2s ease;
}
.ra-footer-menu a:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:3px;
  width:0;
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
  transition:width .2s ease;
}
.ra-footer-menu a:hover{
  color:var(--gold2);
  text-shadow:0 0 14px rgba(99,184,255,.42);
}
.ra-footer-menu a:hover:after{
  width:100%;
}
.ra-footer-contact{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:13px;
}
.ra-footer-call{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 20px;
  border:1px solid rgba(223,242,255,.76);
  border-radius:5px;
  background:linear-gradient(180deg,#eff8ff 0%,#72b9ff 52%,#1a4d8a 100%);
  color:#07111d!important;
  text-decoration:none;
  font-size:14px;
  font-weight:950;
  box-shadow:0 0 24px rgba(99,184,255,.26), inset 0 1px 0 rgba(255,255,255,.5);
}
.ra-footer-call svg{
  width:17px;
  height:17px;
  fill:#07111d;
}
.ra-footer-social{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(99,184,255,.65);
  border-radius:999px;
  background:rgba(0,0,0,.38);
  box-shadow:inset 0 0 22px rgba(99,184,255,.08);
}
.ra-footer-social svg{
  width:23px;
  height:23px;
  fill:var(--gold);
}
.ra-footer-bottom{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 6px 0;
  color:rgba(247,251,255,.66);
  font-size:13px;
}
.ra-footer-bottom p{
  margin:0;
}
.ra-footer-bottom a{
  color:var(--gold);
  font-weight:800;
  text-decoration:none;
}
.ra-footer-bottom a:hover{
  color:var(--gold2);
  text-shadow:0 0 12px rgba(99,184,255,.38);
}

@media(max-width:1050px){
  .ra-footer-frame{
    grid-template-columns:1fr;
    text-align:center;
  }
  .ra-footer-brand,
  .ra-footer-contact{
    justify-content:center;
  }
}
@media(max-width:760px){
  .ra-footer-premium{
    padding:34px 0 28px;
  }
  .ra-footer-frame{
    padding:22px 18px;
    gap:20px;
  }
  .ra-footer-brand{
    flex-direction:column;
  }
  .ra-footer-menu{
    flex-direction:column;
    gap:2px;
  }
  .ra-footer-contact{
    flex-direction:column;
  }
  .ra-footer-call{
    width:100%;
  }
  .ra-footer-bottom{
    flex-direction:column;
    text-align:center;
  }
}


/* v4.5.0 premium footer redesign + remove old contact strip */
.ra-contact-strip{
  display:none!important;
}

.ra-footer-premium-v2{
  position:relative;
  overflow:hidden;
  padding:54px 0 34px;
  text-align:left;
  background:
    radial-gradient(900px 220px at 50% 0%, rgba(99,184,255,.16), transparent 70%),
    radial-gradient(420px 160px at 8% 100%, rgba(99,184,255,.08), transparent 70%),
    radial-gradient(420px 160px at 92% 100%, rgba(99,184,255,.08), transparent 70%),
    linear-gradient(180deg,#07111d 0%,#010101 100%);
  border-top:1px solid rgba(99,184,255,.75);
}
.ra-footer-premium-v2:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(223,242,255,.95),rgba(99,184,255,.55),transparent);
  box-shadow:0 0 34px rgba(99,184,255,.6);
}
.ra-footer-premium-v2:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(90deg,transparent 0%,rgba(99,184,255,.18) 50%,transparent 100%),
    repeating-linear-gradient(90deg,transparent 0 88px,rgba(99,184,255,.05) 89px,transparent 90px);
}

.ra-footer-main{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.4fr .75fr 1.05fr .65fr;
  gap:34px;
  align-items:stretch;
  padding:34px;
  border:1px solid rgba(99,184,255,.72);
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),
    rgba(0,0,0,.66);
  clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 22px,100% calc(100% - 22px),calc(100% - 22px) 100%,22px 100%,0 calc(100% - 22px),0 22px);
  box-shadow:
    0 26px 76px rgba(0,0,0,.62),
    0 0 0 1px rgba(223,242,255,.08),
    inset 0 0 54px rgba(99,184,255,.06);
}
.ra-footer-main:hover{
  border-color:rgba(223,242,255,.96);
  box-shadow:
    0 0 0 1px rgba(223,242,255,.32),
    0 0 38px rgba(99,184,255,.32),
    0 26px 76px rgba(0,0,0,.62),
    inset 0 0 54px rgba(99,184,255,.09);
}

.ra-footer-brand-block,
.ra-footer-links-block,
.ra-footer-contact-block,
.ra-footer-actions-block{
  position:relative;
}
.ra-footer-brand-block,
.ra-footer-links-block,
.ra-footer-contact-block{
  border-right:1px solid rgba(99,184,255,.34);
  padding-right:28px;
}
.ra-footer-brand-block{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:20px;
  align-items:center;
}
.ra-footer-logo-large{
  width:96px;
  height:96px;
  display:grid;
  place-items:center;
  border:1px solid rgba(99,184,255,.42);
  background:rgba(0,0,0,.35);
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
  box-shadow:inset 0 0 28px rgba(99,184,255,.08);
}
.ra-footer-logo-large img{
  width:82px;
  height:82px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 18px rgba(99,184,255,.38));
}
.ra-footer-brand-copy strong{
  display:block;
  font-family:var(--font-head);
  color:#fff;
  font-size:29px;
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.ra-footer-brand-copy span{
  display:block;
  margin:9px 0 12px;
  color:var(--gold);
  font-size:12px;
  font-weight:950;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.ra-footer-brand-copy p{
  max-width:430px;
  margin:0;
  color:rgba(247,251,255,.70);
  font-size:14px;
  line-height:1.55;
}

.ra-footer-main h3{
  margin:0 0 18px;
  color:var(--gold2);
  font-size:12px;
  font-weight:950;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.ra-footer-links{
  display:grid;
  gap:10px;
}
.ra-footer-links a{
  width:max-content;
  position:relative;
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-size:13px;
  font-weight:900;
  letter-spacing:.10em;
  padding:3px 0 7px 18px;
}
.ra-footer-links a:before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  border:1px solid var(--gold);
  transform:rotate(45deg);
}
.ra-footer-links a:after{
  content:"";
  position:absolute;
  left:18px;
  bottom:2px;
  width:0;
  height:1px;
  background:linear-gradient(90deg,var(--gold2),transparent);
  transition:width .2s ease;
}
.ra-footer-links a:hover{
  color:var(--gold2);
  text-shadow:0 0 14px rgba(99,184,255,.4);
}
.ra-footer-links a:hover:after{
  width:calc(100% - 18px);
}

.ra-footer-contact-block p{
  margin:0 0 14px;
  color:rgba(247,251,255,.78);
  font-size:14px;
  line-height:1.62;
}
.ra-footer-phone-text{
  display:inline-flex;
  color:#fff;
  text-decoration:none;
  font-weight:950;
  font-size:21px;
  letter-spacing:.04em;
}
.ra-footer-phone-text:hover{
  color:var(--gold2);
  text-shadow:0 0 14px rgba(99,184,255,.45);
}

.ra-footer-actions-block{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  gap:14px;
}
.ra-footer-cta{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 20px;
  border:1px solid rgba(223,242,255,.88);
  border-radius:5px;
  background:linear-gradient(180deg,#ffe79e 0%,#72b9ff 52%,#8f641f 100%);
  color:#06101c!important;
  text-decoration:none;
  font-size:15px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 0 28px rgba(99,184,255,.34), inset 0 1px 0 rgba(255,255,255,.52);
}
.ra-footer-cta svg{
  width:20px;
  height:20px;
  fill:#06101c;
}
.ra-footer-facebook{
  min-height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(99,184,255,.72);
  background:rgba(0,0,0,.38);
  text-decoration:none;
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);
  box-shadow:inset 0 0 26px rgba(99,184,255,.08);
}
.ra-footer-facebook svg{
  width:26px;
  height:26px;
  fill:var(--gold);
}
.ra-footer-cta:hover,
.ra-footer-facebook:hover{
  transform:translateY(-2px);
  box-shadow:0 0 30px rgba(99,184,255,.45), inset 0 0 26px rgba(99,184,255,.08);
}

.ra-footer-lower{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:22px 4px 0;
  color:rgba(247,251,255,.62);
  font-size:13px;
}
.ra-footer-lower p{
  margin:0;
}
.ra-footer-lower a{
  color:var(--gold);
  font-weight:900;
  text-decoration:none;
}
.ra-footer-lower a:hover{
  color:var(--gold2);
  text-shadow:0 0 12px rgba(99,184,255,.42);
}

@media(max-width:1100px){
  .ra-footer-main{
    grid-template-columns:1fr 1fr;
  }
  .ra-footer-brand-block,
  .ra-footer-links-block{
    border-right:1px solid rgba(99,184,255,.34);
  }
  .ra-footer-contact-block{
    border-right:0;
  }
}
@media(max-width:760px){
  .ra-footer-premium-v2{
    padding:38px 0 28px;
  }
  .ra-footer-main{
    grid-template-columns:1fr;
    gap:24px;
    padding:24px 20px;
  }
  .ra-footer-brand-block,
  .ra-footer-links-block,
  .ra-footer-contact-block{
    border-right:0;
    border-bottom:1px solid rgba(99,184,255,.28);
    padding-right:0;
    padding-bottom:22px;
    text-align:center;
  }
  .ra-footer-brand-block{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .ra-footer-brand-copy p{
    margin:0 auto;
  }
  .ra-footer-links{
    justify-items:center;
  }
  .ra-footer-actions-block{
    align-items:stretch;
  }
  .ra-footer-lower{
    flex-direction:column;
    text-align:center;
  }
}


/* v4.6.0 seamless gallery carousel */
.ra-recent-work-carousel,
.ra-gallery-carousel-page{
  padding:46px 0 58px;
  overflow:hidden;
  background:
    radial-gradient(600px 200px at 50% 0%, rgba(99,184,255,.10), transparent 70%),
    #040a14;
}
.ra-section-head-centered{
  text-align:center;
  margin-bottom:28px;
}
.ra-section-head-centered h2{
  margin-left:auto;
  margin-right:auto;
}
.ra-carousel-shell{
  width:100%;
  overflow:hidden;
  position:relative;
  padding:10px 0 16px;
}
.ra-carousel-shell:before,
.ra-carousel-shell:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:min(160px,12vw);
  z-index:3;
  pointer-events:none;
}
.ra-carousel-shell:before{
  left:0;
  background:linear-gradient(90deg,#040a14,transparent);
}
.ra-carousel-shell:after{
  right:0;
  background:linear-gradient(270deg,#040a14,transparent);
}
.ra-gallery-carousel-track{
  display:flex;
  gap:22px;
  width:max-content;
  animation:raGalleryMarquee 42s linear infinite;
  will-change:transform;
}
.ra-carousel-shell:hover .ra-gallery-carousel-track{
  animation-play-state:paused;
}
.ra-gallery-slide{
  flex:0 0 310px;
  height:210px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(99,184,255,.72);
  background:#06101c;
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);
  box-shadow:0 18px 46px rgba(0,0,0,.46), inset 0 0 28px rgba(99,184,255,.05);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ra-gallery-slide:hover{
  transform:translateY(-4px);
  border-color:rgba(223,242,255,.95);
  box-shadow:0 0 0 1px rgba(223,242,255,.36),0 0 30px rgba(99,184,255,.42),0 24px 54px rgba(0,0,0,.55),inset 0 0 34px rgba(99,184,255,.08);
}
.ra-gallery-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.05) contrast(1.05);
  transition:transform .28s ease, filter .28s ease;
}
.ra-gallery-slide:hover img{
  transform:scale(1.045);
  filter:saturate(1.12) contrast(1.08) brightness(1.04);
}
.ra-gallery-slide:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.76));
  pointer-events:none;
}
.ra-gallery-slide span{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:2;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  text-shadow:0 2px 12px #000;
}
.ra-carousel-shell-large .ra-gallery-slide{
  flex-basis:360px;
  height:250px;
}
@keyframes raGalleryMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 11px));}
}
@media(max-width:760px){
  .ra-recent-work-carousel,
  .ra-gallery-carousel-page{
    padding:34px 0 44px;
  }
  .ra-gallery-carousel-track{
    gap:14px;
    animation-duration:34s;
  }
  .ra-gallery-slide,
  .ra-carousel-shell-large .ra-gallery-slide{
    flex-basis:245px;
    height:175px;
  }
  .ra-carousel-shell:before,
  .ra-carousel-shell:after{
    width:48px;
  }
}
@media(prefers-reduced-motion:reduce){
  .ra-gallery-carousel-track{
    animation:none;
  }
}


/* v4.7.0 working contact form */
.ra-contact-form h2{
  margin:0 0 18px;
  color:#fff;
  font-family:var(--font-head);
  font-size:28px;
  line-height:1.1;
  text-transform:uppercase;
}
.ra-form-alert{
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid rgba(99,184,255,.65);
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:14px;
  line-height:1.45;
}
.ra-form-alert-success{
  border-color:rgba(99,184,255,.9);
  box-shadow:0 0 18px rgba(99,184,255,.18);
}
.ra-form-alert-error{
  border-color:rgba(255,80,80,.75);
  box-shadow:0 0 18px rgba(255,80,80,.13);
}
.ra-honeypot{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.ra-form-note{
  margin:13px 0 0!important;
  color:rgba(247,251,255,.58)!important;
  font-size:12px!important;
  line-height:1.45!important;
  text-align:center;
}
.ra-contact-form button{
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.ra-contact-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 0 26px rgba(99,184,255,.36);
  filter:brightness(1.04);
}


/* v4.8.0 GDPR consent checkbox */
.ra-form-note{
  display:none!important;
}
.ra-gdpr-check{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:11px;
  align-items:flex-start;
  margin:2px 0 16px;
  padding:13px 14px;
  border:1px solid rgba(99,184,255,.48);
  background:rgba(0,0,0,.35);
  color:rgba(247,251,255,.82);
  font-size:13px;
  line-height:1.45;
  cursor:pointer;
}
.ra-gdpr-check input{
  width:18px!important;
  height:18px!important;
  margin:1px 0 0!important;
  accent-color:#63b8ff;
}
.ra-gdpr-check span{
  display:block;
}
.ra-gdpr-check:hover{
  border-color:rgba(223,242,255,.82);
  box-shadow:0 0 18px rgba(99,184,255,.16);
}


/* v4.9.0 mobile header + hero typography polish */
@media(max-width:760px){
  .admin-bar .ra-header{
    top:0;
  }

  .ra-header{
    position:sticky;
    top:0;
    background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.88));
    border-bottom:1px solid rgba(99,184,255,.55);
    box-shadow:0 12px 32px rgba(0,0,0,.62);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .ra-header-inner{
    min-height:82px;
    height:auto;
    display:grid;
    grid-template-columns:76px 1fr auto;
    align-items:center;
    gap:10px;
    padding:10px 0;
  }

  .ra-logo{
    display:flex;
    align-items:center;
  }

  .ra-logo img{
    width:58px!important;
    max-height:58px!important;
    object-fit:contain;
    background:transparent!important;
    filter:drop-shadow(0 0 14px rgba(99,184,255,.35));
  }

  .ra-menu-toggle{
    display:inline-flex;
    grid-column:3;
    grid-row:1;
    justify-self:end;
    align-items:center;
    justify-content:center;
    min-width:82px;
    height:42px;
    padding:0 16px;
    border:1px solid rgba(99,184,255,.68);
    background:rgba(0,0,0,.34);
    color:#fff;
    border-radius:0;
    text-transform:uppercase;
    font-size:12px;
    font-weight:950;
    letter-spacing:.08em;
    box-shadow:inset 0 0 22px rgba(99,184,255,.08),0 0 16px rgba(0,0,0,.5);
  }

  .ra-header-phone{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    width:auto!important;
    min-width:82px!important;
    height:42px!important;
    padding:0 16px!important;
    margin:0;
    gap:8px;
    font-size:0!important;
    border-radius:0;
    white-space:nowrap;
    box-shadow:0 0 18px rgba(99,184,255,.25), inset 0 1px 0 rgba(255,255,255,.42);
  }

  .ra-header-phone:after{
    content:"Call";
    font-size:12px;
    line-height:1;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .ra-header-phone svg{
    width:16px!important;
    height:16px!important;
  }

  .ra-nav{
    grid-column:1/-1;
    grid-row:2;
    display:none;
    margin-top:8px;
    padding:8px;
    gap:0;
    border:1px solid rgba(99,184,255,.36);
    background:rgba(0,0,0,.72);
    box-shadow:inset 0 0 28px rgba(99,184,255,.06);
  }

  .ra-header.is-open .ra-nav{
    display:grid;
  }

  .ra-nav a,
  .ra-nav li a{
    display:block;
    width:100%;
    padding:14px 10px!important;
    text-align:center;
    border-bottom:1px solid rgba(99,184,255,.14);
    font-size:12px;
    letter-spacing:.11em;
  }

  .ra-nav a:after{
    bottom:6px;
  }

  .ra-nav a:last-child,
  .ra-nav li:last-child a{
    border-bottom:0;
  }

  .ra-hero{
    min-height:calc(100svh - 82px);
    padding-top:0;
    align-items:center;
  }

  .ra-hero-inner{
    width:min(100% - 28px,460px);
    padding:34px 18px 28px;
    background:radial-gradient(circle at 50% 46%,rgba(0,0,0,.58),rgba(0,0,0,.28) 58%,transparent 100%);
  }

  .ra-kicker{
    margin-bottom:15px;
    font-size:10px;
    letter-spacing:.23em;
    gap:9px;
    white-space:nowrap;
  }

  .ra-kicker span{
    width:38px;
  }

  .ra-hero-title{
    font-size:clamp(49px,13.6vw,66px)!important;
    line-height:.94;
    letter-spacing:.018em;
    text-shadow:0 5px 0 rgba(0,0,0,.55),0 0 24px rgba(99,184,255,.16);
  }

  .ra-hero-title b{
    background:linear-gradient(180deg,#fff 0%,#ececec 38%,#9b9b9b 72%,#ffffff 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-stroke:.45px rgba(255,255,255,.22);
  }

  .ra-hero-title strong{
    background:linear-gradient(180deg,#ffffff 0%,#e0b44d 42%,#9a6a1f 74%,#ffe798 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-stroke:.35px rgba(223,242,255,.18);
  }

  .ra-hero-intro{
    max-width:360px;
    margin:18px auto 24px;
    font-size:15px;
    line-height:1.48;
    color:rgba(255,255,255,.88);
  }

  .ra-hero-actions{
    gap:12px;
  }

  .ra-btn{
    width:min(330px,100%);
    min-width:0;
    height:54px;
    border-radius:0;
    font-size:15px;
  }

  .ra-btn-dark{
    background:rgba(0,0,0,.56);
  }
}

@media(max-width:380px){
  .ra-header-inner{
    grid-template-columns:62px 1fr auto;
  }
  .ra-logo img{
    width:50px!important;
    max-height:50px!important;
  }
  .ra-header-phone{
    min-width:72px!important;
    padding:0 12px!important;
  }
  .ra-menu-toggle{
    min-width:72px;
    padding:0 12px;
  }
  .ra-hero-title{
    font-size:clamp(43px,13vw,58px)!important;
  }
}


/* v5.1.0 mobile hero text refinement */
@media(max-width:760px){
  .ra-hero-title{
    font-family:var(--font-head)!important;
    font-size:clamp(24px,7.6vw,36px)!important;
    line-height:1.04!important;
    letter-spacing:.01em!important;
    font-weight:800!important;
    color:#f5f1e8!important;
    text-transform:uppercase!important;
    text-shadow:0 3px 18px rgba(0,0,0,.88)!important;
    max-width:320px;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .ra-hero-title b,
  .ra-hero-title strong{
    display:block;
    color:#f5f1e8!important;
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    -webkit-text-stroke:0!important;
    text-shadow:inherit!important;
  }

  .ra-hero-title strong{
    margin-top:2px;
  }

  .ra-kicker{
    color:var(--gold)!important;
  }
}

/* Stop the contact form global input styling making the GDPR checkbox oversized */
.ra-contact-form .ra-gdpr-check input[type="checkbox"]{
  -webkit-appearance:checkbox!important;
  appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:2px 0 0!important;
  border:1px solid rgba(99,184,255,.78)!important;
  border-radius:3px!important;
  background:#111!important;
  box-shadow:none!important;
  display:inline-block!important;
  flex:0 0 18px!important;
  accent-color:#63b8ff;
}

.ra-gdpr-check{
  grid-template-columns:18px 1fr!important;
  gap:10px!important;
  align-items:flex-start!important;
}

.ra-gdpr-check span{
  font-size:13px;
  line-height:1.42;
}


/* v5.2.0 reduce mobile hero top spacing */
@media(max-width:760px){
  .ra-hero{
    min-height:620px!important;
    align-items:flex-start!important;
  }

  .ra-hero-inner{
    padding-top:92px!important;
    padding-bottom:24px!important;
  }

  .ra-hero-frame{
    inset:8px!important;
  }
}

@media(max-width:390px){
  .ra-hero{
    min-height:590px!important;
  }

  .ra-hero-inner{
    padding-top:78px!important;
  }
}


/* v5.3.0 desktop + tablet hero text match mobile white serif style */
@media (min-width:761px){
  .ra-hero-title{
    font-family:var(--font-head)!important;
    font-size:clamp(46px,5.4vw,78px)!important;
    line-height:1.02!important;
    letter-spacing:.01em!important;
    font-weight:800!important;
    color:#f5f1e8!important;
    text-transform:uppercase!important;
    text-shadow:0 3px 18px rgba(0,0,0,.88)!important;
    max-width:760px;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .ra-hero-title b,
  .ra-hero-title strong{
    display:block;
    color:#f5f1e8!important;
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    -webkit-text-stroke:0!important;
    text-shadow:inherit!important;
    filter:none!important;
  }

  .ra-hero-title strong{
    margin-top:4px;
  }
}

@media (min-width:761px) and (max-width:1024px){
  .ra-hero-title{
    font-size:clamp(42px,5vw,64px)!important;
    max-width:680px;
  }
}


/* v5.4.0 editable icon support */
.ra-custom-icon-text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-size:34px;
  line-height:1;
  font-weight:900;
  filter:drop-shadow(0 0 12px rgba(99,184,255,.35));
}
.ra-trust b svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
}
.ra-trust b svg path,
.ra-trust b svg circle{
  fill:none;
  stroke:currentColor;
}
.ra-footer-logo-large + .ra-footer-brand-copy{}
.ra-footer-cta svg path,
.ra-footer-facebook svg path,
.ra-header-phone svg path{
  stroke:none;
}


/* v5.5.0 emoji picker/icon output polish */
.ra-custom-icon-text{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
}
.ra-tile-icon .ra-custom-icon-text{
  font-size:48px;
}
.ra-footer-facebook .ra-custom-icon-text,
.ra-footer-cta .ra-custom-icon-text,
.ra-header-phone .ra-custom-icon-text{
  font-size:20px;
  color:inherit;
  filter:none;
}


/* v5.5.1 CTA overlap spacing fix */
.ra-hero-inner{
  padding-bottom:44px!important;
}
.ra-hero-actions{
  margin-bottom:22px!important;
}
.ra-service-strip{
  padding-top:30px!important;
}

@media (min-width:761px) and (max-width:1150px){
  .ra-hero-inner{
    padding-bottom:52px!important;
  }
  .ra-hero-actions{
    margin-bottom:26px!important;
  }
}

@media(max-width:760px){
  .ra-hero-inner{
    padding-bottom:28px!important;
  }
  .ra-hero-actions{
    margin-bottom:8px!important;
  }
  .ra-service-strip{
    padding-top:22px!important;
  }
}


/* v5.6.0 sitewide unified icon system */
.ra-tile-icon,
.ra-trust b,
.ra-contact-box svg,
.ra-header-phone,
.ra-btn,
.ra-footer-cta,
.ra-footer-facebook{
  transition:filter .22s ease, color .22s ease, text-shadow .22s ease, transform .22s ease;
}

.ra-tile-icon svg,
.ra-trust b svg,
.ra-service-row .ra-tile-icon svg,
.ra-contact-box svg,
.ra-header-phone svg,
.ra-btn svg,
.ra-footer-cta svg,
.ra-footer-facebook svg{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.15 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 8px rgba(99,184,255,.12));
  transition:filter .22s ease, transform .22s ease, color .22s ease;
}

.ra-tile-icon,
.ra-service-row .ra-tile-icon,
.ra-trust b,
.ra-contact-box svg{
  color:var(--gold);
}

.ra-tile-icon .ra-custom-icon-text,
.ra-trust b .ra-custom-icon-text,
.ra-service-row .ra-tile-icon .ra-custom-icon-text,
.ra-contact-box .ra-custom-icon-text{
  color:var(--gold);
  filter:drop-shadow(0 0 8px rgba(99,184,255,.12));
  transition:filter .22s ease, transform .22s ease, color .22s ease;
}

.ra-contact-box svg{
  width:38px !important;
  height:38px !important;
  flex:0 0 38px !important;
}

.ra-header-phone svg,
.ra-btn svg,
.ra-footer-cta svg,
.ra-footer-facebook svg{
  width:19px !important;
  height:19px !important;
}

.ra-service-row .ra-tile-icon{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ra-service-row .ra-tile-icon svg{
  width:58px;
  height:58px;
}

.ra-service-row .ra-tile-icon .ra-custom-icon-text{
  font-size:44px;
}

.ra-service-tile:hover .ra-tile-icon,
.ra-service-row:hover .ra-tile-icon,
.ra-trust:hover b,
.ra-contact-box > div:hover svg,
.ra-header-phone:hover svg,
.ra-btn:hover svg,
.ra-footer-cta:hover svg,
.ra-footer-facebook:hover svg,
.ra-service-tile:hover .ra-custom-icon-text,
.ra-service-row:hover .ra-custom-icon-text,
.ra-trust:hover .ra-custom-icon-text,
.ra-contact-box > div:hover .ra-custom-icon-text,
.ra-header-phone:hover .ra-custom-icon-text,
.ra-btn:hover .ra-custom-icon-text,
.ra-footer-cta:hover .ra-custom-icon-text,
.ra-footer-facebook:hover .ra-custom-icon-text{
  filter:drop-shadow(0 0 14px rgba(99,184,255,.78)) drop-shadow(0 0 24px rgba(99,184,255,.38));
}

.ra-service-tile:hover .ra-tile-icon svg,
.ra-service-row:hover .ra-tile-icon svg,
.ra-trust:hover b svg,
.ra-contact-box > div:hover svg,
.ra-header-phone:hover svg,
.ra-btn:hover svg,
.ra-footer-cta:hover svg,
.ra-footer-facebook:hover svg{
  transform:scale(1.04);
}

.ra-trust:hover b,
.ra-service-tile:hover .ra-tile-icon,
.ra-service-row:hover .ra-tile-icon{
  color:var(--gold2);
}

.ra-btn-gold:hover svg,
.ra-footer-cta:hover svg,
.ra-header-phone:hover svg{
  color:#07111d;
}

.ra-btn-dark:hover svg,
.ra-footer-facebook:hover svg{
  color:#fff;
}

.ra-contact-box > div:hover{
  box-shadow:inset 0 0 28px rgba(99,184,255,.06);
}

.ra-contact-box > div:hover p,
.ra-contact-box > div:hover a{
  text-shadow:0 0 10px rgba(99,184,255,.16);
}


/* UK Respray v1.0.0 polish */
.ra-hero-title strong{color:#dff2ff!important;background:none!important;-webkit-text-fill-color:#dff2ff!important;}
.ra-kicker,.ra-mini,.ra-service-row h2,.ra-footer h3,.ra-footer-brand-copy span{color:#8cc8ff!important;}
.ra-service-tile i{background:#8cc8ff!important;box-shadow:0 0 10px rgba(94,224,178,.45)!important;}
.ra-bg,.ra-about-band,.ra-page-hero,.ra-about-page,.ra-contact-page{filter:saturate(1.08) contrast(1.04);}
.ra-service-tile:hover,.ra-trust:hover,.ra-service-row:hover,.ra-gallery-slide:hover,.ra-contact-form:hover,.ra-footer-main:hover{box-shadow:0 0 0 1px rgba(223,242,255,.34),0 0 28px rgba(99,184,255,.38),0 20px 52px rgba(0,0,0,.5)!important;}


/* v1.1.0 blue + white premium respray theme pass */
.ra-bg{background-image:linear-gradient(rgba(4,10,20,.34),rgba(4,10,20,.48)),var(--ra-bg-desktop)!important;background-position:center center!important;}
.ra-kicker{color:#dff2ff!important;text-shadow:0 0 18px rgba(99,184,255,.35)!important;}
.ra-kicker span{background:linear-gradient(90deg,transparent,#63b8ff,transparent)!important;}
.ra-hero-title b{background:linear-gradient(180deg,#ffffff 0%,#edf7ff 30%,#8fb2d2 64%,#ffffff 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-stroke:1px rgba(255,255,255,.24)!important;}
.ra-hero-title strong{background:linear-gradient(180deg,#ffffff 0%,#dff2ff 30%,#7dc1ff 65%,#ffffff 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-stroke:1px rgba(223,242,255,.22)!important;}
.ra-header-phone,.ra-btn-gold{background:linear-gradient(180deg,#eff8ff 0%,#72b9ff 48%,#1f5fa8 100%)!important;color:#08111f!important;box-shadow:0 0 28px rgba(99,184,255,.32),inset 0 1px 0 rgba(255,255,255,.58)!important;border-color:#9dd0ff!important;}
.ra-header-phone svg,.ra-btn-gold svg{fill:#08111f!important;stroke:#08111f!important;}
.ra-btn-dark{background:rgba(7,17,31,.46)!important;border-color:rgba(99,184,255,.54)!important;box-shadow:inset 0 0 24px rgba(99,184,255,.08)!important;}
.ra-service-strip{background:linear-gradient(180deg,#08111f 0%,#07101a 48%,#040a14 100%)!important;}
.ra-service-tile,.ra-trust,.ra-before-card,.ra-service-row,.ra-contact-box,.ra-contact-form,.ra-footer-premium,.ra-footer-main{border-color:rgba(99,184,255,.48)!important;}
.ra-service-tile:hover,.ra-trust:hover,.ra-before-card:hover,.ra-service-row:hover,.ra-contact-box:hover,.ra-contact-form:hover{box-shadow:0 0 0 1px rgba(223,242,255,.4),0 0 28px rgba(99,184,255,.34),0 22px 48px rgba(0,0,0,.46)!important;}
.ra-service-tile i,.ra-service-tile:hover i{background:#63b8ff!important;box-shadow:0 0 12px rgba(99,184,255,.5)!important;}
.ra-mini,.ra-copy h2 span,.ra-footer-brand-copy span,.ra-nav a:hover,.ra-nav .current-menu-item a{color:#dff2ff!important;}
.ra-about-band,.ra-page-hero,.ra-about-page,.ra-contact-page{background-position:center center!important;background-size:cover!important;}
.ra-footer-premium{background:radial-gradient(700px 180px at 50% 0%, rgba(99,184,255,.14), transparent 70%),linear-gradient(180deg,#08111f 0%,#040a14 100%)!important;border-top:1px solid rgba(99,184,255,.48)!important;}
.ra-footer-premium:before{background:linear-gradient(90deg,transparent,rgba(223,242,255,.92),transparent)!important;box-shadow:0 0 24px rgba(99,184,255,.45)!important;}
.ra-custom-icon-text,.ra-tile-icon,.ra-trust b,.ra-contact-box svg{color:#dff2ff!important;}
.ra-service-tile:hover .ra-tile-icon,.ra-trust:hover b,.ra-service-row:hover .ra-tile-icon,.ra-contact-box > div:hover svg,.ra-header-phone:hover svg,.ra-btn:hover svg,.ra-footer-cta:hover svg,.ra-footer-facebook:hover svg,.ra-service-tile:hover .ra-custom-icon-text,.ra-service-row:hover .ra-custom-icon-text,.ra-trust:hover .ra-custom-icon-text,.ra-contact-box > div:hover .ra-custom-icon-text,.ra-header-phone:hover .ra-custom-icon-text,.ra-btn:hover .ra-custom-icon-text,.ra-footer-cta:hover .ra-custom-icon-text,.ra-footer-facebook:hover .ra-custom-icon-text{filter:drop-shadow(0 0 14px rgba(99,184,255,.82)) drop-shadow(0 0 24px rgba(223,242,255,.36))!important;}
@media(max-width:760px){
  .ra-bg{background-image:linear-gradient(rgba(4,10,20,.26),rgba(4,10,20,.52)),var(--ra-bg-mobile)!important;background-position:center center!important;}
}


/* v1.1.2 Performance Marketing footer credit */
.ra-footer-performance{
  border-top:1px solid rgba(223,242,255,.16);
  margin-top:18px;
  padding-top:20px;
}
.ra-performance-credit{
  color:rgba(247,251,255,.72)!important;
  letter-spacing:.02em;
}
.ra-performance-credit a{
  color:#dff2ff!important;
  font-weight:900;
  text-decoration:none;
  text-shadow:0 0 14px rgba(99,184,255,.28);
}
.ra-performance-credit a:hover{
  color:#ffffff!important;
  text-shadow:0 0 18px rgba(99,184,255,.55);
}


/* =========================================================
   UK Respray v2.0.0 — completely different bright website
   ========================================================= */
:root{
  --upvc-blue:#1167d8;
  --upvc-blue-2:#48a8ff;
  --upvc-navy:#071d3a;
  --upvc-ink:#102033;
  --upvc-soft:#eef7ff;
  --upvc-white:#ffffff;
  --upvc-line:rgba(17,103,216,.16);
  --upvc-shadow:0 24px 70px rgba(8,32,64,.14);
}

html,body{
  background:#f7fbff!important;
  color:var(--upvc-ink)!important;
}

body:before{
  display:none!important;
}

.ra-site.upvc-clean-site{
  background:#f7fbff!important;
  color:var(--upvc-ink)!important;
}

.ra-wrap{
  width:min(1180px,calc(100% - 42px))!important;
}

/* Header: bright glass bar */
.ra-header.upvc-header{
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid rgba(17,103,216,.12)!important;
  box-shadow:0 12px 42px rgba(10,42,80,.08)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

.admin-bar .upvc-header{
  top:32px!important;
}

.upvc-header-inner{
  height:86px!important;
  display:grid!important;
  grid-template-columns:220px 1fr auto auto!important;
  gap:22px!important;
  align-items:center!important;
}

.upvc-logo{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  text-decoration:none!important;
}

.upvc-logo img{
  width:auto!important;
  max-width:150px!important;
  max-height:58px!important;
  object-fit:contain!important;
  filter:none!important;
}

.upvc-logo-mark{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,var(--upvc-blue),var(--upvc-blue-2));
  color:#fff;
  font-weight:950;
  font-size:12px;
  box-shadow:0 12px 30px rgba(17,103,216,.28);
}

.upvc-logo-text{
  color:var(--upvc-navy);
  font-weight:950;
  font-size:21px;
  letter-spacing:-.03em;
}

.ra-nav.upvc-nav{
  display:flex!important;
  justify-content:center!important;
  gap:8px!important;
}

.upvc-nav li{
  list-style:none!important;
}

.upvc-nav a{
  color:var(--upvc-navy)!important;
  text-decoration:none!important;
  text-transform:none!important;
  font-size:15px!important;
  letter-spacing:-.01em!important;
  font-weight:800!important;
  padding:12px 16px!important;
  border-radius:999px!important;
  transition:background .2s ease, color .2s ease, transform .2s ease!important;
}

.upvc-nav a:after{
  display:none!important;
}

.upvc-nav a:hover,
.upvc-nav .current-menu-item a{
  background:#eaf5ff!important;
  color:var(--upvc-blue)!important;
  transform:translateY(-1px)!important;
}

.ra-header-phone.upvc-header-phone{
  min-width:0!important;
  height:46px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  border:0!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--upvc-blue),var(--upvc-blue-2))!important;
  box-shadow:0 16px 34px rgba(17,103,216,.26)!important;
  font-size:14px!important;
  text-decoration:none!important;
}

.upvc-header-phone svg{
  fill:none!important;
  stroke:#fff!important;
}

.upvc-menu-toggle{
  display:none!important;
}

/* Hero: split modern layout, not centered Royale */
.ra-hero{
  min-height:680px!important;
  display:grid!important;
  align-items:center!important;
  justify-content:initial!important;
  overflow:hidden!important;
  border-bottom:0!important;
  background:
    radial-gradient(700px 360px at 12% 10%,rgba(72,168,255,.16),transparent 70%),
    linear-gradient(180deg,#f6fbff 0%,#edf7ff 100%)!important;
}

.ra-bg{
  position:absolute!important;
  inset:0!important;
  width:52%!important;
  left:auto!important;
  right:0!important;
  background-image:linear-gradient(90deg,rgba(247,251,255,.88),rgba(247,251,255,.15) 35%,rgba(247,251,255,0)),var(--ra-bg-desktop)!important;
  background-size:cover!important;
  background-position:center right!important;
  background-attachment:fixed!important;
  filter:none!important;
  opacity:1!important;
}

.ra-hero:after{
  display:none!important;
}

.ra-hero-frame{
  display:none!important;
}

.ra-hero-inner{
  position:relative!important;
  z-index:2!important;
  width:min(600px,calc(100% - 42px))!important;
  margin-left:max(21px,calc((100vw - 1180px)/2))!important;
  margin-right:0!important;
  padding:84px 0 70px!important;
  text-align:left!important;
}

.ra-kicker{
  justify-content:flex-start!important;
  gap:10px!important;
  margin-bottom:18px!important;
  color:var(--upvc-blue)!important;
  font-size:13px!important;
  letter-spacing:.12em!important;
  text-shadow:none!important;
}

.ra-kicker span{
  display:none!important;
}

.ra-kicker:before{
  content:"";
  width:42px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--upvc-blue),var(--upvc-blue-2));
}

.ra-hero-title{
  max-width:620px!important;
  margin:0!important;
  font-family:var(--font-head)!important;
  font-size:clamp(44px,5.3vw,82px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  text-align:left!important;
  text-transform:none!important;
  color:var(--upvc-navy)!important;
  text-shadow:none!important;
  filter:none!important;
}

.ra-hero-title b,
.ra-hero-title strong{
  display:block!important;
  color:var(--upvc-navy)!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
  -webkit-text-fill-color:initial!important;
}

.ra-hero-title strong{
  color:var(--upvc-blue)!important;
}

.ra-hero-intro{
  max-width:560px!important;
  margin:22px 0 32px!important;
  color:#43566e!important;
  font-size:18px!important;
  line-height:1.7!important;
  text-shadow:none!important;
}

.ra-hero-actions{
  justify-content:flex-start!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  margin:0!important;
}

.ra-btn{
  min-width:0!important;
  height:54px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  font-size:15px!important;
  transition:transform .2s ease, box-shadow .2s ease!important;
}

.ra-btn:hover{
  transform:translateY(-2px)!important;
}

.ra-btn-gold{
  color:#fff!important;
  background:linear-gradient(135deg,var(--upvc-blue),var(--upvc-blue-2))!important;
  border:0!important;
  box-shadow:0 16px 36px rgba(17,103,216,.28)!important;
}

.ra-btn-gold svg{
  fill:none!important;
  stroke:#fff!important;
}

.ra-btn-dark{
  background:#fff!important;
  color:var(--upvc-blue)!important;
  border:1px solid rgba(17,103,216,.16)!important;
  box-shadow:0 16px 36px rgba(8,32,64,.08)!important;
}

.ra-btn-dark svg{
  fill:none!important;
  stroke:var(--upvc-blue)!important;
}

/* Service tiles: clean rounded pills/cards */
.ra-section,
.ra-service-strip,
.ra-gallery-preview,
.ra-recent-work-carousel,
.ra-gallery-carousel-page{
  background:#f7fbff!important;
  border-bottom:0!important;
}

.ra-service-strip{
  padding:42px 0 28px!important;
  position:relative!important;
  z-index:2!important;
}

.ra-service-tiles{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:16px!important;
}

.ra-service-tile{
  min-height:162px!important;
  padding:26px 18px!important;
  border:1px solid rgba(17,103,216,.10)!important;
  border-radius:28px!important;
  clip-path:none!important;
  background:#fff!important;
  box-shadow:var(--upvc-shadow)!important;
  text-align:left!important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease!important;
}

.ra-service-tile:hover{
  transform:translateY(-6px)!important;
  border-color:rgba(17,103,216,.28)!important;
  box-shadow:0 30px 80px rgba(17,103,216,.18)!important;
}

.ra-tile-icon{
  width:54px!important;
  height:54px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  background:#eef7ff!important;
  color:var(--upvc-blue)!important;
  margin-bottom:18px!important;
}

.ra-tile-icon svg{
  width:30px!important;
  height:30px!important;
  stroke:currentColor!important;
  filter:none!important;
}

.ra-custom-icon-text{
  color:var(--upvc-blue)!important;
  font-size:26px!important;
  filter:none!important;
}

.ra-service-tile h3{
  min-height:0!important;
  max-width:none!important;
  justify-content:flex-start!important;
  text-align:left!important;
  margin:0!important;
  color:var(--upvc-navy)!important;
  font-size:16px!important;
  line-height:1.25!important;
}

.ra-service-tile i{
  display:none!important;
}

/* About band: white section with rounded image */
.ra-about-band{
  padding:86px 0!important;
  background:#ffffff!important;
  border:0!important;
}

.ra-two-col{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:64px!important;
  align-items:center!important;
}

.ra-about-image{
  min-height:0!important;
}

.ra-about-image img{
  height:420px!important;
  border:0!important;
  border-radius:34px!important;
  clip-path:none!important;
  box-shadow:0 34px 90px rgba(8,32,64,.16)!important;
}

.ra-copy h1,
.ra-copy h2,
.ra-section-head h2,
.ra-page-title,
.ra-page-hero h1{
  font-family:var(--font-head)!important;
  color:var(--upvc-navy)!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  text-transform:none!important;
  text-shadow:none!important;
}

.ra-copy h2 strong,
.ra-copy h2 em{
  color:var(--upvc-blue)!important;
}

.ra-copy p{
  color:#51657c!important;
  font-size:16px!important;
  line-height:1.75!important;
}

.ra-mini{
  color:var(--upvc-blue)!important;
  letter-spacing:.14em!important;
  font-size:12px!important;
  text-shadow:none!important;
}

/* Trust cards clean horizontal */
.ra-trust-cards{
  grid-template-columns:repeat(2,1fr)!important;
  gap:14px!important;
  margin-top:28px!important;
}

.ra-trust{
  min-height:92px!important;
  padding:18px!important;
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  gap:12px!important;
  text-align:left!important;
  align-items:center!important;
  justify-content:initial!important;
  border:1px solid rgba(17,103,216,.10)!important;
  border-radius:22px!important;
  clip-path:none!important;
  background:#f7fbff!important;
  box-shadow:none!important;
}

.ra-trust:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 20px 45px rgba(17,103,216,.12)!important;
}

.ra-trust b{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  background:#eaf5ff!important;
  color:var(--upvc-blue)!important;
}

.ra-trust span,
.ra-trust small{
  text-align:left!important;
  width:auto!important;
}

.ra-trust span{
  color:var(--upvc-navy)!important;
}

.ra-trust small{
  color:#5f7186!important;
}

/* Carousel/gallery */
.ra-recent-work-carousel,
.ra-gallery-preview,
.ra-gallery-carousel-page,
.ra-gallery-page{
  padding:72px 0!important;
  background:#edf7ff!important;
}

.ra-section-head,
.ra-section-head-centered{
  text-align:center!important;
  max-width:720px!important;
  margin:0 auto 34px!important;
}

.ra-gallery-slide,
.ra-before-card{
  border:0!important;
  border-radius:28px!important;
  clip-path:none!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 20px 55px rgba(8,32,64,.14)!important;
}

.ra-gallery-slide:hover,
.ra-before-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 28px 70px rgba(17,103,216,.18)!important;
}

.ra-gallery-slide span{
  color:#fff!important;
}

/* Inner pages */
.ra-page-hero{
  padding:108px 0 54px!important;
  background:
    linear-gradient(90deg,rgba(247,251,255,.96),rgba(247,251,255,.86),rgba(247,251,255,.38)),
    var(--ra-bg-desktop)!important;
  background-size:cover!important;
  background-position:center right!important;
  background-attachment:fixed!important;
  border-bottom:1px solid rgba(17,103,216,.08)!important;
  text-align:left!important;
}

.ra-page-hero .ra-wrap{
  text-align:left!important;
}

.ra-title-line{
  justify-content:flex-start!important;
}

.ra-title-line:before,
.ra-title-line:after{
  display:none!important;
}

.ra-page-hero .ra-mini{
  color:var(--upvc-blue)!important;
}

.ra-services-list,
.ra-about-page,
.ra-contact-page{
  background:#f7fbff!important;
  padding:70px 0!important;
}

.ra-service-row{
  grid-template-columns:80px 1fr 280px!important;
  clip-path:none!important;
  border:1px solid rgba(17,103,216,.10)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(8,32,64,.10)!important;
}

.ra-service-row h2{
  color:var(--upvc-navy)!important;
}

.ra-service-row img{
  border-radius:22px!important;
}

/* Contact form */
.ra-contact-form{
  clip-path:none!important;
  border:1px solid rgba(17,103,216,.10)!important;
  border-radius:32px!important;
  background:#fff!important;
  box-shadow:var(--upvc-shadow)!important;
}

.ra-contact-form h2{
  color:var(--upvc-navy)!important;
  text-transform:none!important;
}

.ra-contact-form input,
.ra-contact-form textarea{
  border:1px solid rgba(17,103,216,.12)!important;
  border-radius:18px!important;
  background:#f7fbff!important;
  color:var(--upvc-ink)!important;
}

.ra-gdpr-check{
  border:1px solid rgba(17,103,216,.12)!important;
  border-radius:18px!important;
  background:#f7fbff!important;
  color:#51657c!important;
}

.ra-contact-form button{
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--upvc-blue),var(--upvc-blue-2))!important;
  color:#fff!important;
}

/* New footer */
.upvc-footer{
  background:#071d3a!important;
  border-top:0!important;
  padding:60px 0 26px!important;
  color:#fff!important;
}

.upvc-footer-top{
  display:grid!important;
  grid-template-columns:1.3fr 1fr auto!important;
  gap:34px!important;
  align-items:center!important;
}

.upvc-footer-brand{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}

.upvc-footer-logo{
  width:70px!important;
  height:70px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:24px!important;
  background:#fff!important;
  color:var(--upvc-blue)!important;
  text-decoration:none!important;
  overflow:hidden!important;
}

.upvc-footer-logo img{
  width:60px!important;
  max-height:60px!important;
  object-fit:contain!important;
}

.upvc-footer-brand h2{
  margin:0 0 6px!important;
  font-family:var(--font-head)!important;
  letter-spacing:-.04em!important;
  font-size:27px!important;
}

.upvc-footer-brand p{
  margin:0!important;
  color:rgba(255,255,255,.68)!important;
}

.upvc-footer-links{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
}

.upvc-footer-links a{
  color:rgba(255,255,255,.82)!important;
  text-decoration:none!important;
  font-weight:800!important;
  font-size:14px!important;
}

.upvc-footer-links a:hover{
  color:#fff!important;
}

.upvc-footer-actions{
  display:flex!important;
  gap:10px!important;
  justify-content:flex-end!important;
}

.upvc-footer-call,
.upvc-footer-social{
  height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--upvc-blue)!important;
  text-decoration:none!important;
  font-weight:950!important;
  padding:0 18px!important;
}

.upvc-footer-social{
  width:48px!important;
  padding:0!important;
}

.upvc-footer-call svg,
.upvc-footer-social svg{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
}

.upvc-footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:34px!important;
  padding-top:22px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  color:rgba(255,255,255,.64)!important;
  font-size:13px!important;
}

.upvc-footer-bottom p{
  margin:0!important;
}

.upvc-footer-bottom a{
  color:#fff!important;
  font-weight:900!important;
  text-decoration:none!important;
}

/* Remove old footer styles taking over */
.ra-footer-premium,
.ra-footer-premium-v2,
.ra-footer-main,
.ra-footer-lower,
.ra-footer-performance{
  all:unset;
}

/* Mobile */
@media(max-width:1050px){
  .upvc-header-inner{
    grid-template-columns:180px 1fr auto!important;
  }

  .upvc-header-phone{
    display:none!important;
  }

  .ra-service-tiles{
    grid-template-columns:repeat(2,1fr)!important;
  }

  .ra-two-col,
  .ra-contact-grid{
    grid-template-columns:1fr!important;
  }

  .upvc-footer-top{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }

  .upvc-footer-brand,
  .upvc-footer-actions{
    justify-content:center!important;
  }
}

@media(max-width:760px){
  .admin-bar .upvc-header{
    top:0!important;
  }

  .upvc-header-inner{
    height:auto!important;
    min-height:78px!important;
    grid-template-columns:1fr auto!important;
    padding:12px 0!important;
  }

  .upvc-logo img{
    max-width:120px!important;
    max-height:50px!important;
  }

  .upvc-menu-toggle{
    display:inline-flex!important;
    height:42px!important;
    padding:0 16px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    border:1px solid rgba(17,103,216,.18)!important;
    background:#eef7ff!important;
    color:var(--upvc-blue)!important;
    font-weight:950!important;
  }

  .upvc-nav{
    grid-column:1/-1!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    padding:12px!important;
    background:#fff!important;
    border-radius:24px!important;
    box-shadow:0 18px 40px rgba(8,32,64,.12)!important;
  }

  .upvc-header.is-open .upvc-nav{
    display:flex!important;
  }

  .upvc-nav a{
    display:block!important;
    text-align:center!important;
  }

  .ra-hero{
    min-height:auto!important;
    padding:0!important;
  }

  .ra-bg{
    position:relative!important;
    width:100%!important;
    height:310px!important;
    order:2!important;
    left:auto!important;
    right:auto!important;
    background-image:linear-gradient(180deg,rgba(247,251,255,0),rgba(247,251,255,.18)),var(--ra-bg-mobile)!important;
    background-attachment:scroll!important;
    background-position:center center!important;
  }

  .ra-hero{
    display:flex!important;
    flex-direction:column!important;
  }

  .ra-hero-inner{
    width:min(100% - 32px,520px)!important;
    margin:0 auto!important;
    padding:46px 0 28px!important;
    text-align:center!important;
  }

  .ra-kicker,
  .ra-hero-actions{
    justify-content:center!important;
  }

  .ra-hero-title{
    text-align:center!important;
    font-size:clamp(36px,10vw,52px)!important;
  }

  .ra-hero-intro{
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:16px!important;
  }

  .ra-service-tiles,
  .ra-trust-cards{
    grid-template-columns:1fr!important;
  }

  .ra-service-tile{
    text-align:center!important;
  }

  .ra-tile-icon{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .ra-service-tile h3{
    justify-content:center!important;
    text-align:center!important;
  }

  .ra-about-band,
  .ra-page-hero,
  .ra-about-page,
  .ra-contact-page{
    background-attachment:scroll!important;
  }

  .ra-service-row{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }

  .ra-service-row .ra-tile-icon{
    margin:auto!important;
  }

  .ra-service-row img{
    height:210px!important;
  }

  .upvc-footer-bottom{
    flex-direction:column!important;
    text-align:center!important;
  }

  .upvc-footer-links{
    flex-direction:column!important;
  }
}


/* ============================
   v2.1.0 refinement pass
   ============================ */
body.upvc-site-v210{background:#f4f8fd!important;color:#14253d!important;}
body.upvc-site-v210 main{overflow:hidden;}
body.upvc-site-v210 .ra-wrap{width:min(1240px,calc(100% - 44px))!important;}

/* transparent blended header */
body.upvc-site-v210 .upvc-header-overlay{position:absolute!important;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,rgba(7,20,42,.36),rgba(7,20,42,0))!important;border-bottom:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body.admin-bar.upvc-site-v210 .upvc-header-overlay{top:32px!important;}
body.upvc-site-v210 .upvc-header-shell{display:grid!important;grid-template-columns:240px 1fr auto;gap:18px;align-items:center;min-height:108px;padding:14px 0 18px;}
body.upvc-site-v210 .upvc-logo img{max-width:160px!important;max-height:70px!important;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18));}
body.upvc-site-v210 .upvc-logo-mark{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.26)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none!important;}
body.upvc-site-v210 .upvc-logo-text{color:#fff!important;text-shadow:0 8px 20px rgba(0,0,0,.32);}
body.upvc-site-v210 .upvc-nav{display:flex!important;justify-content:center;gap:8px;}
body.upvc-site-v210 .upvc-nav a{color:#ffffff!important;background:transparent!important;padding:12px 15px!important;border-radius:999px!important;font-size:14px!important;font-weight:800!important;letter-spacing:.01em!important;box-shadow:none!important;}
body.upvc-site-v210 .upvc-nav a:hover,body.upvc-site-v210 .upvc-nav .current-menu-item a{background:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 20px rgba(0,0,0,.12)!important;}
body.upvc-site-v210 .upvc-header-actions{display:flex;align-items:center;gap:12px;}
body.upvc-site-v210 .upvc-header-phone{height:48px!important;padding:0 20px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;box-shadow:0 10px 28px rgba(0,0,0,.12)!important;}
body.upvc-site-v210 .upvc-header-phone:hover{background:rgba(255,255,255,.18)!important;transform:translateY(-1px);}
body.upvc-site-v210 .upvc-header-phone svg{stroke:#fff!important;}
body.upvc-site-v210 .upvc-menu-toggle{display:none!important;}

/* more spacious hero */
body.upvc-site-v210 .ra-hero{min-height:790px!important;padding-top:0!important;background:linear-gradient(180deg,#e9f3ff 0%,#eef6ff 100%)!important;}
body.upvc-site-v210 .ra-bg{width:56%!important;background-image:linear-gradient(90deg,rgba(233,243,255,.98),rgba(233,243,255,.74) 28%,rgba(233,243,255,.12) 46%,rgba(233,243,255,0) 56%),var(--ra-bg-desktop)!important;background-position:center right!important;background-size:cover!important;}
body.upvc-site-v210 .ra-hero-inner{padding:188px 0 96px!important;max-width:620px!important;}
body.upvc-site-v210 .ra-kicker{margin-bottom:20px!important;font-size:13px!important;letter-spacing:.16em!important;color:#176fe7!important;}
body.upvc-site-v210 .ra-hero-title{font-size:clamp(54px,6.4vw,94px)!important;max-width:650px!important;line-height:.96!important;}
body.upvc-site-v210 .ra-hero-intro{max-width:560px!important;margin:26px 0 34px!important;font-size:20px!important;line-height:1.65!important;color:#50627a!important;}
body.upvc-site-v210 .ra-hero-actions{gap:14px!important;}
body.upvc-site-v210 .ra-btn{height:56px!important;padding:0 24px!important;font-size:15px!important;}
body.upvc-site-v210 .ra-btn-gold{background:linear-gradient(135deg,#176fe7,#56b1ff)!important;box-shadow:0 16px 34px rgba(23,111,231,.23)!important;}
body.upvc-site-v210 .ra-btn-dark{background:#fff!important;border:1px solid rgba(23,111,231,.12)!important;}

/* section spacing and headings */
body.upvc-site-v210 .ra-section-head-spacious{margin-bottom:34px!important;}
body.upvc-site-v210 .ra-section-sub{max-width:720px;margin:10px auto 0;color:#687a90;font-size:16px;line-height:1.7;}
body.upvc-site-v210 .ra-service-stack-section,body.upvc-site-v210 .ra-services-cards-page{padding:76px 0!important;background:#f8fbff!important;}
body.upvc-site-v210 .ra-service-stack-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px!important;align-items:stretch;}
body.upvc-site-v210 .ra-service-stack-card{position:relative;background:#fff;border:1px solid rgba(21,106,216,.10);border-radius:28px;overflow:hidden;box-shadow:0 22px 60px rgba(7,29,58,.08);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
body.upvc-site-v210 .ra-service-stack-card:nth-child(2n){transform:translateY(22px);} 
body.upvc-site-v210 .ra-service-stack-card:hover{transform:translateY(-8px)!important;border-color:rgba(21,106,216,.24);box-shadow:0 30px 76px rgba(21,106,216,.16);}
body.upvc-site-v210 .ra-service-stack-media{aspect-ratio:16/10;overflow:hidden;background:#ddeeff;}
body.upvc-site-v210 .ra-service-stack-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
body.upvc-site-v210 .ra-service-stack-card:hover .ra-service-stack-media img{transform:scale(1.05);} 
body.upvc-site-v210 .ra-service-stack-body{padding:24px 24px 26px;}
body.upvc-site-v210 .ra-service-stack-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:#eff6ff;color:#176fe7;margin:0 0 16px;box-shadow:inset 0 0 0 1px rgba(23,111,231,.08);} 
body.upvc-site-v210 .ra-service-stack-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;} 
body.upvc-site-v210 .ra-service-stack-icon .ra-custom-icon-text{font-size:28px;color:#176fe7;} 
body.upvc-site-v210 .ra-service-stack-body h3{margin:0 0 10px;font-family:var(--font-head)!important;font-size:28px;line-height:1.05;letter-spacing:-.03em;color:#11243e;} 
body.upvc-site-v210 .ra-service-stack-body p{margin:0;color:#667891;line-height:1.72;font-size:15px;} 

/* recent work / gallery as stackable cards */
body.upvc-site-v210 .ra-recent-work-grid-section,body.upvc-site-v210 .ra-gallery-grid-page{padding:82px 0!important;background:linear-gradient(180deg,#edf6ff 0%,#f7fbff 100%)!important;}
body.upvc-site-v210 .ra-project-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important;align-items:stretch;}
body.upvc-site-v210 .ra-project-card{background:#fff;border:1px solid rgba(21,106,216,.1);border-radius:28px;overflow:hidden;box-shadow:0 22px 58px rgba(10,35,70,.08);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
body.upvc-site-v210 .ra-project-card:nth-child(3n+2){transform:translateY(16px);} 
body.upvc-site-v210 .ra-project-card:hover{transform:translateY(-8px)!important;border-color:rgba(21,106,216,.22);box-shadow:0 30px 78px rgba(21,106,216,.16);} 
body.upvc-site-v210 .ra-project-image{aspect-ratio:4/3;overflow:hidden;background:#dcecff;}
body.upvc-site-v210 .ra-project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
body.upvc-site-v210 .ra-project-card:hover .ra-project-image img{transform:scale(1.06);} 
body.upvc-site-v210 .ra-project-body{padding:18px 20px 22px;}
body.upvc-site-v210 .ra-project-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef6ff;color:#176fe7;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;}
body.upvc-site-v210 .ra-project-body h3{margin:0;font-family:var(--font-head)!important;font-size:24px;line-height:1.1;letter-spacing:-.03em;color:#132742;}

/* about and trust more airy */
body.upvc-site-v210 .ra-about-band{padding:96px 0!important;background:#ffffff!important;}
body.upvc-site-v210 .ra-two-col{gap:76px!important;align-items:center!important;}
body.upvc-site-v210 .ra-about-image img{height:460px!important;border-radius:30px!important;box-shadow:0 28px 76px rgba(12,34,66,.14)!important;}
body.upvc-site-v210 .ra-copy p{font-size:17px!important;line-height:1.78!important;}
body.upvc-site-v210 .ra-trust-cards{grid-template-columns:repeat(2,1fr)!important;gap:18px!important;margin-top:32px!important;}
body.upvc-site-v210 .ra-trust{padding:20px!important;border-radius:22px!important;background:#f8fbff!important;min-height:98px!important;}

/* page heroes blended and less cramped */
body.upvc-site-v210 .ra-page-hero{padding:170px 0 70px!important;background:linear-gradient(90deg,rgba(13,35,69,.72),rgba(13,35,69,.42),rgba(13,35,69,.08)),var(--ra-bg-desktop)!important;background-size:cover!important;background-position:center right!important;background-attachment:fixed!important;}
body.upvc-site-v210 .ra-page-hero .ra-page-title,body.upvc-site-v210 .ra-page-hero .ra-mini{color:#fff!important;text-shadow:0 10px 28px rgba(0,0,0,.28);} 
body.upvc-site-v210 .ra-page-hero .ra-page-title{max-width:720px!important;}

/* cleaner footer */
body.upvc-site-v210 .upvc-footer-clean{background:#0c1f39!important;padding:76px 0 26px!important;color:#fff!important;}
body.upvc-site-v210 .upvc-footer-top-clean{display:grid!important;grid-template-columns:1.2fr .8fr .9fr .8fr;gap:34px;align-items:flex-start;}
body.upvc-site-v210 .upvc-footer-brand-clean{display:flex;gap:18px;align-items:flex-start;}
body.upvc-site-v210 .upvc-footer-logo-clean{width:78px;height:78px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);text-decoration:none;overflow:hidden;}
body.upvc-site-v210 .upvc-footer-logo-clean img{width:64px;max-height:64px;object-fit:contain;}
body.upvc-site-v210 .upvc-footer-brand-clean strong{display:block;font-family:var(--font-head)!important;font-size:28px;line-height:1;margin-bottom:10px;}
body.upvc-site-v210 .upvc-footer-brand-clean p,body.upvc-site-v210 .upvc-footer-contact-clean p{margin:0;color:rgba(255,255,255,.68);line-height:1.74;}
body.upvc-site-v210 .upvc-footer-links-clean h3,body.upvc-site-v210 .upvc-footer-contact-clean h3{margin:4px 0 14px;font-size:14px;text-transform:uppercase;letter-spacing:.16em;color:#89bfff;}
body.upvc-site-v210 .upvc-footer-links-clean nav{display:grid;gap:12px;}
body.upvc-site-v210 .upvc-footer-links-clean a,body.upvc-site-v210 .upvc-footer-phone-clean{color:#fff!important;text-decoration:none;font-weight:800;}
body.upvc-site-v210 .upvc-footer-phone-clean{display:inline-block;margin-top:14px;font-size:22px;font-family:var(--font-head)!important;letter-spacing:-.02em;}
body.upvc-site-v210 .upvc-footer-actions-clean{display:grid;gap:12px;align-content:start;}
body.upvc-site-v210 .upvc-footer-cta-clean,body.upvc-site-v210 .upvc-footer-social-clean{height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border-radius:999px;text-decoration:none;font-weight:900;}
body.upvc-site-v210 .upvc-footer-cta-clean{background:#fff;color:#176fe7;}
body.upvc-site-v210 .upvc-footer-social-clean{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;}
body.upvc-site-v210 .upvc-footer-cta-clean svg{stroke:#176fe7!important;fill:none!important;}
body.upvc-site-v210 .upvc-footer-social-clean svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v210 .upvc-footer-bottom-clean{display:flex;justify-content:space-between;gap:18px;padding-top:26px;margin-top:32px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.62);font-size:13px;}
body.upvc-site-v210 .upvc-footer-bottom-clean a{color:#fff!important;text-decoration:none;font-weight:800;}

/* contact strip less cramped */
body.upvc-site-v210 .ra-contact-strip{padding:0 0 84px!important;background:#f7fbff!important;}
body.upvc-site-v210 .ra-contact-box{grid-template-columns:1.2fr .8fr 1fr!important;border-radius:28px!important;overflow:hidden;box-shadow:0 20px 54px rgba(7,29,58,.08)!important;border:1px solid rgba(21,106,216,.08)!important;}
body.upvc-site-v210 .ra-contact-box>div{padding:32px 34px!important;background:#fff!important;min-height:146px!important;}
body.upvc-site-v210 .ra-contact-box>div p,body.upvc-site-v210 .ra-contact-box>div a{color:#3f536d!important;}
body.upvc-site-v210 .ra-contact-phone{color:#132742!important;font-size:40px!important;}

/* mobile/tablet */
@media(max-width:1180px){
  body.upvc-site-v210 .upvc-header-shell{grid-template-columns:200px 1fr auto;}
  body.upvc-site-v210 .ra-service-stack-grid,body.upvc-site-v210 .ra-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.upvc-site-v210 .upvc-footer-top-clean{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:820px){
  body.admin-bar.upvc-site-v210 .upvc-header-overlay{top:46px!important;}
  body.upvc-site-v210 .upvc-header-shell{grid-template-columns:1fr auto!important;min-height:84px;padding:12px 0 16px!important;}
  body.upvc-site-v210 .upvc-menu-toggle{display:inline-flex!important;height:44px!important;padding:0 16px!important;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;font-weight:800!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
  body.upvc-site-v210 .upvc-header-phone{display:none!important;}
  body.upvc-site-v210 .upvc-nav{display:none!important;grid-column:1/-1;background:rgba(10,28,54,.78)!important;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 40px rgba(0,0,0,.16);}
  body.upvc-site-v210 .upvc-header.is-open .upvc-nav{display:flex!important;flex-direction:column!important;}
  body.upvc-site-v210 .upvc-nav a{text-align:center!important;}
  body.upvc-site-v210 .ra-hero{min-height:auto!important;display:flex!important;flex-direction:column!important;}
  body.upvc-site-v210 .ra-bg{position:relative!important;width:100%!important;height:300px!important;order:2!important;background-image:linear-gradient(180deg,rgba(233,243,255,.02),rgba(233,243,255,.15)),var(--ra-bg-mobile)!important;background-position:center center!important;background-attachment:scroll!important;}
  body.upvc-site-v210 .ra-hero-inner{max-width:100%!important;margin:0 auto!important;padding:118px 0 28px!important;text-align:center!important;}
  body.upvc-site-v210 .ra-kicker,body.upvc-site-v210 .ra-hero-actions{justify-content:center!important;}
  body.upvc-site-v210 .ra-hero-title{text-align:center!important;font-size:clamp(40px,12vw,62px)!important;}
  body.upvc-site-v210 .ra-hero-intro{font-size:16px!important;margin-left:auto!important;margin-right:auto!important;}
  body.upvc-site-v210 .ra-service-stack-grid,body.upvc-site-v210 .ra-project-grid,body.upvc-site-v210 .ra-trust-cards{grid-template-columns:1fr!important;}
  body.upvc-site-v210 .ra-service-stack-card:nth-child(2n),body.upvc-site-v210 .ra-project-card:nth-child(3n+2){transform:none!important;}
  body.upvc-site-v210 .ra-about-band{padding:66px 0!important;}
  body.upvc-site-v210 .ra-two-col{grid-template-columns:1fr!important;gap:34px!important;}
  body.upvc-site-v210 .ra-about-image img{height:300px!important;}
  body.upvc-site-v210 .ra-page-hero{padding:132px 0 54px!important;background-attachment:scroll!important;}
  body.upvc-site-v210 .upvc-footer-top-clean{grid-template-columns:1fr!important;gap:28px!important;}
  body.upvc-site-v210 .upvc-footer-bottom-clean{flex-direction:column!important;text-align:center!important;}
  body.upvc-site-v210 .ra-contact-box{grid-template-columns:1fr!important;}
  body.upvc-site-v210 .ra-contact-box>div{min-height:0!important;border-bottom:1px solid rgba(21,106,216,.08)!important;}
  body.upvc-site-v210 .ra-contact-box>div:last-child{border-bottom:0!important;}
}


/* ============================
   v2.2.0 luxury premium pass
   ============================ */
body.upvc-site-v220{background:#f5f9ff!important;color:#132844!important;}
body.upvc-site-v220 .ra-wrap{width:min(1260px,calc(100% - 46px))!important;}
body.upvc-site-v220 .ra-copy h2,body.upvc-site-v220 .ra-page-title,body.upvc-site-v220 .ra-section-head h2,body.upvc-site-v220 .ra-service-stack-body h3,body.upvc-site-v220 .ra-project-body h3{letter-spacing:-.045em!important;}

/* floating invisible luxe header */
body.upvc-site-v220 .upvc-header-overlay{position:absolute!important;top:0;left:0;right:0;z-index:60;background:linear-gradient(180deg,rgba(5,18,39,.40),rgba(5,18,39,0))!important;border:0!important;box-shadow:none!important;}
body.admin-bar.upvc-site-v220 .upvc-header-overlay{top:32px!important;}
body.upvc-site-v220 .upvc-header-shell{display:grid!important;grid-template-columns:240px 1fr auto;gap:18px;align-items:center;min-height:118px;padding:18px 0 20px;}
body.upvc-site-v220 .upvc-logo img{max-width:168px!important;max-height:74px!important;filter:drop-shadow(0 12px 24px rgba(0,0,0,.22));}
body.upvc-site-v220 .upvc-nav{display:flex!important;justify-content:center;gap:10px;}
body.upvc-site-v220 .upvc-nav a{padding:13px 16px!important;border-radius:999px!important;color:#fff!important;background:transparent!important;font-size:14px!important;font-weight:800!important;letter-spacing:.03em!important;transition:all .25s ease!important;}
body.upvc-site-v220 .upvc-nav a:hover,body.upvc-site-v220 .upvc-nav .current-menu-item a{background:rgba(255,255,255,.14)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 12px 28px rgba(0,0,0,.16)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
body.upvc-site-v220 .upvc-header-actions{display:flex;align-items:center;gap:12px;}
body.upvc-site-v220 .upvc-header-phone{height:50px!important;padding:0 22px!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.10))!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 38px rgba(0,0,0,.16)!important;}
body.upvc-site-v220 .upvc-header-phone:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.14))!important;}
body.upvc-site-v220 .upvc-header-phone svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v220 .upvc-menu-toggle{display:none!important;}

/* more premium desktop/mobile hero/card polish */
body.upvc-site-v220 .ra-hero{min-height:830px!important;background:linear-gradient(180deg,#ebf4ff 0%,#f4f8ff 100%)!important;}
body.upvc-site-v220 .ra-bg{width:57%!important;background-image:linear-gradient(90deg,rgba(235,244,255,.99),rgba(235,244,255,.82) 28%,rgba(235,244,255,.28) 48%,rgba(235,244,255,0) 60%),var(--ra-bg-desktop)!important;}
body.upvc-site-v220 .ra-hero-inner{padding:206px 0 106px!important;max-width:640px!important;}
body.upvc-site-v220 .ra-kicker{margin-bottom:22px!important;font-size:13px!important;letter-spacing:.18em!important;color:#1f77ea!important;}
body.upvc-site-v220 .ra-hero-title{font-size:clamp(60px,6.8vw,102px)!important;line-height:.94!important;max-width:700px!important;color:#102747!important;}
body.upvc-site-v220 .ra-hero-title strong{color:#2f7ef0!important;}
body.upvc-site-v220 .ra-hero-intro{max-width:580px!important;font-size:20px!important;line-height:1.72!important;color:#53657c!important;}
body.upvc-site-v220 .ra-btn{height:58px!important;padding:0 26px!important;border-radius:999px!important;}
body.upvc-site-v220 .ra-btn-gold{background:linear-gradient(135deg,#1a73e8,#64b9ff)!important;box-shadow:0 20px 42px rgba(26,115,232,.22)!important;}
body.upvc-site-v220 .ra-btn-dark{background:rgba(255,255,255,.92)!important;box-shadow:0 18px 38px rgba(16,39,71,.08)!important;}
body.upvc-site-v220 .ra-btn:hover{transform:translateY(-3px)!important;}

body.upvc-site-v220 .ra-service-stack-card,body.upvc-site-v220 .ra-project-card,body.upvc-site-v220 .ra-trust,body.upvc-site-v220 .ra-contact-box,body.upvc-site-v220 .ra-contact-form{border-color:rgba(27,108,223,.10)!important;box-shadow:0 24px 70px rgba(10,33,63,.08)!important;}
body.upvc-site-v220 .ra-service-stack-card:hover,body.upvc-site-v220 .ra-project-card:hover,body.upvc-site-v220 .ra-trust:hover{box-shadow:0 32px 86px rgba(26,115,232,.16)!important;border-color:rgba(27,108,223,.22)!important;}
body.upvc-site-v220 .ra-service-stack-section,body.upvc-site-v220 .ra-services-cards-page{padding:88px 0!important;}
body.upvc-site-v220 .ra-service-stack-grid{gap:28px!important;}
body.upvc-site-v220 .ra-service-stack-card{border-radius:30px!important;}
body.upvc-site-v220 .ra-service-stack-card:nth-child(2n){transform:translateY(26px);} 
body.upvc-site-v220 .ra-service-stack-media{aspect-ratio:16/10!important;}
body.upvc-site-v220 .ra-service-stack-body{padding:26px 26px 28px!important;}
body.upvc-site-v220 .ra-service-stack-icon{width:58px!important;height:58px!important;border-radius:18px!important;background:#eef5ff!important;box-shadow:inset 0 0 0 1px rgba(26,115,232,.08)!important;}
body.upvc-site-v220 .ra-service-stack-body h3{font-size:31px!important;line-height:1.02!important;margin-bottom:12px!important;}
body.upvc-site-v220 .ra-service-stack-body p{font-size:15px!important;line-height:1.76!important;color:#68798f!important;}

body.upvc-site-v220 .ra-recent-work-grid-section,body.upvc-site-v220 .ra-gallery-grid-page{padding:92px 0!important;background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%)!important;}
body.upvc-site-v220 .ra-project-grid{gap:26px!important;}
body.upvc-site-v220 .ra-project-card{border-radius:30px!important;}
body.upvc-site-v220 .ra-project-card:nth-child(3n+2){transform:translateY(20px);} 
body.upvc-site-v220 .ra-project-body{padding:20px 22px 24px!important;}
body.upvc-site-v220 .ra-project-tag{background:#edf5ff!important;color:#1d78ea!important;}
body.upvc-site-v220 .ra-project-body h3{font-size:27px!important;}

body.upvc-site-v220 .ra-about-band{padding:110px 0!important;}
body.upvc-site-v220 .ra-two-col{gap:82px!important;}
body.upvc-site-v220 .ra-about-image img{height:480px!important;border-radius:32px!important;box-shadow:0 32px 84px rgba(10,33,63,.13)!important;}
body.upvc-site-v220 .ra-trust{min-height:104px!important;}
body.upvc-site-v220 .ra-section-sub{max-width:740px!important;color:#66788f!important;}

body.upvc-site-v220 .ra-page-hero{padding:182px 0 78px!important;background:linear-gradient(90deg,rgba(12,35,69,.75),rgba(12,35,69,.46),rgba(12,35,69,.12)),var(--ra-bg-desktop)!important;background-size:cover!important;background-position:center right!important;background-attachment:fixed!important;}

/* Luxe footer */
body.upvc-site-v220 .upvc-footer-luxe{position:relative;background:radial-gradient(900px 420px at 15% 0%,rgba(42,113,224,.18),transparent 65%),radial-gradient(820px 380px at 85% 0%,rgba(107,181,255,.12),transparent 66%),linear-gradient(180deg,#0a1b34 0%,#08162b 100%)!important;padding:0 0 30px!important;color:#fff!important;overflow:hidden;}
body.upvc-site-v220 .upvc-footer-luxe:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);} 
body.upvc-site-v220 .upvc-footer-panel{position:relative;margin-top:10px;padding:34px 0 0;}
body.upvc-site-v220 .upvc-footer-cta-row{display:grid;grid-template-columns:1.2fr auto;gap:26px;align-items:center;padding:34px 36px;border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 90px rgba(0,0,0,.16);margin-bottom:28px;}
body.upvc-site-v220 .upvc-footer-eyebrow{margin:0 0 10px;color:#8fc4ff;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;}
body.upvc-site-v220 .upvc-footer-cta-copy h2{margin:0 0 10px;font-family:var(--font-head)!important;font-size:54px;line-height:.96;letter-spacing:-.05em;color:#fff;}
body.upvc-site-v220 .upvc-footer-lead{margin:0;max-width:760px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.78;}
body.upvc-site-v220 .upvc-footer-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
body.upvc-site-v220 .upvc-footer-cta-primary,body.upvc-site-v220 .upvc-footer-cta-secondary{height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:900;white-space:nowrap;transition:all .25s ease;}
body.upvc-site-v220 .upvc-footer-cta-primary{background:#fff;color:#1a73e8;box-shadow:0 18px 36px rgba(255,255,255,.08);} 
body.upvc-site-v220 .upvc-footer-cta-secondary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;} 
body.upvc-site-v220 .upvc-footer-cta-primary svg{stroke:#1a73e8!important;fill:none!important;} 
body.upvc-site-v220 .upvc-footer-cta-secondary svg{stroke:#fff!important;fill:none!important;} 
body.upvc-site-v220 .upvc-footer-cta-primary:hover,body.upvc-site-v220 .upvc-footer-cta-secondary:hover{transform:translateY(-2px);} 
body.upvc-site-v220 .upvc-footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px;padding:18px 4px 6px;align-items:start;}
body.upvc-site-v220 .upvc-footer-brand-col,body.upvc-site-v220 .upvc-footer-links-col,body.upvc-site-v220 .upvc-footer-contact-col{padding:12px 0;}
body.upvc-site-v220 .upvc-footer-brand-col{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:start;}
body.upvc-site-v220 .upvc-footer-logo-luxe{width:96px;height:96px;display:grid;place-items:center;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);text-decoration:none;overflow:hidden;}
body.upvc-site-v220 .upvc-footer-logo-luxe img{width:76px;max-height:76px;object-fit:contain;}
body.upvc-site-v220 .upvc-footer-brand-copy strong{display:block;margin:0 0 10px;font-family:var(--font-head)!important;font-size:34px;line-height:.98;letter-spacing:-.04em;color:#fff;}
body.upvc-site-v220 .upvc-footer-brand-copy span{display:block;margin-bottom:12px;color:#9ccfff;font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;}
body.upvc-site-v220 .upvc-footer-brand-copy p,body.upvc-site-v220 .upvc-footer-address{margin:0;color:rgba(255,255,255,.68);line-height:1.82;font-size:15px;}
body.upvc-site-v220 .upvc-footer-links-col h3,body.upvc-site-v220 .upvc-footer-contact-col h3{margin:4px 0 16px;color:#9ccfff;font-size:12px;letter-spacing:.18em;text-transform:uppercase;}
body.upvc-site-v220 .upvc-footer-links-luxe{display:grid;gap:12px;}
body.upvc-site-v220 .upvc-footer-links-luxe a{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;opacity:.92;transition:all .22s ease;}
body.upvc-site-v220 .upvc-footer-links-luxe a:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#4ea8ff,#8bcbff);box-shadow:0 0 14px rgba(78,168,255,.45);} 
body.upvc-site-v220 .upvc-footer-links-luxe a:hover{opacity:1;transform:translateX(4px);} 
body.upvc-site-v220 .upvc-footer-phone-luxe,body.upvc-site-v220 .upvc-footer-facebook-luxe{display:block;text-decoration:none;} 
body.upvc-site-v220 .upvc-footer-phone-luxe{margin-top:16px;color:#fff;font-family:var(--font-head)!important;font-size:30px;letter-spacing:-.03em;} 
body.upvc-site-v220 .upvc-footer-facebook-luxe{margin-top:10px;color:#9ccfff;font-weight:700;} 
body.upvc-site-v220 .upvc-footer-bottom-luxe{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding:24px 4px 0;border-top:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.58);font-size:13px;} 
body.upvc-site-v220 .upvc-footer-bottom-luxe p{margin:0;} 
body.upvc-site-v220 .upvc-footer-bottom-luxe a{color:#fff;text-decoration:none;font-weight:800;} 

/* premium mobile header/footer */
@media(max-width:1180px){
  body.upvc-site-v220 .upvc-footer-cta-copy h2{font-size:46px;}
  body.upvc-site-v220 .upvc-footer-grid{grid-template-columns:1fr 1fr;}
  body.upvc-site-v220 .upvc-footer-brand-col{grid-column:1/-1;}
  body.upvc-site-v220 .ra-service-stack-grid,body.upvc-site-v220 .ra-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:860px){
  body.admin-bar.upvc-site-v220 .upvc-header-overlay{top:46px!important;}
  body.upvc-site-v220 .upvc-header-shell{grid-template-columns:1fr auto auto!important;gap:10px!important;min-height:88px!important;padding:14px 0 14px!important;}
  body.upvc-site-v220 .upvc-logo img{max-width:120px!important;max-height:56px!important;}
  body.upvc-site-v220 .upvc-logo-mark,body.upvc-site-v220 .upvc-logo-text{transform:scale(.95);transform-origin:left center;}
  body.upvc-site-v220 .upvc-header-phone{display:inline-flex!important;height:44px!important;padding:0 14px!important;font-size:13px!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
  body.upvc-site-v220 .upvc-header-phone span{display:inline!important;}
  body.upvc-site-v220 .upvc-menu-toggle{display:inline-flex!important;height:44px!important;padding:0 16px!important;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;font-weight:800!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 14px 30px rgba(0,0,0,.16);}
  body.upvc-site-v220 .upvc-nav{display:none!important;grid-column:1/-1;background:linear-gradient(180deg,rgba(9,29,56,.92),rgba(9,29,56,.86))!important;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:10px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 24px 48px rgba(0,0,0,.22);margin-top:6px;}
  body.upvc-site-v220 .upvc-header.is-open .upvc-nav{display:flex!important;flex-direction:column!important;}
  body.upvc-site-v220 .upvc-nav a{display:block!important;text-align:center!important;padding:14px 16px!important;}
  body.upvc-site-v220 .ra-hero{min-height:auto!important;display:flex!important;flex-direction:column!important;}
  body.upvc-site-v220 .ra-bg{position:relative!important;width:100%!important;height:310px!important;order:2!important;background-image:linear-gradient(180deg,rgba(235,244,255,.02),rgba(235,244,255,.18)),var(--ra-bg-mobile)!important;background-position:center center!important;background-attachment:scroll!important;}
  body.upvc-site-v220 .ra-hero-inner{max-width:100%!important;margin:0 auto!important;padding:120px 0 34px!important;text-align:center!important;}
  body.upvc-site-v220 .ra-kicker,body.upvc-site-v220 .ra-hero-actions{justify-content:center!important;}
  body.upvc-site-v220 .ra-hero-title{text-align:center!important;font-size:clamp(42px,12vw,66px)!important;}
  body.upvc-site-v220 .ra-hero-intro{font-size:16px!important;margin-left:auto!important;margin-right:auto!important;}
  body.upvc-site-v220 .ra-service-stack-grid,body.upvc-site-v220 .ra-project-grid,body.upvc-site-v220 .ra-trust-cards{grid-template-columns:1fr!important;}
  body.upvc-site-v220 .ra-service-stack-card:nth-child(2n),body.upvc-site-v220 .ra-project-card:nth-child(3n+2){transform:none!important;}
  body.upvc-site-v220 .ra-about-band{padding:72px 0!important;}
  body.upvc-site-v220 .ra-two-col{grid-template-columns:1fr!important;gap:36px!important;}
  body.upvc-site-v220 .ra-about-image img{height:320px!important;}
  body.upvc-site-v220 .ra-page-hero{padding:134px 0 58px!important;background-attachment:scroll!important;}
  body.upvc-site-v220 .upvc-footer-cta-row{grid-template-columns:1fr!important;padding:28px 24px!important;border-radius:28px!important;}
  body.upvc-site-v220 .upvc-footer-cta-copy h2{font-size:38px!important;}
  body.upvc-site-v220 .upvc-footer-cta-actions{justify-content:flex-start!important;}
  body.upvc-site-v220 .upvc-footer-grid{grid-template-columns:1fr!important;gap:14px!important;}
  body.upvc-site-v220 .upvc-footer-brand-col{grid-template-columns:78px 1fr!important;}
  body.upvc-site-v220 .upvc-footer-logo-luxe{width:78px!important;height:78px!important;}
  body.upvc-site-v220 .upvc-footer-logo-luxe img{width:62px!important;max-height:62px!important;}
  body.upvc-site-v220 .upvc-footer-bottom-luxe{flex-direction:column!important;align-items:flex-start!important;text-align:left!important;}
}


/* ============================
   v2.2.1 ultra-polish pass
   ============================ */
body.upvc-site-v221{background:#f5f9ff!important;color:#132844!important;}
body.upvc-site-v221 .ra-wrap{width:min(1280px,calc(100% - 46px))!important;}
body.upvc-site-v221 .ra-section-head h2,body.upvc-site-v221 .ra-copy h2,body.upvc-site-v221 .ra-page-title,body.upvc-site-v221 .ra-project-body h3,body.upvc-site-v221 .ra-service-stack-body h3{font-variation-settings:normal;letter-spacing:-.048em!important;}

/* Header */
body.upvc-site-v221 .upvc-header-overlay{position:absolute!important;top:0;left:0;right:0;z-index:70;background:linear-gradient(180deg,rgba(5,18,38,.42),rgba(5,18,38,0))!important;border:0!important;box-shadow:none!important;}
body.admin-bar.upvc-site-v221 .upvc-header-overlay{top:32px!important;}
body.upvc-site-v221 .upvc-header-shell{display:grid!important;grid-template-columns:250px 1fr auto;gap:20px;align-items:center;min-height:124px;padding:18px 0 22px;}
body.upvc-site-v221 .upvc-logo img{max-width:172px!important;max-height:76px!important;filter:drop-shadow(0 14px 28px rgba(0,0,0,.24));}
body.upvc-site-v221 .upvc-nav{display:flex!important;justify-content:center;gap:10px;}
body.upvc-site-v221 .upvc-nav a{padding:13px 17px!important;border-radius:999px!important;color:#fff!important;background:transparent!important;font-size:14px!important;font-weight:800!important;letter-spacing:.035em!important;transition:all .28s ease!important;}
body.upvc-site-v221 .upvc-nav a:hover,body.upvc-site-v221 .upvc-nav .current-menu-item a{background:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.10))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 14px 32px rgba(0,0,0,.16)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
body.upvc-site-v221 .upvc-header-actions{display:flex;align-items:center;gap:12px;}
body.upvc-site-v221 .upvc-header-phone{height:52px!important;padding:0 22px!important;background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.10))!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 36px rgba(0,0,0,.16)!important;}
body.upvc-site-v221 .upvc-header-phone svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v221 .upvc-header-phone:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.13))!important;}
body.upvc-site-v221 .upvc-menu-toggle{display:none!important;}

/* Hero ultra-luxe */
body.upvc-site-v221 .ra-hero{position:relative;min-height:860px!important;background:linear-gradient(180deg,#ebf4ff 0%,#f4f9ff 100%)!important;overflow:hidden;}
body.upvc-site-v221 .ra-bg{width:58%!important;background-image:linear-gradient(90deg,rgba(235,244,255,.985),rgba(235,244,255,.82) 28%,rgba(235,244,255,.30) 48%,rgba(235,244,255,0) 60%),var(--ra-bg-desktop)!important;background-position:center right!important;background-size:cover!important;}
body.upvc-site-v221 .ra-hero-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55;pointer-events:none;z-index:1;}
body.upvc-site-v221 .ra-hero-orb-a{width:240px;height:240px;left:-40px;bottom:120px;background:rgba(95,180,255,.26);} 
body.upvc-site-v221 .ra-hero-orb-b{width:200px;height:200px;left:42%;top:120px;background:rgba(52,129,243,.12);} 
body.upvc-site-v221 .ra-hero-inner{position:relative;z-index:2;max-width:660px!important;padding:214px 0 110px!important;}
body.upvc-site-v221 .ra-kicker{margin-bottom:22px!important;font-size:13px!important;letter-spacing:.20em!important;color:#1f77ea!important;}
body.upvc-site-v221 .ra-hero-title{font-size:clamp(62px,6.9vw,106px)!important;line-height:.92!important;max-width:720px!important;color:#112844!important;}
body.upvc-site-v221 .ra-hero-title strong{color:#2f7ef0!important;}
body.upvc-site-v221 .ra-hero-intro{max-width:590px!important;margin:28px 0 36px!important;font-size:20px!important;line-height:1.78!important;color:#53657c!important;}
body.upvc-site-v221 .ra-btn{height:60px!important;padding:0 28px!important;border-radius:999px!important;font-size:15px!important;transition:all .28s ease!important;}
body.upvc-site-v221 .ra-btn-gold{background:linear-gradient(135deg,#1a73e8,#67bcff)!important;box-shadow:0 24px 48px rgba(26,115,232,.24)!important;}
body.upvc-site-v221 .ra-btn-dark{background:rgba(255,255,255,.93)!important;border:1px solid rgba(26,115,232,.12)!important;box-shadow:0 18px 40px rgba(16,39,71,.08)!important;}
body.upvc-site-v221 .ra-btn:hover{transform:translateY(-3px)!important;}
body.upvc-site-v221 .ra-hero-luxe-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px;max-width:920px;}
body.upvc-site-v221 .ra-hero-luxe-card{padding:18px 18px 16px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.72));border:1px solid rgba(27,108,223,.08);box-shadow:0 22px 48px rgba(10,33,63,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);} 
body.upvc-site-v221 .ra-hero-luxe-card b{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:#eef5ff;color:#1d78ea;margin-bottom:12px;} 
body.upvc-site-v221 .ra-hero-luxe-card b svg{width:22px;height:22px;stroke:currentColor;fill:none;} 
body.upvc-site-v221 .ra-hero-luxe-card span{display:block;margin-bottom:6px;font-weight:900;color:#132844;font-size:15px;} 
body.upvc-site-v221 .ra-hero-luxe-card small{display:block;color:#6b7c92;line-height:1.55;font-size:13px;} 

/* Cards and sections */
body.upvc-site-v221 .ra-service-stack-section,body.upvc-site-v221 .ra-services-cards-page{padding:94px 0!important;}
body.upvc-site-v221 .ra-section-sub{max-width:760px!important;color:#677992!important;font-size:16px!important;line-height:1.75!important;}
body.upvc-site-v221 .ra-service-stack-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px!important;align-items:stretch;}
body.upvc-site-v221 .ra-service-stack-card{border-radius:32px!important;border:1px solid rgba(27,108,223,.10)!important;box-shadow:0 28px 78px rgba(10,33,63,.08)!important;overflow:hidden;transition:all .28s ease!important;background:#fff;}
body.upvc-site-v221 .ra-service-stack-card:nth-child(2n){transform:translateY(28px);} 
body.upvc-site-v221 .ra-service-stack-card:hover{transform:translateY(-8px)!important;box-shadow:0 34px 92px rgba(26,115,232,.16)!important;border-color:rgba(27,108,223,.22)!important;}
body.upvc-site-v221 .ra-service-stack-media{aspect-ratio:16/10!important;overflow:hidden;}
body.upvc-site-v221 .ra-service-stack-media img{transition:transform .5s ease;}
body.upvc-site-v221 .ra-service-stack-card:hover .ra-service-stack-media img{transform:scale(1.06);} 
body.upvc-site-v221 .ra-service-stack-body{padding:28px 28px 30px!important;}
body.upvc-site-v221 .ra-service-stack-icon{width:60px!important;height:60px!important;border-radius:18px!important;background:#eef5ff!important;box-shadow:inset 0 0 0 1px rgba(26,115,232,.08)!important;margin-bottom:16px!important;}
body.upvc-site-v221 .ra-service-stack-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;} 
body.upvc-site-v221 .ra-service-stack-body h3{margin:0 0 12px!important;font-size:32px!important;line-height:1.02!important;color:#112844!important;}
body.upvc-site-v221 .ra-service-stack-body p{margin:0!important;color:#68798f!important;line-height:1.76!important;font-size:15px!important;}

body.upvc-site-v221 .ra-recent-work-grid-section,body.upvc-site-v221 .ra-gallery-grid-page{padding:98px 0!important;background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%)!important;}
body.upvc-site-v221 .ra-project-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px!important;align-items:stretch;}
body.upvc-site-v221 .ra-project-card{border-radius:32px!important;border:1px solid rgba(27,108,223,.10)!important;box-shadow:0 28px 74px rgba(10,33,63,.08)!important;overflow:hidden;background:#fff;transition:all .28s ease!important;}
body.upvc-site-v221 .ra-project-card:nth-child(3n+2){transform:translateY(20px);} 
body.upvc-site-v221 .ra-project-card:hover{transform:translateY(-8px)!important;box-shadow:0 34px 92px rgba(26,115,232,.16)!important;border-color:rgba(27,108,223,.22)!important;}
body.upvc-site-v221 .ra-project-image{aspect-ratio:4/3!important;overflow:hidden;}
body.upvc-site-v221 .ra-project-image img{transition:transform .55s ease;}
body.upvc-site-v221 .ra-project-card:hover .ra-project-image img{transform:scale(1.06);} 
body.upvc-site-v221 .ra-project-body{padding:20px 22px 24px!important;}
body.upvc-site-v221 .ra-project-tag{background:#edf5ff!important;color:#1d78ea!important;padding:8px 12px!important;border-radius:999px!important;}
body.upvc-site-v221 .ra-project-body h3{font-size:28px!important;line-height:1.06!important;margin:0!important;color:#132844!important;}

body.upvc-site-v221 .ra-about-band{padding:114px 0!important;}
body.upvc-site-v221 .ra-two-col{gap:84px!important;}
body.upvc-site-v221 .ra-about-image img{height:500px!important;border-radius:34px!important;box-shadow:0 34px 88px rgba(10,33,63,.13)!important;}
body.upvc-site-v221 .ra-trust{border-radius:24px!important;box-shadow:0 20px 48px rgba(10,33,63,.06)!important;}

/* Footer */
body.upvc-site-v221 .upvc-footer-luxe{position:relative;background:radial-gradient(1000px 460px at 12% 0%,rgba(56,134,245,.19),transparent 66%),radial-gradient(800px 380px at 88% 0%,rgba(101,186,255,.13),transparent 66%),linear-gradient(180deg,#0a1b34 0%,#081427 100%)!important;padding:0 0 32px!important;color:#fff!important;overflow:hidden;}
body.upvc-site-v221 .upvc-footer-luxe:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);} 
body.upvc-site-v221 .upvc-footer-luxe:after{content:"";position:absolute;left:50%;top:-180px;width:620px;height:620px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(88,170,255,.10),transparent 60%);filter:blur(12px);pointer-events:none;} 
body.upvc-site-v221 .upvc-footer-panel{position:relative;padding-top:18px;}
body.upvc-site-v221 .upvc-footer-cta-row{display:grid;grid-template-columns:1.2fr auto;gap:28px;align-items:center;padding:38px 38px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 36px 100px rgba(0,0,0,.18);margin-bottom:34px;overflow:hidden;}
body.upvc-site-v221 .upvc-footer-cta-row:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.05) 28%,transparent 46%);pointer-events:none;} 
body.upvc-site-v221 .upvc-footer-eyebrow{margin:0 0 10px!important;color:#95caff!important;font-size:12px!important;letter-spacing:.20em!important;text-transform:uppercase!important;font-weight:900!important;}
body.upvc-site-v221 .upvc-footer-cta-copy h2{margin:0 0 12px!important;font-family:var(--font-head)!important;font-size:58px!important;line-height:.94!important;letter-spacing:-.05em!important;color:#fff!important;}
body.upvc-site-v221 .upvc-footer-lead{margin:0!important;max-width:760px!important;color:rgba(255,255,255,.72)!important;font-size:16px!important;line-height:1.82!important;}
body.upvc-site-v221 .upvc-footer-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
body.upvc-site-v221 .upvc-footer-cta-primary,body.upvc-site-v221 .upvc-footer-cta-secondary{height:58px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:0 22px!important;border-radius:999px!important;text-decoration:none!important;font-weight:900!important;transition:all .28s ease!important;}
body.upvc-site-v221 .upvc-footer-cta-primary{background:#fff!important;color:#1a73e8!important;box-shadow:0 18px 40px rgba(255,255,255,.08)!important;} 
body.upvc-site-v221 .upvc-footer-cta-secondary{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;} 
body.upvc-site-v221 .upvc-footer-cta-primary svg{stroke:#1a73e8!important;fill:none!important;} 
body.upvc-site-v221 .upvc-footer-cta-secondary svg{stroke:#fff!important;fill:none!important;} 
body.upvc-site-v221 .upvc-footer-cta-primary:hover,body.upvc-site-v221 .upvc-footer-cta-secondary:hover{transform:translateY(-2px)!important;} 
body.upvc-site-v221 .upvc-footer-grid{display:grid!important;grid-template-columns:1.1fr .8fr .8fr;gap:34px!important;padding:12px 6px 8px!important;align-items:start!important;}
body.upvc-site-v221 .upvc-footer-brand-col{display:grid!important;grid-template-columns:104px 1fr!important;gap:18px!important;align-items:start!important;}
body.upvc-site-v221 .upvc-footer-logo-luxe{width:104px!important;height:104px!important;display:grid!important;place-items:center!important;border-radius:30px!important;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.06))!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;overflow:hidden!important;}
body.upvc-site-v221 .upvc-footer-logo-luxe img{width:82px!important;max-height:82px!important;object-fit:contain!important;}
body.upvc-site-v221 .upvc-footer-brand-copy strong{display:block!important;margin:0 0 10px!important;font-family:var(--font-head)!important;font-size:36px!important;line-height:.98!important;letter-spacing:-.045em!important;color:#fff!important;}
body.upvc-site-v221 .upvc-footer-brand-copy span{display:block!important;margin-bottom:12px!important;color:#9ccfff!important;font-size:13px!important;font-weight:800!important;letter-spacing:.18em!important;text-transform:uppercase!important;}
body.upvc-site-v221 .upvc-footer-brand-copy p,body.upvc-site-v221 .upvc-footer-address{margin:0!important;color:rgba(255,255,255,.68)!important;line-height:1.86!important;font-size:15px!important;}
body.upvc-site-v221 .upvc-footer-links-col h3,body.upvc-site-v221 .upvc-footer-contact-col h3{margin:6px 0 16px!important;color:#9ccfff!important;font-size:12px!important;letter-spacing:.20em!important;text-transform:uppercase!important;}
body.upvc-site-v221 .upvc-footer-links-luxe{display:grid!important;gap:12px!important;}
body.upvc-site-v221 .upvc-footer-links-luxe a{display:inline-flex!important;align-items:center!important;gap:10px!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;opacity:.92!important;transition:all .22s ease!important;}
body.upvc-site-v221 .upvc-footer-links-luxe a:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#4ea8ff,#8bcbff);box-shadow:0 0 14px rgba(78,168,255,.45);} 
body.upvc-site-v221 .upvc-footer-links-luxe a:hover{opacity:1!important;transform:translateX(4px)!important;} 
body.upvc-site-v221 .upvc-footer-phone-luxe{display:block!important;margin-top:16px!important;color:#fff!important;font-family:var(--font-head)!important;font-size:31px!important;letter-spacing:-.03em!important;text-decoration:none!important;} 
body.upvc-site-v221 .upvc-footer-facebook-luxe{display:block!important;margin-top:10px!important;color:#9ccfff!important;font-weight:700!important;text-decoration:none!important;} 
body.upvc-site-v221 .upvc-footer-bottom-luxe{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;margin-top:28px!important;padding:26px 6px 0!important;border-top:1px solid rgba(255,255,255,.10)!important;color:rgba(255,255,255,.58)!important;font-size:13px!important;} 
body.upvc-site-v221 .upvc-footer-bottom-luxe p{margin:0!important;} 
body.upvc-site-v221 .upvc-footer-bottom-luxe a{color:#fff!important;text-decoration:none!important;font-weight:800!important;} 

/* Mobile premium experience */
@media(max-width:1180px){
  body.upvc-site-v221 .ra-service-stack-grid,body.upvc-site-v221 .ra-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.upvc-site-v221 .upvc-footer-cta-copy h2{font-size:48px!important;}
  body.upvc-site-v221 .upvc-footer-grid{grid-template-columns:1fr 1fr!important;}
  body.upvc-site-v221 .upvc-footer-brand-col{grid-column:1/-1!important;}
}
@media(max-width:860px){
  body.admin-bar.upvc-site-v221 .upvc-header-overlay{top:46px!important;}
  body.upvc-site-v221 .upvc-header-shell{grid-template-columns:auto 1fr auto auto!important;gap:10px!important;min-height:88px!important;padding:14px 0 14px!important;}
  body.upvc-site-v221 .upvc-logo img{max-width:112px!important;max-height:54px!important;}
  body.upvc-site-v221 .upvc-logo{position:relative;z-index:2;}
  body.upvc-site-v221 .upvc-header-actions{display:contents!important;}
  body.upvc-site-v221 .upvc-header-phone{display:inline-flex!important;height:44px!important;padding:0 14px!important;font-size:13px!important;justify-self:end!important;}
  body.upvc-site-v221 .upvc-menu-toggle{display:inline-flex!important;height:44px!important;padding:0 16px!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;font-weight:800!important;letter-spacing:.03em!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 34px rgba(0,0,0,.18)!important;}
  body.upvc-site-v221 .upvc-nav{display:none!important;grid-column:1/-1!important;background:linear-gradient(180deg,rgba(9,29,56,.92),rgba(9,29,56,.88))!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:24px!important;padding:10px!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 28px 54px rgba(0,0,0,.24);margin-top:8px!important;}
  body.upvc-site-v221 .upvc-header.is-open .upvc-nav{display:flex!important;flex-direction:column!important;}
  body.upvc-site-v221 .upvc-nav a{display:block!important;text-align:center!important;padding:14px 16px!important;border-radius:18px!important;}
  body.upvc-site-v221 .ra-hero{min-height:auto!important;display:flex!important;flex-direction:column!important;}
  body.upvc-site-v221 .ra-bg{position:relative!important;width:100%!important;height:320px!important;order:2!important;background-image:linear-gradient(180deg,rgba(235,244,255,.04),rgba(235,244,255,.18)),var(--ra-bg-mobile)!important;background-position:center center!important;background-attachment:scroll!important;}
  body.upvc-site-v221 .ra-hero-inner{max-width:100%!important;margin:0 auto!important;padding:122px 0 36px!important;text-align:center!important;}
  body.upvc-site-v221 .ra-kicker,body.upvc-site-v221 .ra-hero-actions{justify-content:center!important;}
  body.upvc-site-v221 .ra-hero-title{text-align:center!important;font-size:clamp(42px,12vw,66px)!important;}
  body.upvc-site-v221 .ra-hero-intro{font-size:16px!important;margin-left:auto!important;margin-right:auto!important;}
  body.upvc-site-v221 .ra-hero-luxe-points{grid-template-columns:1fr!important;margin-top:24px!important;}
  body.upvc-site-v221 .ra-service-stack-grid,body.upvc-site-v221 .ra-project-grid,body.upvc-site-v221 .ra-trust-cards{grid-template-columns:1fr!important;}
  body.upvc-site-v221 .ra-service-stack-card:nth-child(2n),body.upvc-site-v221 .ra-project-card:nth-child(3n+2){transform:none!important;}
  body.upvc-site-v221 .ra-about-band{padding:76px 0!important;}
  body.upvc-site-v221 .ra-two-col{grid-template-columns:1fr!important;gap:38px!important;}
  body.upvc-site-v221 .ra-about-image img{height:330px!important;}
  body.upvc-site-v221 .ra-page-hero{padding:138px 0 60px!important;background-attachment:scroll!important;}
  body.upvc-site-v221 .upvc-footer-cta-row{grid-template-columns:1fr!important;padding:28px 24px!important;border-radius:30px!important;}
  body.upvc-site-v221 .upvc-footer-cta-copy h2{font-size:40px!important;}
  body.upvc-site-v221 .upvc-footer-cta-actions{justify-content:flex-start!important;}
  body.upvc-site-v221 .upvc-footer-grid{grid-template-columns:1fr!important;gap:16px!important;}
  body.upvc-site-v221 .upvc-footer-brand-col{grid-template-columns:82px 1fr!important;}
  body.upvc-site-v221 .upvc-footer-logo-luxe{width:82px!important;height:82px!important;}
  body.upvc-site-v221 .upvc-footer-logo-luxe img{width:64px!important;max-height:64px!important;}
  body.upvc-site-v221 .upvc-footer-bottom-luxe{flex-direction:column!important;align-items:flex-start!important;text-align:left!important;}
}


/* ============================
   v2.3.0 premium cleanup pass
   ============================ */
body.upvc-site-v230{background:#f6f9fd!important;color:#132844!important;}
body.upvc-site-v230 .ra-wrap{width:min(1280px,calc(100% - 48px))!important;}

/* clean premium header - no fake blending */
body.upvc-site-v230 .upvc-header-overlay{position:sticky!important;top:0!important;left:auto!important;right:auto!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(17,40,68,.07)!important;box-shadow:0 14px 34px rgba(18,36,62,.06)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:90!important;}
body.admin-bar.upvc-site-v230 .upvc-header-overlay{top:32px!important;}
body.upvc-site-v230 .upvc-header-shell{display:grid!important;grid-template-columns:240px 1fr auto;gap:24px;align-items:center;min-height:96px;padding:0!important;}
body.upvc-site-v230 .upvc-logo img{max-width:170px!important;max-height:62px!important;filter:none!important;}
body.upvc-site-v230 .upvc-logo-mark{background:#2f7ef0!important;color:#fff!important;border:0!important;box-shadow:none!important;}
body.upvc-site-v230 .upvc-logo-text{color:#102747!important;text-shadow:none!important;}
body.upvc-site-v230 .upvc-nav{display:flex!important;justify-content:center;gap:8px;}
body.upvc-site-v230 .upvc-nav a{padding:12px 16px!important;border-radius:999px!important;color:#17304f!important;background:transparent!important;font-size:14px!important;font-weight:800!important;letter-spacing:.03em!important;}
body.upvc-site-v230 .upvc-nav a:hover,body.upvc-site-v230 .upvc-nav .current-menu-item a{background:#edf4ff!important;color:#2f7ef0!important;box-shadow:inset 0 0 0 1px rgba(47,126,240,.08)!important;}
body.upvc-site-v230 .upvc-header-actions{display:flex;align-items:center;gap:12px;}
body.upvc-site-v230 .upvc-header-phone{height:50px!important;padding:0 22px!important;background:linear-gradient(135deg,#2f7ef0,#64b7ff)!important;border:0!important;color:#fff!important;box-shadow:0 14px 30px rgba(47,126,240,.24)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body.upvc-site-v230 .upvc-header-phone svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v230 .upvc-header-phone:hover{transform:translateY(-2px)!important;box-shadow:0 18px 36px rgba(47,126,240,.28)!important;}
body.upvc-site-v230 .upvc-menu-toggle{display:none!important;}

/* hero refined */
body.upvc-site-v230 .ra-hero{min-height:820px!important;background:linear-gradient(180deg,#eff5fc 0%,#f7fbff 100%)!important;}
body.upvc-site-v230 .ra-bg{width:58%!important;background-image:linear-gradient(90deg,rgba(239,245,252,1),rgba(239,245,252,.86) 28%,rgba(239,245,252,.28) 48%,rgba(239,245,252,0) 60%),var(--ra-bg-desktop)!important;background-position:center right!important;background-size:cover!important;}
body.upvc-site-v230 .ra-hero-frame,body.upvc-site-v230 .ra-hero-orb{display:none!important;}
body.upvc-site-v230 .ra-hero-inner{padding:104px 0 96px!important;max-width:670px!important;}
body.upvc-site-v230 .ra-kicker{margin-bottom:22px!important;color:#2f7ef0!important;}
body.upvc-site-v230 .ra-hero-title{font-size:clamp(64px,6.8vw,104px)!important;line-height:.92!important;color:#122845!important;}
body.upvc-site-v230 .ra-hero-title strong{color:#2f7ef0!important;}
body.upvc-site-v230 .ra-hero-intro{max-width:590px!important;font-size:20px!important;line-height:1.78!important;color:#586a81!important;}
body.upvc-site-v230 .ra-btn{height:58px!important;padding:0 26px!important;border-radius:999px!important;font-size:15px!important;}
body.upvc-site-v230 .ra-btn-gold{background:linear-gradient(135deg,#2f7ef0,#64b7ff)!important;box-shadow:0 18px 38px rgba(47,126,240,.22)!important;}
body.upvc-site-v230 .ra-btn-dark{background:#fff!important;border:1px solid rgba(17,40,68,.08)!important;box-shadow:0 16px 34px rgba(18,36,62,.06)!important;}
body.upvc-site-v230 .ra-hero-luxe-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px!important;margin-top:34px!important;}
body.upvc-site-v230 .ra-hero-luxe-card{background:#fff!important;border:1px solid rgba(17,40,68,.06)!important;box-shadow:0 18px 38px rgba(18,36,62,.05)!important;border-radius:24px!important;}
body.upvc-site-v230 .ra-hero-luxe-card b{background:#edf4ff!important;color:#2f7ef0!important;}
body.upvc-site-v230 .ra-hero-luxe-card span{color:#132844!important;}
body.upvc-site-v230 .ra-hero-luxe-card small{color:#687b93!important;}

/* sections / cards */
body.upvc-site-v230 .ra-service-stack-section,body.upvc-site-v230 .ra-services-cards-page{padding:96px 0!important;background:#f8fbff!important;}
body.upvc-site-v230 .ra-section-head-spacious{margin-bottom:38px!important;}
body.upvc-site-v230 .ra-section-sub{max-width:760px!important;color:#6c7d92!important;line-height:1.78!important;font-size:16px!important;}
body.upvc-site-v230 .ra-service-stack-grid,body.upvc-site-v230 .ra-project-grid{gap:28px!important;align-items:stretch!important;}
body.upvc-site-v230 .ra-service-stack-card,body.upvc-site-v230 .ra-project-card{background:#fff!important;border:1px solid rgba(17,40,68,.06)!important;border-radius:28px!important;box-shadow:0 22px 56px rgba(18,36,62,.06)!important;overflow:hidden!important;}
body.upvc-site-v230 .ra-service-stack-card:nth-child(2n),body.upvc-site-v230 .ra-project-card:nth-child(3n+2){transform:none!important;}
body.upvc-site-v230 .ra-service-stack-card:hover,body.upvc-site-v230 .ra-project-card:hover{transform:translateY(-6px)!important;border-color:rgba(47,126,240,.12)!important;box-shadow:0 26px 68px rgba(47,126,240,.12)!important;}
body.upvc-site-v230 .ra-service-stack-media{aspect-ratio:16/10!important;background:#e9f1fb!important;}
body.upvc-site-v230 .ra-project-image{aspect-ratio:4/3!important;background:#e9f1fb!important;}
body.upvc-site-v230 .ra-service-stack-body{padding:28px!important;}
body.upvc-site-v230 .ra-service-stack-icon{width:58px!important;height:58px!important;border-radius:18px!important;background:#edf4ff!important;box-shadow:none!important;margin-bottom:16px!important;}
body.upvc-site-v230 .ra-service-stack-body h3{font-size:30px!important;line-height:1.04!important;color:#132844!important;margin:0 0 10px!important;}
body.upvc-site-v230 .ra-service-stack-body p{font-size:15px!important;line-height:1.78!important;color:#6d7f95!important;margin:0!important;}
body.upvc-site-v230 .ra-project-body{padding:20px 22px 24px!important;}
body.upvc-site-v230 .ra-project-tag{background:#edf4ff!important;color:#2f7ef0!important;padding:8px 12px!important;border-radius:999px!important;font-size:11px!important;letter-spacing:.12em!important;text-transform:uppercase!important;}
body.upvc-site-v230 .ra-project-body h3{font-size:27px!important;line-height:1.06!important;color:#132844!important;margin:0!important;}
body.upvc-site-v230 .ra-recent-work-grid-section,body.upvc-site-v230 .ra-gallery-grid-page{padding:96px 0!important;background:linear-gradient(180deg,#eff5fc 0%,#f8fbff 100%)!important;}

/* about / page hero / contact */
body.upvc-site-v230 .ra-about-band{padding:104px 0!important;background:#fff!important;}
body.upvc-site-v230 .ra-two-col{gap:74px!important;align-items:center!important;}
body.upvc-site-v230 .ra-about-image img{height:480px!important;border-radius:30px!important;box-shadow:0 24px 62px rgba(18,36,62,.10)!important;}
body.upvc-site-v230 .ra-trust{background:#fff!important;border:1px solid rgba(17,40,68,.06)!important;border-radius:22px!important;box-shadow:0 16px 34px rgba(18,36,62,.05)!important;}
body.upvc-site-v230 .ra-page-hero{padding:96px 0 64px!important;background:linear-gradient(90deg,rgba(17,40,68,.76),rgba(17,40,68,.48),rgba(17,40,68,.12)),var(--ra-bg-desktop)!important;background-size:cover!important;background-position:center right!important;background-attachment:fixed!important;}
body.upvc-site-v230 .ra-page-title,body.upvc-site-v230 .ra-page-hero .ra-mini{color:#fff!important;}
body.upvc-site-v230 .ra-contact-strip{padding:0 0 92px!important;background:#f8fbff!important;}
body.upvc-site-v230 .ra-contact-box{border:1px solid rgba(17,40,68,.06)!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 20px 52px rgba(18,36,62,.06)!important;}
body.upvc-site-v230 .ra-contact-box>div{background:#fff!important;padding:34px!important;}
body.upvc-site-v230 .ra-contact-phone{font-size:38px!important;color:#132844!important;}

/* premium footer */
body.upvc-site-v230 .upvc-footer-luxe{background:linear-gradient(180deg,#0f2139 0%,#0b1a2f 100%)!important;color:#fff!important;padding:0 0 30px!important;}
body.upvc-site-v230 .upvc-footer-luxe:after{display:none!important;}
body.upvc-site-v230 .upvc-footer-panel{padding-top:26px!important;}
body.upvc-site-v230 .upvc-footer-cta-row{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 26px 72px rgba(0,0,0,.18)!important;border-radius:34px!important;padding:38px!important;}
body.upvc-site-v230 .upvc-footer-eyebrow{color:#95caff!important;}
body.upvc-site-v230 .upvc-footer-cta-copy h2{font-size:56px!important;line-height:.95!important;color:#fff!important;}
body.upvc-site-v230 .upvc-footer-lead{color:rgba(255,255,255,.72)!important;}
body.upvc-site-v230 .upvc-footer-cta-primary{background:#fff!important;color:#2f7ef0!important;}
body.upvc-site-v230 .upvc-footer-cta-primary svg{stroke:#2f7ef0!important;}
body.upvc-site-v230 .upvc-footer-cta-secondary{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;}
body.upvc-site-v230 .upvc-footer-grid{display:grid!important;grid-template-columns:1.1fr .75fr .85fr!important;gap:34px!important;padding:22px 4px 8px!important;}
body.upvc-site-v230 .upvc-footer-brand-col{display:grid!important;grid-template-columns:96px 1fr!important;gap:18px!important;}
body.upvc-site-v230 .upvc-footer-logo-luxe{width:96px!important;height:96px!important;border-radius:28px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;}
body.upvc-site-v230 .upvc-footer-logo-luxe img{width:76px!important;max-height:76px!important;}
body.upvc-site-v230 .upvc-footer-brand-copy strong{font-size:34px!important;line-height:1!important;color:#fff!important;}
body.upvc-site-v230 .upvc-footer-brand-copy span{display:block!important;margin:8px 0 12px!important;color:#a9d4ff!important;font-size:13px!important;letter-spacing:.18em!important;text-transform:uppercase!important;}
body.upvc-site-v230 .upvc-footer-brand-copy p,body.upvc-site-v230 .upvc-footer-address{color:rgba(255,255,255,.70)!important;line-height:1.82!important;font-size:15px!important;}
body.upvc-site-v230 .upvc-footer-links-col h3,body.upvc-site-v230 .upvc-footer-contact-col h3{color:#9fcfff!important;font-size:12px!important;letter-spacing:.20em!important;text-transform:uppercase!important;}
body.upvc-site-v230 .upvc-footer-links-luxe a{color:#fff!important;text-decoration:none!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;gap:10px!important;opacity:.94!important;}
body.upvc-site-v230 .upvc-footer-links-luxe a:before{content:"";width:8px;height:8px;border-radius:50%;background:#64b7ff;box-shadow:0 0 12px rgba(100,183,255,.5);} 
body.upvc-site-v230 .upvc-footer-phone-luxe{display:block!important;margin-top:14px!important;color:#fff!important;font-size:30px!important;text-decoration:none!important;}
body.upvc-site-v230 .upvc-footer-facebook-luxe{display:block!important;margin-top:10px!important;color:#9fcfff!important;text-decoration:none!important;font-weight:700!important;}
body.upvc-site-v230 .upvc-footer-bottom-luxe{display:flex!important;justify-content:space-between!important;gap:20px!important;margin-top:28px!important;padding:24px 4px 0!important;border-top:1px solid rgba(255,255,255,.10)!important;color:rgba(255,255,255,.60)!important;font-size:13px!important;}
body.upvc-site-v230 .upvc-footer-bottom-luxe a{color:#fff!important;font-weight:800!important;text-decoration:none!important;}

/* mobile */
@media(max-width:1180px){
  body.upvc-site-v230 .upvc-footer-grid{grid-template-columns:1fr 1fr!important;}
  body.upvc-site-v230 .upvc-footer-brand-col{grid-column:1/-1!important;}
  body.upvc-site-v230 .ra-service-stack-grid,body.upvc-site-v230 .ra-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:860px){
  body.admin-bar.upvc-site-v230 .upvc-header-overlay{top:46px!important;}
  body.upvc-site-v230 .upvc-header-shell{grid-template-columns:auto 1fr auto auto!important;gap:10px!important;min-height:82px!important;}
  body.upvc-site-v230 .upvc-logo img{max-width:118px!important;max-height:48px!important;}
  body.upvc-site-v230 .upvc-header-actions{display:contents!important;}
  body.upvc-site-v230 .upvc-header-phone{display:inline-flex!important;height:42px!important;padding:0 14px!important;font-size:13px!important;justify-self:end!important;}
  body.upvc-site-v230 .upvc-menu-toggle{display:inline-flex!important;height:42px!important;padding:0 16px!important;border-radius:999px!important;background:#132844!important;border:0!important;color:#fff!important;font-weight:800!important;box-shadow:0 12px 24px rgba(18,40,68,.18)!important;}
  body.upvc-site-v230 .upvc-nav{display:none!important;grid-column:1/-1!important;background:#fff!important;border:1px solid rgba(17,40,68,.08)!important;border-radius:22px!important;padding:10px!important;box-shadow:0 20px 42px rgba(18,36,62,.10)!important;margin:8px 0 14px!important;}
  body.upvc-site-v230 .upvc-header.is-open .upvc-nav{display:flex!important;flex-direction:column!important;}
  body.upvc-site-v230 .upvc-nav a{display:block!important;text-align:center!important;padding:14px 16px!important;color:#17304f!important;border-radius:16px!important;}
  body.upvc-site-v230 .upvc-nav a:hover,body.upvc-site-v230 .upvc-nav .current-menu-item a{background:#edf4ff!important;color:#2f7ef0!important;}
  body.upvc-site-v230 .ra-hero{min-height:auto!important;display:flex!important;flex-direction:column!important;}
  body.upvc-site-v230 .ra-bg{position:relative!important;width:100%!important;height:300px!important;order:2!important;background-image:linear-gradient(180deg,rgba(239,245,252,.08),rgba(239,245,252,.14)),var(--ra-bg-mobile)!important;background-position:center center!important;background-attachment:scroll!important;}
  body.upvc-site-v230 .ra-hero-inner{max-width:100%!important;padding:58px 0 30px!important;text-align:center!important;}
  body.upvc-site-v230 .ra-kicker,body.upvc-site-v230 .ra-hero-actions{justify-content:center!important;}
  body.upvc-site-v230 .ra-hero-title{text-align:center!important;font-size:clamp(42px,12vw,66px)!important;}
  body.upvc-site-v230 .ra-hero-intro{font-size:16px!important;margin-left:auto!important;margin-right:auto!important;}
  body.upvc-site-v230 .ra-hero-luxe-points{grid-template-columns:1fr!important;gap:14px!important;margin-top:24px!important;}
  body.upvc-site-v230 .ra-service-stack-grid,body.upvc-site-v230 .ra-project-grid,body.upvc-site-v230 .ra-trust-cards{grid-template-columns:1fr!important;}
  body.upvc-site-v230 .ra-two-col{grid-template-columns:1fr!important;gap:36px!important;}
  body.upvc-site-v230 .ra-about-image img{height:320px!important;}
  body.upvc-site-v230 .ra-page-hero{padding:74px 0 52px!important;background-attachment:scroll!important;}
  body.upvc-site-v230 .upvc-footer-cta-row{grid-template-columns:1fr!important;padding:28px 22px!important;border-radius:28px!important;}
  body.upvc-site-v230 .upvc-footer-cta-copy h2{font-size:40px!important;}
  body.upvc-site-v230 .upvc-footer-grid{grid-template-columns:1fr!important;gap:16px!important;}
  body.upvc-site-v230 .upvc-footer-brand-col{grid-template-columns:80px 1fr!important;}
  body.upvc-site-v230 .upvc-footer-logo-luxe{width:80px!important;height:80px!important;}
  body.upvc-site-v230 .upvc-footer-logo-luxe img{width:62px!important;max-height:62px!important;}
  body.upvc-site-v230 .upvc-footer-bottom-luxe{flex-direction:column!important;align-items:flex-start!important;text-align:left!important;}
}


/* ============================
   v2.4.0 premium home cleanup
   ============================ */
body.upvc-site-v240{background:#f5f8fc!important;color:#16314f!important;overflow-x:hidden;}
body.upvc-site-v240 .ra-wrap{width:min(1240px,calc(100% - 40px))!important;}
body.upvc-site-v240 .ra-section,
body.upvc-site-v240 .ra-service-stack-section,
body.upvc-site-v240 .ra-services-cards-page,
body.upvc-site-v240 .ra-gallery-grid-page,
body.upvc-site-v240 .ra-about-band,
body.upvc-site-v240 .ra-contact-strip,
body.upvc-site-v240 .ra-about-page,
body.upvc-site-v240 .ra-contact-page{background:#f5f8fc!important;border-bottom:0!important;}

/* true premium overlay header */
body.upvc-site-v240.home .upvc-header-overlay{position:absolute!important;top:0!important;left:0!important;right:0!important;background:transparent!important;border-bottom:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:80!important;}
body.admin-bar.upvc-site-v240.home .upvc-header-overlay{top:32px!important;}
body.upvc-site-v240.home .upvc-header-shell{min-height:104px!important;grid-template-columns:220px 1fr auto!important;gap:22px!important;align-items:center!important;}
body.upvc-site-v240.home .upvc-logo img{max-width:172px!important;max-height:70px!important;filter:drop-shadow(0 10px 30px rgba(0,0,0,.28))!important;}
body.upvc-site-v240.home .upvc-logo-mark{background:#2f7ef0!important;color:#fff!important;border:0!important;}
body.upvc-site-v240.home .upvc-logo-text,
body.upvc-site-v240.home .upvc-nav a,
body.upvc-site-v240.home .upvc-menu-toggle{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.35)!important;}
body.upvc-site-v240.home .upvc-nav a{padding:12px 16px!important;border-radius:999px!important;font-size:14px!important;font-weight:800!important;letter-spacing:.03em!important;}
body.upvc-site-v240.home .upvc-nav a:hover,
body.upvc-site-v240.home .upvc-nav .current-menu-item a{background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important;}
body.upvc-site-v240.home .upvc-header-phone{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:0 14px 34px rgba(0,0,0,.18)!important;}
body.upvc-site-v240.home .upvc-header-phone svg{stroke:#fff!important;fill:none!important;}

/* inner header clean */
body.upvc-site-v240:not(.home) .upvc-header-overlay{position:sticky!important;top:0!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(18,40,68,.08)!important;box-shadow:0 12px 34px rgba(18,36,62,.06)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
body.admin-bar.upvc-site-v240:not(.home) .upvc-header-overlay{top:32px!important;}
body.upvc-site-v240:not(.home) .upvc-header-shell{min-height:90px!important;grid-template-columns:220px 1fr auto!important;gap:20px!important;}
body.upvc-site-v240:not(.home) .upvc-logo img{max-width:156px!important;max-height:60px!important;}
body.upvc-site-v240:not(.home) .upvc-nav a{padding:12px 16px!important;border-radius:999px!important;color:#16314f!important;font-size:14px!important;font-weight:800!important;}
body.upvc-site-v240:not(.home) .upvc-nav a:hover,
body.upvc-site-v240:not(.home) .upvc-nav .current-menu-item a{background:#eef5ff!important;color:#2f7ef0!important;}
body.upvc-site-v240:not(.home) .upvc-header-phone{background:linear-gradient(135deg,#2f7ef0,#63b8ff)!important;border:0!important;color:#fff!important;box-shadow:0 14px 34px rgba(47,126,240,.22)!important;}
body.upvc-site-v240:not(.home) .upvc-header-phone svg{stroke:#fff!important;fill:none!important;}

/* full width hero */
body.upvc-site-v240 .ra-hero{min-height:860px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border-bottom:0!important;background:#0f2947!important;}
body.upvc-site-v240 .ra-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-image:linear-gradient(180deg,rgba(8,20,35,.48) 0%,rgba(10,22,38,.42) 22%,rgba(10,23,40,.62) 100%),var(--ra-bg-desktop)!important;background-position:center center!important;background-size:cover!important;background-attachment:fixed!important;filter:none!important;}
body.upvc-site-v240 .ra-hero:after{content:''!important;position:absolute;inset:0!important;background:linear-gradient(180deg,rgba(6,18,34,.22),rgba(6,18,34,.52));pointer-events:none!important;}
body.upvc-site-v240 .ra-hero-frame,
body.upvc-site-v240 .ra-hero-orb{display:none!important;}
body.upvc-site-v240 .ra-hero-inner{position:relative!important;z-index:2!important;width:min(980px,calc(100% - 40px))!important;padding:176px 0 108px!important;text-align:center!important;}
body.upvc-site-v240 .ra-kicker{justify-content:center!important;color:#ffffff!important;letter-spacing:.30em!important;font-size:14px!important;margin-bottom:20px!important;text-shadow:0 2px 18px rgba(0,0,0,.34)!important;}
body.upvc-site-v240 .ra-kicker span{width:110px!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)!important;}
body.upvc-site-v240 .ra-hero-title{margin:0 auto 22px!important;max-width:920px!important;font-family:var(--font-head)!important;font-size:clamp(52px,7vw,108px)!important;line-height:.94!important;letter-spacing:-.03em!important;text-transform:none!important;text-shadow:0 12px 42px rgba(0,0,0,.28)!important;}
body.upvc-site-v240 .ra-hero-title b,
body.upvc-site-v240 .ra-hero-title strong{display:block!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#fff!important;-webkit-text-stroke:0!important;}
body.upvc-site-v240 .ra-hero-title strong{color:#cfe6ff!important;}
body.upvc-site-v240 .ra-hero-intro{max-width:760px!important;margin:0 auto 34px!important;font-size:20px!important;line-height:1.75!important;color:rgba(255,255,255,.94)!important;text-shadow:none!important;}
body.upvc-site-v240 .ra-hero-actions{justify-content:center!important;gap:18px!important;flex-wrap:wrap!important;}
body.upvc-site-v240 .ra-btn{height:56px!important;min-width:210px!important;padding:0 26px!important;border-radius:999px!important;font-size:15px!important;}
body.upvc-site-v240 .ra-btn-gold{background:linear-gradient(135deg,#2f7ef0,#63b8ff)!important;color:#fff!important;box-shadow:0 18px 42px rgba(47,126,240,.25)!important;}
body.upvc-site-v240 .ra-btn-gold svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v240 .ra-btn-dark{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;box-shadow:0 18px 42px rgba(0,0,0,.16)!important;}
body.upvc-site-v240 .ra-btn-dark svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v240 .ra-hero-luxe-points{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;max-width:980px!important;margin:42px auto 0!important;}
body.upvc-site-v240 .ra-hero-luxe-card{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:24px!important;padding:20px!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 42px rgba(0,0,0,.12)!important;text-align:center!important;}
body.upvc-site-v240 .ra-hero-luxe-card b{display:inline-flex!important;width:48px!important;height:48px!important;border-radius:16px!important;background:rgba(255,255,255,.14)!important;color:#fff!important;align-items:center!important;justify-content:center!important;margin:0 auto 14px!important;}
body.upvc-site-v240 .ra-hero-luxe-card span{display:block!important;color:#fff!important;font-weight:800!important;margin-bottom:4px!important;}
body.upvc-site-v240 .ra-hero-luxe-card small{display:block!important;color:rgba(255,255,255,.82)!important;line-height:1.55!important;}

/* centered premium service cards */
body.upvc-site-v240 .ra-service-stack-section{padding:96px 0!important;}
body.upvc-site-v240 .ra-section-head, body.upvc-site-v240 .ra-copy, body.upvc-site-v240 .ra-contact-box, body.upvc-site-v240 .upvc-footer-panel{ text-align:center!important; }
body.upvc-site-v240 .ra-section-head-spacious{max-width:820px!important;margin:0 auto 38px!important;}
body.upvc-site-v240 .ra-section-head h2{color:#16314f!important;text-shadow:none!important;}
body.upvc-site-v240 .ra-mini{color:#2f7ef0!important;text-align:center!important;}
body.upvc-site-v240 .ra-section-sub{max-width:760px!important;margin:0 auto!important;color:#6b7f95!important;line-height:1.78!important;}
body.upvc-site-v240 .ra-service-stack-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;align-items:stretch!important;}
body.upvc-site-v240 .ra-service-stack-card{background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:28px!important;box-shadow:0 20px 54px rgba(18,36,62,.07)!important;padding:34px 28px!important;overflow:hidden!important;text-align:center!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:100%!important;}
body.upvc-site-v240 .ra-service-stack-card:hover{transform:translateY(-6px)!important;box-shadow:0 28px 70px rgba(47,126,240,.12)!important;border-color:rgba(47,126,240,.18)!important;}
body.upvc-site-v240 .ra-service-stack-media{display:none!important;}
body.upvc-site-v240 .ra-service-stack-icon{width:72px!important;height:72px!important;margin:0 auto 18px!important;border-radius:20px!important;background:#eef5ff!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;}
body.upvc-site-v240 .ra-service-stack-icon svg{width:34px!important;height:34px!important;stroke:#2f7ef0!important;fill:none!important;}
body.upvc-site-v240 .ra-service-stack-body{padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;}
body.upvc-site-v240 .ra-service-stack-body h3{font-size:30px!important;line-height:1.08!important;color:#16314f!important;margin:0 0 12px!important;}
body.upvc-site-v240 .ra-service-stack-body p{font-size:15.5px!important;line-height:1.8!important;color:#6b7f95!important;max-width:36ch!important;margin:0 auto!important;}

/* centered about */
body.upvc-site-v240 .ra-about-band{padding:88px 0 96px!important;background:linear-gradient(180deg,#eef5fd 0%,#f7fbff 100%)!important;}
body.upvc-site-v240 .ra-two-col{display:grid!important;grid-template-columns:1fr!important;gap:30px!important;max-width:980px!important;margin:0 auto!important;}
body.upvc-site-v240 .ra-about-image{justify-content:center!important;min-height:0!important;order:1!important;}
body.upvc-site-v240 .ra-about-image img{width:100%!important;height:420px!important;object-fit:cover!important;border-radius:30px!important;border:0!important;box-shadow:0 24px 70px rgba(18,36,62,.10)!important;}
body.upvc-site-v240 .ra-copy{order:2!important;max-width:860px!important;margin:0 auto!important;}
body.upvc-site-v240 .ra-copy h2, body.upvc-site-v240 .ra-page-title{color:#16314f!important;text-shadow:none!important;}
body.upvc-site-v240 .ra-copy p{color:#6b7f95!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;line-height:1.85!important;}
body.upvc-site-v240 .ra-trust-cards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin-top:26px!important;}
body.upvc-site-v240 .ra-trust{background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:22px!important;box-shadow:0 16px 38px rgba(18,36,62,.05)!important;color:#16314f!important;text-align:center!important;min-height:0!important;padding:22px 18px!important;}
body.upvc-site-v240 .ra-trust b{color:#2f7ef0!important;background:#eef5ff!important;border-radius:14px!important;width:48px!important;height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0 auto 10px!important;}
body.upvc-site-v240 .ra-trust small{color:#6b7f95!important;}

/* gallery page cards */
body.upvc-site-v240 .ra-project-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;align-items:stretch!important;}
body.upvc-site-v240 .ra-project-card{background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 20px 54px rgba(18,36,62,.07)!important;text-align:center!important;}
body.upvc-site-v240 .ra-project-card:hover{transform:translateY(-6px)!important;box-shadow:0 28px 70px rgba(47,126,240,.12)!important;border-color:rgba(47,126,240,.18)!important;}
body.upvc-site-v240 .ra-project-image{aspect-ratio:4/3!important;background:#dfeaf8!important;}
body.upvc-site-v240 .ra-project-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
body.upvc-site-v240 .ra-project-body{padding:20px 22px 26px!important;}
body.upvc-site-v240 .ra-project-tag{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#eef5ff!important;color:#2f7ef0!important;border-radius:999px!important;padding:8px 12px!important;font-size:11px!important;letter-spacing:.12em!important;margin-bottom:12px!important;}
body.upvc-site-v240 .ra-project-body h3{font-size:28px!important;line-height:1.08!important;color:#16314f!important;margin:0!important;}

/* contact strip */
body.upvc-site-v240 .ra-contact-strip{padding:0 0 92px!important;}
body.upvc-site-v240 .ra-contact-box{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:28px!important;box-shadow:0 20px 54px rgba(18,36,62,.07)!important;overflow:hidden!important;max-width:1180px!important;margin:0 auto!important;}
body.upvc-site-v240 .ra-contact-box>div{padding:34px 24px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;background:#fff!important;border-right:1px solid rgba(18,40,68,.08)!important;text-align:center!important;}
body.upvc-site-v240 .ra-contact-box>div:last-child{border-right:0!important;}
body.upvc-site-v240 .ra-contact-box svg{width:32px!important;height:32px!important;stroke:#2f7ef0!important;fill:none!important;}
body.upvc-site-v240 .ra-contact-box p, body.upvc-site-v240 .ra-contact-box a{margin:0!important;color:#16314f!important;text-decoration:none!important;}
body.upvc-site-v240 .ra-contact-phone{font-size:34px!important;font-weight:800!important;color:#16314f!important;}

/* premium centered footer */
body.upvc-site-v240 .upvc-footer-luxe{background:linear-gradient(180deg,#0e2139 0%,#0a1a2d 100%)!important;color:#fff!important;padding:0 0 28px!important;}
body.upvc-site-v240 .upvc-footer-panel{padding-top:26px!important;text-align:center!important;}
body.upvc-site-v240 .upvc-footer-cta-row{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:34px!important;box-shadow:0 24px 70px rgba(0,0,0,.18)!important;padding:38px 28px!important;max-width:1080px!important;margin:0 auto 22px!important;text-align:center!important;}
body.upvc-site-v240 .upvc-footer-eyebrow{color:#9dd0ff!important;}
body.upvc-site-v240 .upvc-footer-cta-copy h2{font-size:54px!important;line-height:.96!important;color:#fff!important;margin:0 0 10px!important;}
body.upvc-site-v240 .upvc-footer-lead{max-width:760px!important;margin:0 auto!important;color:rgba(255,255,255,.76)!important;line-height:1.8!important;}
body.upvc-site-v240 .upvc-footer-cta-actions{display:flex!important;justify-content:center!important;gap:14px!important;flex-wrap:wrap!important;}
body.upvc-site-v240 .upvc-footer-cta-primary, body.upvc-site-v240 .upvc-footer-cta-secondary{height:54px!important;padding:0 24px!important;border-radius:999px!important;text-decoration:none!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;}
body.upvc-site-v240 .upvc-footer-cta-primary{background:#fff!important;color:#2f7ef0!important;}
body.upvc-site-v240 .upvc-footer-cta-secondary{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;}
body.upvc-site-v240 .upvc-footer-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;align-items:start!important;padding:22px 0 8px!important;text-align:center!important;}
body.upvc-site-v240 .upvc-footer-brand-col{display:flex!important;flex-direction:column!important;align-items:center!important;gap:16px!important;}
body.upvc-site-v240 .upvc-footer-logo-luxe{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:92px!important;height:92px!important;border-radius:28px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;}
body.upvc-site-v240 .upvc-footer-logo-luxe img{width:72px!important;max-height:72px!important;}
body.upvc-site-v240 .upvc-footer-brand-copy strong{display:block!important;font-size:30px!important;line-height:1.05!important;}
body.upvc-site-v240 .upvc-footer-brand-copy span{display:block!important;margin:8px 0 10px!important;color:#9dd0ff!important;font-size:13px!important;letter-spacing:.18em!important;text-transform:uppercase!important;}
body.upvc-site-v240 .upvc-footer-brand-copy p,
body.upvc-site-v240 .upvc-footer-address{margin:0 auto!important;max-width:340px!important;color:rgba(255,255,255,.72)!important;line-height:1.8!important;font-size:15px!important;}
body.upvc-site-v240 .upvc-footer-links-col h3, body.upvc-site-v240 .upvc-footer-contact-col h3{font-size:12px!important;letter-spacing:.20em!important;text-transform:uppercase!important;color:#9dd0ff!important;margin-bottom:14px!important;}
body.upvc-site-v240 .upvc-footer-links-luxe{display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;}
body.upvc-site-v240 .upvc-footer-links-luxe a, body.upvc-site-v240 .upvc-footer-facebook-luxe, body.upvc-site-v240 .upvc-footer-phone-luxe{color:#fff!important;text-decoration:none!important;}
body.upvc-site-v240 .upvc-footer-phone-luxe{display:block!important;font-size:28px!important;font-weight:800!important;margin-top:10px!important;}
body.upvc-site-v240 .upvc-footer-facebook-luxe{display:inline-block!important;margin-top:12px!important;color:#9dd0ff!important;font-weight:700!important;}
body.upvc-site-v240 .upvc-footer-bottom-luxe{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:10px 28px!important;border-top:1px solid rgba(255,255,255,.10)!important;margin-top:24px!important;padding-top:22px!important;text-align:center!important;color:rgba(255,255,255,.68)!important;}
body.upvc-site-v240 .upvc-footer-bottom-luxe p{margin:0!important;}
body.upvc-site-v240 .upvc-footer-bottom-luxe a{color:#fff!important;text-decoration:none!important;font-weight:800!important;}

/* inner page hero */
body.upvc-site-v240 .ra-page-hero{padding:170px 0 76px!important;background:linear-gradient(180deg,rgba(10,23,40,.56),rgba(10,23,40,.68)),var(--ra-bg-desktop)!important;background-size:cover!important;background-position:center!important;background-attachment:fixed!important;text-align:center!important;}
body.upvc-site-v240 .ra-page-title{color:#fff!important;}
body.upvc-site-v240 .ra-page-hero .ra-mini{color:#dcecff!important;}

/* mobile + tablet */
@media(max-width:1100px){
  body.upvc-site-v240 .ra-service-stack-grid,
  body.upvc-site-v240 .ra-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.upvc-site-v240 .ra-trust-cards,
  body.upvc-site-v240 .upvc-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.upvc-site-v240 .upvc-footer-brand-col{grid-column:1/-1!important;}
}
@media(max-width:860px){
  body.admin-bar.upvc-site-v240.home .upvc-header-overlay{top:46px!important;}
  body.admin-bar.upvc-site-v240:not(.home) .upvc-header-overlay{top:46px!important;}
  body.upvc-site-v240.home .upvc-header-shell,
  body.upvc-site-v240:not(.home) .upvc-header-shell{grid-template-columns:auto 1fr auto auto!important;gap:10px!important;min-height:82px!important;}
  body.upvc-site-v240 .upvc-logo img{max-width:118px!important;max-height:48px!important;}
  body.upvc-site-v240 .upvc-header-actions{display:contents!important;}
  body.upvc-site-v240 .upvc-header-phone{display:inline-flex!important;height:42px!important;padding:0 14px!important;font-size:13px!important;justify-self:end!important;}
  body.upvc-site-v240 .upvc-menu-toggle{display:inline-flex!important;height:42px!important;padding:0 16px!important;border-radius:999px!important;background:rgba(17,40,68,.88)!important;border:0!important;color:#fff!important;box-shadow:0 12px 28px rgba(0,0,0,.18)!important;}
  body.upvc-site-v240 .upvc-nav{display:none!important;grid-column:1/-1!important;flex-direction:column!important;gap:6px!important;background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:22px!important;padding:10px!important;box-shadow:0 20px 42px rgba(18,36,62,.10)!important;margin:8px 0 14px!important;}
  body.upvc-site-v240 .upvc-header.is-open .upvc-nav{display:flex!important;}
  body.upvc-site-v240.home .upvc-header.is-open .upvc-nav{background:rgba(14,33,57,.96)!important;border-color:rgba(255,255,255,.10)!important;}
  body.upvc-site-v240.home .upvc-header.is-open .upvc-nav a{color:#fff!important;}
  body.upvc-site-v240.home .upvc-header.is-open .upvc-nav a:hover,
  body.upvc-site-v240.home .upvc-header.is-open .upvc-nav .current-menu-item a{background:rgba(255,255,255,.12)!important;}
  body.upvc-site-v240 .ra-bg,
  body.upvc-site-v240 .ra-page-hero{background-attachment:scroll!important;}
  body.upvc-site-v240 .ra-hero{min-height:auto!important;}
  body.upvc-site-v240 .ra-hero-inner{padding:132px 0 72px!important;width:min(100% - 24px,760px)!important;}
  body.upvc-site-v240 .ra-kicker{font-size:11px!important;letter-spacing:.22em!important;}
  body.upvc-site-v240 .ra-kicker span{width:42px!important;}
  body.upvc-site-v240 .ra-hero-title{font-size:clamp(42px,12vw,64px)!important;line-height:.98!important;}
  body.upvc-site-v240 .ra-hero-intro{font-size:16px!important;line-height:1.7!important;}
  body.upvc-site-v240 .ra-hero-luxe-points,
  body.upvc-site-v240 .ra-service-stack-grid,
  body.upvc-site-v240 .ra-project-grid,
  body.upvc-site-v240 .ra-trust-cards,
  body.upvc-site-v240 .ra-contact-box,
  body.upvc-site-v240 .upvc-footer-grid{grid-template-columns:1fr!important;}
  body.upvc-site-v240 .ra-about-image img{height:280px!important;}
  body.upvc-site-v240 .ra-contact-box>div{border-right:0!important;border-bottom:1px solid rgba(18,40,68,.08)!important;}
  body.upvc-site-v240 .ra-contact-box>div:last-child{border-bottom:0!important;}
  body.upvc-site-v240 .upvc-footer-cta-copy h2{font-size:38px!important;}
  body.upvc-site-v240 .upvc-footer-bottom-luxe{flex-direction:column!important;gap:10px!important;}
}


/* ============================
   v2.4.1 premium hero/header refinements
   ============================ */
body.upvc-site-v241{background:#f5f8fc!important;color:#16314f!important;overflow-x:hidden;}
body.upvc-site-v241 .ra-wrap{width:min(1280px,calc(100% - 40px))!important;}
body.upvc-site-v241 .ra-section,
body.upvc-site-v241 .ra-service-stack-section,
body.upvc-site-v241 .ra-services-cards-page,
body.upvc-site-v241 .ra-gallery-grid-page,
body.upvc-site-v241 .ra-about-band,
body.upvc-site-v241 .ra-contact-strip,
body.upvc-site-v241 .ra-about-page,
body.upvc-site-v241 .ra-contact-page{background:#f5f8fc!important;border-bottom:0!important;}

/* Blended overlay header on every page */
body.upvc-site-v241 .upvc-header-overlay{position:absolute!important;top:0!important;left:0!important;right:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:95!important;}
body.admin-bar.upvc-site-v241 .upvc-header-overlay{top:32px!important;}
body.upvc-site-v241 .upvc-header-shell{position:relative!important;display:grid!important;grid-template-columns:210px 1fr auto!important;align-items:center!important;gap:22px!important;min-height:110px!important;padding:18px 0!important;}
body.upvc-site-v241 .upvc-logo{display:flex!important;align-items:center!important;min-height:68px!important;z-index:2!important;}
body.upvc-site-v241 .upvc-logo img{max-width:150px!important;max-height:60px!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important;filter:drop-shadow(0 12px 32px rgba(0,0,0,.22))!important;}
body.upvc-site-v241 .upvc-logo-mark{background:#2f7ef0!important;color:#fff!important;border:0!important;}
body.upvc-site-v241 .upvc-logo-text,
body.upvc-site-v241 .upvc-nav a,
body.upvc-site-v241 .upvc-menu-toggle{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.28)!important;}
body.upvc-site-v241 .upvc-nav{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;}
body.upvc-site-v241 .upvc-nav a{padding:12px 16px!important;border-radius:999px!important;font-size:14px!important;font-weight:800!important;letter-spacing:.03em!important;text-decoration:none!important;white-space:nowrap!important;}
body.upvc-site-v241 .upvc-nav a:hover,
body.upvc-site-v241 .upvc-nav .current-menu-item a{background:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;}
body.upvc-site-v241 .upvc-header-actions{display:flex!important;align-items:center!important;gap:12px!important;justify-self:end!important;white-space:nowrap!important;z-index:2!important;}
body.upvc-site-v241 .upvc-header-phone{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:50px!important;padding:0 22px!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.10))!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;border-radius:999px!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;box-shadow:0 16px 36px rgba(0,0,0,.16)!important;white-space:nowrap!important;min-width:170px!important;}
body.upvc-site-v241 .upvc-header-phone:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.14))!important;}
body.upvc-site-v241 .upvc-header-phone svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v241 .upvc-menu-toggle{display:none!important;align-items:center!important;justify-content:center!important;height:50px!important;padding:0 18px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;font-weight:800!important;}

/* Full width hero on home */
body.upvc-site-v241 .ra-hero{min-height:920px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border-bottom:0!important;background:#0f2947!important;}
body.upvc-site-v241 .ra-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-image:linear-gradient(180deg,rgba(8,20,35,.42) 0%,rgba(10,22,38,.38) 20%,rgba(10,23,40,.58) 100%),var(--ra-bg-desktop)!important;background-position:center center!important;background-size:cover!important;background-attachment:fixed!important;filter:none!important;}
body.upvc-site-v241 .ra-hero:after{content:''!important;position:absolute;inset:0!important;background:linear-gradient(180deg,rgba(6,18,34,.18),rgba(6,18,34,.48));pointer-events:none!important;}
body.upvc-site-v241 .ra-hero-frame,
body.upvc-site-v241 .ra-hero-orb{display:none!important;}
body.upvc-site-v241 .ra-hero-inner{position:relative!important;z-index:2!important;width:min(980px,calc(100% - 40px))!important;padding:210px 0 118px!important;text-align:center!important;}
body.upvc-site-v241 .ra-kicker{justify-content:center!important;color:#ffffff!important;letter-spacing:.26em!important;font-size:15px!important;margin-bottom:24px!important;text-shadow:0 2px 18px rgba(0,0,0,.34)!important;}
body.upvc-site-v241 .ra-kicker span{display:block!important;width:110px!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)!important;}
body.upvc-site-v241 .ra-hero-title{margin:0 auto 24px!important;max-width:780px!important;font-family:var(--font-head)!important;font-size:clamp(56px,6.6vw,98px)!important;line-height:.98!important;letter-spacing:-.02em!important;text-transform:none!important;text-shadow:0 10px 36px rgba(0,0,0,.28)!important;}
body.upvc-site-v241 .ra-hero-title b,
body.upvc-site-v241 .ra-hero-title strong{display:block!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-stroke:0!important;}
body.upvc-site-v241 .ra-hero-title b{color:#fff!important;}
body.upvc-site-v241 .ra-hero-title strong{color:#d8eaff!important;}
body.upvc-site-v241 .ra-hero-intro{max-width:760px!important;margin:0 auto 34px!important;font-size:21px!important;line-height:1.78!important;color:rgba(255,255,255,.94)!important;text-shadow:none!important;}
body.upvc-site-v241 .ra-hero-actions{justify-content:center!important;gap:18px!important;flex-wrap:wrap!important;}
body.upvc-site-v241 .ra-btn{height:56px!important;min-width:214px!important;padding:0 26px!important;border-radius:999px!important;font-size:15px!important;}
body.upvc-site-v241 .ra-btn-gold{background:linear-gradient(135deg,#2f7ef0,#63b8ff)!important;color:#fff!important;box-shadow:0 18px 42px rgba(47,126,240,.25)!important;}
body.upvc-site-v241 .ra-btn-gold svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v241 .ra-btn-dark{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;box-shadow:0 18px 42px rgba(0,0,0,.16)!important;}
body.upvc-site-v241 .ra-btn-dark svg{stroke:#fff!important;fill:none!important;}
body.upvc-site-v241 .ra-hero-luxe-points{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;max-width:980px!important;margin:56px auto 0!important;}
body.upvc-site-v241 .ra-hero-luxe-card{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:24px!important;padding:22px 20px!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;box-shadow:0 18px 42px rgba(0,0,0,.12)!important;text-align:center!important;}
body.upvc-site-v241 .ra-hero-luxe-card b{display:inline-flex!important;width:48px!important;height:48px!important;border-radius:16px!important;background:rgba(255,255,255,.14)!important;color:#fff!important;align-items:center!important;justify-content:center!important;margin:0 auto 14px!important;}
body.upvc-site-v241 .ra-hero-luxe-card span{display:block!important;color:#fff!important;font-weight:800!important;margin-bottom:5px!important;}
body.upvc-site-v241 .ra-hero-luxe-card small{display:block!important;color:rgba(255,255,255,.84)!important;line-height:1.65!important;}

/* Page hero full width on all inner pages */
body.upvc-site-v241 .ra-page-hero{position:relative!important;padding:188px 0 88px!important;min-height:420px!important;background-image:linear-gradient(180deg,rgba(8,20,35,.44) 0%,rgba(10,22,38,.40) 22%,rgba(10,23,40,.62) 100%),var(--ra-bg-desktop)!important;background-position:center center!important;background-size:cover!important;background-attachment:fixed!important;text-align:center!important;overflow:hidden!important;}
body.upvc-site-v241 .ra-page-hero .ra-wrap{max-width:920px!important;position:relative!important;z-index:2!important;}
body.upvc-site-v241 .ra-page-hero .ra-mini{display:block!important;color:#dcecff!important;font-size:18px!important;letter-spacing:0!important;text-transform:none!important;margin-top:12px!important;max-width:780px!important;margin-left:auto!important;margin-right:auto!important;line-height:1.75!important;}
body.upvc-site-v241 .ra-page-title{font-size:clamp(48px,5.4vw,84px)!important;line-height:1.02!important;color:#fff!important;margin:0 auto!important;text-shadow:0 10px 34px rgba(0,0,0,.28)!important;}
body.upvc-site-v241 .ra-title-line{display:flex!important;justify-content:center!important;align-items:center!important;}

/* service/sections cleaned */
body.upvc-site-v241 .ra-service-stack-section{padding:92px 0!important;}
body.upvc-site-v241 .ra-section-head, body.upvc-site-v241 .ra-copy, body.upvc-site-v241 .ra-contact-box, body.upvc-site-v241 .upvc-footer-panel{text-align:center!important;}
body.upvc-site-v241 .ra-section-head-spacious{max-width:840px!important;margin:0 auto 42px!important;}
body.upvc-site-v241 .ra-section-head h2{color:#16314f!important;}
body.upvc-site-v241 .ra-mini{color:#2f7ef0!important;text-align:center!important;}
body.upvc-site-v241 .ra-section-sub{max-width:760px!important;margin:0 auto!important;color:#6b7f95!important;line-height:1.8!important;}
body.upvc-site-v241 .ra-service-stack-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;align-items:stretch!important;}
body.upvc-site-v241 .ra-service-stack-card{background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:28px!important;box-shadow:0 20px 54px rgba(18,36,62,.07)!important;padding:34px 28px!important;overflow:hidden!important;text-align:center!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:100%!important;}
body.upvc-site-v241 .ra-service-stack-card:hover{transform:translateY(-6px)!important;box-shadow:0 28px 70px rgba(47,126,240,.12)!important;border-color:rgba(47,126,240,.18)!important;}
body.upvc-site-v241 .ra-service-stack-media{display:none!important;}
body.upvc-site-v241 .ra-service-stack-icon{width:72px!important;height:72px!important;margin:0 auto 18px!important;border-radius:20px!important;background:#eef5ff!important;display:flex!important;align-items:center!important;justify-content:center!important;}
body.upvc-site-v241 .ra-service-stack-icon svg{width:34px!important;height:34px!important;stroke:#2f7ef0!important;fill:none!important;}
body.upvc-site-v241 .ra-service-stack-body{padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;}
body.upvc-site-v241 .ra-service-stack-body h3{font-size:28px!important;line-height:1.16!important;color:#16314f!important;margin:0 0 14px!important;max-width:16ch!important;}
body.upvc-site-v241 .ra-service-stack-body p{font-size:15.5px!important;line-height:1.82!important;color:#6b7f95!important;max-width:37ch!important;margin:0 auto!important;}

/* centered sections */
body.upvc-site-v241 .ra-about-band{padding:88px 0 96px!important;background:linear-gradient(180deg,#eef5fd 0%,#f7fbff 100%)!important;}
body.upvc-site-v241 .ra-two-col{display:grid!important;grid-template-columns:1fr!important;gap:30px!important;max-width:980px!important;margin:0 auto!important;}
body.upvc-site-v241 .ra-about-image{justify-content:center!important;min-height:0!important;order:1!important;}
body.upvc-site-v241 .ra-about-image img{width:100%!important;height:420px!important;object-fit:cover!important;border-radius:30px!important;border:0!important;box-shadow:0 24px 70px rgba(18,36,62,.10)!important;}
body.upvc-site-v241 .ra-copy{order:2!important;max-width:860px!important;margin:0 auto!important;}
body.upvc-site-v241 .ra-copy h2, body.upvc-site-v241 .ra-copy .ra-page-title{color:#16314f!important;text-shadow:none!important;}
body.upvc-site-v241 .ra-copy p{color:#6b7f95!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important;line-height:1.85!important;}
body.upvc-site-v241 .ra-trust-cards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin-top:26px!important;}
body.upvc-site-v241 .ra-trust{background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:22px!important;box-shadow:0 16px 38px rgba(18,36,62,.05)!important;color:#16314f!important;text-align:center!important;min-height:0!important;padding:22px 18px!important;}
body.upvc-site-v241 .ra-trust b{color:#2f7ef0!important;background:#eef5ff!important;border-radius:14px!important;width:48px!important;height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0 auto 10px!important;}
body.upvc-site-v241 .ra-trust small{color:#6b7f95!important;}
body.upvc-site-v241 .ra-gallery-page,
body.upvc-site-v241 .ra-gallery-grid-page{padding:84px 0 96px!important;}
body.upvc-site-v241 .ra-project-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;align-items:stretch!important;}
body.upvc-site-v241 .ra-project-card{background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 20px 54px rgba(18,36,62,.07)!important;text-align:center!important;}
body.upvc-site-v241 .ra-project-card:hover{transform:translateY(-6px)!important;box-shadow:0 28px 70px rgba(47,126,240,.12)!important;border-color:rgba(47,126,240,.18)!important;}
body.upvc-site-v241 .ra-project-image{aspect-ratio:4/3!important;background:#dfeaf8!important;}
body.upvc-site-v241 .ra-project-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
body.upvc-site-v241 .ra-project-body{padding:20px 22px 26px!important;}
body.upvc-site-v241 .ra-project-tag{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#eef5ff!important;color:#2f7ef0!important;border-radius:999px!important;padding:8px 12px!important;font-size:11px!important;letter-spacing:.12em!important;margin-bottom:12px!important;}
body.upvc-site-v241 .ra-project-body h3{font-size:26px!important;line-height:1.12!important;color:#16314f!important;margin:0!important;}

/* Contact area and footer */
body.upvc-site-v241 .ra-contact-strip{padding:0 0 92px!important;}
body.upvc-site-v241 .ra-contact-box{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;background:#fff!important;border:1px solid rgba(18,40,68,.08)!important;border-radius:28px!important;box-shadow:0 20px 54px rgba(18,36,62,.07)!important;overflow:hidden!important;max-width:1180px!important;margin:0 auto!important;}
body.upvc-site-v241 .ra-contact-box>div{padding:34px 24px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;background:#fff!important;border-right:1px solid rgba(18,40,68,.08)!important;text-align:center!important;}
body.upvc-site-v241 .ra-contact-box>div:last-child{border-right:0!important;}
body.upvc-site-v241 .ra-contact-box svg{width:32px!important;height:32px!important;stroke:#2f7ef0!important;fill:none!important;}
body.upvc-site-v241 .ra-contact-box p, body.upvc-site-v241 .ra-contact-box a{margin:0!important;color:#16314f!important;text-decoration:none!important;}
body.upvc-site-v241 .ra-contact-phone{font-size:34px!important;font-weight:800!important;color:#16314f!important;}
body.upvc-site-v241 .upvc-footer-luxe{background:linear-gradient(180deg,#0e2139 0%,#0a1a2d 100%)!important;color:#fff!important;padding:0 0 28px!important;}
body.upvc-site-v241 .upvc-footer-panel{padding-top:26px!important;text-align:center!important;}
body.upvc-site-v241 .upvc-footer-cta-row{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:34px!important;box-shadow:0 24px 70px rgba(0,0,0,.18)!important;padding:38px 28px!important;max-width:1080px!important;margin:0 auto 22px!important;text-align:center!important;}
body.upvc-site-v241 .upvc-footer-eyebrow{color:#9dd0ff!important;}
body.upvc-site-v241 .upvc-footer-cta-copy h2{font-size:54px!important;line-height:.96!important;color:#fff!important;margin:0 0 10px!important;}
body.upvc-site-v241 .upvc-footer-lead{max-width:760px!important;margin:0 auto!important;color:rgba(255,255,255,.76)!important;line-height:1.8!important;}
body.upvc-site-v241 .upvc-footer-cta-actions{display:flex!important;justify-content:center!important;gap:14px!important;flex-wrap:wrap!important;}
body.upvc-site-v241 .upvc-footer-cta-primary, body.upvc-site-v241 .upvc-footer-cta-secondary{height:54px!important;padding:0 24px!important;border-radius:999px!important;text-decoration:none!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;}
body.upvc-site-v241 .upvc-footer-cta-primary{background:#fff!important;color:#2f7ef0!important;}
body.upvc-site-v241 .upvc-footer-cta-secondary{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;}
body.upvc-site-v241 .upvc-footer-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;align-items:start!important;padding:22px 0 8px!important;text-align:center!important;}
body.upvc-site-v241 .upvc-footer-brand-col{display:flex!important;flex-direction:column!important;align-items:center!important;gap:16px!important;}
body.upvc-site-v241 .upvc-footer-logo-luxe{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:92px!important;height:92px!important;border-radius:28px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;}
body.upvc-site-v241 .upvc-footer-logo-luxe img{width:72px!important;max-height:72px!important;}
body.upvc-site-v241 .upvc-footer-brand-copy strong{display:block!important;font-size:30px!important;line-height:1.05!important;}
body.upvc-site-v241 .upvc-footer-brand-copy span{display:block!important;margin:8px 0 10px!important;color:#9dd0ff!important;font-size:13px!important;letter-spacing:.18em!important;text-transform:uppercase!important;}
body.upvc-site-v241 .upvc-footer-brand-copy p,
body.upvc-site-v241 .upvc-footer-address{margin:0 auto!important;max-width:340px!important;color:rgba(255,255,255,.72)!important;line-height:1.8!important;font-size:15px!important;}
body.upvc-site-v241 .upvc-footer-links-col h3, body.upvc-site-v241 .upvc-footer-contact-col h3{font-size:12px!important;letter-spacing:.20em!important;text-transform:uppercase!important;color:#9dd0ff!important;margin-bottom:14px!important;}
body.upvc-site-v241 .upvc-footer-links-luxe{display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;}
body.upvc-site-v241 .upvc-footer-links-luxe a, body.upvc-site-v241 .upvc-footer-facebook-luxe, body.upvc-site-v241 .upvc-footer-phone-luxe{color:#fff!important;text-decoration:none!important;}
body.upvc-site-v241 .upvc-footer-phone-luxe{display:block!important;font-size:28px!important;font-weight:800!important;margin-top:10px!important;}
body.upvc-site-v241 .upvc-footer-facebook-luxe{display:inline-block!important;margin-top:12px!important;color:#9dd0ff!important;font-weight:700!important;}
body.upvc-site-v241 .upvc-footer-bottom-luxe{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:10px 28px!important;border-top:1px solid rgba(255,255,255,.10)!important;margin-top:24px!important;padding-top:22px!important;text-align:center!important;color:rgba(255,255,255,.68)!important;}
body.upvc-site-v241 .upvc-footer-bottom-luxe p{margin:0!important;}
body.upvc-site-v241 .upvc-footer-bottom-luxe a{color:#fff!important;text-decoration:none!important;font-weight:800!important;}

@media(max-width:1180px){
  body.upvc-site-v241 .upvc-header-shell{grid-template-columns:180px 1fr auto!important;gap:14px!important;}
  body.upvc-site-v241 .upvc-nav{gap:4px!important;}
  body.upvc-site-v241 .upvc-nav a{padding:10px 12px!important;font-size:13px!important;}
  body.upvc-site-v241 .ra-hero-title{font-size:clamp(52px,6.1vw,88px)!important;max-width:740px!important;}
}
@media(max-width:960px){
  body.upvc-site-v241 .ra-service-stack-grid,
  body.upvc-site-v241 .ra-project-grid,
  body.upvc-site-v241 .ra-trust-cards,
  body.upvc-site-v241 .upvc-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.upvc-site-v241 .upvc-footer-brand-col{grid-column:1/-1!important;}
  body.upvc-site-v241 .ra-contact-box{grid-template-columns:1fr!important;}
  body.upvc-site-v241 .ra-contact-box>div{border-right:0!important;border-bottom:1px solid rgba(18,40,68,.08)!important;}
  body.upvc-site-v241 .ra-contact-box>div:last-child{border-bottom:0!important;}
}
@media(max-width:860px){
  body.admin-bar.upvc-site-v241 .upvc-header-overlay{top:46px!important;}
  body.upvc-site-v241 .upvc-header-shell{grid-template-columns:auto 1fr auto auto!important;gap:10px!important;min-height:82px!important;padding:12px 0 12px!important;}
  body.upvc-site-v241 .upvc-logo img{max-width:108px!important;max-height:44px!important;}
  body.upvc-site-v241 .upvc-header-actions{display:contents!important;}
  body.upvc-site-v241 .upvc-header-phone{display:inline-flex!important;height:42px!important;padding:0 14px!important;font-size:13px!important;justify-self:end!important;min-width:unset!important;}
  body.upvc-site-v241 .upvc-header-phone span{display:none!important;}
  body.upvc-site-v241 .upvc-menu-toggle{display:inline-flex!important;justify-self:end!important;}
  body.upvc-site-v241 .upvc-nav{display:none!important;grid-column:1/-1!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;background:rgba(14,33,57,.96)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:22px!important;padding:10px!important;box-shadow:0 20px 42px rgba(18,36,62,.10)!important;margin:8px 0 14px!important;}
  body.upvc-site-v241 .upvc-header.is-open .upvc-nav{display:flex!important;}
  body.upvc-site-v241 .upvc-nav a{width:100%!important;text-align:center!important;}
  body.upvc-site-v241 .ra-bg,
  body.upvc-site-v241 .ra-page-hero{background-attachment:scroll!important;}
  body.upvc-site-v241 .ra-hero{min-height:auto!important;}
  body.upvc-site-v241 .ra-hero-inner{padding:138px 0 76px!important;width:min(100% - 24px,760px)!important;}
  body.upvc-site-v241 .ra-kicker{font-size:11px!important;letter-spacing:.18em!important;}
  body.upvc-site-v241 .ra-kicker span{width:36px!important;}
  body.upvc-site-v241 .ra-hero-title{font-size:clamp(42px,12vw,64px)!important;line-height:1.02!important;max-width:520px!important;}
  body.upvc-site-v241 .ra-hero-intro{font-size:16px!important;line-height:1.72!important;max-width:520px!important;}
  body.upvc-site-v241 .ra-hero-luxe-points,
  body.upvc-site-v241 .ra-service-stack-grid,
  body.upvc-site-v241 .ra-project-grid,
  body.upvc-site-v241 .ra-trust-cards,
  body.upvc-site-v241 .upvc-footer-grid{grid-template-columns:1fr!important;}
  body.upvc-site-v241 .ra-page-hero{padding:148px 0 70px!important;min-height:340px!important;}
  body.upvc-site-v241 .ra-page-title{font-size:clamp(34px,10vw,52px)!important;line-height:1.05!important;max-width:520px!important;}
  body.upvc-site-v241 .ra-page-hero .ra-mini{font-size:16px!important;line-height:1.7!important;}
  body.upvc-site-v241 .ra-about-image img{height:280px!important;}
  body.upvc-site-v241 .upvc-footer-cta-copy h2{font-size:38px!important;}
  body.upvc-site-v241 .upvc-footer-bottom-luxe{flex-direction:column!important;gap:10px!important;}
}


/* ============================
   v2.4.3 mobile stacked/swipe carousel for service cards
   ============================ */
@media(max-width:860px){
  body.upvc-site-v241 .ra-service-stack-section .ra-wrap,
  body.upvc-site-v241 .ra-services-cards-page .ra-wrap{width:min(100% - 24px, 100%)!important;}

  body.upvc-site-v241 .ra-service-stack-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:16px!important;
    padding:6px 4px 20px!important;
    margin:0!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    align-items:stretch!important;
  }

  body.upvc-site-v241 .ra-service-stack-grid::-webkit-scrollbar{display:none!important;}

  body.upvc-site-v241 .ra-service-stack-card{
    flex:0 0 min(86vw, 360px)!important;
    max-width:min(86vw, 360px)!important;
    width:min(86vw, 360px)!important;
    min-height:100%!important;
    margin:0!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
    border-radius:24px!important;
  }

  body.upvc-site-v241 .ra-service-stack-body h3{max-width:none!important;}
}

@media(max-width:640px){
  body.upvc-site-v241 .ra-service-stack-grid{gap:14px!important;padding:4px 2px 18px!important;}
  body.upvc-site-v241 .ra-service-stack-card{
    flex:0 0 calc(100vw - 42px)!important;
    max-width:calc(100vw - 42px)!important;
    width:calc(100vw - 42px)!important;
    padding:30px 22px!important;
  }
}


/* ============================
   v2.4.4 hero alignment + refined mobile header
   ============================ */
body.upvc-site-v241 .ra-hero-inner,
body.upvc-site-v241 .ra-page-hero .ra-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.upvc-site-v241 .ra-hero-title,
body.upvc-site-v241 .ra-page-title{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  text-wrap:balance!important;
}
body.upvc-site-v241 .ra-hero-title b,
body.upvc-site-v241 .ra-hero-title strong{
  width:100%!important;
  text-align:center!important;
}
body.upvc-site-v241 .ra-hero-intro,
body.upvc-site-v241 .ra-page-hero .ra-mini{
  text-align:center!important;
  text-wrap:pretty!important;
}
body.upvc-site-v241 .ra-hero-actions{width:100%!important;align-items:center!important;justify-content:center!important;}
body.upvc-site-v241 .ra-hero{min-height:100svh!important;}
body.upvc-site-v241 .ra-hero-inner{padding-top:190px!important;padding-bottom:110px!important;max-width:920px!important;}
body.upvc-site-v241 .ra-hero-title{max-width:700px!important;font-size:clamp(56px,6vw,92px)!important;line-height:.98!important;}
body.upvc-site-v241 .ra-hero-intro{max-width:760px!important;font-size:20px!important;line-height:1.72!important;}
body.upvc-site-v241 .ra-page-title{max-width:760px!important;text-wrap:balance!important;}
body.upvc-site-v241 .ra-page-hero .ra-mini{max-width:720px!important;}

/* make services carousel behavior kick in earlier for tablet/mobile */
@media(max-width:1024px){
  body.upvc-site-v241 .ra-service-stack-section .ra-wrap,
  body.upvc-site-v241 .ra-services-cards-page .ra-wrap{width:min(100% - 28px, 100%)!important;}
  body.upvc-site-v241 .ra-service-stack-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:18px!important;
    padding:8px 6px 22px!important;
    margin:0!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
  }
  body.upvc-site-v241 .ra-service-stack-grid::-webkit-scrollbar{display:none!important;}
  body.upvc-site-v241 .ra-service-stack-card{
    flex:0 0 min(76vw, 380px)!important;
    width:min(76vw, 380px)!important;
    max-width:min(76vw, 380px)!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
    margin:0!important;
  }
}

@media(max-width:860px){
  body.upvc-site-v241 .upvc-header-shell{
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    gap:12px!important;
    min-height:80px!important;
    padding:12px 0!important;
  }
  body.upvc-site-v241 .upvc-logo{min-height:52px!important;}
  body.upvc-site-v241 .upvc-logo img{max-width:96px!important;max-height:40px!important;}
  body.upvc-site-v241 .upvc-header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    grid-column:3!important;
  }
  body.upvc-site-v241 .upvc-header-phone,
  body.upvc-site-v241 .upvc-menu-toggle{
    height:44px!important;
    padding:0 16px!important;
    min-width:unset!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
    color:#fff!important;
  }
  body.upvc-site-v241 .upvc-header-phone{justify-content:center!important;gap:8px!important;}
  body.upvc-site-v241 .upvc-header-phone span{display:inline!important;font-size:13px!important;font-weight:800!important;letter-spacing:.04em!important;}
  body.upvc-site-v241 .upvc-header-phone span{font-size:0!important;}
  body.upvc-site-v241 .upvc-header-phone:after{content:'Call'!important;font-size:13px!important;font-weight:800!important;letter-spacing:.04em!important;}
  body.upvc-site-v241 .upvc-header-phone svg{width:16px!important;height:16px!important;stroke:#fff!important;}
  body.upvc-site-v241 .upvc-menu-toggle{display:inline-flex!important;gap:8px!important;padding:0 16px!important;}
  body.upvc-site-v241 .upvc-menu-toggle:before{content:'☰'!important;font-size:14px!important;line-height:1!important;display:inline-block!important;}
  body.upvc-site-v241 .upvc-menu-toggle span{font-size:13px!important;font-weight:800!important;letter-spacing:.04em!important;}
  body.upvc-site-v241 .upvc-nav{
    grid-column:1/-1!important;
    margin-top:8px!important;
    border-radius:20px!important;
    padding:12px!important;
  }
  body.upvc-site-v241 .ra-hero-inner{padding-top:132px!important;padding-bottom:72px!important;width:min(100% - 24px, 640px)!important;}
  body.upvc-site-v241 .ra-kicker{margin-bottom:18px!important;}
  body.upvc-site-v241 .ra-hero-title{max-width:480px!important;font-size:clamp(38px,10.5vw,58px)!important;line-height:1.02!important;}
  body.upvc-site-v241 .ra-hero-intro{max-width:520px!important;font-size:16px!important;line-height:1.68!important;margin-bottom:28px!important;}
  body.upvc-site-v241 .ra-btn{min-width:0!important;width:auto!important;padding:0 20px!important;height:52px!important;}
  body.upvc-site-v241 .ra-page-hero{padding:136px 0 64px!important;min-height:320px!important;}
  body.upvc-site-v241 .ra-page-title{max-width:520px!important;font-size:clamp(34px,9vw,50px)!important;line-height:1.06!important;}
  body.upvc-site-v241 .ra-page-hero .ra-mini{max-width:540px!important;font-size:15px!important;line-height:1.65!important;}
}

@media(max-width:640px){
  body.upvc-site-v241 .ra-service-stack-grid{gap:14px!important;padding:4px 2px 18px!important;}
  body.upvc-site-v241 .ra-service-stack-card{
    flex:0 0 calc(100vw - 42px)!important;
    max-width:calc(100vw - 42px)!important;
    width:calc(100vw - 42px)!important;
    padding:30px 22px!important;
  }
  body.upvc-site-v241 .upvc-header-shell{grid-template-columns:auto 1fr!important;grid-template-areas:'logo actions' 'nav nav'!important;}
  body.upvc-site-v241 .upvc-logo{grid-area:logo!important;}
  body.upvc-site-v241 .upvc-header-actions{grid-area:actions!important;}
  body.upvc-site-v241 .upvc-header-phone,
  body.upvc-site-v241 .upvc-menu-toggle{height:42px!important;padding:0 14px!important;}
  body.upvc-site-v241 .ra-hero-title{max-width:360px!important;font-size:clamp(36px,11vw,48px)!important;}
}


/* ============================
   v2.4.5 final alignment + true services carousel
   ============================ */

/* Force hero/page hero content to the exact centre of the viewport. */
body.upvc-site-v241 .ra-hero,
body.upvc-site-v241 .ra-page-hero{
  isolation:isolate!important;
}
body.upvc-site-v241 .ra-hero{
  display:grid!important;
  place-items:center!important;
}
body.upvc-site-v241 .ra-hero-inner,
body.upvc-site-v241 .ra-page-hero .ra-wrap{
  width:min(940px,calc(100vw - 40px))!important;
  max-width:min(940px,calc(100vw - 40px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  align-self:center!important;
  justify-self:center!important;
  text-align:center!important;
  transform:none!important;
}
body.upvc-site-v241 .ra-hero-title,
body.upvc-site-v241 .ra-hero-intro,
body.upvc-site-v241 .ra-kicker,
body.upvc-site-v241 .ra-hero-actions,
body.upvc-site-v241 .ra-hero-luxe-points,
body.upvc-site-v241 .ra-page-title,
body.upvc-site-v241 .ra-page-hero .ra-mini,
body.upvc-site-v241 .ra-title-line{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  justify-content:center!important;
  justify-items:center!important;
}
body.upvc-site-v241 .ra-hero-actions{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
}
body.upvc-site-v241 .ra-hero-luxe-points{
  width:min(980px,100%)!important;
}

/* Make the service cards a real horizontal carousel on the home page and services page at every screen size. */
body.upvc-site-v241 .ra-service-stack-section .ra-wrap,
body.upvc-site-v241 .ra-services-cards-page .ra-wrap{
  width:min(1280px,calc(100% - 40px))!important;
  overflow:visible!important;
}
body.upvc-site-v241 .ra-service-stack-grid,
body.upvc-site-v241 .ra-service-stack-grid-page{
  display:flex!important;
  grid-template-columns:none!important;
  flex-wrap:nowrap!important;
  gap:24px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding-inline:calc((100vw - min(1280px,calc(100vw - 40px))) / 2)!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  padding:8px max(4px,calc((100vw - min(1280px,calc(100vw - 40px))) / 2)) 34px!important;
  margin-left:calc(-1 * max(0px,calc((100vw - min(1280px,calc(100vw - 40px))) / 2)))!important;
  margin-right:calc(-1 * max(0px,calc((100vw - min(1280px,calc(100vw - 40px))) / 2)))!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
}
body.upvc-site-v241 .ra-service-stack-grid::-webkit-scrollbar,
body.upvc-site-v241 .ra-service-stack-grid-page::-webkit-scrollbar{display:none!important;}
body.upvc-site-v241 .ra-service-stack-card,
body.upvc-site-v241 .ra-service-stack-card-page{
  flex:0 0 clamp(310px,31vw,390px)!important;
  width:clamp(310px,31vw,390px)!important;
  max-width:clamp(310px,31vw,390px)!important;
  min-height:310px!important;
  scroll-snap-align:center!important;
  scroll-snap-stop:always!important;
  margin:0!important;
}
body.upvc-site-v241 .ra-services-list{padding-top:72px!important;}
body.upvc-site-v241 .ra-services-cards-page .ra-service-stack-grid-page{
  padding-top:8px!important;
}

/* Mobile polish: centred hero, sensible CTA stack and one-card carousel. */
@media(max-width:860px){
  body.upvc-site-v241 .ra-hero-inner,
  body.upvc-site-v241 .ra-page-hero .ra-wrap{
    width:min(100% - 26px,640px)!important;
    max-width:min(100% - 26px,640px)!important;
  }
  body.upvc-site-v241 .ra-hero-actions{
    gap:12px!important;
  }
  body.upvc-site-v241 .ra-hero-luxe-points{
    grid-template-columns:1fr!important;
    max-width:420px!important;
    margin-top:32px!important;
  }
  body.upvc-site-v241 .ra-service-stack-section .ra-wrap,
  body.upvc-site-v241 .ra-services-cards-page .ra-wrap{
    width:min(100% - 24px,100%)!important;
  }
  body.upvc-site-v241 .ra-service-stack-grid,
  body.upvc-site-v241 .ra-service-stack-grid-page{
    gap:14px!important;
    padding:4px 2px 22px!important;
    margin-left:0!important;
    margin-right:0!important;
    scroll-padding-inline:0!important;
  }
  body.upvc-site-v241 .ra-service-stack-card,
  body.upvc-site-v241 .ra-service-stack-card-page{
    flex-basis:calc(100vw - 42px)!important;
    width:calc(100vw - 42px)!important;
    max-width:calc(100vw - 42px)!important;
    min-height:300px!important;
  }
}
@media(max-width:560px){
  body.upvc-site-v241 .ra-hero-actions{
    flex-direction:column!important;
  }
  body.upvc-site-v241 .ra-btn{
    width:min(100%,310px)!important;
  }
}

/* ============================
   v2.4.6 auto-moving services carousel + centred header phone pill
   ============================ */

/* Stop scroll snap fighting the gentle automatic back-and-forth movement. */
body.upvc-site-v241 .ra-service-stack-grid,
body.upvc-site-v241 .ra-service-stack-grid-page{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior-x:contain!important;
  will-change:scroll-position!important;
}
body.upvc-site-v241 .ra-service-stack-card,
body.upvc-site-v241 .ra-service-stack-card-page{
  scroll-snap-align:none!important;
}

/* Header CTA: keep the number/text perfectly centred inside the pill on desktop, tablet and mobile. */
body.upvc-site-v241 .upvc-header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
body.upvc-site-v241 .ra-header-phone.upvc-header-phone,
body.upvc-site-v241 .upvc-header-phone{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:9px!important;
  line-height:1!important;
  white-space:nowrap!important;
  min-width:max-content!important;
  box-sizing:border-box!important;
}
body.upvc-site-v241 .ra-header-phone.upvc-header-phone span,
body.upvc-site-v241 .upvc-header-phone span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:auto!important;
  min-width:0!important;
  font-size:inherit!important;
  line-height:1!important;
}
body.upvc-site-v241 .ra-header-phone.upvc-header-phone:after,
body.upvc-site-v241 .upvc-header-phone:after{
  content:none!important;
  display:none!important;
}
body.upvc-site-v241 .ra-header-phone.upvc-header-phone svg,
body.upvc-site-v241 .upvc-header-phone svg{
  flex:0 0 auto!important;
}

@media(max-width:1050px){
  body.upvc-site-v241 .ra-header-phone.upvc-header-phone,
  body.upvc-site-v241 .upvc-header-phone{
    display:inline-flex!important;
  }
}

@media(max-width:860px){
  body.upvc-site-v241 .ra-header-phone.upvc-header-phone,
  body.upvc-site-v241 .upvc-header-phone{
    height:42px!important;
    padding:0 14px!important;
    min-width:0!important;
    max-width:52vw!important;
    overflow:hidden!important;
  }
  body.upvc-site-v241 .ra-header-phone.upvc-header-phone span,
  body.upvc-site-v241 .upvc-header-phone span{
    font-size:12px!important;
    letter-spacing:.01em!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media(max-width:430px){
  body.upvc-site-v241 .ra-header-phone.upvc-header-phone,
  body.upvc-site-v241 .upvc-header-phone{
    max-width:48vw!important;
    padding:0 12px!important;
    gap:7px!important;
  }
  body.upvc-site-v241 .ra-header-phone.upvc-header-phone span,
  body.upvc-site-v241 .upvc-header-phone span{
    font-size:11px!important;
  }
}

/* ============================
   v2.4.7 final hero/kicker/card/phone/carousel fixes
   ============================ */

/* Remove the small blue decorative line in the hero on every device. */
body.upvc-site-v241 .ra-kicker span,
body.upvc-site-v247 .ra-kicker span{
  display:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
}
body.upvc-site-v241 .ra-kicker,
body.upvc-site-v247 .ra-kicker{
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  justify-content:center!important;
  text-align:center!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
}

/* Hero content: lock everything to the true centre so it cannot sit to the right. */
body.upvc-site-v241 .ra-hero-inner,
body.upvc-site-v247 .ra-hero-inner{
  left:auto!important;
  right:auto!important;
  margin-inline:auto!important;
  text-align:center!important;
  justify-self:center!important;
  align-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
body.upvc-site-v241 .ra-hero-title,
body.upvc-site-v247 .ra-hero-title,
body.upvc-site-v241 .ra-hero-intro,
body.upvc-site-v247 .ra-hero-intro,
body.upvc-site-v241 .ra-hero-actions,
body.upvc-site-v247 .ra-hero-actions{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  justify-content:center!important;
}

/* Premium hero cards: centred text, less cramped, keep headings on one line where there is room. */
body.upvc-site-v241 .ra-hero-luxe-points,
body.upvc-site-v247 .ra-hero-luxe-points{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.upvc-site-v241 .ra-hero-luxe-card,
body.upvc-site-v247 .ra-hero-luxe-card{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:22px 20px!important;
  min-height:132px!important;
}
body.upvc-site-v241 .ra-hero-luxe-card b,
body.upvc-site-v247 .ra-hero-luxe-card b{
  margin:0 auto 2px!important;
  flex:0 0 auto!important;
}
body.upvc-site-v241 .ra-hero-luxe-card span,
body.upvc-site-v247 .ra-hero-luxe-card span{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  white-space:nowrap!important;
  font-size:15px!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  margin:0!important;
}
body.upvc-site-v241 .ra-hero-luxe-card small,
body.upvc-site-v247 .ra-hero-luxe-card small{
  display:block!important;
  width:100%!important;
  max-width:230px!important;
  margin:0 auto!important;
  text-align:center!important;
  line-height:1.55!important;
  font-size:13px!important;
}

/* Header phone pill: centre the NUMBER itself, not the icon+number group. */
body.upvc-site-v241 .ra-header-phone.upvc-header-phone,
body.upvc-site-v247 .ra-header-phone.upvc-header-phone,
body.upvc-site-v241 .upvc-header-phone,
body.upvc-site-v247 .upvc-header-phone{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-width:172px!important;
  height:46px!important;
  padding:0 22px!important;
  line-height:1!important;
  overflow:hidden!important;
}
body.upvc-site-v241 .ra-header-phone.upvc-header-phone svg,
body.upvc-site-v247 .ra-header-phone.upvc-header-phone svg,
body.upvc-site-v241 .upvc-header-phone svg,
body.upvc-site-v247 .upvc-header-phone svg{
  display:none!important;
}
body.upvc-site-v241 .ra-header-phone.upvc-header-phone span,
body.upvc-site-v247 .ra-header-phone.upvc-header-phone span,
body.upvc-site-v241 .upvc-header-phone span,
body.upvc-site-v247 .upvc-header-phone span{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  display:block!important;
  width:calc(100% - 28px)!important;
  max-width:calc(100% - 28px)!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
}

/* Keep the services carousel as a carousel on every screen size. */
body.upvc-site-v241 .ra-service-stack-grid,
body.upvc-site-v247 .ra-service-stack-grid,
body.upvc-site-v241 .ra-service-stack-grid-page,
body.upvc-site-v247 .ra-service-stack-grid-page{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  grid-template-columns:none!important;
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
}
body.upvc-site-v241 .ra-service-stack-grid::-webkit-scrollbar,
body.upvc-site-v247 .ra-service-stack-grid::-webkit-scrollbar,
body.upvc-site-v241 .ra-service-stack-grid-page::-webkit-scrollbar,
body.upvc-site-v247 .ra-service-stack-grid-page::-webkit-scrollbar{
  display:none!important;
}
body.upvc-site-v241 .ra-service-stack-card,
body.upvc-site-v247 .ra-service-stack-card,
body.upvc-site-v241 .ra-service-stack-card-page,
body.upvc-site-v247 .ra-service-stack-card-page{
  flex:0 0 clamp(315px,31vw,390px)!important;
  width:clamp(315px,31vw,390px)!important;
  max-width:clamp(315px,31vw,390px)!important;
  scroll-snap-align:none!important;
}

@media(max-width:860px){
  body.upvc-site-v241 .ra-hero-luxe-points,
  body.upvc-site-v247 .ra-hero-luxe-points{
    grid-template-columns:1fr!important;
    width:min(100%,420px)!important;
  }
  body.upvc-site-v241 .ra-hero-luxe-card,
  body.upvc-site-v247 .ra-hero-luxe-card{
    min-height:118px!important;
    padding:20px 18px!important;
  }
  body.upvc-site-v241 .ra-header-phone.upvc-header-phone,
  body.upvc-site-v247 .ra-header-phone.upvc-header-phone,
  body.upvc-site-v241 .upvc-header-phone,
  body.upvc-site-v247 .upvc-header-phone{
    min-width:132px!important;
    height:42px!important;
    padding:0 14px!important;
  }
  body.upvc-site-v241 .ra-service-stack-card,
  body.upvc-site-v247 .ra-service-stack-card,
  body.upvc-site-v241 .ra-service-stack-card-page,
  body.upvc-site-v247 .ra-service-stack-card-page{
    flex-basis:calc(100vw - 42px)!important;
    width:calc(100vw - 42px)!important;
    max-width:calc(100vw - 42px)!important;
  }
}

@media(max-width:430px){
  body.upvc-site-v241 .ra-hero-luxe-card span,
  body.upvc-site-v247 .ra-hero-luxe-card span{
    font-size:14px!important;
  }
  body.upvc-site-v241 .ra-header-phone.upvc-header-phone,
  body.upvc-site-v247 .ra-header-phone.upvc-header-phone,
  body.upvc-site-v241 .upvc-header-phone,
  body.upvc-site-v247 .upvc-header-phone{
    min-width:118px!important;
  }
}


/* ============================
   v2.4.8 hero kicker + carousel final correction
   ============================ */

/* Remove ONLY the small blue pill/line before the hero kicker text.
   Keep the two subtle silver side lines either side of the kicker text. */
body.upvc-site-v248 .ra-kicker:before,
body.upvc-site-v247 .ra-kicker:before,
body.upvc-site-v241 .ra-kicker:before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
}
body.upvc-site-v248 .ra-kicker,
body.upvc-site-v247 .ra-kicker,
body.upvc-site-v241 .ra-kicker{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
}
body.upvc-site-v248 .ra-kicker span,
body.upvc-site-v247 .ra-kicker span,
body.upvc-site-v241 .ra-kicker span{
  display:block!important;
  flex:0 0 110px!important;
  width:110px!important;
  height:1px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent)!important;
}

@media(max-width:760px){
  body.upvc-site-v248 .ra-kicker,
  body.upvc-site-v247 .ra-kicker,
  body.upvc-site-v241 .ra-kicker{
    gap:10px!important;
  }
  body.upvc-site-v248 .ra-kicker span,
  body.upvc-site-v247 .ra-kicker span,
  body.upvc-site-v241 .ra-kicker span{
    flex-basis:42px!important;
    width:42px!important;
  }
}

/* Header phone number: hard centre the visible number inside the bubble. */
body.upvc-site-v248 .upvc-header-phone,
body.upvc-site-v248 .ra-header-phone,
body.upvc-site-v247 .upvc-header-phone,
body.upvc-site-v247 .ra-header-phone{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  position:relative!important;
  padding-left:22px!important;
  padding-right:22px!important;
}
body.upvc-site-v248 .upvc-header-phone span,
body.upvc-site-v248 .ra-header-phone span,
body.upvc-site-v247 .upvc-header-phone span,
body.upvc-site-v247 .ra-header-phone span{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  margin:0 auto!important;
  transform:none!important;
  position:static!important;
}

/* Keep premium point-card wording centred and less cramped. */
body.upvc-site-v248 .ra-hero-luxe-card,
body.upvc-site-v247 .ra-hero-luxe-card{
  text-align:center!important;
  align-items:center!important;
  justify-content:center!important;
  row-gap:10px!important;
}
body.upvc-site-v248 .ra-hero-luxe-card span,
body.upvc-site-v247 .ra-hero-luxe-card span,
body.upvc-site-v248 .ra-hero-luxe-card small,
body.upvc-site-v247 .ra-hero-luxe-card small{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* ============================
   v2.4.9 hard fixes: hero line, centred phone pill, airy trust cards, auto carousel
   ============================ */
body.upvc-site-v249 .ra-hero-inner,
body.upvc-site-v249 .ra-page-hero .ra-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.upvc-site-v249 .ra-hero-title,
body.upvc-site-v249 .ra-page-title,
body.upvc-site-v249 .ra-hero-intro,
body.upvc-site-v249 .ra-page-hero .ra-mini,
body.upvc-site-v249 .ra-hero-actions{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  justify-content:center!important;
}

/* Hero eyebrow: no blue stub, just 2 subtle silver lines */
body.upvc-site-v249 .ra-kicker{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  margin:0 auto 24px!important;
  color:#ffffff!important;
  letter-spacing:.26em!important;
  font-size:15px!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 18px rgba(0,0,0,.34)!important;
}
body.upvc-site-v249 .ra-kicker:before,
body.upvc-site-v249 .ra-kicker:after,
body.upvc-site-v249 .ra-kicker span{
  content:none!important;
  display:none!important;
}
body.upvc-site-v249 .ra-kicker-line{
  display:block!important;
  flex:0 0 110px!important;
  width:110px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.74),transparent)!important;
}
body.upvc-site-v249 .ra-kicker-label{
  display:inline-block!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:800!important;
}

/* Header phone pill */
body.upvc-site-v249 .upvc-header-shell{
  position:relative!important;
  display:grid!important;
  grid-template-columns:210px 1fr auto!important;
  align-items:center!important;
  gap:22px!important;
  min-height:110px!important;
  padding:18px 0!important;
}
body.upvc-site-v249 .upvc-nav{justify-content:center!important;}
body.upvc-site-v249 .upvc-header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
body.upvc-site-v249 .upvc-header-phone,
body.upvc-site-v249 .ra-header-phone{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-width:168px!important;
  height:46px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.10))!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#fff!important;
  text-decoration:none!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.16)!important;
  line-height:1!important;
}
body.upvc-site-v249 .upvc-header-phone svg,
body.upvc-site-v249 .ra-header-phone svg{display:none!important;}
body.upvc-site-v249 .upvc-header-phone span,
body.upvc-site-v249 .ra-header-phone span{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}

/* Services carousel on home and service page */
body.upvc-site-v249 .ra-service-stack-section .ra-wrap,
body.upvc-site-v249 .ra-services-cards-page .ra-wrap{
  width:min(100% - 40px, 1180px)!important;
}
body.upvc-site-v249 .ra-service-stack-grid,
body.upvc-site-v249 .ra-service-stack-grid-page{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:24px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  grid-template-columns:none!important;
  scroll-snap-type:none!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  padding:8px 2px 20px!important;
}
body.upvc-site-v249 .ra-service-stack-grid::-webkit-scrollbar,
body.upvc-site-v249 .ra-service-stack-grid-page::-webkit-scrollbar{display:none!important;}
body.upvc-site-v249 .ra-service-stack-card,
body.upvc-site-v249 .ra-service-stack-card-page{
  flex:0 0 clamp(315px,31vw,390px)!important;
  width:clamp(315px,31vw,390px)!important;
  max-width:clamp(315px,31vw,390px)!important;
  min-height:100%!important;
  text-align:center!important;
}
body.upvc-site-v249 .ra-service-stack-body,
body.upvc-site-v249 .ra-service-stack-body h3,
body.upvc-site-v249 .ra-service-stack-body p{
  text-align:center!important;
}

/* Trust cards: centred, less cramped */
body.upvc-site-v249 .ra-trust-cards{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:26px!important;
}
body.upvc-site-v249 .ra-trust{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:120px!important;
  padding:20px 18px!important;
  text-align:center!important;
  background:#fff!important;
  border:1px solid rgba(18,40,68,.08)!important;
  border-radius:22px!important;
  box-shadow:0 16px 38px rgba(18,36,62,.05)!important;
}
body.upvc-site-v249 .ra-trust b{
  margin:0 auto!important;
  grid-row:auto!important;
  width:50px!important;
  height:50px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  color:#2f7ef0!important;
  background:#eef5ff!important;
  font-size:24px!important;
}
body.upvc-site-v249 .ra-trust span{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  color:#16314f!important;
}
body.upvc-site-v249 .ra-trust small{
  display:block!important;
  width:100%!important;
  margin:0 auto!important;
  text-align:center!important;
  color:#6b7f95!important;
  line-height:1.5!important;
  font-size:13px!important;
}

@media (max-width: 1024px){
  body.upvc-site-v249 .upvc-header-shell{
    grid-template-columns:auto 1fr auto!important;
    gap:14px!important;
    min-height:92px!important;
    padding:14px 0!important;
  }
  body.upvc-site-v249 .ra-service-stack-card,
  body.upvc-site-v249 .ra-service-stack-card-page{
    flex-basis:min(76vw,380px)!important;
    width:min(76vw,380px)!important;
    max-width:min(76vw,380px)!important;
  }
  body.upvc-site-v249 .ra-trust-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width: 860px){
  body.upvc-site-v249 .upvc-header-shell{
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    gap:12px!important;
    min-height:80px!important;
    padding:12px 0!important;
  }
  body.upvc-site-v249 .upvc-header-phone,
  body.upvc-site-v249 .ra-header-phone,
  body.upvc-site-v249 .upvc-menu-toggle{
    height:42px!important;
    padding:0 14px!important;
  }
  body.upvc-site-v249 .upvc-header-phone span,
  body.upvc-site-v249 .ra-header-phone span{
    font-size:13px!important;
  }
  body.upvc-site-v249 .upvc-nav{
    grid-column:1/-1!important;
    margin-top:8px!important;
    border-radius:20px!important;
    padding:12px!important;
  }
  body.upvc-site-v249 .ra-kicker{gap:10px!important;font-size:11px!important;letter-spacing:.18em!important;}
  body.upvc-site-v249 .ra-kicker-line{flex-basis:42px!important;width:42px!important;}
}

@media (max-width: 640px){
  body.upvc-site-v249 .upvc-header-shell{grid-template-columns:auto 1fr!important;grid-template-areas:'logo actions' 'nav nav'!important;}
  body.upvc-site-v249 .upvc-logo{grid-area:logo!important;}
  body.upvc-site-v249 .upvc-header-actions{grid-area:actions!important;}
  body.upvc-site-v249 .ra-service-stack-section .ra-wrap,
  body.upvc-site-v249 .ra-services-cards-page .ra-wrap{width:min(100% - 24px,100%)!important;}
  body.upvc-site-v249 .ra-service-stack-grid,
  body.upvc-site-v249 .ra-service-stack-grid-page{gap:14px!important;padding:4px 2px 18px!important;}
  body.upvc-site-v249 .ra-service-stack-card,
  body.upvc-site-v249 .ra-service-stack-card-page{
    flex-basis:calc(100vw - 42px)!important;
    width:calc(100vw - 42px)!important;
    max-width:calc(100vw - 42px)!important;
    padding:30px 22px!important;
  }
  body.upvc-site-v249 .ra-trust-cards{grid-template-columns:1fr!important;}
}


/* ============================
   v2.5.5 logo colour match - safe colour pass only
   Preserves the working v2.5.4 layout.
   Palette based on logo: deep navy, royal blue, vivid red, white/silver.
   ============================ */
body.upvc-site-v255{
  --ukr-navy:#081731;
  --ukr-navy-2:#0d2345;
  --ukr-blue:#1f5fa8;
  --ukr-blue-2:#2f7ef0;
  --ukr-red:#e0202a;
  --ukr-red-2:#b90f18;
  --ukr-white:#f7fbff;
  --ukr-silver:#dfe8f3;
  --ukr-soft:#edf4fb;
  --gold:var(--ukr-red)!important;
  --gold2:var(--ukr-white)!important;
  --deep:var(--ukr-navy)!important;
  --line:rgba(224,32,42,.30)!important;
  --panel:rgba(8,23,49,.76)!important;
  --white:var(--ukr-white)!important;
  --muted:rgba(247,251,255,.82)!important;
}

/* Header / nav */
body.upvc-site-v255 .ra-header,
body.upvc-site-v255 .upvc-header-overlay{
  border-bottom-color:rgba(224,32,42,.24)!important;
  box-shadow:0 10px 40px rgba(0,0,0,.55), inset 0 -1px 0 rgba(224,32,42,.12)!important;
}
body.upvc-site-v255 .ra-logo img{filter:drop-shadow(0 0 16px rgba(224,32,42,.18)) drop-shadow(0 0 24px rgba(31,95,168,.22))!important;}
body.upvc-site-v255 .ra-nav a:hover,
body.upvc-site-v255 .ra-nav .current-menu-item a,
body.upvc-site-v255 .upvc-nav a:hover,
body.upvc-site-v255 .upvc-nav .current-menu-item a{color:#ffffff!important;}
body.upvc-site-v255 .ra-nav a:after,
body.upvc-site-v255 .upvc-nav a:after{background:linear-gradient(90deg,transparent,var(--ukr-red),transparent)!important;}

/* Hero accents - keep layout/image untouched */
body.upvc-site-v255 .ra-kicker,
body.upvc-site-v255 .ra-mini{color:var(--ukr-red)!important;text-shadow:0 0 18px rgba(224,32,42,.24)!important;}
body.upvc-site-v255 .ra-kicker-line{background:linear-gradient(90deg,transparent,rgba(255,255,255,.80),transparent)!important;}
body.upvc-site-v255 .ra-hero-frame{border-color:rgba(224,32,42,.28)!important;box-shadow:inset 0 0 26px rgba(31,95,168,.14)!important;}
body.upvc-site-v255 .ra-hero-title strong{
  background:linear-gradient(180deg,#ffffff 0%,#dce8ff 18%,#5aa0ff 52%,#1f5fa8 78%,#0d2345 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  -webkit-text-stroke:1px rgba(255,255,255,.16)!important;
}
body.upvc-site-v255 .ra-hero-title b{
  background:linear-gradient(180deg,#ffffff 0%,#f2f5fb 22%,#cfd7e2 52%,#7f8ea3 82%,#ffffff 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
}

/* Buttons + header phone */
body.upvc-site-v255 .ra-header-phone,
body.upvc-site-v255 .upvc-header-phone,
body.upvc-site-v255 .ra-btn-gold,
body.upvc-site-v255 .upvc-footer-cta-primary{
  background:linear-gradient(180deg,#ff5d67 0%, var(--ukr-red) 48%, var(--ukr-red-2) 100%)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
  box-shadow:0 0 28px rgba(224,32,42,.25), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
body.upvc-site-v255 .ra-header-phone svg,
body.upvc-site-v255 .upvc-header-phone svg,
body.upvc-site-v255 .ra-btn-gold svg,
body.upvc-site-v255 .upvc-footer-cta-primary svg{fill:#fff!important;stroke:#fff!important;}

body.upvc-site-v255 .ra-btn-dark,
body.upvc-site-v255 .upvc-footer-cta-secondary{
  background:linear-gradient(180deg,rgba(33,84,149,.94) 0%, rgba(15,35,69,.94) 100%)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:inset 0 0 24px rgba(31,95,168,.14)!important;
}
body.upvc-site-v255 .ra-btn-dark svg,
body.upvc-site-v255 .upvc-footer-cta-secondary svg{fill:#fff!important;stroke:#fff!important;}

/* Light cards / icons across the site */
body.upvc-site-v255 .ra-hero-luxe-card b,
body.upvc-site-v255 .ra-service-stack-icon,
body.upvc-site-v255 .ra-trust b,
body.upvc-site-v255 .ra-project-tag,
body.upvc-site-v255 .ra-contact-box svg,
body.upvc-site-v255 .ra-contact-box .ra-custom-icon-text,
body.upvc-site-v255 .upvc-footer-facebook-luxe::before{
  color:var(--ukr-red)!important;
}
body.upvc-site-v255 .ra-hero-luxe-card b,
body.upvc-site-v255 .ra-service-stack-icon,
body.upvc-site-v255 .ra-project-tag{
  background:var(--ukr-soft)!important;
}
body.upvc-site-v255 .ra-service-stack-icon svg{stroke:var(--ukr-red)!important;fill:none!important;}

body.upvc-site-v255 .ra-service-stack-card:hover,
body.upvc-site-v255 .ra-project-card:hover,
body.upvc-site-v255 .ra-trust:hover,
body.upvc-site-v255 .ra-contact-box > div:hover{
  border-color:rgba(224,32,42,.18)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.24),0 0 28px rgba(31,95,168,.14),0 22px 48px rgba(0,0,0,.14)!important;
}

/* Dark strip / tiles */
body.upvc-site-v255 .ra-service-strip{background:linear-gradient(180deg,var(--ukr-navy) 0%, var(--ukr-navy-2) 100%)!important;}
body.upvc-site-v255 .ra-service-tile,
body.upvc-site-v255 .ra-trust,
body.upvc-site-v255 .ra-before-card,
body.upvc-site-v255 .ra-service-row,
body.upvc-site-v255 .ra-contact-form,
body.upvc-site-v255 .ra-contact-box,
body.upvc-site-v255 .ra-footer-main{
  border-color:rgba(224,32,42,.24)!important;
}
body.upvc-site-v255 .ra-tile-icon,
body.upvc-site-v255 .ra-custom-icon-text{color:var(--ukr-red)!important;}
body.upvc-site-v255 .ra-service-tile i{background:var(--ukr-red)!important;}

/* Footer */
body.upvc-site-v255 .upvc-footer-luxe,
body.upvc-site-v255 .ra-footer-premium,
body.upvc-site-v255 .ra-footer-premium-v2{
  background:
    radial-gradient(900px 240px at 15% 0%, rgba(31,95,168,.18), transparent 70%),
    radial-gradient(820px 220px at 85% 0%, rgba(224,32,42,.16), transparent 70%),
    linear-gradient(180deg,var(--ukr-navy) 0%, var(--ukr-navy-2) 100%)!important;
  border-top-color:rgba(224,32,42,.22)!important;
}
body.upvc-site-v255 .upvc-footer-cta-row{
  border-color:rgba(224,32,42,.18)!important;
  box-shadow:0 20px 54px rgba(0,0,0,.18)!important;
}
body.upvc-site-v255 .upvc-footer-eyebrow{color:var(--ukr-red)!important;}
body.upvc-site-v255 .upvc-footer-facebook-luxe,
body.upvc-site-v255 .upvc-footer-phone-luxe,
body.upvc-site-v255 .upvc-footer-links-luxe a,
body.upvc-site-v255 .upvc-footer-bottom-luxe a{color:#fff!important;}
body.upvc-site-v255 .upvc-footer-links-luxe a:hover,
body.upvc-site-v255 .upvc-footer-bottom-luxe a:hover,
body.upvc-site-v255 .upvc-footer-facebook-luxe:hover{color:#ffd7da!important;}
body.upvc-site-v255 .upvc-footer-logo-luxe img{filter:drop-shadow(0 0 20px rgba(224,32,42,.14)) drop-shadow(0 0 20px rgba(31,95,168,.18))!important;}


/* v2.5.6 emoji icon sizing + gallery caption hiding support */
body.upvc-site-v255 .ra-custom-icon-text,
body.upvc-site-v248 .ra-custom-icon-text,
body.upvc-site-v247 .ra-custom-icon-text,
body.upvc-site-v241 .ra-custom-icon-text{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-size:30px!important;
  color:inherit!important;
}

body.upvc-site-v255 .ra-service-stack-icon .ra-custom-icon-text,
body.upvc-site-v248 .ra-service-stack-icon .ra-custom-icon-text,
body.upvc-site-v247 .ra-service-stack-icon .ra-custom-icon-text,
body.upvc-site-v241 .ra-service-stack-icon .ra-custom-icon-text{
  font-size:34px!important;
}

body.upvc-site-v255 .ra-trust b .ra-custom-icon-text,
body.upvc-site-v248 .ra-trust b .ra-custom-icon-text,
body.upvc-site-v247 .ra-trust b .ra-custom-icon-text,
body.upvc-site-v241 .ra-trust b .ra-custom-icon-text{
  font-size:26px!important;
}

.ra-project-card .ra-project-image:last-child{
  border-radius:inherit;
}


/* ============================
   v2.5.7 trust card one-line text fix
   ============================ */
body.upvc-site-v257 .ra-trust-cards{
  align-items:stretch!important;
}

body.upvc-site-v257 .ra-trust{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:10px!important;
  padding-left:14px!important;
  padding-right:14px!important;
}

body.upvc-site-v257 .ra-trust span,
body.upvc-site-v257 .ra-trust small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.upvc-site-v257 .ra-trust span{
  font-size:clamp(11px, .78vw, 13px)!important;
  line-height:1.15!important;
  letter-spacing:.02em!important;
}

body.upvc-site-v257 .ra-trust small{
  font-size:clamp(11px, .72vw, 13px)!important;
  line-height:1.25!important;
  letter-spacing:0!important;
}

/* Give the row just enough breathing room so four cards can still sit neatly. */
@media (min-width:861px){
  body.upvc-site-v257 .ra-trust-cards{
    grid-template-columns:repeat(4,minmax(180px,1fr))!important;
    gap:18px!important;
  }
}

/* On tablet, keep two cards per row with one-line text. */
@media (max-width:1024px) and (min-width:641px){
  body.upvc-site-v257 .ra-trust-cards{
    grid-template-columns:repeat(2,minmax(240px,1fr))!important;
  }
}

/* On mobile, stacked cards have plenty of width and remain one line. */
@media (max-width:640px){
  body.upvc-site-v257 .ra-trust-cards{
    grid-template-columns:1fr!important;
  }
  body.upvc-site-v257 .ra-trust span,
  body.upvc-site-v257 .ra-trust small{
    font-size:13px!important;
  }
}


/* ============================
   v2.5.8 footer text visibility fix
   Footer-only correction. Does not touch hero/header/cards.
   ============================ */
body.upvc-site-v258 .upvc-footer-luxe{
  color:#ffffff!important;
  overflow:visible!important;
}

body.upvc-site-v258 .upvc-footer-panel,
body.upvc-site-v258 .upvc-footer-grid,
body.upvc-site-v258 .upvc-footer-brand-col,
body.upvc-site-v258 .upvc-footer-links-col,
body.upvc-site-v258 .upvc-footer-contact-col,
body.upvc-site-v258 .upvc-footer-bottom-luxe{
  color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
}

body.upvc-site-v258 .upvc-footer-brand-copy strong,
body.upvc-site-v258 .upvc-footer-links-col h3,
body.upvc-site-v258 .upvc-footer-contact-col h3,
body.upvc-site-v258 .upvc-footer-cta-copy h2{
  color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
}

body.upvc-site-v258 .upvc-footer-brand-copy span,
body.upvc-site-v258 .upvc-footer-eyebrow,
body.upvc-site-v258 .upvc-footer-contact-col h3,
body.upvc-site-v258 .upvc-footer-links-col h3{
  color:#ff4b55!important;
  opacity:1!important;
}

body.upvc-site-v258 .upvc-footer-brand-copy p,
body.upvc-site-v258 .upvc-footer-lead,
body.upvc-site-v258 .upvc-footer-address,
body.upvc-site-v258 .upvc-footer-bottom-luxe,
body.upvc-site-v258 .upvc-footer-bottom-luxe p{
  color:rgba(255,255,255,.82)!important;
  opacity:1!important;
  visibility:visible!important;
}

body.upvc-site-v258 .upvc-footer-links-luxe,
body.upvc-site-v258 .upvc-footer-links-luxe a,
body.upvc-site-v258 .upvc-footer-phone-luxe,
body.upvc-site-v258 .upvc-footer-facebook-luxe,
body.upvc-site-v258 .upvc-footer-bottom-luxe a{
  color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
}

body.upvc-site-v258 .upvc-footer-links-luxe a:hover,
body.upvc-site-v258 .upvc-footer-phone-luxe:hover,
body.upvc-site-v258 .upvc-footer-facebook-luxe:hover,
body.upvc-site-v258 .upvc-footer-bottom-luxe a:hover{
  color:#ffd7da!important;
}

body.upvc-site-v258 .upvc-footer-grid{
  display:grid!important;
  grid-template-columns:1.2fr .8fr 1fr!important;
  gap:34px!important;
  align-items:start!important;
}

body.upvc-site-v258 .upvc-footer-links-luxe{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}

body.upvc-site-v258 .upvc-footer-brand-copy p,
body.upvc-site-v258 .upvc-footer-address{
  line-height:1.75!important;
}

@media(max-width:900px){
  body.upvc-site-v258 .upvc-footer-grid{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }

  body.upvc-site-v258 .upvc-footer-links-luxe{
    align-items:center!important;
  }
}


/* ============================
   v2.5.9 footer rebuild - robust visible footer
   ============================ */
body.upvc-site-v259 .upvc-footer-fixed-v259,
body.upvc-site-v259 .upvc-footer-fixed-v259 *{
  box-sizing:border-box!important;
}

body.upvc-site-v259 .upvc-footer-fixed-v259{
  display:block!important;
  position:relative!important;
  clear:both!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:48px 0 30px!important;
  margin:0!important;
  background:
    radial-gradient(900px 360px at 15% 0%,rgba(31,95,168,.22),transparent 65%),
    radial-gradient(820px 340px at 85% 0%,rgba(224,32,42,.16),transparent 66%),
    linear-gradient(180deg,#081731 0%,#0d2345 100%)!important;
  color:#ffffff!important;
  border-top:1px solid rgba(224,32,42,.24)!important;
  text-align:left!important;
}

body.upvc-site-v259 .upvc-footer-fixed-wrap{
  display:block!important;
  width:min(1120px,calc(100% - 56px))!important;
  margin:0 auto!important;
  height:auto!important;
  overflow:visible!important;
}

body.upvc-site-v259 .upvc-footer-fixed-cta{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
  max-width:1060px!important;
  margin:0 auto 36px!important;
  padding:38px 30px!important;
  border-radius:32px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.18)!important;
  overflow:visible!important;
}

body.upvc-site-v259 .upvc-footer-fixed-eyebrow{
  display:block!important;
  margin:0 0 12px!important;
  color:#ff4b55!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

body.upvc-site-v259 .upvc-footer-fixed-cta h2{
  display:block!important;
  margin:0 0 14px!important;
  color:#ffffff!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}

body.upvc-site-v259 .upvc-footer-fixed-cta p{
  display:block!important;
  max-width:760px!important;
  margin:0 auto 20px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:16px!important;
  line-height:1.75!important;
}

body.upvc-site-v259 .upvc-footer-fixed-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  width:100%!important;
}

body.upvc-site-v259 .upvc-footer-fixed-call,
body.upvc-site-v259 .upvc-footer-fixed-facebook{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:170px!important;
  height:54px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  color:#ffffff!important;
  text-decoration:none!important;
  font-weight:900!important;
  line-height:1!important;
}

body.upvc-site-v259 .upvc-footer-fixed-call{
  background:linear-gradient(180deg,#ff5d67 0%,#e0202a 48%,#b90f18 100%)!important;
  box-shadow:0 14px 34px rgba(224,32,42,.24)!important;
}

body.upvc-site-v259 .upvc-footer-fixed-facebook{
  background:linear-gradient(180deg,rgba(33,84,149,.94),rgba(15,35,69,.94))!important;
  border:1px solid rgba(255,255,255,.16)!important;
}

body.upvc-site-v259 .upvc-footer-fixed-call svg,
body.upvc-site-v259 .upvc-footer-fixed-facebook svg{
  width:22px!important;
  height:22px!important;
  fill:#ffffff!important;
  stroke:#ffffff!important;
}

body.upvc-site-v259 .upvc-footer-fixed-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(180px,.7fr) minmax(0,1fr)!important;
  gap:34px!important;
  align-items:start!important;
  width:100%!important;
  margin:0 auto 28px!important;
  padding:0!important;
  overflow:visible!important;
}

body.upvc-site-v259 .upvc-footer-fixed-brand,
body.upvc-site-v259 .upvc-footer-fixed-links,
body.upvc-site-v259 .upvc-footer-fixed-contact{
  display:block!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  color:#ffffff!important;
}

body.upvc-site-v259 .upvc-footer-fixed-logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0 0 16px!important;
  text-decoration:none!important;
}

body.upvc-site-v259 .upvc-footer-fixed-logo img{
  display:block!important;
  max-width:120px!important;
  height:auto!important;
  filter:drop-shadow(0 0 18px rgba(224,32,42,.18))!important;
}

body.upvc-site-v259 .upvc-footer-fixed-brand h3,
body.upvc-site-v259 .upvc-footer-fixed-links h3,
body.upvc-site-v259 .upvc-footer-fixed-contact h3{
  display:block!important;
  margin:0 0 14px!important;
  color:#ffffff!important;
  font-size:22px!important;
  line-height:1.2!important;
  font-weight:900!important;
}

body.upvc-site-v259 .upvc-footer-fixed-tagline{
  color:#ff4b55!important;
  font-weight:800!important;
}

body.upvc-site-v259 .upvc-footer-fixed-brand p,
body.upvc-site-v259 .upvc-footer-fixed-contact p{
  display:block!important;
  margin:0 0 14px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:15px!important;
  line-height:1.75!important;
  max-width:420px!important;
}

body.upvc-site-v259 .upvc-footer-fixed-links nav{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}

body.upvc-site-v259 .upvc-footer-fixed-links nav a,
body.upvc-site-v259 .upvc-footer-fixed-links nav li,
body.upvc-site-v259 .upvc-footer-fixed-phone,
body.upvc-site-v259 .upvc-footer-fixed-social,
body.upvc-site-v259 .upvc-footer-fixed-bottom a{
  display:block!important;
  color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:700!important;
}

body.upvc-site-v259 .upvc-footer-fixed-links nav li{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}

body.upvc-site-v259 .upvc-footer-fixed-phone{
  font-size:22px!important;
  margin:4px 0 12px!important;
  font-weight:900!important;
}

body.upvc-site-v259 .upvc-footer-fixed-social{
  color:#ffd7da!important;
}

body.upvc-site-v259 .upvc-footer-fixed-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  width:100%!important;
  margin:24px auto 0!important;
  padding-top:20px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  color:rgba(255,255,255,.72)!important;
  overflow:visible!important;
}

body.upvc-site-v259 .upvc-footer-fixed-bottom p{
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:14px!important;
  line-height:1.5!important;
}

body.upvc-site-v259 .upvc-footer-fixed-links a:hover,
body.upvc-site-v259 .upvc-footer-fixed-phone:hover,
body.upvc-site-v259 .upvc-footer-fixed-social:hover,
body.upvc-site-v259 .upvc-footer-fixed-bottom a:hover{
  color:#ffd7da!important;
}

@media(max-width:900px){
  body.upvc-site-v259 .upvc-footer-fixed-v259{
    padding:38px 0 26px!important;
    text-align:center!important;
  }

  body.upvc-site-v259 .upvc-footer-fixed-wrap{
    width:min(100% - 28px,720px)!important;
  }

  body.upvc-site-v259 .upvc-footer-fixed-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
    text-align:center!important;
  }

  body.upvc-site-v259 .upvc-footer-fixed-logo,
  body.upvc-site-v259 .upvc-footer-fixed-links nav{
    align-items:center!important;
    justify-content:center!important;
  }

  body.upvc-site-v259 .upvc-footer-fixed-brand p,
  body.upvc-site-v259 .upvc-footer-fixed-contact p{
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.upvc-site-v259 .upvc-footer-fixed-bottom{
    justify-content:center!important;
    text-align:center!important;
  }
}


/* ============================
   v2.6.0 footer hard visibility/defaults
   ============================ */
body.upvc-site-v260 .upvc-footer-fixed-v260,
body.upvc-site-v260 .upvc-footer-fixed-v260 section,
body.upvc-site-v260 .upvc-footer-fixed-v260 div,
body.upvc-site-v260 .upvc-footer-fixed-v260 nav,
body.upvc-site-v260 .upvc-footer-fixed-v260 h2,
body.upvc-site-v260 .upvc-footer-fixed-v260 h3,
body.upvc-site-v260 .upvc-footer-fixed-v260 p,
body.upvc-site-v260 .upvc-footer-fixed-v260 a,
body.upvc-site-v260 .upvc-footer-fixed-v260 span,
body.upvc-site-v260 .upvc-footer-fixed-v260 strong{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  clip:auto!important;
  clip-path:none!important;
  text-indent:0!important;
  font-size:revert-layer;
}

body.upvc-site-v260 .upvc-footer-fixed-v260{
  display:block!important;
  height:auto!important;
  min-height:420px!important;
  max-height:none!important;
  overflow:visible!important;
  color:#fff!important;
}

body.upvc-site-v260 .upvc-footer-fixed-v260 h2,
body.upvc-site-v260 .upvc-footer-fixed-v260 h3,
body.upvc-site-v260 .upvc-footer-fixed-v260 a,
body.upvc-site-v260 .upvc-footer-fixed-v260 strong{
  color:#fff!important;
}

body.upvc-site-v260 .upvc-footer-fixed-v260 p{
  color:rgba(255,255,255,.82)!important;
}

body.upvc-site-v260 .upvc-footer-fixed-v260 .upvc-footer-fixed-eyebrow,
body.upvc-site-v260 .upvc-footer-fixed-v260 .upvc-footer-fixed-tagline{
  color:#ff4b55!important;
}

body.upvc-site-v260 .upvc-footer-fixed-v260 .upvc-footer-fixed-grid{
  display:grid!important;
}

body.upvc-site-v260 .upvc-footer-fixed-v260 .upvc-footer-fixed-links nav a{
  display:block!important;
  margin:0 0 10px!important;
  color:#fff!important;
}

body.upvc-site-v260 .upvc-footer-fixed-v260 .upvc-footer-fixed-bottom{
  display:flex!important;
}


/* v2.6.2 Facebook links clickable on all devices */
body.upvc-site-v262 a[href*="facebook.com"],
body.upvc-site-v262 .upvc-footer-fixed-facebook,
body.upvc-site-v262 .upvc-footer-fixed-social,
body.upvc-site-v262 .ra-btn-dark{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:5!important;
}

/* v2.6.3 UK Respray brand wording + slightly larger header logo */
body.upvc-site-v262 .upvc-logo img{
  max-width:190px!important;
  max-height:78px!important;
}

body.upvc-site-v262 .upvc-logo-mark{
  width:54px!important;
  height:54px!important;
  font-size:15px!important;
}

body.upvc-site-v262 .upvc-logo-text{
  font-size:24px!important;
}

@media (max-width:1024px){
  body.upvc-site-v262 .upvc-logo img{
    max-width:160px!important;
    max-height:66px!important;
  }
}

@media (max-width:640px){
  body.upvc-site-v262 .upvc-logo img{
    max-width:132px!important;
    max-height:54px!important;
  }
  body.upvc-site-v262 .upvc-logo-mark{
    width:46px!important;
    height:46px!important;
    font-size:13px!important;
  }
  body.upvc-site-v262 .upvc-logo-text{
    font-size:21px!important;
  }
}
