/* Shared multi-page layout */
html{scroll-padding-top:100px}body{font-family:"DM Sans",Arial,sans-serif}h1,h2,h3{font-family:Manrope,Arial,sans-serif}img{max-width:100%}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:12px 18px;background:#fff;color:#081426}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible{outline:3px solid #268676;outline-offset:5px}.links{gap:22px;font-size:13px}.links a[aria-current=page]:not(.button){color:#365ad1}.links a:hover:not(.button){color:#365ad1}.nav{height:80px}.menu{cursor:pointer}.section{padding:80px 0}.label,.kicker{font-size:12px}h2{font-size:clamp(2rem,3.3vw,3.15rem)}.section-head{gap:36px;margin-bottom:34px}.section-head h2{margin-bottom:0}.section-head>p{margin-bottom:0;line-height:1.6}.section-head.ink>p{color:#536077}.page-hero{padding:128px 0 54px;background:linear-gradient(135deg,#fbfcfe,#edf3fd);border-bottom:1px solid #dce5f1}.page-hero h1{font-size:clamp(2.35rem,4.3vw,3.8rem);line-height:1.12;max-width:890px;margin-bottom:22px}.page-hero .lead{max-width:760px;font-size:18px;line-height:1.65;margin-bottom:0}.page-hero .actions{margin-top:26px}.page-hero .kicker{margin-bottom:22px}.button{box-shadow:none}.text-link{font-size:14px;font-weight:700;color:#365ad1}.under{font-size:14px}.quiet-cta{background:#eaf0fb}.quiet-cta>.wrap{display:flex;gap:36px;justify-content:space-between;align-items:center}.quiet-cta h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 14px;max-width:780px}.quiet-cta p:last-child{color:#536077;margin:0}.quiet-cta .button{flex-shrink:0}
/* Focused homepage */
.home-hero{padding:126px 0 60px}.home-hero .hero-grid{gap:66px}.home-hero h1{font-size:clamp(2.25rem,3.75vw,3.35rem);line-height:1.14;margin-bottom:24px}.home-hero .lead{font-size:18px;max-width:530px}.home-hero .actions{margin-top:30px}.home-hero .hero-media{height:440px;min-height:0;border-radius:22px;box-shadow:0 20px 50px #0b173023}.home-hero .hero-card{padding:20px}.home-hero .hero-card strong{font-size:21px;line-height:1.25;margin:0}.home-hero .hero-pill{font-size:11px}.home-services{background:#fff}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.overview-card{display:flex;flex-direction:column;padding:30px;border:1px solid #dce5f1;border-radius:16px;transition:background .2s,border-color .2s}.overview-card:hover{background:#f2f6fe;border-color:#91aafa}.card-index{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#657087;font-weight:700}.overview-card h3{font-size:25px;line-height:1.2;margin:30px 0 16px}.overview-card p{color:#536077;line-height:1.65;margin-bottom:26px}.overview-card .text-link{margin-top:auto}.home-work{background:#f0f4fa}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.work-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;border:1px solid #dce5f1;transition:box-shadow .2s}.work-card:hover{box-shadow:0 16px 40px #0b173015}.work-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#071327}.work-copy{display:flex;flex-direction:column;padding:30px;flex:1}.work-copy h3{font-size:28px;line-height:1.2;margin-bottom:16px}.work-copy>p:not(.label){color:#536077;margin-bottom:22px}.work-result{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #dce5f1;border-bottom:1px solid #dce5f1;margin-top:auto;margin-bottom:20px}.work-result b{font:800 25px Manrope,Arial,sans-serif;letter-spacing:-.04em}.work-result span{font-size:14px;color:#657087}.home-work .work-card>img{max-height:240px}.portfolio-preview{background:#0b1730;color:#fff}.preview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.preview-grid h2{max-width:580px;margin:18px 0 22px}.preview-grid p:not(.label){color:#b8c5da;margin-bottom:26px}.publisher-panel{padding:32px;border:1px solid #2c405f;border-radius:18px;background:#122442}.publisher-panel>p{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.publisher-names{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin-bottom:34px}.publisher-names span{font:700 21px Manrope,Arial,sans-serif;color:#fff}.light-link{color:#73e6d5;border-bottom:1px solid #73e6d559;font-size:14px;padding-bottom:5px}
/* Service, case-study, and team pages */
.detail-services .engineering-cards article{min-height:385px;padding:28px}.detail-services .engineering-cards article:nth-child(7){grid-column:span 3;min-height:250px;display:grid;grid-template-columns:1fr 1fr;column-gap:48px;align-items:center}.detail-services .engineering-cards article:nth-child(7)>small{grid-column:1}.detail-services .engineering-cards article:nth-child(7)>h3{grid-column:1;margin:0}.detail-services .engineering-cards article:nth-child(7)>p{grid-column:1}.detail-services .engineering-cards article:nth-child(7) .service-thumb{grid-column:2;grid-row:1/4;margin:0}.detail-services .engineering-cards article:nth-child(7) .service-thumb img{height:200px}.detail-services .section-head>div{max-width:550px}.engineering-showcase{margin-top:44px}.expertise{gap:70px}.expert-intro{position:static}.caps h3{font-size:22px;line-height:1.25}.caps p{font-size:16px}.expert-intro .blue{display:table;margin-top:22px}.about-reframed .split{gap:70px}.intro{font-size:22px}.facts{gap:30px}.team{padding-bottom:80px}.team-box{padding:48px;gap:40px}.team-box h2{font-size:2.6rem}.roles{font-size:14px;gap:16px}.steps h3{margin-top:30px}.case-hero h1{line-height:1.14}.case-content section{scroll-margin-top:100px}
/* Categorized content portfolio */
.portfolio-body{padding-top:40px}.portfolio-intro{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:22px}.portfolio-intro p{margin:0;color:#536077}.portfolio-intro>span{font-size:13px;white-space:nowrap;color:#365ad1;font-weight:700}.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:20px}.portfolio-filters button{font:600 14px "DM Sans",Arial,sans-serif;cursor:pointer;padding:11px 16px;background:#fff;border:1px solid #ccd7e9;border-radius:28px;color:#3f4f68;transition:.15s}.portfolio-filters button:hover{border-color:#4e79ff;color:#365ad1}.portfolio-filters button[aria-pressed=true]{background:#0b1730;color:#fff;border-color:#0b1730}.portfolio-status{font-size:13px;color:#657087;border-bottom:1px solid #dce5f1;padding-bottom:28px;margin-bottom:0}.portfolio-group{padding:46px 0;border-bottom:1px solid #dce5f1}.portfolio-group[hidden]{display:none}.category-heading{display:flex;gap:22px;align-items:flex-start;margin-bottom:26px}.category-heading>span{color:#365ad1;font:700 14px Manrope,Arial,sans-serif;padding-top:8px}.category-heading h2{font-size:27px;line-height:1.25;margin:0 0 10px}.category-heading p{margin:0;color:#657087;font-size:16px}.publisher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.publisher-card{display:flex;flex-direction:column;padding:28px;border-radius:16px;border:1px solid #d9e2ef;background:#fff;min-width:0}.publisher-card-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}.publisher-monogram{display:grid;place-items:center;width:42px;height:42px;background:#edf2ff;color:#365ad1;border-radius:10px;font:800 15px Manrope,Arial,sans-serif}.collection-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#657087;margin:0}.publisher-card h3{font-size:24px;line-height:1.25;margin-bottom:14px}.publisher-card>p{color:#536077;font-size:16px;margin:0 0 22px;line-height:1.6}.sample-links{border-top:1px solid #e3e9f3;padding-top:16px;margin-bottom:22px}.sample-links>p{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#657087;margin-bottom:10px}.sample-links>a{display:block;color:#314fa9;font-size:14px;line-height:1.6;text-decoration:underline;text-decoration-color:#b8c7eb;text-underline-offset:4px;margin-bottom:12px}.collection-link{font-size:14px;font-weight:700;color:#365ad1;margin-top:auto;border-top:1px solid #e3e9f3;padding-top:18px}.collection-link:hover,.sample-links>a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Contact and footer */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-card{padding:36px;border-radius:20px;background:#0b1730;color:#fff}.contact-card h2{font-size:30px;line-height:1.2}.contact-card>p:last-child{color:#b8c5da;margin-top:24px;margin-bottom:0}.contact-card .label{color:#73e6d5}.contact-email{display:inline-block;font:700 clamp(1.1rem,2.2vw,1.7rem) Manrope,Arial,sans-serif;letter-spacing:-.02em;color:#73e6d5;overflow-wrap:anywhere;padding-bottom:6px;border-bottom:1px solid #73e6d555}.smaller-heading{font-size:28px;margin-bottom:24px}.contact-prompts article{border-top:1px solid #dce5f1;padding:22px 0}.contact-prompts h3{font-size:19px;margin-bottom:8px;line-height:1.3}.contact-prompts p{color:#536077;margin:0}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;padding-top:48px;padding-bottom:40px}.footer-top p{font-size:14px;line-height:1.7;margin:18px 0 0}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-content:start;font-size:14px}.footer-label{margin:0 0 14px!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.1em}.footer-top a:hover{color:#73e6d5}.footer-contact{display:block;font-size:14px;margin-top:12px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #23324b;padding-top:20px;padding-bottom:24px;font-size:12px}.footer-bottom i{font-style:normal}
@media(max-width:1050px){.links{display:none;position:absolute;top:80px;left:0;width:100%;padding:24px;flex-direction:column;align-items:flex-start;background:#f5f7fb;border-bottom:1px solid #dce5f1;font-size:15px;gap:18px}.links.open{display:flex}.menu{display:block;border:0;background:transparent;font-size:24px}.home-hero .hero-grid{gap:36px}.publisher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-card{padding:24px}.overview-card h3{font-size:23px}}
@media(max-width:850px){.section{padding:60px 0}.page-hero{padding:112px 0 42px}.page-hero h1{font-size:clamp(2.2rem,5.8vw,3.1rem)}.home-hero{padding:110px 0 44px}.home-hero .hero-grid{grid-template-columns:1fr;gap:30px}.home-hero .hero-copy{max-width:620px}.home-hero h1{font-size:clamp(2.3rem,5.9vw,3.2rem)}.home-hero .hero-media{height:360px}.overview-grid{grid-template-columns:1fr}.overview-card{padding:26px}.overview-card h3{margin-top:18px}.section-head{display:block}.section-head>p{margin-top:20px;max-width:620px}.section-head>.under{display:inline-block;margin-top:20px}.preview-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.publisher-panel{padding:26px}.quiet-cta>.wrap{flex-direction:column;align-items:flex-start;gap:26px}.expertise,.about-reframed .split{gap:30px}.team-box{padding:34px;gap:26px}.team-box h2{font-size:2.2rem}.detail-services .engineering-cards article:nth-child(7){grid-column:span 2;display:flex;min-height:350px}.detail-services .engineering-cards article:nth-child(7) .service-thumb{width:100%;margin-top:auto}.detail-services .engineering-cards article:nth-child(7) .service-thumb img{height:180px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:last-child{grid-column:1/-1}.footer-top nav{grid-template-columns:1fr}.work-copy h3{font-size:24px}.work-result{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.page-hero h1,.home-hero h1{font-size:clamp(2rem,7.8vw,2.6rem)}.page-hero .lead,.home-hero .lead{font-size:17px}.page-hero .actions{flex-direction:column;align-items:flex-start;gap:16px}.home-hero .hero-media{height:320px}.home-hero .hero-card{padding:16px}.home-hero .hero-card strong{font-size:19px}.work-grid,.publisher-grid{grid-template-columns:1fr}.work-copy{padding:24px}.work-result{flex-direction:row;align-items:center;gap:14px}.work-result b{font-size:23px}.work-result span{font-size:13px}.publisher-card{padding:24px}.category-heading{gap:14px}.category-heading h2{font-size:23px}.portfolio-intro{align-items:flex-start;flex-direction:column;gap:12px}.portfolio-filters{gap:8px}.portfolio-filters button{padding:10px 13px;font-size:13px}.portfolio-group{padding:34px 0}.contact-card{padding:26px}.contact-card h2{font-size:26px}.team-box{padding:28px 24px}.detail-services .engineering-cards article:nth-child(7){grid-column:span 1}.roles{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr}.footer-top nav{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:8px}.footer-top>div:last-child{grid-column:auto}.publisher-names{gap:20px}.publisher-names span{font-size:19px}.engineering-showcase .showcase-media img{min-height:0;height:auto}.case-hero-figure img{height:auto}.case-bottom-cta h2{font-size:2rem}.case-aside{display:none}}
@media(min-width:851px) and (max-height:760px){.home-hero{padding-top:110px;padding-bottom:42px}.home-hero .hero-media{height:380px}.home-hero h1{font-size:clamp(2.1rem,3.4vw,2.9rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(min-width:1051px){.publisher-grid:has(>.publisher-card:nth-child(2)):not(:has(>.publisher-card:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}.publisher-grid:not(:has(>.publisher-card:nth-child(2))){grid-template-columns:minmax(0,760px)}}
