/* AKX homepage, header and footer: structure follows a modern rebar-detailing site layout; all copy, colours and artwork are AKX's own. */
body.px-site{--px-accent:#ff5a1f;--px-accent-dark:#e04a12;--px-ink:#181b31;--px-grey:#eceff2;--px-dark:#171b26;--px-bar:#242933;--px-green:#2f8f4e;--ease:cubic-bezier(.2,.7,.2,1);font-family:'Montserrat','Open Sans',Arial,sans-serif;color:var(--px-ink);background:#fff}
body.px-site h1,body.px-site h2,body.px-site h3{font-family:'Montserrat',Arial,sans-serif;font-weight:700;letter-spacing:-.01em}
.px-wrap{width:calc(100% - 120px);max-width:1320px;margin:0 auto}
/* header */
body.px-site .wp-site-blocks>header{position:fixed;left:0;right:0;top:0;z-index:60;width:100%}
body.px-site:not(.home) .wp-site-blocks>header{position:sticky}
body.admin-bar.px-site .wp-site-blocks>header{top:32px}
.px-header{position:relative;background:transparent;color:#fff;transition:background .35s var(--ease),box-shadow .35s var(--ease),color .35s}
.px-header-inner{display:flex;align-items:center;gap:28px;width:calc(100% - 80px);max-width:1500px;margin:0 auto;min-height:92px;transition:min-height .35s var(--ease)}
.px-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;color:inherit}
.px-logo img{width:92px;height:auto}
.px-logo span{font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap}
body.px-site .px-logo-dark{display:none}
.px-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.px-nav>a,.px-nav>button{background:none;border:0;padding:30px 0;color:inherit;font:inherit;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;position:relative;cursor:pointer}
.px-nav>a::after,.px-nav>button::after{content:'';position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--px-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.px-nav>a:hover::after,.px-nav>button:hover::after,.px-nav>button[aria-expanded=true]::after{transform:scaleX(1)}
.px-actions{display:flex;gap:10px;align-items:center}
.px-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--px-accent);color:#fff!important;border:2px solid var(--px-accent);border-radius:4px;padding:12px 22px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .25s,transform .25s var(--ease),box-shadow .25s,color .25s,border-color .25s}
.px-btn:hover{background:var(--px-accent-dark);border-color:var(--px-accent-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(255,90,31,.35)}
.px-btn svg{transition:transform .25s var(--ease)}.px-btn:hover svg{transform:translateX(4px)}
.px-btn-ghost{background:transparent;border-color:rgba(255,255,255,.7)}
.px-btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;box-shadow:none}
.px-btn-outline{background:transparent;color:var(--px-ink)!important;border:1px solid var(--px-ink);border-radius:40px;padding:13px 26px}
.px-btn-outline:hover{background:var(--px-ink);color:#fff!important;border-color:var(--px-ink);box-shadow:none}
.px-btn-green{background:var(--px-green);border-color:var(--px-green);border-radius:40px;padding:14px 30px}
.px-btn-green:hover{background:#25763f;border-color:#25763f;box-shadow:0 10px 22px rgba(47,143,78,.4)}
.px-burger{display:none;margin-left:auto;background:none;border:0;color:inherit;padding:8px;cursor:pointer}
.px-header.is-scrolled,body.px-site:not(.home) .px-header{background:#fff;color:var(--px-ink);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.px-header.is-scrolled .px-header-inner,body.px-site:not(.home) .px-header-inner{min-height:72px}
.px-header.is-scrolled .px-nav>a,.px-header.is-scrolled .px-nav>button{padding:22px 0}
.px-header.is-scrolled .px-nav>a::after,.px-header.is-scrolled .px-nav>button::after{bottom:14px}
.px-header.is-scrolled .px-logo-light,body.px-site:not(.home) .px-logo-light{display:none!important}
.px-header.is-scrolled .px-logo-dark,body.px-site:not(.home) .px-logo-dark{display:block!important}
.px-header.is-scrolled .px-btn-ghost,body.px-site:not(.home) .px-btn-ghost{color:var(--px-ink)!important;border-color:#cfd5dd}
.px-header.is-scrolled .px-btn-ghost:hover,body.px-site:not(.home) .px-btn-ghost:hover{background:#f3f5f8;border-color:var(--px-ink)}
.px-header .public-mega-menu{background:#fff;color:#111}
/* hero */
.px-hero{position:relative;height:100vh;min-height:620px;overflow:hidden;background:#0d1a2e;color:#fff;display:grid;place-items:center;text-align:center}
.px-hero-media{position:absolute;inset:0 0 -140px 0;transform:translate3d(0,var(--hero-shift,0px),0);will-change:transform}
.px-hero-media img{width:100%;height:100%;object-fit:cover;animation:px-zoom 14s var(--ease) both}
.px-hero-shade{position:absolute;inset:0;background:rgba(10,18,32,.45)}
.px-hero-copy{position:relative;z-index:2;padding:0 6%;max-width:1100px}
.px-hero h1{font-size:clamp(46px,7.2vw,104px);line-height:1.02;font-weight:800;color:#fff;margin:0 0 22px;text-transform:none}
.px-hero h1 .w{display:inline-block;opacity:0;transform:translate3d(0,34px,0);animation:px-rise .9s var(--ease) both;animation-delay:calc(.15s + var(--w,0)*.14s)}
.px-hero-copy>p{font-size:clamp(15px,1.5vw,20px);font-weight:600;color:#fff;max-width:640px;margin:0 auto;opacity:0;animation:px-rise .9s .6s var(--ease) both}
.px-chevron{position:absolute;left:50%;bottom:34px;z-index:3;transform:translateX(-50%);background:none;border:0;color:#fff;cursor:pointer;animation:px-bounce 1.8s ease-in-out infinite}
/* about */
.px-about{padding:100px 0 90px}
.px-about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.px-about h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12;text-transform:uppercase;margin:0 0 26px;font-weight:800}
.px-about h2 span,.px-vision h2 span{color:var(--px-accent)}
.px-about p{font-size:15px;line-height:1.85;color:#59606e;margin:0 0 18px}
.px-about p.px-strong{color:var(--px-ink);font-weight:700;margin-bottom:28px}
.px-slider{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px rgba(24,27,49,.18);aspect-ratio:4/3;background:#14233a}
.px-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 5s linear}
.px-slides img.is-active{opacity:1;transform:scale(1)}
.px-dots{display:flex;gap:8px}
.px-slider .px-dots{position:absolute;right:20px;bottom:18px}
.px-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:width .3s,background .3s}
.px-dots button.is-active{width:26px;border-radius:6px;background:#fff}
/* services */
.px-services{background:var(--px-grey);padding:90px 0 100px}
.px-title{font-size:clamp(30px,3.2vw,44px);text-align:center;margin:0 0 56px;font-weight:800}
.px-title-left{text-align:left;margin:0}
.px-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.px-service-grid article{text-align:center;padding:0 14px}
.px-icon{display:inline-grid;place-items:center;width:92px;height:92px;border-radius:50%;background:#fff;color:var(--px-accent);margin-bottom:22px;transition:transform .45s var(--ease),background .35s,color .35s}
.px-service-grid article:hover .px-icon{transform:translateY(-6px) rotate(-6deg);background:var(--px-accent);color:#fff}
.px-service-grid h3{font-size:16px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 14px;font-weight:800}
.px-service-grid p{font-size:14px;line-height:1.8;color:#59606e;margin:0 0 22px}
.px-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--px-accent);border-bottom:2px solid var(--px-accent);padding-bottom:4px;transition:gap .25s var(--ease)}
.px-link:hover{gap:14px}
/* vision */
.px-vision{padding:90px 0}
.px-vision-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start}
.px-vision h2{font-size:clamp(40px,5vw,72px);line-height:1;text-transform:uppercase;font-weight:800;margin:0}
.px-vision p{font-size:15px;line-height:1.9;color:#59606e;margin:0 0 18px}
.px-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
.px-stats strong{display:block;font-size:clamp(34px,4vw,56px);font-weight:800;color:var(--px-accent);line-height:1.1;font-variant-numeric:tabular-nums}
.px-stats span:not([data-count]){display:block;margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a909c}
/* banners */
.px-banner,.px-testi{position:relative;overflow:hidden;color:#fff;text-align:center}
.px-banner-media{position:absolute;inset:0}
.px-banner-media img{width:100%;height:100%;object-fit:cover}
.px-banner-media::after{content:'';position:absolute;inset:0;background:rgba(10,18,32,.62)}
.px-banner-team{padding:130px 0}
.px-banner-copy{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:0 6%}
.px-eyebrow{font-size:12px!important;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#fff!important;margin:0 0 18px!important}
.px-banner-team h2{font-size:clamp(28px,4vw,56px);line-height:1.12;text-transform:uppercase;color:#fff;font-weight:800;margin:0 0 34px}
.px-banner-careers{padding:110px 0;background:#14233a}
.px-banner-careers .px-banner-media::after{background:rgba(17,28,52,.82)}
.px-banner-careers h2{font-size:clamp(28px,3.6vw,48px);line-height:1.15;color:#fff;font-weight:800;margin:0 0 20px}
.px-banner-careers p{font-size:16px;line-height:1.8;color:#e3e8f1;max-width:640px;margin:0 auto 32px}
/* work */
.px-work{padding:90px 0 100px}
.px-work-head{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.px-tabs{display:flex;gap:26px;flex-wrap:wrap}
.px-tabs button{background:none;border:0;padding:6px 0;font:inherit;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a909c;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s}
.px-tabs button:hover{color:var(--px-ink)}
.px-tabs button.is-active{color:var(--px-ink);border-bottom-color:var(--px-ink)}
.px-work-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:26px!important;min-height:0!important}
.px-work-grid>a{position:relative;display:block;aspect-ratio:4/3.3;border-radius:14px;overflow:hidden;background:#14233a}
.px-work-grid img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform .8s var(--ease)}
.px-work-grid>a:hover img{transform:scale(1.07)}
.px-work-grid>a::after{content:'';position:absolute;inset:0;background:rgba(10,18,32,.0);transition:background .4s}
.px-work-grid>a:hover::after{background:rgba(10,18,32,.35)}
.px-work-grid>a>span{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff;font-size:17px;font-weight:700;background:rgba(10,18,32,.55);transform:translateY(100%);transition:transform .45s var(--ease)}
.px-work-grid>a:hover>span{transform:none}
.px-work-grid>a>span em{display:block;font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--px-accent);margin-bottom:4px}
.px-more{text-align:center;margin-top:44px}
/* testimonials */
.px-testi{padding:120px 0 110px;background:#1b2436}
.px-testi-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:0 6%}
.px-testi-slides{position:relative;min-height:190px}
.px-testi figure{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s var(--ease);pointer-events:none}
.px-testi figure.is-active{opacity:1;transform:none;pointer-events:auto;position:relative}
.px-testi blockquote{margin:0 0 20px;font-size:clamp(17px,1.8vw,22px);line-height:1.7;font-style:italic;color:#fff}
.px-testi figcaption strong{display:block;font-size:16px;color:#fff}
.px-testi figcaption span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#cdd5e3}
.px-testi-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:34px}
.px-testi-nav>button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:var(--px-green);color:#fff;cursor:pointer;transition:transform .25s var(--ease),background .25s}
.px-testi-nav>button:hover{transform:scale(1.1);background:#25763f}
/* pre-footer CTA and footer */
.px-cta{background:var(--px-bar);color:#fff}
.px-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:46px 0}
.px-cta h2{font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;color:#fff;font-weight:800;margin:0}
.px-footer{background:var(--px-dark);color:#c9cfdb;padding:70px 0 0}
.px-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:50px;padding-bottom:50px}
.px-footer h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 20px;font-weight:800}
.px-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.px-footer a{color:#c9cfdb;font-size:13px;transition:color .2s}
.px-footer a:hover{color:var(--px-accent)}
.px-footer p{font-size:13px;line-height:1.8;color:#c9cfdb;margin:14px 0 0}
.px-logo-footer{color:#fff}
.px-footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2c3345;padding:22px 0;font-size:12px}
.px-footer-bottom p{margin:0}
.px-footer-bottom a svg{transform:rotate(180deg)}
/* motion */
@keyframes px-rise{from{opacity:0;transform:translate3d(0,34px,0)}to{opacity:1;transform:none}}
@keyframes px-zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes px-bounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}
@media(max-width:1100px){.px-nav{gap:18px}.px-nav>a,.px-nav>button{font-size:11px}}
@media(max-width:1000px){.px-nav,.px-actions{display:none}.px-burger{display:block}.px-header-inner{width:calc(100% - 40px);min-height:74px}.px-header-inner{gap:12px}.px-wrap{width:calc(100% - 50px)}.px-about-grid,.px-vision-grid{grid-template-columns:1fr;gap:40px}.px-service-grid{grid-template-columns:1fr;gap:50px}.px-work-grid{grid-template-columns:repeat(2,1fr)!important}.px-footer-grid{grid-template-columns:1fr 1fr}.px-cta-inner{flex-direction:column;align-items:flex-start}body.px-site .public-mobile-menu{background:#fff;color:#111}.px-header .public-mobile-menu{position:absolute;left:0;right:0;top:100%}}
@media(max-width:680px){.px-wrap{width:calc(100% - 40px)}.px-hero{min-height:560px}.px-about{padding:60px 0}.px-services,.px-vision,.px-work{padding:60px 0}.px-banner-team,.px-banner-careers{padding:80px 0}.px-work-grid{grid-template-columns:1fr!important}.px-footer-grid{grid-template-columns:1fr}.px-stats{gap:12px}.px-work-head{flex-direction:column;align-items:flex-start}.px-tabs{gap:16px}.px-testi{padding:80px 0}}
@media(prefers-reduced-motion:reduce){.px-hero h1 .w,.px-hero-copy>p{opacity:1;transform:none;animation:none}.px-chevron,.px-hero-media img{animation:none}}
@media(max-width:1560px){.px-nav{gap:24px}}
@media(max-width:1280px){.px-nav{gap:18px}}
/* inner pages */
@media(max-width:1000px){body.px-site .akx-page-body,body.px-site .public-detail-header{padding-left:0!important;padding-right:0!important}}
body.px-site .public-detail-header{padding-top:60px}

/* ---- Typography and detail pass: Montserrat headings, Open Sans body, black buttons, underline bars ---- */
body.px-site{font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.6;color:#111}
body.px-site h1,body.px-site h2,body.px-site h3{font-family:'Montserrat',Arial,sans-serif;font-weight:600;letter-spacing:-.03em;line-height:1.2}
/* header */
.px-nav{gap:28px}
.px-nav>a,.px-nav>button{font-family:'Open Sans',Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}
.px-logo span{font-family:'Open Sans',Arial,sans-serif;font-weight:600}
/* buttons */
.px-btn{background:#000;border-color:#000;border-radius:3px;padding:13px 24px;font-family:'Open Sans',Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.px-btn:hover{background:#2c2c2c;border-color:#2c2c2c;box-shadow:none;transform:none}
.px-header:not(.is-scrolled) .px-btn:not(.px-btn-ghost){background:#fff;color:#000!important;border-color:#fff}
body.px-site:not(.home) .px-header .px-btn:not(.px-btn-ghost){background:#000;color:#fff!important;border-color:#000}
.px-header:not(.is-scrolled) .px-btn:not(.px-btn-ghost):hover{background:#ededed;border-color:#ededed}
.px-btn-ghost{font-weight:400;text-transform:none;font-size:13px}
.px-btn-outline{background:#fff;color:#222!important;border:1px solid #e0e0e0;border-radius:3px;padding:13px 24px}
.px-btn-outline:hover{background:#f5f5f5;color:#000!important;border-color:#999}
.px-btn-green{background:#000;border-color:#000;border-radius:3px}
.px-btn-green:hover{background:#2c2c2c;border-color:#2c2c2c;box-shadow:none}
/* hero */
.px-hero h1{font-weight:600;letter-spacing:-.025em;line-height:1.02;font-size:clamp(42px,5.2vw,88px)}
.px-hero-copy>p{font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:clamp(18px,1.7vw,30px);color:#fff}
/* section headings with a short black bar */
.px-about h2,.px-vision h2,.px-title,.px-banner-team h2,.px-banner-careers h2{text-transform:none;font-weight:700;letter-spacing:-.03em;line-height:1.18}
.px-about h2{font-size:clamp(32px,4vw,56px)}
.px-vision h2{font-size:clamp(34px,4.2vw,60px)}
.px-title{font-size:clamp(32px,4vw,56px)}
.px-about h2::after,.px-vision h2::after,.px-title::after{content:'';display:block;width:120px;height:4px;background:#000;margin-top:22px}
.px-title:not(.px-title-left)::after{margin-left:auto;margin-right:auto}
.px-banner-team h2::after,.px-banner-careers h2::after{content:'';display:block;width:120px;height:4px;background:#fff;margin:22px auto 0}
.px-banner-team h2{font-size:clamp(28px,3.6vw,52px)}
.px-eyebrow{font-family:'Open Sans',Arial,sans-serif;font-size:14px!important;font-weight:400;letter-spacing:.15em}
/* body copy */
.px-about p,.px-vision p{font-size:17px;line-height:1.85;color:#6b6b6b}
.px-about p.px-strong{color:#111;font-weight:600}
.px-service-grid h3{font-family:'Montserrat',Arial,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.01em;text-transform:none}
.px-service-grid p{font-size:15px;line-height:1.8;color:#6b6b6b}
.px-banner-careers p{font-size:17px;line-height:1.8}
/* text links and stats */
.px-link{font-family:'Open Sans',Arial,sans-serif;font-size:13px;font-weight:400;letter-spacing:.04em;color:#555;border-bottom:1px solid #777;padding:1px 4px}
.px-link:hover{color:#000;border-color:#000}
.px-stats strong{font-family:'Montserrat',Arial,sans-serif;font-weight:700;color:#000;letter-spacing:-.03em}
.px-stats span:not([data-count]){font-weight:400;letter-spacing:.06em;color:#646464;font-size:12px}
.px-tabs button{font-family:'Open Sans',Arial,sans-serif;font-weight:400;letter-spacing:.04em}
.px-tabs button.is-active{font-weight:600}
.px-work-grid>a>span{font-family:'Montserrat',Arial,sans-serif;font-weight:600}
.px-testi blockquote{font-family:'Open Sans',Arial,sans-serif;font-style:normal;font-weight:300;line-height:1.8}
.px-testi figcaption strong{font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:20px}
.px-cta h2{font-weight:600;letter-spacing:-.02em;text-transform:none;font-size:clamp(22px,2.4vw,32px)}
.px-footer h3{font-family:'Open Sans',Arial,sans-serif;font-weight:600;letter-spacing:.08em}
.px-footer a,.px-footer p{font-size:13px}
body.px-site .px-link{color:#555}
body.px-site .px-link:hover{color:#000;border-color:#000}

/* hero video */
.px-hero-media video{display:block;width:100%;height:100%;object-fit:cover}
.px-hero-media img{animation:none}
.px-hero-shade{background:linear-gradient(rgba(8,14,26,.62),rgba(8,14,26,.42) 45%,rgba(8,14,26,.62))}


/* slide-in reveals must never widen the page on small screens */
html:has(body.px-site){overflow-x:clip}
body.px-site{overflow-x:clip}

/* 4K layer fades in over the 1080p video once it proves it plays smoothly */
.px-hero-video-hi{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.px-hero-video-hi.is-on{opacity:1}

/* play / pause for the hero video */
.px-video-toggle{position:absolute;right:28px;bottom:28px;z-index:4;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.35);color:#fff;cursor:pointer;transition:background .25s,transform .25s var(--ease)}
.px-video-toggle:hover{background:rgba(0,0,0,.6);transform:scale(1.08)}
.px-video-toggle span{display:grid;place-items:center}
@media(max-width:680px){.px-video-toggle{right:16px;bottom:20px;width:40px;height:40px}}
/* ---- Top-right button: readable on the transparent hero and on the white bar; no black fill ---- */
body.px-site .px-btn.px-btn-ghost{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.75);border-radius:3px;font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
body.px-site .px-btn.px-btn-ghost:hover{background:#fff;color:#111!important;border-color:#fff;box-shadow:none;transform:none}
body.px-site .px-header.is-scrolled .px-btn.px-btn-ghost,body.px-site:not(.home) .px-header .px-btn.px-btn-ghost{background:transparent;color:#111!important;border-color:#c9ced6}
body.px-site .px-header.is-scrolled .px-btn.px-btn-ghost:hover,body.px-site:not(.home) .px-header .px-btn.px-btn-ghost:hover{background:#ff5a1f;color:#fff!important;border-color:#ff5a1f}
.px-nav{margin-left:auto;gap:34px}
/* footer: three columns now */
.px-footer-grid{grid-template-columns:1.4fr 1fr 1.2fr}
@media(max-width:1000px){.px-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.px-footer-grid{grid-template-columns:1fr}}

/* work cards are showcase tiles for now (no page links yet) */
.px-work-grid>a{cursor:default}

/* Portal login is always shown in the header on desktop */
body.px-site .px-actions .px-btn-ghost{display:inline-flex}
@media(max-width:1000px){body.px-site .px-actions{display:none}}

/* "Engineering & Services" always sits next to the logo: white over the video, dark on the white bar */
body.px-site .px-logo span{display:block;color:#fff;font-size:12px;line-height:1.3;font-weight:600}
body.px-site .px-header.is-scrolled .px-logo span,body.px-site:not(.home) .px-logo span{color:#14173a}
body.px-site .px-logo-footer span{color:#fff}
@media(max-width:680px){body.px-site .px-logo span{font-size:10px}body.px-site .px-logo img{width:72px}}
/* ---- video reel, banner videos and work-tile videos ---- */
.px-hero-media .px-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease}
.px-hero-media .px-hero-video.is-on{opacity:1}
.px-bg-video,.px-tile-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.px-bg-video.is-on,.px-tile-video.is-on{opacity:1}
.px-work-grid>a .px-tile-video{transition:opacity .6s ease,transform .8s var(--ease)}
.px-work-grid>a:hover .px-tile-video{transform:scale(1.07)}

/* ---- full menu back: spacing so seven links plus Portal login fit ---- */
.px-footer-grid{grid-template-columns:1.3fr 1fr 1fr 1.2fr}
@media(max-width:1000px){.px-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.px-footer-grid{grid-template-columns:1fr}}
.px-work-grid>a{cursor:pointer}
.px-nav{gap:26px}
@media(max-width:1320px){.px-nav{gap:20px}.px-nav>a,.px-nav>button{font-size:13.5px}}
@media(min-width:1001px) and (max-width:1160px){body.px-site .px-actions{display:none}.px-nav{gap:16px}.px-nav>a,.px-nav>button{font-size:13px}}

/* links hidden for now: tiles without a link stay plain, footer is three columns */
.px-work-grid>a:not([href]){cursor:default}
.px-footer-trim{grid-template-columns:1.4fr 1fr 1.2fr}
@media(max-width:1000px){.px-footer-trim{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.px-footer-trim{grid-template-columns:1fr}}

/* ---- Portal login button: always visible in the header, at every width ---- */
body.px-site .px-actions{display:flex!important;align-items:center}
@media(min-width:1001px) and (max-width:1160px){body.px-site .px-actions{display:flex!important}}
@media(max-width:1000px){
 body.px-site .px-actions{margin-left:auto}
 body.px-site .px-burger{margin-left:10px}
 body.px-site .px-actions .px-btn.px-btn-ghost{padding:9px 14px;font-size:11px}
}
@media(max-width:420px){body.px-site .px-actions .px-btn.px-btn-ghost{padding:8px 10px;font-size:10px}body.px-site .px-logo span{font-size:9px}body.px-site .px-logo img{width:62px}}

/* ---- photo gallery ---- */
.px-gallery{padding:90px 0 100px;background:#fff}
.px-gallery-grid{columns:4 260px;column-gap:18px}
.px-gallery-grid figure{margin:0 0 18px;break-inside:avoid;border-radius:12px;overflow:hidden;background:#e9edf2;line-height:0}
.px-gallery-grid img{display:block;width:100%;height:auto;transition:transform .9s var(--ease),filter .4s}
.px-gallery-grid figure:hover img{transform:scale(1.06)}
@media(max-width:1000px){.px-gallery-grid{columns:3 220px;column-gap:14px}.px-gallery-grid figure{margin-bottom:14px}}
@media(max-width:680px){.px-gallery{padding:60px 0}.px-gallery-grid{columns:2 150px;column-gap:10px}.px-gallery-grid figure{margin-bottom:10px;border-radius:10px}}

/* photos filling the gaps */
.px-service-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin:0 0 -46px}
.px-service-grid .px-icon{position:relative;border:5px solid var(--px-grey)}
.px-vision-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-top:34px}

/* ===== AKX redesign: sections below the hero ===== */
.ax-eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#6b6b6b;margin:0 0 22px}
.ax-eyebrow b{color:var(--px-accent);font-size:13px;letter-spacing:.06em}
.ax-eyebrow b::after{content:'';display:inline-block;width:42px;height:2px;background:var(--px-accent);vertical-align:middle;margin-left:12px}
.ax-head{margin-bottom:56px}
.ax-head h2,.ax-h2,.ax-about h2{font-size:clamp(32px,4.4vw,62px);line-height:1.08;font-weight:700;letter-spacing:-.035em;margin:0;text-transform:none}
.ax-head h2::after,.ax-about h2::after{display:none!important}
.ax-head h2 span,.ax-h2 span,.ax-about h2 span{color:var(--px-accent)}
.ax-h2{margin:0}
.ax-n{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--px-accent);font-variant-numeric:tabular-nums}
/* marquee */
.ax-marquee{background:#0b0c10;overflow:hidden;padding:26px 0;border-bottom:1px solid #1e212b}
.ax-marquee-track{display:flex;align-items:center;gap:44px;width:max-content;animation:ax-slide 38s linear infinite}
.ax-marquee-track span{font-size:clamp(26px,3.6vw,50px);font-weight:700;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55);white-space:nowrap}
.ax-marquee-track span:nth-of-type(3n){color:var(--px-accent);-webkit-text-stroke:0}
.ax-marquee-track i{width:12px;height:12px;border-radius:50%;background:var(--px-accent);flex:none}
@keyframes ax-slide{to{transform:translateX(-50%)}}
/* about */
.ax-about{padding:120px 0;background:#fff}
.ax-about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center}
.ax-about-text>p:not(.ax-eyebrow){font-size:17px;line-height:1.85;color:#5c6270;margin:28px 0 0}
.ax-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;padding-top:34px;border-top:1px solid #e3e6ea}
.ax-stats strong{display:block;font-size:clamp(34px,3.8vw,54px);font-weight:700;letter-spacing:-.03em;color:var(--px-ink);line-height:1.05;font-variant-numeric:tabular-nums}
.ax-stats span:last-child{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#7b8190;margin-top:8px}
.ax-about-photos{position:relative;padding:0 0 70px 60px}
.ax-about-photos img{display:block;object-fit:cover;border-radius:10px}
.ax-ph-a{width:100%;aspect-ratio:4/5}
.ax-ph-b{position:absolute;left:0;bottom:0;width:52%;aspect-ratio:1;border:8px solid #fff;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.ax-badge{position:absolute;right:-10px;top:36px;background:var(--px-accent);color:#fff;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.04em;padding:16px 20px;border-radius:6px;box-shadow:0 14px 30px rgba(255,90,31,.35)}
/* services */
.ax-services{background:#0b0c10;color:#fff;padding:120px 0}
.ax-services .ax-eyebrow{color:#9aa1b0}
.ax-svc{display:grid;grid-template-columns:70px 1.2fr 80px 280px;gap:36px;align-items:center;padding:36px 0;border-top:1px solid #23262f;transition:background .4s,padding .4s var(--ease)}
.ax-svc:last-child{border-bottom:1px solid #23262f}
.ax-svc:hover{background:#12141b;padding-left:24px;padding-right:24px}
.ax-svc h3{font-size:clamp(24px,2.6vw,36px);font-weight:700;letter-spacing:-.02em;margin:0 0 12px;color:#fff;text-transform:none}
.ax-svc p{font-size:15px;line-height:1.8;color:#9aa1b0;margin:0;max-width:560px}
.ax-svc .px-link{margin-top:18px}
.ax-ico{color:var(--px-accent);display:grid;place-items:center;transition:transform .5s var(--ease)}
.ax-svc:hover .ax-ico{transform:rotate(-10deg) scale(1.12)}
.ax-svc-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;filter:grayscale(1) brightness(.8);transition:filter .5s,transform .6s var(--ease)}
.ax-svc:hover .ax-svc-img{filter:none;transform:scale(1.04)}
/* process */
.ax-process{background:#f5f6f8;padding:120px 0}
.ax-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s}
.ax-steps li{position:relative;padding:34px 30px 10px 0;border-top:3px solid #d9dde3;transition:border-color .4s}
.ax-steps li:hover{border-top-color:var(--px-accent)}
.ax-steps .ax-n{display:block;font-size:clamp(44px,5vw,76px);font-weight:700;letter-spacing:-.04em;color:#dfe2e8;line-height:1;margin-bottom:22px;transition:color .4s}
.ax-steps li:hover .ax-n{color:var(--px-accent)}
.ax-steps h3{font-size:22px;font-weight:700;margin:0 0 10px;text-transform:none}
.ax-steps p{font-size:15px;line-height:1.75;color:#5c6270;margin:0}
/* photo reel */
.ax-reel{background:#0b0c10;padding:110px 0 100px;overflow:hidden}
.ax-reel .ax-eyebrow{color:#9aa1b0;margin:0 0 10px}
.ax-reel-row{overflow:hidden;margin-top:18px}
.ax-reel-track{display:flex;gap:18px;width:max-content;animation:ax-slide 70s linear infinite}
.ax-reel-1 .ax-reel-track{animation-direction:reverse;animation-duration:85s}
.ax-reel-row:hover .ax-reel-track{animation-play-state:paused}
.ax-reel-track img{height:clamp(220px,26vw,360px);width:auto;border-radius:8px;flex:none;object-fit:cover}
/* work */
.ax-work{padding:120px 0}
.ax-work .px-work-head{align-items:flex-end;margin-bottom:48px}
.ax-work .px-work-grid{grid-template-columns:repeat(4,1fr)!important;grid-auto-rows:230px!important;align-items:stretch!important;gap:18px!important}
.ax-work .px-work-grid>a{aspect-ratio:auto!important;min-height:230px;height:auto;border-radius:10px}
.ax-work .px-work-grid>a:nth-child(1){grid-column:span 2;grid-row:span 2}
.ax-work .px-work-grid>a:nth-child(4){grid-column:span 2}
.ax-work .px-work-grid>a>span{transform:none;background:linear-gradient(transparent,rgba(5,7,12,.85));padding:40px 22px 20px}
@media(max-width:980px){
.ax-about,.ax-services,.ax-process,.ax-reel,.ax-work{padding:80px 0}
.ax-about-grid{grid-template-columns:1fr;gap:56px}
.ax-svc{grid-template-columns:50px 1fr;gap:18px}
.ax-svc .ax-ico{display:none}
.ax-svc-img{grid-column:1/-1}
.ax-steps{grid-template-columns:1fr 1fr;gap:30px 24px}
.ax-work .px-work-grid{grid-template-columns:1fr 1fr!important}
.ax-work .px-work-grid>a:nth-child(1),.ax-work .px-work-grid>a:nth-child(4){grid-column:span 2}
.ax-work .px-work-grid>a:nth-child(1){grid-row:span 1}
}
@media(max-width:560px){.ax-steps{grid-template-columns:1fr}.ax-about-photos{padding-left:30px}.ax-work .px-work-grid{grid-template-columns:1fr!important}.ax-work .px-work-grid>a:nth-child(n){grid-column:auto}.ax-stats{gap:10px}}
@media(prefers-reduced-motion:reduce){.ax-marquee-track,.ax-reel-track{animation:none}.ax-reel-row{overflow-x:auto}}
/* markets, 4 stats, 5 service rows */
.ax-stats{grid-template-columns:repeat(4,1fr)!important}
.ax-markets{background:#fff;padding:110px 0}
.ax-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.ax-chips li{border:1px solid #d9dde3;border-radius:40px;padding:14px 26px;font-size:15px;font-weight:600;color:var(--px-ink);transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.ax-chips li:hover{background:var(--px-accent);border-color:var(--px-accent);color:#fff;transform:translateY(-3px)}
.ax-n{font-size:16px}
@media(max-width:980px){.ax-markets{padding:80px 0}}
@media(max-width:560px){.ax-stats{grid-template-columns:1fr 1fr!important}}
/* animated about stats */
.ax-stats span:last-child{font-size:inherit;letter-spacing:inherit;text-transform:none;color:inherit;margin:0;display:inline}
.ax-stats .ax-lab{display:block;font-size:12px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:#7b8190;margin-top:10px}
.ax-stats>div{position:relative;padding-top:20px}
.ax-stats>div::before{content:'';position:absolute;left:0;top:-35px;height:3px;width:0;background:var(--px-accent);transition:width 1s var(--ease) calc(var(--i,0)*.15s + .2s)}
body.is-armed .ax-stats>div.is-in::before,body:not(.is-armed) .ax-stats>div::before{width:56px}
.ax-stats strong{color:var(--px-accent)}
.ax-team svg{display:block;animation:ax-pulse 2.6s ease-in-out infinite}
@keyframes ax-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.ax-team svg{animation:none}}
.ax-stats div>.ax-lab{display:block;font-size:12px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:#7b8190;margin-top:10px}

/* about animation */
.ax-anim h2 .aw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em}
.ax-anim h2 .aw>span{display:inline-block;transform:translateY(110%);transition:transform .9s var(--ease)}
.ax-anim.ax-in h2 .aw>span{transform:none}
.ax-anim .ax-about-photos img{clip-path:inset(0 100% 0 0);transform:translateY(var(--dy,0));transition:clip-path 1.3s var(--ease) .2s}
.ax-anim .ax-ph-b{transition-delay:.6s!important}
.ax-anim.ax-in .ax-about-photos img{clip-path:inset(0 0 0 0)}
.ax-anim .ax-badge{transform:translateY(var(--dy,0));opacity:0;transition:opacity .8s 1.3s}
.ax-anim.ax-in .ax-badge{opacity:1;animation:ax-bob 4s ease-in-out 2s infinite}
@keyframes ax-bob{0%,100%{margin-top:0}50%{margin-top:-10px}}
.ax-stats>div{transition:transform .25s ease-out,box-shadow .3s;border-radius:8px}
.ax-stats>div:hover{box-shadow:0 18px 36px rgba(0,0,0,.08)}
.ax-about h2 .aw>span{color:var(--px-ink)}
.ax-about h2>span .aw>span{color:var(--px-accent)}

/* ===== design v2: blueprint / architectural paper ===== */
:root{--bp-line:rgba(17,17,17,.06)}
.ax-eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500;letter-spacing:.14em;color:#111}
.ax-eyebrow b{font-weight:700}
.ax-head h2,.ax-h2,.ax-about h2{text-transform:uppercase;font-weight:800;letter-spacing:-.025em;line-height:1.02;font-size:clamp(30px,4.4vw,64px)}
/* about: bordered grid */
.ax-about{background:#fff linear-gradient(var(--bp-line) 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,var(--bp-line) 1px,transparent 1px) 0 0/64px 64px;padding:110px 0}
.ax-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 56px;align-items:start}
.ax-about-text{display:contents}
.ax-about-text>.ax-eyebrow{grid-column:1/-1;margin-bottom:18px}
.ax-about-text>h2{grid-column:1/-1;max-width:980px;margin-bottom:54px}
.ax-about-text>p:not(.ax-eyebrow){grid-column:1;grid-row:3;margin:0;font-size:16px;color:#3d424d;border-left:4px solid var(--px-accent);padding-left:22px}
.ax-stats{grid-column:1;grid-row:4;margin-top:36px!important;padding-top:0!important;border-top:0!important;gap:0!important;grid-template-columns:1fr 1fr!important;border:1px solid #111;background:#fff}
.ax-stats>div{padding:26px 22px 22px!important;border-right:1px solid #111;border-bottom:1px solid #111;border-radius:0!important}
.ax-stats>div:nth-child(2n){border-right:0}
.ax-stats>div:nth-last-child(-n+2){border-bottom:0}
.ax-stats>div::before{top:0!important;left:0}
.ax-about-photos{grid-column:2/-1;grid-row:3/5;padding:0 60px 70px 0;margin-top:0}
.ax-about-photos img{border-radius:0!important}
.ax-ph-a{aspect-ratio:16/11!important;border:1px solid #111}
.ax-ph-b{left:auto!important;right:0;bottom:0;width:38%!important;border:10px solid #fff!important;box-shadow:0 0 0 1px #111,0 20px 40px rgba(0,0,0,.15)!important}
.ax-badge{right:auto!important;left:-14px;top:30px!important;border-radius:0!important;font-family:ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;font-size:11px!important}
/* services: expanding photo panels */
.ax-services{background:#fff;color:#111}
.ax-services .ax-eyebrow{color:#111}
.ax-svc-list{display:flex;gap:0;height:560px;border:1px solid #111}
.ax-svc{position:relative;flex:1;min-width:0;display:block!important;padding:0!important;border:0!important;border-right:1px solid #111!important;overflow:hidden;background:#111;transition:flex .7s var(--ease)!important}
.ax-svc:last-child{border-right:0!important}
.ax-svc-list:hover .ax-svc,.ax-svc-list .ax-svc{flex:1}
.ax-svc-list:not(:hover) .ax-svc:first-child,.ax-svc-list .ax-svc:hover{flex:3.2}
.ax-svc:hover{background:#111!important;padding:0!important}
.ax-svc-img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;filter:grayscale(1) brightness(.55);transition:filter .6s,transform 1s var(--ease)}
.ax-svc:hover .ax-svc-img,.ax-svc-list:not(:hover) .ax-svc:first-child .ax-svc-img{filter:brightness(.6);transform:scale(1.05)}
.ax-svc::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.85))}
.ax-svc .ax-n{position:absolute;left:22px;top:20px;z-index:2;color:#fff;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px}
.ax-svc .ax-ico{position:absolute;right:20px;top:16px;z-index:2;color:var(--px-accent)}
.ax-svc .ax-ico svg{width:36px;height:36px}
.ax-svc-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px;width:min(520px,100%)}
.ax-svc h3{color:#fff;font-size:clamp(18px,1.7vw,26px);text-transform:uppercase;font-weight:800;letter-spacing:-.01em;margin:0}
.ax-svc p{color:#d6dae2;max-height:0;opacity:0;overflow:hidden;margin:0;font-size:14px;line-height:1.7;transition:max-height .7s var(--ease),opacity .5s .15s,margin .5s}
.ax-svc:hover p,.ax-svc-list:not(:hover) .ax-svc:first-child p{max-height:220px;opacity:1;margin-top:12px}
/* process: framed cells on blueprint paper */
.ax-process{background:#f4f4f1 linear-gradient(var(--bp-line) 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,var(--bp-line) 1px,transparent 1px) 0 0/64px 64px}
.ax-steps{border:1px solid #111;background:#fff}
.ax-steps li{padding:36px 28px 34px!important;border-top:0!important;border-right:1px solid #111;transition:background .4s,color .4s}
.ax-steps li:last-child{border-right:0}
.ax-steps li:hover{background:#111}
.ax-steps li:hover h3{color:#fff}
.ax-steps li:hover p{color:#b8bdc8}
.ax-steps .ax-n{color:#e4e4e0}
/* markets: bordered index grid */
.ax-chips{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:m;border-top:1px solid #111;border-left:1px solid #111}
.ax-chips li{counter-increment:m;border:0;border-right:1px solid #111;border-bottom:1px solid #111;border-radius:0;padding:70px 22px 26px;position:relative;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1.25}
.ax-chips li::before{content:counter(m,decimal-leading-zero);position:absolute;left:22px;top:22px;font:500 12px ui-monospace,Menlo,Consolas,monospace;color:var(--px-accent)}
.ax-chips li:hover{transform:none;background:#111;border-color:#111;color:#fff}
.ax-chips li{border-color:#111}
/* reel + work: sharp */
.ax-reel{background:#f4f4f1}
.ax-reel .ax-eyebrow{color:#111}
.ax-reel-track img{border-radius:0}
.ax-work .px-work-grid>a{border-radius:0!important}
.ax-work .px-tabs button{font-family:ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase}
@media(max-width:980px){
.ax-about-grid{grid-template-columns:1fr;gap:0}
.ax-about-text>p:not(.ax-eyebrow),.ax-stats,.ax-about-photos{grid-column:1;grid-row:auto}
.ax-about-photos{margin-top:40px;padding-right:0}
.ax-svc-list{flex-direction:column;height:auto}
.ax-svc,.ax-svc-list .ax-svc,.ax-svc-list:not(:hover) .ax-svc:first-child{flex:none;height:300px;border-right:0!important;border-bottom:1px solid #111!important}
.ax-svc p,.ax-svc:hover p{max-height:220px;opacity:1;margin-top:10px}
.ax-svc .ax-ico{display:block}
.ax-steps li{border-right:0;border-bottom:1px solid #111}
.ax-chips{grid-template-columns:1fr 1fr}
}
/* about v2.1: text beside a wide photo, full-width dark stats strip */
.ax-about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)!important;gap:0 64px!important;align-items:stretch!important}
.ax-about-text>h2{margin-bottom:50px!important}
.ax-about-text>p:not(.ax-eyebrow){grid-column:1!important;grid-row:3!important;align-self:center;font-size:17px!important;line-height:1.8!important}
.ax-about-photos{grid-column:2!important;grid-row:3!important;padding:0 0 56px 0!important}
.ax-ph-a{aspect-ratio:16/10!important;width:100%!important}
.ax-ph-b{right:-18px!important;width:34%!important;aspect-ratio:4/3!important}
.ax-badge{left:20px!important;top:20px!important}
.ax-stats{grid-column:1/-1!important;grid-row:4!important;grid-template-columns:repeat(4,1fr)!important;margin-top:50px!important;background:#111!important;border:0!important}
.ax-stats>div{padding:42px 30px 38px!important;border-right:1px solid #2b2e36!important;border-bottom:0!important}
.ax-stats>div:last-child{border-right:0!important}
.ax-stats>div::before{top:0!important;height:4px!important;background:var(--px-accent)}
.ax-stats strong{font-size:clamp(46px,5.4vw,84px)!important;line-height:1!important;letter-spacing:-.04em}
.ax-stats .ax-team svg{width:clamp(46px,4.6vw,70px);height:auto}
.ax-stats div>.ax-lab{color:#b9bfcb!important;margin-top:16px!important}
.ax-stats>div:hover{box-shadow:none!important;background:#1a1d25}
@media(max-width:980px){
.ax-about-grid{grid-template-columns:1fr!important}
.ax-about-text>p:not(.ax-eyebrow),.ax-about-photos,.ax-stats{grid-column:1!important;grid-row:auto!important}
.ax-about-photos{margin-top:34px}
.ax-ph-b{right:-8px!important}
.ax-stats{grid-template-columns:1fr 1fr!important}
.ax-stats>div:nth-child(2){border-right:0!important}
.ax-stats>div:nth-child(-n+2){border-bottom:1px solid #2b2e36!important}
}
/* about v3: half-screen photo, dark content panel */
.ax-about{background:#0b0c10!important;padding:0!important}
.ax-about .px-wrap.ax-about-grid{width:100%!important;max-width:none!important;margin:0!important;grid-template-columns:1fr 1fr!important;gap:0!important;align-items:stretch!important}
.ax-about .ax-about-photos{grid-column:1!important;grid-row:1/5!important;padding:0!important;margin:0!important;position:relative;min-height:760px;overflow:visible}
.ax-about .ax-ph-a{position:absolute;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;border:0!important;object-fit:cover;transform:none!important}
.ax-about .ax-ph-b{position:absolute;right:-72px!important;bottom:72px!important;left:auto!important;width:38%!important;aspect-ratio:4/3!important;z-index:3;border:10px solid #0b0c10!important;box-shadow:0 24px 50px rgba(0,0,0,.5)!important}
.ax-about .ax-badge{left:28px!important;top:28px!important;z-index:3}
.ax-about .ax-about-text>.ax-eyebrow{grid-column:2!important;grid-row:1;color:#c9ced8;margin:0!important;padding:110px 8vw 0 130px}
.ax-about .ax-about-text>h2{grid-column:2!important;grid-row:2;margin:20px 0 0!important;padding:0 8vw 0 130px;color:#fff;font-size:clamp(30px,3.6vw,56px)}
.ax-about h2 .aw>span{color:#fff}
.ax-about .ax-about-text>p:not(.ax-eyebrow){grid-column:2!important;grid-row:3!important;align-self:start!important;margin:34px 8vw 0 130px!important;padding-left:22px!important;color:#b9bfcb!important;font-size:16px!important;line-height:1.8!important}
.ax-about .ax-stats{grid-column:2!important;grid-row:4!important;grid-template-columns:1fr 1fr!important;margin:44px 8vw 100px 130px!important;background:transparent!important;border:1px solid #2b2e36!important}
.ax-about .ax-stats>div{border-right:1px solid #2b2e36!important;border-bottom:1px solid #2b2e36!important;padding:34px 26px 28px!important}
.ax-about .ax-stats>div:nth-child(2n){border-right:0!important}
.ax-about .ax-stats>div:nth-last-child(-n+2){border-bottom:0!important}
.ax-about .ax-stats>div:hover{background:#14161d}
.ax-about .ax-stats strong{font-size:clamp(44px,4.6vw,72px)!important}
@media(max-width:980px){
.ax-about .px-wrap.ax-about-grid{grid-template-columns:1fr!important}
.ax-about .ax-about-photos{grid-column:1!important;grid-row:auto!important;min-height:380px}
.ax-about .ax-ph-b{right:16px!important;bottom:-40px!important;width:40%!important}
.ax-about .ax-about-text>.ax-eyebrow,.ax-about .ax-about-text>h2,.ax-about .ax-about-text>p:not(.ax-eyebrow),.ax-about .ax-stats{grid-column:1!important;grid-row:auto!important}
.ax-about .ax-about-text>.ax-eyebrow{padding:90px 24px 0}
.ax-about .ax-about-text>h2{padding:0 24px}
.ax-about .ax-about-text>p:not(.ax-eyebrow){margin:28px 24px 0!important}
.ax-about .ax-stats{margin:36px 24px 70px!important}
}

/* service panels: no numbers, photos fill each panel, titles fit */
.ax-svc .ax-n{display:none!important}
.ax-services .ax-svc .ax-svc-img{height:100%!important;width:100%!important;max-width:none!important;object-fit:cover}
.ax-svc h3{font-size:clamp(15px,1.35vw,22px)!important;overflow-wrap:anywhere;hyphens:auto}
.ax-svc-list .ax-svc:hover h3,.ax-svc-list:not(:hover) .ax-svc:first-child h3{font-size:clamp(20px,1.9vw,28px)!important}
/* section number labels removed */
.ax-eyebrow{display:none!important}
.ax-reel .ax-head{display:none}
.ax-reel{padding-top:80px}
.ax-about .ax-about-text>h2{padding-top:110px!important}
@media(max-width:980px){.ax-about .ax-about-text>h2{padding-top:80px!important}}

/* Who we are: label only, no number or line */
.ax-about .ax-about-text>.ax-eyebrow{display:block!important;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--px-accent)!important;padding-top:120px!important}
.ax-about .ax-eyebrow b{display:none}
.ax-about .ax-about-text>h2{padding-top:0!important}
@media(max-width:980px){.ax-about .ax-about-text>.ax-eyebrow{padding-top:80px!important}.ax-about .ax-about-text>h2{padding-top:0!important}}

/* narrow service panels: whole words, smaller titles */
.ax-svc h3{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;font-size:clamp(11px,.95vw,14px)!important;letter-spacing:0}
.ax-svc .ax-svc-copy{padding:20px 14px!important}
.ax-svc-list .ax-svc:hover h3,.ax-svc-list:not(:hover) .ax-svc:first-child h3{font-size:clamp(20px,1.9vw,28px)!important}
.ax-svc-list .ax-svc:hover .ax-svc-copy,.ax-svc-list:not(:hover) .ax-svc:first-child .ax-svc-copy{padding:26px!important}
@media(max-width:980px){.ax-svc h3{font-size:22px!important}.ax-svc .ax-svc-copy{padding:22px!important}}

/* footer contact block */
.px-contact-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.px-contact-list li{display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.65;color:#c9cfdb}
.px-contact-list strong{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8c93a3;font-weight:700;margin-bottom:3px}
.px-ci{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid #343a48;color:var(--px-accent);transition:background .3s,color .3s,border-color .3s}
.px-contact-list li:hover .px-ci{background:var(--px-accent);border-color:var(--px-accent);color:#fff}
.px-contact-list a{color:#fff}
/* ===== design v3: clean corporate look (cards, shared section header, timeline) ===== */
.cx-head{display:grid;grid-template-columns:1.3fr 1fr;gap:20px 70px;align-items:end;margin-bottom:56px}
.cx-head-work{grid-template-columns:1fr;margin-bottom:0}
.cx-bar{display:block;width:64px;height:5px;background:var(--px-accent);margin-bottom:22px}
.cx-head h2{margin:0;font-size:clamp(30px,3.7vw,54px);line-height:1.08;font-weight:700;letter-spacing:-.03em;text-transform:none;color:#14161f}
.cx-head h2 em{font-style:normal;color:var(--px-accent)}
.cx-head p{margin:0;font-size:17px;line-height:1.75;color:#5b6170;max-width:520px}
/* services as cards */
.cx-services{background:#f3f4f6!important;color:#14161f;padding:120px 0!important}
.cx-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:28px}
.cx-card{grid-column:span 2;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 2px rgba(15,20,35,.06);transition:transform .5s var(--ease),box-shadow .5s;display:flex;flex-direction:column}
.cx-card:nth-child(n+4){grid-column:span 3}
.cx-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(15,20,35,.14)}
.cx-card-img{position:relative;aspect-ratio:16/10;overflow:hidden}
.cx-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.cx-card:hover .cx-card-img img{transform:scale(1.07)}
.cx-card-ico{position:absolute;left:24px;bottom:-1px;display:grid;place-items:center;width:64px;height:64px;background:var(--px-accent);color:#fff;transition:background .3s}
.cx-card-ico svg{width:30px;height:30px}
.cx-card:hover .cx-card-ico{background:#14161f}
.cx-card-body{padding:30px 28px 34px}
.cx-card-body h3{margin:0 0 12px;font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.015em;color:#14161f;text-transform:none}
.cx-card-body p{margin:0;font-size:15px;line-height:1.75;color:#5b6170}
.cx-card-body .px-link{margin-top:20px}
/* process as a timeline */
.ax-process{background:#fff!important;padding:120px 0!important}
.ax-steps{border:0!important;background:transparent!important;position:relative;gap:0!important}
.ax-steps::before{content:'';position:absolute;left:0;right:0;top:28px;height:2px;background:#e1e4ea}
.ax-steps li{border:0!important;background:transparent!important;padding:0 28px 0 0!important;position:relative}
.ax-steps li:hover{background:transparent!important}
.ax-steps .ax-n{display:grid!important;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;border:2px solid #e1e4ea;color:#14161f!important;font-size:17px!important;font-weight:700;letter-spacing:0;margin-bottom:28px!important;position:relative;transition:background .4s,border-color .4s,color .4s}
.ax-steps li:hover .ax-n{background:var(--px-accent);border-color:var(--px-accent);color:#fff!important}
.ax-steps h3{font-size:22px!important;margin:0 0 10px!important;color:#14161f!important}
.ax-steps li:hover h3{color:#14161f!important}
.ax-steps li:hover p{color:#5b6170!important}
/* work: even grid, caption on the photo */
.ax-work{background:#f3f4f6!important;padding:120px 0!important}
.ax-work .px-work-head{margin-bottom:48px!important}
.ax-work .px-work-grid{grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:340px!important;gap:24px!important}
.ax-work .px-work-grid>a:nth-child(n){grid-column:auto!important;grid-row:auto!important}
.ax-work .px-work-grid>a{border-radius:4px!important}
.ax-work .px-tabs button{font-family:inherit!important;text-transform:none!important;font-size:14px;letter-spacing:0;font-weight:600}
.ax-work .px-tabs button.is-active{color:var(--px-accent);border-bottom-color:var(--px-accent)}
@media(max-width:980px){
.cx-head{grid-template-columns:1fr;gap:16px;margin-bottom:40px}
.cx-services,.ax-process,.ax-work{padding:80px 0!important}
.cx-cards{grid-template-columns:1fr 1fr}
.cx-card,.cx-card:nth-child(n+4){grid-column:span 1}
.ax-steps::before{display:none}
.ax-work .px-work-grid{grid-template-columns:1fr 1fr!important;grid-auto-rows:260px!important}
}
@media(max-width:620px){.cx-cards{grid-template-columns:1fr}.ax-work .px-work-grid{grid-template-columns:1fr!important}}