@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#073a5c;--dark:#052a44;--steel:#6c98b1;--pale:#edf2f5;--line:#dce4e9;--white:#fff;--ink:#12364d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6eacdc;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em}h2{font-size:clamp(2.7rem,5.6vw,6.5rem);line-height:1.05;font-weight:700}h2 i,h1 i{font-weight:500;color:#8da3b5}p{line-height:1.75}section{overflow:hidden}.progress{position:fixed;top:0;left:0;height:3px;background:#80a8c5;z-index:100;width:0}.header{height:86px;position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;padding:0 4.6%;background:#fff;border-bottom:1px solid #e9edf1;transition:height .35s,box-shadow .35s}.header.scrolled{height:72px;box-shadow:0 10px 25px #073a5c10}.brand{display:flex;align-items:center;gap:11px;min-width:245px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;background:var(--navy);color:#fff;font:800 26px Manrope;letter-spacing:-.1em}.brand-mark span{font-size:15px;color:#b0c2d0}.brand-text{font:800 15px/1.1 Manrope;letter-spacing:.02em}.brand-text strong{font-weight:800}.brand-text small{display:block;font-size:10px;letter-spacing:.24em;color:#60798e;margin-top:4px}.nav{display:flex;gap:clamp(12px,2vw,34px);align-items:center;margin:auto}.nav a{font-size:12px;font-weight:700;position:relative}.nav a:after{content:'';position:absolute;left:0;bottom:-9px;width:0;height:2px;background:var(--navy);transition:width .3s}.nav a:hover:after{width:100%}.header-cta{padding:15px 18px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.header-cta span{margin-left:18px}.menu-btn{display:none}.hero{padding-top:86px;min-height:760px;display:grid;grid-template-columns:51% 49%;position:relative;background:var(--navy);color:white}.hero-copy{padding:clamp(75px,8vw,130px) 4% 50px 9%;position:relative;z-index:2}.hero-kicker,.eyebrow{font-size:11px;font-weight:800;letter-spacing:.19em}.hero-kicker{display:flex;gap:12px;align-items:center;color:#b9cbd8}.pulse{height:7px;width:7px;background:#a6c1d2;border-radius:50%;box-shadow:0 0 0 6px #a6c1d222}.hero h1{font-size:clamp(3.6rem,6.8vw,8.1rem);line-height:.99;margin:48px -130px 24px 0;font-weight:800;position:relative;letter-spacing:-.075em}.hero h1 em{font-style:normal;color:#a9becd}.hero h1 span{color:#fff}.hero-copy>p{max-width:400px;color:#c6d3dd;font-size:15px}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:35px}.btn{display:inline-flex;justify-content:space-between;gap:36px;align-items:center;padding:19px 23px;font-weight:700;font-size:13px;transition:transform .3s,background .3s}.btn:hover{transform:translateY(-4px)}.btn-white{background:#fff;color:var(--navy)}.btn-navy{background:var(--navy);color:#fff}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:10px}.hero-index{display:flex;align-items:center;gap:18px;margin-top:75px;color:#b4c6d4;font-size:10px;letter-spacing:.1em}.index-line{height:1px;width:75px;background:#ffffff4b}.index-line i{display:block;width:25%;height:2px;background:#fff}.hero-media{position:relative;overflow:hidden;min-height:680px}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#073a5c55,transparent 45%),linear-gradient(0deg,#052a44aa,transparent 55%)}.hero-media img{height:100%;filter:saturate(.68);animation:heroZoom 13s ease-in-out infinite alternate}.hero-media-label{position:absolute;bottom:70px;left:8%;z-index:2;display:flex;flex-direction:column;gap:14px}.hero-media-label span{font-size:10px;letter-spacing:.2em}.hero-media-label strong{font:700 clamp(24px,3vw,42px)/1.08 Manrope}.hero-media-number{position:absolute;right:7%;bottom:68px;z-index:2;font:800 70px Manrope}.hero-media-number span{font-size:17px;color:#d1dce4}.hero-vertical{position:absolute;right:8px;top:44%;z-index:3;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em}.hero-vertical span{margin-top:18px}@keyframes heroZoom{to{transform:scale(1.11)}}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr) 1.35fr;background:#edf2f5;padding:35px 5%;gap:24px}.trust-strip>div{border-right:1px solid #d4dfe6;display:flex;flex-direction:column;gap:7px}.trust-strip b{font:800 39px Manrope;letter-spacing:-.07em}.trust-strip span{font-size:10px;letter-spacing:.12em;font-weight:800;color:#718799}.trust-strip .trust-note{border:0;font:700 23px/1.3 Manrope;letter-spacing:-.04em;padding-left:10%}.section{padding:115px 6%}.section-top{display:flex;align-items:center;gap:28px;margin-bottom:70px;color:#536c80}.section-dash{flex:1;height:1px;background:#dce4e9}.section-top.light{color:#afc3d2}.section-top.light .section-dash{background:#ffffff36}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10%}.about-head h2{margin-bottom:65px}.about-head h2 i{font-style:normal}.period{color:#94b5c9}.about-image{position:relative;width:75%;height:310px;margin-left:18%;overflow:hidden}.about-image img{height:100%;filter:saturate(.55);transition:transform .7s}.about-image:hover img{transform:scale(1.08)}.about-image>span{position:absolute;bottom:0;left:0;right:0;background:#fff;padding:20px;font-size:11px;font-weight:800;letter-spacing:.15em;display:flex;justify-content:space-between}.about-right{padding-top:20px}.outline-num{font:800 clamp(100px,14vw,220px)/1 Manrope;color:transparent;-webkit-text-stroke:1px #ccd7df;display:block;margin-bottom:45px}.lead{font-size:clamp(19px,2vw,25px);line-height:1.5;font-weight:600}.about-right>p:not(.lead){color:#657989;font-size:15px}.underline-link{display:inline-flex;gap:55px;border-bottom:1px solid currentColor;padding:18px 0;font-size:13px;font-weight:800;margin-top:25px}.statement{background:#cbd8e2;padding:22px 0}.statement-track{white-space:nowrap;width:max-content;font:800 30px Manrope;letter-spacing:.06em;animation:marquee 28s linear infinite}.statement-track span{color:#fff;margin:0 28px}@keyframes marquee{to{transform:translateX(-50%)}}.expertise,.videos{background:var(--dark);color:white}.expertise-intro,.products-head,.videos-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:65px}.expertise-intro h2,.products-head h2,.videos-head h2{margin:0}.expertise-intro>p,.products-head>p,.videos-head>p{max-width:330px;color:#a9becd;font-size:15px}.expertise-grid{display:grid;grid-template-columns:1fr 1.05fr;min-height:570px;gap:5%}.service-tabs{display:flex;flex-direction:column}.service-tab{display:flex;align-items:center;gap:28px;text-align:left;border:0;border-top:1px solid #ffffff2c;background:none;color:#acbdca;padding:25px 5px;font:700 clamp(18px,2vw,29px) Manrope;letter-spacing:-.045em;transition:padding .3s,color .3s}.service-tab:hover,.service-tab.active{color:white;padding-left:20px}.service-tab.active{background:#ffffff0b}.svc-no{font:600 11px DM Sans;color:#8ca5b7;letter-spacing:0}.svc-arrow{margin-left:auto;font-size:22px}.all-services{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:24px 10px;color:#b5cad8;font-weight:700;font-size:13px;border-top:1px solid #ffffff2c}.service-visual{position:relative;min-height:570px;overflow:hidden}.service-visual>img{height:100%;position:absolute;inset:0;filter:saturate(.6);transition:opacity .2s,transform .6s}.service-visual>img.swap{opacity:.25;transform:scale(1.04)}.service-overlay{position:absolute;inset:auto 0 0;padding:100px 38px 38px;background:linear-gradient(0deg,#081b2bee 0%,#081b2bb5 55%,transparent)}.service-overlay>span{font-size:11px;letter-spacing:.17em}.service-overlay h3{font-size:35px;line-height:1.1;margin:20px 0 10px}.service-overlay p{font-size:14px;color:#cbd9e3;max-width:420px}.service-overlay a{display:inline-block;margin-top:14px;font-size:12px;font-weight:800;border-bottom:1px solid #fff;padding-bottom:10px}.interlude{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#e8eff3}.interlude-photo{overflow:hidden}.interlude-photo img{height:100%;filter:saturate(.5);transition:transform 1s}.interlude-photo:hover img{transform:scale(1.06)}.interlude-copy{padding:12% 12%}.interlude-copy h2{font-size:clamp(40px,4.4vw,70px);margin:40px 0}.interlude-copy p{max-width:440px;color:#586f81}.interlude-copy .btn{margin-top:25px}.products-head>p{color:#667c8d}.product-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:95px}.product-intro article{padding:34px 28px;background:#edf2f5;border-top:3px solid var(--navy)}.product-intro article>span{font-size:10px;letter-spacing:.17em;font-weight:800;color:#627d90}.product-intro h3{font-size:25px;margin:35px 0 14px}.product-intro p{font-size:13px;color:#647a8a;margin:0}.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.gallery-header h3{font-size:27px;margin:0}.gallery-header h3 span{font-size:14px;color:#8499a8}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{background:#edf2f5;border:1px solid #e1e9ee;padding:10px 15px;color:#536f81;font-size:11px;font-weight:800}.filter.active,.filter:hover{background:var(--navy);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.product-card{padding:0;border:1px solid #e3eaee;text-align:left;background:white;transition:transform .35s,box-shadow .35s}.product-card:hover{transform:translateY(-7px);box-shadow:0 15px 32px #073a5c1a}.product-card[hidden]{display:none}.product-img{display:block;height:225px;background:#f2f5f7;overflow:hidden}.product-img img{height:100%;object-fit:contain;padding:15px;mix-blend-mode:multiply;transition:transform .5s}.product-card:hover img{transform:scale(1.08)}.product-meta{display:block;position:relative;padding:22px 20px 28px;min-height:117px}.product-meta small{display:block;color:#8195a3;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.product-meta strong{display:block;font-size:13px;padding-right:22px}.product-plus{position:absolute;right:16px;bottom:20px}.videos-head p{color:#b2c6d5}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-card{display:flex;flex-direction:column;text-align:left;border:1px solid #ffffff25;padding:0;background:#112b42;color:#fff;transition:transform .3s}.video-card:hover{transform:translateY(-5px)}.video-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden}.video-thumb img{height:100%;filter:grayscale(.5) brightness(.78);transition:filter .3s,transform .5s}.video-card:hover img{filter:none;transform:scale(1.05)}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:58px;width:58px;display:grid;place-items:center;border:1px solid white;border-radius:50%;background:#ffffff29;backdrop-filter:blur(5px)}.video-card>span:nth-child(2){padding:22px;display:flex;flex-direction:column;gap:10px}.video-card small{font-size:10px;letter-spacing:.15em;color:#a9bfce}.video-card strong{font-size:17px}.video-card>b{display:none}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#d9e4eb}.contact-title h2{font-size:clamp(3.5rem,6.4vw,7.5rem);margin:50px 0 35px}.contact-title h2 i{color:#6b889e}.contact-title>p{max-width:400px;color:#5a7285}.contact-email{display:flex;justify-content:space-between;max-width:420px;border-bottom:1px solid var(--navy);padding:20px 0;font-weight:800;margin-top:60px;overflow-wrap:anywhere}.contact-panel{background:var(--navy);color:#fff;padding:50px}.contact-detail{display:flex;flex-direction:column;gap:8px;margin-bottom:25px}.contact-detail span{font-size:10px;letter-spacing:.18em;color:#a8bdcc;font-weight:800}.contact-detail a,.contact-detail address{font-size:17px;font-style:normal;line-height:1.5}.contact-panel form{margin-top:40px;display:grid;gap:20px}.contact-panel label{font-size:11px;letter-spacing:.09em;font-weight:800;color:#c2d2dd}.contact-panel input,.contact-panel select,.contact-panel textarea{display:block;width:100%;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #ffffff4a;color:#fff;outline-offset:5px;border-radius:0;margin-top:8px;resize:vertical}.contact-panel input::placeholder,.contact-panel textarea::placeholder{color:#a2b4c2}.contact-panel select option{color:#073a5c}.contact-panel form button{border:0;margin-top:10px}.contact-panel form small{color:#a5b9c9;font-size:10px}.footer{background:#061522;color:#fff;padding:80px 6% 25px;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:50px}.footer-logo{font:800 27px Manrope;letter-spacing:-.05em}.footer-logo span{color:#8fa8ba}.footer p{font-size:13px;color:#8da4b5;margin-top:23px}.footer>div:not(:first-child):not(.footer-bottom){display:flex;flex-direction:column;align-items:start;gap:16px;font-size:13px}.footer .eyebrow{color:#8da4b5;margin-bottom:12px}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff24;padding-top:23px;display:flex;justify-content:space-between;font-size:11px;color:#8da4b5}.lightbox{border:0;padding:45px 25px 25px;background:white;color:var(--navy);width:min(800px,92vw);max-height:90vh;position:fixed}.lightbox::backdrop{background:#071827d9}.dialog-close{position:absolute;right:12px;top:5px;border:0;background:none;color:var(--navy);font-size:35px;z-index:3}.lightbox-img{max-height:70vh;object-fit:contain}.lightbox h3{margin:12px 0 0}.lightbox iframe{width:100%;aspect-ratio:16/9;border:0}.dialog-open{overflow:hidden}.page-hero{padding:180px 7% 100px;background:var(--navy);color:#fff}.page-hero h1{font-size:clamp(3.5rem,7vw,7.5rem);line-height:1.05;margin:30px 0}.page-hero p{max-width:560px;color:#c5d3df}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:75px 0;border-bottom:1px solid #dce5ea}.detail-row:nth-child(even) .detail-image{order:2}.detail-image{height:450px;overflow:hidden;background:#e6edf1}.detail-image img{height:100%;filter:saturate(.65);transition:transform .6s}.detail-image:hover img{transform:scale(1.06)}.detail-text h2{font-size:clamp(32px,4vw,56px);margin:20px 0}.detail-text p{color:#5d7283}.detail-text ul{list-style:none;padding:0;margin:25px 0}.detail-text li{padding:11px 0 11px 25px;position:relative;border-bottom:1px solid #e6ebee;font-size:14px}.detail-text li:before{content:'↗';position:absolute;left:0;color:#7290a5}.detail-cta{background:var(--dark);color:#fff;padding:85px 7%;display:flex;align-items:center;justify-content:space-between}.detail-cta h2{font-size:clamp(35px,4vw,65px);margin:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1100px){.nav{gap:14px}.header{padding:0 3%}.brand{min-width:195px}.hero-copy{padding-left:6%}.hero h1{font-size:6.6vw}.product-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.header{height:72px}.menu-btn{display:flex;margin-left:auto;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px}.menu-btn span{height:2px;width:26px;background:var(--navy)}.header-cta{display:none}.nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:20px 6% 30px;box-shadow:0 18px 30px #073a5c25}.nav.open{display:flex}.nav a{padding:12px 0}.hero{padding-top:72px;grid-template-columns:1fr;min-height:0}.hero-copy{padding:70px 7% 60px}.hero h1{font-size:clamp(3.5rem,10vw,6rem);margin:30px 0}.hero-index{margin-top:50px}.hero-media{min-height:450px;height:55vh}.hero-vertical{display:none}.trust-strip{grid-template-columns:repeat(2,1fr)}.section{padding:80px 6%}.about-grid,.expertise-grid,.contact,.interlude,.detail-row{grid-template-columns:1fr}.about-head h2{margin-bottom:35px}.about-image{margin-left:0;width:100%}.outline-num{display:none}.about-right{padding-top:25px}.expertise-intro,.products-head,.videos-head{align-items:start;flex-direction:column}.service-visual{min-height:480px}.interlude-photo{height:400px}.interlude-copy{padding:70px 7%}.product-intro{grid-template-columns:1fr}.video-grid{grid-template-columns:repeat(2,1fr)}.contact-panel{padding:35px}.detail-row:nth-child(even) .detail-image{order:0}.detail-image{height:350px}.detail-cta{gap:30px;flex-direction:column;align-items:start}}@media(max-width:560px){.brand{min-width:0}.brand-text{font-size:12px}.brand-mark{width:37px;height:37px}.hero h1{font-size:clamp(3rem,12vw,4.5rem)}.hero-actions{align-items:start;flex-direction:column;gap:25px}.hero-media{height:370px;min-height:370px}.hero-media-number{font-size:45px}.trust-strip{padding:25px 6%;gap:18px}.trust-strip b{font-size:30px}.trust-strip .trust-note{font-size:17px}.section-top{gap:10px;margin-bottom:45px}.eyebrow{font-size:9px}.about-head h2,.expertise-intro h2,.products-head h2,.videos-head h2{font-size:clamp(2.7rem,10vw,4rem)}.service-tab{font-size:18px;gap:15px}.service-visual{min-height:420px}.service-overlay{padding:100px 20px 25px}.service-overlay h3{font-size:26px}.product-grid{grid-template-columns:repeat(2,1fr);gap:9px}.product-img{height:155px}.product-meta{padding:14px 10px;min-height:115px}.product-meta strong{font-size:11px}.gallery-header{align-items:start;flex-direction:column}.video-grid{grid-template-columns:1fr}.contact-title h2{font-size:3.4rem}.footer{grid-template-columns:1fr 1fr;gap:35px}.footer>div:first-child{grid-column:1/-1}.footer-bottom{gap:10px;flex-wrap:wrap}.detail-cta h2{font-size:35px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* STEP 1 — Homepage hero only. Original layout and product images unchanged. */
.hero-media img{width:100%;object-fit:cover;object-position:65% center;filter:none;animation:deltaHeroEntrance 1.35s cubic-bezier(.2,.7,.2,1) both,deltaHeroDrift 18s ease-in-out 1.35s infinite alternate;will-change:transform}
.hero-copy .hero-kicker{animation:deltaCopyIn .65s .12s both}
.hero-copy h1{animation:deltaCopyIn .85s .23s both}
.hero-copy>p{animation:deltaCopyIn .85s .4s both}
.hero-copy .hero-actions{animation:deltaCopyIn .85s .55s both}
@keyframes deltaHeroEntrance{from{opacity:.4;transform:scale(1.09)}to{opacity:1;transform:scale(1.035)}}
@keyframes deltaHeroDrift{from{transform:scale(1.035)}to{transform:scale(1.105)}}
@keyframes deltaCopyIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero-media img,.hero-copy .hero-kicker,.hero-copy h1,.hero-copy>p,.hero-copy .hero-actions{animation:none;will-change:auto}}


/* STEP 2: viewport-fit hero, corrected framing and accessible crossfade slideshow */
:root{--delta-header-height:76px}
.header{height:var(--delta-header-height)}
.header.scrolled{height:68px}
.hero{padding-top:var(--delta-header-height);height:100svh;min-height:570px;grid-template-columns:50% 50%}
.hero-copy{min-height:0;padding:clamp(30px,5vh,65px) 5% 24px 9%;display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(3rem,5.2vw,5.75rem);line-height:1.02;margin:clamp(20px,3.5vh,40px) -3% 20px 0;letter-spacing:-.072em}
.hero-copy>p{font-size:clamp(12px,1vw,14px);line-height:1.65;max-width:410px}
.hero-actions{margin-top:clamp(15px,2.5vh,28px)}
.hero-index{margin-top:clamp(20px,4vh,44px)}
.hero-media{height:100%;min-height:0;isolation:isolate}
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-media .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 50%;opacity:0;transform:scale(1.035);transition:opacity 1.25s ease,transform 7s ease;animation:none;filter:none;will-change:opacity,transform}
.hero-media .hero-slide.is-active{opacity:1;transform:scale(1.095)}
.hero-media .hero-slide:nth-child(2){object-position:center center}
.hero-media-label{bottom:clamp(35px,7vh,65px)}
.hero-media-label strong{font-size:clamp(20px,2.2vw,34px)}
.hero-media-number{bottom:clamp(30px,6vh,60px);font-size:clamp(38px,4vw,62px)}
.hero-slider-controls{position:absolute;z-index:5;top:20px;right:24px;display:flex;gap:7px}
.hero-slide-arrow,.hero-slide-pause{background:#073a5cbd;color:white;border:1px solid #ffffff65;width:38px;height:38px;display:grid;place-items:center;font-size:19px;transition:background .25s,transform .25s}
.hero-slide-arrow:hover,.hero-slide-pause:hover{background:#fff;color:#073a5c;transform:translateY(-2px)}
@media(max-width:850px){:root{--delta-header-height:72px}.hero{height:auto;min-height:0;grid-template-columns:1fr}.hero-copy{padding:55px 7% 45px}.hero h1{font-size:clamp(3.2rem,9vw,5.5rem);margin:26px 0 20px}.hero-media{height:clamp(340px,50vh,520px);min-height:0}.hero-index{margin-top:30px}}
@media(max-width:560px){.hero-copy{padding:45px 7% 38px}.hero h1{font-size:clamp(2.9rem,11vw,4.3rem)}.hero-media{height:340px;min-height:0}.hero-slider-controls{top:12px;right:12px}.hero-media-label{bottom:25px}.hero-media-number{bottom:24px}}
@media(prefers-reduced-motion:reduce){.hero-media .hero-slide{transition:none;transform:none!important;will-change:auto}}

/* STEP 3: Slightly wider image panel without changing the established layout */
@media(min-width:851px){.hero{grid-template-columns:46% 54%}.hero-copy{padding-left:9%;padding-right:3%}.hero h1{font-size:clamp(3rem,4.8vw,5.45rem)}}
.hero-media .hero-slide:nth-child(n+3){object-position:center center}

/* Step 4: About section — tighter spacing, cleaner visual hierarchy */
#about.section{padding-top:58px;padding-bottom:92px}
#about .section-top{margin-bottom:42px}
#about .about-grid{grid-template-columns:1.2fr .8fr;gap:7%;align-items:start}
#about .about-head h2{font-size:clamp(2.8rem,5.15vw,5.9rem);margin-bottom:30px}
#about .about-image{width:82%;height:300px;margin-left:9%}
#about .about-image img{object-position:center 48%;filter:saturate(.75)}
#about .about-right{padding-top:12px}
#about .about-right .lead{margin-top:0}
#about .outline-num,.svc-no{display:none!important}
#services .service-tab{gap:15px}
@media(max-width:850px){#about.section{padding-top:45px;padding-bottom:75px}#about .section-top{margin-bottom:32px}#about .about-grid{grid-template-columns:1fr}#about .about-image{margin-left:0;width:100%;height:270px}#about .about-right{padding-top:20px}}

/* Step 5: stronger founding-year label; newly generated CNC image */
.about-image > span {font-size:clamp(17px,1.3vw,23px);letter-spacing:.12em;padding:16px 0 6px;}
.about-image > span b {font-size:24px;}
.about-image img {object-position:center 50%;filter:none;}

/* Step 6: About section typography and simplified links */
#about .about-right > p:not(.lead){font-size:16px;}
#about .underline-link{font-size:18px;gap:0;}
#about .about-image > span{justify-content:flex-start;}

/* Step 7: reduce unnecessary whitespace between sections without changing content */
#about.section{padding-bottom:36px}
.statement{padding:14px 0}
.statement-track{font-size:clamp(19px,2.1vw,27px)}
#services.section{padding-top:44px;padding-bottom:70px}
#services .section-top{margin-bottom:38px}
#services .expertise-intro{margin-bottom:36px}
#services .expertise-grid{min-height:500px}
#services .service-visual{min-height:500px}
#products.section,#insights.section{padding-top:72px;padding-bottom:75px}
#products .section-top,#insights .section-top{margin-bottom:40px}
#products .product-intro{margin-bottom:55px}
#contact.section{padding-top:75px;padding-bottom:75px}
@media(max-width:850px){
 #about.section{padding-bottom:28px}
 .statement{padding:12px 0}
 #services.section{padding-top:35px;padding-bottom:55px}
 #services .section-top{margin-bottom:25px}
 #services .expertise-intro{margin-bottom:28px}
 #services .expertise-grid{min-height:0}
 #services .service-visual{min-height:400px}
 #products.section,#insights.section{padding-top:55px;padding-bottom:55px}
 #contact.section{padding-top:55px;padding-bottom:55px}
}

/* Step 8: quieter expertise typography and compact service presentation */
#services .expertise-intro h2{font-size:clamp(2.4rem,4.1vw,4.4rem);line-height:1.13;letter-spacing:-.052em}
#services .expertise-intro{margin-bottom:28px}
#services .service-tab{font-size:clamp(16px,1.4vw,22px);padding-top:17px;padding-bottom:17px}
#services .service-visual{min-height:390px}
#services .expertise-grid{min-height:390px}
#services .service-visual img{object-position:center center;filter:saturate(.7) contrast(.96)}
#services .service-overlay h3{font-size:clamp(22px,2.3vw,32px)}
@media(max-width:850px){#services .service-visual{min-height:350px}#services .expertise-grid{min-height:0}}

/* Step 11: clean lateral reveal, no blur or zoom during service changes */
#services .service-visual>img{filter:none!important;transform:none!important;transition:clip-path .48s cubic-bezier(.22,1,.36,1),opacity .3s ease!important;clip-path:inset(0 0 0 0);object-fit:cover;object-position:center center}
#services .service-visual>img.swap{opacity:1!important;transform:none!important;clip-path:inset(0 0 0 100%)}
#services .service-overlay{background:linear-gradient(0deg,rgba(6,24,39,.96),rgba(6,24,39,.58) 64%,transparent);pointer-events:none}
#services .service-overlay a{pointer-events:auto}
#services .service-overlay h3,#services .service-overlay p{transition:opacity .3s ease,transform .3s ease}
#services .service-visual.changing .service-overlay h3,#services .service-visual.changing .service-overlay p{opacity:.2;transform:translateY(7px)}
@media(prefers-reduced-motion:reduce){#services .service-visual>img{transition:none!important}}

/* Step 13: six products per row on desktop; compact, consistent cards */
@media (min-width: 1200px) {
  .product-grid {grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px;}
  .product-img {height: 155px;}
  .product-img img {padding: 9px;}
  .product-meta {padding: 14px 11px 22px; min-height: 102px;}
  .product-meta strong {font-size: 11px; line-height: 1.4; overflow-wrap: anywhere;}
  .product-meta small {font-size: 9px; margin-bottom: 8px;}
  .product-plus {right: 10px; bottom: 10px;}
}
@media (min-width: 850px) and (max-width: 1199px) {
  .product-grid {grid-template-columns: repeat(4,minmax(0,1fr));}
}
@media (min-width: 561px) and (max-width: 849px) {
  .product-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
}


/* Step 15: unified editorial type scale and reduced vertical whitespace */
:root{--section-title:clamp(2.25rem,3.65vw,3.85rem);--section-gap:30px}
#about.section,#services.section,#products.section,#insights.section,#contact.section{padding-top:44px;padding-bottom:48px}
.section-top,#about .section-top,#services .section-top,#products .section-top,#insights .section-top{margin-bottom:24px}
#about .about-head h2,#services .expertise-intro h2,#products .products-head h2,#insights .videos-head h2,#contact .contact-title h2{font-size:var(--section-title);line-height:1.12;letter-spacing:-.052em}
#about .about-head h2{margin-bottom:22px}
#about .about-image{height:285px}
#about .about-right .lead{font-size:clamp(19px,1.65vw,24px)}
#services .expertise-intro,#products .products-head,#insights .videos-head{margin-bottom:28px;align-items:end}
#services .expertise-intro>p,#products .products-head>p,#insights .videos-head>p{font-size:15px;line-height:1.65;margin-bottom:5px}
#services .service-tab{font-size:clamp(16px,1.3vw,20px);padding-top:15px;padding-bottom:15px}
#services .service-visual,#services .expertise-grid{min-height:370px}
#services .service-overlay h3{font-size:clamp(23px,2vw,29px)}
.interlude{min-height:470px}
.interlude-copy{padding:8% 10%}
.interlude-copy h2{font-size:var(--section-title);line-height:1.12;margin:22px 0}
.interlude-copy .btn{margin-top:12px}
.product-intro{margin-bottom:35px;gap:16px}
.product-intro article{padding:23px 24px}
.product-intro h3{font-size:21px;margin:20px 0 9px}
.gallery-header{margin-bottom:18px}
.gallery-header h3{font-size:25px}
#insights .videos-head{margin-bottom:28px}
#insights .video-grid{gap:16px}
.contact-title h2{margin:22px 0 20px}
.contact-email{margin-top:25px}
.contact-panel{padding:35px}
.contact-panel form{margin-top:24px;gap:14px}
.footer{padding-top:52px}
.page-hero{padding:140px 7% 65px}
.page-hero h1{font-size:clamp(2.7rem,4.6vw,5rem)}
.detail-row{padding:48px 0}
.detail-text h2{font-size:clamp(1.9rem,2.6vw,2.9rem)}
.detail-cta{padding:55px 7%}
.detail-cta h2{font-size:clamp(2rem,3vw,3.2rem)}
@media(max-width:850px){
 #about.section,#services.section,#products.section,#insights.section,#contact.section{padding-top:42px;padding-bottom:45px}
 #services .expertise-intro,#products .products-head,#insights .videos-head{align-items:flex-start;gap:12px}
 #services .service-visual{min-height:350px}
 .interlude{min-height:0}.interlude-copy{padding:45px 7%}
 .product-intro{gap:12px}
}
@media(max-width:560px){
 :root{--section-title:clamp(2rem,8.2vw,2.65rem)}
 #about.section,#services.section,#products.section,#insights.section,#contact.section{padding-top:32px;padding-bottom:36px}
 .section-top,#about .section-top,#services .section-top,#products .section-top,#insights .section-top{margin-bottom:19px}
 #about .about-image{height:240px}
 #services .service-tab{font-size:16px;padding:13px 5px}
 #services .service-visual{min-height:330px}
 #insights .videos-head{margin-bottom:22px}
 .interlude-photo{height:280px}
 .contact-panel{padding:25px}
}

/* Step 16: compact approach process */
.interlude-copy{padding:5% 9%;display:flex;flex-direction:column;justify-content:center}
.interlude-copy h2{margin:16px 0 14px}
.interlude-copy p{margin:0 0 20px}
.approach-process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:2px 0 22px;max-width:560px}
.approach-step{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-top:1px solid #c5d3dc}
.approach-step-icon{font-size:24px;line-height:1;color:#5e7c91;width:28px;flex:none;text-align:center}
.approach-step strong{display:block;font-size:15px;color:#142e43;margin-bottom:4px}
.approach-step small{display:block;color:#5a7182;font-size:12px;line-height:1.5}
.interlude-copy .btn{align-self:flex-start;margin-top:0}
@media(max-width:650px){.approach-process{gap:0 14px}.approach-step{gap:7px}.approach-step-icon{font-size:20px;width:22px}.approach-step strong{font-size:14px}.approach-step small{font-size:11px}}

/* Step 17: contact information left, enquiry form right */
#contact{gap:5%;align-items:start}#contact .contact-title h2{margin:20px 0 18px}#contact .contact-title>p{margin-bottom:28px}#contact .contact-title .contact-detail{margin:20px 0 0;gap:7px}#contact .contact-title .contact-detail span{color:#55768e;font-size:11px;letter-spacing:.14em;font-weight:800}#contact .contact-title .contact-detail a,#contact .contact-title .contact-detail address{color:#073a5c;font-size:17px;line-height:1.5;font-style:normal;text-decoration:none}#contact .contact-title .contact-email{display:block;max-width:none;padding:0;border:0;margin:0;font-weight:700}#contact .contact-panel{padding:36px 42px}#contact .contact-panel form{margin-top:0}#contact .contact-status{font-size:13px;color:#d8e9f3;margin:0}#contact .contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#contact button:disabled{opacity:.65;cursor:wait}@media(max-width:850px){#contact .contact-panel{padding:30px 25px}}

/* Step 18: Services header — subtle right-side CNC photograph */
.page-hero {
  position: relative; isolation: isolate; overflow: hidden;
  background: #073a5c;
}
.page-hero::before {
  content: ""; position: absolute; z-index: -2; inset: 0 0 0 37%;
  background: url("assets/delta-cnc-hero.webp") center center / cover no-repeat;
  opacity: .66; pointer-events: none;
}
.page-hero::after {
  content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, #073a5c 0%, #073a5c 34%, rgba(7,58,92,.96) 43%, rgba(7,58,92,.66) 63%, rgba(7,58,92,.18) 100%);
}
.page-hero > * {position:relative; z-index:1;}
@media(max-width:760px) {
  .page-hero::before {inset:0 0 0 15%;opacity:.4;background-position:60% center;}
  .page-hero::after {background:linear-gradient(90deg,#073a5c 0%,rgba(7,58,92,.96) 45%,rgba(7,58,92,.67) 100%);}
}

/* Step 19: compact services layout and consistent readability */
@media(min-width:851px){
 .details.section{padding-top:12px!important;padding-bottom:35px!important;}
 .detail-row{padding:30px 0!important;gap:5%!important;align-items:center;}
 .detail-image{height:335px!important;}
 .detail-text h2{font-size:clamp(27px,2.25vw,38px)!important;line-height:1.16;margin:12px 0 12px!important;}
 .detail-text p{font-size:18px!important;line-height:1.58!important;margin-bottom:12px;}
 .detail-text ul{margin:12px 0!important;}
 .detail-text li{font-size:16px!important;line-height:1.4;padding:8px 0 8px 23px!important;}
 .detail-text .underline-link{margin-top:9px;padding:11px 0;}
 .page-hero{padding-bottom:48px!important;}
 .detail-cta{padding:48px 7%!important;}
}
@media(max-width:850px){
 .details.section{padding-top:15px!important;padding-bottom:35px!important;}
 .detail-row{padding:30px 0!important;gap:18px!important;}
 .detail-image{height:290px!important;}
 .detail-text h2{font-size:clamp(26px,5vw,36px)!important;margin:12px 0!important;}
 .detail-text p{font-size:17px!important;line-height:1.6;}
 .detail-text li{font-size:15px!important;}
 .page-hero{padding-bottom:40px!important;}
}
@media(max-width:560px){.detail-image{height:235px!important}.detail-row{padding:24px 0!important}}

/* Step 21: privacy and consent */
.privacy-notice{font-size:13px;line-height:1.65;color:#c3d7e5;margin:14px 0 12px}.privacy-notice a,.consent-row a{color:#fff;text-decoration:underline;text-underline-offset:3px}.consent-row{display:flex!important;align-items:flex-start;gap:12px;margin:10px 0 22px;font-size:13px!important;line-height:1.6;color:#e3edf3;letter-spacing:0!important}.consent-row input{width:18px!important;height:18px!important;min-width:18px;margin-top:2px;accent-color:#9eb8ca}.legal-links{display:flex;flex-wrap:wrap;gap:12px 24px;grid-column:1/-1;border-top:1px solid #ffffff26;padding:18px 0}.legal-links a,.legal-links button{font:inherit;font-size:13px;color:inherit;text-decoration:none;background:none;border:0;cursor:pointer;padding:0}.legal-links a:hover,.legal-links button:hover{text-decoration:underline}.cookie-banner{position:fixed;z-index:9999;bottom:16px;left:16px;right:16px;max-width:1100px;margin:auto;background:#fff;color:#073a5c;border:1px solid #b9cad5;box-shadow:0 10px 42px #0004;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cookie-banner[hidden],.cookie-custom[hidden]{display:none!important}.cookie-banner strong{font-size:18px}.cookie-banner p{font-size:13px;line-height:1.6;margin:6px 0}.cookie-banner a{text-decoration:underline}.cookie-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:340px}.cookie-actions button{border:1px solid #07507a;background:#fff;color:#07507a;padding:11px 14px;cursor:pointer;font-weight:600}.cookie-actions [data-cookie=accept],.cookie-actions [data-cookie=save]{background:#07507a;color:#fff}.cookie-custom{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}.cookie-custom label{font-size:13px}@media(max-width:750px){.cookie-banner{display:block;bottom:0;left:0;right:0;padding:16px}.cookie-actions{min-width:0;margin-top:14px}.cookie-actions button{flex:1}.legal-links{gap:12px}}
.legal-page{background:#f7fafc;min-height:65vh;padding:clamp(45px,7vw,95px) max(5%,calc((100vw - 1200px)/2));color:#142c40}.legal-page h1{font-size:clamp(32px,4vw,54px);line-height:1.15;margin:16px 0 20px}.legal-page h2{font-size:23px;margin:30px 0 10px}.legal-page p,.legal-page li{font-size:16px;line-height:1.75;max-width:860px}.legal-page a{text-decoration:underline}.legal-page .legal-intro{font-size:18px;color:#526b7e}.legal-page .review-note{background:#e8f0f5;padding:16px 20px;border-left:3px solid #7894aa;margin:26px 0;max-width:860px}

/* Step 22: consistent four-column footer and aligned copyright */
.footer{grid-template-columns:1.7fr .8fr 1.35fr 1fr;column-gap:clamp(24px,3.5vw,65px);row-gap:36px;align-items:start}
.footer .footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:13px;min-width:0}
.footer .footer-legal .eyebrow{margin-bottom:12px}
.footer .footer-legal a,.footer .footer-legal button{color:#fff;text-decoration:none;font:inherit;font-size:13px;line-height:1.5;background:none;border:0;padding:0;text-align:left;cursor:pointer}
.footer .footer-legal a:hover,.footer .footer-legal button:hover{text-decoration:underline}
.footer .footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding-top:20px;border-top:1px solid #ffffff24;line-height:1.6}
.footer .footer-copyright{font-size:12px;color:#a5b8c7}
@media(max-width:950px){.footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.footer>div:first-child{grid-column:auto}}
@media(max-width:560px){.footer{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:32px}.footer>div:first-child{grid-column:1/-1}.footer .footer-legal{gap:13px}.footer .footer-bottom{grid-column:1/-1}}

/* Compact quotation modal, shared by all pages */
.quote-modal{border:0;padding:0;width:min(850px,calc(100vw - 36px));max-height:min(92dvh,790px);overflow:auto;background:#fff;color:#073a5c;box-shadow:0 24px 75px rgba(4,22,38,.32);border-radius:2px}
.quote-modal::backdrop{background:rgba(5,20,34,.72)}
.quote-layout{display:grid;grid-template-columns:37% 63%;min-height:520px}
.quote-visual{position:relative;min-height:100%;background:#27323b;overflow:hidden}
.quote-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.quote-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(7,25,40,.84))}
.quote-visual-caption{position:absolute;z-index:1;bottom:24px;left:23px;right:23px;color:#fff;display:grid;gap:12px}
.quote-visual-caption span,.quote-eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}
.quote-visual-caption strong{font-size:23px;line-height:1.15;font-weight:600}
.quote-body{position:relative;padding:29px 35px 25px}
.quote-close{position:absolute;top:12px;right:16px;border:0;background:transparent;color:#1b3349;font-size:28px;line-height:1;cursor:pointer;padding:6px}
.quote-eyebrow{color:#6988a0}.quote-body h2{font-size:29px;line-height:1.15;margin:9px 28px 5px 0;letter-spacing:-.7px;color:#073a5c}.quote-intro{font-size:13px;line-height:1.5;color:#587083;margin:0 0 14px}
.quote-fields{display:grid;gap:10px}.quote-fields label{display:grid;gap:4px;font-size:12px;font-weight:650;letter-spacing:.2px}.quote-fields input,.quote-fields textarea{width:100%;min-width:0;border:1px solid #c9d5de;border-radius:0;background:#fff;color:#073a5c;padding:9px 11px;font:inherit;font-size:13px;outline-offset:2px}.quote-fields textarea{resize:vertical;min-height:64px;max-height:140px}
.quote-notice{font-size:11px;line-height:1.5;color:#536b7d;margin:11px 0 8px}.quote-modal a{color:#1678b2;text-decoration:underline}.quote-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;color:#334c60}.quote-consent input{flex:0 0 auto;margin-top:3px;accent-color:#073a5c}.quote-submit{width:100%;margin-top:12px;background:#073a5c;color:white;border:0;min-height:41px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;cursor:pointer}.quote-submit:disabled{opacity:.6;cursor:wait}.quote-status{font-size:12px;line-height:1.5;margin:8px 0 0}.quote-status:empty{display:none}.quote-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
body:has(.quote-modal[open]){overflow:hidden}
@media(max-width:650px){.quote-modal{width:calc(100vw - 20px);max-height:94dvh}.quote-layout{display:block;min-height:0}.quote-visual{height:125px;min-height:125px}.quote-visual-caption{bottom:12px;left:15px;right:15px;gap:5px}.quote-visual-caption strong{font-size:17px}.quote-body{padding:18px 20px 20px}.quote-body h2{font-size:24px}.quote-fields{gap:8px}}
@media(prefers-reduced-motion:no-preference){.quote-modal[open]{animation:quote-in .2s ease-out}@keyframes quote-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

/* Step 24: official supplied logo and matched brand blues */
:root{--navy:#073a5c;--dark:#052a44;--steel:#6c98b1;--pale:#eaf3f8;--line:#d2e2eb;--ink:#12364d;--brand-blue:#167ab5}
.header .brand{display:flex;align-items:center;min-width:225px;height:100%;padding:0 8px;background:#080b0e;overflow:hidden}
.header .brand img{display:block;width:214px;height:auto;max-height:68px;object-fit:contain}
.footer .footer-logo{display:inline-flex;background:#080b0e;max-width:240px;align-items:center;padding:5px 8px}
.footer .footer-logo img{width:215px;height:auto;object-fit:contain}
.progress,.pulse,.index-line i{background-color:var(--brand-blue)}
@media(max-width:560px){.header .brand{min-width:0;padding:0 4px}.header .brand img{width:168px;max-height:56px}.footer .footer-logo img{width:190px}}

.admin-policy-content{white-space:normal;line-height:1.85;font-size:17px;max-width:850px;}
