/* Navigation, responsive layout and service page enhancements */
html{scroll-behavior:smooth;scroll-padding-top:92px}body{overflow-x:hidden}img,svg{max-width:100%}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #a5a8ff;outline-offset:3px}
.mega-wrap:hover .mega-menu,.mega-wrap:focus-within .mega-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}.mega-menu{top:100%;max-width:min(700px,90vw)}.mega-item{min-height:54px}
.mob-menu{visibility:hidden;display:flex!important;opacity:0;pointer-events:none}.mob-menu.open{visibility:visible;opacity:1;pointer-events:auto}.mob-menu nav a{min-height:44px;display:flex;align-items:center}.mob-menu nav a:hover,.mob-menu nav a:focus-visible{background:rgba(255,255,255,.07)!important;color:#fff!important}
.detail-hero{padding:clamp(120px,15vw,180px) 0 90px;background:radial-gradient(circle at 75% 30%,rgba(91,95,239,.18),transparent 42%);overflow:hidden}.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(30px,6vw,90px);align-items:center}.detail-hero h1{font:700 clamp(2.6rem,6vw,5rem)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.05em;margin:20px 0 25px;max-width:13ch;color:#fff}.detail-intro{font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.7;color:#b7bed0;max-width:60ch}.detail-eyebrow,.info-caption{font-size:.75rem;font-weight:700;letter-spacing:.16em;color:#a8abff;text-transform:uppercase}.breadcrumb{display:inline-block;color:#bcc5df;font-size:.88rem;margin-bottom:55px}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.infographic{border:1px solid rgba(165,168,255,.24);border-radius:24px;background:linear-gradient(145deg,rgba(91,95,239,.14),rgba(255,255,255,.03));padding:clamp(22px,3vw,36px);box-shadow:0 24px 65px rgba(0,0,0,.17)}.info-step{display:flex;align-items:flex-start;gap:20px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.1)}.info-step:last-child{border:0}.info-step b{border-radius:12px;background:rgba(111,113,242,.22);color:#c1c3ff;padding:10px;font-size:.9rem}.info-step span{display:grid;gap:5px}.info-step strong{font:600 1.12rem 'Space Grotesk',sans-serif;color:#fff}.info-step small{color:#aeb8cf;line-height:1.5}.detail-section{padding:80px 0}.detail-section h2{font:700 clamp(1.8rem,3vw,2.7rem)/1.2 'Space Grotesk',sans-serif;color:#fff;margin:15px 0}.detail-copy{color:#b4bfd4;line-height:1.75;max-width:67ch}.feature-grid{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-grid li,.related-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);padding:25px;border-radius:16px;color:#e9edfc}.feature-grid li:before{content:'✓';display:block;color:#a8abff;font-weight:700;margin-bottom:20px}.detail-related{background:rgba(255,255,255,.025)}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:30px 0 80px}.related-card{display:flex;justify-content:space-between;gap:20px;text-decoration:none;transition:transform .2s,border-color .2s}.related-card:hover{border-color:#8588f3;transform:translateY(-4px)}.detail-banner{border-radius:24px;padding:clamp(25px,5vw,55px);background:linear-gradient(120deg,#272b65,#181b38);display:flex;align-items:center;justify-content:space-between;gap:25px}.detail-banner p{color:#ccd2e5}
@media(max-width:1120px){.nav-inner{gap:12px;padding-left:18px;padding-right:18px}.nav-links .nav-link{padding:7px 8px;font-size:.78rem}.nav-cta .btn{font-size:.76rem;padding:10px}.nav.scrolled .nav-inner{padding-left:18px;padding-right:18px}}
@media(max-width:1024px){.nav-links{display:none}.mob-toggle{display:flex}.nav-cta .btn{display:none}.mob-menu{padding:22px max(22px,calc((100vw - 680px)/2))}}
@media(max-width:768px){.detail-grid{grid-template-columns:1fr}.detail-hero{padding:105px 0 60px}.breadcrumb{margin-bottom:25px}.feature-grid,.related-grid{grid-template-columns:1fr 1fr}.detail-banner{align-items:flex-start;flex-direction:column}.services-full-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.float-cta{bottom:12px;right:12px}}
@media(max-width:560px){.feature-grid,.related-grid,.services-full-grid{grid-template-columns:1fr!important}.detail-actions .btn{width:100%;justify-content:center}.detail-hero h1{overflow-wrap:anywhere}.detail-section{padding:55px 0}.nav-inner{padding:14px 18px}.nav.scrolled .nav-inner{padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.related-card,.mob-menu,.mega-menu{transition:none!important}}

.mobile-service-links{display:grid;gap:4px;padding:20px 14px 0}.mobile-service-links span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#a8abff;margin-bottom:5px}.mobile-service-links a{color:#e9edfc;padding:9px 0;text-decoration:none;min-height:44px;display:flex;align-items:center}.mobile-service-links a:focus-visible{outline:2px solid #a8abff}

/* Services and case studies: responsive card lists and readable filters */
.listing-page .page-hero{padding:clamp(116px,13vw,165px) 0 clamp(45px,6vw,80px)}
.listing-page .filter-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:32px}
.listing-page .filter-tab{min-height:44px;line-height:1.25}
.listing-page .service-full-card,.listing-page .case-card-full,.listing-page .case-card-featured{min-width:0}
.listing-page .case-visual-content{flex-wrap:wrap;justify-content:center;padding:20px}
.listing-page .case-meta{flex-wrap:wrap;gap:16px}
.listing-page .case-card-featured{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.listing-page .case-featured-body{min-width:0}
@media(max-width:820px){.listing-page .case-card-featured{grid-template-columns:1fr}.listing-page .case-featured-visual{min-height:220px}}
@media(max-width:600px){.listing-page .filter-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}.listing-page .filter-tab{flex:0 0 auto}.listing-page .case-grid,.listing-page .services-full-grid{grid-template-columns:1fr!important}.listing-page .case-featured-body{padding:26px}.listing-page .case-visual{height:auto;min-height:170px}.listing-page .results-bar-item{padding:18px 10px}.listing-page .results-bar-value{font-size:clamp(1.4rem,7vw,2.2rem)}.listing-page .case-metric-pill{padding:9px 12px}.listing-page .case-featured-metrics{flex-wrap:wrap}}

/* Listing pages: restore missing scale tokens and create consistent card rhythm. */
.listing-page{--space-5:1.25rem;--space-7:1.75rem}
.listing-page .services-full-grid{gap:22px;align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}
.listing-page .service-full-card{padding:28px!important;display:flex!important;flex-direction:column;min-height:355px;border-radius:20px;background:linear-gradient(155deg,rgba(31,36,59,.9),rgba(18,22,36,.94));border-color:rgba(180,187,237,.14);overflow:hidden}
.listing-page .service-full-card[style*="display: none"]{display:none!important}
.listing-page .sfc-icon{flex:none;margin-bottom:20px}.listing-page .sfc-category{margin-bottom:10px;line-height:1.4}.listing-page .sfc-title{font-size:1.2rem;line-height:1.35;margin-bottom:10px}
.listing-page .sfc-desc{line-height:1.65;margin-bottom:20px}.listing-page .sfc-features{margin-top:auto;margin-bottom:20px;gap:10px}.listing-page .sfc-feature{line-height:1.45;align-items:flex-start}.listing-page .sfc-feature svg{margin-top:3px}.listing-page .sfc-link{margin-top:auto;line-height:1.5}
.listing-page .category-heading{grid-column:1/-1;letter-spacing:.14em;color:#b8bdf0;padding:20px 0 10px;margin:24px 0 0;border-bottom-color:rgba(174,180,239,.16)}
.listing-page .case-grid{gap:22px;align-items:stretch}.listing-page .case-card-full,.listing-page .case-card-featured{border-color:rgba(180,187,237,.16);background:linear-gradient(155deg,rgba(31,36,59,.9),rgba(18,22,36,.94));border-radius:20px;overflow:hidden}
.listing-page .case-card-full{display:flex;flex-direction:column}.listing-page .case-body{padding:28px;display:flex;flex-direction:column;flex:1}.listing-page .case-title{font-size:1.24rem;line-height:1.35;margin-bottom:12px}.listing-page .case-excerpt{line-height:1.7}.listing-page .case-meta{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.09)}
.listing-page .case-visual{height:215px}.listing-page .case-featured-visual{min-height:340px}.listing-page .case-featured-body{padding:clamp(30px,4vw,60px)}.listing-page .case-featured-body .case-title{font-size:clamp(1.5rem,2.5vw,2.2rem)}
.listing-page .results-bar{gap:1px;margin:0 0 45px}.listing-page .results-bar-item{padding:28px 16px}.listing-page .results-bar-value{margin-bottom:12px}.listing-page .results-bar-label{line-height:1.4}
.listing-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:0 0 26px}.listing-intro h2{font-size:clamp(1.7rem,3vw,2.5rem);max-width:18ch;margin:10px 0 0}.listing-intro>p{max-width:29ch;font-size:.94rem}
.story-map{padding:72px 0 82px;background:radial-gradient(circle at 15% 25%,rgba(91,95,239,.09),transparent 36%),rgba(255,255,255,.015);border-block:1px solid rgba(255,255,255,.07)}
.story-map-head{max-width:660px;margin:0 auto 36px;text-align:center}.story-kicker,.node-overline{color:#b4b5ff;font-size:.68rem;letter-spacing:.16em;font-weight:700}.story-map h2{font-size:clamp(1.9rem,3.4vw,3rem);margin:14px auto}.story-map-head p{font-size:1rem}
.story-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}.story-path.case-path{grid-template-columns:repeat(3,minmax(0,1fr))}.story-path:before{content:'';position:absolute;top:34px;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,#777ded,transparent)}
.story-node{position:relative;min-width:0;padding:26px;min-height:216px;border-radius:18px;border:1px solid rgba(170,176,243,.18);background:linear-gradient(145deg,#1a2032,#101421);box-shadow:0 12px 30px rgba(0,0,0,.12)}.node-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:20px;border:1px solid rgba(178,184,255,.45);border-radius:14px;background:linear-gradient(145deg,#545ad2,#352b78);color:#fff;font-family:var(--fd);font-weight:700;box-shadow:0 8px 20px rgba(54,48,133,.25)}.story-node h3{font-size:1.22rem;margin:8px 0}.story-node p{font-size:.87rem;line-height:1.6;color:#bac3d7}
@media(max-width:1024px){.listing-page .services-full-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-path,.story-path.case-path{grid-template-columns:repeat(2,minmax(0,1fr))}.story-path:before{display:none}}
@media(max-width:680px){.listing-intro{display:block}.listing-intro>p{margin-top:12px;max-width:60ch}.story-map{padding:54px 0}.story-path,.story-path.case-path{grid-template-columns:1fr}.story-node{min-height:0;padding:22px}.listing-page .services-full-grid,.listing-page .case-grid{grid-template-columns:1fr!important}.listing-page .service-full-card{min-height:0}.listing-page .case-body{padding:23px}.listing-page .case-featured-visual{min-height:220px}.listing-page .case-featured-body{padding:26px}}
@media(prefers-reduced-motion:reduce){.listing-page .service-full-card,.listing-page .case-card-full{transition:none!important}}
