/* Service navigation, dedicated landing pages and real project captures. */
[hidden]{display:none!important}
.header-inner{position:relative}.desktop-nav{gap:26px}.desktop-nav>a:nth-child(4){display:inline-flex}.desktop-nav a,.services-dropdown>summary{font-size:15px}
.services-dropdown>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:12px 15px;border-radius:8px;color:#243c50;min-height:48px}
.services-dropdown>summary::-webkit-details-marker,.mobile-services summary::-webkit-details-marker{display:none}
.services-dropdown[open]>summary{color:#2d75b6;background:#eaf3fb}.services-dropdown[open]>summary>.icon{transform:rotate(180deg)}
.mega-menu{position:absolute;top:calc(100% - 2px);left:0;right:0;padding:24px;display:grid;grid-template-columns:280px 1fr;gap:24px;background:#fff;border:1px solid #dce5ec;border-radius:18px;box-shadow:0 22px 70px #152f4b24;z-index:101;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
.mega-categories{border-right:1px solid #e1e8ee;padding-right:24px;display:flex;flex-direction:column;gap:10px}
.mega-categories button{width:100%;display:flex;align-items:center;gap:14px;border:0;background:transparent;color:#354a60;padding:21px 16px;border-radius:11px;cursor:pointer;text-align:left;font:600 18px/1.4 var(--heading)}
.mega-categories button>.icon:first-child{width:25px;height:25px;flex-shrink:0}.mega-categories button>.icon:last-child{width:18px;margin-left:auto;flex-shrink:0}
.mega-categories button[aria-selected=true]{background:#eaf3fb;color:#2e74ae}.mega-categories button:hover{background:#f2f6fa}
.mega-panel{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;align-content:start}.mega-overview{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;color:#2e74ae!important;font-weight:600;padding:8px 15px 15px;border-bottom:1px solid #e1e8ee;margin-bottom:6px}
.mega-service{display:block!important;padding:13px 15px;border-radius:10px;white-space:normal!important}.mega-service:hover,.mega-service:focus-visible{background:#edf5fb}.mega-service strong{display:block;font:600 17px/1.45 var(--heading);color:#172c3e}.mega-service span{display:block;font-size:14px;line-height:1.55;color:#5a6e7e;margin-top:5px}
.mobile-services{border-bottom:1px solid #dce5ec}.mobile-services summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;padding:16px 0;font-size:18px;cursor:pointer}.mobile-services details{padding:0 14px;background:#f2f7fb;border-radius:8px;margin-bottom:8px}.mobile-services details summary{font-size:16px;font-weight:600}.mobile-services details a{display:flex;justify-content:space-between;padding:12px 0!important;font-size:15px!important;line-height:1.5;border-top:1px solid #dce5ec}.mobile-nav{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}
.specialties-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.specialties-grid>a{padding:30px 0;border-top:1px solid #ffffff30;display:flex;flex-direction:column}.specialties-grid>a>.icon{width:32px;height:32px;color:#87b8d9;margin-bottom:24px}.specialties-grid h3{font-size:21px;color:#fff;line-height:1.4;margin:0 0 15px}.specialties-grid p{font-size:16px;color:#b9c9d5;margin:0 0 28px}.specialties-grid a>span{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:#b5d8f1;margin-top:auto}.specialties-grid a:hover h3{color:#a8d3f1}
.web-teaser{background:#f3f7fa}.web-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.web-teaser h2{font-size:clamp(30px,3.4vw,46px);line-height:1.2;margin:20px 0}.web-teaser p{font-size:17px;margin:0 0 26px;color:var(--muted)}.teaser-screen>span{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;color:var(--muted)}.teaser-screen>span .icon{margin-left:auto}
.project-visual.screen-visual{display:block!important;position:relative;height:auto!important;aspect-ratio:auto!important;padding:0!important;border:1px solid #d8e1e9;border-radius:12px!important;background:#fff!important;overflow:hidden;isolation:isolate;transform:none!important}
.browser-chrome{height:34px;display:flex;align-items:center;gap:5px;padding:0 12px;background:#f5f7fa;border-bottom:1px solid #d8e1e9;color:#506579}.browser-chrome i{width:6px;height:6px;background:#cad5de;border-radius:50%;flex-shrink:0}.browser-chrome span{font:14px/1.4 var(--body);text-align:center;flex:1;padding-right:26px}.screen-visual img{position:static!important;display:block;width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover!important;object-position:top;transform:none!important;filter:none!important}
.project-card .screen-visual{border-radius:0!important;border:0;border-bottom:1px solid #d8e1e9}.project-card .screen-visual img{aspect-ratio:16/10;object-fit:cover!important}.compact-project .screen-visual{border-radius:8px!important;margin:0}.compact-project .browser-chrome span{display:none}
.ownership{font-size:14px;color:#327ab5}.capture-caption{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px;padding:12px 0}.capture-caption a{text-decoration:underline;text-underline-offset:4px}.case-hero>.screen-visual{max-width:1080px;margin:auto}.case-hero>.screen-visual img{aspect-ratio:16/9}
.service-hero{background:linear-gradient(120deg,#f8fbfe,#eaf3fa);padding:30px 0 90px;overflow:hidden}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;color:#567185;font-size:14px;margin-bottom:60px;line-height:1.6}.breadcrumbs a:hover{text-decoration:underline}.service-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:60px}.service-hero h1{font-size:clamp(38px,4.4vw,64px);line-height:1.1;letter-spacing:-2.5px;margin:22px 0 26px;overflow-wrap:anywhere}.service-hero p{font-size:18px;color:#4d6476;line-height:1.8;margin:0 0 32px;max-width:650px}.service-hero .hero-buttons{display:flex;gap:24px;align-items:center}.web-hero-art{position:relative;padding:0 0 90px}.web-hero-art>.screen-visual{box-shadow:0 25px 65px #2b4a6b20;transform:rotate(-3deg)!important}.secondary-screen{position:absolute;width:75%;right:-20px;bottom:0;transform:rotate(5deg);box-shadow:0 20px 60px #2b4a6b28;border-radius:12px}
.engineering-art{height:420px;position:relative;display:grid;place-items:center}.engineering-orbit{position:absolute;width:310px;height:310px;border:1px solid #97bad366;border-radius:50%;box-shadow:0 0 0 35px #a8cce712,0 0 0 70px #a8cce712}.engineering-center{z-index:1;background:#fff;box-shadow:0 20px 60px #2b4a6b15;border:1px solid #d5e3ef;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:175px;height:175px;transform:rotate(-6deg);color:#347eaf}.engineering-center .brand-mark{width:50px;height:55px}.engineering-center strong{font:600 29px var(--heading);color:#203445}.engineering-node{position:absolute;z-index:2;border:1px solid #d0e0ec;border-radius:9px;background:#ffffffec;box-shadow:0 8px 28px #28496610;padding:16px 18px;font-size:15px;color:#284e69;max-width:210px;display:flex;gap:12px;align-items:center}.engineering-node>span{color:#7e9bae;font-size:14px}.en-0{top:5%;left:0}.en-1{top:23%;right:-8px}.en-2{bottom:13%;left:-6px}.en-3{bottom:0;right:0}.art-footer{position:absolute;bottom:-36px;color:#6b879b;font-size:14px;letter-spacing:2px}
.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}.service-detail-grid>a{padding:32px 0;border-top:1px solid #d7e1e9}.service-detail-grid h3{display:flex;gap:15px;justify-content:space-between;font-size:23px;line-height:1.4;margin:18px 0 15px}.service-detail-grid h3 .icon{flex-shrink:0;width:20px}.service-detail-grid p{font-size:17px;color:var(--muted)}.service-detail-grid>a:hover h3{color:#2e75ae}
.service-delivery{display:grid;grid-template-columns:1fr 1fr;gap:90px}.service-delivery h2,.service-method h2{font-size:clamp(30px,3.3vw,44px);line-height:1.2;margin-top:20px;max-width:450px}.service-delivery ol{counter-reset:delivery;list-style:none;margin:0;padding:0}.service-delivery li{counter-increment:delivery;display:flex;gap:26px;padding:21px 0;border-bottom:1px solid #d7e1e9;font-size:19px;line-height:1.5}.service-delivery li:before{content:'0' counter(delivery);color:#5290ba;font-size:14px;padding-top:5px}
.service-work{background:#f3f7fa}.web-portfolio-grid,.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 38px}.website-work{min-width:0}.website-preview{display:block;transition:transform .25s}.website-preview:hover{transform:translateY(-5px)}.website-caption{padding:25px 0 0}.website-caption h3{font-size:27px;letter-spacing:-.7px;margin:12px 0}.website-caption h3 a{display:flex;align-items:center;justify-content:space-between}.website-caption p{font-size:17px;color:var(--muted);margin:0 0 20px;max-width:480px}.website-caption .eyebrow{font-size:14px;letter-spacing:.5px}
.service-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-project{min-width:0}.service-project>.project-visual:not(.screen-visual){height:230px;aspect-ratio:auto}.service-project>div:last-child:not(.project-visual){padding:25px 0}.service-project h3{display:flex;align-items:center;justify-content:space-between;font-size:24px;margin:16px 0}.service-project p{font-size:16px;color:var(--muted)}.service-project .browser-chrome span{font-size:14px}.service-project .eyebrow{letter-spacing:.4px}
.service-method{display:grid;grid-template-columns:1fr 1fr;gap:80px}.service-method>div>p{font-size:17px;color:var(--muted);margin-top:28px}.method-list article{display:flex;gap:24px;border-top:1px solid #d7e1e9;padding:25px 0}.method-list article>span{color:#5290ba;font-size:14px;padding-top:5px}.method-list h3{font-size:22px;margin:0 0 10px}.method-list p{font-size:16px;color:var(--muted);margin:0}
.portfolio-hero{padding-top:85px}.portfolio-hero h1{font-size:clamp(40px,5vw,72px);line-height:1.08;letter-spacing:-2.5px;margin:24px 0}.portfolio-hero>p{font-size:18px;max-width:720px;color:var(--muted)}.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.portfolio-filters button{border:1px solid #d3e0eb;background:#fff;color:#405b70;border-radius:30px;padding:12px 22px;min-height:46px;font:500 15px var(--body);cursor:pointer}.portfolio-filters button[aria-pressed=true]{background:#236ca4;color:#fff;border-color:#236ca4}.portfolio-copy{padding:25px 0}.portfolio-copy h2{display:flex;justify-content:space-between;align-items:center;font-size:29px;margin:14px 0}.portfolio-copy p{font-size:17px;color:var(--muted);margin-bottom:20px}.portfolio-item>.project-visual{height:320px}.portfolio-grid .project-visual:not(.screen-visual){height:330px;aspect-ratio:auto}.portfolio-item{min-width:0}
@media(min-width:901px) and (max-width:1150px){.desktop-nav{gap:8px;margin:0}.header-inner{gap:15px}.header-actions{gap:12px}.desktop-nav>a:nth-child(4){display:none}.mega-menu{grid-template-columns:230px 1fr}.mega-categories{padding-right:16px}.mega-categories button{font-size:16px;padding:18px 12px}.mega-service strong{font-size:16px}}
@media(max-width:1000px){.specialties-grid{grid-template-columns:1fr 1fr}.service-hero-grid{gap:30px}.service-hero h1{font-size:44px}.service-detail-grid{grid-template-columns:1fr 1fr}.service-projects{grid-template-columns:1fr 1fr}.service-project:last-child:nth-child(3){grid-column:1/-1;max-width:550px}.engineering-node{font-size:14px;max-width:165px;padding:13px}.engineering-orbit{width:230px;height:230px}.web-teaser-grid{gap:30px}}
@media(max-width:900px){.desktop-nav{display:none}.service-hero-grid{grid-template-columns:1fr}.service-hero-grid>div:first-child{max-width:730px}.service-hero h1{font-size:clamp(38px,7vw,60px)}.web-hero-art{max-width:650px;margin:30px 20px 0 0}.engineering-art{max-width:540px;width:100%;margin:0 auto}.engineering-node{font-size:16px;max-width:215px}.engineering-orbit{width:290px;height:290px}.service-delivery,.service-method{gap:40px}.web-teaser-grid{grid-template-columns:1fr}.teaser-screen{max-width:650px}.service-hero{padding-bottom:70px}.breadcrumbs{margin-bottom:45px}.web-portfolio-grid,.portfolio-grid{gap:40px 24px}.website-caption h3{font-size:24px}.browser-chrome span{font-size:14px}.portfolio-copy h2{font-size:25px}}
@media(max-width:600px){.header-inner{gap:12px}.specialties-grid{grid-template-columns:1fr;gap:5px}.specialties-grid>a{padding:25px 0}.specialties-grid>a>.icon{margin-bottom:18px}.specialties-grid h3{font-size:24px}.specialties-grid p{margin-bottom:18px}.specialties-grid a>span{font-size:15px}.web-teaser h2{font-size:34px}.service-hero{padding-top:22px;padding-bottom:52px}.service-hero h1{font-size:38px;letter-spacing:-1.5px;line-height:1.15}.service-hero p{font-size:17px}.breadcrumbs{font-size:14px;margin-bottom:35px;gap:8px}.web-hero-art{padding-bottom:64px}.secondary-screen{right:-12px}.service-delivery,.service-method,.service-detail-grid,.service-projects,.web-portfolio-grid,.portfolio-grid{grid-template-columns:1fr;gap:32px}.service-detail-grid{gap:0}.service-detail-grid>a{padding:26px 0}.service-detail-grid h3{font-size:23px}.service-delivery li{font-size:18px}.service-project:last-child:nth-child(3){grid-column:auto;max-width:none}.service-method h2,.service-delivery h2{font-size:33px}.website-caption h3{font-size:26px}.website-caption p{font-size:16px}.portfolio-hero{padding-top:55px}.portfolio-hero h1{font-size:40px;letter-spacing:-1.8px}.portfolio-hero>p{font-size:17px}.portfolio-filters button{padding:11px 16px}.portfolio-grid{padding-top:45px}.engineering-art{height:360px}.engineering-node{font-size:14px;max-width:180px;padding:13px}.engineering-center{width:145px;height:145px}.engineering-orbit{width:240px;height:240px}.en-0{left:0;top:0}.en-1{right:0;top:19%}.en-2{left:0;bottom:17%}.en-3{right:0;bottom:0}.art-footer{display:none}.browser-chrome span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-heading .ownership{font-size:15px}}
@media(prefers-reduced-motion:reduce){.website-preview{transition:none}}
.mega-panel{grid-template-columns:1fr;gap:2px}.mega-service{padding:10px 18px}.mega-service strong{font-size:19px;line-height:1.35}.mega-service span{font-size:16px;margin-top:2px;line-height:1.45}.mega-menu{grid-template-columns:300px 1fr;max-width:1120px;margin-left:auto;margin-right:auto}.mega-categories button{font-size:19px}.mega-overview{font-size:14px!important;padding:8px 18px 12px}.mega-categories{padding-top:6px}
@media(min-width:901px) and (max-width:1150px){.mega-menu{grid-template-columns:250px 1fr}.mega-categories button{font-size:17px}.mega-service strong{font-size:18px}.mega-service span{font-size:15px}}
.mobile-services details[open]>summary>.icon{transform:rotate(45deg)}
.mobile-services[open]>summary>.icon{transform:rotate(180deg)}
/* Consolidated service navigation: three destinations, no nested categories. */
.simple-dropdown{position:relative}.service-links{position:absolute;top:calc(100% + 12px);left:-18px;width:320px;padding:10px;border:1px solid #dce5ec;border-radius:12px;background:#fff;box-shadow:0 18px 48px #19364c24;z-index:101}.service-links>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 16px;border-radius:7px;font-size:17px;font-weight:500;white-space:normal;line-height:1.4}.service-links>a:hover,.service-links>a[aria-current]{background:#eaf3fb;color:#2d75b6}.service-links .icon{width:18px;height:18px;flex-shrink:0}
.mobile-services>a{display:flex;justify-content:space-between;align-items:center;padding:15px!important;margin:0 0 5px;background:#f0f6fa;border-radius:6px;font-size:16px!important}.specialties-grid{grid-template-columns:repeat(3,1fr)}
.service-jumps{display:flex;flex-wrap:wrap;gap:16px 35px;padding-top:26px;padding-bottom:26px;border-bottom:1px solid #d7e1e9}.service-jumps a{display:flex;align-items:center;gap:16px;font-size:15px;color:#326e9f}.service-jumps .icon{width:18px;height:18px}.consolidated-section+.consolidated-section{padding-top:10px}.consolidated-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px}.consolidated-grid article{border-top:1px solid #d7e1e9;padding-top:24px;scroll-margin-top:110px}.consolidated-grid h3{font-size:25px;line-height:1.4;letter-spacing:-.6px;margin:16px 0}.consolidated-grid p{font-size:17px;color:var(--muted);margin:0 0 20px}.consolidated-grid ul{list-style:none;padding:0;margin:0}.consolidated-grid li{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.6;padding:6px 0;color:#3b576c}.consolidated-grid li .icon{color:#4786b0;width:19px;height:19px;flex-shrink:0;margin-top:3px}.consolidated-grid .mobile-scope-note{font-size:14px;margin-top:22px;color:#60788a}
@media(max-width:900px){.specialties-grid{grid-template-columns:1fr}.specialties-grid>a{padding:24px 0}.consolidated-grid{gap:35px 26px}.consolidated-grid h3{font-size:22px}}
@media(max-width:600px){.consolidated-grid{grid-template-columns:1fr}.service-jumps{gap:18px;align-items:flex-start;flex-direction:column}.consolidated-grid h3{font-size:24px}.consolidated-grid p{font-size:16px}.consolidated-section+.consolidated-section{padding-top:12px}}
