:root{
  --bg:#0b0d10;--bg-2:#12151a;--panel:#171b20;--panel-2:#1d2228;
  --ink:#f7f8fa;--muted:#b5bbc4;--soft:#e4e7eb;--line:rgba(255,255,255,.09);
  --red:#c5162e;--red-2:#8d0d1d;--silver:#cfd3d8;--white:#fff;
  --shadow:0 24px 70px rgba(0,0,0,.34);--radius:22px;--radius-sm:14px;
  --max:1180px;--ease:cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(800px 500px at 80% 10%,rgba(197,22,46,.13),transparent 60%),radial-gradient(700px 500px at 5% 75%,rgba(255,255,255,.035),transparent 70%);z-index:-2}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 34px),var(--max));margin-inline:auto}.section{padding:96px 0;position:relative}.section.tight{padding:70px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#ff8b99;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.76rem}.eyebrow::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--red),transparent)}h1,h2,h3{line-height:1.08;margin:0 0 16px;letter-spacing:-.03em}h1{font-size:clamp(3rem,7vw,6.8rem)}h2{font-size:clamp(2.2rem,4vw,4rem)}h3{font-size:clamp(1.25rem,2vw,1.6rem)}p{margin:0 0 18px;color:var(--muted)}.lead{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:760px}.accent{color:#ff5b70}.metal{background:linear-gradient(180deg,#fff,#9ea5ad);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;font-weight:850;letter-spacing:.01em;border:1px solid transparent;transition:.28s var(--ease)}.btn-primary{background:linear-gradient(135deg,#dc1735,#991025);box-shadow:0 12px 35px rgba(197,22,46,.26)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(197,22,46,.36)}.btn-ghost{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.035)}.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}.icon-arrow{display:inline-block;transition:transform .25s}.btn:hover .icon-arrow{transform:translateX(4px)}
.topbar{background:#08090b;border-bottom:1px solid var(--line);font-size:.86rem;color:#cbd0d6}.topbar .container{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar strong{color:white}.nav-shell{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);background:rgba(11,13,16,.78);border-bottom:1px solid rgba(255,255,255,.07)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.brand-copy{font-weight:900;line-height:1.05;letter-spacing:.02em}.brand-copy span{display:block;color:#aeb4bb;font-size:.72rem;margin-top:5px;letter-spacing:.15em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:28px;font-size:.94rem;font-weight:750}.nav-links a{position:relative;color:#e6e8eb}.nav-links a::after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-9px;background:var(--red);transition:.25s}.nav-links a:hover::after,.nav-links a.active::after{right:0}.nav-actions{display:flex;align-items:center;gap:10px}.nav-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:#14171b;color:#fff}.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px auto;transition:.25s}
.hero{min-height:810px;display:grid;align-items:center;position:relative;isolation:isolate;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,10,.98) 0%,rgba(7,8,10,.93) 42%,rgba(7,8,10,.4) 70%,rgba(7,8,10,.12) 100%);z-index:-1}.garage-art{position:absolute;right:-7%;top:9%;width:min(58vw,820px);height:78%;z-index:-2;perspective:1100px}.door-frame{position:absolute;inset:7% 7% 0 0;border:10px solid #282d33;background:linear-gradient(145deg,#1b1f24,#090a0c);box-shadow:-25px 35px 80px rgba(0,0,0,.45);transform:rotateY(-8deg);overflow:hidden}.door-frame::before{content:"";position:absolute;inset:22px;background:repeating-linear-gradient(to bottom,#d6d9dd 0,#b6bbc1 78px,#90969d 79px,#d4d8dc 82px);filter:brightness(.62) saturate(.55)}.door-frame::after{content:"";position:absolute;left:0;top:0;width:12px;height:100%;background:var(--red);box-shadow:0 0 35px rgba(197,22,46,.8)}.hero-logo{position:absolute;right:9%;top:21%;width:min(30vw,430px);filter:drop-shadow(0 22px 25px rgba(0,0,0,.55));z-index:2;transform:translate3d(0,0,30px)}.hero-glow{position:absolute;right:6%;top:10%;width:55%;height:70%;background:radial-gradient(circle,rgba(197,22,46,.28),transparent 64%);filter:blur(30px);z-index:-1}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:50px;align-items:center}.hero-copy{max-width:790px;padding:100px 0}.hero h1{max-width:850px}.hero .lead{font-size:1.18rem;max-width:690px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.hero-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.trust-chip{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);font-size:.86rem;color:#dfe2e6}
.hero-rotator{display:flex;align-items:center;gap:12px;margin:24px 0 4px;min-height:38px;font-size:.88rem}.rotator-label{text-transform:uppercase;letter-spacing:.15em;color:#8e969f;font-size:.68rem;font-weight:900}.hero-rotator strong{color:#fff;font-size:1rem;min-width:190px;transition:opacity .28s var(--ease),transform .28s var(--ease)}.hero-rotator strong.out{opacity:0;transform:translateY(8px)}.rotator-progress{height:2px;width:90px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}.rotator-progress::after{content:"";position:absolute;inset:0;background:var(--red);transform-origin:left;animation:rotatorBar 4s linear infinite}@keyframes rotatorBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}.door-frame{animation:doorBreathe 7s ease-in-out infinite}@keyframes doorBreathe{0%,100%{filter:brightness(.94)}50%{filter:brightness(1.08)}}
.hero-scroll{position:absolute;left:calc((100% - min(calc(100% - 34px),var(--max)))/2);bottom:28px;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#818891;display:flex;gap:10px;align-items:center}.hero-scroll::before{content:"";width:46px;height:1px;background:#6a7077}
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0f1115;overflow:hidden}.marquee-track{display:flex;width:max-content;animation:marquee 22s linear infinite}.marquee-item{display:flex;align-items:center;gap:18px;padding:18px 28px;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:850;color:#c5cad0}.marquee-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(197,22,46,.12)}@keyframes marquee{to{transform:translateX(-50%)}}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-head>div:first-child{max-width:760px}.section-head p{max-width:520px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:310px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden;transition:.35s var(--ease)}.service-card::before{content:"";position:absolute;inset:auto -30% -55% 15%;height:70%;background:radial-gradient(circle,rgba(197,22,46,.22),transparent 67%);transition:.35s}.service-card:hover{transform:translateY(-7px);border-color:rgba(255,91,112,.38);box-shadow:var(--shadow)}.service-card:hover::before{transform:scale(1.25)}.service-num{font-size:.75rem;color:#ff6a7d;font-weight:900;letter-spacing:.15em}.service-card h3{margin-top:70px}.service-card p{font-size:.95rem}.text-link{font-weight:850;color:#fff;display:inline-flex;gap:8px;align-items:center;margin-top:10px}.text-link::after{content:"→";color:#ff5b70;transition:.25s}.text-link:hover::after{transform:translateX(5px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.visual-panel{min-height:520px;border:1px solid var(--line);border-radius:30px;position:relative;overflow:hidden;background:linear-gradient(145deg,#20242a,#0b0d10);box-shadow:var(--shadow)}.visual-panel .mini-door{position:absolute;inset:12% 11% 9%;border:9px solid #363c43;background:repeating-linear-gradient(to bottom,#dce0e4 0,#9ea4ab 68px,#767d84 70px,#c7cbd0 74px);filter:brightness(.72)}.visual-panel .mini-door::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 35%,rgba(255,255,255,.1) 66%,rgba(0,0,0,.32))}.visual-panel .accent-bar{position:absolute;left:8%;top:8%;width:8px;height:72%;background:var(--red);box-shadow:0 0 30px rgba(197,22,46,.5)}.visual-panel .logo-float{position:absolute;width:48%;right:5%;bottom:4%;filter:drop-shadow(0 20px 22px rgba(0,0,0,.55))}.check-list{display:grid;gap:14px;margin-top:24px}.check{display:flex;gap:13px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.check b{color:#fff}.check i{flex:0 0 27px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(197,22,46,.16);color:#ff7183;font-style:normal;font-weight:900}
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.problem{padding:28px;border-radius:var(--radius);border:1px solid var(--line);background:#111419}.problem .tag{font-size:.72rem;color:#ff7a8b;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.problem h3{margin-top:14px}.problem p{margin-bottom:0}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.step{background:#111419;padding:34px 26px;min-height:280px;position:relative}.step-no{font-size:4rem;font-weight:950;line-height:1;color:rgba(255,255,255,.07);position:absolute;right:18px;top:18px}.step h3{margin-top:90px}.step p{font-size:.94rem;margin:0}
.planner{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;padding:38px;border:1px solid rgba(255,255,255,.11);border-radius:30px;background:linear-gradient(145deg,#171b20,#0e1013);box-shadow:var(--shadow)}.planner-copy{padding:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;font-weight:800;color:#d8dce1}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:#0b0d10;color:#fff;border-radius:13px;padding:14px 15px;outline:none;transition:.2s}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(255,91,112,.7);box-shadow:0 0 0 4px rgba(197,22,46,.1)}.form-note{font-size:.78rem;color:#8f969f;margin:10px 0 0}.success-note{display:none;padding:12px 14px;border-radius:12px;background:rgba(40,165,92,.12);border:1px solid rgba(40,165,92,.28);color:#c8f0d6;margin-top:12px}
.faqs{display:grid;gap:12px;max-width:900px}.faq{border:1px solid var(--line);border-radius:16px;background:#111419;overflow:hidden}.faq button{width:100%;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;color:#fff;border:0;text-align:left;font-weight:850}.faq button span:last-child{color:#ff697c;font-size:1.4rem;transition:.25s}.faq .answer{display:grid;grid-template-rows:0fr;transition:.3s var(--ease)}.faq .answer>div{overflow:hidden}.faq .answer p{padding:0 22px 20px;margin:0}.faq.open .answer{grid-template-rows:1fr}.faq.open button span:last-child{transform:rotate(45deg)}
.cta-band{margin:0 auto 90px;width:min(calc(100% - 34px),var(--max));padding:54px;border-radius:30px;background:linear-gradient(125deg,#a90e24,#d01a34 55%,#7e0c1a);position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(138,12,29,.26)}.cta-band::before{content:"";position:absolute;width:500px;height:500px;border:90px solid rgba(255,255,255,.05);border-radius:50%;right:-170px;top:-260px}.cta-band .inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band p{color:#f5dce1;max-width:650px;margin:0}.cta-band .btn{background:white;color:#181b1f;white-space:nowrap}
.page-hero{padding:120px 0 90px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(135deg,#0b0d10,#15191e)}.page-hero::after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(197,22,46,.22),transparent 65%);right:-100px;top:-220px}.page-hero .container{position:relative;z-index:1}.breadcrumbs{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#89919a;margin-bottom:24px}.breadcrumbs a{color:#e2e5e8}.page-hero h1{font-size:clamp(2.8rem,5.5vw,5.5rem);max-width:1000px}.page-hero p{max-width:760px;font-size:1.15rem}
.info-band{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card{padding:24px;border-radius:18px;background:#111419;border:1px solid var(--line)}.info-card strong{display:block;color:#fff;font-size:1.08rem;margin-bottom:8px}.info-card span{color:var(--muted);font-size:.92rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:50px;align-items:start}.article h2{font-size:clamp(2rem,3.6vw,3.3rem);margin-top:46px}.article h3{margin-top:30px}.article p,.article li{color:#bcc2ca}.article ul{padding-left:20px}.side-card{position:sticky;top:110px;border:1px solid var(--line);border-radius:22px;padding:26px;background:linear-gradient(145deg,#171b20,#0f1114)}.side-card h3{font-size:1.4rem}.side-card .btn{width:100%;margin-top:12px}.side-card .mini{font-size:.8rem;color:#8f969f;margin-top:12px}.services-list{display:grid;gap:10px;margin:20px 0}.services-list a{padding:12px 14px;border-radius:12px;background:#0d0f12;border:1px solid var(--line);font-weight:750;color:#dce0e5}.services-list a:hover{border-color:rgba(255,91,112,.4);color:#fff}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.contact-card{padding:32px;border:1px solid var(--line);border-radius:24px;background:#111419}.contact-item{padding:20px 0;border-bottom:1px solid var(--line)}.contact-item:last-child{border-bottom:0}.contact-item small{display:block;color:#8e969f;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:900;margin-bottom:6px}.contact-item a,.contact-item strong{font-size:1.1rem;color:#fff}.map-abstract{min-height:320px;border-radius:22px;position:relative;overflow:hidden;background:linear-gradient(135deg,#20252b,#0d0f12);border:1px solid var(--line);display:grid;place-items:center}.map-abstract::before,.map-abstract::after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(45deg,transparent 0 38px,rgba(255,255,255,.055) 39px 42px)}.map-abstract::after{transform:rotate(90deg)}.map-pin{position:relative;z-index:2;width:92px;height:92px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 16px 35px rgba(197,22,46,.34)}.map-pin::after{content:"";width:30px;height:30px;border-radius:50%;background:#fff}.map-label{position:absolute;z-index:2;bottom:30px;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);font-weight:800}
.footer{border-top:1px solid var(--line);background:#08090b;padding:66px 0 30px}.footer-grid{display:grid;grid-template-columns:1.15fr .75fr .8fr;gap:40px}.footer-brand img{width:100px}.footer-brand p{max-width:470px}.footer h3{font-size:1rem;text-transform:uppercase;letter-spacing:.12em;color:#d7dbe0}.footer-links{display:grid;gap:10px}.footer-links a{color:#aeb5bd}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:24px;border-top:1px solid var(--line);font-size:.82rem;color:#7f8790}.floating-call{position:fixed;right:20px;bottom:20px;z-index:45;padding:13px 18px;border-radius:999px;background:linear-gradient(135deg,#d11734,#950f23);font-weight:900;box-shadow:0 16px 35px rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.16)}
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}[data-reveal].in{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@media(max-width:980px){.nav-links,.nav-actions .btn{display:none}.nav-toggle{display:block}.nav.open .nav-links{display:flex;position:absolute;top:84px;left:17px;right:17px;padding:18px;border-radius:18px;background:#111419;border:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px;box-shadow:var(--shadow)}.nav.open .nav-links a{padding:12px 10px}.hero{min-height:760px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:80px 0 160px;max-width:760px}.garage-art{opacity:.42;right:-24%;top:18%;width:95vw}.hero-logo{width:min(44vw,390px);right:3%;top:35%;opacity:.92}.cards{grid-template-columns:1fr 1fr}.split,.planner,.contact-grid{grid-template-columns:1fr}.visual-panel{min-height:430px}.process{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.side-card{position:relative;top:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.section-head{align-items:start;flex-direction:column}}
@media(max-width:680px){.topbar .container{justify-content:center;text-align:center}.topbar .topbar-right{display:none}.brand-copy{display:none}.brand img{width:62px;height:62px}.nav{min-height:72px}.nav.open .nav-links{top:72px}.section{padding:72px 0}.hero{min-height:740px}.hero-copy{padding:68px 0 170px}.hero h1{font-size:clamp(2.85rem,14vw,4.8rem)}.garage-art{right:-55%;width:135vw;opacity:.34}.hero-logo{width:56vw;right:-4%;top:46%}.hero-actions{flex-direction:column;align-items:stretch;max-width:360px}.btn{width:100%}.cards,.problem-grid,.info-band{grid-template-columns:1fr}.service-card{min-height:270px}.service-card h3{margin-top:50px}.process{grid-template-columns:1fr}.step{min-height:230px}.step h3{margin-top:60px}.planner{padding:24px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.cta-band{padding:34px 24px}.cta-band .inner{align-items:flex-start;flex-direction:column}.cta-band .btn{width:auto}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.page-hero{padding:88px 0 64px}.contact-card{padding:24px}.floating-call{left:16px;right:16px;text-align:center}.hero-scroll{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important}.marquee-track{animation:none}.hero-logo,.door-frame{transform:none!important}}


/* === Rich image layout and responsive media sections === */
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.92fr)}
.hero-media{display:grid;gap:16px;align-self:center}
.hero-photo-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hero-photo,.image-card,.image-shell{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);background-size:cover;background-position:center;background-repeat:no-repeat;isolation:isolate}
.hero-photo::before,.image-card::before,.image-shell::before,.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,13,.08),rgba(8,10,13,.72));z-index:0}
.hero-photo>*,.image-card>*,.image-shell>*{position:relative;z-index:1}
.hero-photo-main{min-height:470px;background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-hero-main.webp')}
.hero-photo-tech{min-height:200px;background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-hero-tech.webp')}
.hero-photo-opener{min-height:200px;background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-hero-opener.webp')}
.image-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:rgba(11,13,16,.68);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:850;position:absolute;left:18px;bottom:18px}
.image-shell{min-height:520px;background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-about-team.webp')}
.home-about-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-about-team.webp')}
.section-gallery .image-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.section-gallery .image-card,.image-band .image-card{min-height:320px}
.home-gallery-repair{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-gallery-repair.webp')}
.home-gallery-install{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-gallery-installation.webp')}
.home-gallery-van{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-gallery-service-van.webp')}
.page-hero{background-size:cover;background-position:center;position:relative}
.page-hero .container{display:grid;gap:24px}
.page-hero-media{max-width:760px}
.hero-inline-card{min-height:260px;border-radius:26px}
.about-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/about-hero.webp')}
.services-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/services-hero.webp')}
.contact-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/contact-hero.webp')}
.repair-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/repair-hero.webp')}
.spring-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/spring-hero.webp')}
.opener-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/opener-hero.webp')}
.installation-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/installation-hero.webp')}
.maintenance-hero-bg{background-image:linear-gradient(135deg,rgba(11,13,16,.88),rgba(12,15,19,.74)),url('../images/maintenance-hero.webp')}
.about-html-hero-inline,.services-html-hero-inline,.contact-html-hero-inline,.garage-door-repair-hero-inline,.spring-repair-hero-inline,.opener-repair-hero-inline,.garage-door-installation-hero-inline,.maintenance-hero-inline{min-height:220px}
.about-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/about-hero.webp')}
.services-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/services-hero.webp')}
.contact-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/contact-hero.webp')}
.garage-door-repair-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/repair-hero.webp')}
.spring-repair-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/spring-hero.webp')}
.opener-repair-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/opener-hero.webp')}
.garage-door-installation-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/installation-hero.webp')}
.maintenance-hero-inline{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/maintenance-hero.webp')}
.image-band{display:grid;gap:18px}.image-band.two-up{grid-template-columns:1fr 1fr}.image-band.three-up{grid-template-columns:repeat(3,1fr)}
.about-main-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/about-team.webp')}
.about-team-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/about-team.webp')}
.about-van-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/about-van.webp')}
.services-repair-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/services-repair.webp')}
.services-opener-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/services-opener.webp')}
.services-install-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/services-installation.webp')}
.contact-office-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/contact-office.webp')}
.contact-tech-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/home-hero-tech.webp')}
.repair-main-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/repair-main.webp')}
.repair-detail-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/repair-detail.webp')}
.spring-main-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/spring-main.webp')}
.spring-detail-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/spring-detail.webp')}
.opener-main-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/opener-main.webp')}
.opener-detail-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/opener-detail.webp')}
.installation-main-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/installation-main.webp')}
.installation-detail-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/installation-detail.webp')}
.maintenance-main-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/maintenance-main.webp')}
.maintenance-detail-image{background-image:linear-gradient(180deg,rgba(9,11,14,.06),rgba(9,11,14,.72)),url('../images/maintenance-detail.webp')}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-media{order:2}.section-gallery .image-gallery-grid,.image-band.two-up,.image-band.three-up{grid-template-columns:1fr 1fr}.hero-photo-main{min-height:360px}}
@media(max-width:680px){.hero-photo-strip,.section-gallery .image-gallery-grid,.image-band.two-up,.image-band.three-up{grid-template-columns:1fr}.hero-photo-main,.section-gallery .image-card,.image-band .image-card{min-height:260px}.page-hero-media .hero-inline-card{min-height:200px}}


/* === REV3 FUNCTIONAL SERVICES + VAN FIX === */
/* Robust service-card grid: no clipped third card, full-card links, consistent sizing */
.cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  max-width:100%;
  overflow:visible;
}
.service-card{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  color:inherit;
  cursor:pointer;
}
.service-card h3,.service-card p{overflow-wrap:anywhere}
.service-card .text-link{margin-top:auto;padding-top:18px}
.service-card:focus-visible{outline:3px solid #ff5b70;outline-offset:4px}

/* Service navigation dropdown */
.nav-links{overflow:visible}
.nav-dropdown{position:relative;display:flex;align-items:center;gap:3px}
.nav-dropdown-toggle{
  width:24px;height:24px;padding:0;border:0;background:transparent;color:#cfd3d8;
  display:grid;place-items:center;font-size:.8rem;line-height:1;border-radius:6px;
  transition:.2s var(--ease)
}
.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus-visible{background:rgba(255,255,255,.08);color:#fff;outline:none}
.services-dropdown{
  position:absolute;left:0;top:calc(100% + 18px);width:265px;padding:10px;
  background:rgba(15,17,21,.98);border:1px solid rgba(255,255,255,.11);border-radius:16px;
  box-shadow:0 22px 55px rgba(0,0,0,.48);display:grid;gap:4px;
  opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
  z-index:100
}
.services-dropdown::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.nav-dropdown:hover .services-dropdown,.nav-dropdown:focus-within .services-dropdown,.nav-dropdown.dropdown-open .services-dropdown{
  opacity:1;visibility:visible;transform:none;pointer-events:auto
}
.services-dropdown a.dropdown-link{
  padding:11px 12px;border-radius:10px;color:#d9dde2;white-space:normal;font-size:.9rem
}
.services-dropdown a.dropdown-link::after{display:none}
.services-dropdown a.dropdown-link:hover,.services-dropdown a.dropdown-link.active{background:rgba(197,22,46,.16);color:#fff}
.services-main-link.active::after{right:0}

/* Make the branded service-van card prominent and keep the supplied photo framing */
.home-gallery-van,.about-van-image{
  background-position:center center;
  background-size:cover;
}
.home-gallery-van::before,.about-van-image::before{
  background:linear-gradient(180deg,rgba(8,10,13,.04) 0%,rgba(8,10,13,.18) 62%,rgba(8,10,13,.68) 100%);
}

/* Keep the floating phone control from covering service-card CTAs on desktop */
@media(min-width:981px){
  .floating-call{font-size:.82rem;padding:10px 14px;right:16px;bottom:16px;opacity:.94}
}

@media(max-width:1180px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .nav.open .nav-links{overflow:visible}
  .nav.open .nav-dropdown{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%}
  .nav.open .nav-dropdown .services-main-link{padding:12px 10px}
  .nav.open .nav-dropdown-toggle{width:42px;height:42px;border:1px solid var(--line);background:#171a1f}
  .nav.open .services-dropdown{
    position:static;grid-column:1/-1;width:100%;margin-top:4px;padding:6px;
    opacity:1;visibility:visible;transform:none;pointer-events:auto;display:none;box-shadow:none;
    background:#0d0f12;border-radius:12px
  }
  .nav.open .nav-dropdown.dropdown-open .services-dropdown{display:grid}
  .nav-dropdown:hover .services-dropdown{display:none}
  .nav.open .nav-dropdown.dropdown-open:hover .services-dropdown{display:grid}
}
@media(max-width:680px){
  .cards{grid-template-columns:1fr}
  .service-card{min-height:250px}
}
