
:root{--navy:#0D1B2A;--navy2:#112B47;--blue:#1E5AA8;--yellow:#FFC107;--light:#F5F7FA;--white:#fff;--text:#17283A;--muted:#647487;--line:#DCE5ED;--line-dark:#C9D4DE;--container:1420px;--shadow:0 24px 70px rgba(13,27,42,.12);--shadow-soft:0 14px 44px rgba(13,27,42,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Plus Jakarta Sans','Segoe UI',Arial,sans-serif;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section{padding:100px 0}.section-tight{padding:58px 0 64px}.section-alt{background:#F4F7FA}.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;padding:10px 14px;background:var(--navy);color:white;border-radius:8px}.skip-link:focus{top:12px}
.utility-bar{background:#F7F9FB;border-bottom:1px solid #E9EEF3;color:#5D6D80;font-size:11px;font-weight:600}.utility-inner{height:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.utility-inner p{margin:0}.utility-contact{display:flex;align-items:center;gap:12px}.utility-contact a{text-decoration:none}.utility-contact a:hover{color:var(--blue)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(221,230,238,.92);backdrop-filter:blur(16px);transition:box-shadow .25s}.site-header.is-scrolled{box-shadow:0 10px 35px rgba(13,27,42,.07)}.nav-wrap{height:88px;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:28px}.brand{display:inline-flex;width:248px;align-items:center}.brand img{width:248px;height:auto}.desktop-nav{display:flex;justify-content:center;align-items:center;gap:28px}.desktop-nav a{font-size:12px;font-weight:700;text-decoration:none;padding:34px 0;position:relative;color:#26394f}.desktop-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:23px;height:2px;background:var(--yellow);transition:.2s}.desktop-nav a:hover:after,.desktop-nav a.is-active:after{left:0;right:0}.nav-actions{display:flex;align-items:center;gap:12px}.menu-button{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;place-content:center;gap:5px}.menu-button span{width:19px;height:2px;background:var(--navy);display:block}.menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{background:#fff;border-top:1px solid var(--line)}.mobile-menu-inner{display:grid;padding:10px 0 22px}.mobile-menu a:not(.button){padding:15px 0;border-bottom:1px solid #EEF2F6;text-decoration:none;font-weight:700}.mobile-menu .button{margin-top:18px}
.button{min-height:48px;padding:0 20px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-size:12px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--yellow);color:var(--navy);box-shadow:0 12px 28px rgba(255,193,7,.2)}.button-dark{background:var(--navy);color:#fff;box-shadow:0 14px 30px rgba(13,27,42,.14)}.button-outline{border:1px solid var(--line-dark);background:#fff;color:var(--navy)}.button-ghost{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff}.nav-cta{min-height:44px}
.hero{padding:68px 0 68px;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:720px;height:720px;border-radius:50%;right:-250px;top:-260px;background:radial-gradient(circle,rgba(30,90,168,.10),rgba(30,90,168,0) 70%)}.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:70px;align-items:center}.eyebrow{display:flex;gap:11px;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:10px;color:var(--blue);margin-bottom:18px}.eyebrow span{width:32px;height:4px;background:var(--yellow);border-radius:4px}.hero h1,.page-hero h1{font-size:clamp(48px,5.2vw,76px);line-height:1.035;letter-spacing:-.058em;margin:0;color:var(--navy)}.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--blue)}.hero-lead{font-size:17px;line-height:1.72;color:var(--muted);max-width:650px;margin:25px 0 0}.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.hero-pills span{border:1px solid #DCE6EF;background:#F8FAFC;color:#3d536b;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-proof{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border-top:1px solid var(--line);padding-top:22px}.hero-proof div{padding-right:15px}.hero-proof div+div{padding-left:15px;border-left:1px solid var(--line)}.hero-proof strong{display:block;font-size:11px;color:var(--navy)}.hero-proof span{font-size:9px;color:#7A8999}.hero-system{position:relative;min-height:560px}.system-grid{height:560px;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:12px}.system-card{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid rgba(13,27,42,.06);background:#EDF2F6}.atlas-photo{width:100%;height:100%;background-repeat:no-repeat}.hero-photo{background-image:url('/assets/images/hero-atlas.webp');background-size:200% 200%;transition:transform .6s}.hero-photo-lube{background-position:0 0}.hero-photo-dispense{background-position:100% 0}.hero-photo-elastomer{background-position:0 100%}.hero-photo-silicone{background-position:100% 100%}.system-card:hover .hero-photo{transform:scale(1.035)}.system-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,42,0) 42%,rgba(13,27,42,.8) 100%)}.system-card-dispense{grid-row:1/span 2}.system-card-silicone{position:absolute;width:210px;height:190px;left:43%;bottom:24px;z-index:3;border:6px solid white}.system-overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:white;display:flex;gap:10px}.system-overlay>span{font-size:9px;font-weight:800;color:var(--yellow)}.system-overlay b{display:block;font-size:13px}.system-overlay small{display:block;font-size:8px;color:rgba(255,255,255,.75);margin-top:4px}.system-hub{position:absolute;z-index:6;left:48%;top:46%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:50%;background:var(--yellow);display:grid;place-content:center;text-align:center;box-shadow:0 18px 45px rgba(13,27,42,.18),0 0 0 9px rgba(255,255,255,.82)}.system-hub span{font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.system-hub b{font-size:14px}
.principals{border-block:1px solid #EBF0F4;overflow:hidden}.principals-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:26px}.principals-head h2,.section-heading h2,.copy-block h2,.approach-copy h2,.contact-copy h2,.center-card h2,.rfq-guide h2{font-size:clamp(34px,4vw,56px);line-height:1.06;letter-spacing:-.052em;color:var(--navy);margin:9px 0 18px}.principals-head>p,.section-heading>p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--blue);font-size:9px;font-weight:800;margin:0}.logo-marquee{overflow:hidden;width:min(1180px,100%);margin:auto;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.logo-track{display:flex;width:max-content;animation:logo-scroll 34s linear infinite}.logo-marquee:hover .logo-track{animation-play-state:paused}.principal-slot{width:295px;height:118px;display:grid;place-items:center;padding:16px 28px;flex:none}.principal-slot img{max-width:220px;max-height:72px;width:auto;height:auto}@keyframes logo-scroll{to{transform:translateX(-50%)}}
.solutions-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}.section-intro{position:sticky;top:145px}.section-intro h2{font-size:clamp(38px,4.2vw,58px);line-height:1.05;letter-spacing:-.055em;margin:10px 0 20px}.section-intro>p,.copy-block>p,.approach-copy>p{color:var(--muted);font-size:15px;line-height:1.78}.text-link{display:inline-flex;gap:9px;align-items:center;color:var(--blue);font-size:12px;font-weight:800;text-decoration:none;margin-top:12px}.solution-list{border-top:1px solid var(--line)}.solution-row{display:grid;grid-template-columns:58px 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:.2s}.solution-row:hover{padding-left:14px;background:linear-gradient(90deg,#F7FAFD,transparent 78%)}.solution-number{width:42px;height:42px;border-radius:12px;background:#EEF5FB;color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:800}.solution-body h3{font-size:20px;margin:0 0 7px}.solution-body p{font-size:12px;color:var(--muted);margin:0}.solution-tag{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#8290A0}
.section-heading.split{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:44px}.section-heading.centered{text-align:center;max-width:860px;margin:0 auto 46px}.section-heading.centered p:last-child{max-width:620px;margin:0 auto}.industry-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:285px;gap:14px}.industry-card{position:relative;overflow:hidden;border-radius:20px;background:#DFE6ED;box-shadow:0 12px 35px rgba(13,27,42,.07);text-decoration:none}.industry-card:nth-child(1){grid-column:span 5}.industry-card:nth-child(2){grid-column:span 3}.industry-card:nth-child(3){grid-column:span 4}.industry-card:nth-child(4){grid-column:3/span 8}.industry-photo{background-image:url('/assets/images/industry-atlas.webp');background-size:200% 200%;transition:transform .55s}.industry-photo-automotive{background-position:0 0}.industry-photo-electronics{background-position:100% 0}.industry-photo-industrial{background-position:0 100%}.industry-photo-oem{background-position:100% 100%}.industry-card:hover .industry-photo{transform:scale(1.04)}.industry-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,19,34,.03) 30%,rgba(5,19,34,.86) 100%)}.industry-content{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:white}.industry-content span{font-size:9px;color:var(--yellow);font-weight:800}.industry-content h3{font-size:20px;margin:3px 0 6px}.industry-content p{font-size:10px;color:rgba(255,255,255,.78);margin:0;line-height:1.5}
.approach-grid,.about-grid,.content-split{display:grid;grid-template-columns:1fr 1fr;gap:82px;align-items:center}.content-split.reverse .image-frame{order:1}.content-split.reverse .copy-block{order:2}.approach-visual{position:relative}.approach-image{height:590px;border-radius:26px;box-shadow:var(--shadow);background:url('/assets/images/industry-atlas.webp') 0 100%/200% 200% no-repeat}.approach-badge{position:absolute;right:-20px;bottom:36px;background:var(--yellow);padding:18px 22px;border-radius:14px}.approach-badge span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.approach-badge b{font-size:14px}.process-list{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.process-list li>span{color:var(--blue);font-size:10px;font-weight:800}.process-list b{font-size:14px}.process-list p{font-size:11px;color:var(--muted);margin:4px 0 0}.section-blueprint{background:linear-gradient(rgba(30,90,168,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,168,.035) 1px,transparent 1px),#F9FBFD;background-size:40px 40px}.strength-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.strength-grid article{padding:23px;border:1px solid #DEE7EF;background:rgba(255,255,255,.9);border-radius:16px;display:flex;gap:15px;min-height:132px}.strength-icon{min-width:45px;height:45px;padding:0 8px;border-radius:12px;background:#EAF3FB;color:var(--blue);font-size:8px;font-weight:800;display:grid;place-items:center}.strength-grid b{font-size:13px}.strength-grid p{font-size:10px;color:var(--muted);line-height:1.55}
.contact-card{background:linear-gradient(125deg,#0B1B2D,#112B47 68%,#174E7E);border-radius:28px;padding:56px 60px;display:grid;grid-template-columns:1.3fr .7fr;gap:70px;color:#fff;overflow:hidden}.kicker-light{color:#9EC7EE}.contact-copy h2{color:#fff}.contact-copy>p{color:#B8C5D3}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.contact-details{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);border-radius:16px;padding:10px 24px;align-self:center}.contact-details>div{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.11)}.contact-details>div:last-child{border:0}.contact-details span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#91A7BD;font-weight:800}.contact-details a,.contact-details p{font-size:11px;color:#fff;text-decoration:none;margin:4px 0 0;line-height:1.6}
.footer{border-top:1px solid var(--line);background:#fff}.footer-main{padding:55px 0 42px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:60px}.footer-brand img{width:240px;height:auto;max-height:92px;object-fit:contain;object-position:left center}.footer-brand p{color:var(--muted);font-size:11px;line-height:1.7;max-width:320px}.footer-main h3{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#758496;margin:0 0 15px}.footer-main div>a{display:block;font-size:10px;text-decoration:none;color:#34495F;margin:8px 0}.footer-bottom{border-top:1px solid #EEF2F5;padding:18px 0 24px;display:flex;justify-content:space-between;color:#8996A4;font-size:9px}.footer-bottom a{text-decoration:none}
/* Inner pages */
.page-hero{padding:54px 0 76px;background:linear-gradient(rgba(30,90,168,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,168,.035) 1px,transparent 1px),#fff;background-size:42px 42px;border-bottom:1px solid #EDF2F6}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:9px;color:#7B8998;margin-bottom:42px}.breadcrumbs a{text-decoration:none}.breadcrumbs .sep{color:#B7C2CC}.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:78px;align-items:center}.page-hero-copy>p:not(.kicker){font-size:17px;line-height:1.75;color:var(--muted);max-width:720px}.page-hero-visual{height:390px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#E9EEF3}.page-hero-visual img{width:100%;height:100%;object-fit:cover}.page-hero-blueprint{height:390px;border-radius:24px;border:1px solid #DFE7EE;background:radial-gradient(circle at 60% 45%,rgba(30,90,168,.16),transparent 24%),linear-gradient(rgba(30,90,168,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,168,.06) 1px,transparent 1px),#F8FAFC;background-size:auto,30px 30px,30px 30px;position:relative;overflow:hidden}.page-hero-blueprint:before,.page-hero-blueprint:after{content:"";position:absolute;border:2px solid rgba(30,90,168,.18);border-radius:50%}.page-hero-blueprint:before{width:250px;height:250px;right:35px;top:70px}.page-hero-blueprint:after{width:120px;height:120px;right:100px;top:135px;border-color:rgba(255,193,7,.45)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-grid-3{grid-template-columns:repeat(3,1fr)}.feature-grid-2{grid-template-columns:repeat(2,1fr)}.feature-card{padding:28px;border:1px solid var(--line);border-radius:17px;background:#fff;min-height:230px;transition:.2s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:#C8D7E4}.feature-index{width:42px;height:42px;border-radius:12px;background:#EDF5FC;color:var(--blue);display:grid;place-items:center;font-size:9px;font-weight:800;margin-bottom:22px}.feature-card h3{font-size:18px;margin:0 0 9px}.feature-card p{font-size:11px;line-height:1.65;color:var(--muted);margin:0}.image-frame{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:380px;background:#EFF3F6}.image-frame img{width:100%;height:100%;min-height:380px;object-fit:cover}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-grid article{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff}.metric-grid b{display:block;font-size:22px;color:var(--navy);letter-spacing:-.03em}.metric-grid span{font-size:10px;color:var(--muted)}.quote-panel{padding:36px;border-radius:20px;background:var(--navy);color:white}.quote-panel>span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#9FC4E6;font-weight:800}.quote-panel ul{padding-left:19px;margin:20px 0 0}.quote-panel li{padding:8px 0;color:#D7E2EC;font-size:12px;line-height:1.5}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.media-grid-3{grid-template-columns:repeat(3,1fr)}.media-card{display:grid;grid-template-columns:240px 1fr;min-height:260px;border:1px solid var(--line);border-radius:19px;overflow:hidden;background:#fff;text-decoration:none}.media-card>img{width:100%;height:100%;object-fit:cover}.media-card>div{padding:28px}.media-card h3{font-size:20px;margin:7px 0 10px}.media-card p{font-size:11px;line-height:1.65;color:var(--muted)}.media-card.compact{display:block}.media-card.compact>img{height:210px}.media-card.compact>div{padding:24px}.principal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.principal-card{border:1px solid var(--line);border-radius:18px;padding:26px;background:#fff;text-decoration:none;min-height:360px;transition:.2s}.principal-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.principal-logo-box{height:100px;display:grid;place-items:center;margin-bottom:20px}.principal-logo-box img{max-height:65px;max-width:210px}.principal-card h3{font-size:20px;margin:8px 0}.principal-card p{font-size:11px;color:var(--muted);line-height:1.65}.principal-detail-logo{height:100px;display:flex;align-items:center;margin-bottom:24px}.principal-detail-logo img{max-height:78px;max-width:280px}.link-stack{display:grid;gap:10px}.link-tile{padding:22px 24px;border:1px solid var(--line);border-radius:14px;display:flex;justify-content:space-between;text-decoration:none;font-size:12px;font-weight:700}.link-tile b{color:var(--blue)}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resource-card{border:1px solid var(--line);border-radius:16px;padding:24px;display:grid;grid-template-columns:56px 1fr;gap:18px;text-decoration:none;background:#fff}.resource-icon{width:54px;height:54px;border-radius:13px;background:#EEF5FB;color:var(--blue);display:grid;place-items:center;font-size:9px;font-weight:800}.resource-card h3{font-size:16px;margin:0 0 7px}.resource-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 10px}.resource-card b{font-size:10px;color:var(--blue)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.video-card{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff}.video-frame{aspect-ratio:16/9;background:#0C1A29}.video-frame iframe{width:100%;height:100%;border:0}.video-card h3{font-size:13px;padding:15px 17px 18px;margin:0}.role-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-list>div{border:1px solid var(--line);border-radius:13px;padding:17px;display:flex;gap:13px;align-items:center}.role-list span{font-size:9px;color:var(--blue);font-weight:800}.role-list b{font-size:12px}.center-card{text-align:center;max-width:820px;margin:auto;padding:50px;border:1px solid var(--line);border-radius:22px;background:#fff}.center-card p{color:var(--muted);font-size:13px}.contact-page-grid,.rfq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.contact-info h2{font-size:46px;letter-spacing:-.05em}.contact-list{border-top:1px solid var(--line)}.contact-list>div{padding:18px 0;border-bottom:1px solid var(--line)}.contact-list span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#7D8B9A;font-weight:800}.contact-list p,.contact-list a{display:block;font-size:12px;line-height:1.65;text-decoration:none;margin:5px 0;color:var(--text)}.enquiry-form{border:1px solid var(--line);border-radius:20px;padding:34px;background:#fff;box-shadow:0 12px 35px rgba(13,27,42,.05)}.enquiry-form label{display:grid;gap:7px;font-size:10px;font-weight:700;color:#40536A;margin-bottom:17px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;border:1px solid #CED9E2;border-radius:10px;padding:12px 13px;font:inherit;background:#FBFCFD;color:var(--text)}.enquiry-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-hp{position:absolute;left:-9999px}.enquiry-form small,.form-note{font-size:9px;color:#7C8997}.rfq-guide ol{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--line)}.rfq-guide li{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:130px 1fr;gap:16px}.rfq-guide b{font-size:12px}.rfq-guide span{font-size:11px;color:var(--muted);line-height:1.6}.legal-copy{max-width:900px}.legal-copy h2{font-size:24px;margin:36px 0 8px}.legal-copy p{font-size:13px;color:var(--muted);line-height:1.8}.status-page{padding:110px 0}.status-card{max-width:760px;margin:auto;text-align:center;padding:60px;border:1px solid var(--line);border-radius:24px}.status-card h1{font-size:52px;letter-spacing:-.05em;margin:10px 0}.status-card p{color:var(--muted);line-height:1.7}.status-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#EAF7EF;color:#21844A;font-size:28px;margin:0 auto 22px}.status-code{font-size:80px;font-weight:800;color:#DCE6EF;letter-spacing:-.07em}
.reveal{opacity:1}.reveal-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}.reveal-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1160px){.desktop-nav{gap:17px}.nav-wrap{grid-template-columns:225px 1fr auto}.brand,.brand img{width:210px}.hero-grid{grid-template-columns:1fr 1fr;gap:45px}.principal-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.media-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.utility-inner{justify-content:center}.utility-inner>p{display:none}.nav-wrap{height:80px;grid-template-columns:1fr auto}.brand,.brand img{width:205px}.desktop-nav,.nav-cta{display:none}.menu-button{display:grid}.hero-grid,.page-hero-grid,.solutions-layout,.approach-grid,.about-grid,.content-split,.contact-page-grid,.rfq-grid{grid-template-columns:1fr;gap:48px}.section-intro{position:static}.hero-system{min-height:540px}.system-grid{height:540px}.principals-head,.section-heading.split{grid-template-columns:1fr;gap:16px}.industry-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}.industry-card:nth-child(n){grid-column:auto}.page-hero-visual,.page-hero-blueprint{height:330px}.footer-main{grid-template-columns:1.3fr 1fr 1fr}.footer-main>div:last-child{grid-column:2/span 2}.media-card{grid-template-columns:210px 1fr}.video-grid{grid-template-columns:repeat(2,1fr)}.resource-grid{grid-template-columns:1fr}.content-split.reverse .image-frame,.content-split.reverse .copy-block{order:initial}}
@media(max-width:650px){.container{width:min(calc(100% - 30px),var(--container))}.section{padding:76px 0}.section-tight{padding:44px 0 50px}.utility-contact{font-size:10px}.utility-contact span:nth-of-type(2),.utility-contact span:last-child{display:none}.nav-wrap{height:74px}.brand,.brand img{width:184px}.hero{padding:40px 0 50px}.hero h1,.page-hero h1{font-size:clamp(40px,11.5vw,55px)}.hero-lead,.page-hero-copy>p:not(.kicker){font-size:15px}.hero-pills{display:grid;grid-template-columns:1fr 1fr}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-proof{grid-template-columns:1fr 1fr;gap:12px}.hero-proof div+div{border-left:0;padding-left:0}.hero-proof div:nth-child(even){border-left:1px solid var(--line);padding-left:12px}.hero-system{min-height:500px}.system-grid{height:500px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.system-card-dispense{grid-row:auto}.system-card-silicone{position:relative;width:auto;height:auto;left:auto;bottom:auto;border:0}.system-hub{width:96px;height:96px;left:50%;top:50%}.system-overlay{left:11px;bottom:11px}.system-overlay small{display:none}.principal-slot{width:225px;height:100px;padding:15px 25px}.principal-slot img{max-width:175px;max-height:58px}.section-intro h2,.principals-head h2,.section-heading h2,.copy-block h2,.approach-copy h2,.contact-copy h2,.center-card h2,.rfq-guide h2{font-size:36px}.solution-row{grid-template-columns:44px 1fr;gap:13px}.solution-tag{display:none}.industry-grid{grid-template-columns:1fr;grid-auto-rows:290px}.strength-grid,.feature-grid,.feature-grid-3,.feature-grid-2,.principal-grid,.media-grid,.media-grid-3,.video-grid,.metric-grid,.role-list{grid-template-columns:1fr}.contact-card{width:calc(100% - 30px);padding:36px 23px;grid-template-columns:1fr;gap:28px}.footer-main{grid-template-columns:1fr 1fr;gap:36px 28px}.footer-brand{grid-column:1/-1}.footer-main>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:5px}.page-hero{padding:36px 0 60px}.breadcrumbs{margin-bottom:28px}.page-hero-grid{gap:32px}.page-hero-visual,.page-hero-blueprint{height:260px}.media-card{display:block}.media-card>img{height:210px}.form-row{grid-template-columns:1fr}.enquiry-form{padding:23px}.rfq-guide li{grid-template-columns:1fr;gap:5px}.status-card{padding:38px 24px}.status-card h1{font-size:40px}.approach-badge{right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-track{animation:none}.reveal{opacity:1!important;transform:none!important;transition:none!important}.button,.hero-photo,.industry-photo{transition:none}}


/* v1.1.0 enterprise mega navigation + responsive hardening */
.mega-site-header{position:sticky;top:0;z-index:1000;overflow:visible}
.mega-desktop-nav{display:flex;align-items:stretch;gap:0;margin-left:auto}
.nav-item{display:flex;align-items:stretch;position:static}
.mega-trigger,.nav-direct{font:inherit;color:var(--navy,#0D1B2A);background:none;border:0;padding:0 13px;min-height:70px;display:flex;align-items:center;gap:6px;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}
.mega-trigger:hover,.mega-trigger:focus-visible,.nav-direct:hover,.nav-direct:focus-visible{color:var(--blue,#1E5AA8)}
.nav-chevron{font-size:15px;transition:transform .2s ease}
.mega-trigger[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}
.mega-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e2e8f0;border-bottom:1px solid #d8e2ef;box-shadow:0 24px 48px rgba(13,27,42,.12);z-index:1100}
.mega-panel[hidden]{display:none!important}
.mega-inner{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,2fr);gap:36px;padding-top:32px;padding-bottom:34px}
.mega-intro{border-right:1px solid #e1e8f0;padding-right:34px}
.mega-intro h2{font-size:clamp(22px,2vw,31px);line-height:1.15;margin:8px 0 18px}
.mega-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f2f7fd;color:#1E5AA8;font-weight:800}
.mega-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px}
.mega-col p{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;color:#5a6d82;margin:0 0 10px}
.mega-col a{display:flex;justify-content:space-between;gap:10px;color:#172b42;text-decoration:none;padding:9px 0;border-bottom:1px solid #eef2f6;font-size:13px;font-weight:600}
.mega-col a:hover,.mega-col a:focus-visible{color:#1E5AA8}
.mega-col a span{opacity:.45}
.mobile-accordion{border-bottom:1px solid #dfe7ef}
.mobile-accordion-trigger{width:100%;min-height:54px;background:none;border:0;padding:0;display:flex;justify-content:space-between;align-items:center;font:inherit;font-weight:800;color:#0D1B2A;text-align:left}
.mobile-accordion-panel{padding:0 0 14px}
.mobile-accordion-panel[hidden]{display:none!important}
.mobile-nav-group{padding:8px 0}
.mobile-nav-group p{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#718096;margin:0 0 5px}
.mobile-nav-group a,.mobile-direct{display:block;padding:9px 0!important;font-weight:600!important;border:0!important}
.mobile-rfq{margin-top:18px}
.footer-hours{font-size:12px!important;color:#6f8193!important}
@media (max-width:1180px){.mega-trigger,.nav-direct{padding:0 8px;font-size:12px}.nav-cta{padding-left:14px!important;padding-right:14px!important}.mega-inner{grid-template-columns:210px 1fr}}
@media (max-width:980px){.mega-desktop-nav{display:none!important}.mega-panel{display:none!important}.mega-site-header{overflow:visible}.mobile-menu-inner{max-height:calc(100vh - 105px);overflow-y:auto;padding-bottom:28px}}
@media (max-width:680px){.utility-inner>p{display:none}.utility-contact{width:100%;justify-content:center;gap:7px;font-size:10px}.utility-contact span:last-child{display:none}.nav-wrap{min-height:68px}.brand{max-width:166px}.page-hero{padding-top:22px}.page-hero-grid{gap:24px}.page-hero-copy h1{font-size:clamp(34px,10vw,48px)}.feature-grid-3{grid-template-columns:1fr!important}.content-split,.content-split.reverse{grid-template-columns:1fr!important}.image-frame{min-height:260px}.image-frame img{width:100%;height:100%;object-fit:cover}.contact-page-grid,.rfq-grid{grid-template-columns:1fr!important}.footer-main{grid-template-columns:1fr 1fr!important}.footer-brand{grid-column:1/-1}.footer-brand img{max-width:210px}.contact-card{padding:26px!important}.hero-proof{grid-template-columns:1fr 1fr!important}}
@media (max-width:390px){.footer-main{grid-template-columns:1fr!important}.footer-brand{grid-column:auto}.utility-contact a:first-child{max-width:160px;overflow:hidden;text-overflow:ellipsis}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{justify-content:center;width:100%}.mobile-menu-inner{padding-left:18px;padding-right:18px}}
@media (prefers-reduced-motion:reduce){.nav-chevron{transition:none}.mega-panel{scroll-behavior:auto}}


/* v1.2.0 final visual and accessibility hardening */
:focus-visible{outline:3px solid rgba(30,90,168,.38);outline-offset:3px}
body.menu-open{overflow:hidden}
.hero-proof span{font-size:10.5px;line-height:1.45}.system-overlay>span{font-size:10px}.system-overlay small{font-size:10px}.system-hub span{font-size:9.5px}.kicker{font-size:10px}.solution-tag{font-size:10px}.industry-content span{font-size:10px}.industry-content p{font-size:11px}.approach-badge span{font-size:9px}.process-list p{font-size:12px}.strength-icon{font-size:9px}.strength-grid p{font-size:11px}.contact-details span{font-size:9px}.contact-details a,.contact-details p{font-size:12px}.footer-brand p{font-size:12px}.footer-main h3{font-size:11px}.footer-main div>a{font-size:11px}.footer-bottom{font-size:10px}.breadcrumbs{font-size:10px}.feature-index{font-size:10px}.feature-card p{font-size:12px}.metric-grid span{font-size:11px}.quote-panel>span{font-size:10px}.media-card p{font-size:12px}.principal-card p{font-size:12px}.resource-icon{font-size:10px}.resource-card p,.resource-card b{font-size:11px}.role-list span{font-size:10px}.contact-list span{font-size:9px}.enquiry-form small,.form-note{font-size:10px}
/* Show every represented principal instead of hiding half of the set in a marquee animation. */
.logo-marquee{width:100%;max-width:none;overflow:visible;mask-image:none}.logo-track{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;width:100%;animation:none}.principal-slot{width:auto;height:104px;padding:14px 16px;border:1px solid #eef2f6;border-radius:16px;background:#fff}.principal-slot img{max-width:145px;max-height:56px}
/* Evidence and document-like imagery must not be destructively cropped. */
.credential-visual,.evidence-frame{background:#f8fafc}.credential-visual img,.evidence-frame img{object-fit:contain!important;padding:18px;background:#fff}.credential-evidence{width:min(calc(100% - 48px),var(--container));margin:0 auto 90px;display:grid;grid-template-columns:minmax(320px,.9fr) 1fr;gap:48px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:28px;background:#f8fafc}.credential-evidence-image{border-radius:16px;overflow:hidden;background:white}.credential-evidence-image img{width:100%;height:auto}.credential-evidence-copy h2{font-size:clamp(32px,3.2vw,48px);line-height:1.05;letter-spacing:-.045em;margin:10px 0 16px}.credential-evidence-copy>p:not(.kicker){font-size:14px;line-height:1.7;color:var(--muted)}
/* Tablet navigation must never enter a dead zone. */
@media(max-width:1080px){.mega-desktop-nav,.desktop-nav{display:none!important}.mega-panel{display:none!important}.nav-cta{display:none!important}.menu-button{display:grid!important}.nav-wrap{grid-template-columns:1fr auto!important}.mobile-menu-inner{max-height:calc(100vh - 112px);overflow-y:auto;padding-bottom:28px}}
@media(min-width:1081px){.menu-button,.mobile-menu{display:none!important}.mega-desktop-nav{display:flex!important}}
@media(max-width:920px){.logo-track{grid-template-columns:repeat(4,minmax(0,1fr))}.credential-evidence{grid-template-columns:1fr;margin-bottom:70px}}
@media(max-width:650px){.logo-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.principal-slot{height:88px;padding:12px}.principal-slot img{max-width:135px;max-height:48px}.credential-evidence{width:min(calc(100% - 30px),var(--container));padding:20px;gap:24px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{font-size:16px}.mobile-accordion-trigger,.mobile-nav-group a,.mobile-direct{min-height:44px}.page-hero-copy h1{line-height:1.02}.page-hero-copy>p:not(.kicker){line-height:1.65}}

/* v1.2.0 final accessibility and interaction polish */
.utility-contact a{display:inline-flex;align-items:center;min-height:32px;padding:0 2px}
.text-link{min-height:32px;padding:6px 0}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:28px;padding:4px 1px}
.footer-main div>a{min-height:28px;margin:1px 0;padding:7px 0;display:flex;align-items:center}
.footer-bottom a{display:inline-flex;align-items:center;min-height:28px;padding:5px 0}
.strength-icon{font-size:10px}
.system-hub span{font-size:10px}
.contact-details span,.contact-list span{font-size:10px}
@media(max-width:650px){
  .utility-bar{font-size:11px}
  .utility-contact{font-size:11px}
  .footer-main div>a{font-size:12px;min-height:32px}
  .footer-bottom{font-size:11px}
  .breadcrumbs{font-size:11px}
  .breadcrumbs a{min-height:30px}
  .text-link{min-height:36px}
  .mobile-nav-group a{min-height:44px;display:flex;align-items:center}
}

/* v1.2.0 final industry-image relevance */
.industry-photo{background-size:cover;background-position:center}
.industry-photo-automotive{background-image:url('/assets/images/automotive-interior.webp')}
.industry-photo-electronics{background-image:url('/assets/images/dispense-controller.webp')}
.industry-photo-industrial{background-image:url('/assets/images/graco-pumps.webp')}
.industry-photo-oem{background-image:url('/assets/images/dispensing-system.webp')}


/* v1.3 content + IA */
@media(min-width:1081px){
  .mega-desktop-nav{gap:2px;align-items:center}
  .nav-item{position:relative;align-items:center}
  .mega-trigger,.nav-direct{min-height:68px;padding:0 11px;font-size:13px;white-space:nowrap}
  .mega-panel{left:50%;right:auto;top:calc(100% - 3px);transform:translateX(-50%);width:min(900px,calc(100vw - 40px));border:1px solid #dce5ef;border-top:3px solid var(--yellow);border-radius:0 0 18px 18px;box-shadow:0 22px 55px rgba(13,27,42,.14);overflow:hidden}
  .mega-panel-compact{width:min(660px,calc(100vw - 40px))}
  .mega-inner{display:block;padding:22px 24px 26px}
  .mega-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #e8edf3}
  .mega-topline strong{font-size:15px;color:var(--navy)}
  .mega-topline a{font-size:12px;font-weight:800;color:var(--blue);text-decoration:none;padding:0}
  .mega-topline a:after{display:none}
  .mega-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px}
  .mega-panel-compact .mega-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mega-col p{margin:0 0 7px;font-size:10px;color:#66798c}
  .mega-col a{padding:8px 0;font-size:12.5px;align-items:center}
  .mega-col a span{opacity:1}
  .mega-col a b{font-weight:500;opacity:.4}
}
.mobile-overview{display:block!important;color:var(--blue)!important;font-size:13px;font-weight:800!important;padding:12px 0!important;border-bottom:1px solid #e8edf3!important}
.customer-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:30px}
.customer-logo-tile{min-height:120px;background:#fff;border:1px solid #e4eaf1;border-radius:14px;display:grid;place-items:center;padding:17px;box-shadow:0 5px 18px rgba(13,27,42,.035);transition:transform .2s,box-shadow .2s,border-color .2s}
.customer-logo-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,27,42,.07);border-color:#ccd9e7}
.customer-logo-tile img{width:100%;max-width:180px;height:68px;object-fit:contain;filter:saturate(.92)}
.customer-logo-grid-selected{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:24px}
.customer-logo-grid-selected .customer-logo-tile{min-height:105px}
.section-footer-link{display:flex;justify-content:center;margin-top:28px}
.process-list{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}
.process-list>div{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.process-list span{font-weight:800;color:var(--blue);font-size:12px;letter-spacing:.08em}
.process-list p{margin:0;color:#52657a}
.process-list b{color:var(--navy)}
@media(max-width:980px){.customer-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-logo-grid-selected{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.customer-logo-grid,.customer-logo-grid-selected{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-logo-tile{min-height:96px;padding:12px}.customer-logo-tile img{height:56px}.process-list>div{grid-template-columns:38px 1fr}.mobile-menu-inner>.mobile-direct{display:flex;align-items:center;font-weight:800}}


/* v1.3 final IA spacing */
@media(max-width:1240px){
  .mega-desktop-nav,.desktop-nav{display:none!important}
  .mega-panel{display:none!important}
  .nav-cta{display:none!important}
  .menu-button{display:grid!important}
  .nav-wrap{grid-template-columns:1fr auto!important}
  .mobile-menu-inner{max-height:calc(100vh - 112px);overflow-y:auto;padding-bottom:28px}
}
@media(min-width:1241px){
  .menu-button,.mobile-menu{display:none!important}
  .mega-desktop-nav{display:flex!important;gap:7px!important}
  .mega-trigger,.nav-direct{padding-left:9px!important;padding-right:9px!important;font-size:12.5px!important}
}


/* v1.3 page-sense visual relevance */
.principal-hero-mark{min-height:360px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fff,#f6f9fc);display:grid;place-items:center;padding:54px;position:relative;overflow:hidden}
.principal-hero-mark:before{content:"";position:absolute;inset:22px;border:1px solid rgba(30,90,168,.10);border-radius:16px}
.principal-hero-mark:after{content:"";position:absolute;width:180px;height:4px;left:50%;bottom:38px;transform:translateX(-50%);background:var(--yellow);border-radius:99px}
.principal-hero-mark img{max-width:320px;max-height:125px;width:78%;height:auto;object-fit:contain;position:relative;z-index:1}
.media-context-panel{min-height:205px;background:linear-gradient(145deg,#0d1b2a,#15375d);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:white;position:relative;overflow:hidden}
.media-context-panel:before,.media-context-panel:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.media-context-panel:before{width:190px;height:190px;right:-55px;top:-70px}.media-context-panel:after{width:110px;height:110px;right:20px;top:-20px}
.media-context-panel span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#a9c7e8;font-weight:800}.media-context-panel strong{font-size:18px;line-height:1.25;margin-top:8px;max-width:290px}
.location-facts{border:1px solid var(--line);border-radius:20px;background:#fff;padding:12px 28px;box-shadow:0 14px 34px rgba(13,27,42,.05)}
.location-facts>div{padding:18px 0;border-bottom:1px solid var(--line)}.location-facts>div:last-child{border-bottom:0}.location-facts span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--blue);margin-bottom:7px}.location-facts p{margin:0;color:#42566b;line-height:1.6}
.achievement-fact-panel{min-height:300px;border-radius:22px;background:linear-gradient(145deg,#0d1b2a,#1e5aa8);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px;position:relative;overflow:hidden}
.achievement-fact-panel:after{content:"";position:absolute;width:190px;height:190px;border:34px solid rgba(255,193,7,.15);border-radius:50%;right:-65px;bottom:-75px}.achievement-fact-panel span{font-size:52px;line-height:1;font-weight:800;color:var(--yellow)}.achievement-fact-panel strong{font-size:25px;margin-top:14px}.achievement-fact-panel p{margin:6px 0 0;color:#d8e5f3}
.resource-context-panel{min-height:270px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#f9fbfd,#eef4f9);padding:40px;display:flex;flex-direction:column;justify-content:center}.resource-context-panel span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}.resource-context-panel strong{font-size:25px;line-height:1.25;color:var(--navy);margin:10px 0}.resource-context-panel p{margin:0;color:#53677c;line-height:1.65}
@media(max-width:700px){.principal-hero-mark{min-height:260px;padding:35px}.principal-hero-mark img{max-width:240px}.achievement-fact-panel{min-height:240px;padding:34px}.achievement-fact-panel span{font-size:42px}.resource-context-panel{min-height:220px;padding:30px}}

/* v1.3 catalog overview groups */
.catalog-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.catalog-group{border:1px solid var(--line);border-radius:19px;background:#fff;padding:28px;box-shadow:0 10px 28px rgba(13,27,42,.055);min-width:0}
.catalog-group .kicker{margin-bottom:8px}.catalog-group h3{font-size:21px;margin:0 0 10px;letter-spacing:-.02em}.catalog-group>p:not(.kicker){font-size:11px;line-height:1.65;color:var(--muted);margin:0}
.catalog-links{margin-top:21px;border-top:1px solid var(--line)}
.catalog-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;text-decoration:none;color:var(--navy)}
.catalog-links a:last-child{border-bottom:0}.catalog-links a b{color:var(--blue);font-size:13px;transition:transform .2s}.catalog-links a:hover b{transform:translateX(3px)}
@media(max-width:980px){.catalog-group-grid{grid-template-columns:1fr}.catalog-group{padding:24px}.catalog-links a{min-height:44px}}

/* v1.3 final navigation breakpoint correction: when compact navigation is active,
   the opened mobile menu must override the earlier desktop-only hide rule. */
@media(max-width:1240px){
  .mega-site-header .mobile-menu:not([hidden]){display:block!important}
}


/* v1.4.0 technical authority + conversion UX */
.technical-page-hero .page-hero-grid{align-items:stretch}
.technical-hero-visual{min-height:390px;border-radius:22px;background:radial-gradient(circle at 50% 45%,#214f80 0,#0d1b2a 62%,#08131f 100%);display:grid;place-items:center;overflow:hidden;position:relative;border:1px solid rgba(30,90,168,.22);box-shadow:var(--shadow-soft)}
.technical-hero-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,#000,transparent)}
.tech-orbit{width:270px;height:270px;border:1px solid rgba(255,255,255,.25);border-radius:50%;position:relative;display:grid;place-items:center;color:#fff;z-index:2}.tech-orbit:before,.tech-orbit:after{content:"";position:absolute;border:1px dashed rgba(255,193,7,.35);border-radius:50%}.tech-orbit:before{width:205px;height:205px}.tech-orbit:after{width:120px;height:120px}.tech-orbit strong{width:112px;height:112px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-content:center;text-align:center;font-size:15px;line-height:1.2;z-index:3;box-shadow:0 18px 42px rgba(0,0,0,.24)}.tech-orbit>span{position:absolute;padding:6px 9px;border-radius:999px;background:#fff;color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.04em;box-shadow:0 8px 20px rgba(0,0,0,.15)}.tech-orbit>span:nth-child(1){top:-10px;left:50%;transform:translateX(-50%)}.tech-orbit>span:nth-child(2){right:-24px;top:50%;transform:translateY(-50%)}.tech-orbit>span:nth-child(3){bottom:-10px;left:50%;transform:translateX(-50%)}.tech-orbit>span:nth-child(4){left:-22px;top:50%;transform:translateY(-50%)}
.process-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}.process-node{padding:26px 22px;min-height:150px;position:relative}.process-node+.process-node{border-left:1px solid var(--line)}.process-node:not(:last-child):after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--navy);font-size:11px;font-weight:900;z-index:2}.process-node span{display:block;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em}.process-node b{display:block;color:var(--navy);font-size:16px;margin:17px 0 7px}.process-node small{display:block;color:var(--muted);font-size:10px;line-height:1.55}
.related-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.related-link{min-height:120px;padding:24px;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:#fff;display:grid;grid-template-columns:1fr auto;align-content:center;gap:8px;transition:.2s}.related-link span{grid-column:1/-1;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}.related-link strong{font-size:15px}.related-link b{color:var(--blue)}.related-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:#c4d4e3}
.application-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.application-library-card{padding:24px 26px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none;display:grid;grid-template-columns:44px 1fr auto;gap:18px;align-items:start;transition:.2s}.application-library-card>span{width:40px;height:40px;border-radius:12px;background:#eef5fb;color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:800}.application-library-card h3{margin:6px 0 8px;font-size:18px}.application-library-card p:not(.kicker){margin:0;color:var(--muted);font-size:11px;line-height:1.65}.application-library-card>b{align-self:center;color:var(--blue)}.application-library-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:#c7d7e5}
.decision-stack{border-top:1px solid var(--line)}.decision-stack>div{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.decision-stack span{color:var(--blue);font-size:11px;font-weight:800}.decision-stack b{font-size:15px}.decision-stack p{grid-column:2;margin:0;color:var(--muted);font-size:11px}
.application-note-section{background:linear-gradient(180deg,#fff,#f7fafc)}.application-note-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.application-note-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;min-height:190px;display:flex;flex-direction:column;transition:.2s}.application-note-card>span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--blue);font-weight:800}.application-note-card h3{font-size:17px;margin:13px 0 8px}.application-note-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.application-note-card b{margin-top:auto;padding-top:18px;font-size:10px;color:var(--blue)}.application-note-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.technical-library-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.technical-library-preview a{min-height:112px;border:1px solid var(--line);border-radius:15px;background:#fff;text-decoration:none;padding:20px;display:grid;grid-template-columns:34px 1fr;gap:5px 12px;align-content:center}.technical-library-preview span{grid-row:1/3;width:32px;height:32px;border-radius:9px;background:#eef5fb;color:var(--blue);display:grid;place-items:center;font-size:9px;font-weight:800}.technical-library-preview b{font-size:13px}.technical-library-preview small{font-size:9px;color:var(--muted)}
.solution-finder{overflow:hidden}.finder-shell{display:grid;grid-template-columns:.72fr 1.28fr;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft)}.finder-options{padding:22px;background:#f7fafc;display:grid;gap:7px;border-right:1px solid var(--line)}.finder-option{text-align:left;border:1px solid transparent;background:transparent;border-radius:11px;padding:15px 16px;font:inherit;font-size:11px;font-weight:700;color:#465a70;cursor:pointer}.finder-option:hover{background:#fff}.finder-option.is-active{background:var(--navy);color:#fff;box-shadow:0 10px 25px rgba(13,27,42,.12)}.finder-results{padding:42px}.finder-result>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}.finder-result h3{font-size:30px;letter-spacing:-.035em;margin:10px 0 12px;color:var(--navy)}.finder-result p{max-width:620px;color:var(--muted);font-size:13px;line-height:1.75}.finder-result>div{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px}.finder-result a{font-size:11px;font-weight:800;color:var(--blue);text-decoration:none}
.application-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.application-media-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(13,27,42,.05)}.application-media-card img{width:100%;height:220px;object-fit:cover;background:#eef2f5}.application-media-card div{padding:22px}.application-media-card h3{font-size:17px;margin:0 0 8px}.application-media-card p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}
.technical-bridge-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#f8fbfd 0,#fff 55%,#fff8dc 100%);padding:48px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;box-shadow:var(--shadow-soft)}.technical-bridge-card h2{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.05em;margin:10px 0 16px;color:var(--navy)}.technical-bridge-card p{color:var(--muted);font-size:13px;line-height:1.75;max-width:650px}.technical-bridge-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.technical-bridge-metrics div{padding:28px 16px;text-align:center}.technical-bridge-metrics div+div{border-left:1px solid var(--line)}.technical-bridge-metrics strong{display:block;font-size:34px;color:var(--blue);letter-spacing:-.05em}.technical-bridge-metrics span{display:block;margin-top:7px;font-size:9px;line-height:1.4;color:var(--muted)}
@media(max-width:1000px){.process-flow{grid-template-columns:1fr}.process-node{min-height:0}.process-node+.process-node{border-left:0;border-top:1px solid var(--line)}.process-node:not(:last-child):after{right:auto;left:50%;top:auto;bottom:-12px;transform:translateX(-50%) rotate(90deg)}.application-library-grid,.related-link-grid,.application-note-grid,.application-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finder-shell{grid-template-columns:1fr}.finder-options{grid-template-columns:repeat(3,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--line)}.technical-bridge-card{grid-template-columns:1fr;gap:32px}.technical-library-preview{grid-template-columns:1fr}}
@media(max-width:650px){.technical-hero-visual{min-height:300px}.tech-orbit{width:215px;height:215px}.tech-orbit:before{width:165px;height:165px}.tech-orbit:after{width:100px;height:100px}.tech-orbit strong{width:94px;height:94px;font-size:12px}.application-library-grid,.related-link-grid,.application-note-grid,.application-media-grid{grid-template-columns:1fr}.application-library-card{grid-template-columns:38px 1fr auto;padding:20px}.finder-options{grid-template-columns:1fr 1fr;padding:14px}.finder-results{padding:28px 22px}.finder-result h3{font-size:24px}.technical-bridge-card{padding:30px 24px}.technical-bridge-metrics{grid-template-columns:1fr}.technical-bridge-metrics div+div{border-left:0;border-top:1px solid var(--line)}.application-media-card img{height:190px}}

/* v1.5.0 visual depth + engineering navigation */
:root{--section-space:78px;--map-blue:#1769aa}
.section{padding:var(--section-space) 0}.section-tight{padding:48px 0 54px}
.page-hero{padding:32px 0 48px}.breadcrumbs{margin-bottom:24px}.page-hero-grid{gap:52px}.hero h1,.page-hero h1{font-size:clamp(44px,4.6vw,66px)}.page-hero-copy>p:not(.kicker){font-size:15px;line-height:1.7}.page-hero-visual,.page-hero-blueprint,.principal-hero-mark,.engineering-hero-card{height:300px;min-height:300px}.page-hero-visual img{height:100%}.principal-hero-mark{padding:38px}.principal-hero-mark:after{bottom:28px}.principal-hero-mark img{max-height:100px;max-width:290px}
.hero{padding:52px 0}.hero-system,.system-grid{min-height:500px;height:500px}
/* Restore the flowing principal marquee: four marks visible on desktop, two-ish on mobile. */
.principals-head{grid-template-columns:1fr auto;align-items:end}.principals-explore{font-size:12px;font-weight:800;color:var(--blue);text-decoration:none;margin-bottom:20px}.logo-marquee{overflow:hidden!important;max-width:1180px!important;margin:auto!important;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)!important}.logo-track{display:flex!important;grid-template-columns:none!important;gap:0!important;width:max-content!important;animation:logo-scroll-v15 30s linear infinite!important}.principal-slot{width:295px!important;height:106px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;padding:16px 28px!important}.principal-slot img{max-width:205px!important;max-height:66px!important}.logo-marquee:hover .logo-track{animation-play-state:paused!important}@keyframes logo-scroll-v15{to{transform:translateX(-50%)}}
/* Engineering mega menus */
.nav-wrap{grid-template-columns:250px 1fr auto;gap:22px}.mega-desktop-nav{gap:0}.mega-trigger,.nav-direct{min-height:72px;padding:0 10px;font-size:12px}.mega-panel{background:rgba(255,255,255,.985);border-top:1px solid #e0e8f0;border-bottom:1px solid #d5e0e9;box-shadow:0 26px 70px rgba(13,27,42,.16);backdrop-filter:blur(18px)}.mega-shell{display:grid;grid-template-columns:310px 1fr;gap:30px;padding-top:24px;padding-bottom:28px}.mega-feature{border-radius:18px;padding:25px;background:linear-gradient(145deg,#0d2034,#15395b);color:#fff;min-height:260px;position:relative;overflow:hidden}.mega-feature:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-70px;bottom:-70px}.mega-feature-icon,.mega-icon{display:grid;place-items:center}.mega-feature-icon{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.1);color:var(--yellow)}.mega-feature-icon svg,.mega-icon svg{width:23px;height:23px}.mega-feature .kicker{color:#a8cdf0;margin-top:24px}.mega-feature h2{font-size:28px;line-height:1.08;letter-spacing:-.045em;margin:7px 0 12px}.mega-feature>p{font-size:11px;line-height:1.65;color:#c8d8e7;max-width:245px}.mega-feature>a{display:inline-flex;margin-top:14px;color:#fff;text-decoration:none;font-size:11px;font-weight:800;gap:8px}.mega-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mega-group>p{margin:0 0 9px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800;color:#6b7f92}.mega-card{position:relative;display:grid!important;grid-template-columns:36px 1fr 18px;align-items:center;gap:10px;padding:9px 8px!important;border:1px solid transparent!important;border-radius:11px;text-decoration:none!important;min-height:56px}.mega-card:hover,.mega-card:focus-visible{background:#f4f8fb;border-color:#dfe9f2!important;color:var(--blue)!important}.mega-icon{width:34px;height:34px;border-radius:9px;background:#eef5fb;color:var(--blue)}.mega-icon svg{width:18px;height:18px}.mega-card-copy b{display:block;font-size:11px;line-height:1.25}.mega-card-copy small{display:block;font-size:8.5px;line-height:1.35;color:#7a8998;margin-top:3px}.mega-arrow{font-size:11px;color:#93a4b5}.nav-contact{padding-left:12px}.mega-panel .kicker{font-size:9px}
/* Hero technical card replaces empty orbital blueprints. */
.engineering-hero-card{border:1px solid #dbe6ef;border-radius:21px;background:linear-gradient(rgba(30,90,168,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,168,.045) 1px,transparent 1px),linear-gradient(135deg,#f8fbfd,#fff);background-size:28px 28px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;box-shadow:0 16px 45px rgba(13,27,42,.06)}.engineering-hero-head{display:flex;align-items:center;gap:13px}.engineering-hero-icon{width:48px;height:48px;border-radius:13px;background:#eaf3fb;color:var(--blue);display:grid;place-items:center}.engineering-hero-icon svg{width:25px;height:25px}.engineering-hero-head small{display:block;font-size:8px;letter-spacing:.13em;color:#6b8094;font-weight:800}.engineering-hero-head b{font-size:15px;color:var(--navy)}.engineering-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.engineering-node{border:1px solid #dfe8ef;border-radius:12px;background:rgba(255,255,255,.9);padding:15px}.engineering-node span{display:block;font-size:8px;color:var(--blue);font-weight:800}.engineering-node b{display:block;font-size:10px;margin-top:8px}
/* Visual depth without bloating pages. */
.page-story-band{background:#f6f9fb;border-block:1px solid #e8eef3}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.story-card{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(13,27,42,.05)}.story-card>img,.story-tech-visual{height:190px;width:100%;object-fit:cover}.story-tech-visual{display:grid;place-items:center;background:linear-gradient(rgba(30,90,168,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,168,.055) 1px,transparent 1px),#f7fafc;background-size:24px 24px;color:var(--blue)}.story-tech-visual svg{width:58px;height:58px}.story-card>div:not(.story-tech-visual){padding:19px 20px 22px}.story-card h3{font-size:15px;margin:0 0 7px}.story-card p{font-size:10.5px;line-height:1.6;color:var(--muted);margin:0}
/* Principal pages */
.principal-depth{background:#f7f9fb}.principal-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:16px}.principal-media-card{border-radius:17px;overflow:hidden;background:#fff;border:1px solid var(--line)}.principal-media-card img{width:100%;height:210px;object-fit:cover}.principal-media-card h3{font-size:13px;margin:0;padding:16px 18px}.principal-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.principal-path-card{min-height:120px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px;text-decoration:none;display:grid;grid-template-columns:30px 1fr;gap:8px 10px;align-content:center}.principal-path-card svg{width:24px;height:24px;color:var(--blue);grid-row:1/3}.principal-path-card b{font-size:11px}.principal-path-card span{font-size:9px;color:var(--blue);font-weight:800}.principal-resource{background:#fff8dd;border-color:#f1d469}
/* History */
.history-timeline{display:grid;grid-template-columns:1fr 170px 1fr;gap:24px;align-items:stretch}.history-card{border:1px solid var(--line);border-radius:19px;background:#fff;padding:30px;box-shadow:var(--shadow-soft)}.history-icon{width:52px;height:52px;border-radius:14px;background:#eef5fb;color:var(--blue);display:grid;place-items:center}.history-icon svg{width:27px;height:27px}.history-card small,.history-proof small{font-size:8px;letter-spacing:.12em;color:#728599;font-weight:800}.history-card h3{font-size:24px;margin:22px 0 8px}.history-card p{font-size:11px;line-height:1.7;color:var(--muted)}.history-card-brand img{width:220px;max-height:78px;object-fit:contain;object-position:left center;margin-bottom:18px}.history-connector{display:grid;place-items:center;text-align:center;color:#6d8296;font-size:9px;font-weight:800}.history-connector span{width:1px;height:70px;background:#cfdce7}.history-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:34px}.history-proof{padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff}.history-proof>span{width:38px;height:38px;border-radius:10px;background:#f0f6fb;color:var(--blue);display:grid;place-items:center}.history-proof svg{width:20px;height:20px}.history-proof b{display:block;font-size:12px;margin:14px 0 6px}.history-proof p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}.history-photo{margin:34px 0 0;border-radius:19px;overflow:hidden;border:1px solid var(--line);background:#fff}.history-photo img{width:100%;height:360px;object-fit:cover;object-position:center 42%}.history-photo figcaption{padding:12px 16px;font-size:9px;color:#718194}
/* Infrastructure */
.office-gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:190px 190px;gap:13px}.office-photo{margin:0;border-radius:16px;overflow:hidden;position:relative;background:#eef2f5}.office-photo-large{grid-row:1/3}.office-photo:nth-child(4){grid-column:2/4}.office-photo img{width:100%;height:100%;object-fit:cover}.office-photo figcaption{position:absolute;left:12px;bottom:10px;background:rgba(13,27,42,.78);color:#fff;padding:7px 10px;border-radius:8px;font-size:8px}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:28px}.facility-grid article{border:1px solid var(--line);border-radius:15px;padding:22px;background:#fff}.facility-grid article>span{width:38px;height:38px;border-radius:10px;background:#eef5fb;color:var(--blue);display:grid;place-items:center}.facility-grid svg{width:20px;height:20px}.facility-grid small{display:block;font-size:8px;letter-spacing:.12em;color:#6c8195;font-weight:800;margin-top:16px}.facility-grid h3{font-size:15px;margin:7px 0}.facility-grid p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}.facility-map-link{display:grid;grid-template-columns:46px 1fr auto;gap:15px;align-items:center;border:1px solid #d9e6ef;background:#f6fafd;border-radius:15px;padding:18px 20px;text-decoration:none;margin-top:14px}.facility-map-link>span{width:42px;height:42px;border-radius:11px;background:#e6f1fa;color:var(--blue);display:grid;place-items:center}.facility-map-link svg{width:22px;height:22px}.facility-map-link small{font-size:8px;letter-spacing:.12em;color:#6a7f93;font-weight:800}.facility-map-link b{display:block;font-size:11px;margin-top:3px}.facility-map-link strong{font-size:10px;color:var(--blue)}
/* Credentials */
.credential-grid-v15{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.iso-card,.duns-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px}.iso-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center}.credential-art{border:1px solid #e7edf2;border-radius:13px;padding:10px;background:#f8fafc}.credential-art img{width:100%;height:240px;object-fit:contain;background:#fff}.iso-card>div:last-child>span{width:40px;height:40px;border-radius:10px;background:#eef5fb;color:var(--blue);display:grid;place-items:center}.iso-card svg{width:21px;height:21px}.iso-card small,.duns-card small{display:block;margin-top:15px;font-size:8px;letter-spacing:.12em;color:#6a7e91;font-weight:800}.iso-card h3,.duns-card h3{font-size:22px;margin:7px 0 9px}.iso-card p,.duns-card p{font-size:10.5px;line-height:1.65;color:var(--muted)}.duns-card{background:linear-gradient(145deg,#0d2034,#15395b);color:#fff}.duns-card small{color:#9bc5e9}.duns-card h3{color:#fff}.duns-card p{color:#c4d4e3}.duns-badge{border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:20px;background:rgba(255,255,255,.06)}.duns-badge span{display:block;font-size:13px;font-weight:800;letter-spacing:.1em;color:#f2c94c}.duns-badge strong{display:block;font-size:32px;letter-spacing:.08em;margin-top:10px}.duns-card dl{margin:18px 0 0}.duns-card dl>div{padding:10px 0;border-top:1px solid rgba(255,255,255,.12)}.duns-card dt{font-size:8px;color:#91a9bf;text-transform:uppercase;letter-spacing:.1em}.duns-card dd{font-size:9.5px;line-height:1.55;margin:4px 0 0;color:#fff}
/* Location and quick contact */
.quick-contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-contact-card{border:1px solid var(--line);border-radius:14px;background:#fff;min-height:112px;padding:18px;text-decoration:none;color:var(--text);text-align:left;font:inherit;cursor:pointer;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:3px 10px;align-content:center}.quick-contact-card>span{grid-row:1/3;width:34px;height:34px;border-radius:9px;background:#eef5fb;color:var(--blue);display:grid;place-items:center}.quick-contact-card svg{width:19px;height:19px}.quick-contact-card small{font-size:8px;letter-spacing:.11em;color:#6c7f92;font-weight:800}.quick-contact-card b{font-size:10.5px}.map-section{background:#f5f8fa}.location-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center}.location-copy h2{font-size:clamp(32px,3.5vw,50px);letter-spacing:-.045em;margin:8px 0 14px}.location-copy>p:not(.kicker){font-size:12px;line-height:1.7;color:var(--muted);max-width:520px}.location-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.map-frame{height:330px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#e7edf2;box-shadow:var(--shadow-soft)}.map-frame iframe{border:0;width:100%;height:100%}.cta-map-address{color:#fff;text-decoration:none;font-size:11px;line-height:1.55;display:block;margin-top:4px}.cta-map-address:hover{text-decoration:underline}
.resource-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.resource-format-grid article{padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff}.resource-format-grid article>span{width:40px;height:40px;border-radius:10px;background:#eef5fb;color:var(--blue);display:grid;place-items:center}.resource-format-grid svg{width:21px;height:21px}.resource-format-grid b{display:block;font-size:13px;margin:15px 0 7px}.resource-format-grid p{font-size:10px;line-height:1.6;color:var(--muted);min-height:48px}.resource-format-grid a{font-size:10px;font-weight:800;color:var(--blue);text-decoration:none}
/* Floating call + WhatsApp chooser */
.floating-contact{position:fixed;right:18px;bottom:18px;z-index:1400;display:flex;gap:8px;align-items:flex-end}.float-action{height:48px;border-radius:999px;border:1px solid rgba(13,27,42,.12);box-shadow:0 12px 32px rgba(13,27,42,.16);display:flex;align-items:center;gap:8px;padding:0 15px;font:inherit;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}.float-action svg{width:20px;height:20px}.float-call{background:#fff;color:var(--navy)}.float-whatsapp{background:#1fa463;color:#fff}.whatsapp-panel{position:absolute;right:0;bottom:58px;width:340px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 25px 70px rgba(13,27,42,.22);overflow:hidden}.whatsapp-panel[hidden]{display:none!important}.whatsapp-panel-head{display:flex;justify-content:space-between;gap:12px;padding:18px;background:#0d2034;color:#fff}.whatsapp-panel-head small{display:block;font-size:8px;letter-spacing:.12em;color:#9ec5e7}.whatsapp-panel-head b{font-size:12px}.whatsapp-panel-head button{width:30px;height:30px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer}.whatsapp-options{display:grid;padding:8px}.whatsapp-options a{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 12px;border-radius:10px;text-decoration:none}.whatsapp-options a:hover{background:#f3f8f5}.whatsapp-options b{font-size:10px}.whatsapp-options span{font-size:8px;color:#168552;align-self:center}
@media(max-width:1240px){.mega-desktop-nav{display:none!important}.nav-cta{display:none!important}.menu-button{display:grid!important}.nav-wrap{grid-template-columns:1fr auto!important}.mega-panel{display:none!important}}
@media(min-width:1241px){.menu-button,.mobile-menu{display:none!important}.mega-desktop-nav{display:flex!important}}
@media(max-width:980px){.story-grid,.principal-media-grid,.history-proof-grid,.facility-grid,.quick-contact-grid,.resource-format-grid{grid-template-columns:repeat(2,1fr)}.principal-path-grid{grid-template-columns:repeat(2,1fr)}.history-timeline{grid-template-columns:1fr}.history-connector{grid-template-columns:1fr auto 1fr;gap:12px}.history-connector span{height:1px;width:100%}.credential-grid-v15,.location-layout{grid-template-columns:1fr}.office-gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 190px 190px}.office-photo-large{grid-column:1/3;grid-row:auto}.office-photo:nth-child(4){grid-column:1/3}.map-frame{height:300px}}
@media(max-width:650px){:root{--section-space:62px}.page-hero{padding:22px 0 38px}.breadcrumbs{margin-bottom:18px}.page-hero-grid{gap:24px}.hero h1,.page-hero h1{font-size:clamp(36px,10vw,50px)}.page-hero-visual,.page-hero-blueprint,.principal-hero-mark,.engineering-hero-card{height:235px;min-height:235px}.engineering-hero-card{padding:20px}.engineering-flow{gap:6px}.engineering-node{padding:10px}.story-grid,.principal-media-grid,.principal-path-grid,.history-proof-grid,.facility-grid,.quick-contact-grid,.resource-format-grid{grid-template-columns:1fr}.story-card>img,.story-tech-visual{height:175px}.principal-media-card img{height:180px}.history-photo img{height:260px}.office-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:none}.office-photo-large,.office-photo:nth-child(4){grid-column:auto}.office-photo{height:210px}.facility-map-link{grid-template-columns:42px 1fr}.facility-map-link strong{grid-column:2}.iso-card{grid-template-columns:1fr}.credential-art img{height:220px}.quick-contact-grid{grid-template-columns:1fr 1fr}.resource-format-grid{grid-template-columns:1fr}.floating-contact{right:12px;bottom:12px}.float-action{width:46px;height:46px;padding:0;justify-content:center}.float-action span{display:none}.whatsapp-panel{position:fixed;left:12px;right:12px;bottom:68px;width:auto}.principals-head{grid-template-columns:1fr}.principals-explore{margin-bottom:0}.principal-slot{width:225px!important}.hero-system,.system-grid{min-height:440px;height:440px}.map-frame{height:260px}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none!important}}

/* v1.5.0 final visual polish */
@media (min-width:1241px){
  .mega-panel{left:50%;right:auto;transform:translateX(-50%);width:min(1180px,calc(100vw - 44px));max-width:none}
  .mega-shell{grid-template-columns:280px minmax(0,1fr);gap:28px;padding:26px}
  .mega-groups{gap:18px}
  .mega-card{min-height:64px}
}
.page-hero-photo-v15{position:relative;background:#edf3f8}
.page-hero-photo-v15:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(13,27,42,.05);border-radius:inherit;pointer-events:none}
.page-hero-photo-v15 img{object-position:center}
.company-history .page-hero-photo-v15 img{object-position:center 35%}
@media(max-width:1240px){.mega-panel{width:auto}}


/* v1.6.0 human business UX + homepage completeness */
@media(min-width:1321px){
  .mega-site-header .nav-item{position:static!important}
  .mega-site-header{overflow:visible}
  .mega-panel{left:50%!important;right:auto!important;top:100%!important;transform:translateX(-50%)!important;width:min(1180px,calc(100vw - 48px))!important;max-width:none!important;max-height:calc(100vh - 132px);overflow:auto;overscroll-behavior:contain}
  .mega-desktop-nav,.desktop-nav{display:flex!important;gap:7px!important}
  .nav-cta{display:inline-flex!important}.menu-button,.mobile-menu{display:none!important}
}
@media(max-width:1320px){.mega-desktop-nav,.desktop-nav,.nav-cta{display:none!important}.menu-button{display:grid!important}.nav-wrap{grid-template-columns:1fr auto!important}.mega-panel{display:none!important}}
.mega-trigger{display:inline-flex!important;align-items:center!important;justify-content:center;gap:6px;line-height:1.1}
.nav-chevron{display:inline-block!important;width:10px;height:10px;position:relative;flex:0 0 10px;margin:0!important;transform:none!important;transition:none!important}
.nav-chevron:before{content:"";position:absolute;width:6px;height:6px;left:1px;top:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transform-origin:50% 50%;transition:transform .18s ease}
.mega-trigger[aria-expanded="true"] .nav-chevron{transform:none!important}
.mega-trigger[aria-expanded="true"] .nav-chevron:before{transform:rotate(225deg)}
.mega-products-principals .mega-shell{grid-template-columns:260px minmax(0,1fr)}
.pp-mega-groups{grid-template-columns:.8fr 1.45fr 1.05fr!important;gap:18px!important}
.pp-equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.pp-equipment-grid .mega-card{min-height:57px!important;padding:8px!important}
.mega-brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mega-brand-chip{min-height:68px!important;border:1px solid #e1e9f1;border-radius:11px;padding:8px 9px!important;background:#fff;display:grid!important;grid-template-columns:72px 1fr;gap:8px;align-items:center;text-decoration:none}
.mega-brand-chip:after{display:none!important}.mega-brand-chip img{width:68px;height:34px;object-fit:contain}.mega-brand-chip span{font-size:9px;font-weight:800;color:var(--navy)}
.mega-feature-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.mega-feature-links a{margin-top:0!important}
.mobile-group-label{display:block;padding:15px 0 5px;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#6d8194}.mobile-group-label-spaced{margin-top:12px;border-top:1px solid #e8edf3;padding-top:18px}

.homepage-v160 .section{padding-top:84px;padding-bottom:84px}.homepage-v160 .section-tight{padding-top:52px;padding-bottom:56px}
.home-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.home-intro-media{position:relative;min-height:510px}.home-intro-photo{position:absolute;margin:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-soft);background:#edf2f6}.home-intro-photo img{width:100%;height:100%;object-fit:cover}.home-intro-photo figcaption{position:absolute;left:14px;bottom:14px;padding:8px 11px;border-radius:9px;background:rgba(13,27,42,.78);color:#fff;font-size:9px;font-weight:700}.home-intro-photo-main{left:0;top:0;width:78%;height:420px}.home-intro-photo-detail{right:0;bottom:0;width:50%;height:245px;border:6px solid #fff}.home-intro-copy h2{font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-.052em;margin:10px 0 20px;color:var(--navy)}.home-intro-copy>p:not(.kicker){font-size:14px;line-height:1.8;color:var(--muted)}.home-intro-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.home-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-facts>div{padding:20px 14px 18px}.home-facts>div+div{border-left:1px solid var(--line)}.home-facts strong{display:block;font-size:25px;color:var(--blue);letter-spacing:-.04em}.home-facts span{display:block;font-size:9px;color:#65778b;line-height:1.4;margin-top:4px}
.home-customer-strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px}.home-customer-logo{height:88px;background:#fff;border:1px solid #dfe7ef;border-radius:13px;display:grid;place-items:center;padding:12px}.home-customer-logo img{width:100%;height:52px;object-fit:contain}.home-proof-actions{display:flex;justify-content:center;margin:22px 0 32px}.testimonial-grid-v160{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.testimonial-card-v160{border:1px solid var(--line);border-radius:18px;background:#fff;padding:26px;min-height:190px;display:flex;flex-direction:column}.testimonial-card-v160 .quote-mark{font-size:42px;color:var(--yellow);font-weight:900;line-height:.8}.testimonial-card-v160 p{font-size:15px;line-height:1.65;color:#334a61;margin:14px 0 26px}.testimonial-card-v160 footer{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:12px}.testimonial-card-v160 footer strong{font-size:11px}.testimonial-card-v160 footer span{font-size:9px;color:#728397}
.home-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-video-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(13,27,42,.05)}.home-video-frame{aspect-ratio:16/9;background:#0d1b2a}.home-video-frame iframe{width:100%;height:100%;border:0}.home-video-copy{padding:17px 18px 20px}.home-video-copy small{font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.home-video-copy h3{font-size:14px;margin:7px 0 0}.home-media-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:28px}.youtube-channel-link{margin-top:20px!important}
.home-map-v160{padding-top:72px!important;padding-bottom:72px!important}

.awards-grid-v160{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:42px}.award-card-v160{border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;display:grid;grid-template-columns:66px 1fr;gap:18px;align-items:start}.award-icon-v160{width:64px;height:64px;border-radius:16px;background:linear-gradient(145deg,#0d2034,#1e5aa8);color:#ffc107;display:grid;place-items:center}.award-icon-v160 span{font-size:15px;font-weight:900}.award-copy-v160 small{display:block;font-size:8px;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;color:#6c8094;font-weight:800}.award-copy-v160 h3{font-size:18px;margin:8px 0}.award-copy-v160 p{font-size:10.5px;line-height:1.65;color:var(--muted);margin:0}.award-photo-v160{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;margin:30px 0}.award-photo-v160 img{width:100%;height:350px;object-fit:cover;border-radius:20px}.award-photo-v160 h3,.certificate-proof-v160 h3{font-size:30px;letter-spacing:-.04em;margin:8px 0 12px}.award-photo-v160 p,.certificate-proof-v160 p{font-size:12px;line-height:1.7;color:var(--muted)}.certificate-proof-v160{display:grid;grid-template-columns:380px 1fr;gap:34px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:24px;background:#f7fafc}.certificate-thumb-v160{background:#fff;border:1px solid #e3eaf1;border-radius:14px;padding:10px}.certificate-thumb-v160 img{width:100%;height:260px;object-fit:contain}

@media(max-width:980px){.home-intro-grid{grid-template-columns:1fr;gap:38px}.home-intro-media{min-height:440px}.home-customer-strip{grid-template-columns:repeat(4,1fr)}.home-video-grid{grid-template-columns:1fr 1fr}.testimonial-grid-v160{grid-template-columns:1fr}.awards-grid-v160{grid-template-columns:1fr}.award-photo-v160,.certificate-proof-v160{grid-template-columns:1fr}.certificate-thumb-v160{max-width:430px}}
@media(max-width:650px){.homepage-v160 .section{padding-top:64px;padding-bottom:64px}.home-intro-media{min-height:330px}.home-intro-photo-main{width:84%;height:290px}.home-intro-photo-detail{width:53%;height:165px}.home-facts{grid-template-columns:1fr 1fr}.home-facts>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.home-facts>div:nth-child(4){border-top:1px solid var(--line)}.home-customer-strip{grid-template-columns:repeat(2,1fr)}.home-video-grid{grid-template-columns:1fr}.award-card-v160{grid-template-columns:52px 1fr;padding:19px}.award-icon-v160{width:50px;height:50px;border-radius:13px}.award-photo-v160 img{height:260px}.certificate-thumb-v160 img{height:220px}.pp-equipment-grid,.mega-brand-grid{grid-template-columns:1fr}}

/* v1.6 final social + mobile contact polish */
.utility-right{display:flex;align-items:center;gap:12px}
.utility-social{display:flex;align-items:center;gap:6px;padding-left:11px;border-left:1px solid #dbe4ec}
.utility-social-link{width:25px;height:25px;min-height:25px!important;padding:0!important;border:1px solid #d7e0e8;border-radius:7px;display:grid!important;place-items:center;color:#3b5168;background:#fff;text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.utility-social-link svg{width:13px;height:13px}
.utility-social-link:hover{transform:translateY(-1px);color:#fff}
.utility-social-link.linkedin:hover{background:#0a66c2;border-color:#0a66c2}
.utility-social-link.youtube:hover{background:#d82727;border-color:#d82727}

/* Keep the fixed contact actions compact on every viewport, not only mobile. */
.floating-contact{right:18px;bottom:18px;display:flex;flex-direction:column;gap:9px;align-items:center}
.float-action{width:52px;height:52px;min-width:52px;border-radius:50%;padding:0;display:grid;place-items:center;box-shadow:0 12px 30px rgba(13,27,42,.20);transition:transform .18s ease,box-shadow .18s ease;border-width:1px}
.float-action span{display:none!important}
.float-action svg{width:22px;height:22px}
.float-action:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(13,27,42,.24)}
.float-whatsapp{order:1;background:#1fa463;color:#fff;border-color:#168a52}
.float-call{order:2;background:#fff;color:#0d1b2a;border-color:#d8e2ea}
.whatsapp-panel{right:0;bottom:122px}

/* v1.6 responsive-nav conflict fix: the menu can open throughout the 1241-1320px compact-header range. */
@media(min-width:1241px) and (max-width:1320px){.mobile-menu:not([hidden]){display:block!important}.mobile-menu[hidden]{display:none!important}}

@media(max-width:920px){
  .utility-right{width:100%;justify-content:center}
}
@media(max-width:650px){
  .utility-right{gap:8px}
  .utility-contact{width:auto!important;justify-content:center}
  .utility-contact span:last-child{display:none!important}
  .utility-social{padding-left:8px;gap:5px}
  .utility-social-link{width:25px;height:25px}
  .floating-contact{right:12px;bottom:12px;gap:8px}
  .float-action{width:50px;height:50px;min-width:50px}
  .whatsapp-panel{position:fixed;left:12px;right:12px;bottom:126px;width:auto}
}

/* v1.6.1 forensic visual + public-copy polish */
.mega-feature-links a{color:#fff!important;text-decoration:none!important;font-size:11px!important;font-weight:800!important;opacity:1!important;display:inline-flex!important;align-items:center!important;gap:7px!important;padding:5px 0!important}
.mega-feature-links a:hover,.mega-feature-links a:focus-visible{color:#fff!important;opacity:.82!important}

/* Mega-menu links must never inherit the primary-nav yellow underline pseudo element. */
.mega-panel a::after,.mega-panel a:hover::after,.mega-panel a:focus-visible::after{content:none!important;display:none!important;width:0!important;height:0!important;background:none!important}
@media(min-width:1321px){
  .mega-panel{width:min(1240px,calc(100vw - 32px))!important;overflow-y:auto!important;overflow-x:hidden!important}
  .mega-shell{grid-template-columns:250px minmax(0,1fr)!important;gap:24px!important;padding:24px!important;width:100%!important;max-width:none!important}
  .mega-groups,.mega-group,.mega-card,.mega-card-copy,.pp-equipment-grid,.mega-brand-grid,.mega-brand-chip{min-width:0!important}
  .mega-groups{align-items:start!important}
  .pp-mega-groups{grid-template-columns:minmax(0,.76fr) minmax(0,1.48fr) minmax(0,1.08fr)!important;gap:20px!important;align-items:start!important}
  .pp-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr;gap:7px 10px!important}
  .pp-equipment-grid .mega-card{min-height:64px!important;height:100%!important;padding:8px!important}
  .mega-card{grid-template-columns:36px minmax(0,1fr) 18px!important;align-items:center!important}
  .mega-card-copy b{font-size:11px!important;line-height:1.22!important;overflow-wrap:normal!important;word-break:normal!important}
  .mega-card-copy small{line-height:1.28!important}
  .mega-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:68px;gap:8px!important}
  .mega-brand-chip{height:68px!important;min-height:68px!important;grid-template-columns:68px minmax(0,1fr)!important;gap:8px!important;padding:8px!important;overflow:hidden}
  .mega-brand-chip img{width:64px!important;height:34px!important;max-width:100%!important;object-fit:contain!important}
  .mega-brand-chip span{min-width:0;line-height:1.2;overflow-wrap:anywhere}
}
@media(min-width:1321px) and (max-width:1410px){
  .mega-panel{width:calc(100vw - 24px)!important}
  .mega-shell{grid-template-columns:232px minmax(0,1fr)!important;gap:20px!important;padding:22px!important}
  .pp-mega-groups{gap:14px!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.45fr) minmax(0,1.02fr)!important}
  .mega-card{gap:8px!important;padding-left:6px!important;padding-right:6px!important}
  .mega-brand-chip{grid-template-columns:58px minmax(0,1fr)!important}
  .mega-brand-chip img{width:55px!important}
}
/* History now uses a balanced present-day office composition instead of a full-width signboard photograph. */
.history-presence-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:14px;margin-top:34px;align-items:stretch}
.history-presence-photo{position:relative;margin:0;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#eef3f7;min-height:250px}
.history-presence-photo img{width:100%;height:100%;min-height:250px;object-fit:cover;transform:scale(1.035)}
.history-presence-photo figcaption{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:8px;background:rgba(13,27,42,.78);color:#fff;font-size:9px;font-weight:700}
.history-presence-copy{border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#f8fbfd,#fff);padding:28px;display:flex;flex-direction:column;justify-content:center}
.history-presence-copy h3{font-size:25px;line-height:1.08;letter-spacing:-.035em;margin:8px 0 12px;color:var(--navy)}
.history-presence-copy p:not(.kicker){font-size:11px;line-height:1.7;color:var(--muted);margin:0}
.history-presence-copy .text-link{margin-top:16px}
@media(max-width:980px){.history-presence-grid{grid-template-columns:1fr 1fr}.history-presence-copy{grid-column:1/-1}}
@media(max-width:650px){.history-presence-grid{grid-template-columns:1fr}.history-presence-copy{grid-column:auto}.history-presence-photo{min-height:210px}.history-presence-photo img{min-height:210px}}


.home-facts span,.testimonial-card-v160 span,.technical-bridge-metrics span,.approach-badge span{font-size:10px!important}

/* v1.6.2 mobile UX + mega-menu finalisation */
html,body{overflow-x:clip}

/* The header chevron is a stable positional cue. It never jumps or rotates when a menu opens. */
.mega-trigger{align-items:center!important}
.nav-chevron{display:inline-block!important;width:11px!important;height:11px!important;position:relative!important;flex:0 0 11px!important;margin:0!important;transform:none!important;transition:none!important;align-self:center!important}
.nav-chevron:before{content:""!important;position:absolute!important;width:6px!important;height:6px!important;left:50%!important;top:50%!important;border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;transform:translate(-50%,-65%) rotate(45deg)!important;transform-origin:50% 50%!important;transition:none!important}
.mega-trigger[aria-expanded="true"] .nav-chevron,.mega-trigger[aria-expanded="true"] .nav-chevron:before{transform:none!important}
.mega-trigger[aria-expanded="true"] .nav-chevron:before{transform:translate(-50%,-65%) rotate(45deg)!important}

/* Decorative feature artwork can never intercept links such as All principals. */
.mega-feature:after{pointer-events:none!important;z-index:0!important}
.mega-feature>*{position:relative;z-index:1}
.mega-feature-links{position:relative;z-index:2}
.mega-feature-links a{pointer-events:auto!important}

/* Compact, content-sized mega menus. Sparse menus no longer leave a large empty third column. */
@media(min-width:1321px){
  .mega-panel{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(1180px,calc(100vw - 32px))!important;border:1px solid #d8e2ef!important;border-top-color:#e2e8f0!important;border-radius:0 0 18px 18px!important;overflow-x:hidden!important;overflow-y:auto!important}
  #mega-products-principals,#mega-solutions{width:min(1180px,calc(100vw - 32px))!important}
  #mega-industries{width:min(1060px,calc(100vw - 32px))!important}
  #mega-company{width:min(980px,calc(100vw - 32px))!important}
  #mega-resources{width:min(920px,calc(100vw - 32px))!important}
  .mega-shell{grid-template-columns:235px minmax(0,1fr)!important;gap:22px!important;padding:20px!important;width:100%!important;max-width:none!important}
  .mega-feature{min-height:226px!important;padding:22px!important}
  .mega-feature .kicker{margin-top:18px!important}
  .mega-feature h2{font-size:25px!important}
  .mega-groups{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;gap:14px 18px!important;align-items:start!important}
  .mega-card{min-height:54px!important;padding:7px 7px!important}
  .mega-card-copy b{font-size:10.5px!important}
  .mega-card-copy small{font-size:8px!important}
  .pp-mega-groups{grid-template-columns:minmax(0,.78fr) minmax(0,1.32fr) minmax(240px,.92fr)!important;gap:16px!important}
  .pp-equipment-grid{gap:5px 8px!important}
  .pp-equipment-grid .mega-card{min-height:58px!important}
  .mega-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:62px!important;gap:7px!important}
  .mega-brand-chip{height:62px!important;min-height:62px!important;display:grid!important;place-items:center!important;grid-template-columns:1fr!important;padding:8px 12px!important;overflow:hidden!important}
  .mega-brand-chip img{width:100%!important;max-width:105px!important;height:38px!important;object-fit:contain!important}
  .mega-brand-name{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
}

/* Mobile navigation: real tap rows, readable spacing, one visual rhythm. */
@media(max-width:1320px){
  .mobile-menu{border-top:1px solid var(--line);box-shadow:0 18px 40px rgba(13,27,42,.10)}
  .mobile-menu-inner{padding:8px 16px 24px!important;max-height:calc(100dvh - 105px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .mobile-accordion{border-bottom:1px solid #dfe7ef!important}
  .mobile-accordion-trigger{min-height:52px!important;font-size:15px!important;line-height:1.2!important}
  .mobile-accordion-trigger>span:last-child{width:24px;height:24px;display:grid;place-items:center;font-size:18px;line-height:1;font-weight:500}
  .mobile-accordion-panel{padding:0 0 10px!important}
  .mobile-accordion-panel>a,.mobile-direct{display:flex!important;align-items:center!important;min-height:42px!important;padding:9px 2px!important;margin:0!important;border-bottom:1px solid #edf2f6!important;text-decoration:none!important;font-size:14px!important;line-height:1.3!important;font-weight:650!important;color:var(--navy)!important;white-space:normal!important}
  .mobile-accordion-panel>a:hover,.mobile-accordion-panel>a:focus-visible{color:var(--blue)!important;background:#f7fafc!important}
  .mobile-accordion-panel .mobile-overview{color:var(--blue)!important;font-weight:800!important}
  .mobile-group-label{display:block!important;padding:13px 2px 4px!important;margin:0!important;font-size:9px!important;line-height:1.2!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:#61788e!important;font-weight:800!important}
  .mobile-group-label-spaced{margin-top:5px!important;border-top:1px solid #e8edf3!important;padding-top:14px!important}
  .mobile-rfq{margin-top:16px!important;width:100%!important}
}

/* Mobile pages: card collections become swipeable rails instead of multi-screen vertical stacks. */
@media(max-width:650px){
  .section{padding-top:58px!important;padding-bottom:58px!important}
  .page-hero{padding-top:28px!important;padding-bottom:42px!important}
  .page-hero-grid{gap:24px!important}
  .page-hero-visual,.page-hero-blueprint{height:230px!important}
  .homepage-v160 .section{padding-top:58px!important;padding-bottom:58px!important}

  .feature-grid,.feature-grid-2,.feature-grid-3,.story-grid,.related-link-grid,.principal-path-grid,.application-note-grid,.principal-media-grid,.catalog-group-grid,.testimonial-grid-v160,.home-video-grid,.industry-grid,.media-grid,.media-grid-3,.resource-format-grid,.resource-grid,.principal-grid,.metric-grid,.role-list,.history-proof-grid,.history-presence-grid,.office-gallery,.facility-grid,.awards-grid-v160,.credential-grid-v15,.application-media-grid,.application-library-grid,.customer-logo-grid,.customer-logo-grid-selected{
    display:flex!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:15px!important;padding:2px 15px 16px!important;margin-left:-15px!important;margin-right:-15px!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-inline:contain!important;scrollbar-width:none!important
  }
  .feature-grid::-webkit-scrollbar,.feature-grid-2::-webkit-scrollbar,.feature-grid-3::-webkit-scrollbar,.story-grid::-webkit-scrollbar,.related-link-grid::-webkit-scrollbar,.principal-path-grid::-webkit-scrollbar,.application-note-grid::-webkit-scrollbar,.principal-media-grid::-webkit-scrollbar,.catalog-group-grid::-webkit-scrollbar,.testimonial-grid-v160::-webkit-scrollbar,.home-video-grid::-webkit-scrollbar,.industry-grid::-webkit-scrollbar,.media-grid::-webkit-scrollbar,.media-grid-3::-webkit-scrollbar,.resource-format-grid::-webkit-scrollbar,.resource-grid::-webkit-scrollbar,.principal-grid::-webkit-scrollbar,.metric-grid::-webkit-scrollbar,.role-list::-webkit-scrollbar,.history-proof-grid::-webkit-scrollbar,.history-presence-grid::-webkit-scrollbar,.office-gallery::-webkit-scrollbar,.facility-grid::-webkit-scrollbar,.awards-grid-v160::-webkit-scrollbar,.credential-grid-v15::-webkit-scrollbar,.application-media-grid::-webkit-scrollbar,.application-library-grid::-webkit-scrollbar,.customer-logo-grid::-webkit-scrollbar,.customer-logo-grid-selected::-webkit-scrollbar{display:none!important}
  .feature-grid>* ,.feature-grid-2>* ,.feature-grid-3>* ,.story-grid>* ,.related-link-grid>* ,.principal-path-grid>* ,.application-note-grid>* ,.principal-media-grid>* ,.catalog-group-grid>* ,.testimonial-grid-v160>* ,.home-video-grid>* ,.industry-grid>* ,.media-grid>* ,.media-grid-3>* ,.resource-format-grid>* ,.resource-grid>* ,.principal-grid>* ,.metric-grid>* ,.role-list>* ,.history-proof-grid>* ,.history-presence-grid>* ,.office-gallery>* ,.facility-grid>* ,.awards-grid-v160>* ,.credential-grid-v15>* ,.application-media-grid>* ,.application-library-grid>*{
    flex:0 0 min(82vw,340px)!important;width:min(82vw,340px)!important;max-width:min(82vw,340px)!important;scroll-snap-align:start!important;box-sizing:border-box!important
  }
  .customer-logo-grid>* ,.customer-logo-grid-selected>*{flex:0 0 155px!important;width:155px!important;max-width:155px!important;scroll-snap-align:start!important}
  .industry-grid>*{height:270px!important;min-height:270px!important}
  .home-video-card{height:auto!important}
  .technical-bridge-card{padding:25px 20px!important;gap:22px!important}
  .technical-bridge-card h2{font-size:32px!important}
  .technical-bridge-metrics{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;border:0!important;border-radius:0!important;background:transparent!important;gap:12px!important;padding:2px 2px 10px!important;scrollbar-width:none!important}
  .technical-bridge-metrics::-webkit-scrollbar{display:none!important}
  .technical-bridge-metrics div{flex:0 0 72vw!important;scroll-snap-align:center!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;padding:24px 15px!important}
  .technical-bridge-metrics div+div{border-left:1px solid var(--line)!important;border-top:1px solid var(--line)!important}
  .solution-list{display:flex!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding:2px 15px 16px!important;margin-left:-15px!important;margin-right:-15px!important;scrollbar-width:none!important}
  .solution-list::-webkit-scrollbar{display:none!important}
  .solution-row{flex:0 0 min(84vw,350px)!important;width:min(84vw,350px)!important;scroll-snap-align:start!important;border:1px solid var(--line)!important;border-radius:17px!important;background:#fff!important;padding:20px!important;align-items:start!important}
  .home-customer-strip{display:flex!important;gap:10px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding:2px 15px 12px!important;margin-left:-15px!important;margin-right:-15px!important;scrollbar-width:none!important}
  .home-customer-strip::-webkit-scrollbar{display:none!important}
  .home-customer-logo{flex:0 0 165px!important;width:165px!important;scroll-snap-align:start!important}
}

/* v1.6.2 final human-review corrections */
@media(min-width:1321px){
  .mega-shell{align-items:start!important}
  .mega-feature,.mega-groups{height:auto!important;align-self:start!important}
}
body.menu-open .floating-contact{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.mega-feature>a{padding:4px 0!important;min-height:0!important;line-height:1.3!important}

/* v1.6.3 premium motion + responsive navigation upgrade */
:root{--motion-ease:cubic-bezier(.2,.72,.2,1);--motion-spring:cubic-bezier(.18,.89,.32,1.18)}
html{scroll-padding-top:96px}
body.ux-v163{background:#fff}

/* Utility line: contact first, capability context in-line, Simplinity-blue social treatment. */
.utility-inner{justify-content:center!important}
.utility-right{width:100%;justify-content:center!important;gap:12px!important}
.utility-contact{justify-content:center!important;gap:10px!important;min-width:0}
.utility-focus{color:var(--blue)!important;font-weight:800!important;letter-spacing:.01em;white-space:nowrap}
.utility-sep{color:#9aabba!important}
.utility-social{border-left:1px solid var(--blue)!important;padding-left:12px!important}
.utility-social-link,.utility-social-link:hover,.utility-social-link:focus-visible{color:var(--blue)!important;background:#fff!important;border-color:rgba(30,90,168,.30)!important}
.utility-social-link:hover{transform:translateY(-1px) scale(1.04)!important;box-shadow:0 5px 14px rgba(30,90,168,.12)}
.utility-social-link.youtube:hover,.utility-social-link.linkedin:hover{background:#fff!important;border-color:var(--blue)!important;color:var(--blue)!important}

/* A thin progress rail gives the scroll interaction a deliberate, premium cue. */
.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:5000;pointer-events:none;background:transparent}
.scroll-progress>i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--blue),#2f75c6 78%,var(--yellow));will-change:transform}

/* Header settles into a tighter state once the page begins moving. */
.site-header,.nav-wrap,.brand,.brand img,.mega-trigger,.nav-direct,.nav-cta{transition:height .32s var(--motion-ease),min-height .32s var(--motion-ease),width .32s var(--motion-ease),padding .32s var(--motion-ease),box-shadow .32s var(--motion-ease),background .32s var(--motion-ease)!important}
.site-header.is-scrolled .nav-wrap{height:76px!important}
.site-header.is-scrolled .brand,.site-header.is-scrolled .brand img{width:218px!important}
.site-header.is-scrolled{background:rgba(255,255,255,.985)!important;box-shadow:0 12px 36px rgba(13,27,42,.09)!important}

/* More expressive, but still restrained, reveal system. */
.reveal-ready .reveal,.reveal-ready .reveal-item{opacity:0;transform:translate3d(0,28px,0) scale(.988);filter:blur(4px);transition:opacity .78s var(--motion-ease),transform .78s var(--motion-ease),filter .72s var(--motion-ease);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform,filter}
.reveal-ready .reveal.is-visible,.reveal-ready .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.hero .hero-copy.is-visible{transition-duration:.9s}
.hero .hero-system.is-visible{transition-duration:1s}

/* Homepage hero: slightly more compact, with principals visible in the first experience. */
.homepage-v160 .hero{padding-top:48px!important;padding-bottom:34px!important}
.homepage-v160 .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr)!important;gap:42px 58px!important;align-items:center!important}
.homepage-v160 .hero h1{font-size:clamp(46px,4.75vw,70px)!important}
.homepage-v160 .hero-lead{font-size:16px!important;margin-top:20px!important}
.homepage-v160 .hero-pills{margin-top:20px!important}
.homepage-v160 .hero-actions{margin-top:22px!important}
.homepage-v160 .hero-proof{margin-top:26px!important;padding-top:17px!important}
.homepage-v160 .hero-system{min-height:460px!important}
.homepage-v160 .system-grid{height:460px!important}
.homepage-v160 .system-card-silicone{width:188px!important;height:170px!important;bottom:18px!important}
.homepage-v160 .system-hub{width:106px!important;height:106px!important}
.hero-system .system-grid{transition:transform .2s linear;transform:translate3d(0,var(--hero-parallax,0px),0)}

.hero-principals{grid-column:1/-1;border-top:1px solid #e5edf4;border-bottom:1px solid #e5edf4;padding:12px 0 10px;min-width:0;background:linear-gradient(90deg,rgba(248,251,253,.72),rgba(255,255,255,.95),rgba(248,251,253,.72));border-radius:15px}
.hero-principals-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:0 14px 8px}
.hero-principals-label{display:flex;align-items:baseline;gap:9px;min-width:0}
.hero-principals-label span{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.hero-principals-label b{font-size:12px;color:var(--navy)}
.hero-principals-link{font-size:10px;font-weight:800;color:var(--blue);text-decoration:none;white-space:nowrap}
.hero-principals .logo-marquee{width:100%!important;max-width:none!important;overflow:hidden!important;mask-image:linear-gradient(to right,transparent,#000 2.5%,#000 97.5%,transparent)!important}
.hero-principals .logo-track{display:flex!important;grid-template-columns:none!important;gap:0!important;width:max-content!important;animation:hero-logo-scroll 27s linear infinite!important;will-change:transform}
.hero-principals .principal-slot{flex:0 0 178px!important;width:178px!important;height:64px!important;padding:7px 18px!important;border:0!important;border-radius:0!important;background:transparent!important}
.hero-principals .principal-slot img{max-width:138px!important;max-height:46px!important;width:auto!important;height:auto!important;filter:saturate(.98) contrast(1.02)}
.hero-principals:hover .logo-track{animation-play-state:paused!important}
@keyframes hero-logo-scroll{to{transform:translateX(-50%)}}

/* Desktop navigation now survives browser/OS scaling on conference-room displays. */
@media(min-width:1121px){
  .mega-desktop-nav,.desktop-nav{display:flex!important;gap:2px!important}
  .nav-cta{display:inline-flex!important}
  .menu-button,.mobile-menu{display:none!important}
  .nav-wrap{grid-template-columns:220px minmax(0,1fr) auto!important;gap:12px!important;height:84px!important}
  .brand,.brand img{width:215px!important}
  .mega-trigger,.nav-direct{padding:0 9px!important;min-height:68px!important;font-size:12.5px!important}
  .nav-contact{padding-left:8px!important}
  .nav-cta{min-height:42px!important;padding-left:15px!important;padding-right:15px!important;font-size:11.5px!important}
  .mega-panel{left:50%!important;right:auto!important;top:100%!important;transform:translateX(-50%)!important;width:min(1360px,calc(100vw - 28px))!important;max-width:none!important;max-height:calc(100dvh - 120px)!important;overflow-x:hidden!important;overflow-y:auto!important;border:1px solid #d8e2ef!important;border-radius:0 0 18px 18px!important;box-shadow:0 28px 72px rgba(13,27,42,.16)!important}
  #mega-products-principals,#mega-solutions{width:min(1360px,calc(100vw - 28px))!important}
  #mega-industries{width:min(1240px,calc(100vw - 28px))!important}
  #mega-company{width:min(1120px,calc(100vw - 28px))!important}
  #mega-resources{width:min(1040px,calc(100vw - 28px))!important}
  .mega-shell{grid-template-columns:260px minmax(0,1fr)!important;gap:26px!important;padding:26px!important;width:100%!important;max-width:none!important;align-items:start!important}
  .mega-feature{min-height:250px!important;padding:25px!important}
  .mega-feature-icon{width:50px!important;height:50px!important}
  .mega-feature-icon svg{width:25px!important;height:25px!important}
  .mega-feature .kicker{font-size:10px!important;margin-top:20px!important}
  .mega-feature h2{font-size:28px!important;line-height:1.1!important}
  .mega-feature>p{font-size:12px!important;line-height:1.65!important}
  .mega-feature>a,.mega-feature-links a{font-size:12px!important}
  .mega-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:16px 22px!important;align-items:start!important}
  .mega-group>p{font-size:10px!important;margin-bottom:9px!important}
  .mega-card{grid-template-columns:42px minmax(0,1fr) 18px!important;gap:11px!important;min-height:66px!important;padding:9px!important;border-radius:12px!important}
  .mega-icon{width:40px!important;height:40px!important;border-radius:10px!important}
  .mega-icon svg{width:21px!important;height:21px!important}
  .mega-card-copy b{font-size:12.5px!important;line-height:1.25!important}
  .mega-card-copy small{font-size:9.75px!important;line-height:1.4!important;margin-top:3px!important}
  .mega-arrow{font-size:12px!important}
  .pp-mega-groups{grid-template-columns:minmax(0,.78fr) minmax(0,1.34fr) minmax(260px,.95fr)!important;gap:18px!important}
  .pp-equipment-grid{gap:8px 10px!important}
  .pp-equipment-grid .mega-card{min-height:70px!important}
  .mega-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:72px!important;gap:8px!important}
  .mega-brand-chip{height:72px!important;min-height:72px!important;padding:8px 12px!important;grid-template-columns:1fr!important;place-items:center!important}
  .mega-brand-chip img{width:100%!important;max-width:124px!important;height:45px!important;object-fit:contain!important}
}

@media(min-width:1121px) and (max-width:1279px){
  .nav-wrap{grid-template-columns:180px minmax(0,1fr) auto!important;gap:8px!important}
  .brand,.brand img{width:176px!important}
  .mega-trigger,.nav-direct{padding:0 6px!important;font-size:11px!important}
  .nav-cta{padding-left:11px!important;padding-right:11px!important;font-size:10.5px!important}
  .mega-shell{grid-template-columns:230px minmax(0,1fr)!important;gap:18px!important;padding:20px!important}
  .mega-feature{min-height:228px!important;padding:21px!important}
  .mega-feature h2{font-size:25px!important}
  .mega-card{min-height:62px!important;grid-template-columns:38px minmax(0,1fr) 15px!important;gap:8px!important}
  .mega-icon{width:36px!important;height:36px!important}
  .mega-card-copy b{font-size:11.5px!important}
  .mega-card-copy small{font-size:9px!important}
  .pp-mega-groups{grid-template-columns:minmax(0,.74fr) minmax(0,1.38fr) minmax(230px,.92fr)!important;gap:12px!important}
}

/* Mobile/tablet menu: one calm surface instead of a long unstructured list. */
@media(max-width:1120px){
  .mega-desktop-nav,.desktop-nav,.nav-cta{display:none!important}
  .menu-button{display:grid!important}
  .nav-wrap{grid-template-columns:1fr auto!important;height:76px!important}
  .mega-panel{display:none!important}
  .mobile-menu:not([hidden]){display:block!important}
  .mobile-menu[hidden]{display:none!important}
  .mobile-menu{position:absolute!important;left:0!important;right:0!important;top:100%!important;background:rgba(247,250,252,.98)!important;border-top:1px solid var(--line)!important;box-shadow:0 22px 50px rgba(13,27,42,.14)!important;backdrop-filter:blur(18px)!important}
  .mobile-menu-inner{width:min(calc(100% - 28px),720px)!important;margin:0 auto!important;padding:14px 0 20px!important;max-height:calc(100dvh - 92px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin!important}
  .mobile-accordion{margin:7px 0!important;border:1px solid #dbe5ee!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 5px 16px rgba(13,27,42,.035)!important}
  .mobile-accordion-trigger{min-height:56px!important;padding:0 14px!important;font-size:15px!important;line-height:1.25!important}
  .mobile-accordion-trigger>span:last-child{width:30px!important;height:30px!important;border-radius:9px!important;background:#eef5fb!important;color:var(--blue)!important;font-size:18px!important}
  .mobile-accordion-panel{padding:8px 14px 13px!important;background:#f9fbfd!important;border-top:1px solid #e7edf3!important}
  .mobile-accordion-panel>a,.mobile-direct{min-height:42px!important;padding:10px 8px!important;font-size:13px!important;line-height:1.35!important;font-weight:650!important;color:#193047!important;border-bottom:1px solid #edf2f6!important;border-radius:7px!important}
  .mobile-accordion-panel>a::after{content:'›';margin-left:auto;color:#91a4b7;font-size:16px}
  .mobile-accordion-panel>a:hover,.mobile-accordion-panel>a:focus-visible{background:#eef5fb!important;color:var(--blue)!important}
  .mobile-group-label{grid-column:1/-1;padding:13px 8px 5px!important;font-size:9px!important}
  .mobile-group-label-spaced{margin-top:4px!important}
  .mobile-direct{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:7px 0!important;border:1px solid #dbe5ee!important;background:#fff!important;padding:0 14px!important;min-height:52px!important;font-size:14px!important;font-weight:800!important}
  .mobile-direct::after{content:'›';color:var(--blue);font-size:18px}
  .mobile-rfq{width:100%!important;margin-top:9px!important;min-height:50px!important}
  .homepage-v160 .hero-grid{grid-template-columns:1fr!important;gap:28px!important}
  .homepage-v160 .hero-principals{order:2!important}
  .homepage-v160 .hero-system{order:3!important}
  .homepage-v160 .hero-copy{order:1!important}
}

@media(min-width:681px) and (max-width:1120px){
  .mobile-accordion-panel{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 16px!important}
  .mobile-accordion-panel[hidden]{display:none!important}
  .mobile-accordion-panel>a{display:flex!important}
}

@media(max-width:680px){
  .utility-inner{height:36px!important}
  .utility-right{gap:7px!important}
  .utility-contact{gap:7px!important;font-size:10px!important}
  .utility-focus,.utility-hours,.utility-contact .utility-sep:nth-of-type(n+2){display:none!important}
  .utility-social{padding-left:7px!important;gap:4px!important}
  .utility-social-link{width:24px!important;height:24px!important}
  .nav-wrap{height:70px!important}
  .site-header.is-scrolled .nav-wrap{height:66px!important}
  .site-header.is-scrolled .brand,.site-header.is-scrolled .brand img{width:170px!important}
  .mobile-menu-inner{width:min(calc(100% - 20px),520px)!important;padding-top:10px!important}
  .mobile-accordion{margin:5px 0!important}
  .mobile-accordion-trigger{min-height:52px!important;padding:0 12px!important;font-size:14px!important}
  .mobile-accordion-panel{padding:5px 10px 10px!important}
  .mobile-accordion-panel>a{font-size:12.5px!important;padding:9px 6px!important}
  .homepage-v160 .hero{padding-top:32px!important;padding-bottom:28px!important}
  .homepage-v160 .hero h1{font-size:clamp(39px,11.4vw,52px)!important}
  .homepage-v160 .hero-system{min-height:420px!important}
  .homepage-v160 .system-grid{height:420px!important}
  .hero-principals{margin-top:0!important;padding:10px 0 8px!important}
  .hero-principals-head{padding:0 10px 7px!important}
  .hero-principals-label b{font-size:11px!important}
  .hero-principals-link{font-size:9px!important}
  .hero-principals .principal-slot{flex-basis:146px!important;width:146px!important;height:58px!important;padding:7px 14px!important}
  .hero-principals .principal-slot img{max-width:118px!important;max-height:40px!important}
  .homepage-v160 .section{padding-top:54px!important;padding-bottom:54px!important}
}

/* Keep the overall page rhythm premium without oversized dead space. */
.homepage-v160 .section:not(.hero){padding-top:72px;padding-bottom:72px}
.homepage-v160 .section-tight{padding-top:48px;padding-bottom:50px}

@media(prefers-reduced-motion:reduce){
  .scroll-progress{display:none!important}
  .hero-principals .logo-track{animation:none!important;transform:none!important;overflow:visible!important}
  .hero-principals .logo-marquee{overflow-x:auto!important;mask-image:none!important}
  .reveal,.reveal-item{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .site-header,.nav-wrap,.brand,.brand img{transition:none!important}
}


/* v1.6.3 audit corrections: true first-view brands + scaled-desktop mega visibility */
@media(min-width:1121px){
  .homepage-v160 .hero-grid{grid-template-areas:"principals principals" "copy system"!important;grid-template-rows:auto auto!important;gap:26px 58px!important}
  .homepage-v160 .hero-copy{grid-area:copy!important}
  .homepage-v160 .hero-system{grid-area:system!important}
  .homepage-v160 .hero-principals{grid-area:principals!important}
  .has-mega>.mega-panel:not([hidden]){display:block!important}
  .mega-site-header .nav-item{position:static!important}
}
@media(max-width:1120px){
  .homepage-v160 .hero-grid{grid-template-areas:"principals" "copy" "system"!important}
  .homepage-v160 .hero-copy{grid-area:copy!important}
  .homepage-v160 .hero-principals{grid-area:principals!important}
  .homepage-v160 .hero-system{grid-area:system!important}
}

/* v1.6.3 mobile first-view principal rail + ultra-wide conference display tuning */
@media(min-width:2000px){
  :root{--container:1760px}
  .utility-bar{font-size:12px!important}
  .utility-inner{height:36px!important}
  .nav-wrap{grid-template-columns:260px minmax(0,1fr) auto!important;height:92px!important;gap:20px!important}
  .brand,.brand img{width:252px!important}
  .mega-trigger,.nav-direct{font-size:13.5px!important;padding-left:12px!important;padding-right:12px!important}
  .nav-cta{font-size:12.5px!important;min-height:46px!important}
  .homepage-v160 .hero{padding-top:56px!important}
  .homepage-v160 .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(620px,1.1fr)!important;gap:32px 78px!important}
  .homepage-v160 .hero h1{font-size:clamp(68px,3.6vw,84px)!important}
  .homepage-v160 .hero-lead{font-size:18px!important;max-width:760px!important}
  .homepage-v160 .hero-system{min-height:520px!important}
  .homepage-v160 .system-grid{height:520px!important}
  .hero-principals .principal-slot{flex-basis:210px!important;width:210px!important;height:72px!important}
  .hero-principals .principal-slot img{max-width:166px!important;max-height:52px!important}
  .hero-principals-label span{font-size:10px!important}
  .hero-principals-label b{font-size:14px!important}
  .hero-principals-link{font-size:11px!important}
  .section{padding:88px 0!important}
  .section-intro h2,.principals-head h2,.section-heading h2,.copy-block h2,.approach-copy h2,.contact-copy h2,.center-card h2,.rfq-guide h2{font-size:clamp(42px,2.6vw,58px)!important}
  .page-hero-grid{gap:88px!important}
  .page-hero h1{font-size:clamp(60px,3.4vw,78px)!important}
  .page-hero-copy>p:not(.kicker){font-size:17px!important}
}
@media(min-width:3000px){
  :root{--container:2100px}
  .utility-bar{font-size:13px!important}
  .nav-wrap{grid-template-columns:300px minmax(0,1fr) auto!important;height:100px!important}
  .brand,.brand img{width:288px!important}
  .mega-trigger,.nav-direct{font-size:15px!important}
  .nav-cta{font-size:14px!important;min-height:50px!important}
  .homepage-v160 .hero h1{font-size:92px!important}
  .homepage-v160 .hero-lead{font-size:20px!important;line-height:1.72!important}
  .homepage-v160 .hero-system{min-height:600px!important}
  .homepage-v160 .system-grid{height:600px!important}
  .hero-principals .principal-slot{flex-basis:240px!important;width:240px!important;height:82px!important}
  .hero-principals .principal-slot img{max-width:188px!important;max-height:60px!important}
  .page-hero h1{font-size:88px!important}
}


/* v1.6.4 utility hierarchy + native section glide + mobile mega polish */
:root{--motion-ease-v164:cubic-bezier(.22,.74,.24,1);--linkedin:#0A66C2;--youtube:#FF0033}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:96px}
main>section{scroll-snap-align:start;scroll-snap-stop:normal;scroll-margin-top:96px}
body.ux-v164{background:#fff}

/* Top utility bar: clear left / center / right hierarchy and correct brand accents. */
.utility-bar{border-top:4px solid var(--blue)!important;background:#F7F9FB!important}
.utility-inner{height:38px!important;display:grid!important;grid-template-columns:minmax(190px,1fr) auto minmax(390px,1fr)!important;align-items:center!important;gap:20px!important;justify-content:stretch!important}
.utility-email{justify-self:start;min-width:0}
.utility-email a{font-size:11px;font-weight:650;color:#4D6278;text-decoration:none;white-space:nowrap}
.utility-email a:hover{color:var(--blue)}
.utility-focus{justify-self:center;color:var(--blue)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.025em!important;white-space:nowrap!important;text-align:center}
.utility-meta{justify-self:end;display:flex;align-items:center;gap:15px;white-space:nowrap;color:#53677B;font-size:11px}
.utility-meta>a{color:#53677B;text-decoration:none}
.utility-meta>a:hover{color:var(--blue)}
.utility-meta>.utility-hours{padding-left:14px;border-left:1px solid #d9e2eb}
.utility-social{display:flex!important;align-items:center!important;gap:7px!important;padding-left:14px!important;border-left:1px solid #d9e2eb!important}
.utility-social-link{width:30px!important;height:30px!important;border-radius:9px!important;background:#fff!important;transition:transform .2s var(--motion-ease-v164),box-shadow .2s var(--motion-ease-v164),background .2s!important}
.utility-social-link.linkedin{color:var(--linkedin)!important;border-color:rgba(10,102,194,.28)!important}
.utility-social-link.youtube{color:var(--youtube)!important;border-color:rgba(255,0,51,.24)!important}
.utility-social-link.linkedin:hover{color:#fff!important;background:var(--linkedin)!important;border-color:var(--linkedin)!important;box-shadow:0 7px 18px rgba(10,102,194,.20)!important}
.utility-social-link.youtube:hover{color:#fff!important;background:var(--youtube)!important;border-color:var(--youtube)!important;box-shadow:0 7px 18px rgba(255,0,51,.18)!important}

/* Restore the stronger v1.6.2 principals block at the top of the homepage. */
.principals-top-v164{padding:30px 0 31px!important;border-top:0!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);scroll-margin-top:96px}
.principals-top-v164 .principals-head{margin-bottom:14px!important;align-items:end!important}
.principals-top-v164 .principals-head h2{font-size:clamp(28px,2.35vw,42px)!important;line-height:1.08!important;margin:7px 0 0!important;letter-spacing:-.04em!important}
.principals-top-v164 .principals-explore{margin-bottom:5px!important}
.principals-top-v164 .logo-marquee{max-width:100%!important}
.principals-top-v164 .principal-slot{height:92px!important}
.principals-top-v164 .principal-slot img{max-height:62px!important}
.homepage-v160 .hero{padding-top:42px!important}
.homepage-v160 .hero-grid{grid-template-areas:none!important;grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr)!important;grid-template-rows:auto!important;gap:42px 58px!important}
.homepage-v160 .hero-copy,.homepage-v160 .hero-system{grid-area:auto!important}

/* Remove the sources of scroll jank from v1.6.3. Wheel/trackpad stay native. */
.hero-system .system-grid{transform:none!important;transition:none!important}
.reveal-ready .reveal,.reveal-ready .reveal-item{opacity:0;transform:translate3d(0,18px,0);filter:none!important;transition:opacity .64s var(--motion-ease-v164),transform .68s var(--motion-ease-v164);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal-ready .reveal.is-visible,.reveal-ready .reveal-item.is-visible{opacity:1;transform:none;filter:none!important}

/* Mobile navigation now borrows the visual language of the desktop mega menu. */
@media(max-width:1120px){
  .mobile-menu{background:rgba(245,249,252,.985)!important}
  .mobile-menu-inner{width:min(calc(100% - 24px),760px)!important;padding:12px 0 22px!important}
  .mobile-menu-intro{position:relative;overflow:hidden;margin:2px 0 12px;padding:19px 20px 20px;border-radius:17px;background:linear-gradient(135deg,#0D1B2A 0%,#12385f 72%,#1E5AA8 150%);box-shadow:0 14px 32px rgba(13,27,42,.15)}
  .mobile-menu-intro::after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-65px;top:-74px;box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018)}
  .mobile-menu-intro span{display:block;position:relative;z-index:1;color:#9fc7ef;font-size:9px;font-weight:800;letter-spacing:.15em}
  .mobile-menu-intro b{display:block;position:relative;z-index:1;margin-top:7px;max-width:440px;color:#fff;font-size:17px;line-height:1.28;letter-spacing:-.02em}
  .mobile-accordion{margin:8px 0!important;border:1px solid #d8e3ed!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 22px rgba(13,27,42,.045)!important;transition:border-color .22s,box-shadow .22s!important}
  .mobile-accordion:has(.mobile-accordion-trigger[aria-expanded="true"]){border-color:rgba(30,90,168,.35)!important;box-shadow:0 13px 28px rgba(30,90,168,.085)!important}
  .mobile-accordion-trigger{display:grid!important;grid-template-columns:44px minmax(0,1fr) 32px!important;gap:12px!important;align-items:center!important;min-height:66px!important;padding:10px 13px!important;font-size:15px!important}
  .mobile-section-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#eef6fd,#e4f0fb);color:var(--blue);border:1px solid #d8e8f5}
  .mobile-section-icon svg{width:21px;height:21px}
  .mobile-section-title{font-weight:800;color:var(--navy);letter-spacing:-.012em}
  .mobile-section-toggle{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#eef5fb!important;color:var(--blue)!important;font-size:18px!important;line-height:1!important}
  .mobile-accordion-trigger[aria-expanded="true"] .mobile-section-icon{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 7px 15px rgba(30,90,168,.16)}
  .mobile-accordion-panel{padding:10px 11px 12px!important;background:#f8fbfd!important;border-top:1px solid #e3ebf2!important}
  .mobile-accordion-panel>a{display:flex!important;align-items:center!important;min-height:45px!important;margin:4px 0!important;padding:10px 12px!important;border:1px solid transparent!important;border-radius:11px!important;background:#fff!important;color:#244057!important;font-size:12.75px!important;font-weight:700!important;box-shadow:0 2px 7px rgba(13,27,42,.025)!important}
  .mobile-accordion-panel>a::after{content:'›'!important;margin-left:auto!important;padding-left:10px!important;color:#8ba0b4!important;font-size:17px!important}
  .mobile-accordion-panel>a:hover,.mobile-accordion-panel>a:focus-visible{border-color:#cddfec!important;background:#eef6fd!important;color:var(--blue)!important}
  .mobile-group-label{margin:8px 0 3px!important;padding:0 7px!important;color:#7890a7!important;font-size:8.5px!important;letter-spacing:.14em!important}
  .mobile-direct{display:grid!important;grid-template-columns:44px minmax(0,1fr) 32px!important;gap:12px!important;align-items:center!important;min-height:64px!important;margin:8px 0!important;padding:10px 13px!important;border:1px solid #d8e3ed!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 22px rgba(13,27,42,.045)!important;text-decoration:none!important}
  .mobile-direct::after{content:none!important}
  .mobile-contact-arrow{font-size:20px!important}
  .mobile-rfq{min-height:52px!important;margin-top:12px!important;border-radius:13px!important;font-size:13px!important}
  .homepage-v160 .hero-grid{grid-template-areas:none!important;grid-template-columns:1fr!important;gap:28px!important}
  .homepage-v160 .hero-copy,.homepage-v160 .hero-system{grid-area:auto!important}
}

@media(min-width:681px) and (max-width:1120px){
  .mobile-accordion-panel{grid-template-columns:1fr 1fr!important;gap:5px 10px!important}
}

@media(max-width:680px){
  .utility-inner{height:36px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .utility-email{min-width:0}
  .utility-email a{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;font-size:10px}
  .utility-focus,.utility-meta>a,.utility-meta>.utility-hours{display:none!important}
  .utility-meta{gap:0!important}
  .utility-social{padding-left:0!important;border-left:0!important;gap:5px!important}
  .utility-social-link{width:26px!important;height:26px!important;border-radius:8px!important}
  .principals-top-v164{padding:22px 0 24px!important}
  .principals-top-v164 .principals-head{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-bottom:10px!important}
  .principals-top-v164 .principals-head h2{font-size:29px!important}
  .principals-top-v164 .principals-explore{font-size:10px!important;margin:0!important}
  .principals-top-v164 .logo-marquee{mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)!important}
  .principals-top-v164 .principal-slot{width:200px!important;height:82px!important;padding:12px 22px!important}
  .principals-top-v164 .principal-slot img{max-width:160px!important;max-height:54px!important}
  .homepage-v160 .hero{padding-top:30px!important}
  .mobile-menu-inner{width:min(calc(100% - 16px),520px)!important;padding-top:8px!important}
  .mobile-menu-intro{margin-bottom:8px;padding:17px 16px 18px;border-radius:14px}
  .mobile-menu-intro b{font-size:15px}
  .mobile-accordion{margin:6px 0!important;border-radius:14px!important}
  .mobile-accordion-trigger{grid-template-columns:40px minmax(0,1fr) 30px!important;min-height:60px!important;gap:10px!important;padding:9px 11px!important;font-size:14px!important}
  .mobile-section-icon{width:38px;height:38px;border-radius:11px}
  .mobile-section-icon svg{width:19px;height:19px}
  .mobile-accordion-panel{display:block!important;padding:7px 8px 9px!important}
  .mobile-accordion-panel>a{min-height:43px!important;margin:3px 0!important;padding:9px 10px!important;font-size:12.5px!important}
  .mobile-direct{grid-template-columns:40px minmax(0,1fr) 30px!important;min-height:60px!important;padding:9px 11px!important;border-radius:14px!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;scroll-snap-type:none!important}
  .reveal,.reveal-item{opacity:1!important;transform:none!important;transition:none!important}
  .logo-track{animation:none!important}
}

/* v1.6.4 final responsive utility tuning */
.scroll-progress{height:4px!important}
.scroll-progress>i{background:var(--blue)!important}
@media(max-width:980px) and (min-width:681px){
  .utility-inner{grid-template-columns:minmax(150px,1fr) auto auto!important;gap:12px!important}
  .utility-meta>.utility-hours{display:none!important}
  .utility-meta{gap:10px!important}
  .utility-social{padding-left:10px!important}
  .utility-focus{font-size:9px!important}
}
@media(max-width:820px) and (min-width:681px){
  .utility-inner{grid-template-columns:minmax(150px,1fr) minmax(0,1fr) auto!important}
  .utility-meta>a{display:none!important}
  .utility-focus{overflow:hidden;text-overflow:ellipsis}
}


/* v1.6.5 verified topbar + free-glide scroll + live principals */
:root{--simplinity-logo-blue:#0250C1;--motion-ease-v165:cubic-bezier(.16,1,.3,1)}

/* Never capture or snap the user's vertical wheel/trackpad. */
html{scroll-behavior:smooth!important;scroll-snap-type:none!important;scroll-padding-top:94px!important}
main>section{scroll-snap-align:none!important;scroll-snap-stop:normal!important;scroll-margin-top:94px!important}
body.ux-v165{overscroll-behavior-y:auto}

/* Exact Simplinity logo-blue top rail, with all office/contact information on the right. */
.utility-bar{border-top:4px solid var(--simplinity-logo-blue)!important;background:#F7F9FB!important}
.utility-inner{height:38px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.utility-focus{flex:0 1 auto!important;justify-self:auto!important;color:var(--simplinity-logo-blue)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.025em!important;white-space:nowrap!important;text-align:left!important}
.utility-meta{margin-left:auto!important;justify-self:auto!important;display:flex!important;align-items:center!important;gap:0!important;white-space:nowrap!important;color:#53677B!important;font-size:11px!important}
.utility-meta>a{color:#53677B!important;text-decoration:none!important;padding:0 14px!important}
.utility-meta>a:first-child{padding-left:0!important}
.utility-meta>a:hover{color:var(--simplinity-logo-blue)!important}
.utility-meta>.utility-hours{padding:0 14px!important;border-left:1px solid #D8E1E9!important}
.utility-office-email{font-weight:700!important;color:#34526F!important}
.utility-phone{border-left:1px solid #D8E1E9!important}
.utility-social{display:flex!important;align-items:center!important;gap:7px!important;padding-left:14px!important;border-left:1px solid #D8E1E9!important}
.utility-social-link{padding:0!important;width:30px!important;height:30px!important;border-radius:9px!important;background:#fff!important;transition:transform .22s var(--motion-ease-v165),box-shadow .22s var(--motion-ease-v165),background .22s!important}
.utility-social-link.linkedin{color:#0A66C2!important;border-color:rgba(10,102,194,.28)!important}
.utility-social-link.youtube{color:#FF0033!important;border-color:rgba(255,0,51,.24)!important}
.utility-social-link:hover{transform:translateY(-2px)!important;box-shadow:0 7px 16px rgba(13,27,42,.09)!important}

/* The relocated principals block deliberately uses the exact regular/private site rules. */
.homepage-v160 main>.principals.section-tight{padding:58px 0 64px!important;border-block:1px solid #EBF0F4!important;background:#fff!important}
.homepage-v160 main>.principals .principals-head{display:grid!important;grid-template-columns:1fr auto!important;gap:60px!important;align-items:end!important;margin-bottom:26px!important}
.homepage-v160 main>.principals .principals-head h2{font-size:clamp(34px,4vw,56px)!important;line-height:1.06!important;letter-spacing:-.052em!important;color:var(--navy)!important;margin:9px 0 18px!important}
.homepage-v160 main>.principals .principals-explore{font-size:12px!important;font-weight:800!important;color:var(--blue)!important;text-decoration:none!important;margin-bottom:20px!important}
.homepage-v160 main>.principals .logo-marquee{overflow:hidden!important;width:100%!important;max-width:1180px!important;margin:auto!important;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)!important}
.homepage-v160 main>.principals .logo-track{display:flex!important;grid-template-columns:none!important;gap:0!important;width:max-content!important;animation:logo-scroll-v15 30s linear infinite!important;will-change:transform!important}
.homepage-v160 main>.principals .principal-slot{width:295px!important;height:106px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;padding:16px 28px!important;flex:none!important}
.homepage-v160 main>.principals .principal-slot img{max-width:205px!important;max-height:66px!important;width:auto!important;height:auto!important}
.homepage-v160 main>.principals .logo-marquee:hover .logo-track{animation-play-state:paused!important}

/* Motion: movement is visual only. It never intercepts wheel/touch events. */
.reveal-ready .reveal,.reveal-ready .reveal-item{opacity:0;transform:translate3d(0,24px,0) scale(.994);filter:none!important;transition:opacity .72s var(--motion-ease-v165),transform .78s var(--motion-ease-v165)!important;transition-delay:var(--reveal-delay,0ms)!important;will-change:opacity,transform}
.reveal-ready .reveal.is-visible,.reveal-ready .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:none!important}
.scroll-progress{height:3px!important;background:transparent!important}
.scroll-progress>i{background:var(--simplinity-logo-blue)!important}

/* Scroll-driven parallax is compositor-driven in supported browsers and never captures scroll. */
@supports (animation-timeline:view()){
  .homepage-v160 .hero-system{animation:v165HeroFloat linear both;animation-timeline:view();animation-range:entry 0% exit 100%;will-change:transform}
  .homepage-v160 .technical-bridge,.homepage-v160 .home-approach{animation:v165SectionFloat linear both;animation-timeline:view();animation-range:entry 8% cover 35%;will-change:transform,opacity}
  @keyframes v165HeroFloat{0%{transform:translate3d(0,18px,0)}50%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-18px,0)}}
  @keyframes v165SectionFloat{0%{opacity:.82;transform:translate3d(0,16px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
}

/* Tablet utility stays readable without pushing navigation into the wrong breakpoint. */
@media(max-width:980px) and (min-width:681px){
  .utility-inner{gap:12px!important}
  .utility-focus{font-size:9px!important;max-width:42vw!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .utility-meta>.utility-hours{display:none!important}
  .utility-meta>a{padding:0 10px!important}
  .utility-social{padding-left:10px!important}
}
@media(max-width:820px) and (min-width:681px){
  .utility-phone{display:none!important}
}

/* Phone: office email + true-color social icons remain visible, all on the right-side contact zone. */
@media(max-width:680px){
  .utility-inner{height:38px!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}
  .utility-focus{display:none!important}
  .utility-meta{width:100%!important;justify-content:flex-end!important;gap:0!important}
  .utility-office-email{display:block!important;margin-right:auto!important;padding:0 9px 0 0!important;max-width:205px!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10px!important}
  .utility-phone,.utility-meta>.utility-hours{display:none!important}
  .utility-social{padding-left:9px!important;border-left:1px solid #D8E1E9!important;gap:5px!important}
  .utility-social-link{width:27px!important;height:27px!important;border-radius:8px!important}
  .homepage-v160 main>.principals.section-tight{padding:34px 0 40px!important}
  .homepage-v160 main>.principals .principals-head{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-bottom:15px!important}
  .homepage-v160 main>.principals .principals-head h2{font-size:31px!important;margin-bottom:5px!important}
  .homepage-v160 main>.principals .principals-explore{font-size:10px!important;margin:0!important}
  .homepage-v160 main>.principals .logo-marquee{max-width:none!important;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)!important}
  .homepage-v160 main>.principals .principal-slot{width:220px!important;height:92px!important;padding:14px 24px!important}
  .homepage-v160 main>.principals .principal-slot img{max-width:170px!important;max-height:56px!important}
}

/* mobile office-email visibility correction against older higher-specificity utility rules */
@media(max-width:680px){
  .utility-meta>a.utility-office-email{display:block!important;margin-right:auto!important;padding:0 9px 0 0!important;max-width:205px!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10px!important;white-space:nowrap!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;scroll-snap-type:none!important}
  .homepage-v160 .hero-system,.homepage-v160 .technical-bridge,.homepage-v160 .home-approach{animation:none!important;transform:none!important;opacity:1!important}
  .reveal,.reveal-item{opacity:1!important;transform:none!important;transition:none!important}
  .logo-track{animation:none!important}
}

/* v1.6.6 utility-strip-only correction: logo-blue bar + centered capability line. */
.utility-bar{
  background:var(--simplinity-logo-blue)!important;
  border-top-color:var(--simplinity-logo-blue)!important;
  border-bottom-color:var(--simplinity-logo-blue)!important;
}
.utility-inner{
  position:relative!important;
  justify-content:flex-end!important;
}
.utility-focus{
  position:absolute!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  color:#fff!important;
  text-align:center!important;
}
.utility-meta,
.utility-meta>a,
.utility-meta>.utility-hours,
.utility-office-email,
.utility-phone{
  color:#fff!important;
}
.utility-meta>a:hover{color:#fff!important;opacity:.86}
.utility-meta>.utility-hours,
.utility-phone,
.utility-social{border-left-color:rgba(255,255,255,.34)!important}
@media(max-width:680px){
  .utility-focus{display:none!important}
}
@media(max-width:1320px) and (min-width:981px){
  .utility-focus{font-size:9px!important;letter-spacing:0!important}
  .utility-meta{font-size:10px!important}
  .utility-meta>a{padding:0 8px!important}
  .utility-meta>.utility-hours{padding:0 8px!important}
  .utility-social{padding-left:8px!important;gap:5px!important}
  .utility-social-link{width:27px!important;height:27px!important}
}

/* v1.6.7 responsive utility-strip hardening */
/*
   Approved desktop hierarchy is preserved:
   - exact centered capability statement
   - office/contact cluster on the right
   - Simplinity blue strip
   - native LinkedIn / YouTube icon colours

   At narrower tablet widths, lower-priority phone/hours metadata is
   progressively removed before it can collide with the centered statement.
*/
.utility-inner{min-width:0!important}
.utility-focus{z-index:1!important;max-width:calc(100% - 760px)!important;overflow:visible!important;text-overflow:clip!important}
.utility-meta{position:relative!important;z-index:2!important;min-width:0!important}
.utility-meta>a.utility-office-email{display:inline-flex!important}

/* Full desktop: all approved metadata remains visible. */
@media(min-width:1181px){
  .utility-focus{font-size:10px!important;letter-spacing:.025em!important;max-width:none!important}
  .utility-phone,.utility-meta>.utility-hours{display:inline-flex!important}
}

/* Compact desktop / conference scaling: keep phone, drop hours first. */
@media(max-width:1180px) and (min-width:1051px){
  .utility-focus{font-size:9px!important;letter-spacing:0!important;max-width:420px!important}
  .utility-meta{font-size:10px!important}
  .utility-meta>.utility-hours{display:none!important}
  .utility-phone{display:inline-flex!important}
  .utility-meta>a{padding:0 8px!important}
  .utility-social{padding-left:8px!important;gap:5px!important}
  .utility-social-link{width:27px!important;height:27px!important}
}

/* Tablet landscape: preserve office email + socials; phone/hours yield to the centered capability line. */
@media(max-width:1050px) and (min-width:821px){
  .utility-inner{height:38px!important;gap:8px!important}
  .utility-focus{display:block!important;font-size:8.65px!important;letter-spacing:-.005em!important;max-width:390px!important;white-space:nowrap!important}
  .utility-meta{font-size:9.5px!important}
  .utility-phone,.utility-meta>.utility-hours{display:none!important}
  .utility-meta>a.utility-office-email{display:inline-flex!important;padding:0 7px 0 0!important;font-size:9.5px!important;max-width:172px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .utility-social{padding-left:7px!important;gap:5px!important}
  .utility-social-link{width:26px!important;height:26px!important;border-radius:8px!important}
  .utility-social-link svg{width:12px!important;height:12px!important}
}

/* Tablet portrait: keep the same hierarchy but compact it enough to avoid overlap. */
@media(max-width:820px) and (min-width:681px){
  .utility-inner{height:38px!important;gap:5px!important}
  .utility-focus{display:block!important;font-size:7.8px!important;letter-spacing:-.012em!important;max-width:305px!important;white-space:nowrap!important}
  .utility-meta{font-size:8.8px!important}
  .utility-phone,.utility-meta>.utility-hours{display:none!important}
  .utility-meta>a.utility-office-email{display:inline-flex!important;padding:0 6px 0 0!important;font-size:8.8px!important;max-width:152px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .utility-social{padding-left:6px!important;gap:4px!important}
  .utility-social-link{width:24px!important;height:24px!important;border-radius:7px!important}
  .utility-social-link svg{width:11px!important;height:11px!important}
}

/* Phone: capability statement intentionally yields; office email + socials stay available. */
@media(max-width:680px){
  .utility-focus{display:none!important}
  .utility-meta{width:100%!important;justify-content:flex-end!important}
  .utility-meta>a.utility-office-email{display:inline-flex!important;margin-right:auto!important;padding:0 8px 0 0!important;max-width:210px!important;font-size:10px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .utility-phone,.utility-meta>.utility-hours{display:none!important}
  .utility-social{padding-left:8px!important;gap:5px!important}
}


/* v1.6.8 mobile utility + sticky-header stability repair */
/*
   Mobile keeps every requested contact item visible without compressing them
   into one unreadable row. The utility strip and navigation bar form one
   stable sticky stack, preventing the older overlap/jump when scrolling back
   toward the top of the page.
*/
@media(max-width:920px){
  .utility-bar{
    position:sticky!important;
    top:0!important;
    z-index:120!important;
    box-shadow:none!important;
  }
  .site-header{
    position:sticky!important;
    top:38px!important;
    z-index:110!important;
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transform:none!important;
    transition:box-shadow .2s ease!important;
  }
}

@media(max-width:680px){
  .utility-bar{min-height:52px!important}
  .utility-inner{
    height:52px!important;
    min-height:52px!important;
    display:block!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
  }
  .utility-focus{display:none!important}
  .utility-meta{
    width:100%!important;
    height:44px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:22px 22px!important;
    grid-template-areas:
      "email social social"
      "phone hours hours"!important;
    align-items:center!important;
    gap:0 8px!important;
    font-size:9.25px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .utility-meta>a.utility-office-email{
    grid-area:email!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:9.25px!important;
  }
  .utility-meta>a.utility-phone{
    grid-area:phone!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
    font-size:9px!important;
  }
  .utility-meta>.utility-hours{
    grid-area:hours!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
    font-size:9px!important;
  }
  .utility-social{
    grid-area:social!important;
    display:flex!important;
    justify-self:end!important;
    align-items:center!important;
    gap:5px!important;
    margin:0!important;
    padding:0!important;
    border-left:0!important;
  }
  .utility-social-link{
    width:26px!important;
    height:26px!important;
    border-radius:8px!important;
  }
  .site-header{top:52px!important}
  .site-header.is-scrolled{box-shadow:0 8px 24px rgba(13,27,42,.08)!important}
}

@media(max-width:360px){
  .utility-meta{column-gap:5px!important;font-size:8.6px!important}
  .utility-meta>a.utility-office-email{font-size:8.6px!important}
  .utility-meta>a.utility-phone,.utility-meta>.utility-hours{font-size:8.45px!important}
  .utility-social{gap:4px!important}
  .utility-social-link{width:24px!important;height:24px!important;border-radius:7px!important}
  .utility-social-link svg{width:11px!important;height:11px!important}
}

/* v1.6.8 sticky-stack measured-height correction */
@media(max-width:920px){
  /* 38px utility inner + 4px top accent + 1px bottom border = 43px rendered */
  .site-header{top:43px!important}
  .mobile-menu-inner{max-height:calc(100dvh - 124px)!important}
}
@media(max-width:680px){
  /* 52px utility inner + 4px top accent + 1px bottom border = 57px rendered */
  .site-header{top:57px!important}
  .mobile-menu-inner{max-height:calc(100dvh - 132px)!important}
}

/* v1.6.9 stable sticky stack + compact mobile utility correction */
/*
   Keep the utility strip and navigation as one predictable sticky stack at
   every viewport. Scrolling never changes navigation geometry, so there is
   no threshold jump when moving down or returning to the top.
*/
:root{--utility-stack-height:43px}
.utility-bar{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  min-height:0!important;
  box-shadow:none!important;
}
.site-header,.mega-site-header{
  position:sticky!important;
  top:var(--utility-stack-height)!important;
  z-index:1100!important;
  transform:none!important;
}
/* Only shadow may react to scroll. Never resize the header or logo. */
.site-header,.nav-wrap,.brand,.brand img{
  transition:box-shadow .2s ease,background-color .2s ease!important;
}
.site-header.is-scrolled{box-shadow:0 9px 28px rgba(13,27,42,.085)!important}
@media(min-width:1280px){
  .site-header.is-scrolled .nav-wrap{height:84px!important;min-height:84px!important}
  .site-header.is-scrolled .brand,.site-header.is-scrolled .brand img{width:215px!important}
}
@media(min-width:1121px) and (max-width:1279px){
  .site-header.is-scrolled .nav-wrap{height:84px!important;min-height:84px!important}
  .site-header.is-scrolled .brand,.site-header.is-scrolled .brand img{width:176px!important}
}
@media(max-width:1120px){
  .site-header.is-scrolled .nav-wrap{height:76px!important;min-height:76px!important}
  .mobile-menu-inner{max-height:calc(100dvh - 119px)!important}
}

/* Phone returns to the clean one-row treatment: email + social links only. */
@media(max-width:680px){
  .utility-bar{min-height:0!important}
  .utility-inner{
    height:38px!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    padding:0!important;
    gap:8px!important;
  }
  .utility-focus{display:none!important}
  .utility-meta{
    width:100%!important;
    height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:0!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .utility-meta>a.utility-office-email{
    display:inline-flex!important;
    align-items:center!important;
    margin-right:auto!important;
    padding:0 8px 0 0!important;
    max-width:210px!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
  }
  .utility-meta>a.utility-phone,.utility-meta>.utility-hours{display:none!important}
  .utility-social{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    margin:0!important;
    padding-left:8px!important;
    border-left:1px solid rgba(255,255,255,.34)!important;
  }
  .utility-social-link{width:27px!important;height:27px!important;border-radius:8px!important}
  .site-header.is-scrolled .nav-wrap{height:70px!important;min-height:70px!important}
  .site-header.is-scrolled .brand,.site-header.is-scrolled .brand img{width:184px!important}
  .mobile-menu-inner{max-height:calc(100dvh - 113px)!important}
}

/* Anchor targets account for the complete sticky stack instead of hiding underneath it. */
@media(min-width:1121px){html{scroll-padding-top:139px!important}main>section{scroll-margin-top:139px!important}}
@media(max-width:1120px) and (min-width:681px){html{scroll-padding-top:131px!important}main>section{scroll-margin-top:131px!important}}
@media(max-width:680px){html{scroll-padding-top:125px!important}main>section{scroll-margin-top:125px!important}}

/* v1.6.9 audit correction: keep navigation geometry identical before/after scroll at every breakpoint. */
:root{--stable-nav-height:84px;--stable-brand-width:215px}
.nav-wrap,.site-header.is-scrolled .nav-wrap{height:var(--stable-nav-height)!important;min-height:var(--stable-nav-height)!important}
.brand,.brand img,.site-header.is-scrolled .brand,.site-header.is-scrolled .brand img{width:var(--stable-brand-width)!important}
@media(max-width:680px){:root{--stable-nav-height:70px;--stable-brand-width:166px}}
@media(min-width:681px) and (max-width:920px){:root{--stable-nav-height:76px;--stable-brand-width:205px}}
@media(min-width:921px) and (max-width:1120px){:root{--stable-nav-height:76px;--stable-brand-width:210px}}
@media(min-width:1121px) and (max-width:1279px){:root{--stable-nav-height:84px;--stable-brand-width:176px}}
@media(min-width:1280px) and (max-width:1999px){:root{--stable-nav-height:84px;--stable-brand-width:215px}}
@media(min-width:2000px) and (max-width:2999px){:root{--stable-nav-height:92px;--stable-brand-width:252px}}
@media(min-width:3000px){:root{--stable-nav-height:100px;--stable-brand-width:288px}}


/* v1.7.0 content-truth + UX consolidation */
/* Tighter rhythm, more readable secondary copy, compact principal rail and non-blocking motion. */
.ux-v170 .section{padding:86px 0}
.ux-v170 .kicker{font-size:10px}
.ux-v170 .feature-card p,.ux-v170 .principal-card p,.ux-v170 .media-card p,.ux-v170 .resource-card p,.ux-v170 .award-copy-v160 p{font-size:12px;line-height:1.68}
.ux-v170 .hero-proof span{font-size:10px}.ux-v170 .system-overlay small{font-size:9.5px}
.ux-v170 .mega-card-copy small{font-size:11px;line-height:1.4}
.ux-v170 .footer-brand p,.ux-v170 .footer-main div>a{font-size:11px}

/* Principal strip stays first, but no longer consumes a whole screen before the value proposition. */
.principals-top-v170{padding:20px 0 22px!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-top:0!important}
.principals-top-v170 .principals-head{margin-bottom:5px!important;grid-template-columns:1fr auto!important;gap:24px!important;align-items:center!important}
.principals-top-v170 .principals-head h2{font-size:clamp(24px,2.05vw,34px)!important;line-height:1.1!important;margin:4px 0 0!important;letter-spacing:-.035em!important}
.principals-top-v170 .principals-explore{font-size:11px;font-weight:800;color:var(--blue);text-decoration:none;white-space:nowrap}
.principals-top-v170 .logo-marquee{max-width:100%!important}
.principals-top-v170 .principal-slot{width:250px!important;height:72px!important;padding:10px 24px!important}
.principals-top-v170 .principal-slot img{max-width:185px!important;max-height:50px!important}
.principals-top-v170 .logo-track{animation-duration:38s!important}

/* Homepage proof without unconfirmed testimonials. */
.home-customer-strip-v170{margin-bottom:24px}
.trust-proof-grid-v170{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
.trust-proof-card-v170{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:210px}
.trust-proof-card-v170>span{width:68px;height:68px;border-radius:18px;background:linear-gradient(145deg,#0d2034,#1e5aa8);color:var(--yellow);display:grid;place-items:center;font-size:14px;font-weight:900}
.trust-proof-card-v170 small{font-size:9px;letter-spacing:.12em;color:#718498;font-weight:800}
.trust-proof-card-v170 h3{font-size:20px;margin:8px 0 9px;letter-spacing:-.025em}
.trust-proof-card-v170 p{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 12px}
.trust-proof-card-v170 .text-link{margin-top:auto}

/* About vision / growth proof. */
.vision-growth-grid-v170{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.vision-panel-v170,.growth-panel-v170{border:1px solid var(--line);border-radius:22px;background:#fff;padding:34px}
.vision-panel-v170 h2,.growth-panel-v170 h2{font-size:clamp(30px,3vw,44px);line-height:1.08;letter-spacing:-.045em;margin:8px 0 20px}
.vision-points-v170{display:grid;gap:12px}.vision-points-v170 article{border-top:1px solid var(--line);padding-top:16px}.vision-points-v170 small{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--blue)}
.vision-points-v170 p,.vision-points-v170 li,.growth-note-v170{font-size:12px;line-height:1.65;color:var(--muted)}
.vision-points-v170 ul{margin:8px 0 0;padding-left:18px}.vision-points-v170 li{margin:7px 0}
.growth-bars-v170{height:265px;display:grid;grid-template-columns:repeat(5,1fr);gap:9px;align-items:end;padding-top:20px;border-bottom:1px solid var(--line)}
.growth-bars-v170>div{height:var(--v);min-height:64px;border-radius:12px 12px 0 0;background:linear-gradient(180deg,#1e5aa8,#0d3d70);padding:10px 7px;display:flex;flex-direction:column;justify-content:flex-start;text-align:center;color:#fff;position:relative}
.growth-bars-v170 b{font-size:10px}.growth-bars-v170 span{position:absolute;top:100%;left:0;right:0;margin-top:7px;color:#6c8094;font-size:8.5px;font-weight:700}

/* History and attribution clarity. */
.history-timeline-v170{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative}
.history-timeline-v170 article{border:1px solid var(--line);border-radius:20px;padding:30px;background:#fff;min-height:250px}
.history-timeline-v170 article:nth-child(2){background:linear-gradient(145deg,#0d1b2a,#123b65);color:#fff;border-color:transparent}
.history-timeline-v170 span{font-size:9px;font-weight:800;letter-spacing:.13em;color:var(--blue)}.history-timeline-v170 article:nth-child(2) span{color:#9fc7ef}
.history-timeline-v170 h3{font-size:24px;letter-spacing:-.035em;margin:12px 0}.history-timeline-v170 p{font-size:12px;line-height:1.7;color:var(--muted)}.history-timeline-v170 article:nth-child(2) p{color:#d2deea}

/* Achievements / quality. */
.legacy-recognition-v170{display:flex;justify-content:space-between;align-items:center;gap:28px;border:1px solid var(--line);border-radius:20px;padding:28px 30px;background:#f7fafc;margin:28px 0}
.legacy-recognition-v170 h3{font-size:25px;margin:7px 0 9px}.legacy-recognition-v170 p{font-size:12px;line-height:1.7;color:var(--muted);max-width:840px}
.quality-proof-grid-v170{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.quality-certificate-v170,.duns-card-v170{border:1px solid var(--line);border-radius:22px;background:#fff;padding:26px}
.quality-certificate-v170{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:28px;align-items:center}
.quality-certificate-image-v170{border:1px solid #e2eaf0;border-radius:15px;background:#fff;padding:10px}.quality-certificate-image-v170 img{width:100%;height:auto}
.quality-certificate-v170 small,.duns-card-v170>span{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--blue)}
.quality-certificate-v170 h3{font-size:32px;margin:7px 0 16px}.quality-certificate-v170 dl,.duns-card-v170 dl{margin:0}.quality-certificate-v170 dl div,.duns-card-v170 dl div{border-top:1px solid var(--line);padding:11px 0}.quality-certificate-v170 dt,.duns-card-v170 dt{font-size:8px;font-weight:800;letter-spacing:.1em;color:#789}.quality-certificate-v170 dd,.duns-card-v170 dd{margin:4px 0 0;font-size:12px;line-height:1.55}.duns-card-v170 strong{display:block;font-size:32px;color:var(--navy);letter-spacing:-.04em;margin:12px 0}.duns-card-v170 p{font-size:12px;line-height:1.65;color:var(--muted)}
.quality-note-v170{margin-top:14px;border-left:4px solid var(--yellow);background:#fffaf0;padding:17px 20px;border-radius:0 12px 12px 0}.quality-note-v170 b{font-size:11px}.quality-note-v170 p{font-size:11px;line-height:1.6;color:#6b7785;margin:5px 0 0}

/* Infrastructure and careers. */
.facility-flow-v170{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.facility-flow-v170 article{border:1px solid var(--line);border-radius:16px;padding:22px;background:#f8fafc}.facility-flow-v170 span{font-size:9px;font-weight:800;color:var(--blue)}.facility-flow-v170 h3{font-size:18px;margin:8px 0}.facility-flow-v170 p{font-size:11.5px;color:var(--muted);line-height:1.65;margin:0}
.career-family-grid-v170{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.career-family-grid-v170 article{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff}.career-family-grid-v170 span{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--blue)}.career-family-grid-v170 h3{font-size:21px;margin:10px 0}.career-family-grid-v170 p{font-size:12px;line-height:1.68;color:var(--muted)}
.career-apply-v170{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.career-apply-copy-v170 h2{font-size:clamp(36px,4vw,56px);letter-spacing:-.05em;margin:8px 0 16px}.career-apply-copy-v170 p{font-size:13px;line-height:1.75;color:var(--muted);max-width:760px}.career-expect-v170{border-radius:20px;background:var(--navy);padding:30px;color:#fff}.career-expect-v170 small{color:#9fc7ef;font-size:9px;letter-spacing:.12em;font-weight:800}.career-expect-v170 ul{margin:14px 0 0;padding-left:18px}.career-expect-v170 li{margin:10px 0;color:#d8e2ec;font-size:12px}

/* Projects & media: click-to-load avoids 14 iframes competing during initial render. */
.media-category-v170{margin-top:42px}.media-category-head-v170{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:14px}.media-category-head-v170 h3{font-size:27px;margin:0;letter-spacing:-.035em}.media-category-head-v170 p{font-size:12px;color:var(--muted);max-width:620px;margin:0;line-height:1.6}
.video-launch-v170{border:0;width:100%;height:100%;cursor:pointer;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 68% 32%,rgba(30,90,168,.42),transparent 22%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(135deg,#091725,#133c63);background-size:auto,26px 26px,26px 26px,auto;color:#fff;overflow:hidden}
.video-launch-v170:before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-75px;top:-90px;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 76px rgba(255,255,255,.018)}
.video-play-v170{width:58px;height:58px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-size:18px;padding-left:3px;box-shadow:0 16px 34px rgba(0,0,0,.25);z-index:1;transition:transform .2s}.video-launch-v170:hover .video-play-v170{transform:scale(1.07)}
.video-launch-label-v170{position:absolute;left:14px;bottom:12px;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#cce2f6}

/* Authority pages: substantial, structured and useful rather than thin city stubs. */
.authority-app-grid-v170{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.authority-app-v170{border:1px solid var(--line);border-radius:18px;padding:27px;background:#fff}.authority-app-v170>span{font-size:9px;color:var(--blue);font-weight:800}.authority-app-v170 h3{font-size:19px;margin:8px 0}.authority-app-v170 p{font-size:12px;line-height:1.68;color:var(--muted);margin:0}
.authority-links-faq-v170{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;margin-top:40px;padding-top:34px;border-top:1px solid var(--line)}
.faq-list-v170{display:grid;gap:8px}.faq-item-v170{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.faq-item-v170 summary{cursor:pointer;padding:16px 18px;font-size:12px;font-weight:800;color:var(--navy);list-style:none}.faq-item-v170 summary::-webkit-details-marker{display:none}.faq-item-v170 summary:after{content:"+";float:right;color:var(--blue);font-size:17px}.faq-item-v170[open] summary:after{content:"−"}.faq-item-v170 p{border-top:1px solid var(--line);padding:14px 18px 17px;margin:0;font-size:12px;line-height:1.7;color:var(--muted)}

/* Lifecycle support */
.support-flow-v170{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.support-flow-v170 article{padding:25px;border:1px solid var(--line);border-radius:17px;background:#fff}.support-flow-v170 span{font-size:9px;font-weight:800;color:var(--blue)}.support-flow-v170 h3{font-size:19px;margin:8px 0}.support-flow-v170 p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}

/* Mobile navigation becomes a full remaining-height surface instead of revealing page content below it. */
@media(max-width:1120px){.mobile-menu:not([hidden]){min-height:calc(100dvh - 119px)!important}.mobile-menu-inner{max-height:calc(100dvh - 119px)!important}}
@media(max-width:680px){.mobile-menu:not([hidden]){min-height:calc(100dvh - 113px)!important}.mobile-menu-inner{max-height:calc(100dvh - 113px)!important}}

@media(max-width:980px){
  .trust-proof-grid-v170,.vision-growth-grid-v170,.history-timeline-v170,.quality-proof-grid-v170,.career-family-grid-v170,.career-apply-v170,.authority-links-faq-v170{grid-template-columns:1fr}
  .quality-certificate-v170{grid-template-columns:1fr}.quality-certificate-image-v170{max-width:650px}
  .facility-flow-v170,.authority-app-grid-v170,.support-flow-v170{grid-template-columns:repeat(2,1fr)}
  .growth-bars-v170{height:230px}
  .principals-top-v170 .principals-head{grid-template-columns:1fr!important}.principals-top-v170 .principals-explore{margin-top:3px}
}
@media(max-width:680px){
  .ux-v170 .section{padding:64px 0}
  .principals-top-v170{padding:14px 0 16px!important}.principals-top-v170 .principals-head{margin-bottom:2px!important}.principals-top-v170 .principals-head h2{font-size:21px!important}.principals-top-v170 .kicker{font-size:8px}.principals-top-v170 .principals-explore{font-size:9px}.principals-top-v170 .principal-slot{width:205px!important;height:58px!important;padding:7px 18px!important}.principals-top-v170 .principal-slot img{max-width:150px!important;max-height:42px!important}
  .trust-proof-grid-v170,.facility-flow-v170,.authority-app-grid-v170,.support-flow-v170{grid-template-columns:1fr}.trust-proof-card-v170{grid-template-columns:58px 1fr;padding:20px}.trust-proof-card-v170>span{width:54px;height:54px;border-radius:14px;font-size:11px}
  .vision-panel-v170,.growth-panel-v170{padding:24px}.growth-bars-v170{height:200px;gap:5px}.growth-bars-v170 b{font-size:8px}.growth-bars-v170 span{font-size:7.5px}
  .history-timeline-v170 article{min-height:auto;padding:24px}.legacy-recognition-v170{display:grid;padding:24px}
  .career-family-grid-v170 article{padding:23px}.career-expect-v170{padding:24px}
  .media-category-head-v170{display:block}.media-category-head-v170 p{margin-top:8px}
  .authority-links-faq-v170{gap:26px}
}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none!important}.video-play-v170{transition:none!important}}


/* v1.7.0 final audit refinements */
.authority-prep-v170 .copy-block p{font-size:13px;line-height:1.76;color:var(--muted)}
.authority-prep-v170 .quote-panel li{font-size:12px;line-height:1.55}
@media(max-width:680px){.authority-prep-v170 .copy-block p{font-size:12.5px}.authority-prep-v170 .quote-panel{padding:22px}}


/* v1.7.1 premium inertial motion */
:root{--motion-ease-v171:cubic-bezier(.16,1,.3,1)}

/* The premium desktop engine owns wheel easing. Never stack CSS smooth-scroll on top of it. */
html.motion-v171-active{scroll-behavior:auto!important}
html.motion-v171-active,html.motion-v171-active body{overscroll-behavior-y:none}

/* Pidilite-inspired feel: richer entrance timing, but no snap/locking or blur-heavy effects. */
html.motion-v171-active.reveal-ready .reveal,
html.motion-v171-active.reveal-ready .reveal-item{
  opacity:0;
  transform:translate3d(0,30px,0) scale(.992);
  transition:opacity .82s var(--motion-ease-v171),transform .9s var(--motion-ease-v171)!important;
  transition-delay:var(--reveal-delay,0ms)!important;
  will-change:opacity,transform;
}
html.motion-v171-active.reveal-ready .reveal.is-visible,
html.motion-v171-active.reveal-ready .reveal-item.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

/* Scroll-linked depth is deliberately restrained. It never changes document geometry. */
.motion-parallax-v171{
  transform:translate3d(0,var(--motion-y-v171,0px),0)!important;
  will-change:transform;
}

/* Disable the older CSS scroll-timeline transforms so only one motion system controls these elements. */
html.motion-v171-active .homepage-v160 .hero-system,
html.motion-v171-active .homepage-v160 .technical-bridge,
html.motion-v171-active .homepage-v160 .home-approach{
  animation:none!important;
}

/* Keep the sticky stack crisp while the document is moving every frame. */
html.motion-v171-active .utility-bar,
html.motion-v171-active .site-header{
  backface-visibility:hidden;
  transform:translateZ(0)!important;
}

/* Touch devices keep browser-native momentum. The visual motion remains light and safe. */
@media(pointer:coarse),(hover:none){
  .motion-parallax-v171{transform:none!important;will-change:auto!important}
}

@media(max-width:899px){
  .motion-parallax-v171{transform:none!important;will-change:auto!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .motion-parallax-v171{transform:none!important;will-change:auto!important}
  .reveal,.reveal-item{opacity:1!important;transform:none!important;transition:none!important}
}

/* v1.7.2 Premium Motion II: cinematic reveal choreography */
:root{
  --motion-ease-v172:cubic-bezier(.16,1,.3,1);
  --motion-ease-soft-v172:cubic-bezier(.22,.61,.18,1);
}

/* Hide authored reveal scenes before the deferred motion script is ready, preventing an "already visible" first paint. */
html.motion-prep-v172 .reveal,
html.motion-prep-v172 .principals-top-v170 .principals-head,
html.motion-prep-v172 .principals-top-v170 .logo-marquee,
html.motion-prep-v172 .page-hero-visual,
html.motion-prep-v172 .page-hero-blueprint{
  opacity:0!important;
}

/* v1.7.2 owns reveal choreography. v1.7.1 continues to own the desktop inertial scroll engine. */
html.motion-v172-active.reveal-ready .reveal{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  transition:none!important;
  will-change:auto!important;
}

html.motion-v172-active .motion-label-v172,
html.motion-v172-active .motion-headline-v172,
html.motion-v172-active .motion-copy-v172,
html.motion-v172-active .motion-detail-v172,
html.motion-v172-active .motion-action-v172,
html.motion-v172-active .motion-block-v172,
html.motion-v172-active .motion-visual-v172,
html.motion-v172-active .motion-card-v172{
  transition-delay:var(--motion-delay-v172,0ms)!important;
}

/* Small labels arrive first and establish direction. */
html.motion-v172-active [data-motion-scene-v172]:not(.motion-in-v172) .motion-label-v172{
  opacity:0;
  transform:translate3d(0,18px,0);
}
html.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-label-v172{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:opacity .55s var(--motion-ease-soft-v172),transform .72s var(--motion-ease-v172);
  transition-delay:var(--motion-delay-v172,0ms);
}

/* Headlines use a masked rise instead of a generic fade. */
html.motion-v172-active [data-motion-scene-v172]:not(.motion-in-v172) .motion-headline-v172{
  opacity:.001;
  clip-path:inset(0 0 100% 0);
  transform:translate3d(0,46px,0);
}
html.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-headline-v172{
  opacity:1;
  clip-path:inset(0 0 0 0);
  transform:translate3d(0,0,0);
  transition:clip-path 1.02s var(--motion-ease-v172),transform 1.04s var(--motion-ease-v172),opacity .28s linear;
  transition-delay:var(--motion-delay-v172,0ms);
}

/* Supporting copy follows after the headline so sections visibly unfold rather than appear all at once. */
html.motion-v172-active [data-motion-scene-v172]:not(.motion-in-v172) .motion-copy-v172{
  opacity:0;
  transform:translate3d(0,30px,0);
}
html.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-copy-v172{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:opacity .76s var(--motion-ease-soft-v172),transform .92s var(--motion-ease-v172);
  transition-delay:var(--motion-delay-v172,0ms);
}

html.motion-v172-active [data-motion-scene-v172]:not(.motion-in-v172) .motion-detail-v172,
html.motion-v172-active [data-motion-scene-v172]:not(.motion-in-v172) .motion-action-v172{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.985);
}
html.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-detail-v172,
html.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-action-v172{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  transition:opacity .68s var(--motion-ease-soft-v172),transform .88s var(--motion-ease-v172);
  transition-delay:var(--motion-delay-v172,0ms);
}

/* Standalone blocks enter with more depth than v1.7.1, but never alter layout. */
html.motion-v172-active .motion-block-v172:not(.motion-in-v172){
  opacity:0!important;
  transform:translate3d(0,42px,0) scale(.985)!important;
  clip-path:inset(0 0 9% 0 round 16px);
}
html.motion-v172-active .motion-block-v172.motion-in-v172{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  clip-path:inset(0 0 0 0 round 16px);
  transition:opacity .78s var(--motion-ease-soft-v172),transform 1.02s var(--motion-ease-v172),clip-path 1.06s var(--motion-ease-v172)!important;
  transition-delay:var(--motion-delay-v172,0ms)!important;
}

/* Visuals feel "revealed" rather than simply faded in. */
html.motion-v172-active .motion-visual-v172:not(.motion-in-v172){
  opacity:.001!important;
  transform:translate3d(0,34px,0) scale(1.035)!important;
  clip-path:inset(10% 0 12% 0 round 22px);
}
html.motion-v172-active .motion-visual-v172.motion-in-v172{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  clip-path:inset(0 0 0 0 round 22px);
  transition:opacity .64s var(--motion-ease-soft-v172),transform 1.18s var(--motion-ease-v172),clip-path 1.16s var(--motion-ease-v172)!important;
  transition-delay:var(--motion-delay-v172,0ms)!important;
}

/* Card collections cascade into view with a controlled stagger. */
html.motion-v172-active .motion-group-v172:not(.motion-in-v172) > .motion-card-v172{
  opacity:0!important;
  transform:translate3d(0,42px,0) scale(.972)!important;
}
html.motion-v172-active .motion-group-v172.motion-in-v172 > .motion-card-v172{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  transition:opacity .72s var(--motion-ease-soft-v172),transform .98s var(--motion-ease-v172)!important;
  transition-delay:var(--motion-delay-v172,0ms)!important;
}

/* Hero ecosystem gets a deliberate secondary cascade after the copy begins. */
html.motion-v172-active .hero-system.motion-in-v172 .system-card{
  animation:v172SystemCardIn .92s var(--motion-ease-v172) both;
}
html.motion-v172-active .hero-system.motion-in-v172 .system-card:nth-child(2){animation-delay:80ms}
html.motion-v172-active .hero-system.motion-in-v172 .system-card:nth-child(3){animation-delay:160ms}
html.motion-v172-active .hero-system.motion-in-v172 .system-card:nth-child(4){animation-delay:240ms}
html.motion-v172-active .hero-system.motion-in-v172 .system-hub{animation:v172HubIn .78s .3s var(--motion-ease-v172) both}
@keyframes v172SystemCardIn{from{opacity:0;transform:translate3d(0,28px,0) scale(.955)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes v172HubIn{from{opacity:0;transform:translate(-50%,-50%) scale(.78)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Scroll-linked depth from v1.7.1 remains subtle and combines cleanly with this reveal layer. */
html.motion-v172-active .motion-parallax-v171{
  transform:translate3d(0,var(--motion-y-v171,0px),0) scale(var(--motion-scale-v172,1))!important;
}

/* Premium micro-motion after reveal, without competing with scrolling. */
@media(hover:hover) and (pointer:fine){
  html.motion-v172-active .industry-card,
  html.motion-v172-active .feature-card,
  html.motion-v172-active .related-link,
  html.motion-v172-active .media-card-v170{
    transition:transform .42s var(--motion-ease-v172),box-shadow .42s var(--motion-ease-v172),border-color .32s ease!important;
  }
  html.motion-v172-active .industry-card:hover,
  html.motion-v172-active .feature-card:hover,
  html.motion-v172-active .related-link:hover,
  html.motion-v172-active .media-card-v170:hover{
    transform:translate3d(0,-7px,0)!important;
  }
}

/* Mobile keeps native touch momentum but still receives a lighter, faster reveal choreography. */
@media(max-width:899px){
  html.motion-v172-active [data-motion-scene-v172]:not(.motion-in-v172) .motion-headline-v172{transform:translate3d(0,30px,0)}
  html.motion-v172-active [data-motion-scene-v172]:not(.motion-in-v172) .motion-copy-v172{transform:translate3d(0,20px,0)}
  html.motion-v172-active .motion-block-v172:not(.motion-in-v172),
  html.motion-v172-active .motion-group-v172:not(.motion-in-v172) > .motion-card-v172{transform:translate3d(0,28px,0) scale(.985)!important}
  html.motion-v172-active .motion-visual-v172:not(.motion-in-v172){transform:translate3d(0,24px,0) scale(1.02)!important;clip-path:inset(7% 0 9% 0 round 16px)}
  html.motion-v172-active .motion-visual-v172.motion-in-v172{clip-path:inset(0 0 0 0 round 16px)}
}

@media(prefers-reduced-motion:reduce){
  html.motion-prep-v172 .reveal,
  html.motion-prep-v172 .principals-top-v170 .principals-head,
  html.motion-prep-v172 .principals-top-v170 .logo-marquee,
  html.motion-prep-v172 .page-hero-visual,
  html.motion-prep-v172 .page-hero-blueprint,
  .motion-label-v172,.motion-headline-v172,.motion-copy-v172,.motion-detail-v172,.motion-action-v172,
  .motion-block-v172,.motion-visual-v172,.motion-card-v172{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    animation:none!important;
    transition:none!important;
  }
}


/* v1.8.0 Precision Flow premium experience */
/* Mobile-first adaptive motion: richer choreography on fine-pointer desktop,
   touch-safe native scrolling and lighter reveals on phone/tablet. */
:root{
  --motion-ease-v180:cubic-bezier(.16,1,.3,1);
  --motion-ease-editorial-v180:cubic-bezier(.2,.75,.18,1);
  --flow-blue-v180:#0250c1;
  --flow-yellow-v180:#ffc107;
}

/* Cross-document navigation gets a graceful transition where supported. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:v180PageOut .22s ease both}
::view-transition-new(root){animation:v180PageIn .42s var(--motion-ease-v180) both}
@keyframes v180PageOut{to{opacity:.18;transform:scale(.995)}}
@keyframes v180PageIn{from{opacity:.18;transform:translateY(8px) scale(1.002)}to{opacity:1;transform:none}}

/* Prevent a one-frame flash of fully composed typography before the motion\n   controller splits headings. A timeout in <head> removes this if JS fails. */
html.motion-prep-v180 main h1,
html.motion-prep-v180 main h2{opacity:0!important}

/* Kinetic masked typography. The heading itself remains semantic; only its\n   visual words are wrapped at runtime. */
html.motion-v180-active main h1.motion-kinetic-v180,
html.motion-v180-active main h2.motion-kinetic-v180{
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
}
.motion-word-mask-v180{
  display:inline-block;
  overflow:hidden;
  vertical-align:bottom;
  margin-bottom:-.08em;
  padding-bottom:.08em;
}
.motion-word-v180{
  display:inline-block;
  opacity:0;
  transform:translate3d(0,112%,0) rotate(1.8deg);
  filter:blur(2px);
  transform-origin:0 100%;
  will-change:transform,opacity,filter;
  transition:
    transform .92s var(--motion-ease-v180),
    opacity .42s ease,
    filter .65s ease;
  transition-delay:calc(var(--word-i-v180,0) * var(--word-step-v180,42ms));
}
.motion-kinetic-v180.motion-heading-in-v180 .motion-word-v180{
  opacity:1;
  transform:translate3d(0,0,0) rotate(0);
  filter:blur(0);
}
.motion-kinetic-v180.motion-heading-fast-v180 .motion-word-v180{--word-step-v180:18ms}

/* Precision aperture reveals. */
.motion-aperture-v180{overflow:hidden!important;isolation:isolate}
html.motion-v180-active .motion-aperture-v180:not(.motion-in-v172){
  clip-path:polygon(0 0,0 0,0 100%,0 100%)!important;
  opacity:.45!important;
  transform:translate3d(0,24px,0) scale(1.035)!important;
}
html.motion-v180-active .motion-aperture-v180.motion-in-v172{
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%)!important;
  opacity:1!important;
  transform:translate3d(0,var(--motion-y-v171,0px),0) scale(1)!important;
  transition:clip-path 1.18s var(--motion-ease-v180),opacity .52s ease,transform 1.24s var(--motion-ease-v180)!important;
}
.motion-aperture-v180 img{transform:scale(1.065);transition:transform 1.45s var(--motion-ease-v180)!important}
.motion-aperture-v180.motion-in-v172 img{transform:scale(1)}

/* Section atmosphere is intentionally faint. It creates depth without turning\n   an industrial corporate site into an effects demo. */
.motion-atmosphere-v180{position:relative;isolation:isolate;overflow:clip}
.motion-atmosphere-v180::before{
  content:"";position:absolute;inset:-14%;z-index:-1;pointer-events:none;
  opacity:0;transform:translate3d(0,30px,0) scale(.97);
  background:
    radial-gradient(circle at var(--tone-x-v180,82%) 18%,var(--tone-v180,rgba(2,80,193,.09)),transparent 31%),
    radial-gradient(circle at 15% 88%,rgba(255,193,7,.045),transparent 24%);
  transition:opacity 1.1s ease,transform 1.5s var(--motion-ease-v180);
}
.motion-atmosphere-v180.is-atmosphere-v180::before{opacity:1;transform:translate3d(0,0,0) scale(1)}
.motion-atmosphere-v180>.container{position:relative;z-index:1}

/* Precision Flow story. Desktop uses a sticky visual and scroll-linked process\n   progress; mobile collapses back to a normal, fast vertical story. */
.homepage-v160 .approach.motion-story-v180{position:relative;padding-top:112px;padding-bottom:118px}
.homepage-v160 .approach.motion-story-v180 .approach-grid{align-items:flex-start;gap:clamp(54px,6vw,104px)}
.homepage-v160 .approach.motion-story-v180 .process-list{position:relative;margin-top:42px;padding-left:46px}
.homepage-v160 .approach.motion-story-v180 .process-list::before,
.homepage-v160 .approach.motion-story-v180 .process-list::after{
  content:"";position:absolute;left:13px;top:9px;bottom:14px;width:2px;border-radius:999px
}
.homepage-v160 .approach.motion-story-v180 .process-list::before{background:#dbe6f0}
.homepage-v160 .approach.motion-story-v180 .process-list::after{
  bottom:auto;height:calc(var(--story-progress-v180,0) * (100% - 23px));
  background:linear-gradient(180deg,var(--flow-blue-v180) 0%,#1e74cf 68%,var(--flow-yellow-v180) 100%);
  box-shadow:0 0 18px rgba(2,80,193,.2);transition:height .08s linear
}
.homepage-v160 .approach.motion-story-v180 .process-list li{position:relative;border-color:#e4ebf1;transition:opacity .48s ease,transform .68s var(--motion-ease-v180),border-color .38s ease}
.homepage-v160 .approach.motion-story-v180 .process-list li::before{
  content:"";position:absolute;left:-40px;top:19px;width:10px;height:10px;border-radius:50%;
  background:#fff;border:2px solid #a9bbcb;box-shadow:0 0 0 5px #fff;transition:.38s ease
}
.homepage-v160 .approach.motion-story-v180 .process-list li.is-complete-v180::before,
.homepage-v160 .approach.motion-story-v180 .process-list li.is-active-v180::before{border-color:var(--flow-blue-v180);background:var(--flow-blue-v180)}
.homepage-v160 .approach.motion-story-v180 .process-list li.is-active-v180{opacity:1;transform:translateX(8px);border-color:#c8daeb}
.homepage-v160 .approach.motion-story-v180 .process-list li:not(.is-active-v180):not(.is-complete-v180){opacity:.43}

.story-flow-meter-v180{
  position:absolute;left:18px;right:18px;bottom:18px;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;
  padding:9px;border-radius:14px;background:rgba(7,25,43,.78);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.13);
  box-shadow:0 16px 34px rgba(7,25,43,.22)
}
.story-flow-meter-v180 span{display:grid;gap:2px;padding:8px 7px;border-radius:9px;color:#9eb1c5;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:.35s ease}
.story-flow-meter-v180 span b{font-size:10px;color:inherit}
.story-flow-meter-v180 span.is-active-v180{background:rgba(255,255,255,.1);color:#fff;transform:translateY(-2px)}
.story-flow-meter-v180 span.is-complete-v180{color:#b8dbff}
.story-flow-meter-v180 span.is-active-v180 b{color:var(--flow-yellow-v180)}

@media(min-width:1121px) and (pointer:fine){
  .homepage-v160 .approach.motion-story-v180 .approach-visual{
    position:sticky;top:165px;min-height:min(620px,calc(100vh - 205px));height:min(620px,calc(100vh - 205px));
    align-self:flex-start;transform:translate3d(0,calc((.5 - var(--story-progress-v180,0)) * 10px),0)
  }
  .homepage-v160 .approach.motion-story-v180 .approach-image{height:100%!important;min-height:0!important;transform:scale(calc(1.025 - var(--story-progress-v180,0) * .025));transition:filter .5s ease}
  .homepage-v160 .approach.motion-story-v180 .approach-copy{padding-top:4vh}
  .homepage-v160 .approach.motion-story-v180 .process-list li{min-height:25vh;padding-top:20px;padding-bottom:28px}
}

/* Interactive depth is intentionally desktop-only. It uses CSS variables so\n   reveal transforms can finish first and touch devices never receive tilt. */
@media(hover:hover) and (pointer:fine){
  html.motion-v180-active .motion-group-v172.motion-in-v172>.motion-card-v172.motion-depth-v180,
  html.motion-v180-active .motion-block-v172.motion-in-v172.motion-depth-v180{
    transform:perspective(1100px) rotateX(var(--depth-rx-v180,0deg)) rotateY(var(--depth-ry-v180,0deg)) translate3d(0,var(--depth-y-v180,0px),0)!important;
    transition:transform .28s ease,box-shadow .35s ease,border-color .35s ease!important;
    transform-style:preserve-3d
  }
  .motion-depth-v180:hover{--depth-y-v180:-5px;box-shadow:0 22px 48px rgba(13,27,42,.12)!important}
  .motion-magnetic-v180{translate:var(--mag-x-v180,0px) var(--mag-y-v180,0px);transition:translate .22s var(--motion-ease-v180)}
}

/* Scroll-linked micro movement for selected decorative layers. */
.motion-drift-v180{transform:translate3d(0,var(--drift-y-v180,0px),0)!important;will-change:transform}

/* Mobile/tablet: premium reveal remains, but no sticky storytelling, card tilt,\n   wheel interception, large parallax or delayed content access. */
@media(max-width:1120px), (pointer:coarse){
  .motion-word-v180{transform:translate3d(0,72%,0);filter:blur(1px);transition-duration:.68s,.32s,.44s;transition-delay:calc(var(--word-i-v180,0) * 24ms)}
  .homepage-v160 .approach.motion-story-v180{padding-top:76px;padding-bottom:76px}
  .homepage-v160 .approach.motion-story-v180 .approach-visual{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}
  .homepage-v160 .approach.motion-story-v180 .process-list{padding-left:38px;margin-top:30px}
  .homepage-v160 .approach.motion-story-v180 .process-list li{min-height:0!important;opacity:1!important;transform:none!important;padding-bottom:20px}
  .homepage-v160 .approach.motion-story-v180 .process-list li::before{left:-32px}
  .story-flow-meter-v180{display:none}
  .motion-atmosphere-v180::before{opacity:.35!important;transform:none!important}
  html.motion-v180-active .motion-aperture-v180:not(.motion-in-v172){transform:translate3d(0,16px,0) scale(1.018)!important}
  .motion-aperture-v180 img{transform:scale(1.025)}
}
@media(max-width:680px){
  .motion-word-v180{transition-delay:calc(var(--word-i-v180,0) * 18ms)}
  .homepage-v160 .approach.motion-story-v180{padding-top:64px;padding-bottom:64px}
  .homepage-v160 .approach.motion-story-v180 .process-list{padding-left:34px}
  .homepage-v160 .approach.motion-story-v180 .process-list li::before{left:-28px;width:9px;height:9px}
}

@media(prefers-reduced-motion:reduce){
  html.motion-prep-v180 main h1,html.motion-prep-v180 main h2{opacity:1!important}
  .motion-word-v180{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .motion-aperture-v180,.motion-aperture-v180 img{clip-path:none!important;opacity:1!important;transform:none!important;transition:none!important}
  .motion-atmosphere-v180::before{display:none!important}
  .homepage-v160 .approach.motion-story-v180 .process-list li{opacity:1!important;transform:none!important}
  .homepage-v160 .approach.motion-story-v180 .approach-visual{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}
  .story-flow-meter-v180{display:none!important}
  .motion-magnetic-v180{translate:0 0!important}
  .motion-depth-v180{transform:none!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/* v1.8.0 audit refinements */
.motion-drift-v180{transform:none!important;translate:0 var(--drift-y-v180,0px);will-change:translate}
@media(max-width:1120px){
  .homepage-v160 .approach.motion-story-v180 .approach-image{height:430px!important;min-height:0!important}
}
@media(max-width:680px){
  .homepage-v160 .approach.motion-story-v180 .approach-image{height:300px!important;border-radius:20px!important}
  .homepage-v160 .approach.motion-story-v180 .approach-grid{gap:34px!important}
}
@media(prefers-reduced-motion:reduce){.motion-drift-v180{translate:0 0!important;will-change:auto!important}}

/* v1.8.0 reduced-motion specificity correction */
@media(prefers-reduced-motion:reduce){
  html.motion-v180-active .motion-aperture-v180,
  html.motion-v180-active .motion-aperture-v180.motion-in-v172,
  html.motion-v180-active .motion-aperture-v180:not(.motion-in-v172){clip-path:none!important;opacity:1!important;transform:none!important}
}

/* ==========================================================
   v1.8.1 Visual Integrity + Premium Media Repair
   ========================================================== */
:root{
  --visual-cover-v181:rgba(247,250,252,.98);
}

/* Real image surfaces always remain rendered. The premium aperture is now an
   overlay curtain rather than clipping/opacity on the image container itself.
   This prevents fast-scroll/sticky/observer edge cases from leaving blank areas. */
html.motion-v180-active .motion-aperture-v180,
html.motion-v180-active .motion-aperture-v180:not(.motion-in-v172),
html.motion-v180-active .motion-aperture-v180.motion-in-v172{
  opacity:1!important;
  clip-path:none!important;
  transform:none!important;
}
.motion-aperture-v180{overflow:hidden!important;isolation:isolate}
.motion-aperture-v180::after{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:20;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(2,80,193,.045),transparent 26%),
    var(--visual-cover-v181);
  transform-origin:right center;
  transform:scaleX(1);
  transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity .28s ease;
}
.motion-aperture-v180.motion-in-v172::after{
  transform:scaleX(0);
  opacity:.01;
}
.motion-aperture-v180 img{opacity:1!important;visibility:visible!important}

/* Never hide critical first-view imagery while the motion controller boots. */
html.motion-prep-v172 .page-hero-visual,
html.motion-prep-v172 .home-intro-media,
html.motion-prep-v172 .approach-visual{
  opacity:1!important;
}

/* Application story now uses a real local visual instead of a CSS-only atlas. */
.homepage-v160 .approach-image{
  background:#e9eff5!important;
  overflow:hidden;
  position:relative;
}
.homepage-v160 .approach-image>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(calc(1.035 - var(--story-progress-v180,0) * .035));
  transition:transform .18s linear,filter .5s ease;
}
@media(min-width:1121px) and (pointer:fine){
  .homepage-v160 .approach.motion-story-v180 .approach-image{
    transform:none!important;
  }
}

/* Real packaged media posters replace placeholder-looking dark tiles. */
.home-video-frame,.video-frame{position:relative;overflow:hidden;background:#0d1b2a}
.video-poster-v181{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  transform:scale(1.015);
  filter:saturate(.94) contrast(1.03);
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .45s ease;
}
.home-video-card:hover .video-poster-v181,.video-card:hover .video-poster-v181{
  transform:scale(1.055);
  filter:saturate(1.04) contrast(1.04);
}
.video-launch-v170{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:linear-gradient(180deg,rgba(5,18,32,.05),rgba(5,18,32,.58))!important;
}
.video-launch-v170:before{
  opacity:.34;
}
.video-play-v170{
  box-shadow:0 14px 34px rgba(0,0,0,.3),0 0 0 7px rgba(255,255,255,.1);
}
.video-launch-label-v170{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}

/* Stronger but cleaner image presentation for key internal-page heroes. */
.ux-v181 .page-hero-visual{
  background:#eaf0f5;
  border:1px solid rgba(30,90,168,.12);
}
.ux-v181 .page-hero-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Avoid giant blank-feeling whitespace around the desktop sticky story while
   preserving the authored scroll progression. */
@media(min-width:1121px) and (pointer:fine){
  .homepage-v160 .approach.motion-story-v180{
    padding-top:92px;
    padding-bottom:94px;
  }
  .homepage-v160 .approach.motion-story-v180 .process-list li{
    min-height:20vh;
  }
}

@media(max-width:1120px), (pointer:coarse){
  .motion-aperture-v180::after{transition-duration:.72s}
}
@media(max-width:680px){
  .video-poster-v181{transform:none}
  .home-video-card:hover .video-poster-v181,.video-card:hover .video-poster-v181{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .motion-aperture-v180::after{display:none!important}
  .video-poster-v181{transform:none!important;transition:none!important}
  .homepage-v160 .approach-image>img{transform:none!important;transition:none!important}
}
/* ==========================================================
   v1.8.2 Precision Flow III - scroll-linked editorial motion
   ========================================================== */
:root{
  --motion-ease-v182:cubic-bezier(.16,1,.3,1);
}

/* Each major section gains a very subtle moving atmosphere and engineering
   progress rail. These layers never control the page scroll position. */
.motion-section-v182{
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.motion-section-v182::before{
  content:"";
  position:absolute;
  width:min(46vw,760px);
  height:min(46vw,760px);
  right:-18vw;
  top:8%;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  opacity:var(--v182-glow-opacity,.14);
  translate:0 var(--v182-glow-y,0px);
  background:radial-gradient(circle,rgba(2,80,193,.085) 0%,rgba(2,80,193,.025) 38%,transparent 70%);
  transition:opacity .35s ease;
}
.motion-section-v182:nth-of-type(even)::before{
  right:auto;
  left:-20vw;
  background:radial-gradient(circle,rgba(255,193,7,.055) 0%,rgba(2,80,193,.018) 42%,transparent 72%);
}
.motion-section-v182>.container{position:relative;z-index:1}

@media(min-width:1121px) and (pointer:fine){
  .motion-v182-copy{
    translate:0 var(--v182-copy-y,0px);
    will-change:translate;
  }
  .motion-v182-media{
    translate:0 var(--v182-media-y,0px);
    scale:var(--v182-media-scale,1);
    will-change:translate,scale;
  }
}

/* Headlines receive a sharper editorial entrance. Existing semantic markup is
   retained; v1.8.0 word masks provide the typography structure. */
html.motion-v182-active .motion-kinetic-v180:not(.motion-heading-in-v180) .motion-word-v180{
  transform:translate3d(0,128%,0) rotate(2.6deg);
  filter:blur(3px);
}
html.motion-v182-active .motion-kinetic-v180.motion-heading-in-v180 .motion-word-v180{
  transition-duration:1.02s,.44s,.72s;
}

/* Cards gain a tiny reflective sweep after reveal instead of another generic
   fade. It is intentionally subtle and desktop-only. */
@media(hover:hover) and (pointer:fine){
  html.motion-v182-active .motion-card-v172,
  html.motion-v182-active .motion-block-v172{
    position:relative;
    overflow:hidden;
  }
  html.motion-v182-active .motion-card-v172::after,
  html.motion-v182-active .motion-block-v172::after{
    content:"";
    position:absolute;
    inset:-50% auto -50% -42%;
    width:22%;
    pointer-events:none;
    opacity:0;
    transform:skewX(-18deg) translateX(0);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  }
  html.motion-v182-active .motion-card-v172.motion-in-v172::after,
  html.motion-v182-active .motion-block-v172.motion-in-v172::after{
    animation:v182CardSweep .95s .18s var(--motion-ease-v182) both;
  }
  @keyframes v182CardSweep{
    0%{opacity:0;translate:0 0}
    18%{opacity:.38}
    100%{opacity:0;translate:650% 0}
  }
}

/* Mobile gets the same visual language but never receives a pinned rail,
   artificial inertia or large parallax displacement. */
@media(max-width:1120px),(pointer:coarse){
  .motion-section-v182::before{
    width:74vw;
    height:74vw;
    right:-38vw;
    opacity:.08!important;
    translate:0 0!important;
  }
  .motion-section-v182:nth-of-type(even)::before{left:-40vw;right:auto}
  .motion-v182-copy,.motion-v182-media{translate:0 0!important;scale:1!important}
}

@media(prefers-reduced-motion:reduce){
  .motion-section-v182::before,.motion-section-v182::after{display:none!important}
  .motion-v182-copy,.motion-v182-media{translate:0 0!important;scale:1!important;will-change:auto!important}
  html.motion-v182-active .motion-card-v172::after,
  html.motion-v182-active .motion-block-v172::after{display:none!important}
}


/* v1.8.2 editorial integrity: heading containers must never clip labels/letters. */
.principals-top-v170 .principals-head.motion-block-v172{overflow:visible!important;clip-path:none!important;}
.principals-top-v170 .principals-head.motion-block-v172::after{display:none!important;}
.principals-top-v170 .principals-head .kicker{overflow:visible!important;padding-left:1px;}

/* ==========================================================
   v1.8.3 Visual Clean: remove the decorative vertical flow rail
   site-wide while preserving all other Precision Flow motion.
   ========================================================== */
.motion-section-v182.motion-rail-v182::after{content:none!important;display:none!important;}

/* v1.8.4 Motion Timing Calibration: earlier entry, longer cinematic settle. */
html.motion-v184-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-label-v172{
  transition-duration:.68s,.88s;
}
html.motion-v184-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-headline-v172{
  transition-duration:1.24s,1.28s,.36s;
}
html.motion-v184-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-copy-v172{
  transition-duration:.94s,1.12s;
}
html.motion-v184-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-detail-v172,
html.motion-v184-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-action-v172{
  transition-duration:.86s,1.08s;
}
html.motion-v184-active.motion-v172-active .motion-block-v172.motion-in-v172{
  transition-duration:.94s,1.28s,1.30s!important;
}
html.motion-v184-active.motion-v172-active .motion-visual-v172.motion-in-v172{
  transition-duration:.82s,1.42s,1.38s!important;
}
html.motion-v184-active.motion-v172-active .motion-group-v172.motion-in-v172 > .motion-card-v172{
  transition-duration:.90s,1.18s!important;
}
html.motion-v184-active .motion-word-v180{
  transition-duration:1.12s,.50s,.82s;
  transition-delay:calc(var(--word-i-v180,0) * 38ms);
}
html.motion-v184-active .motion-kinetic-v180.motion-heading-fast-v180 .motion-word-v180{
  --word-step-v180:22ms;
}
@media(max-width:1120px),(pointer:coarse){
  html.motion-v184-active .motion-word-v180{transition-duration:.78s,.36s,.54s;transition-delay:calc(var(--word-i-v180,0) * 20ms)}
}
@media(prefers-reduced-motion:reduce){
  html.motion-v184-active .motion-word-v180{transition:none!important}
}


/* ==========================================================
   v1.8.5 Motion Tail Calibration
   Longer reveal life, early entry and tiny-width contact repair.
   No global decorative Precision Flow rail is reintroduced.
   ========================================================== */
html.motion-v185-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-label-v172{
  transition-duration:.74s,.96s;
}
html.motion-v185-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-headline-v172{
  transition-duration:1.36s,1.42s,.40s;
}
html.motion-v185-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-copy-v172{
  transition-duration:1.04s,1.22s;
}
html.motion-v185-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-detail-v172,
html.motion-v185-active.motion-v172-active [data-motion-scene-v172].motion-in-v172 .motion-action-v172{
  transition-duration:.96s,1.18s;
}
html.motion-v185-active.motion-v172-active .motion-block-v172.motion-in-v172{
  transition-duration:1.04s,1.40s,1.42s!important;
}
html.motion-v185-active.motion-v172-active .motion-visual-v172.motion-in-v172{
  transition-duration:.92s,1.56s,1.50s!important;
}
html.motion-v185-active.motion-v172-active .motion-group-v172.motion-in-v172 > .motion-card-v172{
  transition-duration:1.00s,1.30s!important;
}
html.motion-v185-active .motion-word-v180{
  transition-duration:1.22s,.54s,.90s;
  transition-delay:calc(var(--word-i-v180,0) * 40ms);
}
@media(max-width:1120px),(pointer:coarse){
  html.motion-v185-active .motion-word-v180{transition-duration:.78s,.36s,.54s;transition-delay:calc(var(--word-i-v180,0) * 20ms)}
}
@media(max-width:359px){
  .quick-contact-grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  html.motion-v185-active .motion-word-v180{transition:none!important}
}

/* ==========================================================
   v1.8.6 Butter Scroll + continuous-layer coherence
   - one scroll controller at a time
   - no CSSOM smooth-scroll competing with the rAF engine
   - lighter scroll-linked offsets so content travels with the page
   - cheaper block reveal path for steadier frame pacing
   ========================================================== */
html.motion-v186-active.motion-v171-active{
  scroll-behavior:auto!important;
}

/* Standalone blocks keep the premium rise/fade but no longer animate a large
   clip-path at the same time the document is moving. This reduces paint work
   during reveal-heavy scroll sections without changing layout/content. */
html.motion-v186-active.motion-v172-active .motion-block-v172:not(.motion-in-v172),
html.motion-v186-active.motion-v172-active .motion-block-v172.motion-in-v172{
  clip-path:none!important;
}
html.motion-v186-active.motion-v172-active .motion-block-v172.motion-in-v172{
  transition-property:opacity,transform!important;
  transition-duration:1.02s,1.34s!important;
}

/* Continuous transforms are intentionally subtler in v1.8.6. The document
   should feel like one moving surface, not independent blocks lagging behind. */
@media(min-width:1121px) and (pointer:fine){
  html.motion-v186-active .motion-v182-copy,
  html.motion-v186-active .motion-v182-media{
    transform:translateZ(0);
    backface-visibility:hidden;
  }
}

html.motion-v186-active .motion-section-v182::before{
  transition:opacity .48s linear;
}

/* The custom engine is disabled on touch/coarse pointers; keep native browser
   scrolling and the existing lightweight reveal behavior there. */
@media(max-width:1120px),(pointer:coarse),(hover:none){
  html.motion-v186-active{scroll-behavior:smooth}
}
@media(prefers-reduced-motion:reduce){
  html.motion-v186-active{scroll-behavior:auto!important}
}

/* v1.8.6 document-lock: section copy/media blocks move with the document itself.
   This prevents independent scroll-linked transforms from producing visible
   stepping against the smoothed viewport. */
html.motion-v186-active .motion-v182-copy,
html.motion-v186-active .motion-v182-media{
  translate:0 0!important;
  scale:1!important;
}
