/* A single shared navigation panel. Square edges, genuine work, clear services. */
.site-header .services-toggle,.site-header #mobile-nav .mobile-services-toggle{display:flex;align-items:center;justify-content:space-between;gap:7px}
.service-menu-plus{position:relative;display:inline-block;width:9px;height:9px;flex:none;transition:transform .22s}
.service-menu-plus:before,.service-menu-plus:after{content:'';position:absolute;inset:4px 0 auto;height:1px;background:currentColor}
.service-menu-plus:after{transform:rotate(90deg)}
.site-header :is(.services-toggle,.mobile-services-toggle)[aria-expanded=true]{color:#0054f9}
[aria-expanded=true]>.service-menu-plus{transform:rotate(45deg)}
.services-scrim{position:fixed;inset:0;z-index:95;background:#10172238;animation:services-shade-in .25s ease both}
.services-mega{position:absolute;top:100%;left:50%;width:min(1120px,calc(100vw - 64px));transform:translateX(-50%);background:#fff;color:#171717;box-shadow:0 28px 60px #07163724;border:1px solid #e6e9ef;display:grid;grid-template-columns:minmax(0,1fr) 300px;max-height:calc(100svh - 105px);overflow:auto;overscroll-behavior:contain;animation:services-menu-in .3s cubic-bezier(.2,.7,.2,1) both}
.services-mega[hidden],.services-scrim[hidden],.mobile-service-list[hidden]{display:none}
.services-mega-main{padding:32px 32px 0;min-width:0}
.services-menu-eyebrow{font-size:10px;line-height:1.5;color:#737b88;margin-bottom:12px}
.services-menu-heading{font-size:27px;font-weight:400;letter-spacing:-.045em;line-height:1.16;margin-bottom:25px}
.site-header .services-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;white-space:normal}
.site-header .service-menu-link{padding:20px 10px;display:flex;align-items:flex-start;gap:13px;min-width:0;border-top:1px solid #e7eaf0;transition:background .2s,color .2s;animation:services-link-in .35s calc(var(--menu-order)*.035s) both}
.service-menu-icon{position:relative;isolation:isolate;width:38px;height:38px;display:grid;place-items:center;flex:none;color:#0054f9;transition:transform .25s}
.service-menu-icon:before{content:'';position:absolute;inset:0;background:#edf3ff;z-index:-1;transition:background .25s}
.service-menu-icon svg{display:block;width:34px;height:34px}
.service-menu-copy{display:block;min-width:0;padding-top:2px}
.service-menu-title{display:block;font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.02em}
.service-menu-description{display:block;font-size:11px;color:#737b88;line-height:1.55;margin-top:7px;max-width:195px}
.service-menu-arrow{width:13px;height:13px;flex:none;margin:6px 0 0 auto;opacity:0;transform:translate(-3px,3px);transition:opacity .2s,transform .2s}
.site-header :is(.service-menu-link,.mobile-service-link):is(:hover,:focus-visible){background:#f3f7ff;color:#0054f9}
.service-menu-link:is(:hover,:focus-visible) .service-menu-arrow{opacity:1;transform:translate(0,0)}
.service-menu-link:is(:hover,:focus-visible) .service-menu-icon{transform:translateY(-2px)}
.service-menu-link:is(:hover,:focus-visible) .service-menu-icon:before{background:#e1ebff}
.services-menu-bottom{border-top:1px solid #e7eaf0;margin-top:12px;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}
.services-menu-bottom>span{color:#737b88}
.site-header .services-menu-bottom a{display:flex;align-items:center;gap:22px;color:#0054f9;font-size:11px;padding:15px 0}
.services-menu-bottom svg,.services-feature-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.services-menu-feature{background:#0054f9;color:#fff;padding:31px 27px 26px;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:415px}
.services-feature-eyebrow{font-size:10px;line-height:1.5;color:#d5e5ff}
.services-feature-title{font-size:33px;letter-spacing:-.045em;font-weight:400;line-height:1.07;margin-top:17px}
.services-feature-art{position:relative;display:block;height:185px;flex:1;min-height:175px;margin:20px -27px 26px;perspective:900px;pointer-events:none}
.services-feature-art img{position:absolute;max-width:none;height:auto;box-shadow:0 20px 28px #00287855;transition:transform .6s cubic-bezier(.2,.7,.2,1);object-fit:contain}
.services-feature-web{width:270px;left:19px;top:8px;transform:rotate(-7deg);clip-path:inset(4% 0 0)}
.services-feature-front{width:195px;right:-22px;top:64px;transform:rotate(7deg)}
.services-menu-feature:is(:hover,:focus-visible) .services-feature-web{transform:translate(-3px,-7px) rotate(-10deg)}
.services-menu-feature:is(:hover,:focus-visible) .services-feature-front{transform:translate(-5px,-5px) rotate(4deg)}
.services-feature-link{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:20px;margin-top:auto;padding-top:20px;border-top:1px solid #ffffff55;position:relative;z-index:1}
.services-menu-feature:focus-visible{outline-color:#fff;outline-offset:-6px}
.portfolio-page .services-toggle[aria-expanded=true]{color:#8ab1ff}
.portfolio-page .services-mega :is(a,button):focus-visible{outline-color:#0054f9}
.portfolio-page .services-mega .services-menu-feature:focus-visible{outline-color:#fff}
@keyframes services-menu-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes services-link-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes services-shade-in{from{opacity:0}to{opacity:1}}
@media(max-width:1050px){.services-mega{grid-template-columns:minmax(0,1fr) 250px}.services-mega-main{padding-inline:24px}.services-menu-title{font-size:14px}.site-header .service-menu-link{gap:10px;padding-inline:6px}.service-menu-arrow{display:none}.services-menu-feature{padding-inline:22px}.services-feature-title{font-size:30px}}
@media(max-width:850px){.services-mega{grid-template-columns:1fr;max-width:720px}.services-menu-feature{display:none}.services-mega-main{padding:28px 28px 0}.services-menu-heading{font-size:29px}.site-header .service-menu-link{padding:21px 10px;gap:14px}.services-menu-title{font-size:16px}.service-menu-description{max-width:none}}
@media(max-width:650px){
 .services-mega,.services-scrim{display:none!important}
 .site-header #mobile-nav{top:100%;max-height:calc(100svh - 85px);overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 24px;gap:7px}
 .site-header #mobile-nav .mobile-services-toggle{width:100%;gap:15px}
 .mobile-service-list{display:grid;padding:2px 0 8px;margin:0 -8px;border-bottom:1px solid #e4e9f1}
 .site-header #mobile-nav .mobile-service-link{display:flex;gap:10px;align-items:center;padding:12px 8px;white-space:normal;transition:background .2s}
 .mobile-service-link .service-menu-icon{width:32px;height:32px}
 .mobile-service-link .service-menu-icon svg{width:28px;height:28px}
 .mobile-service-link .service-menu-title{font-size:13px;line-height:1.35}
 .mobile-service-link .service-menu-description{font-size:10px;margin-top:3px;line-height:1.45}
 .mobile-service-link .service-menu-copy{padding:0}
 .mobile-service-link .service-menu-arrow{display:none}
 .portfolio-page .mobile-service-list{border-color:#ffffff25}
 .portfolio-page .mobile-service-link .service-menu-description{color:#a5aab3}
 .portfolio-page .mobile-service-link .service-menu-icon{color:#8ab1ff}
 .portfolio-page .mobile-service-link .service-menu-icon:before{background:#0054f926}
 .portfolio-page .site-header #mobile-nav .mobile-service-link:is(:hover,:focus-visible){background:#ffffff0a;color:#8ab1ff}
 .portfolio-page .mobile-services-toggle[aria-expanded=true]{color:#8ab1ff}
}
@media(prefers-reduced-motion:reduce){.services-mega,.services-scrim,.site-header .service-menu-link{animation:none}.services-mega *,.mobile-services-toggle *{transition:none!important}}
