
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@400;500;600;700&display=swap');
:root{--sky:#92D1F2;--blue:#3973B6;--gray:#AFAEB3;--ink:#0b1520;--white:#fff;--muted:#6f7780;--line:rgba(11,21,32,.13);--shadow:0 22px 70px rgba(11,21,32,.12);--radius:28px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:110px 0;position:relative}.section-sm{padding:75px 0}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--blue);margin-bottom:18px}.eyebrow:before{content:'';width:36px;height:2px;background:var(--blue)}h1,h2,h3,h4{font-family:Oswald,Arial,sans-serif;text-transform:uppercase;margin:0;line-height:.95}h1{font-size:clamp(58px,8.5vw,136px);letter-spacing:-.035em}h2{font-size:clamp(42px,5vw,78px);letter-spacing:-.025em}h3{font-size:clamp(27px,3vw,46px)}p{line-height:1.75;color:#52606c}.section-heading{max-width:900px;margin-bottom:50px}.section-heading p{max-width:680px;font-size:17px}.accent{color:var(--blue)}.soft{color:var(--sky)}
.topbar{position:fixed;top:0;left:0;width:100%;height:42px;z-index:60;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);display:flex;align-items:center;font-size:12px;background:linear-gradient(90deg,rgba(6,18,29,.78),rgba(6,18,29,.48));backdrop-filter:blur(10px)}.topbar-inner{width:min(var(--max),calc(100% - 40px));margin:auto;display:flex;justify-content:space-between;gap:24px}.topbar-group{display:flex;gap:22px;align-items:center}.topbar a,.topbar span{opacity:.92;transition:.25s}.topbar a:hover{opacity:1;color:var(--sky)}.socials{display:flex;gap:12px}.socials a{width:28px;height:28px;border:1px solid rgba(255,255,255,.26);border-radius:50%;display:grid;place-items:center}
.header{position:fixed;top:42px;left:0;width:100%;height:105px;z-index:59;color:#fff;transition:.35s}.header-inner{width:min(var(--max),calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:150px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.18));background:rgba(255,255,255,.92);padding:7px 9px;border-radius:14px}.nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav a{position:relative;padding:8px 0}.nav a:after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--sky);transition:.3s}.nav a:hover:after,.nav a.active:after{width:100%}.nav-cta{border:1px solid rgba(255,255,255,.55)!important;padding:14px 18px!important;background:rgba(255,255,255,.08)}.nav-cta:after{display:none}.nav-cta:hover{background:#fff;color:var(--blue)}.mobile-toggle{display:none;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;font-size:18px}
.header.scrolled{top:42px;height:105px;background:transparent;backdrop-filter:none;color:#fff;box-shadow:none}.header.scrolled .brand img{width:150px;background:rgba(255,255,255,.92)}.header.scrolled .nav-cta{border-color:rgba(255,255,255,.55)!important;color:#fff}.header.scrolled .mobile-toggle{color:#fff;border-color:rgba(255,255,255,.4)}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#0a121b}.hero-media{position:absolute;inset:0;transform:scale(1.06);overflow:hidden}.hero-video{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,15,24,.72),rgba(5,15,24,.28))}.inner-hero-media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,15,24,.84),rgba(5,15,24,.28)),var(--page-image);background-size:cover;background-position:center;transform:scale(1.07)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent)}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:220px 0 78px}.hero-kicker{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);margin-bottom:20px}.hero h1{max-width:1120px}.hero h1 .line{display:block;overflow:hidden}.hero h1 .line>span{display:block}.hero-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-top:34px;border-top:1px solid rgba(255,255,255,.24);padding-top:28px}.hero-copy p{color:rgba(255,255,255,.86);max-width:650px;margin:0;font-size:18px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 24px;border:1px solid transparent;font-weight:800;font-size:12px;letter-spacing:.11em;text-transform:uppercase;transition:transform .35s ease,box-shadow .35s ease,background .35s ease,color .35s ease,border-color .35s ease;position:relative;overflow:visible;isolation:isolate;box-shadow:0 0 0 0 rgba(47,105,176,.45);border-radius:999px}.btn:before{content:'';position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.26) 45%,transparent 70%);transform:translateX(-115%);transition:transform .6s ease;z-index:-1}.btn:hover:before{transform:translateX(115%)}.btn i{transition:transform .5s ease}.btn:hover i{transform:translateX(6px)}.btn:hover{transform:translateY(-3px);animation:btnRipple 1.1s ease-out infinite}.btn:active{transform:scale(.95)}
.hero-actions .btn:hover{animation:none;box-shadow:0 18px 40px rgba(7,17,27,.22)}
@keyframes btnRipple{0%{box-shadow:0 0 0 0 rgba(47,105,176,.4)}100%{box-shadow:0 0 0 16px rgba(47,105,176,0)}}
@keyframes btnColorize{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.btn-primary{background-size:200% 200%}
.btn-primary:hover{animation:btnRipple 1.1s ease-out infinite,btnColorize 1.3s ease infinite}.btn-primary{background:linear-gradient(135deg,var(--sky),#d8f1fd);color:#0a1620}.btn-primary:hover{background:#fff}.btn-outline{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}.btn-outline:hover{background:#fff;color:var(--ink)}.scroll-cue{position:absolute;right:30px;bottom:26px;z-index:3;font-size:11px;text-transform:uppercase;letter-spacing:.16em;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl}.scroll-cue i{animation:bob 1.3s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.marquee{overflow:hidden;background:var(--blue);color:#fff;padding:17px 0}.marquee-track{display:flex;gap:52px;width:max-content;white-space:nowrap;font-family:Oswald;font-size:20px;letter-spacing:.04em;text-transform:uppercase;animation:marquee 24s linear infinite}.marquee-track span:after{content:'✦';margin-left:52px;color:var(--sky)}@keyframes marquee{to{transform:translateX(-50%)}}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.image-frame{position:relative;border-radius:var(--radius);overflow:hidden;min-height:620px}.image-frame img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.image-badge{position:absolute;left:24px;bottom:24px;background:#fff;padding:22px 25px;border-radius:18px;box-shadow:var(--shadow);max-width:210px}.image-badge strong{display:block;font-family:Oswald;font-size:38px;color:var(--blue)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px}.stat{border-top:1px solid var(--line);padding:22px 0}.stat strong{display:block;font-family:Oswald;font-size:44px;color:var(--blue)}.stat span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#68717b}.welcome-modern{padding-top:126px}.welcome-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:72px;align-items:center}.welcome-visual{position:relative;min-height:620px}.welcome-main-image{border-radius:28px;overflow:hidden;min-height:620px;box-shadow:var(--shadow)}.welcome-main-image img{width:100%;height:100%;object-fit:cover}.welcome-badge{position:absolute;right:-10px;top:54px;background:var(--blue);color:#fff;min-height:82px;padding:0 38px;border-radius:22px;display:flex;align-items:center;font-family:Oswald;font-size:28px;line-height:1}.welcome-badge:after{content:'';position:absolute;right:0;bottom:-34px;border-top:34px solid var(--blue);border-left:58px solid transparent}.welcome-inset-card{position:absolute;right:-10px;bottom:52px;width:min(44%,270px);aspect-ratio:1.1/1;border-radius:22px;overflow:hidden;border:4px solid #fff;box-shadow:0 24px 50px rgba(7,17,27,.18)}.welcome-inset-card img{width:100%;height:100%;object-fit:cover}.welcome-play{position:absolute;inset:0;display:grid;place-items:center}.welcome-play i{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);font-size:28px;box-shadow:0 10px 30px rgba(7,17,27,.18)}.welcome-copy h2{max-width:760px}.welcome-mini-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(57,115,182,.45);border-radius:12px;color:var(--blue);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:.3s;margin-bottom:26px}.welcome-mini-btn:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}.welcome-note{margin-top:26px;padding-left:26px;border-left:8px solid #ec4d4d;max-width:720px}.welcome-note p{margin:0;font-size:18px}.welcome-features{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.welcome-feature{display:flex;align-items:flex-start;gap:16px;padding:12px 0}.welcome-feature i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#eef7fc;color:var(--blue);font-size:22px;flex:0 0 auto}.welcome-feature strong{display:block;font-family:Oswald;font-size:22px;text-transform:uppercase;margin-bottom:5px}.welcome-feature span{font-size:14px;color:#6b7782;line-height:1.65}.welcome-divider{height:1px;background:var(--line);margin:30px 0}.welcome-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.welcome-signoff{display:flex;align-items:center;gap:16px}.welcome-signoff-logo{width:68px;height:68px;border-radius:50%;overflow:hidden;background:#f6fbfe;display:grid;place-items:center;box-shadow:0 10px 24px rgba(7,17,27,.08)}.welcome-signoff-logo img{width:90%;height:90%;object-fit:contain}.welcome-signoff strong{display:block;font-family:Oswald;font-size:28px;text-transform:uppercase;line-height:.95}.welcome-signoff span{display:block;color:#7c8792;font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin-top:6px}
.services-zone{background:#0b1520;color:#fff}.services-zone .eyebrow{color:var(--sky)}.services-zone .eyebrow:before{background:var(--sky)}.services-zone p{color:#aeb9c4}.services-horizontal{display:flex;gap:18px;width:max-content;padding-right:calc((100vw - min(var(--max),calc(100vw - 40px)))/2)}.service-card{width:min(76vw,500px);height:620px;position:relative;overflow:hidden;border-radius:24px;background:#101d29}.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,13,20,.92))}.service-card-content{position:absolute;z-index:2;left:26px;right:26px;bottom:28px}.service-card-num{font-family:Oswald;font-size:14px;color:var(--sky);margin-bottom:12px}.service-card h3{font-size:38px;margin-bottom:14px}.service-card p{margin:0;max-width:370px}.service-card:hover img{transform:scale(1.06)}
.choose-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.sticky-copy{position:sticky;top:130px}.benefits{border-top:1px solid var(--line)}.benefit{display:grid;grid-template-columns:70px 1fr 72px 32px;gap:18px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:.3s}.benefit:hover{padding-left:12px;background:linear-gradient(90deg,rgba(146,209,242,.16),transparent)}.benefit .num{font-family:Oswald;font-size:18px;color:var(--blue)}.benefit h4{font-size:25px;margin-bottom:6px}.benefit p{margin:0}.benefit .benefit-arrow{color:var(--blue);margin-top:0;transition:transform .3s ease,opacity .3s ease}.benefit:hover .benefit-arrow{transform:translateX(4px)}.benefit-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--sky),#dff4fe);color:var(--blue);font-size:24px;justify-self:end;transform:scale(.65);opacity:0;transition:transform .35s ease,opacity .35s ease,box-shadow .35s ease;box-shadow:0 10px 25px rgba(57,115,182,.16)}.benefit:hover .benefit-icon{opacity:1;transform:scale(1)}
.process{background:#eef7fc;overflow:hidden}.process-shell{position:relative;min-height:550px}.process-cards{position:relative}.process-card{min-height:470px;border-radius:30px;padding:48px;background:#fff;box-shadow:0 20px 70px rgba(39,89,125,.09);display:grid;grid-template-columns:180px 1fr 300px;gap:30px;align-items:center;position:sticky;top:120px;margin-bottom:22px;transform-origin:center top}.process-card:nth-child(2){top:138px}.process-card:nth-child(3){top:156px}.process-card:nth-child(4){top:174px}.process-step{display:inline-flex;align-items:center;justify-content:center;min-height:62px;padding:0 18px;border-radius:16px;background:#eff8fd;color:var(--blue);font-family:Oswald;font-size:25px;text-transform:uppercase;text-align:center;line-height:1.1}.process-card p{max-width:520px}.process-icon{width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--blue));display:grid;place-items:center;color:#fff;font-size:72px;justify-self:end}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mv-card{min-height:480px;padding:46px;border-radius:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.mv-card:first-child{background:var(--blue)}.mv-card:last-child{background:#0b1520}.mv-card .ghost{position:absolute;right:-10px;top:-30px;font-family:Oswald;font-size:210px;opacity:.07;line-height:1}.mv-card p{color:rgba(255,255,255,.75);max-width:540px}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:260px;gap:15px}.project{position:relative;border-radius:20px;overflow:hidden;cursor:pointer}.project:nth-child(1){grid-column:span 7;grid-row:span 2}.project:nth-child(2){grid-column:span 5}.project:nth-child(3){grid-column:span 5}.project:nth-child(4){grid-column:span 4}.project:nth-child(5){grid-column:span 4}.project:nth-child(6){grid-column:span 4}.project img{width:100%;height:100%;object-fit:cover;transition:.65s}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(6,15,22,.82));opacity:.9}.project-info{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:16px}.project-info strong{font-family:Oswald;font-size:25px;text-transform:uppercase}.project:hover img{transform:scale(1.07)}.project:hover .project-info i{transform:rotate(45deg)}.project-info i{transition:.3s}
.faq-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-q{width:100%;border:0;background:none;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:24px 0;font-weight:800;font-size:17px;cursor:pointer;color:var(--ink)}.faq-q i{transition:.3s}.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}.faq-a p{padding:0 50px 22px 0;margin:0}.faq-item.open .faq-a{max-height:230px}.faq-item.open .faq-q i{transform:rotate(45deg)}
.cta-band{background:linear-gradient(135deg,var(--blue),#255b98);color:#fff;border-radius:34px;padding:70px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.cta-band:after{content:'';position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-100px;top:-120px}.cta-band p{color:rgba(255,255,255,.76);max-width:610px}.cta-band .btn{background:#fff;color:var(--blue);z-index:2}
.footer{background:#08111a;color:#fff;padding:75px 0 28px}.footer-grid{display:grid;grid-template-columns:1.25fr .65fr .8fr .9fr;gap:45px}.footer-logo{width:190px;background:#fff;padding:9px 12px;border-radius:15px;margin-bottom:24px}.footer p,.footer a{color:#9eadba}.footer a:hover{color:var(--sky)}.footer h4{font-size:16px;margin:5px 0 18px}.footer-links{display:grid;gap:10px;font-size:14px}.footer-contact{display:grid;gap:12px;font-size:14px}.footer-contact i{width:20px;color:var(--sky)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#7f8e9b}.floating{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;flex-direction:column;gap:10px}.float-btn{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:0;box-shadow:0 14px 34px rgba(0,0,0,.22);font-size:19px;transition:transform .35s ease,box-shadow .35s ease}.float-btn:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 18px 40px rgba(0,0,0,.26)}.whatsapp{background:#25D366;color:#fff;animation:floatPulse 1.9s infinite}.backtop{background:#fff;color:var(--blue);opacity:0;pointer-events:none;transform:translateY(12px)}.backtop.show{opacity:1;pointer-events:auto;transform:none}.backtop.show:hover{color:#0b1520}@keyframes floatPulse{0%,100%{box-shadow:0 14px 34px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.34)}50%{box-shadow:0 18px 40px rgba(0,0,0,.26),0 0 0 13px rgba(37,211,102,0)}}
.inner-hero{height:68vh;min-height:570px;position:relative;color:#fff;display:flex;align-items:end;overflow:hidden;background:#09131d}.inner-hero-media{background-image:linear-gradient(90deg,rgba(5,15,24,.84),rgba(5,15,24,.28)),var(--page-image)}.inner-hero .hero-content{padding-bottom:60px}.inner-hero h1{font-size:clamp(56px,8vw,118px)}.breadcrumb{display:flex;gap:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.76);margin-bottom:18px}.breadcrumb span{color:var(--sky)}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-image{height:650px;border-radius:28px;overflow:hidden}.story-image img{width:100%;height:100%;object-fit:cover}.info-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:40px}.info-cell{padding:28px;border-right:1px solid var(--line)}.info-cell:last-child{border:0}.info-cell i{color:var(--blue);font-size:25px;margin-bottom:14px}.info-cell strong{display:block;font-family:Oswald;font-size:21px;text-transform:uppercase}.info-cell span{font-size:13px;color:var(--muted)}
.full-services{display:grid;gap:16px}.service-row{display:grid;grid-template-columns:90px 1fr 1.2fr 40px;align-items:center;gap:30px;padding:26px 10px;border-top:1px solid var(--line);transition:.35s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row .num{font-family:Oswald;font-size:19px;color:var(--blue)}.service-row h3{font-size:32px}.service-row p{margin:0}.service-row:hover{background:#eff8fd;padding-left:24px;padding-right:24px}.service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-detail{min-height:490px;border-radius:24px;overflow:hidden;position:relative;color:#fff}.service-detail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-detail:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(4,13,20,.85))}.service-detail-content{position:absolute;z-index:2;bottom:30px;left:30px;right:30px}.service-detail p{color:rgba(255,255,255,.75)}
.gallery-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.filter-btn{border:1px solid var(--line);background:#fff;padding:11px 15px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.portfolio-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portfolio-item{height:380px;border-radius:22px;overflow:hidden;position:relative}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.portfolio-item:hover img{transform:scale(1.07)}.portfolio-item:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,16,24,.85))}.portfolio-item .label{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff}.label strong{font-family:Oswald;text-transform:uppercase;font-size:25px}.label span{display:block;font-size:12px;color:var(--sky);margin-top:5px}.lightbox{position:fixed;inset:0;background:rgba(2,7,11,.94);z-index:200;display:none;place-items:center;padding:30px}.lightbox.open{display:grid}.lightbox img{max-height:88vh;max-width:94vw;border-radius:14px}.lightbox-close{position:absolute;top:24px;right:28px;color:#fff;background:none;border:0;font-size:34px;cursor:pointer}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.video-placeholder{aspect-ratio:16/9;border-radius:24px;overflow:hidden;position:relative;background:#0a1520;color:#fff}.video-placeholder img{width:100%;height:100%;object-fit:cover;opacity:.58}.play{position:absolute;inset:0;display:grid;place-items:center}.play span{width:82px;height:82px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-size:24px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.video-caption{position:absolute;left:24px;bottom:20px;z-index:2}.video-caption strong{font-family:Oswald;font-size:28px;text-transform:uppercase}.video-caption small{display:block;color:var(--sky);margin-top:5px}.notice{padding:20px 22px;border:1px dashed rgba(57,115,182,.35);background:#f5fbfe;border-radius:16px;color:#52606c;margin-top:26px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.contact-cards{display:grid;gap:12px}.contact-card{padding:24px;border:1px solid var(--line);border-radius:18px;display:flex;gap:18px}.contact-card i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eaf7fd;color:var(--blue)}.contact-card strong{display:block;font-family:Oswald;font-size:20px;text-transform:uppercase;margin-bottom:5px}.contact-card span,.contact-card a{font-size:14px;color:#64717e}.contact-form{background:#0b1520;color:#fff;padding:40px;border-radius:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9fb0bf}.field input,.field select,.field textarea{width:100%;background:#101f2c;border:1px solid rgba(255,255,255,.14);color:#fff;padding:15px;border-radius:10px;outline:0}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky)}.map-wrap iframe{width:100%;height:500px;border:0;border-radius:28px}
.reveal{opacity:0;transform:translateY(40px)}.clip-reveal{overflow:hidden}.split-char{display:inline-block}.cursor-dot{position:fixed;width:9px;height:9px;background:var(--sky);border-radius:50%;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference}.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(146,209,242,.6);border-radius:50%;z-index:9998;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s}
@media(max-width:980px){.topbar{display:none}.header{top:0;height:90px}.nav{position:fixed;inset:0;background:#08111a;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:85px 45px;font-size:30px;gap:17px;transform:translateX(100%);transition:.45s;z-index:90}.nav.open{transform:none}.nav-cta{font-size:14px!important}.mobile-toggle{display:grid;place-items:center;z-index:100}.header.scrolled .mobile-toggle{color:#fff}.about-grid,.choose-grid,.faq-wrap,.story-grid,.contact-layout,.welcome-grid{grid-template-columns:1fr}.sticky-copy{position:relative;top:0}.image-frame,.story-image{min-height:0;height:520px}.welcome-modern{padding-top:90px}.welcome-visual{min-height:auto;padding-right:18px;padding-top:18px}.welcome-main-image{min-height:560px}.welcome-badge{right:18px;top:38px;font-size:24px}.welcome-inset-card{right:0;bottom:28px;width:min(46%,260px)}.welcome-features{grid-template-columns:1fr}.benefit{grid-template-columns:70px 1fr 60px 24px}.benefit-icon{opacity:1;transform:scale(1)}.process-card{grid-template-columns:1fr 1fr;min-height:360px}.process-step{max-width:240px}.process-icon{display:none}.mv-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.2fr 1fr}.info-strip{grid-template-columns:1fr 1fr}.info-cell:nth-child(2){border-right:0}.info-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}.portfolio-page-grid{grid-template-columns:1fr 1fr}.service-detail-grid{grid-template-columns:1fr}.service-row{grid-template-columns:55px 1fr 32px}.service-row p{display:none}}
@media(max-width:700px){.container,.header-inner,.hero-content,.topbar-inner{width:min(100% - 26px,var(--max))}.section{padding:82px 0}.hero{min-height:820px}.hero-content{padding:190px 0 55px}.hero h1{font-size:clamp(50px,16vw,78px)}.hero-copy{display:block}.hero-actions{margin-top:25px}.btn{width:100%}.scroll-cue{display:none}.brand img{width:128px}.header.scrolled .brand img{width:128px}.service-card{width:82vw;height:520px}.service-card h3{font-size:32px}.stats{grid-template-columns:1fr 1fr}.welcome-main-image{min-height:460px}.welcome-badge{position:relative;right:auto;top:auto;margin:-38px 20px 0 20px;min-height:72px;font-size:20px;justify-content:center;text-align:center}.welcome-badge:after{display:none}.welcome-inset-card{position:relative;right:auto;bottom:auto;width:72%;margin:-32px 0 0 auto}.welcome-actions{display:block}.welcome-signoff{margin-top:22px}.benefit{grid-template-columns:1fr;gap:10px;padding:24px 0}.benefit .num,.benefit-arrow{display:none}.benefit-icon{justify-self:start}.process-card{min-height:390px;padding:30px 24px;grid-template-columns:1fr;top:100px!important}.process-step{max-width:none;font-size:22px}.mv-card{min-height:390px;padding:32px}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:310px}.project,.project:nth-child(n){grid-column:auto;grid-row:auto}.cta-band{padding:40px 26px;display:block}.cta-band .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.info-strip{grid-template-columns:1fr}.info-cell{border-right:0!important;border-bottom:1px solid var(--line)!important}.portfolio-page-grid,.video-grid{grid-template-columns:1fr}.portfolio-item{height:330px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-form{padding:28px 20px}.inner-hero{min-height:540px;height:70vh}.inner-hero h1{font-size:clamp(48px,15vw,72px)}.cursor-dot,.cursor-ring{display:none}}

/* --- Home refinement update --- */
.home-page .hero{padding-top:0}
.home-page .hero-head{position:absolute;inset:0 0 auto 0;z-index:30}
.home-page .topbar{position:fixed;top:0;left:0;background:linear-gradient(90deg,rgba(6,18,29,.82),rgba(6,18,29,.52))}
.home-page .header{position:fixed;top:42px;left:0;background:transparent}
.home-page .hero-content{padding-top:230px}
.home-page .hero-overlay{background:linear-gradient(92deg,rgba(5,15,24,.62),rgba(5,15,24,.24) 45%,rgba(5,15,24,.42) 100%)}
.home-page .brand img{width:152px}
.home-page .nav-cta{transition:transform .35s ease, background .35s ease, color .35s ease, box-shadow .35s ease, border-color .35s ease}
.home-page .nav-cta:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.24)}

.welcome-modern{padding:78px 0 54px}
.welcome-grid{align-items:center;gap:56px}
.welcome-visual{min-height:535px}
.welcome-main-image{min-height:535px}
.welcome-main-image img,.welcome-inset-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.welcome-inset-card{right:-18px;bottom:24px;width:min(43%,248px);height:245px;aspect-ratio:auto;border:0;background:#fff;padding:0;box-shadow:0 22px 50px rgba(7,17,27,.20)}
.welcome-badge{top:42px;right:-18px}
.welcome-actions{align-items:center}

.build-stages-section{padding:110px 0;background:#f2ebd9;overflow:hidden}
.build-stages{position:relative;height:2200px}
.build-stages-inner{position:sticky;top:90px;padding-bottom:40px}
.build-header{display:grid;grid-template-columns:1.45fr .75fr;gap:46px;align-items:end;margin-bottom:54px}
.build-header h2{max-width:760px;text-transform:none;line-height:.98;font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:-.04em;font-size:clamp(40px,5.4vw,72px)}
.build-header p{font-size:18px;color:#655f54;max-width:500px;margin:0 0 8px auto}
.build-chip{display:inline-flex;align-items:center;gap:10px;color:#7f7768;font-size:14px;margin-bottom:18px}
.build-chip span{width:12px;height:12px;border-radius:2px;background:#ef6969;display:block}
.build-progress{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:18px}
.build-stage{display:flex;align-items:center;gap:14px}
.build-stage-dot{width:58px;height:58px;border-radius:50%;background:#f6efde;color:#0b1520;display:grid;place-items:center;font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:600;transition:.35s}
.build-stage-line{flex:1;height:4px;border-radius:999px;background:#ece3cf;position:relative;overflow:hidden}
.build-stage-line:after{content:'';position:absolute;inset:0 auto 0 0;width:0;background:#000;border-radius:inherit;transition:width .45s ease}
.build-stage.active .build-stage-dot{background:#000;color:#fff}
.build-stage.active .build-stage-line:after{width:100%}
.build-stage:last-child .build-stage-line{display:none}
.build-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px;align-items:start}
.build-card{background:#f4edda;border-radius:18px;padding:28px 30px;min-height:280px;opacity:0;transform:translateY(45px) scale(.96);transition:opacity .45s ease,transform .45s ease,box-shadow .45s ease;box-shadow:none;pointer-events:none}
.build-card.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;box-shadow:0 20px 40px rgba(33,26,10,.06)}
.build-card-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:#222;font-size:25px;margin-bottom:42px}
.build-card h3{font-family:Manrope,Arial,sans-serif;font-size:24px;line-height:1.15;text-transform:none;font-weight:700;margin-bottom:12px}
.build-card p{font-size:15px;line-height:1.7;color:#6a6357;margin:0}

.mv-showcase-section{padding:92px 0;background:#f7f7f7}
.mv-showcase{display:grid;grid-template-columns:.96fr 1.04fr;gap:52px;align-items:center}
.mv-showcase-visual{position:relative;min-height:610px}
.mv-main-photo{height:610px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}
.mv-main-photo img{width:100%;height:100%;object-fit:cover}
.mv-small-card{position:absolute;right:-16px;bottom:18px;width:min(42%,240px);padding:16px;background:#fff;border-radius:24px;box-shadow:0 18px 42px rgba(7,17,27,.16)}
.mv-small-card-inner{border-radius:18px;padding:24px 22px;background:linear-gradient(135deg,#0e1821,#2a4f76);color:#fff;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end}
.mv-small-card-inner span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:10px}
.mv-small-card-inner strong{font-family:Oswald,Arial,sans-serif;font-size:30px;line-height:1;text-transform:uppercase}
.mv-showcase-copy h2{text-transform:none;font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.04em;line-height:.98;font-size:clamp(40px,4.7vw,68px);margin-bottom:26px}
.mv-pill{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:10px 18px;color:#504b43;font-weight:700;margin-bottom:22px;box-shadow:0 8px 24px rgba(7,17,27,.05)}
.mv-pill:before{content:'•';color:#c79438;font-size:20px;line-height:1}
.mv-intro{font-size:18px;max-width:720px;margin:0 0 32px}
.mv-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.mv-text-block{padding-top:6px}
.mv-block-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;color:#c79438;font-size:32px;background:#fff;margin-bottom:24px;box-shadow:0 8px 24px rgba(7,17,27,.06)}
.mv-text-block h3{text-transform:none;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:34px;line-height:1.05;margin-bottom:12px}
.mv-text-block p{margin:0 0 20px;font-size:16px;line-height:1.75}
.mv-text-block ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.mv-text-block li{position:relative;padding-left:22px;color:#555}
.mv-text-block li:before{content:'✶';position:absolute;left:0;top:0;color:#c79438}

.char-reveal .char{display:inline-block;opacity:.12;transform:translateY(18px);will-change:transform,opacity}

@media(max-width:1100px){
  .build-header{grid-template-columns:1fr;gap:20px}
  .build-header p{margin:0;max-width:650px}
  .mv-showcase{grid-template-columns:1fr}
}

@media(max-width:980px){
  .home-page .header{top:0}
  .home-page .hero-content{padding-top:170px}
  .welcome-modern{padding:72px 0 40px}
  .welcome-visual{min-height:auto;padding-right:0}
  .welcome-main-image{min-height:460px}
  .welcome-inset-card{right:0;bottom:12px;width:min(48%,220px);height:210px}
  .build-stages{height:auto}
  .build-stages-inner{position:relative;top:0}
  .build-progress{gap:10px}
  .build-stage-dot{width:52px;height:52px;font-size:20px}
  .build-cards{grid-template-columns:1fr 1fr}
  .mv-showcase-visual{min-height:auto}
  .mv-main-photo{height:520px}
}

@media(max-width:700px){
  .home-page .hero-content{padding-top:160px}
  .build-stages-section{padding:84px 0}
  .build-header h2,.mv-showcase-copy h2{font-size:clamp(36px,11vw,54px)}
  .build-progress{grid-template-columns:repeat(4,1fr);gap:8px}
  .build-stage{gap:8px}
  .build-stage-dot{width:42px;height:42px;font-size:18px}
  .build-stage-line{height:3px}
  .build-cards{grid-template-columns:1fr;gap:14px}
  .build-card{min-height:0;padding:24px}
  .welcome-badge{right:auto;top:auto;position:relative;margin:-34px 18px 0 18px}
  .welcome-inset-card{position:relative;width:70%;height:190px;margin:-28px 0 0 auto;right:auto;bottom:auto}
  .mv-main-photo{height:420px}
  .mv-small-card{position:relative;right:auto;bottom:auto;width:76%;margin:-34px 0 0 auto}
  .mv-columns{grid-template-columns:1fr}
}

/* --- Navigation + section fixes v3 --- */
.nav{gap:20px;font-size:12px}
.header-inner{gap:20px}
.brand img{width:146px}
.footer-logo{width:170px}
.home-page .brand img{width:146px}

/* Keep Why Choose Us stable */
.choose-grid{align-items:start}
.sticky-copy{position:relative;top:0}
.benefits{position:relative}
.benefit{opacity:1 !important;transform:none !important}

/* About feature section */
.about-feature-section{padding:104px 0}
.about-feature-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
.about-feature-copy h2{max-width:620px}
.about-feature-copy p{font-size:17px}
.about-bullets{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px}
.about-bullets li{position:relative;padding-left:28px;font-weight:700;color:#163a68}
.about-bullets li:before{content:'→';position:absolute;left:0;top:-1px;color:var(--blue);font-size:18px}
.about-feature-visual{position:relative;min-height:540px}
.about-feature-image{height:540px;border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}
.about-feature-image img{width:100%;height:100%;object-fit:cover}
.about-feature-badge{position:absolute;right:-6px;top:26px;width:min(36%,220px);background:#1d3479;color:#fff;border-radius:999px 999px 999px 40px;padding:36px 28px;min-height:220px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Oswald,Arial,sans-serif;font-size:26px;line-height:1.1;text-transform:uppercase;box-shadow:0 22px 44px rgba(29,52,121,.24)}

/* About mission/vision panel */
.about-mv-panel-section{padding:104px 0}
.about-mv-panel{position:relative;min-height:760px;border-radius:32px;overflow:hidden;background:#0d1318}
.about-mv-bg{position:absolute;inset:0;background-size:cover;background-position:center right}
.about-mv-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,20,.42) 0%,rgba(10,15,20,.18) 45%,rgba(10,15,20,.14) 100%)}
.about-mv-card{position:relative;z-index:2;width:min(54%,690px);margin:28px;background:#fff;border-radius:32px;padding:46px 56px;box-shadow:0 24px 55px rgba(0,0,0,.12)}
.about-mv-card h2{text-transform:none;font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.04em;line-height:.97;font-size:clamp(42px,4.9vw,72px);margin-bottom:22px}
.accent-gold{color:#c99f4f}
.about-mv-card p{font-size:17px;max-width:560px}
.about-mv-divider{height:1px;background:rgba(11,21,32,.12);margin:34px 0 28px}
.about-mv-item{display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:flex-start;padding:20px 0}
.about-mv-item + .about-mv-item{border-top:1px solid rgba(11,21,32,.1)}
.about-mv-item-icon{width:52px;height:52px;border-radius:16px;border:2px solid #c99f4f;color:#c99f4f;display:grid;place-items:center;font-size:22px}
.about-mv-item h3{font-family:Manrope,Arial,sans-serif;font-size:22px;text-transform:none;font-weight:800;margin-bottom:8px}
.about-mv-item p{margin:0;color:#56606b;line-height:1.7}

/* reveal from right */
.reveal-right{opacity:0;transform:translateX(110px)}

@media(max-width:1180px){
  .nav{gap:16px;font-size:11px}
  .about-mv-card{width:min(62%,690px)}
}
@media(max-width:980px){
  .about-feature-grid{grid-template-columns:1fr}
  .about-feature-visual{min-height:auto}
  .about-feature-image{height:460px}
  .about-feature-badge{right:10px;top:18px;width:200px;min-height:200px;font-size:24px}
  .about-mv-panel{min-height:0}
  .about-mv-card{width:auto;margin:22px;padding:34px 28px}
}
@media(max-width:700px){
  .nav{font-size:28px}
  .about-feature-image{height:380px}
  .about-feature-badge{position:relative;right:auto;top:auto;margin:-34px 0 0 auto;width:180px;min-height:180px;font-size:20px}
  .about-mv-card{margin:16px;padding:28px 22px;border-radius:24px}
  .about-mv-item{grid-template-columns:1fr;gap:12px}
}

/* --- v4 refinements --- */
.page-banner{height:520px;min-height:520px;display:flex;align-items:center;text-align:center}
.page-banner .inner-hero-media{background-image:linear-gradient(90deg,rgba(8,13,18,.78),rgba(8,13,18,.32),rgba(8,13,18,.22)),var(--page-image);background-size:cover;background-position:center 42%}
.page-banner .hero-content{padding:180px 0 74px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.page-banner .breadcrumb{order:2;margin:18px 0 0;justify-content:center;font-size:13px}
.page-banner h1{order:1;font-size:clamp(48px,5vw,76px);max-width:920px;line-height:.98;text-transform:none;letter-spacing:-.02em}

/* About intro animation */
.about-copy-animate>*{opacity:0;transform:translateY(30px)}
.about-image-slide{opacity:0;transform:translate3d(180px,0,0) scale(.96);will-change:transform,opacity}

/* About info cards */
.about-info-zone{background:#83C0E8;padding:64px 0}
.about-info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border:0;margin-top:0;background:transparent;overflow:visible}
.about-info-strip .info-cell{background:#A4A3A9;border:0!important;border-radius:20px;padding:28px;box-shadow:0 16px 34px rgba(34,64,88,.12);color:#fff;min-height:160px;opacity:0;transform:translateY(34px) scale(.94);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.about-info-strip .info-cell:hover{transform:translateY(-8px) scale(1.01)!important;box-shadow:0 24px 46px rgba(34,64,88,.22);background:#929197}
.about-info-strip .info-cell i{color:#fff;font-size:28px;margin-bottom:18px}
.about-info-strip .info-cell strong{color:#fff;font-size:24px}
.about-info-strip .info-cell span{color:rgba(255,255,255,.9);font-size:14px}

/* Full image mission/vision */
.about-mv-panel-section{padding:0}
.about-mv-panel{min-height:820px;border-radius:0;display:flex;align-items:center;background:#10161b}
.about-mv-bg{background-size:cover;background-position:center;filter:none}
.about-mv-bg:after{background:linear-gradient(90deg,rgba(7,12,17,.62) 0%,rgba(7,12,17,.18) 58%,rgba(7,12,17,.12) 100%)}
.about-mv-card{width:min(48%,680px);margin-left:max(28px,calc((100vw - var(--max))/2));margin-right:28px;margin-top:0;margin-bottom:0;padding:50px 56px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}

/* Animated service radius */
.service-radius{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;margin:34px 0 72px;padding:46px;border-radius:30px;background:linear-gradient(135deg,#edf7ff,#d9ecfb);overflow:hidden;position:relative}
.radius-visual{width:min(100%,430px);aspect-ratio:1;border-radius:50%;position:relative;margin:auto;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.98) 0 18%,rgba(146,209,242,.22) 18% 38%,rgba(146,209,242,.10) 38% 65%,rgba(255,255,255,.2) 65% 100%);box-shadow:inset 0 0 70px rgba(57,115,182,.14)}
.radar-orbit{position:absolute;border-radius:50%;border:1px dashed rgba(57,115,182,.35);inset:12%}
.radar-orbit.orbit-2{inset:27%;border-color:rgba(239,105,105,.45)}
.radar-orbit.orbit-3{inset:40%;border-style:solid;border-color:rgba(57,115,182,.18)}
.radar-sweep{position:absolute;inset:4%;border-radius:50%;background:conic-gradient(from 0deg,rgba(57,115,182,.28),transparent 18%,transparent 100%);animation:radarSweep 4s linear infinite;mix-blend-mode:multiply}
.radar-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:190px;padding:18px 20px;border-radius:999px;background:#3973B6;color:#fff;box-shadow:0 16px 36px rgba(57,115,182,.28);text-align:center}
.radar-center i{font-size:20px;margin-right:8px;color:#fff}
.radar-center strong{display:block;font-family:Oswald,Arial,sans-serif;font-size:24px;text-transform:uppercase;margin-top:5px}
.radar-center span{display:block;font-size:11px;opacity:.82;margin-top:5px}
.radar-ping{position:absolute;width:12px;height:12px;border-radius:50%;background:#ef6969;box-shadow:0 0 0 0 rgba(239,105,105,.45);animation:radarPing 2.2s infinite}
.ping-1{left:21%;top:31%}.ping-2{right:19%;top:45%;animation-delay:.7s}.ping-3{left:33%;bottom:16%;animation-delay:1.4s}
.radius-copy h3{font-size:clamp(34px,4vw,54px);margin-bottom:18px}
.radius-copy p{font-size:16px;max-width:700px}
.locality-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;max-height:300px;overflow:auto;padding-right:8px}
.locality-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:999px;background:#fff;color:#315f94;border:1px solid rgba(57,115,182,.14);font-weight:700;font-size:12px;box-shadow:0 8px 18px rgba(57,115,182,.08);transition:.25s}
.locality-chip:hover{transform:translateY(-3px);background:#3973B6;color:#fff}
@keyframes radarSweep{to{transform:rotate(360deg)}}
@keyframes radarPing{0%,100%{box-shadow:0 0 0 0 rgba(239,105,105,.42);transform:scale(1)}50%{box-shadow:0 0 0 16px rgba(239,105,105,0);transform:scale(1.18)}}

/* Coming soon video */
.video-coming-section{background:linear-gradient(135deg,#07131f,#132f49);overflow:hidden;min-height:620px;display:flex;align-items:center}
.video-coming{position:relative;max-width:920px;margin:auto;text-align:center;color:#fff;padding:80px 40px;isolation:isolate}
.video-coming:before{content:'';position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(146,209,242,.28),rgba(146,209,242,0) 70%);left:50%;top:50%;transform:translate(-50%,-50%);z-index:-2}
.video-coming .eyebrow{justify-content:center;color:var(--sky)}
.video-coming .eyebrow:before{background:var(--sky)}
.video-coming h2{font-size:clamp(54px,7vw,94px);margin:20px 0 24px}
.video-coming p{color:rgba(255,255,255,.72);font-size:18px;max-width:760px;margin:0 auto}
.video-coming-icon{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;margin:0 auto 28px;background:linear-gradient(135deg,var(--sky),var(--blue));font-size:42px;box-shadow:0 20px 55px rgba(57,115,182,.32);animation:comingFloat 2.6s ease-in-out infinite}
.video-coming-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12);left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1}
.video-coming-orbit.orbit-a{width:560px;height:560px;animation:orbitPulse 3s ease-in-out infinite}
.video-coming-orbit.orbit-b{width:720px;height:720px;animation:orbitPulse 3s ease-in-out infinite reverse}
.coming-badge{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:13px;font-weight:700}
.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 0 rgba(146,209,242,.5);animation:dotPulse 1.7s infinite}
@keyframes comingFloat{50%{transform:translateY(-10px) rotate(-3deg)}}
@keyframes orbitPulse{50%{opacity:.45;transform:translate(-50%,-50%) scale(1.04)}}
@keyframes dotPulse{50%{box-shadow:0 0 0 10px rgba(146,209,242,0)}}

@media(max-width:980px){
  .page-banner{height:460px;min-height:460px}
  .page-banner .hero-content{padding-top:140px}
  .about-info-strip{grid-template-columns:1fr 1fr}
  .about-mv-card{width:calc(100% - 44px);margin:22px}
  .service-radius{grid-template-columns:1fr;padding:34px 24px}
}
@media(max-width:700px){
  .page-banner{height:420px;min-height:420px}
  .page-banner h1{font-size:42px}
  .about-info-strip{grid-template-columns:1fr}
  .about-mv-panel{min-height:760px}
  .about-mv-card{width:calc(100% - 28px);margin:14px;padding:28px 22px}
  .service-radius{margin-top:20px;padding:26px 18px}
  .radius-visual{max-width:320px}
  .radar-center{width:164px;padding:15px}
  .locality-chips{max-height:none;overflow:visible}
  .video-coming{padding:64px 18px}
  .video-coming-orbit.orbit-a{width:360px;height:360px}
  .video-coming-orbit.orbit-b{width:470px;height:470px}
}

/* ===== Refresh v5 ===== */
.footer-pro{background:#2D67AF!important;color:#fff!important;padding:0 0 28px!important;overflow:hidden}
.footer-pro .container{position:relative}
.footer-topcard{display:grid;grid-template-columns:264px 1fr;gap:28px;align-items:stretch;transform:none;margin-bottom:18px}
.footer-brand-box{background:#fff;border-radius:0 0 18px 18px;display:grid;place-items:center;padding:20px;box-shadow:0 18px 40px rgba(5,24,56,.22)}
.footer-pro .footer-logo{width:188px;background:none!important;padding:0!important;border-radius:0!important;margin:0!important}
.footer-topinfo{background:#83C0E8;border-radius:0 0 18px 18px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;box-shadow:0 18px 40px rgba(5,24,56,.18)}
.footer-topcell{display:flex;align-items:center;gap:16px;padding:26px 28px;border-right:1px solid rgba(45,103,175,.18)}
.footer-topcell:last-child{border-right:0}.footer-topcell strong{display:block;font-family:Oswald;font-size:18px;letter-spacing:.02em;color:#17355d}.footer-topcell span,.footer-topcell a{display:block;color:#214771;font-size:15px}.footer-topcell a:hover{color:#fff}
.footer-topicon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.75);color:#2D67AF;font-size:19px;box-shadow:0 0 0 0 rgba(255,255,255,.4);animation:footerIconPulse 2.2s infinite}
@keyframes footerIconPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.35)}50%{box-shadow:0 0 0 12px rgba(255,255,255,0)}}
.footer-main-grid{display:grid;grid-template-columns:.95fr .9fr .85fr 1.25fr;gap:46px;padding:26px 0 16px}.footer-column h4{color:#fff;font-size:17px;font-family:Oswald;letter-spacing:.02em;margin:0 0 20px;text-transform:none}.hours-list{display:grid;gap:14px}.hours-list div{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}.hours-list div:last-child{border-bottom:0}.hours-list span,.hours-list strong{font-size:14px;color:#e6eef8}.footer-pro .footer-links{display:grid;gap:12px}.footer-pro .footer-links a{color:#e6eef8;font-size:14px}.footer-pro .footer-links a:hover{color:#83C0E8;transform:translateX(4px)}
.footer-carousel{display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center}.footer-carousel-window{overflow:hidden;border-radius:16px;background:rgba(255,255,255,.08);padding:8px}.footer-carousel-track{display:flex;transition:transform .5s ease}.footer-carousel-slide{min-width:100%;height:195px;border-radius:12px;overflow:hidden;cursor:pointer;position:relative}.footer-carousel-slide img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.footer-carousel-slide:hover img{transform:scale(1.08)}.footer-carousel-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.35s}.footer-carousel-btn:hover{background:#83C0E8;color:#17355d;transform:translateY(-2px)}
.footer-bottom-pro{border-top:1px solid rgba(255,255,255,.14);margin-top:20px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-bottom-pro p{margin:0;color:#eef4fb;font-size:14px}.footer-service-icons{display:flex;gap:14px;flex-wrap:wrap}.footer-service-icons span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:19px;transition:.35s;box-shadow:0 10px 22px rgba(5,24,56,.18)}.footer-service-icons span:hover{transform:translateY(-5px) scale(1.04);background:#83C0E8;color:#17355d}

.contact-layout-pro{align-items:start}.contact-cards-pro{grid-template-columns:1fr 1fr;display:grid;gap:14px}.contact-card-pro{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;gap:15px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.contact-card-pro:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(15,31,53,.08);border-color:#83C0E8}.contact-card-pro i{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#e8f4fc;color:#2D67AF;font-size:18px;flex:0 0 50px;animation:contactIconFloat 2.6s ease-in-out infinite}.contact-card-pro:nth-child(even) i{animation-delay:.25s}.contact-card-pro strong{display:block;font-family:Oswald;font-size:20px;text-transform:uppercase;margin-bottom:5px}.contact-card-pro span,.contact-card-pro a{font-size:14px;color:#556270}.contact-link{transition:color .3s ease}.contact-link:hover{color:#2D67AF!important}
@keyframes contactIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.contact-form-pro{padding:34px;border-radius:28px;background:#0b1520}.contact-form-pro h3{font-size:42px;margin:8px 0 10px}.contact-form-pro p{color:#b6c4d0}.iframe-wrap{height:760px;border-radius:22px;overflow:hidden;background:#fff;margin-top:22px}

.coverage-zone-section{padding-top:20px}.coverage-zone{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:40px;align-items:center}.coverage-radar{background:linear-gradient(145deg,#eef8ff,#dcecff);border:1px solid rgba(45,103,175,.16);border-radius:34px;min-height:380px;position:relative;display:grid;place-items:center;overflow:hidden}.coverage-radar .radar-center{width:180px;height:180px}.coverage-copy h3{font-size:44px;margin:10px 0 14px}.coverage-copy p{max-width:760px}.locality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.locality-grid .locality-chip{margin:0;background:#fff;border:1px solid rgba(45,103,175,.13);box-shadow:0 14px 28px rgba(12,36,62,.06)}

.portfolio-refresh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portfolio-shot{border-radius:22px;overflow:hidden;position:relative;cursor:pointer;background:#dce8f3;min-height:280px;box-shadow:0 15px 30px rgba(13,26,47,.08)}.portfolio-shot:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,21,32,.02),rgba(11,21,32,.14));opacity:0;transition:.35s}.portfolio-shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .35s ease}.portfolio-shot:hover img{transform:scale(1.09);filter:saturate(1.03)}.portfolio-shot:hover:after{opacity:1}

@media(max-width:1180px){.footer-topcard{grid-template-columns:220px 1fr}.footer-main-grid{grid-template-columns:1fr 1fr}.locality-grid{grid-template-columns:repeat(3,1fr)}.portfolio-refresh-grid{grid-template-columns:repeat(3,1fr)}.contact-cards-pro{grid-template-columns:1fr}}
@media(max-width:980px){.footer-topcard{grid-template-columns:1fr;transform:none;margin:0 0 26px}.footer-topinfo{grid-template-columns:1fr}.footer-topcell{border-right:0;border-bottom:1px solid rgba(45,103,175,.18)}.footer-topcell:last-child{border-bottom:0}.footer-main-grid{grid-template-columns:1fr 1fr}.footer-bottom-pro{flex-direction:column;align-items:flex-start}.coverage-zone{grid-template-columns:1fr}.locality-grid{grid-template-columns:repeat(2,1fr)}.portfolio-refresh-grid{grid-template-columns:repeat(2,1fr)}.contact-layout-pro{grid-template-columns:1fr}.iframe-wrap{height:748px}}
@media(max-width:700px){.footer-main-grid{grid-template-columns:1fr}.footer-carousel-slide{height:180px}.locality-grid,.portfolio-refresh-grid,.contact-cards-pro{grid-template-columns:1fr}.footer-topcell{padding:22px}.coverage-copy h3{font-size:36px}.contact-form-pro h3{font-size:34px}}

/* ===== v6 refinements ===== */
/* Contact details: keep direct links on one line */
.contact-layout-pro{grid-template-columns:1.05fr 1fr}
.contact-card-pro>div{min-width:0;flex:1}
.contact-card-pro .contact-link{display:block;white-space:nowrap;font-size:13.5px;letter-spacing:-.01em}
.contact-card-pro strong{white-space:nowrap}
.contact-map-section{padding-top:0}
.contact-map{height:520px;border-radius:30px;overflow:hidden;box-shadow:0 22px 48px rgba(11,21,32,.1)}
.contact-map iframe{height:100%!important;border-radius:0!important}

/* Footer top information */
.footer-pro{padding-top:78px!important}
.footer-topcard{transform:none!important;margin-bottom:18px!important;align-items:stretch}
.footer-brand-box{border-radius:18px!important;min-height:124px;padding:18px 28px!important;overflow:visible!important}
.footer-pro .footer-logo{width:198px!important;max-height:102px;object-fit:contain;object-position:center}
.footer-topinfo{border-radius:18px!important}
.footer-topcell{min-width:0}
.footer-topcell strong{color:#fff!important;font-size:19px!important;text-shadow:0 1px 10px rgba(27,69,113,.22)}
.footer-topcell span,.footer-topcell a{color:#fff!important;font-weight:700!important;text-shadow:0 1px 10px rgba(27,69,113,.2)}
.footer-topcell a:hover{color:#17355d!important;text-shadow:none}
.footer-topicon{background:#2D67AF!important;color:#fff!important;border:2px solid rgba(255,255,255,.9);box-shadow:0 9px 22px rgba(23,53,93,.24)!important;animation:footerTopIcon 2.2s ease-in-out infinite!important}
.footer-topicon i{color:#fff!important;opacity:1!important}
@keyframes footerTopIcon{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.06)}}

/* Footer links with icons */
.footer-links-icons a{display:flex!important;align-items:center;gap:10px}
.footer-links-icons a i{width:22px;text-align:center;color:#83C0E8;font-size:14px;transition:.3s}
.footer-links-icons a:hover i{color:#fff;transform:scale(1.15) rotate(-5deg)}

/* Footer project strip inspired by supplied reference */
.footer-main-grid{grid-template-columns:.8fr .8fr .72fr 1.55fr!important;gap:34px!important}
.footer-work-column{min-width:0}
.footer-work-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.footer-work-head h4{margin:0!important;text-transform:uppercase!important;letter-spacing:.13em!important;font-size:13px!important;color:#83C0E8!important}
.footer-work-arrows{display:flex;gap:10px}
.footer-work-arrows .footer-carousel-btn{width:38px;height:38px}
.footer-carousel{display:block!important}
.footer-carousel-window{padding:0!important;background:transparent!important;border-radius:0!important;overflow:hidden}
.footer-carousel-track{display:flex;gap:12px;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.footer-carousel-slide{min-width:calc((100% - 36px)/4)!important;width:calc((100% - 36px)/4)!important;height:132px!important;border-radius:12px!important;box-shadow:0 10px 22px rgba(10,31,60,.2);border:1px solid rgba(255,255,255,.12)}
.footer-carousel-slide img{width:100%;height:100%;object-fit:cover}

/* Portfolio aqua hover for zoom intent, without labels/icons */
.portfolio-shot:after{background:rgba(131,192,232,.55)!important;mix-blend-mode:multiply;opacity:0!important}
.portfolio-shot:hover:after{opacity:1!important}
.portfolio-shot:hover{box-shadow:0 18px 38px rgba(45,103,175,.22),0 0 0 3px rgba(131,192,232,.65) inset}
.portfolio-shot:hover img{transform:scale(1.08)!important;filter:saturate(1.05) brightness(1.03)!important}

/* Coverage section decorative corners */
.coverage-zone{position:relative;padding:34px;border-radius:34px;background:linear-gradient(145deg,#f8fcff,#eef7fd);border:1px solid rgba(45,103,175,.12)}
.coverage-corner-icon{position:absolute;width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:#83C0E8;color:#fff;font-size:28px;box-shadow:0 16px 34px rgba(45,103,175,.18);z-index:3;animation:cornerFloat 3.4s ease-in-out infinite}
.coverage-corner-icon.corner-a{top:-18px;left:-18px;transform:rotate(-10deg)}
.coverage-corner-icon.corner-b{right:-18px;bottom:-18px;transform:rotate(10deg);animation-delay:.5s}
@keyframes cornerFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}

@media(max-width:1180px){
  .footer-main-grid{grid-template-columns:1fr 1fr!important}
  .footer-work-column{grid-column:1/-1}
  .contact-layout-pro{grid-template-columns:1fr}
  .contact-cards-pro{grid-template-columns:1fr 1fr!important}
}
@media(max-width:980px){
  .footer-pro{padding-top:22px!important}
  .footer-topcard{margin-bottom:24px!important}
  .footer-brand-box{min-height:110px}
  .footer-pro .footer-logo{max-height:92px}
  .footer-main-grid{grid-template-columns:1fr 1fr!important}
  .footer-carousel-slide{min-width:calc((100% - 24px)/3)!important;width:calc((100% - 24px)/3)!important}
}
@media(max-width:700px){
  .contact-cards-pro{grid-template-columns:1fr!important}
  .contact-card-pro .contact-link{font-size:13px}
  .footer-main-grid{grid-template-columns:1fr!important}
  .footer-carousel-slide{min-width:calc((100% - 12px)/2)!important;width:calc((100% - 12px)/2)!important;height:125px!important}
  .coverage-zone{padding:28px 18px}
  .coverage-corner-icon{width:58px;height:58px;font-size:22px}
}


/* --- Services assembly experience --- */
.service-assembly-wrap{padding:20px 0 110px;background:#08111a;color:#fff;overflow:hidden}
.services-story-rail{display:grid;gap:0}
.service-story{position:relative;min-height:220vh}
.service-story-pin{position:sticky;top:0;height:100vh;overflow:hidden}
.service-story-media,.service-story-overlay,.service-story-grid{position:absolute;inset:0}
.service-story-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.service-story-overlay{background:linear-gradient(90deg,rgba(6,12,20,.88),rgba(6,12,20,.48) 42%,rgba(6,12,20,.72) 100%)}
.service-story-grid{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:110px 110px;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.8) 25%,rgba(0,0,0,.9) 75%,transparent 100%)}
.service-story-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:140px 0 120px}
.service-story-number{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:38px;padding:0 16px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;margin-bottom:26px;color:#d7ecfb}
.service-assemble{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.22em;font-size:clamp(50px,8vw,146px);line-height:.9;color:#fff;text-shadow:0 14px 50px rgba(0,0,0,.25);margin:0 auto;max-width:min(96vw,1280px);display:flex;justify-content:center;flex-wrap:wrap;row-gap:.1em;column-gap:.04em}
.service-assemble .char{display:inline-block;opacity:.08;transform:translate3d(0,0,0);will-change:transform,opacity,filter;filter:blur(1.5px)}
.service-assemble .char.space{width:.34em}
.service-story-copy{max-width:760px;margin-top:42px;opacity:0;transform:translateY(50px) scale(.98);padding:30px 34px;background:rgba(5,14,23,.44);border:1px solid rgba(255,255,255,.12);border-radius:26px;backdrop-filter:blur(14px);box-shadow:0 22px 60px rgba(0,0,0,.16)}
.service-story-copy p{color:rgba(255,255,255,.85);font-size:18px;max-width:680px;margin:0 auto 22px}
.service-story-points{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px;margin-bottom:26px}
.service-story-points span{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:13px;font-weight:700;color:#f5f9fc}
.service-story-points i{color:#83C0E8}
.service-story-copy .btn{min-width:240px}
.service-story-divider{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 0 30px;z-index:3}
.service-story-divider span{display:block;width:min(250px,42vw);height:1px;background:linear-gradient(90deg,transparent,rgba(131,192,232,.95),transparent);box-shadow:0 0 18px rgba(131,192,232,.35)}
.service-story:last-child .service-story-divider{display:none}

@media(max-width:1100px){
  .service-story{min-height:200vh}
  .service-story-inner{padding-top:150px}
  .service-story-copy{max-width:680px}
}

@media(max-width:980px){
  .service-story{min-height:180vh}
  .service-story-overlay{background:linear-gradient(180deg,rgba(6,12,20,.75),rgba(6,12,20,.66) 45%,rgba(6,12,20,.88))}
  .service-story-inner{padding:130px 0 90px}
  .service-story-copy p{font-size:17px}
}

@media(max-width:700px){
  .service-assembly-wrap{padding:12px 0 72px}
  .service-story{min-height:auto;padding:0 0 22px}
  .service-story-pin{position:relative;height:auto;min-height:100vh}
  .service-story-inner{min-height:100vh;padding:125px 0 72px}
  .service-assemble{font-size:clamp(42px,15vw,76px);letter-spacing:.14em;row-gap:.02em}
  .service-story-copy{margin-top:30px;padding:24px 18px;border-radius:20px}
  .service-story-copy p{font-size:15px}
  .service-story-points{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:20px}
  .service-story-points span{justify-content:center;text-align:center}
  .service-story-copy .btn{min-width:0;width:100%}
}


/* --- v8 services scroll + footer precision fixes --- */
/* Services: shorter scroll travel and clean separator only */
.service-story{min-height:155vh!important}
.service-story-divider{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:0!important;height:1px!important;background:#83C0E8!important;opacity:.78!important;z-index:5!important}
.service-story-divider span{display:none!important}
.service-story:last-child .service-story-divider{display:none!important}
.service-story-copy{margin-top:32px!important}

/* Keep footer contact icons perfectly centered inside their circles */
.footer-topicon{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 52px!important;width:52px!important;height:52px!important;padding:0!important;overflow:hidden!important}
.footer-topicon i{display:block!important;position:static!important;width:auto!important;height:auto!important;min-width:0!important;margin:0!important;padding:0!important;line-height:1!important;font-size:19px!important;transform:none!important;translate:none!important;text-align:center!important}

@media(max-width:1100px){.service-story{min-height:150vh!important}}
@media(max-width:980px){.service-story{min-height:145vh!important}}
@media(max-width:700px){
  .service-story{min-height:auto!important}
  .service-story-divider{position:relative!important;margin-top:0!important}
}

/* --- Services v9: controlled title assembly, no dead space --- */
.service-story{min-height:128vh!important;margin:0!important;padding:0!important}
.service-story-pin{height:100vh!important}
.service-story-inner{padding:118px 0 88px!important}
.service-story-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin-bottom:24px;background:rgba(131,192,232,.14);border:1px solid rgba(131,192,232,.52);color:#83C0E8;font-size:26px;backdrop-filter:blur(10px);box-shadow:0 0 0 0 rgba(131,192,232,.22);animation:serviceIconPulse 2.2s infinite}
@keyframes serviceIconPulse{0%,100%{box-shadow:0 0 0 0 rgba(131,192,232,.20)}50%{box-shadow:0 0 0 13px rgba(131,192,232,0)}}
.service-story-number{display:none!important}
.service-assemble{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;gap:.22em!important;white-space:nowrap!important;font-size:clamp(46px,6.6vw,118px)!important;line-height:.92!important;letter-spacing:.08em!important;max-width:none!important;width:100%!important;padding:0 12px!important;overflow:visible!important}
.service-assemble .word{display:inline-flex;white-space:nowrap;flex:0 0 auto}
.service-assemble .word .char{display:inline-block;flex:0 0 auto}
.service-assemble .space{display:none!important}
.service-story-copy{max-width:860px!important;margin-top:28px!important;padding:28px 34px!important}
.service-story-copy p{max-width:780px!important;font-size:17px!important;line-height:1.72!important}
.service-story-divider{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:1px!important;background:rgba(131,192,232,.9)!important;padding:0!important;opacity:.9!important;z-index:8!important}
.service-story-divider span{display:none!important}
.service-story:last-child .service-story-divider{display:none!important}

@media(max-width:1200px){
  .service-assemble{font-size:clamp(44px,6.2vw,92px)!important;gap:.18em!important}
  .service-story{min-height:124vh!important}
}
@media(max-width:980px){
  .service-story{min-height:122vh!important}
  .service-story-inner{padding:110px 0 76px!important}
  .service-assemble{font-size:clamp(40px,7.2vw,74px)!important;gap:.16em!important}
  .service-story-copy{max-width:760px!important}
}
@media(max-width:700px){
  .service-story{min-height:auto!important;margin:0!important;padding:0!important}
  .service-story-pin{position:relative!important;height:auto!important;min-height:100vh!important}
  .service-story-inner{min-height:100vh!important;padding:118px 0 58px!important}
  .service-assemble{flex-wrap:wrap!important;white-space:normal!important;font-size:clamp(40px,11.5vw,60px)!important;gap:.04em .18em!important;line-height:.92!important}
  .service-assemble .word{white-space:nowrap!important}
  .service-story-copy{margin-top:24px!important;padding:22px 18px!important}
  .service-story-copy p{font-size:15px!important;line-height:1.65!important}
  .service-story-divider{position:relative!important;bottom:auto!important;margin:0!important}
}

/* --- Services v10: continuous panels + white intro --- */
.services-intro-white{background:#fff!important;padding:92px 0 86px!important}
.services-intro-inner{max-width:900px;margin:0 auto;text-align:center}
.services-intro-inner .eyebrow{justify-content:center}
.services-intro-inner h2{font-size:clamp(44px,5.5vw,78px);margin-bottom:20px}
.services-intro-inner p{max-width:720px;margin:0 auto;font-size:17px}

.service-assembly-wrap{padding:0!important;background:#08111a!important}
.services-story-rail{display:block!important;margin:0!important;padding:0!important;gap:0!important}
.service-story{position:relative!important;min-height:100vh!important;height:100vh!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#08111a!important}
.service-story-pin{position:relative!important;top:auto!important;height:100vh!important;min-height:100vh!important;margin:0!important;padding:0!important;overflow:hidden!important}
.service-story-inner{height:100vh!important;min-height:100vh!important;padding:110px 0 74px!important;justify-content:center!important}
.service-story-copy{min-height:290px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;margin-top:26px!important;padding:30px 36px!important}
.service-story-copy p{margin:0 auto 20px!important}
.service-story-points{margin-bottom:22px!important}
.service-story-divider{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:1px!important;background:#83C0E8!important;opacity:.95!important;z-index:20!important;margin:0!important;padding:0!important}
.service-story-divider span{display:none!important}
.service-story:last-child .service-story-divider{display:block!important}

@media(max-width:980px){
  .services-intro-white{padding:76px 0 70px!important}
  .service-story,.service-story-pin,.service-story-inner{height:100svh!important;min-height:100svh!important}
  .service-story-inner{padding:100px 0 60px!important}
  .service-story-copy{min-height:270px!important;max-width:760px!important}
}
@media(max-width:700px){
  .services-intro-white{padding:68px 0 62px!important}
  .services-intro-inner{text-align:left}
  .services-intro-inner .eyebrow{justify-content:flex-start}
  .service-story,.service-story-pin,.service-story-inner{height:auto!important;min-height:100svh!important}
  .service-story-inner{padding:105px 0 50px!important}
  .service-story-copy{min-height:0!important;padding:22px 18px!important}
  .service-story-divider{position:absolute!important;bottom:0!important}
}


/* Services page card showcase */
.services-card-showcase{padding:0 0 110px;background:#fff}
.services-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:stretch}
.service-card-modern{width:100%;height:auto;position:relative;min-height:470px;border-radius:30px;overflow:visible;isolation:isolate;background:#dfe5ea;box-shadow:0 20px 48px rgba(13,27,42,.10);transition:transform .4s ease,box-shadow .4s ease}
.service-card-modern::before{display:none!important}
.service-card-media,.service-card-media img{position:absolute;inset:0;width:100%;height:100%}
.service-card-media{overflow:hidden}
.service-card-media img{height:114%;top:-7%}
.service-card-media,.service-card-overlay{border-radius:30px}
.service-card-media img{object-fit:cover;transition:transform .65s ease,filter .45s ease}
.service-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,14,23,.16) 0%,rgba(5,14,23,.34) 42%,rgba(5,14,23,.78) 100%);transition:background .35s ease}
.service-card-content{position:relative;z-index:2;min-height:470px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:34px 30px}
.service-card-content h3{font-size:clamp(26px,2.5vw,38px);line-height:1.02;color:#fff;text-shadow:0 12px 28px rgba(0,0,0,.28);max-width:95%;transition:transform .35s ease}
.service-card-reveal{max-height:0;opacity:0;overflow:hidden;transform:translateY(18px);transition:max-height .45s ease,opacity .35s ease,transform .35s ease,margin-top .35s ease}
.service-card-reveal p{margin:0;color:rgba(255,255,255,.94);font-size:15px;line-height:1.78;max-width:100%}
.service-card-modern:hover,.service-card-modern:focus-visible,.service-card-modern.active{transform:translateY(-8px);box-shadow:0 26px 58px rgba(13,27,42,.16)}
.service-card-modern:hover .service-card-media img,.service-card-modern:focus-visible .service-card-media img,.service-card-modern.active .service-card-media img{transform:scale(1.06);filter:saturate(1.04)}
.service-card-modern:hover .service-card-overlay,.service-card-modern:focus-visible .service-card-overlay,.service-card-modern.active .service-card-overlay{background:linear-gradient(180deg,rgba(5,14,23,.10) 0%,rgba(5,14,23,.42) 34%,rgba(5,14,23,.88) 100%)}
.service-card-modern:hover .service-card-content h3,.service-card-modern:focus-visible .service-card-content h3,.service-card-modern.active .service-card-content h3{transform:translateY(-4px)}
.service-card-modern:hover .service-card-reveal,.service-card-modern:focus-visible .service-card-reveal,.service-card-modern.active .service-card-reveal{max-height:260px;opacity:1;transform:translateY(0);margin-top:18px}
.service-card-modern:focus-visible{outline:2px solid rgba(131,192,232,.85);outline-offset:5px}
@media(max-width:1100px){.services-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card-modern,.service-card-content{min-height:440px}}
@media(max-width:700px){.services-card-showcase{padding-bottom:80px}.services-card-grid{grid-template-columns:1fr;gap:22px}.service-card-modern,.service-card-content{min-height:390px}.service-card-content{padding:26px 22px}.service-card-content h3{font-size:clamp(24px,8vw,34px)}.service-card-modern .service-card-reveal{max-height:none;opacity:1;transform:none;margin-top:14px}}



/* About redesigned commitment section - white version */
.about-why-section{padding:0;background:#fff}
.about-why-shell{position:relative;background:#fff;overflow:hidden;border-top:1px solid rgba(11,21,32,.06);border-bottom:1px solid rgba(11,21,32,.06)}
.about-why-shell::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(146,209,242,.08),transparent 34%,rgba(45,103,175,.03) 100%);z-index:0;pointer-events:none}
.about-why-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr);gap:64px;align-items:center;min-height:760px;padding-top:86px;padding-bottom:86px}
.about-why-copy{color:var(--ink);max-width:560px}
.about-why-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 18px;border-radius:12px 12px 12px 0;background:#2D67AF;color:#fff;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;position:relative}
.about-why-pill::after{content:'';position:absolute;right:-14px;top:0;border-top:19px solid transparent;border-bottom:19px solid transparent;border-left:14px solid #2D67AF}
.about-why-copy h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(42px,4.7vw,68px);line-height:.98;letter-spacing:-.045em;color:var(--ink);text-transform:none;margin:0 0 26px}
.about-why-copy p{font-size:17px;line-height:1.85;color:#3f4b57;max-width:540px;margin:0 0 34px}
.about-arrow-btn{display:inline-flex;align-items:center;gap:14px;min-height:58px;padding:0 30px 0 26px;background:#2D67AF;color:#fff;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%,0 0);box-shadow:0 16px 30px rgba(45,103,175,.20);transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
.about-arrow-btn:hover{transform:translateY(-4px);background:#83C0E8;color:#17355d;box-shadow:0 20px 38px rgba(45,103,175,.26)}
.about-arrow-btn i{font-size:14px}
.about-why-visual{position:relative;min-height:560px;display:flex;align-items:center;justify-content:flex-start}
.about-why-bg{position:absolute;inset:0;border-radius:34px;background-image:linear-gradient(180deg,rgba(9,20,32,.10),rgba(9,20,32,.22)),url('https://assets.cdn.filesafe.space/foGqkv0OnX1NikOGdBTN/media/6aa02edb8de363112b53c69c.jpg');background-size:cover;background-position:center;box-shadow:0 26px 52px rgba(18,39,65,.16)}
.about-why-photo{display:none}
.about-why-cards{position:relative;z-index:2;display:grid;gap:18px;width:min(100%,590px);padding:28px 0 28px 28px}
.about-why-card{display:grid;grid-template-columns:78px 1fr;align-items:stretch;max-width:500px;filter:drop-shadow(0 16px 26px rgba(22,46,72,.16));transition:transform .35s ease}
.about-why-card:hover{transform:translateY(-4px)}
.about-why-card.card-offset-1{margin-left:0}
.about-why-card.card-offset-2{margin-left:48px}
.about-why-card.card-offset-3{margin-left:12px}
.about-why-card-icon{position:relative;display:grid;place-items:center;min-height:98px;background:#2D67AF;color:#fff;font-size:27px;clip-path:polygon(0 0,78% 0,100% 50%,78% 100%,0 100%)}
.about-why-card-body{position:relative;background:rgba(255,255,255,.97);padding:20px 26px 20px 30px;clip-path:polygon(6% 0,100% 0,100% 100%,0 100%);margin-left:-14px;display:flex;flex-direction:column;justify-content:center;min-height:98px}
.about-why-card-body h3{font-family:Oswald,Arial,sans-serif;font-size:27px;line-height:1.02;color:#17355d;margin:0 0 8px;text-transform:none;letter-spacing:.01em}
.about-why-card-body p{margin:0;color:#596775;font-size:14px;line-height:1.58;max-width:340px}
@media(max-width:1180px){.about-why-grid{grid-template-columns:1fr;gap:50px;min-height:0}.about-why-copy{max-width:none}.about-why-visual{min-height:590px}.about-why-cards{width:min(92%,620px)}}
@media(max-width:980px){.about-why-grid{padding-top:74px;padding-bottom:74px}.about-why-card.card-offset-1,.about-why-card.card-offset-2,.about-why-card.card-offset-3{margin-left:0}}
@media(max-width:700px){.about-why-grid{gap:32px;padding-top:58px;padding-bottom:58px}.about-why-copy h2{font-size:40px}.about-why-copy p{font-size:16px;line-height:1.72}.about-arrow-btn{width:100%;justify-content:center}.about-why-visual{min-height:0;display:block}.about-why-bg{position:relative;height:260px;border-radius:24px}.about-why-cards{margin-top:-42px;padding:0 12px 20px;width:100%;gap:14px}.about-why-card{grid-template-columns:68px 1fr;max-width:100%}.about-why-card-icon{min-height:92px;font-size:24px}.about-why-card-body{padding:18px 18px 18px 26px;min-height:92px}.about-why-card-body h3{font-size:22px}.about-why-card-body p{font-size:13px}}


/* --- v14 refinements --- */
.service-card-modern{box-shadow:0 20px 48px rgba(13,27,42,.10)!important}

.about-why-bg{background-image:linear-gradient(180deg,rgba(9,20,32,.02),rgba(9,20,32,.12)),url('https://assets.cdn.filesafe.space/foGqkv0OnX1NikOGdBTN/media/6aa02edb8de363112b53c69c.jpg')!important;filter:brightness(1.04) saturate(1.03)!important}
.about-why-card{max-width:465px!important}
.about-why-cards{width:min(100%,560px)!important}

.welcome-modern{padding:86px 0 64px!important}
.welcome-grid{align-items:center!important;gap:56px!important}
.welcome-visual{position:relative;min-height:0!important;display:flex;align-items:flex-start;justify-content:flex-start;padding:0!important}
.welcome-main-image{position:relative;height:500px!important;min-height:0!important;width:min(100%,570px);border-radius:34px!important;overflow:hidden;box-shadow:0 24px 52px rgba(10,22,32,.14)}
.welcome-main-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.welcome-inset-card{right:-14px!important;bottom:24px!important;width:min(43%,248px)!important;height:212px!important;border:0!important;background:transparent!important;box-shadow:0 22px 48px rgba(7,17,27,.18)!important;border-radius:26px!important;overflow:hidden}
.welcome-copy-badge{display:inline-flex;align-items:center;min-height:82px;padding:0 34px;background:var(--blue);color:#fff;border-radius:24px;position:relative;font-family:Oswald,Arial,sans-serif;font-size:26px;line-height:1;margin:18px 0 16px;box-shadow:0 16px 36px rgba(57,115,182,.22)}
.welcome-copy-badge::after{content:'';position:absolute;right:0;bottom:-28px;border-top:28px solid var(--blue);border-left:48px solid transparent}
.welcome-note{display:none!important}
@media(max-width:980px){.welcome-main-image{height:460px!important;width:100%}.welcome-inset-card{width:min(46%,220px)!important;height:190px!important;right:0!important;bottom:12px!important}.welcome-copy-badge{font-size:22px;min-height:74px;padding:0 24px}}
@media(max-width:700px){.welcome-modern{padding:72px 0 48px!important}.welcome-main-image{height:390px!important}.welcome-copy-badge{display:flex;font-size:20px;line-height:1.05;padding:18px 20px 18px 22px;min-height:0;width:100%;margin:16px 0 12px}.welcome-copy-badge::after{display:none}.welcome-inset-card{position:relative!important;width:72%!important;height:186px!important;margin:-34px 0 0 auto;right:auto!important;bottom:auto!important}}

.services-zone{background:#2F69B0!important;color:#fff!important}
.services-zone .soft,.services-zone .eyebrow{color:#d7ecff!important}
.services-zone .eyebrow:before{background:#d7ecff!important}
.services-zone .section-heading,.services-zone p{color:rgba(255,255,255,.84)!important}
.services-story-shell{position:relative}
.services-story-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}
.services-story-head > div:first-child{max-width:820px}
.btn-services-story{background:#fff!important;color:#17447b!important;border-color:#fff!important;white-space:nowrap;border-radius:999px!important}
.btn-services-story:hover{background:#eff7ff!important;color:#10335b!important}
.services-scroll-showcase{position:relative;height:2700px}
.services-scroll-stage{position:sticky;top:100px;height:calc(100vh - 150px);min-height:620px;border-radius:34px;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-start;box-shadow:0 26px 60px rgba(7,26,54,.18);background:rgba(255,255,255,.08)}
.scroll-service-card{position:absolute;inset:0;opacity:0;transform:translateY(40px) scale(.985);pointer-events:none;transition:opacity .5s ease,transform .5s ease}
.scroll-service-card.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.scroll-service-media,.scroll-service-media img{position:absolute;inset:0;width:100%;height:100%}
.scroll-service-media img{object-fit:cover}
.scroll-service-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,46,.88) 0%,rgba(6,24,46,.58) 45%,rgba(6,24,46,.18) 100%)}
.scroll-service-copy{position:relative;z-index:2;max-width:560px;padding:56px 48px 52px;color:#fff}
.scroll-service-topline{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(12px);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}
.scroll-service-copy h3{font-size:clamp(44px,4.5vw,68px);line-height:.95;margin-bottom:18px;text-transform:none;font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.045em}
.scroll-service-copy p{margin:0 0 18px;color:rgba(255,255,255,.88);font-size:17px;line-height:1.8}
.scroll-service-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.scroll-service-copy li{position:relative;padding-left:22px;color:rgba(255,255,255,.92)}
.scroll-service-copy li::before{content:'✦';position:absolute;left:0;top:0;color:#d7ecff}
.scroll-service-btn{margin-top:26px;min-height:50px;padding:0 26px;font-size:11px}
.scroll-services-progress{position:absolute;right:24px;top:24px;z-index:3;display:flex;gap:10px}
.scroll-progress-dot{width:15px;height:15px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.2);padding:0;cursor:pointer;transition:transform .3s ease,background .3s ease,border-color .3s ease}
.scroll-progress-dot.active{background:#fff;border-color:#fff;transform:scale(1.15)}
@media(max-width:980px){.services-story-head{display:block}.btn-services-story{margin-top:18px}.services-scroll-showcase{height:auto}.services-scroll-stage{position:relative;top:0;height:auto;min-height:0;display:grid;gap:18px;background:transparent;box-shadow:none;overflow:visible}.scroll-service-card{position:relative;opacity:1!important;transform:none!important;min-height:420px;border-radius:28px;overflow:hidden}.scroll-service-copy{padding:34px 26px 30px}.scroll-service-copy h3{font-size:42px}.scroll-services-progress{display:none}}
@media(max-width:700px){.services-zone{padding-bottom:70px!important}.scroll-service-card{min-height:380px}.scroll-service-copy{padding:28px 20px 24px}.scroll-service-copy h3{font-size:34px}.scroll-service-copy p{font-size:15px}}

.choose-section{position:relative}
.choose-section .choose-grid{position:relative}
.choose-corner-icons{position:absolute;right:0;top:-12px;display:grid;grid-template-columns:repeat(2,68px);gap:12px;z-index:2}
.choose-corner-icons span{width:68px;height:68px;border-radius:22px;background:linear-gradient(145deg,rgba(57,115,182,.12),rgba(146,209,242,.34));display:grid;place-items:center;color:#2F69B0;font-size:26px;box-shadow:0 12px 28px rgba(57,115,182,.10)}
.benefit-arrow{display:none!important}
.benefit{grid-template-columns:70px 1fr 72px!important}
@media(max-width:980px){.choose-corner-icons{position:relative;right:auto;top:auto;grid-template-columns:repeat(4,60px);margin:0 0 22px auto;justify-content:end}.benefit{grid-template-columns:70px 1fr 60px!important}}
@media(max-width:700px){.choose-corner-icons{grid-template-columns:repeat(2,56px);gap:10px;margin-bottom:16px}.choose-corner-icons span{width:56px;height:56px;border-radius:18px;font-size:22px}.benefit{grid-template-columns:1fr!important}}

.build-stages-section{background:#2F69B0!important;padding:96px 0!important}
.build-stages{height:1580px!important}
.build-stages-inner{top:94px!important}
.build-header h2,.build-header p,.build-stage-dot,.build-card h3{color:#fff!important}
.build-header p{max-width:540px!important}
.build-chip{color:#d7ecff!important}
.build-chip span{background:#fff!important}
.build-progress{gap:14px!important}
.build-stage-dot{background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.12)!important}
.build-stage-line{background:rgba(255,255,255,.15)!important}
.build-stage-line:after{background:#fff!important}
.build-stage.active .build-stage-dot{background:#fff!important;color:#164277!important}
.build-cards{gap:22px!important;margin-top:28px!important}
.build-card{position:relative;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(12px);border-radius:28px!important;padding:28px 24px 26px!important;min-height:260px!important;box-shadow:none!important}
.build-card::before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:999px;background:rgba(255,255,255,.35);transition:background .35s ease,transform .35s ease}
.build-card.active{box-shadow:0 20px 42px rgba(10,24,46,.12)!important}
.build-card.active::before{background:#fff;transform:scaleY(1.02)}
.build-card-icon{width:58px!important;height:58px!important;border-radius:18px!important;background:rgba(255,255,255,.16)!important;color:#fff!important;margin-bottom:26px!important}
.build-card p{color:rgba(255,255,255,.84)!important;font-size:15px!important;line-height:1.75!important}
@media(max-width:1100px){.build-stages{height:1480px!important}}
@media(max-width:980px){.build-stages-section{padding:84px 0!important}.build-stages{height:auto!important}.build-progress{gap:10px!important}.build-cards{grid-template-columns:1fr 1fr!important}}
@media(max-width:700px){.build-cards{grid-template-columns:1fr!important}.build-card{padding:24px 20px 22px!important;border-radius:24px!important}.build-card-icon{width:54px!important;height:54px!important}}

/* --- v15 requested refinements --- */
/* Spaces shaped around real life */
.welcome-focus-text{max-width:720px;margin:24px 0 6px;padding:22px 24px;border-left:5px solid #2F69B0;background:linear-gradient(90deg,rgba(146,209,242,.16),rgba(146,209,242,.03));border-radius:0 18px 18px 0;color:#425160;font-size:17px;line-height:1.8}
.welcome-signoff,.welcome-copy-badge{display:none!important}
.welcome-actions{justify-content:flex-start!important}

/* Practical work: remove the static decorative icon cluster entirely */
.choose-corner-icons{display:none!important}

/* Build stages: fixed viewport with one uniform card at a time */
.build-stages-section{background:#2F69B0!important;padding:0!important;overflow:visible!important}
.build-stages{position:relative!important;height:1900px!important}
.build-stages-inner{position:sticky!important;top:150px!important;height:calc(100vh - 165px)!important;min-height:610px;display:flex;flex-direction:column;justify-content:center;padding:26px 0 30px!important;overflow:hidden}
.build-header{display:grid!important;grid-template-columns:1.25fr .75fr!important;gap:40px!important;align-items:end!important;margin-bottom:28px!important;flex:0 0 auto}
.build-header h2{font-size:clamp(40px,4.8vw,68px)!important;line-height:.98!important;margin:0!important;color:#fff!important}
.build-header p{font-size:16px!important;line-height:1.7!important;margin:0 0 4px auto!important;color:rgba(255,255,255,.82)!important}
.build-chip{margin-bottom:14px!important;color:#dceeff!important}
.build-progress{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important;align-items:center!important;margin-bottom:24px!important;flex:0 0 auto}
.build-stage{display:flex!important;align-items:center!important;gap:12px!important;opacity:.52;transition:opacity .35s ease}
.build-stage.current,.build-stage.complete{opacity:1}
.build-stage-dot{width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;font-size:19px!important;transition:background .35s ease,color .35s ease,transform .35s ease!important}
.build-stage.current .build-stage-dot{background:#fff!important;color:#17477f!important;transform:scale(1.05)}
.build-stage.complete .build-stage-dot{background:rgba(255,255,255,.24)!important;color:#fff!important}
.build-stage-line{height:3px!important;background:rgba(255,255,255,.15)!important}
.build-stage-line:after{background:#fff!important;transition:width .35s ease!important}
.build-stage.complete .build-stage-line:after{width:100%!important}
.build-stage.current .build-stage-line:after{width:35%!important}
.build-stage:last-child .build-stage-line{display:none!important}
.build-card-stage{position:relative!important;width:min(760px,100%)!important;height:330px!important;min-height:330px!important;margin:0 auto!important;flex:0 0 330px!important}
.build-card-stage .build-card{position:absolute!important;inset:0!important;width:100%!important;height:330px!important;min-height:330px!important;margin:0!important;padding:32px 34px!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.10))!important;border:1px solid rgba(255,255,255,.24)!important;backdrop-filter:blur(16px)!important;box-shadow:0 22px 50px rgba(9,35,70,.14)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(26px) scale(.985)!important;display:grid!important;grid-template-columns:135px 1fr!important;gap:30px!important;align-items:center!important;transition:opacity .42s ease,transform .42s ease,visibility .42s ease!important}
.build-card-stage .build-card::before{content:''!important;position:absolute!important;left:0!important;top:28px!important;bottom:28px!important;width:5px!important;border-radius:0 999px 999px 0!important;background:#fff!important;opacity:.9!important}
.build-card-stage .build-card.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important}
.build-card-top{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;height:100%}
.build-card-step{font-family:Oswald,Arial,sans-serif;font-size:58px;line-height:1;color:#fff;font-weight:600;letter-spacing:.02em}
.build-card-icon{width:72px!important;height:72px!important;border-radius:22px!important;background:#fff!important;color:#2F69B0!important;margin:0!important;font-size:28px!important;box-shadow:0 14px 30px rgba(7,31,62,.15)!important}
.build-card-copy{align-self:center}
.build-card-label{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.13);color:#dceeff;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.build-card-stage .build-card h3{font-family:Manrope,Arial,sans-serif!important;text-transform:none!important;font-size:clamp(32px,3.2vw,48px)!important;letter-spacing:-.035em!important;line-height:1!important;color:#fff!important;margin:0 0 14px!important}
.build-card-stage .build-card p{margin:0!important;max-width:520px;color:rgba(255,255,255,.84)!important;font-size:16px!important;line-height:1.75!important}

@media(max-width:1100px){
  .build-stages{height:1850px!important}
  .build-stages-inner{top:120px!important;height:calc(100vh - 135px)!important}
  .build-card-stage{width:min(700px,100%)!important}
}
@media(max-width:980px){
  .build-stages-section{padding:72px 0!important}
  .build-stages{height:auto!important}
  .build-stages-inner{position:relative!important;top:0!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important;padding:0!important}
  .build-header{grid-template-columns:1fr!important;gap:18px!important;margin-bottom:30px!important}
  .build-header p{margin:0!important}
  .build-progress{margin-bottom:24px!important}
  .build-card-stage{height:auto!important;min-height:0!important;display:grid!important;gap:16px!important;flex:none!important;width:100%!important}
  .build-card-stage .build-card{position:relative!important;inset:auto!important;height:auto!important;min-height:260px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;display:grid!important;grid-template-columns:110px 1fr!important}
}
@media(max-width:700px){
  .welcome-focus-text{font-size:15px;padding:18px 18px;margin-top:20px}
  .build-progress{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .build-stage{gap:7px!important}
  .build-stage-dot{width:40px!important;height:40px!important;flex-basis:40px!important;font-size:15px!important}
  .build-card-stage .build-card{grid-template-columns:1fr!important;gap:18px!important;padding:26px 22px!important;min-height:0!important}
  .build-card-top{height:auto!important;flex-direction:row!important;justify-content:flex-start!important}
  .build-card-step{font-size:46px!important}
  .build-card-icon{width:58px!important;height:58px!important;border-radius:18px!important;font-size:23px!important}
}

/* --- v16 build-stage card animations + home mission/vision panels --- */
.build-card-stage .build-card{
  overflow:hidden!important;
  isolation:isolate;
}
.build-card-stage .build-card::after{
  content:'';
  position:absolute;
  right:-55px;
  bottom:-70px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,.08) 38%,rgba(255,255,255,0) 72%);
  opacity:0;
  transform:scale(.8) translateY(16px);
  transition:opacity .45s ease,transform .45s ease;
  z-index:0;
}
.build-card-stage .build-card > *{position:relative;z-index:1}
.build-card-stage .build-card .build-card-top,
.build-card-stage .build-card .build-card-label,
.build-card-stage .build-card h3,
.build-card-stage .build-card p{
  opacity:0;
  transform:translateY(18px);
}
.build-card-stage .build-card.active{
  animation:buildCardFloat 5.2s ease-in-out infinite;
}
.build-card-stage .build-card.active::after{
  opacity:1;
  transform:scale(1) translateY(0);
  animation:buildCardGlow 5.2s ease-in-out infinite;
}
.build-card-stage .build-card.active .build-card-top{animation:buildCardIn .55s ease forwards .04s}
.build-card-stage .build-card.active .build-card-label{animation:buildCardIn .55s ease forwards .14s}
.build-card-stage .build-card.active h3{animation:buildCardIn .6s ease forwards .22s}
.build-card-stage .build-card.active p{animation:buildCardIn .65s ease forwards .31s}
.build-card-stage .build-card.active .build-card-icon{
  animation:buildIconPulse 2.9s ease-in-out infinite .5s;
}
.build-card-stage .build-card.active:hover{
  box-shadow:0 28px 58px rgba(9,35,70,.18)!important;
}
@keyframes buildCardIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes buildCardFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.002)}
}
@keyframes buildCardGlow{
  0%,100%{transform:scale(1) translateY(0);opacity:.7}
  50%{transform:scale(1.08) translateY(-5px);opacity:1}
}
@keyframes buildIconPulse{
  0%,100%{transform:scale(1) rotate(0deg)}
  50%{transform:scale(1.08) rotate(-4deg)}
}
@media (max-width:980px){
  .build-card-stage .build-card,
  .build-card-stage .build-card.active{animation:none!important}
  .build-card-stage .build-card::after{display:none}
  .build-card-stage .build-card .build-card-top,
  .build-card-stage .build-card .build-card-label,
  .build-card-stage .build-card h3,
  .build-card-stage .build-card p{opacity:1;transform:none}
}

.mv-panels-section{
  padding:100px 0;
  background:#f7f7f7;
}
.mv-panels-header{
  max-width:860px;
  margin:0 auto 34px;
  text-align:center;
}
.mv-panels-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  border-radius:999px;
  background:#fff;
  color:#2F69B0;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  box-shadow:0 10px 24px rgba(14,24,33,.06);
  margin-bottom:18px;
}
.mv-panels-kicker::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2F69B0;
}
.mv-panels-header h2{
  font-family:Manrope,Arial,sans-serif;
  font-weight:800;
  font-size:clamp(40px,4.3vw,64px);
  line-height:.98;
  letter-spacing:-.04em;
  text-transform:none;
  margin:0 0 18px;
  color:#111b24;
}
.mv-panels-header p{
  max-width:760px;
  margin:0 auto;
  font-size:17px;
  line-height:1.8;
  color:#56606b;
}
.mv-panels-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.mv-hover-panel{
  position:relative;
  min-height:620px;
  border-radius:34px;
  overflow:hidden;
  background:#101820;
  box-shadow:0 22px 52px rgba(9,20,32,.12);
}
.mv-hover-panel img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}
.mv-panel-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(9,17,27,.12) 0%,rgba(9,17,27,.2) 26%,rgba(8,13,20,.74) 100%);
  transition:background .45s ease;
}
.mv-panel-arrow{
  position:absolute;
  top:24px;
  right:24px;
  width:74px;
  height:74px;
  border-radius:50%;
  background:#fff;
  color:#173864;
  display:grid;
  place-items:center;
  font-size:24px;
  z-index:3;
  box-shadow:0 18px 35px rgba(8,15,24,.16);
  transition:transform .35s ease,background .35s ease,color .35s ease;
}
.mv-panel-pill{
  position:absolute;
  left:24px;
  bottom:122px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  padding:12px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#2F69B0;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.1);
}
.mv-panel-copy{
  position:absolute;
  left:24px;
  right:24px;
  bottom:28px;
  z-index:3;
  color:#fff;
}
.mv-panel-copy h3{
  font-family:Manrope,Arial,sans-serif;
  font-size:clamp(38px,3.6vw,56px);
  font-weight:800;
  letter-spacing:-.04em;
  text-transform:none;
  line-height:.95;
  margin:0;
  transition:transform .35s ease;
}
.mv-panel-copy p{
  margin:0;
  max-width:500px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(18px);
  transition:max-height .45s ease,opacity .45s ease,transform .45s ease,padding-top .45s ease;
  font-size:16px;
  line-height:1.8;
  color:rgba(255,255,255,.92);
}
.mv-hover-panel::after{
  content:'';
  position:absolute;
  inset:18px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  z-index:2;
  pointer-events:none;
}
.mv-hover-panel:hover img,
.mv-hover-panel:focus-within img{transform:scale(1.07)}
.mv-hover-panel:hover .mv-panel-overlay,
.mv-hover-panel:focus-within .mv-panel-overlay{background:linear-gradient(180deg,rgba(9,17,27,.08) 0%,rgba(9,17,27,.16) 26%,rgba(8,13,20,.84) 100%)}
.mv-hover-panel:hover .mv-panel-copy h3,
.mv-hover-panel:focus-within .mv-panel-copy h3{transform:translateY(-3px)}
.mv-hover-panel:hover .mv-panel-copy p,
.mv-hover-panel:focus-within .mv-panel-copy p{
  max-height:190px;
  opacity:1;
  transform:translateY(0);
  padding-top:14px;
}
.mv-hover-panel:hover .mv-panel-arrow,
.mv-hover-panel:focus-within .mv-panel-arrow{
  transform:translateY(-5px) rotate(8deg);
  background:#2F69B0;
  color:#fff;
}
@media (max-width:1100px){
  .mv-panels-grid{grid-template-columns:1fr}
  .mv-hover-panel{min-height:560px}
}
@media (max-width:700px){
  .mv-panels-section{padding:82px 0}
  .mv-panels-header{margin-bottom:24px}
  .mv-panel-arrow{width:62px;height:62px;font-size:21px;top:18px;right:18px}
  .mv-panel-pill{left:18px;bottom:118px;padding:10px 15px}
  .mv-panel-copy{left:18px;right:18px;bottom:22px}
  .mv-hover-panel{min-height:500px;border-radius:26px}
  .mv-hover-panel::after{inset:12px;border-radius:20px}
}

/* v17 mission/vision + FAQ refresh */
.mv-panels-section{
  background:#f7f9fc;
}
.mv-panels-grid{
  align-items:stretch;
}
.mv-hover-panel{
  min-height:640px;
}
.mv-hover-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.mv-panel-copy{
  left:30px;
  right:30px;
  bottom:30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.mv-panel-copy h3{
  display:inline-flex;
  align-items:center;
  min-height:74px;
  padding:0;
  margin:0;
  text-shadow:0 10px 24px rgba(0,0,0,.2);
}
.mv-panel-copy p{
  background:rgba(9,17,27,.44);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:0 18px 0 18px;
  border-radius:18px;
}
.mv-hover-panel:hover .mv-panel-copy p,
.mv-hover-panel:focus-within .mv-panel-copy p{
  padding:16px 18px 16px 18px;
}

.faq-showcase-section{
  background:#fff;
  padding:110px 0;
}
.faq-showcase{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:0;
  align-items:stretch;
  border-radius:34px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 54px rgba(12,24,39,.08);
  border:1px solid rgba(47,105,176,.1);
}
.faq-media{
  position:relative;
  min-height:760px;
  overflow:hidden;
}
.faq-media-inner{
  position:absolute;
  inset:0;
}
.faq-media::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(180deg, rgba(8,16,28,0) 0%, rgba(8,16,28,.18) 100%);
  pointer-events:none;
}
.faq-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  will-change:transform;
}
.faq-content{
  padding:56px 48px;
  background:#fff;
  display:flex;
  flex-direction:column;
}
.faq-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#2F69B0;
  font-size:12px;
  letter-spacing:.24em;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:18px;
}
.faq-kicker::before{
  content:'';
  width:38px;
  height:1px;
  background:#2F69B0;
}
.faq-content h2{
  margin:0 0 18px;
  font-size:clamp(38px,4.7vw,66px);
  line-height:.98;
  letter-spacing:-.04em;
  color:#0f2031;
}
.faq-content > p{
  margin:0 0 30px;
  max-width:640px;
  color:#56606b;
  line-height:1.8;
}
.faq-grid-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #e8edf4;
  border-left:1px solid #e8edf4;
}
.faq-card{
  min-height:250px;
  padding:34px 32px 32px;
  border-right:1px solid #e8edf4;
  border-bottom:1px solid #e8edf4;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  position:relative;
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.faq-card::before{
  content:'';
  position:absolute;
  inset:18px;
  border-radius:24px;
  border:1px solid rgba(47,105,176,.08);
  opacity:0;
  transition:opacity .35s ease, transform .35s ease;
  transform:scale(.98);
  pointer-events:none;
}
.faq-card:hover{
  transform:translateY(-6px);
  background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%);
  box-shadow:0 18px 34px rgba(15,32,49,.08);
}
.faq-card:hover::before{
  opacity:1;
  transform:scale(1);
}
.faq-card-icon{
  width:68px;
  height:68px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:rgba(47,105,176,.1);
  color:#2F69B0;
  font-size:26px;
  margin-bottom:26px;
}
.faq-card h3{
  margin:0 0 14px;
  font-family:Oswald, Arial, sans-serif;
  font-size:clamp(28px,2vw,40px);
  line-height:1.02;
  color:#0f2031;
  text-transform:none;
}
.faq-card p{
  margin:0;
  color:#66707c;
  line-height:1.78;
  max-width:430px;
}
@media (max-width:1100px){
  .faq-showcase{grid-template-columns:1fr}
  .faq-media{min-height:520px}
}
@media (max-width:700px){
  .mv-hover-panel{min-height:460px}
  .mv-panel-copy{left:20px;right:20px;bottom:22px}
  .faq-showcase-section{padding:82px 0}
  .faq-content{padding:36px 24px}
  .faq-media{min-height:340px}
  .faq-grid-cards{grid-template-columns:1fr}
  .faq-card{min-height:0;padding:28px 22px}
  .faq-card-icon{width:60px;height:60px;border-radius:18px;font-size:22px;margin-bottom:18px}
}

/* --- v18 sticky scroll header + home quick contact strip --- */
.scroll-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:140;
  background:#0C2A45;
  color:#fff;
  box-shadow:0 18px 40px rgba(5,16,29,.18);
  transform:translateY(-115%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:transform .38s ease, opacity .3s ease, visibility .3s ease;
}
.scroll-header-inner{
  width:min(1380px, calc(100% - 40px));
  min-height:86px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.scroll-brand{
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.scroll-brand-badge{
  width:46px;
  height:46px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, #2F69B0, #83C0E8);
  color:#fff;
  font-family:Oswald, Arial, sans-serif;
  font-size:22px;
  letter-spacing:.04em;
  flex:0 0 auto;
}
.scroll-brand-name{
  font-family:Oswald, Arial, sans-serif;
  font-size:20px;
  letter-spacing:.02em;
  text-transform:uppercase;
  line-height:1;
  white-space:nowrap;
}
.scroll-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  min-width:0;
  flex-wrap:wrap;
}
.scroll-nav a{
  position:relative;
  color:rgba(255,255,255,.92);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  padding:10px 0;
  transition:color .3s ease;
}
.scroll-nav a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:2px;
  width:0;
  height:2px;
  background:#92D1F2;
  transition:width .3s ease;
}
.scroll-nav a:hover,
.scroll-nav a.current{
  color:#fff;
}
.scroll-nav a:hover::after,
.scroll-nav a.current::after{
  width:100%;
}
.scroll-header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.scroll-icon-btn{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.scroll-icon-btn:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.28);
}
.scroll-header-cta{
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:linear-gradient(135deg,#83C0E8,#2F69B0);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 16px 34px rgba(47,105,176,.28);
  transition:transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.scroll-header-cta span{
  font-size:11px;
  letter-spacing:.24em;
}
.scroll-header-cta:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 42px rgba(47,105,176,.35);
  filter:brightness(1.04);
  animation:btnRipple 1.1s ease-out infinite;
}
body.sticky-nav-active .scroll-header{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
@media (min-width: 981px){
  body.sticky-nav-active .topbar,
  body.sticky-nav-active .header{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-16px);
  }
  .topbar,
  .header{
    transition:opacity .25s ease, visibility .25s ease, transform .25s ease;
  }
}
.quick-contact-strip{
  position:relative;
  z-index:6;
  background:#0F4E93;
  color:#fff;
  box-shadow:0 -1px 0 rgba(255,255,255,.08) inset;
}
.quick-contact-inner{
  width:min(1480px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.quick-contact-card{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:98px;
  padding:22px 28px;
  border-right:1px solid rgba(255,255,255,.18);
}
.quick-contact-card:last-child{
  border-right:0;
}
.quick-contact-icon{
  width:50px;
  height:50px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:19px;
  flex:0 0 auto;
}
.quick-contact-card small{
  display:block;
  margin-bottom:5px;
  color:rgba(255,255,255,.68);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.quick-contact-card strong,
.quick-contact-card strong a{
  color:#fff;
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}
@media (max-width: 1180px){
  .scroll-header-inner{grid-template-columns:auto 1fr;row-gap:14px;padding:16px 0;min-height:0}
  .scroll-header-actions{grid-column:1 / -1;justify-content:flex-end}
  .scroll-brand-name{font-size:18px}
  .scroll-nav{justify-content:flex-start;gap:20px}
}
@media (max-width: 980px){
  .scroll-header{display:none}
  .quick-contact-inner{grid-template-columns:1fr 1fr}
  .quick-contact-card:nth-child(2){border-right:0}
  .quick-contact-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
}
@media (max-width: 700px){
  .quick-contact-inner{grid-template-columns:1fr}
  .quick-contact-card,
  .quick-contact-card:nth-child(2){border-right:0}
  .quick-contact-card:not(:last-child){border-bottom:1px solid rgba(255,255,255,.16)}
  .quick-contact-card{padding:18px 20px;min-height:88px}
  .quick-contact-card strong,
  .quick-contact-card strong a{font-size:14px}
}

/* --- v19 FAQ showcase fixes --- */
.faq-showcase-section{
  background:#fff;
  padding:110px 0;
}
.faq-showcase{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  align-items:stretch;
  background:#fff;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 22px 54px rgba(12,24,39,.08);
  border:1px solid rgba(47,105,176,.1);
}
.faq-media{
  position:relative;
  min-height:760px;
  overflow:hidden;
  background:#dfe7f1;
}
.faq-media-inner{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:scale(1.04);
  will-change:transform;
}
.faq-media::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:40%;
  background:linear-gradient(180deg, rgba(8,16,28,0) 0%, rgba(8,16,28,.14) 100%);
  pointer-events:none;
}
.faq-content{
  padding:56px 48px;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.faq-content h2,
.faq-content h2 .accent{
  text-shadow:none !important;
}
.faq-grid-cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  grid-auto-rows:1fr;
  border-top:1px solid #e8edf4;
  border-left:1px solid #e8edf4;
  background:#fff;
}
.faq-card{
  min-height:240px;
}
@media (max-width:1100px){
  .faq-showcase{grid-template-columns:1fr;}
  .faq-media{min-height:500px;}
}
@media (max-width:700px){
  .faq-content{padding:36px 24px;}
  .faq-media{min-height:340px;}
  .faq-grid-cards{grid-template-columns:1fr;grid-auto-rows:auto;}
  .faq-card{min-height:0;}
}

/* --- v20 home sidebar header layout --- */
.home-page .sidebar-hero{
  min-height:760px;
  height:100vh;
  max-height:900px;
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  padding:0;
  overflow:hidden;
  background:#fff;
}
.hero-sidebar{
  position:relative;
  z-index:35;
  background:#fff;
  color:#10253f;
  padding:28px 22px 24px;
  display:flex;
  flex-direction:column;
  min-width:0;
  box-shadow:14px 0 40px rgba(8,21,34,.08);
}
.hero-sidebar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.sidebar-brand{
  display:block;
}
.sidebar-brand img{
  width:175px;
  max-height:82px;
  object-fit:contain;
  object-position:left center;
}
.sidebar-mobile-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:14px;
  border:0;
  background:#0F4E93;
  color:#fff;
  place-items:center;
  cursor:pointer;
}
.sidebar-nav{
  display:grid;
  gap:10px;
  margin-top:32px;
}
.sidebar-nav a{
  min-height:48px;
  padding:0 15px;
  border-radius:11px;
  background:#f7f8fa;
  color:#11253d;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:14px;
  font-weight:700;
  transition:transform .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;
}
.sidebar-nav a i{
  font-size:11px;
  opacity:.72;
}
.sidebar-nav a:hover{
  transform:translateX(4px);
  background:#edf5fb;
  color:#0F4E93;
}
.sidebar-nav a.active{
  background:#0F4E93;
  color:#fff;
  box-shadow:0 12px 24px rgba(15,78,147,.18);
}
.sidebar-phone{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 4px 2px;
  color:#10253f;
}
.sidebar-phone-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0F4E93;
  color:#fff;
  flex:0 0 auto;
}
.sidebar-phone small{
  display:block;
  color:#66707c;
  font-size:11px;
  margin-bottom:2px;
}
.sidebar-phone strong{
  display:block;
  font-size:14px;
  white-space:nowrap;
}
.hero-main-panel{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:#0b243c;
  border-radius:0 0 30px 0;
}
.sidebar-hero .hero-media,
.sidebar-hero .hero-grid{
  position:absolute;
  inset:0;
}
.sidebar-hero .hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.sidebar-hero .hero-overlay{
  background:linear-gradient(90deg,rgba(6,22,39,.84) 0%,rgba(6,22,39,.64) 42%,rgba(6,22,39,.28) 100%);
}
.sidebar-hero-content{
  position:relative;
  z-index:4;
  width:min(920px, calc(100% - 96px));
  height:100%;
  margin:0 auto;
  padding:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.sidebar-hero .hero-kicker{
  color:#a9d7f3;
  margin-bottom:16px;
}
.sidebar-hero h1{
  font-size:clamp(68px,7.4vw,120px);
  max-width:800px;
}
.sidebar-hero .hero-copy{
  max-width:730px;
}
.sidebar-hero .hero-copy p{
  color:rgba(255,255,255,.86);
  max-width:650px;
}
.sidebar-hero .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.home-page .hero-head,
.home-page .topbar,
.home-page > .header{
  display:none!important;
}
@media (min-width:981px){
  body.sticky-nav-active .hero-sidebar{
    visibility:hidden;
  }
}
@media (max-width:980px){
  .home-page .sidebar-hero{
    display:block;
    height:auto;
    max-height:none;
    min-height:0;
    background:#0b243c;
  }
  .hero-sidebar{
    padding:16px 18px;
    box-shadow:none;
  }
  .hero-sidebar-top{
    min-height:64px;
  }
  .sidebar-brand img{
    width:145px;
    max-height:62px;
  }
  .sidebar-mobile-toggle{
    display:grid;
  }
  .sidebar-nav{
    display:none;
    margin-top:16px;
    padding-bottom:8px;
  }
  .hero-sidebar.open .sidebar-nav{
    display:grid;
  }
  .sidebar-phone{
    display:none;
  }
  .hero-main-panel{
    min-height:720px;
    border-radius:0;
  }
  .sidebar-hero-content{
    width:min(100% - 40px, 760px);
    padding:80px 0 70px;
  }
  .sidebar-hero h1{
    font-size:clamp(56px,12vw,92px);
  }
}
@media (max-width:700px){
  .hero-main-panel{
    min-height:660px;
  }
  .sidebar-hero-content{
    width:calc(100% - 28px);
    padding:66px 0 54px;
  }
  .sidebar-hero .hero-actions{
    width:100%;
  }
}

/* --- v21 FAQ exact layout correction --- */
.faq-reference-layout{
  padding:0!important;
  background:#fff!important;
  overflow:hidden;
}
.faq-reference-layout .faq-showcase{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:50% 50%!important;
  gap:0!important;
  align-items:stretch!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
  overflow:hidden!important;
}
.faq-reference-layout .faq-media{
  position:relative!important;
  min-height:780px!important;
  height:100%!important;
  overflow:hidden!important;
  background:#d9e2ec!important;
}
.faq-reference-layout .faq-media-inner{
  position:absolute!important;
  inset:-5% 0!important;
  width:100%!important;
  height:110%!important;
  background-image:url('https://assets.cdn.filesafe.space/foGqkv0OnX1NikOGdBTN/media/6aa05c9016ed327815af170d.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  transform:scale(1.03);
  will-change:transform;
}
.faq-reference-layout .faq-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(12,32,52,.02),rgba(12,32,52,.10));
  pointer-events:none;
}
.faq-reference-layout .faq-content{
  min-width:0!important;
  padding:0!important;
  background:#fff!important;
  display:flex!important;
  flex-direction:column!important;
}
.faq-reference-layout .faq-head{
  padding:50px 46px 34px!important;
  background:#fff!important;
  border-bottom:1px solid #e7edf4;
}
.faq-reference-layout .faq-kicker{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 18px!important;
  color:#2F69B0!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}
.faq-reference-layout .faq-kicker::before{
  content:'';
  width:36px;
  height:1px;
  background:#2F69B0;
}
.faq-reference-layout .faq-head h2{
  margin:0!important;
  color:#10253d!important;
  text-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
  font-family:Manrope,Arial,sans-serif!important;
  text-transform:none!important;
  font-size:clamp(42px,4.4vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
}
.faq-reference-layout .faq-head h2 span{
  color:#2F69B0!important;
  text-shadow:none!important;
  opacity:1!important;
  filter:none!important;
}
.faq-reference-layout .faq-grid-cards{
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  background:#fff!important;
  border:0!important;
}
.faq-reference-layout .faq-card{
  min-width:0!important;
  min-height:290px!important;
  margin:0!important;
  padding:42px 36px!important;
  background:#fff!important;
  border:0!important;
  border-right:1px solid #e7edf4!important;
  border-bottom:1px solid #e7edf4!important;
  box-shadow:none!important;
  transform:none;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
.faq-reference-layout .faq-card:nth-child(2n){
  border-right:0!important;
}
.faq-reference-layout .faq-card:nth-last-child(-n+2){
  border-bottom:0!important;
}
.faq-reference-layout .faq-card::before{
  display:none!important;
}
.faq-reference-layout .faq-card:hover{
  transform:none!important;
  background:#f8fbff!important;
  box-shadow:inset 0 0 0 1px rgba(47,105,176,.10)!important;
}
.faq-reference-layout .faq-card-icon{
  width:64px!important;
  height:64px!important;
  margin:0 0 24px!important;
  border-radius:20px!important;
  display:grid!important;
  place-items:center!important;
  background:#eaf3fb!important;
  color:#2F69B0!important;
  font-size:25px!important;
}
.faq-reference-layout .faq-card h3{
  margin:0 0 14px!important;
  color:#10253d!important;
  font-family:Manrope,Arial,sans-serif!important;
  text-transform:none!important;
  font-size:clamp(25px,2vw,36px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
  max-width:390px;
}
.faq-reference-layout .faq-card p{
  margin:0!important;
  color:#687585!important;
  font-size:15px!important;
  line-height:1.72!important;
  max-width:380px!important;
}
@media(max-width:1100px){
  .faq-reference-layout .faq-showcase{grid-template-columns:1fr!important;}
  .faq-reference-layout .faq-media{min-height:520px!important;}
  .faq-reference-layout .faq-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;}
}
@media(max-width:700px){
  .faq-reference-layout .faq-media{min-height:360px!important;}
  .faq-reference-layout .faq-head{padding:36px 22px 28px!important;}
  .faq-reference-layout .faq-head h2{font-size:42px!important;}
  .faq-reference-layout .faq-grid-cards{grid-template-columns:1fr!important;}
  .faq-reference-layout .faq-card{min-height:0!important;padding:34px 22px!important;border-right:0!important;border-bottom:1px solid #e7edf4!important;}
  .faq-reference-layout .faq-card:last-child{border-bottom:0!important;}
}

/* --- v22 requested layout corrections --- */
/* Home sidebar + hero: taller, tighter and aligned from the top */
.home-page .sidebar-hero{
  width:100%!important;
  min-height:calc(100svh - 96px)!important;
  height:calc(100svh - 96px)!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:270px minmax(0,1fr)!important;
  align-items:stretch!important;
}
.hero-sidebar{
  min-height:100%!important;
  padding:24px 24px 22px!important;
}
.sidebar-brand img{
  width:190px!important;
  max-height:90px!important;
}
.sidebar-nav{
  margin-top:26px!important;
  gap:9px!important;
}
.sidebar-nav a{
  min-height:50px!important;
  padding:0 16px!important;
}
.hero-main-panel{
  min-height:100%!important;
  height:100%!important;
  border-radius:0!important;
}
.sidebar-hero-content{
  width:min(980px, calc(100% - 100px))!important;
  padding:52px 0!important;
  justify-content:center!important;
}
.sidebar-hero h1{
  font-size:clamp(72px,7.2vw,126px)!important;
  line-height:.88!important;
  max-width:860px!important;
}
.sidebar-hero .hero-copy{
  max-width:760px!important;
  margin-top:22px!important;
}
.sidebar-hero .hero-copy p{
  max-width:670px!important;
  font-size:17px!important;
  line-height:1.72!important;
}
.quick-contact-card{
  min-height:96px!important;
}

/* Mission / Vision: panels must visually attach to the section */
.mv-panels-section{
  padding:88px 0 0!important;
  background:#f7f9fc!important;
  overflow:hidden!important;
}
.mv-panels-section > .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.mv-panels-header{
  max-width:900px!important;
  padding:0 32px!important;
  margin:0 auto 34px!important;
}
.mv-panels-grid{
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  align-items:stretch!important;
}
.mv-hover-panel{
  min-height:650px!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:0!important;
}
.mv-hover-panel::after{
  inset:16px!important;
  border-radius:18px!important;
}
.mv-hover-panel img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.mv-panel-arrow{
  top:26px!important;
  right:26px!important;
}
.mv-panel-copy{
  left:34px!important;
  right:34px!important;
  bottom:34px!important;
}

/* FAQ: compact reference proportions */
.faq-reference-layout{
  padding:72px 0!important;
  background:#fff!important;
}
.faq-reference-layout .faq-showcase{
  width:min(1500px, calc(100% - 40px))!important;
  max-width:1500px!important;
  margin:0 auto!important;
  grid-template-columns:46% 54%!important;
  min-height:610px!important;
  border-radius:26px!important;
  overflow:hidden!important;
  border:1px solid #e7edf4!important;
}
.faq-reference-layout .faq-media{
  min-height:610px!important;
  height:610px!important;
}
.faq-reference-layout .faq-media-inner{
  inset:-4% 0!important;
  height:108%!important;
  background-size:cover!important;
  background-position:center center!important;
}
.faq-reference-layout .faq-content{
  min-height:610px!important;
  height:610px!important;
  overflow:hidden!important;
}
.faq-reference-layout .faq-head{
  padding:28px 34px 22px!important;
  flex:0 0 auto!important;
}
.faq-reference-layout .faq-head h2{
  font-size:clamp(36px,3.4vw,56px)!important;
  line-height:.98!important;
}
.faq-reference-layout .faq-kicker{
  margin-bottom:12px!important;
}
.faq-reference-layout .faq-grid-cards{
  flex:1 1 auto!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  min-height:0!important;
}
.faq-reference-layout .faq-card{
  min-height:0!important;
  padding:22px 24px!important;
  justify-content:center!important;
}
.faq-reference-layout .faq-card-icon{
  width:50px!important;
  height:50px!important;
  border-radius:15px!important;
  margin:0 0 14px!important;
  font-size:20px!important;
}
.faq-reference-layout .faq-card h3{
  font-size:clamp(21px,1.45vw,28px)!important;
  line-height:1.08!important;
  margin:0 0 9px!important;
  max-width:330px!important;
}
.faq-reference-layout .faq-card p{
  font-size:13px!important;
  line-height:1.55!important;
  max-width:330px!important;
}

@media(max-width:1100px){
  .home-page .sidebar-hero{
    grid-template-columns:230px minmax(0,1fr)!important;
  }
  .sidebar-brand img{width:165px!important}
  .sidebar-hero-content{width:min(100% - 56px,820px)!important}
  .faq-reference-layout .faq-showcase{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .faq-reference-layout .faq-media{
    height:420px!important;
    min-height:420px!important;
  }
  .faq-reference-layout .faq-content{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}
@media(max-width:980px){
  .home-page .sidebar-hero{
    display:block!important;
    height:auto!important;
    min-height:0!important;
  }
  .hero-sidebar{min-height:0!important}
  .hero-main-panel{
    min-height:720px!important;
    height:720px!important;
  }
  .mv-panels-grid{grid-template-columns:1fr!important}
  .mv-hover-panel{min-height:560px!important}
}
@media(max-width:700px){
  .hero-main-panel{min-height:650px!important;height:650px!important}
  .sidebar-hero-content{width:calc(100% - 32px)!important;padding:54px 0!important}
  .sidebar-hero h1{font-size:clamp(54px,15vw,84px)!important}
  .mv-panels-section{padding-top:70px!important}
  .mv-panels-header{padding:0 20px!important}
  .mv-hover-panel{min-height:470px!important}
  .faq-reference-layout{padding:58px 0!important}
  .faq-reference-layout .faq-showcase{width:calc(100% - 24px)!important}
  .faq-reference-layout .faq-media{height:300px!important;min-height:300px!important}
  .faq-reference-layout .faq-grid-cards{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .faq-reference-layout .faq-card{padding:26px 20px!important}
}

/* --- v23 build stages scroll repair --- */
@media (min-width:981px){
  .build-stages-section{
    padding:0!important;
    overflow:visible!important;
  }
  .build-stages{
    height:auto!important;
    min-height:0!important;
    position:relative!important;
  }
  .build-stages-inner{
    position:relative!important;
    top:0!important;
    height:calc(100vh - 88px)!important;
    min-height:640px!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
    padding:38px 0 34px!important;
  }
  .build-card-stage{
    height:330px!important;
    min-height:330px!important;
  }
}

/* FAQ: same reference layout, just more compact and still flush to the image */
@media (min-width:1101px){
  .faq-reference-layout{
    padding:58px 0!important;
  }
  .faq-reference-layout .faq-showcase{
    grid-template-columns:38% 62%!important;
    min-height:520px!important;
    gap:0!important;
  }
  .faq-reference-layout .faq-media{
    height:auto!important;
    min-height:520px!important;
    margin:0!important;
    border-radius:0!important;
  }
  .faq-reference-layout .faq-media-inner{
    inset:-3% 0!important;
    height:106%!important;
    width:100%!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .faq-reference-layout .faq-content{
    height:auto!important;
    min-height:520px!important;
    padding:0!important;
    margin:0!important;
    background:#fff!important;
  }
  .faq-reference-layout .faq-head{
    padding:24px 30px 18px!important;
  }
  .faq-reference-layout .faq-head h2{
    font-size:clamp(34px,3vw,50px)!important;
    margin:0!important;
  }
  .faq-reference-layout .faq-grid-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    flex:1 1 auto!important;
    min-height:0!important;
  }
  .faq-reference-layout .faq-card{
    min-height:0!important;
    padding:18px 22px!important;
    justify-content:center!important;
  }
  .faq-reference-layout .faq-card-icon{
    width:46px!important;
    height:46px!important;
    margin:0 0 12px!important;
    border-radius:14px!important;
    font-size:18px!important;
  }
  .faq-reference-layout .faq-card h3{
    font-size:clamp(20px,1.35vw,26px)!important;
    line-height:1.08!important;
    margin:0 0 8px!important;
  }
  .faq-reference-layout .faq-card p{
    font-size:12.5px!important;
    line-height:1.5!important;
    margin:0!important;
  }
}

/* --- v24 process scroll + FAQ edge-to-edge corrections --- */
@media (min-width:981px){
  .build-stages-section{
    padding:0!important;
    overflow:visible!important;
  }
  .build-stages{
    position:relative!important;
    height:2300px!important;
    min-height:2300px!important;
  }
  .build-stages-inner{
    position:sticky!important;
    top:86px!important;
    height:calc(100vh - 86px)!important;
    min-height:620px!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
    padding:34px 0 30px!important;
  }
}

.faq-reference-layout{
  padding:58px 0!important;
  background:#fff!important;
  overflow:hidden!important;
}
.faq-reference-layout .faq-showcase{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.faq-reference-layout .faq-media,
.faq-reference-layout .faq-content{
  border-radius:0!important;
  margin:0!important;
}
.faq-reference-layout .faq-media-inner{
  width:100%!important;
  left:0!important;
  right:0!important;
}
@media(max-width:1100px){
  .faq-reference-layout .faq-showcase{width:100%!important;max-width:none!important;margin:0!important}
}
@media(max-width:700px){
  .faq-reference-layout .faq-showcase{width:100%!important;max-width:none!important;margin:0!important}
}

/* --- v25 hero + FAQ flush corrections --- */
/* FAQ stays the same design, but the image and FAQ panel touch the section edges. */
.faq-reference-layout{
  padding:0!important;
  margin:0!important;
  background:#fff!important;
}
.faq-reference-layout .faq-showcase{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  grid-template-columns:38% 62%!important;
  align-items:stretch!important;
}
.faq-reference-layout .faq-media,
.faq-reference-layout .faq-content{
  height:520px!important;
  min-height:520px!important;
  align-self:stretch!important;
  margin:0!important;
  border-radius:0!important;
}
.faq-reference-layout .faq-media{
  overflow:hidden!important;
}
.faq-reference-layout .faq-media-inner{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.faq-reference-layout .faq-content{
  padding:0!important;
  background:#fff!important;
}

/* Hero: preserve the raw video, improve text readability with shadows instead. */
.sidebar-hero .hero-overlay{
  background:transparent!important;
}
.sidebar-hero .hero-video{
  filter:none!important;
  opacity:1!important;
}
.sidebar-hero .hero-kicker{
  text-shadow:0 3px 14px rgba(0,0,0,.68)!important;
}
.sidebar-hero h1,
.sidebar-hero h1 span{
  text-shadow:0 5px 20px rgba(0,0,0,.72), 0 1px 2px rgba(0,0,0,.85)!important;
}
.sidebar-hero .hero-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:20px!important;
  max-width:760px!important;
}
.sidebar-hero .hero-copy p{
  max-width:720px!important;
  text-shadow:0 3px 14px rgba(0,0,0,.78), 0 1px 2px rgba(0,0,0,.9)!important;
  color:#fff!important;
}
.sidebar-hero .hero-actions{
  width:auto!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
}
.sidebar-brand img{
  width:220px!important;
  max-height:104px!important;
}

@media(max-width:1100px){
  .faq-reference-layout .faq-showcase{grid-template-columns:1fr!important}
  .faq-reference-layout .faq-media{height:420px!important;min-height:420px!important}
  .faq-reference-layout .faq-content{height:auto!important;min-height:0!important}
  .sidebar-brand img{width:190px!important}
}
@media(max-width:700px){
  .faq-reference-layout .faq-media{height:300px!important;min-height:300px!important}
  .sidebar-hero .hero-actions{width:100%!important;flex-direction:column!important;align-items:stretch!important}
}

/* --- v26 fixes: build stages, FAQ sizing, and guided portfolio showcase --- */

/* Reliable build-stage scroll area */
.build-stages-section{
  overflow:hidden!important;
}
.build-stages{
  min-height:2200px!important;
}
.build-stages-inner{
  will-change:transform;
}

/* FAQ section: keep the same design, but make the image flush and prevent the last answers from being cut */
.faq-reference-layout{
  padding:0!important;
  margin:0!important;
  background:#fff!important;
}
.faq-reference-layout .faq-showcase{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
  min-height:0!important;
}
.faq-reference-layout .faq-media,
.faq-reference-layout .faq-content{
  align-self:stretch!important;
  margin:0!important;
  border-radius:0!important;
}
.faq-reference-layout .faq-media{
  min-height:100%!important;
  height:auto!important;
  overflow:hidden!important;
  position:relative!important;
}
.faq-reference-layout .faq-media::before{
  content:''!important;
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:1px!important;
  background:#e8edf4!important;
  z-index:3!important;
}
.faq-reference-layout .faq-media-inner{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.faq-reference-layout .faq-content{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.faq-reference-layout .faq-head{
  padding:24px 28px 18px!important;
}
.faq-reference-layout .faq-head h2{
  font-size:clamp(36px,3.4vw,58px)!important;
  line-height:1!important;
  margin:0!important;
}
.faq-reference-layout .faq-grid-cards{
  flex:1 1 auto!important;
  min-height:0!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
}
.faq-reference-layout .faq-card{
  min-height:220px!important;
  height:auto!important;
  padding:28px 24px 24px!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.faq-reference-layout .faq-card::before{
  inset:16px!important;
}
.faq-reference-layout .faq-card-icon{
  width:54px!important;
  height:54px!important;
  border-radius:16px!important;
  margin:0 0 16px!important;
  font-size:21px!important;
}
.faq-reference-layout .faq-card h3{
  max-width:360px!important;
  margin:0 0 10px!important;
  font-size:clamp(22px,1.7vw,34px)!important;
  line-height:1.1!important;
}
.faq-reference-layout .faq-card p{
  max-width:360px!important;
  margin:0 auto!important;
  font-size:14px!important;
  line-height:1.62!important;
}

/* Guided portfolio section */
.portfolio-story-section{
  padding:110px 0!important;
  background:#fff!important;
  overflow:hidden!important;
}
.portfolio-story-frame{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:28px;
  align-items:start;
  position:relative;
}
.portfolio-story-intro{
  align-self:start;
  padding-top:12px;
}
.portfolio-story-intro h2{
  margin-bottom:18px;
}
.portfolio-story-intro p{
  margin:0 0 24px;
  color:#5e6873;
  line-height:1.75;
}
.portfolio-story-cta{
  display:inline-flex!important;
}
.portfolio-story-viewport{
  position:relative;
  min-height:670px;
  height:670px;
  overflow:hidden;
  border-radius:32px;
  border:1px solid #e7edf4;
  background:#f5f8fb;
  box-shadow:0 24px 58px rgba(15,32,49,.08);
}
.portfolio-story-track{
  display:flex;
  height:100%;
  width:400%;
  will-change:transform;
}
.portfolio-story-panel{
  min-width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:18px;
  align-items:stretch;
  align-content:stretch;
  opacity:.72;
  transition:opacity .35s ease;
}
.portfolio-story-panel.is-active{
  opacity:1;
}
.portfolio-story-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:632px;
  background:#d8e2ea;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(15,32,49,.10);
}
.portfolio-story-card.large{
  min-height:632px;
}
.portfolio-story-card::after{
  content:'';
  position:absolute;
  inset:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  z-index:1;
  pointer-events:none;
}
.portfolio-story-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s ease, filter .35s ease;
}
.portfolio-story-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,16,28,.03) 0%,rgba(8,16,28,.18) 34%,rgba(8,16,28,.80) 100%);
  opacity:.92;
  transition:opacity .35s ease, background .35s ease;
}
.portfolio-story-meta{
  position:absolute;
  left:22px;
  right:22px;
  bottom:20px;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  color:#fff;
}
.portfolio-story-meta span{
  font-family:Oswald, Arial, sans-serif;
  font-size:28px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.01em;
  text-shadow:0 3px 12px rgba(0,0,0,.28);
}
.portfolio-story-meta i{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
  transition:transform .3s ease, background .3s ease;
}
.portfolio-story-card:hover img,
.portfolio-story-card:focus-within img,
.portfolio-story-card:focus img{
  transform:scale(1.08);
  filter:saturate(1.04);
}
.portfolio-story-card:hover .portfolio-story-overlay,
.portfolio-story-card:focus-within .portfolio-story-overlay,
.portfolio-story-card:focus .portfolio-story-overlay{
  background:linear-gradient(180deg,rgba(8,16,28,.04) 0%,rgba(8,16,28,.12) 26%,rgba(8,16,28,.76) 100%);
}
.portfolio-story-card:hover .portfolio-story-meta i,
.portfolio-story-card:focus-within .portfolio-story-meta i,
.portfolio-story-card:focus .portfolio-story-meta i{
  transform:scale(1.08);
  background:rgba(131,192,232,.92);
  color:#103056;
}
.portfolio-story-dots{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:4;
  display:flex;
  gap:10px;
}
.portfolio-story-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  border:0;
  background:rgba(15,32,49,.18);
  cursor:pointer;
  transition:transform .25s ease, background .25s ease;
}
.portfolio-story-dot.is-active,
.portfolio-story-dot:hover{
  background:#2F69B0;
  transform:scale(1.15);
}

@media(max-width:1200px){
  .portfolio-story-frame{grid-template-columns:260px minmax(0,1fr)}
  .portfolio-story-viewport{min-height:620px;height:620px}
  .portfolio-story-card,
  .portfolio-story-card.large{min-height:582px}
}
@media(max-width:1100px){
  .faq-reference-layout .faq-showcase{grid-template-columns:1fr!important}
  .faq-reference-layout .faq-media{min-height:420px!important}
  .faq-reference-layout .faq-media::before{display:none!important}
  .faq-reference-layout .faq-card{min-height:200px!important}
  .portfolio-story-frame{grid-template-columns:1fr!important;gap:22px}
  .portfolio-story-viewport{height:auto!important;min-height:0!important;overflow:visible!important}
  .portfolio-story-track{display:block!important;width:100%!important;transform:none!important}
  .portfolio-story-panel{min-width:0!important;grid-template-columns:1fr 1fr!important;padding:0 0 18px!important;opacity:1!important}
  .portfolio-story-card,
  .portfolio-story-card.large{min-height:320px!important}
  .portfolio-story-dots{position:relative!important;right:auto!important;bottom:auto!important;padding-top:4px!important;justify-content:center!important}
}
@media(max-width:700px){
  .faq-reference-layout .faq-head{padding:24px 22px 18px!important}
  .faq-reference-layout .faq-grid-cards{grid-template-columns:1fr!important;grid-template-rows:none!important}
  .faq-reference-layout .faq-card{min-height:0!important;padding:24px 20px!important}
  .portfolio-story-section{padding:84px 0!important}
  .portfolio-story-panel{grid-template-columns:1fr!important;gap:14px!important;padding:0 0 14px!important}
  .portfolio-story-card,
  .portfolio-story-card.large{min-height:290px!important;border-radius:22px!important}
  .portfolio-story-meta span{font-size:24px!important}
}

/* --- v27 requested refinements --- */
/* Hero: stronger text readability, no punctuation in headline, and content moved left so the video remains visible. */
.sidebar-hero-content{
  width:min(760px, calc(100% - 80px))!important;
  margin-left:64px!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.sidebar-hero .hero-kicker{
  color:#d9efff!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-shadow:0 2px 3px rgba(0,0,0,.95),0 5px 18px rgba(0,0,0,.92),0 0 26px rgba(0,0,0,.7)!important;
}
.sidebar-hero h1,
.sidebar-hero h1 span{
  text-shadow:0 3px 3px rgba(0,0,0,.96),0 8px 24px rgba(0,0,0,.92),0 0 34px rgba(0,0,0,.72)!important;
}
.sidebar-hero h1{
  max-width:700px!important;
  font-size:clamp(68px,6.4vw,112px)!important;
}
.sidebar-hero .hero-copy{
  max-width:650px!important;
}
.sidebar-hero .hero-copy p{
  max-width:620px!important;
  text-shadow:0 2px 3px rgba(0,0,0,.96),0 6px 18px rgba(0,0,0,.90),0 0 22px rgba(0,0,0,.62)!important;
}

/* Mission / Vision must always remain visible after the preceding pinned process section. */
.mv-panels-section{
  position:relative!important;
  z-index:3!important;
  visibility:visible!important;
  opacity:1!important;
}
.mv-panels-section .mv-panels-header,
.mv-panels-section .mv-hover-panel,
.mv-panels-section .reveal{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}
.mv-panels-grid{
  min-height:650px!important;
}

/* Portfolio: wider, sharper imagery, cleaner title column, no image descriptions. */
.portfolio-story-section > .container{
  width:min(1640px, calc(100% - 48px))!important;
  max-width:1640px!important;
}
.portfolio-story-frame{
  grid-template-columns:380px minmax(0,1fr)!important;
  gap:38px!important;
}
.portfolio-story-intro{
  padding-top:8px!important;
  max-width:380px!important;
}
.portfolio-story-intro h2{
  font-size:clamp(46px,4.2vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
}
.portfolio-story-intro p{
  max-width:350px!important;
  font-size:16px!important;
}
.portfolio-story-viewport{
  min-height:610px!important;
  height:610px!important;
}
.portfolio-story-track{
  width:100%!important;
}
.portfolio-story-panel{
  flex:0 0 100%!important;
  min-width:100%!important;
  width:100%!important;
  padding:14px!important;
  gap:14px!important;
}
.portfolio-story-card,
.portfolio-story-card.large{
  min-height:582px!important;
}
.portfolio-story-card img{
  transform:none!important;
  filter:none!important;
  image-rendering:auto!important;
  backface-visibility:hidden;
}
.portfolio-story-card:hover img,
.portfolio-story-card:focus-within img,
.portfolio-story-card:focus img{
  transform:scale(1.035)!important;
  filter:none!important;
}
.portfolio-story-meta{
  left:auto!important;
  right:20px!important;
  bottom:20px!important;
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
}
.portfolio-story-meta i{
  width:48px!important;
  height:48px!important;
  background:rgba(255,255,255,.88)!important;
  color:#12365f!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
}

@media(max-width:1100px){
  .sidebar-hero-content{
    width:min(720px, calc(100% - 56px))!important;
    margin-left:36px!important;
  }
  .portfolio-story-frame{grid-template-columns:1fr!important;gap:24px!important}
  .portfolio-story-intro{max-width:760px!important}
  .portfolio-story-intro p{max-width:680px!important}
  .portfolio-story-viewport{height:auto!important;min-height:0!important}
  .portfolio-story-card,.portfolio-story-card.large{min-height:340px!important}
  .mv-panels-grid{min-height:0!important}
}
@media(max-width:700px){
  .sidebar-hero-content{
    width:calc(100% - 30px)!important;
    margin-left:15px!important;
  }
  .sidebar-hero h1{font-size:clamp(52px,14vw,78px)!important}
  .portfolio-story-section > .container{width:calc(100% - 28px)!important}
  .portfolio-story-intro h2{font-size:clamp(42px,11vw,58px)!important}
}

/* --- v28 corrections --- */
/* Portfolio: no filters/overlays on imagery and no scaling blur. Keep hover on card/chrome only. */
.portfolio-story-card{
  background:#eef3f7!important;
  transition:box-shadow .3s ease, transform .3s ease!important;
}
.portfolio-story-card img{
  filter:none!important;
  transform:none!important;
  opacity:1!important;
  image-rendering:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.portfolio-story-overlay{
  display:none!important;
  background:transparent!important;
  opacity:0!important;
}
.portfolio-story-card:hover,
.portfolio-story-card:focus-within,
.portfolio-story-card:focus{
  transform:translateY(-4px)!important;
  box-shadow:0 24px 48px rgba(15,32,49,.16)!important;
}
.portfolio-story-card:hover img,
.portfolio-story-card:focus-within img,
.portfolio-story-card:focus img{
  filter:none!important;
  transform:none!important;
}
.portfolio-story-meta{
  left:auto!important;
  right:18px!important;
  bottom:18px!important;
  width:auto!important;
  height:auto!important;
}
.portfolio-story-meta span{display:none!important}
.portfolio-story-meta i{
  width:48px!important;
  height:48px!important;
  background:rgba(255,255,255,.92)!important;
  color:#12365f!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
}

/* FAQ: image flush with the section, no extra box/overlay, answers fully readable. */
.faq-reference-layout .faq-showcase{
  grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  align-items:start!important;
}
.faq-reference-layout{
  overflow:visible!important;
  padding-bottom:56px!important;
}
.hero-actions .btn:hover,
.hero-actions .btn-primary:hover{
  animation:none!important;
  transform:none!important;
  box-shadow:0 14px 32px rgba(7,17,27,.14)!important;
}
.hero-actions .btn:before{
  display:none!important;
}
.hero-actions .btn:hover i{
  transform:none!important;
}
.faq-reference-layout .faq-media{
  min-height:620px!important;
  height:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
.faq-reference-layout .faq-media::before,
.faq-reference-layout .faq-media::after{
  display:none!important;
  content:none!important;
}
.faq-reference-layout .faq-media-inner{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-image:url('https://assets.cdn.filesafe.space/foGqkv0OnX1NikOGdBTN/media/6aa05c9016ed327815af170d.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  transform:none!important;
  filter:none!important;
}
.faq-reference-layout .faq-content{
  min-height:620px!important;
  height:auto!important;
  overflow:visible!important;
  background:#fff!important;
}
.faq-reference-layout .faq-grid-cards{
  flex:1 1 auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(250px,1fr))!important;
}
.faq-reference-layout .faq-card{
  min-height:250px!important;
  height:auto!important;
  overflow:visible!important;
  padding:28px 26px!important;
}
.faq-reference-layout .faq-card h3{
  font-size:clamp(22px,1.65vw,32px)!important;
  line-height:1.08!important;
  margin-bottom:12px!important;
}
.faq-reference-layout .faq-card p{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
  overflow:visible!important;
  color:#5d6874!important;
  font-size:14px!important;
  line-height:1.65!important;
}

/* Build stages: CSS no longer fights GSAP pinning. */
@media(min-width:981px){
  .build-stages-section{
    padding:0!important;
    overflow:visible!important;
  }
  .build-stages{
    height:auto!important;
    min-height:0!important;
  }
  .build-stages-inner{
    position:relative!important;
    top:auto!important;
    height:calc(100vh - 90px)!important;
    min-height:680px!important;
    overflow:hidden!important;
    padding:34px 0!important;
  }
}

/* Hero headline: white with a sky-blue outline. */
.sidebar-hero h1,
.sidebar-hero h1 span{
  color:#fff!important;
  -webkit-text-stroke:1.5px #83C0E8!important;
  text-shadow:-1.5px -1.5px 0 #83C0E8,1.5px -1.5px 0 #83C0E8,-1.5px 1.5px 0 #83C0E8,1.5px 1.5px 0 #83C0E8!important;
}

/* Sticky header: white, compact logo, one-row nav, no utility icons. */
.scroll-header{
  background:#fff!important;
  color:#102a45!important;
  box-shadow:0 10px 30px rgba(14,32,52,.12)!important;
  border-bottom:1px solid #e8edf4!important;
}
.scroll-header-inner{
  width:min(1440px, calc(100% - 36px))!important;
  min-height:82px!important;
  grid-template-columns:220px minmax(0,1fr) auto!important;
  gap:22px!important;
}
.scroll-brand-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.scroll-brand-logo img{
  width:175px!important;
  max-height:66px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.scroll-brand-badge,
.scroll-brand-name,
.scroll-icon-btn{
  display:none!important;
}
.scroll-nav{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  gap:20px!important;
  min-width:0!important;
}
.scroll-nav a{
  color:#18344f!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
.scroll-nav a:hover,
.scroll-nav a.current{
  color:#2F69B0!important;
}
.scroll-nav a::after{
  background:#2F69B0!important;
}
.scroll-header-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:0!important;
  grid-column:auto!important;
}
.scroll-header-cta{
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#83C0E8,#2F69B0)!important;
  color:#fff!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
@media(max-width:1180px) and (min-width:981px){
  .scroll-header-inner{
    grid-template-columns:180px minmax(0,1fr) 200px!important;
    gap:14px!important;
  }
  .scroll-brand-logo img{width:150px!important}
  .scroll-nav{gap:12px!important}
  .scroll-nav a{font-size:11px!important;letter-spacing:.07em!important}
  .scroll-header-cta{padding:0 14px!important;font-size:10px!important}
}
@media(max-width:1100px){
  .faq-reference-layout .faq-showcase{grid-template-columns:1fr!important}
  .faq-reference-layout .faq-media{min-height:400px!important}
  .faq-reference-layout .faq-content{min-height:0!important}
}

/* Subpage header: two-tier layout (info bar + solid navy nav bar) */
.header{
  background:#fff!important;
}
.header.scrolled{background:#fff!important}
.header .brand img{
  background:transparent!important;
}
.header .mobile-toggle{
  color:#17355d!important;
  border-color:rgba(23,53,93,.3)!important;
  background:rgba(23,53,93,.06)!important;
}
.header .nav a:after{background:#2F69B0!important}
@media(min-width:981px){
  .topbar{
    background:#2F69B0!important;
    color:#fff!important;
    border-bottom:0!important;
    backdrop-filter:none!important;
    height:52px!important;
  }
  .topbar-inner{justify-content:center!important}
  .topbar-group{gap:32px!important;justify-content:center!important}
  .topbar .socials{display:none!important}
  .topbar a,.topbar span{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    opacity:1!important;
    font-weight:700!important;
    font-size:13px!important;
    color:#fff!important;
  }
  .topbar a:hover{color:#d7ecff!important}
  .topbar-group i{
    width:30px;
    height:30px;
    border-radius:50%;
    background:rgba(255,255,255,.22);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    flex:0 0 auto;
  }
  .header{
    top:52px!important;
    box-shadow:0 6px 24px rgba(9,22,41,.10);
  }
  .header.scrolled{top:52px!important}
  .header .brand img{
    width:150px;
  }
  .header .nav a{color:#17355d}
  .header .nav a:hover,.header .nav a.active{color:#2F69B0}
  .header .nav a:after{background:#2F69B0}
  .header .mobile-toggle{color:#17355d;border-color:rgba(23,53,93,.3)}
  .header .nav{flex:1;justify-content:center}
  .header-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:999px;
    background:linear-gradient(135deg,#83C0E8,#2F69B0);
    color:#fff!important;
    font-size:12px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:nowrap;
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .header-cta:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(47,105,176,.32);animation:btnRipple 1.1s ease-out infinite}
}
@media(max-width:980px){
  .header-cta{display:none}
}
body:not(.home-page) .scroll-header{display:none!important}
@media (min-width:981px){
  body:not(.home-page).sticky-nav-active .topbar,
  body:not(.home-page).sticky-nav-active .header{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}

@media(min-width:1101px){
  .portfolio-story-track{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    transform:none!important;
  }
  .portfolio-story-panel{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    min-width:100%!important;
    height:100%!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    transition:opacity .38s ease, visibility .38s ease!important;
  }
  .portfolio-story-panel.is-active{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* v28 requested content + responsive fixes */
@media (max-width:700px){
  .about-feature-copy h2,
  .about-why-copy h2,
  .contact-refresh-section h2,
  .section-heading h2,
  .inner-hero h1,
  .sticky-copy h2{
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  .welcome-grid{gap:30px!important}
  .welcome-visual{min-height:0!important}
  .welcome-main-image{height:300px!important;min-height:0!important}
  .welcome-inset-card{height:150px!important}
  .choose-grid{gap:32px!important}
  .sticky-copy h2{font-size:clamp(38px,12vw,52px)!important;line-height:1.02!important;max-width:100%!important}
  .build-stages-section{padding-bottom:40px!important}
  .build-card-stage{margin-bottom:0!important;padding-bottom:0!important}
  .mv-panels-section{padding:46px 0 0!important}
  .mv-panels-grid{gap:0!important}
  .mv-hover-panel{min-height:360px!important;border-radius:0!important}
  .mv-hover-panel::after{inset:10px!important}
  .mv-panel-copy{bottom:18px!important}
  .mv-panel-copy p{max-height:none!important;opacity:1!important;transform:none!important;padding:12px 14px!important;font-size:14px!important;line-height:1.55!important}
}
@media (min-width:701px){
  .sticky-copy h2{max-width:560px!important;overflow:visible!important}
}

/* v29 mobile fixes: remove process spacer and make portfolio swipeable */
@media (max-width:980px){
  .build-stages-section{
    padding:56px 0!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  .build-stages{
    height:auto!important;
    min-height:0!important;
  }
  .build-stages-inner{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding:0!important;
  }
  .build-card-stage{
    height:auto!important;
    min-height:0!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
}

@media (max-width:700px){
  .build-stages-section{padding:48px 0 36px!important}
  .build-card-stage .build-card:last-child{margin-bottom:0!important}
  .mv-panels-section{margin-top:0!important;padding-top:40px!important}

  .portfolio-story-section{
    padding:72px 0!important;
    overflow:hidden!important;
  }
  .portfolio-story-frame{gap:24px!important}
  .portfolio-story-intro{padding-top:0!important}
  .portfolio-story-intro h2{
    font-size:clamp(38px,10.5vw,54px)!important;
    line-height:1.02!important;
    overflow:visible!important;
  }
  .portfolio-story-viewport{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border-radius:24px!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#f5f8fb!important;
  }
  .portfolio-story-viewport::-webkit-scrollbar{display:none!important}
  .portfolio-story-track{
    display:flex!important;
    width:max-content!important;
    height:auto!important;
    transform:none!important;
    gap:0!important;
    will-change:auto!important;
  }
  .portfolio-story-panel{
    position:relative!important;
    inset:auto!important;
    flex:0 0 100vw!important;
    width:calc(100vw - 28px)!important;
    min-width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:14px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  .portfolio-story-card,
  .portfolio-story-card.large{
    width:100%!important;
    min-height:280px!important;
    height:280px!important;
    border-radius:20px!important;
  }
  .portfolio-story-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transform:none!important;
  }
  .portfolio-story-dots{
    position:sticky!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    gap:10px!important;
    padding:14px 0 16px!important;
    background:linear-gradient(180deg,rgba(245,248,251,0),#f5f8fb 35%)!important;
  }
}

/* v30 mobile portfolio: static image grid, no horizontal scroll */
@media (max-width:700px){
  .portfolio-story-section{
    overflow:visible!important;
  }
  .portfolio-story-viewport{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    border-radius:0!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    background:transparent!important;
  }
  .portfolio-story-track{
    display:block!important;
    width:100%!important;
    height:auto!important;
    transform:none!important;
  }
  .portfolio-story-panel,
  .portfolio-story-panel.is-active{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    padding:0 0 12px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .portfolio-story-card,
  .portfolio-story-card.large{
    width:100%!important;
    min-height:0!important;
    height:190px!important;
    border-radius:18px!important;
  }
  .portfolio-story-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .portfolio-story-dots{
    display:none!important;
  }
}

@media (max-width:420px){
  .portfolio-story-card,
  .portfolio-story-card.large{
    height:165px!important;
  }
}

/* Mobile lightbox centering fix for portfolio images */
@media (max-width:700px){
  .lightbox,
  .lightbox.open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    padding:24px 16px!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    place-items:initial!important;
    overflow:hidden!important;
  }
  .lightbox.open{
    display:flex!important;
  }
  .lightbox img{
    display:block!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:auto!important;
    height:auto!important;
    max-width:calc(100vw - 32px)!important;
    max-height:calc(100dvh - 48px)!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:auto!important;
  }
  .lightbox-close{
    position:fixed!important;
    top:16px!important;
    right:16px!important;
    z-index:2!important;
  }
}


/* v31 performance + all-screen responsive pass */
/* Avoid expensive blur repainting behind fixed UI while preserving the same visual hierarchy. */
@media (min-width:981px){
  .topbar,
  .home-page .topbar{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:linear-gradient(90deg,rgba(6,18,29,.94),rgba(6,18,29,.82))!important;
  }
  .btn-outline,
  .scroll-service-topline,
  .service-story-icon,
  .service-story-copy{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

.hero-media,.hero-video,.inner-hero-media{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.hero-video{transform:translateZ(0)}
.footer-carousel-window{contain:layout paint}
.cursor-dot,.cursor-ring{
  left:0!important;
  top:0!important;
  will-change:transform;
}
.cursor-ring.is-hovering{width:58px;height:58px}

/* Laptop and smaller desktop monitors */
@media (min-width:981px) and (max-width:1240px){
  :root{--max:1120px}
  .container,.header-inner,.hero-content,.topbar-inner{width:calc(100% - 44px)}
  .header-inner{gap:16px}
  .header .brand img,.header.scrolled .brand img,.home-page .brand img{width:132px}
  .nav{gap:15px;font-size:11.5px;letter-spacing:.055em}
  .header-cta{padding-left:17px!important;padding-right:17px!important;font-size:11px!important}
  .hero h1{font-size:clamp(64px,8vw,108px)}
  .section{padding-top:92px;padding-bottom:92px}
  .welcome-grid,.about-grid{gap:46px}
}

/* Standard desktop monitors */
@media (min-width:1241px) and (max-width:1599px){
  :root{--max:1240px}
  .nav{gap:22px}
  .section{padding-top:100px;padding-bottom:100px}
}

/* Large monitors: use more space without letting content become excessively wide. */
@media (min-width:1600px){
  :root{--max:1420px}
  .container,.header-inner,.hero-content,.topbar-inner{width:min(var(--max),calc(100% - 96px))}
  .hero-content{padding-bottom:92px}
  .hero h1{max-width:1280px;font-size:clamp(82px,6.5vw,132px)}
  .hero-copy p{max-width:760px;font-size:19px}
  .section{padding-top:118px;padding-bottom:118px}
  .welcome-grid,.about-grid{gap:88px}
  .section-heading{max-width:1020px}
}

/* Ultra-wide monitors */
@media (min-width:2000px){
  :root{--max:1540px}
  .hero-content,.header-inner,.topbar-inner,.container{width:min(var(--max),calc(100% - 140px))}
  .hero h1{font-size:132px}
}

/* Keep non-pinned service layouts smooth on tablets and compact laptops. */
@media (max-width:1199px){
  .services-horizontal{transform:none!important;will-change:auto!important}
  .services-zone{height:auto!important;min-height:0!important}
}

@media (max-width:980px){
  .section{padding-top:76px;padding-bottom:76px}
  .reveal,.reveal-right{will-change:auto}
  .service-story-copy,.build-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

@media (max-width:700px){
  .section{padding-top:66px;padding-bottom:66px}
  h2{font-size:clamp(38px,11vw,58px)}
  h3{font-size:clamp(26px,8vw,38px)}
  p{line-height:1.65}
}

@media (max-width:380px){
  .container,.header-inner,.hero-content,.topbar-inner{width:calc(100% - 22px)}
  .hero h1{font-size:clamp(44px,15vw,60px)!important}
  .brand img,.header.scrolled .brand img{width:116px!important}
}

/* Accessibility preference also doubles as a low-power performance mode. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .cursor-dot,.cursor-ring{display:none!important}
  .hero-media,.inner-hero-media,.service-assemble .char{transform:none!important;filter:none!important}
}

/* --- Contact email sizing + home quick strip email fit --- */
.contact-card-pro .contact-link,
.contact-card-pro a[href^="mailto:"]{
  font-size:14px!important;
  letter-spacing:0!important;
}

.quick-contact-inner{
  grid-template-columns:1.05fr 1.08fr 1.42fr 1.05fr;
}
.quick-contact-card{
  min-width:0;
}
.quick-contact-card > div{
  min-width:0;
}
.quick-contact-card:nth-child(3) strong,
.quick-contact-card:nth-child(3) strong a{
  font-size:15px;
  letter-spacing:-.015em;
  white-space:nowrap;
}

@media (max-width: 980px){
  .quick-contact-inner{grid-template-columns:1fr 1fr}
  .quick-contact-card:nth-child(3) strong,
  .quick-contact-card:nth-child(3) strong a{
    font-size:16px;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}
@media (max-width:700px){
  .contact-card-pro .contact-link,
  .contact-card-pro a[href^="mailto:"]{font-size:14px!important}
  .quick-contact-inner{grid-template-columns:1fr}
  .quick-contact-card:nth-child(3) strong,
  .quick-contact-card:nth-child(3) strong a{
    font-size:14px;
  }
}
