/* Brand entrance: CSS finishes independently, so navigation never stays covered. */
.brand-motion{display:none}
html.motion-ready .brand-motion,html.is-leaving .brand-motion{display:grid;position:fixed;inset:0;z-index:1000;place-items:center;background:#fff;pointer-events:none;overflow:hidden}
.brand-motion:before{content:'';position:absolute;width:60vw;height:140vh;left:-70vw;top:-20vh;background:var(--blue);transform:rotate(18deg);opacity:.05}
.brand-motion-inner{width:min(62vw,290px);position:relative}
.brand-motion img{width:100%;height:auto}
.brand-motion-track{height:3px;width:100%;background:#e9eef5;margin-top:24px;overflow:hidden}
.brand-motion-track:after{content:'';display:block;width:100%;height:100%;background:var(--orange);transform-origin:left;animation:brand-progress .75s cubic-bezier(.2,.7,.2,1) both}
html.motion-ready .brand-motion{animation:brand-curtain 1s cubic-bezier(.76,0,.24,1) both}
html.motion-ready .brand-motion-inner{animation:brand-logo .75s cubic-bezier(.16,1,.3,1) both}
html.is-leaving .brand-motion{animation:brand-cover .38s cubic-bezier(.76,0,.24,1) both}
html.is-leaving .brand-motion-inner{animation:brand-logo .38s ease-out both}
html.motion-ready main{animation:content-arrive 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes brand-curtain{0%,55%{transform:translateY(0);visibility:visible}100%{transform:translateY(-102%);visibility:hidden}}
@keyframes brand-logo{from{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes brand-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes brand-cover{from{transform:translateY(102%)}to{transform:translateY(0)}}
@keyframes content-arrive{0%,50%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:none}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.eyebrow:before{flex-shrink:0}
@media(max-width:720px){
 body{font-size:15px;line-height:1.7;-webkit-text-size-adjust:100%}
 .wrap{width:calc(100% - 40px)}
 h1,h2,h3{font-family:'DM Sans',Arial,sans-serif;font-weight:700;letter-spacing:-.045em;line-height:1.13}
 h1,.page-intro h1{font-size:clamp(34px,9.6vw,54px);max-width:100%;overflow-wrap:normal}
 h2,.cta h2,.help-panel h2{font-size:clamp(28px,8vw,40px)}
 h3,.steps h3{font-size:22px;letter-spacing:-.025em;line-height:1.25}
 .page-intro h1 br,.section-head h2 br,.split h2 br,.blue-section h2 br,.cta h2 br,.service-flow h2 br{display:none}
 .hero h1{font-size:clamp(43px,12.5vw,68px);line-height:1.04;letter-spacing:-.05em}
 .hero-copy{padding:39px 22px 25px}
 .hero .eyebrow{font-size:9px;letter-spacing:1.15px;gap:9px;margin-bottom:25px}
 .hero p{font-size:15px;line-height:1.75;margin:24px 0;max-width:36ch}
 .actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:390px}
 .button{font-size:14px;min-height:52px;padding:14px 18px;letter-spacing:0;border-radius:5px;width:fit-content;max-width:100%}
 .actions .button,.cta .button{width:100%}
 .hero-bottom{font-size:9px;letter-spacing:1px;margin-top:27px;padding-top:17px}
 .hero-art{min-height:250px}.orange-tag{font-family:'DM Sans',Arial,sans-serif;font-weight:700;font-size:21px;line-height:1.2;letter-spacing:-.5px;padding:21px 23px;width:75%}.orange-tag span{top:18px;right:21px}
 header{position:sticky;top:0;z-index:30;background:#fffffff5;backdrop-filter:blur(14px);border-bottom:1px solid #e7edf3}
 .header-inner{min-height:74px}.logo{width:154px}.menu-toggle{min-height:44px;min-width:76px;border-radius:5px;font-size:13px;font-weight:600}
 nav{top:74px;padding:12px 20px 20px;box-shadow:0 18px 30px #06285714;border-bottom:3px solid var(--orange)}
 nav.open{animation:mobile-menu .23s ease-out both}nav a{font-size:16px;min-height:48px;padding:11px 10px;border-bottom:1px solid #edf1f5}nav a[aria-current=page]{color:var(--blue);background:#f2f6fb;border-radius:4px}nav a[aria-current=page]:after{left:0;top:15px;bottom:auto;height:20px;width:3px}
 .topbar{font-size:10px;padding:7px 0}.eyebrow{font-size:10px;letter-spacing:1.45px;line-height:1.5;margin-bottom:17px}
 .page-intro{padding:38px 0 30px;border:0}.page-intro p,.split p,.contact-detail p{font-size:15px;line-height:1.75;margin-top:20px}
 .section{padding-top:46px;padding-bottom:46px}.section-head{gap:19px;margin-bottom:27px}
 .product-grid{gap:25px 14px}.product-image{height:auto;aspect-ratio:1/1;padding:18px;border-radius:8px}
 .product-title{align-items:start;gap:5px;margin:14px 0 6px}.product-title h3{font-size:clamp(15px,4.25vw,20px);line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}.product-title span{font-size:20px;line-height:1.3;flex-shrink:0}.product small{font-size:11px;line-height:1.5;display:block}.product{padding-bottom:16px}
 .text-link{font-size:13px;min-height:40px;display:inline-flex;align-items:center}.sectors strong{font-size:12px}.sectors>.wrap{gap:10px}
 .industry-block{padding:40px 0}.split{gap:28px}.values{gap:24px}.values h3{font-size:23px}.values p{font-size:14px;margin-top:10px}.cta{padding:29px 24px;gap:26px;border-radius:8px;margin-bottom:45px}
 .search{border-radius:6px;padding:0 12px}.search input{font-size:16px;min-width:0;padding:14px 10px}.search span{font-size:26px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 27px}.filters button{font-size:12px;line-height:1.4;min-height:45px;border-radius:5px;padding:10px 8px}
 .service-catalog{gap:15px}.service-card{border-radius:7px;padding:25px}.service-card h2{font-family:'DM Sans',Arial,sans-serif;font-size:29px;letter-spacing:-1px}.service-card p{font-size:14px;line-height:1.75}.service-number{margin-bottom:17px}.steps li{gap:17px}.steps p{font-size:14px}.help-panel{border-radius:8px}
 .industry-film{border-radius:8px}.industry-film video{max-height:560px}.industry-film figcaption{font-size:9px;letter-spacing:1.2px;line-height:1.6}
 form{border-radius:9px;padding:25px 21px}form h2{font-size:29px}form>p{font-size:14px}form label{font-size:13px}form input,form select,form textarea{font-size:16px;min-height:49px;border-radius:5px}form>small{font-size:11px;line-height:1.65}.big-phone{font-size:clamp(21px,6.1vw,28px);letter-spacing:-.7px}.contact-detail small{font-size:10px;letter-spacing:1.2px}
 .footer-grid{gap:24px 18px}.footer-grid>div{min-width:0}footer p,.footer-grid>div>a:not(.footer-logo){font-size:12px;overflow-wrap:anywhere}.footer-grid>div>a:not(.footer-logo){padding:4px 0}footer small{font-size:10px;letter-spacing:1px}.footer-bottom{font-size:10px;line-height:1.6;padding-bottom:67px}
 .floating-contact{border-radius:30px;padding:12px 18px;min-height:45px;bottom:max(14px,env(safe-area-inset-bottom));right:15px;font-size:12px}
}
@keyframes mobile-menu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html.motion-ready .brand-motion,html.is-leaving .brand-motion{display:none!important}*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* Image-led service cards and transparent brand artwork. */
.logo img{height:auto;max-height:62px;object-fit:contain}.brand-motion img{height:auto;max-height:110px;object-fit:contain}
.service-with-image{padding:0 0 25px;border-top:0;background:#f3f6f9;border-radius:9px;overflow:hidden;box-shadow:0 4px 20px #06285708;transition:transform .25s,box-shadow .25s}
.service-with-image:hover{transform:translateY(-5px);box-shadow:0 12px 30px #06285717}
.service-photo{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--navy);border-bottom:3px solid var(--orange)}
.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:saturate(.85)}.service-with-image:hover .service-photo img{transform:scale(1.04)}
.service-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0628578c);pointer-events:none}
.service-photo-badge{position:absolute;left:18px;bottom:14px;color:white;font-size:9px;letter-spacing:1.4px;z-index:1}
.service-with-image>.service-number{display:none}.service-with-image>h2{margin:25px 22px 0;font-size:36px}.service-with-image>p{margin:17px 22px 25px}.service-with-image>.text-link{margin-left:22px;margin-right:22px}
.service-catalog{padding-bottom:18px}.service-image-note{font-size:10px;color:var(--muted);margin-top:0;margin-bottom:45px}
@media(max-width:720px){header{background:#f5f8fc}.logo{width:150px}.logo img{max-height:50px}.brand-motion{background:#f5f8fc!important}.service-photo{aspect-ratio:16/10}.service-with-image{padding:0 0 24px}.service-with-image>h2{font-size:29px;margin:24px 24px 0}.service-with-image>p{margin:14px 24px 20px}.service-with-image>.text-link{margin-left:24px;margin-right:24px}.service-image-note{margin-bottom:30px}.brand-motion-inner{width:min(65vw,270px)}}
