@font-face{font-family:Raleway;src:url("assets/raleway.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url("assets/inter.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}

:root{
  --blue:#1d6bb4;
  --blue-dark:#0f5798;
  --ink:#050505;
  --navy:#060638;
  --muted:#555;
  --paper:#fff;
  --line:#dce2e7;
  --max:1300px;
  --header-h:126px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}
body.nav-open,body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}
button{color:inherit}
::selection{color:#fff;background:var(--blue)}

.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-180%);padding:10px 16px;color:#fff;background:#000;border-radius:2px}
.skip-link:focus{transform:none}

.site-header{position:absolute;z-index:100;top:0;left:0;width:100%;height:var(--header-h);color:#fff;transition:height .35s ease,background .35s ease,box-shadow .35s ease,color .35s ease,transform .35s ease}
.site-header::after{content:"";position:absolute;left:4%;right:4%;bottom:0;height:1px;background:rgba(255,255,255,.25);transition:opacity .3s}
.site-header.scrolled{position:fixed;height:92px;color:#050505;background:rgba(255,255,255,.97);box-shadow:0 7px 28px rgba(13,34,50,.13);backdrop-filter:blur(12px);animation:header-in .35s ease both}
.site-header.scrolled::after{opacity:0}
@keyframes header-in{from{transform:translateY(-100%)}to{transform:none}}
.header-inner{width:min(calc(100% - 48px),1350px);height:100%;margin:0 auto;display:flex;align-items:center;gap:32px}
.brand{position:relative;z-index:3;display:flex;align-items:center;align-self:stretch;width:116px;flex:0 0 116px}
.brand img{position:absolute;left:0;width:108px;height:auto;transition:opacity .3s ease,transform .3s ease}
.brand-white{opacity:1}
.brand-color{opacity:0}
.site-header.scrolled .brand-white{opacity:0;transform:scale(.92)}
.site-header.scrolled .brand-color{opacity:1;transform:scale(.92)}

.primary-nav{margin-left:auto}
.nav-list,.submenu{list-style:none;margin:0;padding:0}
.nav-list{display:flex;align-items:center;justify-content:flex-end;gap:0}
.nav-list>li{position:relative}
.nav-list>li>a,.nav-list>li>button{position:relative;display:flex;align-items:center;gap:6px;height:48px;padding:0 9px;border:0;background:none;color:inherit;font-family:Raleway,Arial,sans-serif;font-size:13px;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;cursor:pointer}
.nav-list>li>a::after,.nav-list>li>button::after{content:"";position:absolute;bottom:6px;left:10px;right:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s ease}
.nav-list>li>a:hover::after,.nav-list>li>button:hover::after,.nav-list>li>a.active::after{transform:scaleX(1);transform-origin:left}
.caret{width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid currentColor;transition:transform .2s ease}
.submenu{position:absolute;top:calc(100% + 13px);left:0;width:238px;padding:10px 0;color:#fff;background:#0b5eaa;box-shadow:0 16px 36px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .22s,transform .22s,visibility .22s}
.submenu::before{content:"";position:absolute;height:14px;top:-14px;left:0;right:0}
.submenu a{display:block;padding:10px 18px;border-left:2px solid transparent;font-family:Raleway,Arial,sans-serif;font-size:13px;line-height:1.25;text-transform:uppercase;transition:background .2s,border-color .2s,padding-left .2s}
.submenu a:hover,.submenu a:focus{padding-left:22px;border-color:#fff;background:rgba(0,0,0,.15);outline:0}
.has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu,.has-submenu.open>.submenu{opacity:1;visibility:visible;transform:none}
.has-submenu.open>.submenu+.caret,.has-submenu.open .caret{transform:rotate(180deg)}

.menu-toggle{position:relative;z-index:3;display:none;width:46px;height:46px;margin-left:auto;padding:11px;border:0;background:transparent;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;margin:5px auto;background:currentColor;transition:transform .25s,opacity .25s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;background:#102c40}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,18,37,.26) 0%,rgba(0,0,0,.02) 46%,rgba(0,0,0,.2) 100%)}
.hero-edge-label{position:absolute;right:-165px;top:50%;transform:rotate(90deg);color:rgba(255,255,255,.72);font-family:Raleway,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.42em}

.section-shell{position:relative;z-index:1;width:min(calc(100% - 64px),var(--max));margin:0 auto}
.section-gradient-left,.section-gradient-right{position:relative;isolation:isolate;overflow:hidden}
.section-gradient-left::before,.section-gradient-right::before{content:"";position:absolute;z-index:0;pointer-events:none;background-repeat:no-repeat;background-size:contain;opacity:.44}
.section-gradient-left::before{left:-90px;top:0;width:430px;height:100%;background-image:url("assets/gradient-left.webp");background-position:left center}
.section-gradient-right::before{right:-80px;top:0;width:500px;height:100%;background-image:url("assets/gradient-right.webp");background-position:right center}
.eyebrow{margin:0 0 14px;color:var(--blue);font-family:Raleway,sans-serif;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.22em;text-transform:uppercase}

.about{padding:120px 0 115px}
.about-grid{display:grid;grid-template-columns:1.18fr .95fr;gap:110px;align-items:center}
.about-copy h1{max-width:770px;margin:0 0 23px;font-family:Inter,sans-serif;font-size:clamp(32px,3.1vw,46px);font-weight:400;line-height:1.3;text-transform:uppercase;letter-spacing:-.025em}
.about-copy>p:not(.eyebrow){max-width:710px;margin:0;color:#313131;line-height:1.8}
.text-link{display:inline-flex;align-items:center;gap:12px;margin-top:26px;border-bottom:1px solid #999;padding-bottom:4px;font-family:Raleway,sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.text-link span{color:var(--blue);font-size:19px;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.stat{min-height:170px;padding:28px 24px 21px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.72)}
.stat p{margin:0 0 17px;color:#444;font-family:Raleway,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.045em}
.stat strong{display:flex;align-items:baseline;color:var(--blue);font-family:Inter,sans-serif;font-size:clamp(42px,4vw,64px);font-weight:400;line-height:1}
.stat strong>span:last-child{font-size:.64em}

.facilities{padding:65px 0 115px}
.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}
.section-heading-row h2,.focus-title h2,.testimonial-heading h2{margin:0;font-family:Inter,sans-serif;font-size:clamp(32px,3.25vw,44px);font-weight:400;line-height:1.25;text-transform:uppercase;letter-spacing:-.025em}
.section-heading-row h2 strong,.focus-title h2 strong,.testimonial-heading h2 strong{font-weight:600}
.slider-controls{display:flex;gap:8px}
.round-button{display:grid;place-items:center;width:43px;height:43px;border:1px solid #aeb6bd;border-radius:50%;background:#fff;cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.round-button:hover{color:#fff;border-color:var(--blue);background:var(--blue)}
.facility-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.facility-card{position:relative;height:430px;overflow:hidden;background:#111;box-shadow:0 6px 20px rgba(0,0,0,.17)}
.facility-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.facility-card:nth-child(3) img{object-position:center}
.facility-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.93) 100%)}
.facility-content{position:absolute;left:28px;right:28px;bottom:27px;color:#fff}
.facility-content span{display:block;margin-bottom:10px;color:rgba(255,255,255,.7);font-family:Raleway,sans-serif;font-size:11px;letter-spacing:.12em}
.facility-content h3{max-width:335px;margin:0;font-family:Raleway,sans-serif;font-size:21px;font-weight:500;line-height:1.32;text-transform:uppercase}
.facility-card:hover img{transform:scale(1.06)}

.portfolio{padding:80px 0 120px;background:#fff}
.portfolio-top{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.portfolio-bottom{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
.portfolio-intro,.capability-card{position:relative;min-height:380px;padding:42px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);transition:background .35s,color .35s,transform .35s}
.portfolio-intro{padding-top:54px}
.portfolio-intro h2{margin:0;font-family:Inter,sans-serif;font-size:clamp(34px,3.5vw,48px);font-weight:400;line-height:1.2;text-transform:uppercase}
.portfolio-intro h2 strong{font-weight:600}
.intro-note{max-width:300px;margin:42px 0 0;color:#555;font-size:14px;line-height:1.6}
.capability-icon{width:68px;height:68px;margin:0 0 33px;object-fit:contain;object-position:left center;transition:filter .3s,transform .3s}
.capability-card h3{margin:0 0 17px;font-family:Raleway,sans-serif;font-size:20px;font-weight:500;line-height:1.35;text-transform:uppercase}
.capability-card h3 strong{font-weight:700}
.capability-card p{margin:0;color:#3f3f3f;font-size:14px;line-height:1.7;transition:color .3s}
.capability-card::after{content:"↗";position:absolute;right:24px;top:24px;color:transparent;font-size:22px;transition:color .3s,transform .3s}
.capability-card:hover{z-index:2;color:#fff;background:var(--blue);transform:translateY(-4px)}
.capability-card:hover p{color:rgba(255,255,255,.86)}
.capability-card:hover .capability-icon{filter:brightness(0) invert(1);transform:scale(1.06)}
.capability-card:hover::after{color:#fff;transform:translate(2px,-2px)}

.focus{padding:105px 0 145px;background:#fff}
.focus-title{margin-bottom:46px}
.focus-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:76px;align-items:center}
.commitments ol{list-style:none;margin:0;padding:0;border-top:1px solid #ccd3d9}
.commitments li{display:grid;grid-template-columns:48px 1fr;gap:15px;align-items:start;padding:19px 3px;border-bottom:1px solid #ccd3d9}
.commitments li>span{color:var(--blue);font-family:Raleway,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em}
.commitments p{margin:0;color:#282828;font-size:15px;line-height:1.65}
.focus-collage{position:relative;min-height:590px}
.focus-photo{position:absolute;margin:0;overflow:hidden;box-shadow:0 12px 36px rgba(12,37,55,.18)}
.focus-photo img{width:100%;height:100%;object-fit:cover}
.focus-photo-main{right:0;top:0;width:72%;height:510px}
.focus-photo-inset{left:0;bottom:0;width:47%;height:285px;border:9px solid #fff}
.focus-badge{position:absolute;right:47%;bottom:28px;display:flex;align-items:center;gap:10px;width:215px;padding:19px;color:#fff;background:var(--blue);box-shadow:0 8px 24px rgba(29,107,180,.25)}
.focus-badge strong{font-size:34px;font-weight:500;line-height:1}
.focus-badge span{font-family:Raleway,sans-serif;font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.07em}

.testimonials{padding:92px 0 115px;background:#fff}
.testimonial-heading{margin-bottom:42px}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.video-card{position:relative;display:block;height:440px;padding:0;overflow:hidden;border:0;background:#111;cursor:pointer;text-align:left}
.video-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));transition:background .3s}
.video-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.video-card:nth-child(1) img,.video-card:nth-child(2) img{object-position:center}
.play{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:68px;height:68px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.8);border-radius:50%;color:#fff;background:rgba(0,0,0,.17);backdrop-filter:blur(4px);transition:background .25s,transform .25s}
.play svg{width:28px;fill:currentColor}
.video-number{position:absolute;z-index:2;left:20px;bottom:18px;color:#fff;font-family:Raleway,sans-serif;font-size:11px;letter-spacing:.12em}
.video-card:hover img{transform:scale(1.04)}
.video-card:hover::after{background:rgba(13,86,152,.28)}
.video-card:hover .play{background:var(--blue);transform:translate(-50%,-50%) scale(1.07)}

.site-footer{color:#e1e8ed;background:linear-gradient(128deg,#000 16%,#032e55 100%)}
.footer-shell{padding-top:64px;padding-bottom:30px}
.footer-addresses{display:grid;grid-template-columns:1.15fr 1fr .84fr;gap:55px;padding-bottom:50px}
.footer-addresses section{position:relative}
.footer-addresses h2{margin:0 0 21px;color:#fff;font-family:Inter,sans-serif;font-size:23px;font-weight:500;line-height:1.3}
.footer-addresses address{margin:0;color:#d3dae0;font-style:normal;font-size:15px;line-height:1.75}
.footer-contact-row{display:grid;grid-template-columns:190px 1fr;gap:45px;align-items:center;padding:28px 0;border-top:1px solid rgba(255,255,255,.2)}
.social-links{display:flex;gap:8px}
.social-links a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1c1c1c;transition:background .2s,transform .2s}
.social-links svg{width:18px;height:18px;fill:#fff;stroke:#fff;stroke-width:1.3}
.social-links a:hover{background:var(--blue);transform:translateY(-2px)}
.direct-contact{display:flex;justify-content:flex-end;gap:35px;align-items:center;flex-wrap:wrap}
.direct-contact a{font-size:14px;transition:color .2s}
.direct-contact a:hover{color:#79b5ec}
.direct-contact small{display:block;color:#aebbc5;font-size:10px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}
.location-links{display:flex;gap:18px;flex-wrap:wrap}
.location-links a{font-size:13px;transition:color .2s}
.location-links a:hover{color:#79b5ec}
.footer-bottom p{margin:0;white-space:nowrap;color:#e1e8ed;font-size:13px}


.video-modal{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:55px;color:#fff;background:rgba(0,0,0,.9);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.video-modal.open{opacity:1;visibility:visible}
.modal-frame{width:min(100%,980px);aspect-ratio:16/9;background:#000;box-shadow:0 20px 70px rgba(0,0,0,.5)}
.modal-frame iframe{width:100%;height:100%;border:0}
.modal-close{position:absolute;top:18px;right:25px;width:46px;height:46px;border:0;color:#fff;background:transparent;font-size:42px;font-weight:200;line-height:1;cursor:pointer}
.toast{position:fixed;z-index:600;left:50%;bottom:30px;max-width:calc(100% - 32px);padding:11px 18px;transform:translate(-50%,20px);border-radius:2px;color:#fff;background:#111;box-shadow:0 8px 30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;font-size:13px}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-video{display:none}}

@media (max-width:1200px){
  :root{--header-h:112px}
  .header-inner{width:min(calc(100% - 30px),1120px);gap:15px}
  .brand{width:95px;flex-basis:95px}.brand img{width:88px}
  .nav-list>li>a,.nav-list>li>button{padding-inline:7px;font-size:11.5px}
  .about-grid{gap:55px}
  .portfolio-intro,.capability-card{padding:35px 26px}
  .capability-card p{font-size:13px}
}

@media (max-width:1024px){
  :root{--header-h:92px}
  .site-header.scrolled{height:78px}
  .header-inner{width:calc(100% - 32px)}
  .brand{width:80px;flex-basis:80px}.brand img{width:75px}
  .menu-toggle{display:block}
  .primary-nav{position:fixed;inset:0;display:flex;align-items:flex-start;margin:0;padding:100px 28px 38px;color:#fff;background:linear-gradient(145deg,#020202,#07335b);opacity:0;visibility:hidden;transform:translateX(100%);transition:opacity .3s,transform .35s,visibility .3s;overflow-y:auto}
  .primary-nav.open{opacity:1;visibility:visible;transform:none}
  .nav-list{width:100%;display:block}
  .nav-list>li{border-bottom:1px solid rgba(255,255,255,.17)}
  .nav-list>li>a,.nav-list>li>button{justify-content:space-between;width:100%;height:auto;padding:17px 2px;color:#fff;font-size:15px;text-align:left}
  .nav-list>li>a::after,.nav-list>li>button::after{display:none}
  .submenu{position:static;width:100%;max-height:0;padding:0 0 0 16px;overflow:hidden;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:max-height .35s}
  .submenu::before{display:none}.submenu a{padding:10px 5px;border:0;color:#cdd9e5;font-size:12px}.submenu a:hover{padding-left:10px;background:transparent;color:#fff}
  .has-submenu.open>.submenu{max-height:420px;padding-bottom:12px}
  .about-grid{grid-template-columns:1fr;gap:65px}
  .facility-track{gap:16px}.facility-card{height:370px}.facility-content{left:21px;right:21px}.facility-content h3{font-size:18px}
  .portfolio-top{grid-template-columns:1fr 1fr}.portfolio-intro{grid-column:1/-1;min-height:270px}
  .portfolio-bottom{grid-template-columns:repeat(2,1fr)}
  .focus-grid{grid-template-columns:1fr;gap:55px}.focus-collage{width:min(100%,760px);margin:auto}
  .video-card{height:360px}
  .footer-addresses{grid-template-columns:1fr 1fr}.footer-addresses section:last-child{grid-column:1/-1}
  .footer-contact-row{grid-template-columns:1fr}.direct-contact{justify-content:flex-start}
  .footer-bottom{align-items:flex-start;flex-direction:column}
}

@media (max-width:767px){
  .site-header{height:82px}.site-header.scrolled{height:70px}.site-header::after{left:16px;right:16px}
  .header-inner{width:calc(100% - 24px)}
  .brand{width:66px;flex-basis:66px}.brand img{width:62px}
  .menu-toggle{width:42px;height:42px}
  .primary-nav{padding:84px 22px 30px}
  .hero{height:74svh;min-height:560px}.hero-shade{background:linear-gradient(180deg,rgba(0,12,27,.22),rgba(0,0,0,.12))}.hero-edge-label{display:none}
  .section-shell{width:calc(100% - 38px)}
  .section-gradient-left::before,.section-gradient-right::before{width:250px;opacity:.25}
  .about{padding:78px 0 82px}.about-grid{gap:48px}.about-copy h1{font-size:27px;line-height:1.4}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.75}
  .stat{min-height:135px;padding:21px 15px}.stat p{min-height:34px;margin-bottom:12px;font-size:10px}.stat strong{font-size:38px}
  .facilities{padding:30px 0 80px}.section-heading-row{margin-bottom:25px}.section-heading-row h2,.focus-title h2,.testimonial-heading h2{font-size:28px}.slider-controls{display:flex}
  .facility-track{display:flex;gap:14px;margin-right:-19px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 19px 20px 0}.facility-track::-webkit-scrollbar{display:none}.facility-card{min-width:84%;height:405px;scroll-snap-align:start}
  .portfolio{padding:62px 0 83px}.portfolio-top,.portfolio-bottom{display:block;border-left:1px solid var(--line)}.portfolio-intro,.capability-card{min-height:auto;padding:34px 26px}.portfolio-intro{padding-top:42px;padding-bottom:42px}.portfolio-intro h2{font-size:35px}.intro-note{margin-top:28px}.capability-icon{width:58px;height:58px;margin-bottom:25px}.capability-card h3{font-size:18px}.capability-card p{font-size:13px}
  .focus{padding:70px 0 90px}.focus-title{margin-bottom:28px}.commitments li{grid-template-columns:37px 1fr;gap:9px;padding:15px 2px}.commitments p{font-size:13px}.focus-grid{gap:42px}.focus-collage{min-height:450px}.focus-photo-main{width:84%;height:390px}.focus-photo-inset{width:50%;height:210px;border-width:6px}.focus-badge{right:4%;bottom:16px;width:188px;padding:15px}.focus-badge strong{font-size:28px}
  .testimonials{padding:66px 0 85px}.testimonial-heading{margin-bottom:26px}.video-grid{display:flex;gap:14px;margin-right:-19px;padding-right:19px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.video-grid::-webkit-scrollbar{display:none}.video-card{min-width:84%;height:410px;scroll-snap-align:start}
  .footer-shell{padding-top:50px}.footer-addresses{grid-template-columns:1fr;gap:38px;padding-bottom:40px}.footer-addresses section:last-child{grid-column:auto}.footer-addresses h2{font-size:20px;margin-bottom:15px}.footer-addresses address{font-size:13px}.footer-contact-row{gap:25px}.direct-contact{align-items:flex-start;flex-direction:column;gap:12px}.location-links{gap:10px 17px}.footer-bottom p{white-space:normal}
  .video-modal{padding:48px 14px}.modal-close{right:8px}
  }

@media (max-width:430px){
  .stats{grid-template-columns:1fr 1fr}.stat strong{font-size:34px}
  .focus-collage{min-height:400px}.focus-photo-main{height:350px}.focus-photo-inset{height:185px}.focus-badge{right:0;bottom:-2px}
  .facility-card,.video-card{min-width:90%}
}

/* Homepage image slider and word-by-word title motion */
.hero-slider{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s ease}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.06)}
.hero-slide:nth-child(1)>img{object-position:center center}
.hero-slide:nth-child(2)>img{object-position:center center}
.hero-slide:nth-child(3)>img{object-position:center center}
.hero-slide:nth-child(4)>img{object-position:center 42%}
.hero-slide.active>img{animation:hero-image-zoom 6.3s ease-out both}
@keyframes hero-image-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero .hero-shade{z-index:1;background:linear-gradient(90deg,rgba(0,15,33,.75) 0%,rgba(0,20,42,.52) 35%,rgba(0,0,0,.12) 72%),linear-gradient(180deg,rgba(0,15,30,.2),rgba(0,0,0,.34))}
.hero-copy{position:absolute;z-index:3;left:max(5vw,58px);top:54%;width:min(650px,62vw);transform:translateY(-50%);color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.hero-kicker{margin:0 0 18px;font-family:Raleway,sans-serif;font-size:12px;font-weight:700;letter-spacing:.27em;text-transform:uppercase;opacity:0;transform:translateY(12px)}
.hero-copy h1,.hero-copy h2{max-width:650px;margin:0;font-family:Inter,sans-serif;font-size:clamp(40px,4.3vw,66px);font-weight:400;line-height:1.08;letter-spacing:-.035em;text-transform:uppercase}
.hero-copy .word{display:inline-block;margin-right:.23em;opacity:0;filter:blur(7px);transform:translateY(34px) rotateX(15deg)}
.hero-description{max-width:560px;margin:24px 0 0;color:rgba(255,255,255,.9);font-size:16px;letter-spacing:.015em;opacity:0;transform:translateY(15px)}
.hero-slide.active .hero-kicker{animation:hero-small-in .65s .18s ease forwards}
.hero-slide.active .word{animation:hero-word-in .72s cubic-bezier(.2,.75,.22,1) forwards;animation-delay:calc(.34s + (var(--word-index) * .1s))}
.hero-slide.active .hero-description{animation:hero-small-in .7s 1.05s ease forwards}
@keyframes hero-word-in{to{opacity:1;filter:blur(0);transform:none}}
@keyframes hero-small-in{to{opacity:1;transform:none}}
.hero-controls{position:absolute;z-index:5;left:max(5vw,58px);bottom:32px;display:flex;align-items:center;gap:13px;color:#fff}
.hero-arrow{display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;background:rgba(0,0,0,.12);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.hero-arrow:hover,.hero-arrow:focus-visible{border-color:#fff;background:var(--blue);transform:scale(1.06)}
.hero-dots{display:flex;align-items:center;gap:8px}
.hero-dot{width:7px;height:7px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer;transition:width .25s,border-radius .25s,background .25s}
.hero-dot.active{width:28px;border-radius:10px;background:#fff}
.hero .hero-edge-label{z-index:5}

@media(max-width:767px){
  .hero-copy{left:20px;right:20px;top:auto;bottom:112px;width:auto;transform:none}
  .hero-copy h1,.hero-copy h2{font-size:clamp(29px,9vw,38px);line-height:1.1}
  .hero-kicker{margin-bottom:12px;font-size:9px;letter-spacing:.22em}
  .hero-description{max-width:330px;margin-top:15px;font-size:12px;line-height:1.55}
  .hero-controls{left:20px;bottom:26px;gap:10px}
  .hero-arrow{width:31px;height:31px}
  .hero-slide:nth-child(1)>img{object-position:54% center}
  .hero-slide:nth-child(2)>img{object-position:center center}
  .hero-slide:nth-child(3)>img{object-position:center center}
  .hero-slide:nth-child(4)>img{object-position:center center}
  .hero .hero-shade{background:linear-gradient(180deg,rgba(0,16,34,.26) 0%,rgba(0,8,20,.28) 40%,rgba(0,6,17,.78) 100%)}
}

@media(prefers-reduced-motion:reduce){
  .hero-slide{transition:none}
  .hero-slide.active>img{animation:none;transform:none}
  .hero-kicker,.hero-copy .word,.hero-description{opacity:1;filter:none;transform:none;animation:none!important}
}

/* Multi-page content system */
.page-hero{position:relative;height:72svh;min-height:570px;max-height:760px;overflow:hidden;background:#0a263d}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:page-hero-zoom 8s ease-out both}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,17,38,.82) 0%,rgba(0,22,46,.62) 40%,rgba(0,0,0,.2) 77%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.42))}
.page-hero-content{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:78px;color:#fff}
.page-kicker{margin:0 0 15px;font-family:Raleway,sans-serif;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase}
.page-hero h1{max-width:900px;margin:0;font-family:Inter,sans-serif;font-size:clamp(42px,5.1vw,76px);font-weight:400;line-height:1.06;letter-spacing:-.04em;text-transform:uppercase}
.page-hero-content>p:last-child{max-width:680px;margin:22px 0 0;color:rgba(255,255,255,.88);font-size:16px;line-height:1.7}
.page-hero-content .word{display:inline-block;margin-right:.23em;opacity:0;filter:blur(7px);transform:translateY(30px);animation:hero-word-in .72s cubic-bezier(.2,.75,.22,1) forwards;animation-delay:calc(.2s + (var(--word-index) * .09s))}
@keyframes page-hero-zoom{from{transform:scale(1.045)}to{transform:scale(1)}}

.content-section{padding:105px 0;background:#fff}
.soft-section{background:#f4f7f9}
.section-title{max-width:930px;margin:0 0 48px}
.section-title.narrow{max-width:820px}
.section-title h2,.story-copy h2,.compact-heading h2,.quality-copy h2,.policy-copy h2,.contact-details>h2,.contact-form>h2{margin:0 0 20px;font-family:Inter,sans-serif;font-size:clamp(31px,3.3vw,47px);font-weight:400;line-height:1.22;text-transform:uppercase;letter-spacing:-.025em}
.section-title>p:last-child,.compact-heading>p:last-child{max-width:760px;margin:0;color:#4b4b4b;line-height:1.75}

/* Minimal home */
.home-about{padding-block:105px}
.home-services{padding:95px 0 115px;background:#f4f7f9}
.compact-heading{max-width:760px;margin-bottom:42px}
.home-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.home-service-card{position:relative;min-height:355px;padding:36px 30px;border:1px solid #d9e0e5;background:#fff;transition:color .3s,background .3s,transform .3s,box-shadow .3s}
.home-service-card>img{width:64px;height:64px;margin-bottom:34px;object-fit:contain;object-position:left center;transition:filter .3s}
.home-service-card>span{position:absolute;top:27px;right:27px;color:#7f8a93;font-family:Raleway,sans-serif;font-size:11px;letter-spacing:.12em}
.home-service-card h3{margin:0 0 16px;font-family:Raleway,sans-serif;font-size:21px;font-weight:600;line-height:1.35;text-transform:uppercase}
.home-service-card p{margin:0 0 24px;color:#555;font-size:14px;line-height:1.7;transition:color .3s}
.home-service-card b{position:absolute;left:30px;bottom:28px;font-family:Raleway,sans-serif;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.home-service-card:hover{color:#fff;background:var(--blue);transform:translateY(-5px);box-shadow:0 16px 40px rgba(16,75,126,.18)}
.home-service-card:hover p{color:rgba(255,255,255,.84)}
.home-service-card:hover>img{filter:brightness(0) invert(1)}

/* Shared CTA */
.cta-band{padding:74px 0;color:#fff;background:linear-gradient(125deg,#050505,#07365e)}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}
.cta-inner h2{max-width:820px;margin:0 0 10px;font-family:Inter,sans-serif;font-size:clamp(29px,3.1vw,44px);font-weight:400;line-height:1.25;text-transform:uppercase}
.cta-inner>div>p:last-child{margin:0;color:#cbd7e0}
.cta-button{display:inline-flex;align-items:center;gap:16px;flex:0 0 auto;padding:16px 22px;border:1px solid rgba(255,255,255,.55);font-family:Raleway,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;transition:background .2s,border-color .2s}
.cta-button:hover{border-color:var(--blue);background:var(--blue)}

/* About */
.split-story{display:grid;grid-template-columns:1.05fr .95fr;gap:85px;align-items:center}
.story-copy>p:not(.eyebrow){margin:0 0 18px;color:#3f3f3f;line-height:1.8}
.story-image{margin:0}
.story-image img{width:100%;height:520px;object-fit:cover;box-shadow:0 14px 35px rgba(12,36,54,.16)}
.story-image figcaption,.quality-image figcaption{padding:13px 0;color:#66727b;font-size:12px}
.timeline-grid,.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.timeline-card,.info-card{position:relative;min-height:280px;padding:32px;border:1px solid #d6dee4;background:#fff}
.timeline-card>span,.info-card>span{display:block;margin-bottom:42px;color:var(--blue);font-family:Raleway,sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.timeline-card h3,.info-card h3{margin:0 0 14px;font-family:Raleway,sans-serif;font-size:20px;text-transform:uppercase}
.timeline-card p,.info-card p{margin:0;color:#4f4f4f;font-size:14px;line-height:1.7}
.leadership-band{padding:82px 0;color:#fff;background:#0c2942}
.leadership-inner{display:grid;grid-template-columns:.58fr 1.42fr;gap:80px;align-items:center}
.leadership-inner h2{margin:0;font-family:Inter,sans-serif;font-size:40px;font-weight:400;text-transform:uppercase}
.leadership-inner>div>p:last-child{margin:5px 0 0;color:#a9bdcc}
.leadership-inner blockquote{margin:0;padding-left:42px;border-left:1px solid #688298;font-family:Raleway,sans-serif;font-size:25px;line-height:1.55}

/* Services */
.service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.service-group{padding:37px 34px;border:1px solid #d7dfe5;background:#fff}
.service-group-head{display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:start;margin-bottom:25px}
.service-group-head>span{padding-top:4px;color:var(--blue);font-family:Raleway,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em}
.service-group h2{margin:0;font-family:Raleway,sans-serif;font-size:22px;line-height:1.35;text-transform:uppercase}
.service-group ul{list-style:none;margin:0;padding:0}
.service-group li{position:relative;padding:11px 0 11px 23px;border-top:1px solid #e4e8eb;color:#333;font-size:14px}
.service-group li::before{content:"";position:absolute;left:0;top:19px;width:7px;height:7px;border-radius:50%;background:var(--blue)}

/* Capabilities */
.capability-rows{border-top:1px solid #d4dce2}
.capability-row{display:grid;grid-template-columns:80px 1.15fr .9fr;gap:38px;align-items:center;padding:48px 0;border-bottom:1px solid #d4dce2}
.capability-row.reverse{grid-template-columns:80px .9fr 1.15fr}
.capability-row.reverse .capability-text{grid-column:3}.capability-row.reverse img{grid-column:2;grid-row:1}
.capability-number{align-self:start;color:var(--blue);font-family:Raleway,sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em}
.capability-text h2{margin:0 0 14px;font-family:Inter,sans-serif;font-size:35px;font-weight:400;text-transform:uppercase}
.capability-text p{margin:0 0 18px;color:#404040;line-height:1.75}
.capability-text ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.capability-text li{padding:7px 10px;border:1px solid #cad3da;color:#45515a;font-size:11px;text-transform:uppercase}
.capability-row>img{width:100%;height:320px;object-fit:cover}
.process-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #ccd5dc;border-left:1px solid #ccd5dc}
.process-step{min-height:245px;padding:27px 20px;border-right:1px solid #ccd5dc;border-bottom:1px solid #ccd5dc;background:#fff}
.process-step span{color:var(--blue);font-size:11px}.process-step h3{margin:38px 0 11px;font-family:Raleway,sans-serif;font-size:16px;text-transform:uppercase}.process-step p{margin:0;color:#555;font-size:12px;line-height:1.65}
.response-panel{padding:78px 0;color:#fff;background:#0d2b44}
.response-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.response-inner h2{margin:0;font-family:Inter,sans-serif;font-size:37px;font-weight:400;line-height:1.25;text-transform:uppercase}
.response-inner>p{margin:0;color:#d0dce4;line-height:1.8}

/* Project gallery */
.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.project-card{position:relative;display:block;min-height:480px;padding:0;overflow:hidden;border:0;background:#0b2030;cursor:zoom-in;text-align:left;color:#fff}
.project-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.9) 100%)}
.project-card>span{position:absolute;z-index:2;top:20px;right:20px;font-family:Raleway,sans-serif;font-size:11px;letter-spacing:.12em}
.project-card>div{position:absolute;z-index:2;left:25px;right:25px;bottom:24px}
.project-card h2{margin:0 0 8px;font-family:Raleway,sans-serif;font-size:20px;text-transform:uppercase}
.project-card p{margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.55}
.project-card:hover>img{transform:scale(1.055)}
.gallery-modal{position:fixed;z-index:500;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px;background:rgba(0,0,0,.91);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.gallery-modal.open{opacity:1;visibility:visible}
.gallery-modal img{max-width:min(1100px,90vw);max-height:78vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.gallery-modal p{max-width:900px;margin:18px 0 0;color:#fff;text-align:center}
.gallery-close{position:absolute;top:17px;right:24px;border:0;color:#fff;background:transparent;font-size:45px;line-height:1;cursor:pointer}

/* Quality */
.quality-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.quality-copy>p:not(.eyebrow){color:#414141;line-height:1.8}
.iso-mark{display:flex;align-items:center;gap:18px;width:max-content;margin-top:32px;padding:18px 23px;color:#fff;background:var(--blue)}
.iso-mark strong{font-size:38px;font-weight:500;line-height:1}.iso-mark span{font-family:Raleway,sans-serif;font-size:11px;line-height:1.45;text-transform:uppercase;letter-spacing:.05em}
.quality-image{margin:0}.quality-image img{width:100%;height:530px;object-fit:cover}
.principles-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #ccd5dc;border-left:1px solid #ccd5dc}
.principle-card{min-height:290px;padding:27px 21px;border-right:1px solid #ccd5dc;border-bottom:1px solid #ccd5dc;background:#fff}
.principle-card span{color:var(--blue);font-size:11px}.principle-card h3{margin:50px 0 13px;font-family:Raleway,sans-serif;font-size:17px;text-transform:uppercase}.principle-card p{margin:0;color:#555;font-size:12px;line-height:1.65}
.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.policy-copy p:last-child{color:#454545;line-height:1.8}
.policy-list{list-style:none;margin:0;padding:0;border-top:1px solid #cfd7dd}
.policy-list li{position:relative;padding:18px 10px 18px 38px;border-bottom:1px solid #cfd7dd}
.policy-list li::before{content:"✓";position:absolute;left:5px;color:var(--blue);font-weight:700}
.usp-band{padding:88px 0;color:#fff;background:linear-gradient(120deg,#061019,#0c3e69)}
.usp-band blockquote{max-width:1000px;margin:0;font-family:Raleway,sans-serif;font-size:clamp(24px,3vw,39px);line-height:1.45}

/* Contact */
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.contact-block{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:21px 0;border-top:1px solid #d4dce2}
.contact-block>span{color:var(--blue);font-size:11px}.contact-block h3{margin:0 0 7px;font-family:Raleway,sans-serif;font-size:17px;text-transform:uppercase}.contact-block p{margin:0;color:#4a4a4a;line-height:1.7}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:25px}.contact-links a{border-bottom:1px solid #9ca7ae;font-weight:600}
.contact-form{padding:42px;border:1px solid #d3dce2;background:#f6f8fa}
.contact-form h2{font-size:34px}
.contact-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;color:#3b4750;font-family:Raleway,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 3px;border:0;border-bottom:1px solid #aeb9c1;border-radius:0;color:#111;background:transparent;font-family:Inter,sans-serif;font-size:15px;text-transform:none;outline:none}
.contact-form textarea{resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue)}
.contact-form button{display:inline-flex;align-items:center;gap:14px;margin-top:8px;padding:14px 20px;border:0;color:#fff;background:var(--blue);font-family:Raleway,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;cursor:pointer}
.form-status{min-height:24px;margin:13px 0 0;color:#17692f;font-size:13px}

@media(max-width:1024px){
 .page-hero{height:64svh;min-height:520px}.page-hero-content{padding-bottom:58px}
 .split-story,.quality-intro,.policy-grid,.contact-layout{grid-template-columns:1fr;gap:50px}
 .home-service-grid,.timeline-grid,.info-grid,.project-gallery{grid-template-columns:repeat(2,1fr)}
 .service-detail-grid{grid-template-columns:1fr}
 .capability-row,.capability-row.reverse{grid-template-columns:55px 1fr;gap:25px}.capability-row img,.capability-row.reverse img{grid-column:2;grid-row:auto}.capability-row.reverse .capability-text{grid-column:2}
 .process-grid{grid-template-columns:repeat(3,1fr)}
 .principles-grid{grid-template-columns:repeat(3,1fr)}
 .story-image img,.quality-image img{height:460px}
}

@media(max-width:767px){
 .page-hero{height:66svh;min-height:500px}.page-hero-content{padding-bottom:44px}.page-hero h1{font-size:35px}.page-hero-content>p:last-child{font-size:13px}
 .content-section{padding:72px 0}.section-title{margin-bottom:30px}
 .home-about{padding-block:72px}.home-services{padding:70px 0 78px}
 .home-service-grid,.timeline-grid,.info-grid,.project-gallery{grid-template-columns:1fr}
 .home-service-card{min-height:330px}
 .cta-inner{align-items:flex-start;flex-direction:column}.cta-button{width:100%;justify-content:space-between}
 .split-story{gap:38px}.story-image img,.quality-image img{height:370px}
 .leadership-inner{grid-template-columns:1fr;gap:34px}.leadership-inner blockquote{padding-left:24px;font-size:20px}
 .service-group{padding:29px 22px}.service-group-head{grid-template-columns:35px 1fr}.service-group h2{font-size:19px}
 .capability-row,.capability-row.reverse{grid-template-columns:34px 1fr;padding:35px 0}.capability-row>img{height:240px}.capability-text h2{font-size:28px}
 .process-grid{grid-template-columns:repeat(2,1fr)}.response-inner{grid-template-columns:1fr;gap:28px}
 .project-card{min-height:430px}
 .gallery-modal{padding:45px 12px}.gallery-modal img{max-width:94vw}
 .principles-grid{grid-template-columns:1fr 1fr}.principle-card{min-height:260px}
 .quality-intro,.policy-grid,.contact-layout{gap:40px}.contact-form{padding:30px 20px}.form-row{grid-template-columns:1fr;gap:0}
}

@media(max-width:430px){
 .process-grid,.principles-grid{grid-template-columns:1fr}
 .principle-card,.process-step{min-height:auto}
}

/* Official Vivek Engineering identity */
.brand{width:400px;flex:0 0 400px}
.brand img{width:390px;max-height:78px;object-fit:contain;object-position:left center}
.site-header.scrolled .brand img{width:320px;max-height:63px}
.footer-brand{display:flex;align-items:center;justify-content:flex-start;padding-bottom:36px;margin-bottom:42px;border-bottom:1px solid rgba(255,255,255,.2)}
.footer-brand a{display:inline-block}
.footer-brand img{width:min(390px,100%);height:auto}

@media(max-width:1200px) and (min-width:1025px){
 .brand{width:300px;flex-basis:300px}.brand img{width:290px;max-height:58px}.site-header.scrolled .brand img{width:260px;max-height:52px}
}
@media(max-width:1024px){
 .brand{width:260px;flex-basis:260px}.brand img{width:250px;max-height:50px}.site-header.scrolled .brand img{width:225px;max-height:45px}
}
@media(max-width:767px){
 .brand{width:245px;flex-basis:245px}.brand img{width:235px;max-height:47px}.site-header.scrolled .brand img{width:215px;max-height:43px}
 .footer-brand{padding-bottom:27px;margin-bottom:34px}.footer-brand img{width:min(235px,100%)}
}
@media(max-width:390px){
 .brand{width:220px;flex-basis:220px}.brand img{width:212px}.site-header.scrolled .brand img{width:195px}
}

/* Visibility and full-screen page hero refinements */
@media(min-width:1201px){
 .nav-list>li>a,.nav-list>li>button{font-size:15px;padding-left:10px;padding-right:10px}
}
@media(max-width:1200px) and (min-width:1025px){
 .nav-list>li>a,.nav-list>li>button{font-size:12.5px;padding-left:7px;padding-right:7px}
}
.hero-copy,.hero-copy h1,.hero-copy h2,.hero-copy .word{color:#fff}
.hero-copy h1,.hero-copy h2{font-weight:500;text-shadow:0 3px 24px rgba(0,0,0,.52)}
.hero-copy .word{opacity:.72;filter:blur(4px);text-shadow:0 3px 20px rgba(0,0,0,.62)}
.hero-kicker{color:#fff;opacity:.9;text-shadow:0 2px 12px rgba(0,0,0,.65)}
.hero-description{color:#fff;opacity:.94;font-weight:500;text-shadow:0 2px 14px rgba(0,0,0,.72)}
.page-hero{height:100svh;min-height:650px;max-height:none}
.page-hero-content{padding-bottom:110px}

@media(max-width:767px){
 .nav-list>li>a,.nav-list>li>button{font-size:16px}
 .page-hero{height:100svh;min-height:590px}.page-hero-content{padding-bottom:94px}
 .hero-copy .word{opacity:.82;filter:blur(2px)}
 .hero-description{opacity:1}
}

/* Keep the dark image treatment while ensuring hero text stays pure white. */
.hero .hero-shade{display:none}
.hero-slide::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,15,33,.75) 0%,rgba(0,20,42,.52) 35%,rgba(0,0,0,.12) 72%),linear-gradient(180deg,rgba(0,15,30,.2),rgba(0,0,0,.34))}
.hero-slide>img{position:absolute;z-index:0;inset:0}
.hero-copy{z-index:2}
@media(max-width:767px){
 .hero-slide::after{background:linear-gradient(180deg,rgba(0,16,34,.26) 0%,rgba(0,8,20,.28) 40%,rgba(0,6,17,.78) 100%)}
}

/* Content audit additions: service index, restrained icons, and text motion */
.pro-emoji{display:inline-block;margin-right:.48em;font-size:.9em;line-height:1;vertical-align:.04em;filter:saturate(.78)}
.complete-index-wrap{margin-top:80px;padding-top:62px;border-top:1px solid #cfd8df}
.index-heading{max-width:760px;margin-bottom:34px}
.index-heading h2{margin:0 0 14px;font-family:Inter,sans-serif;font-size:clamp(30px,3.1vw,44px);font-weight:400;line-height:1.25;text-transform:uppercase}
.index-heading>p:last-child{margin:0;color:#555}
.complete-service-index{display:grid;grid-template-columns:repeat(2,1fr);counter-reset:services;gap:0;list-style:none;margin:0;padding:0;border-top:1px solid #d8e0e5;border-left:1px solid #d8e0e5}
.complete-service-index li{position:relative;min-height:66px;padding:18px 22px 16px 56px;border-right:1px solid #d8e0e5;border-bottom:1px solid #d8e0e5;color:#333;font-size:13px;line-height:1.55;counter-increment:services;background:#fff}
.complete-service-index li::before{content:counter(services,decimal-leading-zero);position:absolute;left:18px;top:20px;color:var(--blue);font-family:Raleway,sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em}
.complete-service-index li>span{position:absolute;right:17px;top:19px;color:#68a3d8;font-size:11px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px}
.gallery-filters button{padding:10px 14px;border:1px solid #bfcbd3;color:#33414b;background:#fff;font-family:Raleway,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;cursor:pointer;transition:color .2s,background .2s,border-color .2s}
.gallery-filters button:hover,.gallery-filters button.active{color:#fff;border-color:var(--blue);background:var(--blue)}
.project-card.filtered-out{display:none}
.text-stagger .text-word{display:inline-block;margin-right:.22em;opacity:0;filter:blur(4px);transform:translateY(17px);transition:opacity .55s ease,filter .55s ease,transform .55s cubic-bezier(.2,.75,.22,1);transition-delay:calc(var(--text-index) * .055s)}
.text-stagger.text-visible .text-word{opacity:1;filter:blur(0);transform:none}

@media(max-width:767px){
 .complete-index-wrap{margin-top:55px;padding-top:45px}
 .complete-service-index{grid-template-columns:1fr}
 .gallery-filters{gap:7px}.gallery-filters button{padding:9px 11px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .text-stagger .text-word{opacity:1;filter:none;transform:none;transition:none}
}

/* Keep the static establishment year equal to animated statistic values. */
.stat strong > .stat-static:only-child{font-size:1em;line-height:1;font-weight:inherit}

/* Google Sheets form submission states */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.contact-form button:disabled{cursor:wait;opacity:.64}
.form-status.saving{color:#526572}
.form-status.success{color:#17692f;font-weight:600}
.form-status.error{color:#a02727;font-weight:600}
.form-note{margin:4px 0 14px;color:#667681;font-size:11px;line-height:1.55}

/* ============ POLISH REFINEMENTS (enquiry form + numbering) ============ */
/* Enquiry form — proper card design */
.contact-form{position:relative;padding:48px 46px 42px;border:1px solid #dbe3ea;border-radius:8px;background:#fff;box-shadow:0 28px 62px -28px rgba(10,35,58,.22)}
.contact-form::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:4px;border-radius:8px 8px 0 0;background:linear-gradient(90deg,var(--blue),#57a5e3)}
.contact-form>.eyebrow{margin-bottom:10px}
.contact-form h2{font-size:clamp(26px,2.6vw,34px);line-height:1.25;margin-bottom:30px}
.contact-form label{gap:9px;margin-bottom:18px;color:#2c3a44;font-size:11.5px;letter-spacing:.08em}
.contact-form input,.contact-form select,.contact-form textarea{padding:14px 16px;border:1px solid #d3dce3;border-radius:5px;background:#f8fafc;font-size:14.5px;transition:border-color .2s,box-shadow .2s,background .2s}
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#b4c2ce}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(29,107,180,.13)}
.contact-form select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23627378' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px auto;appearance:none;-webkit-appearance:none;cursor:pointer}
.contact-form textarea{min-height:148px}
.form-note{margin:2px 0 18px;color:#667681;font-size:12px;line-height:1.6}
.contact-form button{justify-content:center;width:100%;margin-top:2px;padding:17px 24px;border-radius:5px;font-size:12px;letter-spacing:.14em;transition:background .2s,transform .2s,box-shadow .2s}
.contact-form button:hover{background:#185a96;transform:translateY(-1px);box-shadow:0 12px 24px -10px rgba(29,107,180,.45)}
.form-status{margin-top:14px;font-size:13.5px}

/* 40-service index — bigger number chips, readable text */
.complete-service-index li{display:flex;align-items:center;min-height:0;padding:20px 48px 20px 70px;font-size:14.5px;line-height:1.6;color:#2b3338}
.complete-service-index li::before{left:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:26px;border-radius:4px;background:#eaf2f9;font-size:11.5px;font-weight:800;letter-spacing:0}
.complete-service-index li>span{right:18px;top:50%;transform:translateY(-50%);color:#7fb3e0;font-size:12px}

/* Service group cards — clearer numbering */
.service-group-head>span{display:inline-grid;place-items:center;width:42px;height:28px;margin-top:2px;padding-top:0;border-radius:4px;background:#eaf2f9;font-size:12px;font-weight:800;letter-spacing:0}
.service-group-head{grid-template-columns:58px 1fr}
.service-group li{font-size:14.5px}

/* Capability rows — prominent standout numbers */
.capability-number{font-family:Inter,sans-serif;font-size:clamp(34px,3vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--blue)}
.capability-row{grid-template-columns:90px 1.15fr .9fr}
.capability-row.reverse{grid-template-columns:90px .9fr 1.15fr}
.capability-text h2{font-size:clamp(28px,2.6vw,36px)}

/* Process steps — slightly stronger numbering */
.process-step span{font-size:12.5px;font-weight:700;letter-spacing:.12em}

@media(max-width:1024px){
 .capability-row,.capability-row.reverse{grid-template-columns:64px 1fr}
 .capability-number{font-size:32px}
}
@media(max-width:767px){
 .contact-form{padding:32px 22px 30px}
 .complete-service-index li{padding:16px 40px 16px 62px;font-size:13.5px}
 .complete-service-index li::before{left:14px;width:34px;height:24px;font-size:10.5px}
 .service-group-head{grid-template-columns:50px 1fr}
 .capability-number{font-size:28px}
}
@media(max-width:767px){
 .capability-row,.capability-row.reverse{grid-template-columns:48px 1fr;gap:18px}
}

/* ============ FINAL NUMBER SIZE/SPACING (service cards + index) ============ */
.service-group-head{grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-bottom:22px}
.service-group-head>span{display:inline;width:auto;height:auto;margin:0;padding:0;background:none;border-radius:0;font-family:Inter,sans-serif;font-size:26px;font-weight:800;line-height:1;letter-spacing:0;color:var(--blue)}
.complete-service-index li{display:flex;align-items:center;min-height:0;padding:19px 26px 19px 78px;font-size:15px;line-height:1.55;color:#28323a}
.complete-service-index li::before{left:24px;top:50%;transform:translateY(-50%);display:inline;width:auto;height:auto;background:none;border-radius:0;font-family:Inter,sans-serif;font-size:16px;font-weight:800;letter-spacing:0;line-height:1;color:var(--blue)}
.complete-service-index li>span{display:none}
@media(max-width:767px){
 .service-group-head{gap:12px}
 .service-group-head>span{font-size:21px}
 .complete-service-index li{padding:15px 22px 15px 66px;font-size:14px}
 .complete-service-index li::before{left:20px;font-size:14px}
}

/* Enquiry form — inline field validation states */
.contact-form input.input-invalid,.contact-form textarea.input-invalid{border-color:#c0392b;background:#fffbfa}
.contact-form input.input-invalid:focus,.contact-form textarea.input-invalid:focus{box-shadow:0 0 0 3px rgba(192,57,43,.13)}
.field-error{display:block;min-height:15px;margin-top:0;color:#b03a2e;font-family:Inter,sans-serif;font-size:11.5px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}
.field-error:empty{min-height:0;margin-top:-7px}

/* Footer addresses — two locations merged into one; two-column layout */
.footer-addresses{grid-template-columns:1.3fr 1fr;gap:60px}
@media(max-width:767px){
 .footer-addresses{grid-template-columns:1fr;gap:30px}
}

/* Mobile nav fix — when the menu is open, the scrolled header must NOT keep a
   backdrop-filter / animation / transform, because those make the header a
   containing block and trap the fixed full-screen menu inside the thin header. */
@media(max-width:1024px){
 body.nav-open .site-header,
 body.nav-open .site-header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;animation:none;transform:none;transition:none}
}

/* Mobile menu open — keep the close (X) toggle clearly visible in white */
@media(max-width:1024px){
 body.nav-open .menu-toggle,
 body.nav-open .site-header.scrolled .menu-toggle{color:#fff}
 body.nav-open .menu-toggle span,
 body.nav-open .site-header.scrolled .menu-toggle span{background:#fff}
 body.nav-open .brand .brand-white{opacity:1}
 body.nav-open .brand .brand-color{opacity:0}
}

/* Homepage hero — full-screen image on mobile like every other page */
@media(max-width:1024px){
 .hero{height:100svh;min-height:590px}
}
@media(max-width:767px){
 .hero{height:100svh;min-height:590px}
 .hero-copy{bottom:96px}
}

/* Footer — four-column corporate layout (Useful Links / Our Services / Contact Us) */
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.35fr;gap:56px;padding-bottom:56px}
.footer-brand{display:block;padding-bottom:0;margin-bottom:0;border-bottom:0}
.footer-brand a{display:inline-block}
.footer-brand img{display:block;width:min(218px,100%);height:auto}
.footer-tagline{margin:24px 0 20px;color:#d3dae0;font-family:Inter,sans-serif;font-size:15px;line-height:1.6;max-width:270px}
.footer-col h2{margin:5px 0 27px;color:#fff;font-family:Inter,sans-serif;font-size:21px;font-weight:700;line-height:1.3}
.footer-col a{display:block;position:relative;margin:0 0 17px;padding-left:20px;color:#d3dae0;font-family:Inter,sans-serif;font-size:15px;line-height:1.5;transition:color .2s}
.footer-col a::before{content:"\203A";position:absolute;left:1px;top:-1px;color:#fff;font-size:16px;font-weight:700;line-height:inherit;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-col a:hover::before{color:#79b5ec}
.footer-contact address{margin:0;font-family:Inter,sans-serif;font-style:normal}
.fc-item{display:flex;gap:15px;margin:0 0 22px;color:#d3dae0;font-size:15px;line-height:1.65}
.fc-item svg{flex:0 0 auto;width:20px;height:20px;margin-top:2px;fill:none;stroke:#8fa9bf;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fc-item a{display:inline;margin:0;padding:0;color:#fff;font-size:15px;line-height:inherit;transition:color .2s}
.fc-item a::before{content:none}
.fc-item a:hover{color:#79b5ec}
.site-footer .social-links{gap:24px}
.site-footer .social-links a{width:auto;height:auto;border-radius:0;background:none}
.site-footer .social-links svg{width:21px;height:21px;fill:#d3dae0;stroke:#d3dae0;stroke-width:1.3;transition:fill .2s,stroke .2s}
.site-footer .social-links a:hover{background:none;transform:translateY(-2px)}
.site-footer .social-links a:hover svg{fill:#79b5ec;stroke:#79b5ec}
.footer-bottom{gap:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.footer-bottom p{white-space:normal;color:#d3dae0}
.footer-bottom-links{display:flex;gap:36px;flex-wrap:wrap}
.footer-bottom-links a{color:#d3dae0;font-family:Inter,sans-serif;font-size:14px;transition:color .2s}
.footer-bottom-links a:hover{color:#79b5ec}
@media(max-width:1024px){
 .footer-grid{grid-template-columns:1fr 1fr;gap:46px 40px;padding-bottom:46px}
 .footer-col h2{margin-top:0}
}
@media(max-width:640px){
 .footer-grid{grid-template-columns:1fr;gap:42px;padding-bottom:42px}
 .footer-brand img{width:min(198px,100%)}
 .footer-col h2{margin-bottom:20px;font-size:19px}
 .footer-col a{margin-bottom:13px}
 .fc-item{margin-bottom:17px}
 .footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}
}
