:root{--ink:#101a2c;--cream:#f7f9fc;--blue:#1C50A2;--blue-deep:#17478f;--blue-glow:#2f64b9;--muted:#70809a;--white:#fff;--surface:#fff;--surface-2:#f7f9fc;--text:#101a2c;--border:rgba(28,80,162,.16);--header-bg:#fff;--nav-bg:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Share Tech',Arial,sans-serif;color:var(--text);background:var(--surface-2);transition:background-color .25s ease,color .25s ease}body.theme-dark{--surface:#0c1628;--surface-2:#07111f;--text:#eef4ff;--border:rgba(126,171,244,.22);--header-bg:#0b1729;--nav-bg:#0b1729;--ink:#eef4ff;--cream:#07111f}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.utility-bar{background:#0d1f3c;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em;height:42px;overflow:hidden;display:flex;align-items:center}.utility-marquee{width:100%;overflow:hidden}.utility-track{display:flex;width:max-content;animation:utility-scroll 26s linear infinite}.utility-item{display:inline-flex;align-items:center;white-space:nowrap;padding-right:70px}.utility-item a{font-weight:700;color:#9fc2ff;margin:0 6px}@keyframes utility-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.utility-track{animation:none}}.site-header{height:94px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--header-bg);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);transition:background-color .25s ease,border-color .25s ease}.brand{display:flex;align-items:center;width:min(250px,28vw);height:72px;overflow:hidden}.brand-logo{width:100%;height:100%;max-height:72px;object-fit:contain;object-position:left center}.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:transparent;color:var(--text);padding:10px 12px;font-family:'Share Tech';font-size:14px;cursor:pointer}.theme-icon{font-size:17px;line-height:1}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700;text-transform:uppercase;color:var(--text)}.main-nav a{position:relative}.main-nav a:not(.nav-cta):after{content:"";height:2px;background:var(--blue);position:absolute;left:0;right:100%;bottom:-8px;transition:.25s}.main-nav a:hover:after{right:0}.nav-cta{background:var(--blue);color:#fff;padding:15px 19px}.menu-toggle{display:none;background:none;border:0;font-family:'Share Tech';font-weight:800;text-transform:uppercase}.hero{min-height:calc(100vh - 136px);position:relative;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,15,35,.92) 0%,rgba(7,28,61,.72) 45%,rgba(4,18,38,.14) 82%)}.hero-content{position:relative;z-index:2;padding:10vh 8vw;max-width:1050px}.eyebrow{text-transform:uppercase;font-family:'Squada One',sans-serif;font-size:17px;letter-spacing:.14em;margin:0 0 25px}.eyebrow.dark{color:var(--blue)}.typewriter-loop{display:inline-flex;flex-direction:column;text-transform:uppercase;font-family:'Squada One',sans-serif;line-height:.88}.typewriter-lead{display:block;font-size:clamp(38px,5.4vw,82px);letter-spacing:-.02em;color:#fff}.typewriter-word-wrap{position:relative;display:inline-block;margin-top:10px;font-size:clamp(62px,9vw,145px);letter-spacing:-.035em}.typewriter-measure{visibility:hidden;white-space:pre}.typewriter-live{position:absolute;inset:0;display:flex;align-items:baseline;white-space:pre;background:linear-gradient(180deg,#2b5ead 0%,var(--blue) 55%,#19498f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(57,118,212,.14))}.typewriter-cursor{margin-left:.09em;display:inline-block;width:.075em;height:.82em;transform:translateY(.04em);border-radius:2px;background:var(--blue-glow);animation:blink .85s steps(1,end) infinite}@keyframes blink{50%{opacity:0}}.hero h2{font-family:'Share Tech';font-size:clamp(22px,2.4vw,38px);margin:30px 0 34px}.button{display:inline-flex;align-items:center;justify-content:flex-start;gap:16px;padding:18px 26px;text-transform:uppercase;font-family:'Squada One';font-size:17px;letter-spacing:.08em;transition:.25s}.button-light{background:#fff;color:var(--blue)}.button-dark{background:#0d1f3c;color:#fff}.button:hover{transform:translateY(-3px)}.scroll-cue{position:absolute;right:3vw;bottom:4vw;z-index:2;font-size:12px;letter-spacing:.24em;writing-mode:vertical-rl}.intro{padding:110px 8vw;display:grid;grid-template-columns:1.35fr 1fr;gap:8vw;align-items:end;background:var(--surface-2);color:var(--text)}.intro h2,.dependable h2,.cta h2{font-family:'Squada One';text-transform:uppercase;line-height:.92;letter-spacing:-.02em;margin:0}.intro h2{font-size:clamp(42px,5vw,79px)}.intro-text{font-size:20px;line-height:1.7;max-width:560px}.portfolio{background:#08152a;color:#fff}.project-card{min-height:660px;display:grid;grid-template-columns:58% 42%;border-bottom:1px solid rgba(255,255,255,.12)}.project-card.reverse{grid-template-columns:42% 58%}.project-card.reverse img{order:2}.project-card img{min-height:660px;filter:saturate(.88)}.project-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.project-copy>p{color:#7eabf4;font-size:14px;font-weight:800;letter-spacing:.2em}.project-copy h3{font-family:'Squada One';font-size:clamp(44px,5.6vw,90px);line-height:.92;text-transform:uppercase;letter-spacing:-.01em;margin:16px 0 25px}.project-copy span{max-width:470px;color:#c7d4e9;font-size:19px;line-height:1.65}.project-copy a{margin-top:45px;text-transform:uppercase;font-family:'Squada One';font-size:17px;letter-spacing:.08em}.project-copy b{color:#7eabf4;margin-left:12px}.dependable{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px}.dependable-image{min-height:760px}.dependable-copy{background:var(--blue);color:#fff;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}.dependable h2{font-size:clamp(56px,7vw,110px)}.dependable h3{font-family:'Squada One';font-size:34px;margin:25px 0 22px}.dependable-copy>p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:520px;margin-bottom:35px}.cta{background:#0c2248;color:#fff;padding:130px 8vw;background-image:linear-gradient(90deg,rgba(4,20,49,.9),rgba(11,47,99,.58)),url('assets/site-lighting.jpg');background-size:cover;background-position:center}.cta-inner{max-width:820px}.cta h2{font-size:clamp(70px,11vw,170px)}.cta p:not(.eyebrow){font-size:22px;margin:25px 0 36px}footer{background:#071224;color:#fff;padding:75px 5vw 30px;display:grid;grid-template-columns:1.1fr .7fr .8fr 1fr;gap:40px}.footer-brand{display:flex;align-items:center;gap:18px}.footer-logo{width:260px;height:auto;filter:brightness(0) invert(1)}.footer-brand div{display:flex;flex-direction:column;gap:7px}.footer-brand small{color:#9fb1cd}.footer-links,.footer-contact,.footer-areas{display:flex;flex-direction:column;gap:14px;font-size:15px}.footer-contact span,.footer-areas span{color:#9fb1cd;font-size:13px;letter-spacing:.14em}.footer-social{display:flex;flex-direction:column;gap:14px;font-size:15px;grid-column:1/-1;border-top:1px solid #23314a;padding-top:30px}.footer-social span{color:#9fb1cd;font-size:13px;letter-spacing:.14em}.footer-social a{display:inline-block;margin-right:24px}.footer-social a:hover,.footer-contact a:hover,.footer-links a:hover,.footer-areas a:hover{color:#7eabf4}.pay-link{color:#7eabf4;font-weight:700}.footer-theme-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:6px;background:transparent;border:1px solid #23314a;color:#c7d4e9;padding:9px 14px;font-family:'Share Tech',Arial,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;align-self:flex-start;transition:background .2s ease,border-color .2s ease}.footer-theme-toggle:hover,.footer-theme-toggle:focus-visible{background:rgba(255,255,255,.08);border-color:#3a4d6e}.footer-theme-icon{font-size:14px;line-height:1}body.theme-dark .brand-logo{filter:brightness(0) invert(1)}.copyright{grid-column:1/-1;border-top:1px solid #23314a;padding-top:25px;color:#72809a;font-size:13px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1000px){.main-nav{position:absolute;left:0;right:0;top:94px;background:var(--nav-bg);padding:35px 5vw;flex-direction:column;align-items:flex-start;display:none;border-top:1px solid #d6e0ef}.main-nav.open{display:flex}.menu-toggle{display:block}.utility-inner nav{display:none}.intro,.dependable{grid-template-columns:1fr}.project-card,.project-card.reverse{grid-template-columns:1fr}.project-card.reverse img{order:0}.project-card img{min-height:420px}.project-copy{min-height:450px;padding:70px 8vw}.dependable-image{min-height:480px}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:620px){.site-header{height:76px;padding:0 5vw}.brand{width:165px;height:58px}.brand-logo{max-height:58px}.theme-label{display:none}.theme-toggle{padding:8px 9px}.header-actions{gap:7px}.main-nav{top:76px}.hero{min-height:760px}.hero-content{padding:105px 7vw 70px}.typewriter-lead{font-size:clamp(31px,10vw,48px)}.typewriter-word-wrap{font-size:clamp(46px,15vw,72px)}.intro{padding:80px 7vw}.project-card img{min-height:310px}.project-copy{min-height:390px}.dependable-image{min-height:360px}.dependable-copy{padding:85px 7vw}.cta{padding:100px 7vw}footer{grid-template-columns:1fr}.footer-brand,.copyright{grid-column:auto}.footer-logo{width:220px}}
/* v3 multipage and refined theme controls */
.brand{position:relative;flex:0 0 min(238px,25vw);width:min(238px,25vw);height:68px}
.brand-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .25s ease}
.brand-logo-dark,.footer-logo-dark{opacity:0}.theme-dark .brand-logo-light,.theme-dark .footer-logo-light{opacity:0}.theme-dark .brand-logo-dark,.theme-dark .footer-logo-dark{opacity:1}
.theme-toggle{width:32px;height:32px;padding:0;border-color:transparent;border-radius:50%;justify-content:center;opacity:.55;transition:opacity .2s ease,background .2s ease,border-color .2s ease}
.theme-toggle:hover{opacity:1;background:rgba(28,80,162,.1);border-color:var(--border)}.theme-icon{font-size:15px}
.footer-logo-wrap{position:relative;width:260px;height:82px}.footer-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;background:transparent;padding:0;transition:opacity .25s ease}
.typewriter-live{background:linear-gradient(180deg,#2457a8 0%,#1c50a2 70%,#19498f 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 5px rgba(57,118,212,.07))}
.page-hero{min-height:590px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.page-hero>img{position:absolute;inset:0}.page-hero-content{position:relative;z-index:2;padding:100px 8vw;max-width:930px}.page-hero h1{font-family:'Squada One';font-size:clamp(58px,8vw,128px);line-height:.9;text-transform:uppercase;margin:0 0 24px}.page-hero-content>p:not(.eyebrow){font-size:21px;line-height:1.55;max-width:690px;margin-bottom:34px}.split-content{padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--surface-2)}.split-content h2,.split-feature h2,.contact-details h2,.process h2{font-family:'Squada One';font-size:clamp(46px,6vw,84px);line-height:.94;text-transform:uppercase;margin:0}.split-content p{font-size:20px;line-height:1.7}.info-grid{padding:30px 8vw 110px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;background:var(--surface-2)}.info-card{padding:42px;border:1px solid var(--border);background:var(--surface)}.info-card h3{font-family:'Squada One';font-size:34px;text-transform:uppercase;margin:0 0 14px;color:var(--blue)}.info-card p{font-size:18px;line-height:1.6;margin:0}.page-cta{padding:105px 8vw;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.page-cta h2{font-family:'Squada One';font-size:clamp(48px,7vw,100px);line-height:.9;text-transform:uppercase;margin:0;max-width:900px}.gallery-grid{padding:90px 6vw;display:grid;grid-template-columns:repeat(2,1fr);gap:28px;background:var(--surface-2)}.gallery-card{background:var(--surface);border:1px solid var(--border);overflow:hidden}.gallery-card img{height:420px}.gallery-card div{padding:28px}.gallery-card h3{font-family:'Squada One';font-size:34px;text-transform:uppercase;margin:0 0 8px}.gallery-card p{margin:0;color:var(--muted)}.split-feature{display:grid;grid-template-columns:1.1fr .9fr;background:var(--surface-2)}.split-feature img{min-height:620px}.split-feature>div{padding:95px 7vw;display:flex;flex-direction:column;justify-content:center}.split-feature p:not(.eyebrow){font-size:19px;line-height:1.7}.process{padding:110px 8vw;background:var(--surface-2)}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0}.process-steps article{background:var(--surface);border:1px solid var(--border);padding:36px}.process-steps b{color:var(--blue)}.process-steps h3{font-family:'Squada One';font-size:30px;text-transform:uppercase;margin:14px 0}.process-steps p{line-height:1.6}.contact-layout{padding:100px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--surface-2)}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.contact-details>a{font-size:22px;color:var(--blue)}.contact-details>p:not(.eyebrow){font-size:18px;line-height:1.7}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;font-size:13px;letter-spacing:.08em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:15px;font:inherit}.contact-form .full{grid-column:1/-1}
.reviews-live{padding:0 8vw 110px;background:var(--surface-2)}.reviews-live h2{font-family:'Squada One';font-size:clamp(46px,6vw,84px);line-height:.94;text-transform:uppercase;margin:0 0 40px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.review-card{padding:36px;border:1px solid var(--border);background:var(--surface)}[class^="elfsight-app-"]{position:relative;display:block}[class^="elfsight-app-"]::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:220px;height:36px;background:var(--surface-2);pointer-events:none;z-index:2}
.review-summary-card{border-color:var(--blue);border-width:2px}.review-stars{color:#e8a83c;font-size:20px;letter-spacing:2px;margin-bottom:14px}.review-excerpt{font-size:18px;line-height:1.6;margin:0 0 20px}.review-meta{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted)}.review-meta a{color:var(--blue);font-weight:700}.review-empty{grid-column:1/-1;color:var(--muted);font-size:17px;line-height:1.6;max-width:640px}
.leave-review{padding:0 8vw 120px;background:var(--surface-2)}.leave-review h2{font-family:'Squada One';font-size:clamp(46px,6vw,84px);line-height:.94;text-transform:uppercase;margin:0 0 34px}.leave-review-links{display:flex;gap:20px;flex-wrap:wrap}
@media(max-width:1000px){.review-grid{grid-template-columns:1fr}}
@media(max-width:620px){.reviews-live,.leave-review{padding:0 7vw 80px}.leave-review-links{flex-direction:column}}
@media(max-width:1000px){.split-content,.split-feature,.contact-layout{grid-template-columns:1fr}.info-grid,.gallery-grid{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr}.page-cta{align-items:flex-start;flex-direction:column}.split-feature img{min-height:420px}}
@media(max-width:620px){.brand{flex-basis:160px;width:160px;height:54px}.theme-toggle{width:28px;height:28px}.page-hero{min-height:620px}.page-hero-content{padding:95px 7vw}.split-content,.contact-layout{padding:75px 7vw}.info-grid,.gallery-grid{padding:25px 7vw 75px}.info-card{padding:30px}.gallery-card img{height:280px}.page-cta{padding:75px 7vw}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.footer-logo-wrap{width:220px;height:70px}}

/* v4 interaction, balance, carousel, and dependable theme behavior */
:root{--header-height:86px;--ease-out:cubic-bezier(.2,.8,.2,1)}
body{overflow-x:hidden}
.site-header{height:var(--header-height);padding-inline:clamp(20px,4vw,64px);box-shadow:0 10px 35px rgba(4,18,38,.04)}
.brand{flex-basis:clamp(178px,18vw,232px);width:clamp(178px,18vw,232px);height:62px}
.main-nav{gap:clamp(18px,2.1vw,34px)}
.main-nav a:not(.nav-cta){padding:12px 0;transition:color .2s ease,transform .2s ease}
.main-nav a:not(.nav-cta)::before{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--blue);opacity:0;transform:translate(-50%,7px) scale(.2);transition:.25s var(--ease-out)}
.main-nav a:not(.nav-cta):hover{color:var(--blue);transform:translateY(-1px)}
.main-nav a:not(.nav-cta):hover::before{opacity:1;transform:translate(-50%,0) scale(1)}
.main-nav a:not(.nav-cta)::after{bottom:5px;height:1px}
.nav-cta,.button{position:relative;overflow:hidden;isolation:isolate;border:0;cursor:pointer;box-shadow:0 12px 30px rgba(5,28,66,.12)}
.interactive-control{transform:translate(var(--mag-x,0),var(--mag-y,0));transition:transform .22s var(--ease-out),box-shadow .22s ease,filter .22s ease}
.interactive-control:hover{transform:translate(var(--mag-x,0),calc(var(--mag-y,0) - 3px));box-shadow:0 18px 42px rgba(5,28,66,.22);filter:saturate(1.08)}
.interactive-control:active{transform:translate(var(--mag-x,0),var(--mag-y,0)) scale(.985)}
.control-ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%) scale(0);animation:control-ripple .65s ease-out;pointer-events:none;z-index:-1}
@keyframes control-ripple{to{transform:translate(-50%,-50%) scale(28);opacity:0}}
.theme-toggle{width:28px;height:28px;opacity:.38;border:0;background:transparent;box-shadow:none}
.theme-toggle:hover,.theme-toggle:focus-visible{opacity:.85;background:rgba(28,80,162,.08);outline:1px solid var(--border)}
.theme-icon{position:relative;width:13px;height:13px;display:block}
.moon-dot{position:absolute;inset:1px;border:1.5px solid currentColor;border-radius:50%}
.moon-dot::after{content:"";position:absolute;left:3px;top:-2px;width:10px;height:10px;border-radius:50%;background:var(--header-bg)}
.sun-dot{position:absolute;inset:3px;border:1.5px solid currentColor;border-radius:50%;box-shadow:0 -6px 0 -5px currentColor,0 6px 0 -5px currentColor,6px 0 0 -5px currentColor,-6px 0 0 -5px currentColor,4px 4px 0 -5px currentColor,-4px -4px 0 -5px currentColor,4px -4px 0 -5px currentColor,-4px 4px 0 -5px currentColor}
.menu-toggle{width:34px;height:30px;padding:0;position:relative;color:transparent;font-size:0;cursor:pointer}
.menu-toggle::before,.menu-toggle::after,.menu-toggle span{content:"";position:absolute;left:5px;width:24px;height:2px;background:var(--text);transition:.25s var(--ease-out)}
.menu-toggle::before{top:8px}.menu-toggle::after{bottom:8px}.menu-toggle.active::before{top:14px;transform:rotate(45deg)}.menu-toggle.active::after{bottom:14px;transform:rotate(-45deg)}
.hero-content{padding-left:clamp(28px,8vw,126px);padding-right:clamp(28px,5vw,80px);max-width:1180px}
.hero-overlay{background:linear-gradient(90deg,rgba(3,13,30,.94) 0%,rgba(7,28,61,.76) 46%,rgba(4,18,38,.12) 84%)}
.typewriter-live{background:linear-gradient(180deg,#2556a5 0%,#1c50a2 82%,#1a4b94 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 2px rgba(57,118,212,.04))}
@media(min-width:1001px){.intro{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(45px,7vw,120px)}.intro-text{justify-self:end}}
.project-copy{padding-left:clamp(42px,6vw,100px);padding-right:clamp(42px,6vw,100px)}
.project-card img{transition:transform .8s var(--ease-out),filter .4s ease}
.project-card:hover img{transform:scale(1.018);filter:saturate(1)}
.project-card{overflow:hidden}

.infinite-carousel{position:relative;background:var(--surface-2);padding:95px 0 105px;overflow:hidden;color:var(--text)}
.carousel-head{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:0 clamp(28px,8vw,126px) 38px}
.carousel-head h2{font-family:'Squada One';font-size:clamp(48px,6vw,90px);text-transform:uppercase;line-height:.9;margin:0}
.carousel-head p{max-width:470px;line-height:1.6;font-size:18px;color:var(--muted);margin:0}
.carousel-pause{border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-transform:uppercase;letter-spacing:.1em;padding:9px 13px;opacity:.55;cursor:pointer;transition:.2s}
.carousel-pause:hover{opacity:1;border-color:var(--blue);color:var(--blue)}
.carousel-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.carousel-track{display:flex;width:max-content;gap:22px;padding:4px 11px;animation:intech-marquee 34s linear infinite}
.infinite-carousel:hover .carousel-track,.infinite-carousel.paused .carousel-track{animation-play-state:paused}
.carousel-card{width:clamp(280px,29vw,440px);height:390px;position:relative;overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:0 18px 55px rgba(3,19,45,.08)}
.carousel-card img{transition:transform .7s var(--ease-out)}
.carousel-card:hover img{transform:scale(1.05)}
.carousel-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,13,30,.88) 100%)}
.carousel-card div{position:absolute;z-index:2;left:25px;right:25px;bottom:23px;color:#fff}
.carousel-card small{display:block;color:#8db4f2;text-transform:uppercase;letter-spacing:.14em;margin-bottom:5px}
.carousel-card h3{font-family:'Squada One';font-size:31px;text-transform:uppercase;margin:0}
@keyframes intech-marquee{to{transform:translateX(calc(-50% - 11px))}}

.electric-cursor{position:fixed;left:-8px;top:-8px;width:16px;height:16px;border:1px solid rgba(70,132,228,.55);border-radius:50%;z-index:9999;pointer-events:none;opacity:0;transition:opacity .2s ease,width .2s ease,height .2s ease,margin .2s ease,border-color .2s ease;mix-blend-mode:screen}
.electric-cursor::before,.electric-cursor::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#5d94ea;box-shadow:0 0 8px #2f64b9,0 0 18px rgba(47,100,185,.55)}
.electric-cursor::after{inset:-7px;background:transparent;border:1px solid rgba(93,148,234,.18);animation:cursor-current 1.2s ease-in-out infinite}
.electric-cursor.active{opacity:.75}.electric-cursor.hot{width:28px;height:28px;margin:-6px 0 0 -6px;border-color:rgba(105,163,250,.8)}
@keyframes cursor-current{50%{transform:scale(1.16) rotate(12deg);opacity:.3}}

@media(max-width:1000px){
  .main-nav{top:var(--header-height);padding:18px 5vw 32px;gap:4px;box-shadow:0 30px 55px rgba(3,15,34,.16);transform-origin:top;animation:menu-in .25s var(--ease-out)}
  .main-nav a{width:100%;padding:15px 0!important;font-size:17px;border-bottom:1px solid var(--border)}
  .main-nav .nav-cta{width:auto;margin-top:18px;padding:15px 20px!important;border-bottom:0}
  @keyframes menu-in{from{opacity:0;transform:translateY(-8px)}}
  .carousel-head{align-items:flex-start;flex-direction:column}.carousel-head p{max-width:640px}
}
@media(max-width:620px){
  :root{--header-height:74px}.site-header{height:var(--header-height)}.brand{width:158px;flex-basis:158px;height:52px}
  .hero-content{padding-top:88px}.carousel-head{padding-inline:7vw}.infinite-carousel{padding:72px 0 78px}.carousel-card{width:78vw;height:330px}.carousel-track{gap:14px;animation-duration:28s}
}
@media(prefers-reduced-motion:reduce){.carousel-track{animation-play-state:paused}.interactive-control,.project-card img{transition:none}.electric-cursor{display:none}}
/* v5 lead forms and search-ready content */
.main-nav{gap:22px}.main-nav a{white-space:nowrap}.nav-cta{box-shadow:0 10px 24px rgba(28,80,162,.16)}
.form-page{padding:90px 8vw 120px;background:var(--surface-2)}.form-intro{max-width:780px;margin-bottom:42px}.form-intro h1{font-family:'Squada One';font-size:clamp(52px,7vw,100px);line-height:.92;text-transform:uppercase;margin:0 0 18px;color:var(--text)}.form-intro p{font-size:20px;line-height:1.65;color:var(--muted)}
.lead-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;background:var(--surface);padding:clamp(25px,4vw,54px);border:1px solid var(--border);box-shadow:0 24px 65px rgba(16,26,44,.08)}
.lead-form label,.contact-form label{display:flex;flex-direction:column;gap:9px;font-family:'Squada One';font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}
.lead-form input,.lead-form select,.lead-form textarea,.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:15px 16px;font:16px 'Share Tech',sans-serif;border-radius:0;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.field-required{color:#c0392b;margin-left:2px}
.field-hint{text-transform:none;font-family:'Share Tech',Arial,sans-serif;font-size:12.5px;letter-spacing:0;color:var(--muted);font-weight:400;margin-left:4px}
.file-dropzone{grid-column:1/-1;border:2px dashed var(--border);background:var(--surface-2);padding:34px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.file-dropzone.dragover{border-color:var(--blue);background:rgba(28,80,162,.06)}
.dropzone-prompt{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:15px}
.dropzone-icon{font-size:26px}
.dropzone-file-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}
.dropzone-file-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--border);padding:8px 12px;font-size:14px}
.dropzone-file-list .file-status{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.dropzone-file-list .file-status.ok{color:#2f8f5b}
.dropzone-file-list .file-status.error{color:#c0392b}
.dropzone-file-list .file-remove{background:none;border:0;cursor:pointer;color:var(--muted);font-size:16px;line-height:1}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus,.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);background:var(--surface);box-shadow:0 0 0 4px rgba(28,80,162,.1)}
.lead-form .full{grid-column:1/-1}.form-note{grid-column:1/-1;color:var(--muted);font-size:14px;line-height:1.5}.form-status{grid-column:1/-1;padding:14px 16px;background:var(--surface-2);border-left:4px solid var(--blue);color:var(--text)}.choice-row{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1}.choice-row-label{grid-column:1/-1;font-family:'Squada One';font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin:-10px 0 0}.choice-row label{flex-direction:row;align-items:center;background:var(--surface-2);border:1px solid var(--border);padding:12px 14px;font-family:'Share Tech';font-size:15px;text-transform:none}.choice-row input{width:auto;padding:0}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.form-actions .button{border:0;cursor:pointer}.secondary-link{color:var(--blue);text-transform:uppercase;font-family:'Squada One';letter-spacing:.06em}
.seo-copy{padding:100px 8vw;background:var(--surface)}.seo-copy-inner{max-width:1050px;margin:auto}.seo-copy h2{font-family:'Squada One';font-size:clamp(38px,5vw,68px);text-transform:uppercase;margin:0 0 22px}.seo-copy h3{font-family:'Squada One';font-size:28px;text-transform:uppercase;margin:38px 0 10px}.seo-copy p,.seo-copy li{font-size:18px;line-height:1.7;color:var(--muted)}.faq-list{display:grid;gap:12px;margin-top:30px}.faq-list details{border:1px solid var(--border);background:var(--surface-2);padding:18px 20px}.faq-list summary{font-family:'Squada One';font-size:21px;text-transform:uppercase;cursor:pointer;color:var(--text)}.faq-list p{margin-bottom:0}
@media(max-width:1180px){.main-nav{gap:15px;font-size:12px}.brand{flex-basis:210px;width:210px}}
@media(max-width:720px){.lead-form{grid-template-columns:1fr}.lead-form .full,.form-actions,.choice-row,.form-note,.form-status{grid-column:1}.form-page{padding:65px 6vw 90px}}

/* Intech site assistant (chatbot.js) */
.intech-chat-root{position:fixed;right:24px;bottom:24px;z-index:1000;font-family:'Share Tech',Arial,sans-serif}
.intech-chat-toggle{display:flex;align-items:center;gap:10px;background:var(--blue);color:#fff;border:0;padding:14px 20px;border-radius:999px;font-family:'Squada One';font-size:16px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 34px rgba(28,80,162,.32);transition:transform .2s ease}
.intech-chat-toggle:hover{transform:translateY(-2px)}
.intech-chat-toggle-icon{font-size:18px}
.intech-chat-panel{position:absolute;right:0;bottom:64px;width:min(360px,86vw);max-height:70vh;display:flex;flex-direction:column;background:var(--surface,#fff);border:1px solid var(--border,rgba(28,80,162,.16));box-shadow:0 30px 70px rgba(8,18,38,.28);overflow:hidden}
.intech-chat-panel[hidden]{display:none}
.intech-chat-panel.minimized{max-height:none}
.intech-chat-panel.minimized .intech-chat-messages,.intech-chat-panel.minimized .intech-chat-quick,.intech-chat-panel.minimized .intech-chat-form{display:none}
.intech-chat-header{background:#0d1f3c;color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;font-family:'Squada One';text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.intech-chat-header-actions{display:flex;align-items:center;gap:6px}
.intech-chat-minimize,.intech-chat-close{background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:4px}
.intech-chat-minimize:hover,.intech-chat-close:hover{background:rgba(255,255,255,.14)}
.intech-chat-close{font-size:22px}
.intech-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2,#f7f9fc);-webkit-overflow-scrolling:touch}
.intech-chat-bubble{max-width:88%;padding:11px 14px;font-size:14.5px;line-height:1.5;border-radius:2px}
.intech-chat-bubble.bot{align-self:flex-start;background:var(--surface,#fff);border:1px solid var(--border,rgba(28,80,162,.16));color:var(--text,#101a2c)}
.intech-chat-bubble.user{align-self:flex-end;background:var(--blue);color:#fff}
.intech-chat-link{align-self:flex-start;color:var(--blue);font-weight:700;font-size:14px;text-decoration:underline;margin-top:-4px}
.intech-chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;background:var(--surface-2,#f7f9fc)}
.intech-chat-quick button{border:1px solid var(--border,rgba(28,80,162,.16));background:var(--surface,#fff);color:var(--blue);font-size:12.5px;padding:7px 11px;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}
.intech-chat-quick button:hover{background:var(--blue);color:#fff}
.intech-chat-form{display:flex;border-top:1px solid var(--border,rgba(28,80,162,.16))}
.intech-chat-form input{flex:1;border:0;padding:14px;font:inherit;font-size:16px;background:var(--surface,#fff);color:var(--text,#101a2c)}
.intech-chat-form input:focus{outline:none}
.intech-chat-form button{border:0;background:var(--blue);color:#fff;padding:0 18px;font-family:'Squada One';text-transform:uppercase;cursor:pointer}
@media(max-width:620px){
  .intech-chat-root{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .intech-chat-toggle{padding:13px;border-radius:50%}
  .intech-chat-toggle-label{display:none}
  .intech-chat-panel{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-height:min(72vh,520px)}
  .intech-chat-bubble{font-size:15px}
  .intech-chat-quick button{font-size:12px;padding:8px 10px}
}
/* Blog */
.blog-grid{padding:0 8vw 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;background:var(--surface-2)}
.blog-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);overflow:hidden;transition:transform .22s var(--ease-out,ease),box-shadow .22s ease}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(5,28,66,.14)}
.blog-card img{height:190px}
.blog-card-body{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card-date{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.blog-card h3{font-family:'Squada One';font-size:24px;text-transform:uppercase;margin:0;line-height:1.15}
.blog-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.55;flex:1}
.blog-card-link{color:var(--blue);font-weight:700;font-size:14px}
.blog-empty{grid-column:1/-1;color:var(--muted);font-size:17px}
@media(max-width:1000px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.blog-grid{grid-template-columns:1fr;padding:0 7vw 80px}}
.article-page{padding:90px 8vw 110px;display:grid;grid-template-columns:minmax(0,760px);justify-content:center;background:var(--surface-2)}
.article-body{max-width:760px}
.article-body .eyebrow{margin-bottom:14px}
.article-body h1{font-family:'Squada One';font-size:clamp(38px,5vw,58px);line-height:1.05;text-transform:uppercase;margin:0 0 18px}
.article-meta{color:var(--muted);font-size:14px;margin-bottom:34px}
.article-lede{font-size:20px;line-height:1.65;font-weight:700;margin:0 0 30px}
.article-body h2{font-family:'Squada One';font-size:30px;text-transform:uppercase;margin:44px 0 16px}
.article-body p{font-size:17px;line-height:1.75;margin:0 0 20px}
.article-body ul,.article-body ol{font-size:17px;line-height:1.75;margin:0 0 20px;padding-left:22px}
.article-body li{margin-bottom:8px}
.article-img{width:100%;height:340px;margin:36px 0;border:1px solid var(--border)}
.article-faq{margin-top:8px}
.article-faq details{border:1px solid var(--border);background:var(--surface);padding:18px 22px;margin-bottom:12px}
.article-faq summary{font-weight:700;cursor:pointer;font-size:17px}
.article-faq p{margin:12px 0 0}
.article-cta{margin-top:48px;padding:36px;background:var(--blue);color:#fff}
.article-cta h3{font-family:'Squada One';font-size:26px;text-transform:uppercase;margin:0 0 10px}
.article-cta p{color:rgba(255,255,255,.85);margin:0 0 20px}
@media(max-width:620px){.article-page{padding:60px 7vw 80px}.article-img{height:220px}.article-cta{padding:26px}}

/* Services hub page category headers */
.services-category{padding:56px 8vw 0}
.services-category h2{font-family:'Squada One';font-size:clamp(30px,4vw,46px);text-transform:uppercase;line-height:1.05;margin:0 0 10px}
.services-category p{color:var(--muted);font-size:16px;line-height:1.6;max-width:640px;margin:0}
.services-category+.info-grid{padding-top:30px}
@media(max-width:620px){.services-category{padding:40px 7vw 0}}
