/* Interim native interactions while the reusable Astro components are built. */
.transition, .transition-trigger { display: none !important; }
body { font-family: var(--font-body); }
.text-font-graphik { font-family: var(--font-display); font-weight: 900; }
.js-player iframe, iframe[src*="vimeo"] { opacity: 1 !important; }
.swiper-wrapper.is-slider-main { display: flex; gap: 1.5%; overflow: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.swiper-slide.is-slider-main { flex: 0 0 32.33%; scroll-snap-align: start; }
.slider-main_button { cursor: pointer; }
.slider-main_button:focus-visible, .navbar_menu-button:focus-visible { outline: 2px solid #4d65ff; outline-offset: 4px; }
.local-form-message { padding: 1rem; background: #faf096; color: #111; margin-top: 1rem; }
@media(max-width:991px) {
 .swiper-slide.is-slider-main { flex-basis: 49%; }
 .navbar_menu.local-menu-open { display: flex !important; position: absolute; top: 100%; left: 0; right: 0; width: 100%; background: #f5f3ef; padding: 2rem; z-index: 100; max-height: 80vh; overflow: auto; }
}
@media(max-width:767px) { .swiper-slide.is-slider-main { flex-basis: 100%; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Owner's established palette, square shapes and existing type classes. */
:root { --agency-yellow:#faf096; --agency-purple:#bc96fa; --agency-blue:#cdf3ff; --agency-ink:#111; }
html { scroll-behavior:smooth; }
body { overflow-x:clip; }
button,select { font:inherit; }
:where(a,button,summary,select,input,textarea):focus-visible { outline:2px solid #4d65ff; outline-offset:4px; }
.button { transition:background-color .3s,box-shadow .3s; }
.button_icon-wrapper { transform:none !important; }
.featured-work_image-wrapper,.featured_work-item { overflow:hidden; }
.featured-work_image,.featured_work-image { transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.featured-work_image-wrapper:is(:hover,:focus-visible) .featured-work_image,.featured_work-item:focus-within .featured_work-image,.featured_work-item:hover .featured_work-image { transform:scale(1.045); }
.featured-work_overlay,.featured_work-item .overlay { opacity:0 !important; pointer-events:none; transition:opacity .3s; }
.featured-work_image-wrapper:is(:hover,:focus-visible) .featured-work_overlay { opacity:1 !important; }
.featured_work-item:hover .overlay { opacity:.18 !important; }
.featured_icon { opacity:0 !important; transition:opacity .3s; }
.featured_work-item:is(:hover,:focus-within) .featured_icon { opacity:1 !important; }
.featured-work_content { z-index:2; }
.values-layout { display:block !important; }
.values-layout .mission_content-left { max-width:none; margin-bottom:3rem; }
.values-layout .mission_title { position:static; }
.values-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.values-grid .value-card { position:relative; display:grid; grid-template-columns:3rem 1fr; gap:.8rem 1.1rem; padding:1.75rem; border:1px solid #1112; background:#f5f3ef; color:#111; border-radius:0; }
.value-card h3 { align-self:center; }
.value-card p { grid-column:1/-1; font-size:inherit; line-height:1.5; max-width:54ch; margin:0; }
.value-icon { display:grid; place-items:center; width:3rem; height:3rem; background:var(--agency-yellow); }
.value-icon svg { width:1.8rem; height:1.8rem; transition:transform .4s; }
.value-card:hover .value-icon svg { transform:rotate(-8deg); }
.value-card:nth-child(3n+2) .value-icon { background:var(--agency-purple); }
.value-card:nth-child(3n) .value-icon { background:var(--agency-blue); }
.value-number { position:absolute; right:1.5rem; top:1.8rem; font-size:.875rem; opacity:.4; }
.values-layout .button-group { margin-top:2rem; }
/* Move the original highlight artwork while keeping the letters still. */
.values-layout .highlight { position:relative; isolation:isolate; display:inline-block; background-image:none; }
.values-layout .highlight::before { content:''; position:absolute; inset:0 -.04em; z-index:-1; background:url('/media/cdn.prod.website-files.com/667c093b40fc85bccdebf260_squiggle.svg') center/100% 100% no-repeat; transform:translate(var(--highlight-x,0px),var(--highlight-y,0px)) rotate(var(--highlight-angle,0deg)); transition:transform .3s ease-out; }
.client_top-wrapper { display:block !important; }
.client_top-wrapper h2 { max-width:none; width:auto !important; }
.sector-instruction { margin-top:1.25rem; }
.sector-name { margin:0; }
.sector-index { display:none; }
.sector-meta { font-size:.875rem; color:#666; }
.sector-content { padding:2rem 0; animation:panel-appear .3s ease; }
.sector-eyebrow { display:none; }
.sector-clients { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem 3rem; margin:0; padding:0; list-style:none; }
.sector-clients li { margin:0; padding:0; border:0; background:transparent; }
.sector-clients a { color:inherit; text-decoration:none; display:flex; justify-content:space-between; gap:.75rem; }
.sector-clients a:hover { text-decoration:underline; text-underline-offset:.2em; }
/* Source logo arrangement; one image per mark, no alternate asset or label. */
.partner-mark { display:inline-flex; align-items:center; justify-content:center; width:var(--logo-width); max-width:100%; padding:0; border:0; background:transparent; cursor:pointer; }
.partner-mark .partners_logo { width:100%; height:auto; max-height:4rem; object-fit:contain; opacity:.8; filter:brightness(0) saturate(100%); transition:filter .65s ease,opacity .65s ease; }
.partner-mark:is(:hover,:focus-visible,[aria-pressed=true]) .partners_logo { opacity:1; filter:brightness(0) saturate(100%) invert(34%) sepia(60%) saturate(1500%) hue-rotate(230deg); }
.partner-mark[data-tint=blue]:is(:hover,:focus-visible,[aria-pressed=true]) .partners_logo { filter:brightness(0) saturate(100%) invert(30%) sepia(75%) saturate(1200%) hue-rotate(170deg); }
.partner-mark[data-tint=red]:is(:hover,:focus-visible,[aria-pressed=true]) .partners_logo { filter:brightness(0) saturate(100%) invert(20%) sepia(95%) saturate(2900%) hue-rotate(340deg); }
.native-testimonials { width:100%; }
.testimonial-stage { min-width:0; }
.native-testimonials .testimonial_item { width:100%; margin:0; }
.native-testimonials .testimonial_item[hidden] { display:none !important; }
.native-testimonials .testimonial_item.is-active { animation:panel-appear .35s ease; }
.testimonial-controls { display:flex; justify-content:center; align-items:center; gap:1.5rem; margin-top:2rem; }
.testimonial-controls button { display:grid; place-items:center; width:3.5rem; height:3rem; padding:.75rem; border:1px solid #111; background:var(--agency-blue); color:#111; cursor:pointer; }
.testimonial-controls button:hover { background:var(--agency-yellow); }
.testimonial-position { min-width:3rem; text-align:center; }
#work-count { margin:0 0 .75rem auto; }
.featured_item[hidden],#work-empty[hidden] { display:none !important; }
#work-empty { padding:2rem; background:var(--agency-yellow); margin-bottom:3rem; }
.native-project-select { width:100%; min-height:3.5rem; background:transparent; color:inherit; border:1px solid #777; border-radius:0; padding:.75rem; }
.project-select-label { display:block; margin-bottom:.6rem; }
.honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.case-evidence,.related-work { margin:4rem auto; padding:3rem 5rem; max-width:98rem; }
.case-evidence { background:var(--agency-yellow); width:calc(100% - 10rem); }
.section-kicker { font-size:.875rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:1rem; }
.case-evidence h2,.related-work h2 { margin-bottom:2rem; }
.evidence-grid,.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.evidence-card,.related-grid a { color:#111; padding:1.5rem; border:1px solid #111; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; gap:1.5rem; transition:background .25s; }
.evidence-card:hover,.related-grid a:hover { background:#fff; }
.evidence-type { font-size:.875rem; color:#444; }
.related-grid a { flex-direction:row; align-items:center; }
.reveal-ready { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s ease; }
.reveal-ready.is-visible { opacity:1; transform:none; }
@keyframes panel-appear { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes hero-appear { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:none; } }
.header_title-wrapper { animation:hero-appear .75s 1s both; }
@media(max-width:991px) {
 .sector-clients { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-evidence,.related-work { padding:2rem; }
 .case-evidence { width:calc(100% - 4rem); }
 .evidence-grid,.related-grid { grid-template-columns:1fr; }
}
@media(max-width:767px) { .sector-grid { gap:1rem; } .sector-name { overflow-wrap:anywhere; } .partner-mark { max-width:40%; } }
@media(max-width:479px) {
 .values-grid { grid-template-columns:1fr; }
 .values-grid .value-card { padding:1.25rem; }
 .sector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sector-card summary { min-height:8rem; padding-right:2rem; }
 .sector-clients { grid-template-columns:1fr; gap:1rem; }
 .work-controls { align-items:stretch; }
 .work-controls label { flex:1; min-width:8rem; }
 #work-count { margin:.75rem 0; width:100%; }
 .case-evidence { width:calc(100% - 2.5rem); padding:1.25rem; }
 .related-work { padding:1.25rem; }
}
/* Native sunset overlay, retaining the source's yellow and curved reveal. */
.sunset-cover { position:fixed; inset:0; height:125vh; z-index:9999; pointer-events:none; animation:sunset-reveal 1.1s cubic-bezier(.2,.8,.2,1) both; }
.sunset-cover svg { position:absolute; inset:0; width:100%; height:100%; }
.sunset-mark { position:absolute; top:50vh; left:50%; transform:translate(-50%,-50%); width:4.5rem; height:2.5rem; border-radius:5rem 5rem 0 0; background:linear-gradient(#111,#faf096); animation:mark-fade .45s .1s both; }
.sunset-cover.is-exiting { animation:sunset-enter .4s ease-out both; }
.sunset-cover.is-exiting .sunset-mark { animation:none; opacity:1; }
@keyframes sunset-reveal { 0%,25% { transform:translateY(0); visibility:visible; } 100% { transform:translateY(-125vh); visibility:hidden; } }
@keyframes sunset-enter { from { transform:translateY(125vh); visibility:visible; } to { transform:translateY(0); visibility:visible; } }
@keyframes mark-fade { to { opacity:0; transform:translate(-50%,-35%); } }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .sunset-cover { display:none; }
 .header_title-wrapper, .header_content>p, .sector-content { animation:none; }
 .reveal-ready { opacity:1; transform:none; }
 .button:hover, .value-card:hover, .partner-tile:hover, .evidence-card:hover, .related-grid a:hover { transform:none; }
}


@media(prefers-reduced-motion:reduce) {
 .values-layout .highlight::before { transform:none !important; }
 .native-testimonials .testimonial_item { animation:none; }
}
.client_top-wrapper { width:100% !important; max-width:none !important; margin-bottom:3rem; }
/* Reserve logo height before lazy SVGs load so hover/tap targets exist. */
.partner-mark { min-height:4rem; }
@media(max-width:767px) { .partner-mark .partners_logo { max-height:3rem; } }

/* Balanced partner rows without visible tiles or labels. */
.partners_component { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.5rem 3rem; max-width:76rem; align-items:center; }
.partner-mark { width:100%; max-width:none; height:6rem; min-height:6rem; }
.partner-mark .partners_logo { width:auto; max-width:100%; max-height:3.5rem; height:auto; }
.partner-mark:nth-child(2) .partners_logo { max-height:4rem; }
@media(max-width:767px) {
 .partners_component { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 2rem; }
 .partner-mark { height:5rem; min-height:5rem; }
 .partner-mark .partners_logo { max-height:3rem; }
 .partner-mark:nth-child(2) .partners_logo { max-height:3.5rem; }
}
/* The quote and attribution belong inside the original hard-edged card. */
.native-testimonials .testimonial_item { border:1px solid #111; padding:2.5rem; background:#f5f3ef; border-radius:0; }
@media(max-width:479px) { .native-testimonials .testimonial_item { padding:1.25rem; } }

/* Compact work navigation, image-led recommendations and editorial client index. */
.work-browser{margin:2rem 0 3rem}
.work-sector-bar{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;border-bottom:1px solid #111;padding-bottom:1rem}
:is(.work-sector-choice,.work-service-choice),.work-sort-toggle{appearance:none;border:0;border-radius:0;background:transparent;color:#111;font:inherit;padding:.5rem 0;cursor:pointer}
:is(.work-sector-choice,.work-service-choice){position:relative}
:is(.work-sector-choice,.work-service-choice)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .2s}
:is(.work-sector-choice,.work-service-choice):hover::after,:is(.work-sector-choice,.work-service-choice)[aria-pressed=true]::after{transform:scaleX(1)}
:is(.work-sector-choice,.work-service-choice)[aria-pressed=true]{font-weight:700}
.work-browser-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;gap:1rem}
.work-browser-meta p{margin:0}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.related-grid a.related-project{display:block;border:0;padding:0;background:transparent;color:#111;text-decoration:none;transform:none;box-shadow:none}
.related-image{aspect-ratio:4/3;overflow:hidden;background:#f5f3ef}
.related-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.related-project:hover .related-image img{transform:scale(1.035)}
.related-caption{display:flex;justify-content:space-between;gap:1rem;padding-top:1.25rem}
.related-caption p{margin-bottom:.5rem}
.related-caption h3{margin:0}
.related-caption>span{transition:transform .2s}
.related-project:hover .related-caption>span{transform:translate(3px,-3px)}
.client-explorer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:3rem;width:100%}
.client-index{display:flex;flex-direction:column;align-self:start;border-top:1px solid #111}
.client-sector-choice{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 1rem;gap:1rem;align-items:center;appearance:none;background:transparent;border:0;border-bottom:1px solid #111;border-radius:0;padding:1.25rem 0;color:#111;text-align:left;font:inherit;cursor:pointer;transition:background .2s,padding .2s}
.client-sector-choice:hover,.client-sector-choice[aria-pressed=true]{background:#faf096;padding-left:.75rem;padding-right:.75rem}
.client-stage{border-left:1px solid #111;padding-left:3rem;min-width:0;min-height:25rem}
.client-intro{padding:1.5rem 0}
.client-intro>p.heading-style-h1{margin:.75rem 0 1.5rem}
.client-intro>p:last-child{margin-top:1.5rem;max-width:25rem}
.client-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:2rem}
.client-panel-heading h3{margin:0;max-width:28rem}
.client-reset{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex-shrink:0;padding:0;border:1px solid #111;border-radius:0;background:transparent;color:#111;font:inherit;cursor:pointer}
.client-reset:hover{background:#faf096}
.client-panel .sector-clients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;padding:0;margin:0;list-style:none}
.client-panel .sector-clients li{padding:0;border:0;min-width:0}
.client-panel .sector-clients a{display:inline-flex;gap:.5rem;color:#111;text-decoration:none}
.client-panel .sector-clients a:hover{text-decoration:underline;text-underline-offset:.2em}
.client-panel:not([hidden]){animation:panel-enter .25s ease-out both}
@keyframes panel-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.expertise-list{width:100%;border-top:1px solid #111}
.expertise-service{border-bottom:1px solid #111}
.expertise-service summary{display:grid;grid-template-columns:2rem 1fr 2rem;gap:1rem;align-items:center;list-style:none;padding:1.75rem 0;cursor:pointer}
.expertise-service summary::-webkit-details-marker{display:none}
.expertise-service h3{margin:0}
.service-toggle{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #111;background:#faf096;transition:transform .2s}
.service-toggle::before{content:"+"}
.expertise-service[open] .service-toggle::before{content:"−"}
.expertise-service-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2.5rem;padding:1rem 0 2.5rem}
.expertise-service-body .expert_image-wrapper{width:100%;min-height:12rem;position:static;background-size:cover;background-repeat:no-repeat;background-position:center}
.expertise-copy{margin-bottom:2rem}
.expertise-cta .background-color-black{display:inline-block}
.button.split-button{display:inline-flex!important;align-items:stretch!important;gap:0!important;max-width:100%;height:auto!important;min-height:3rem;padding:0!important;border:1px solid #111!important;border-radius:0!important;background:var(--button-base)!important;color:var(--button-ink)!important;box-shadow:0 5px 0 #111!important;transform:none!important;animation:none!important;opacity:1!important;overflow:visible!important}
.button.split-button .button_text-wrapper{display:flex;align-items:center;justify-content:center;flex:1;padding:.75rem 1rem;margin:0!important;min-width:0;height:auto!important;background:transparent!important;color:var(--button-ink)!important;transform:none!important;opacity:1!important;transition:background .22s,color .22s!important;animation:none!important}
.button.split-button .button_icon-wrapper{display:flex!important;align-items:center;justify-content:center;flex:0 0 3rem;width:3rem!important;height:auto!important;margin:0!important;padding:.75rem!important;background:var(--button-accent)!important;color:#111!important;border:0!important;border-left:1px solid #111!important;transform:none!important;opacity:1!important;animation:none!important;overflow:hidden}
.button.split-button .button_icon-wrapper svg{width:1rem;height:1rem;color:#111;transition:transform .22s!important;animation:none!important}
.button.split-button .button_icon-wrapper svg path{fill:currentColor}
.button.split-button:hover,.button.split-button:focus-visible{background:var(--button-accent)!important;color:#111!important}
.button.split-button:hover .button_text-wrapper,.button.split-button:focus-visible .button_text-wrapper{background:var(--button-accent)!important;color:#111!important}
.button.split-button:hover .button_icon-wrapper svg,.button.split-button:focus-visible .button_icon-wrapper svg{transform:translate(3px,-3px)}
.client-panel[hidden],.client-intro[hidden]{display:none!important}
@media(max-width:767px){
 .related-grid{grid-template-columns:1fr;gap:2.5rem}
 .client-explorer{grid-template-columns:1fr;gap:2rem}
 .client-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
 .client-sector-choice{grid-template-columns:1rem minmax(0,1fr);gap:.5rem;padding:1rem 0}
 .client-sector-choice>span:last-child{display:none}
 .client-panel{scroll-margin-top:2rem}
 .client-stage{border-left:0;border-top:1px solid #111;padding:2rem 0 0;min-height:0}
 .client-panel .sector-clients{grid-template-columns:1fr}
 .expertise-service-body{grid-template-columns:1fr;gap:1rem}
 .expertise-service-body .expert_image-wrapper{min-height:9rem}
 .expertise-service summary{grid-template-columns:1.5rem 1fr 2rem}
}
@media(prefers-reduced-motion:reduce){.client-panel:not([hidden]){animation:none}.related-image img,:is(.work-sector-choice,.work-service-choice)::after,.client-sector-choice,.service-toggle,.button.split-button *{transition:none!important}}

/* Disciplines describe our approach; services show the practical craft. */
.expertise-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:5rem;padding:5rem;max-width:98rem;margin:0 auto 4rem;background:#f5f3ef}
.services-intro h2{margin-bottom:1.5rem}
.services-intro>p:last-child{max-width:32ch}
.service-offerings{border-top:1px solid #111}
.service-offering{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1.5rem;border-bottom:1px solid #111;padding:2rem 0}
.service-offering-icon{display:grid;place-items:center;width:3rem;height:3rem;background:#faf096}
.service-offering-icon svg{width:1.8rem;height:1.8rem}
.service-offering:nth-child(3n+2) .service-offering-icon{background:#bc96fa}
.service-offering:nth-child(3n) .service-offering-icon{background:#cdf3ff}
.service-offering-number{margin-bottom:.5rem}
.service-offering h3{margin-bottom:.75rem}
.service-offering p{max-width:48ch}
.service-deliverables{margin:1rem 0 0;color:#555}
@media(max-width:991px){.expertise-services{gap:2rem;padding:3rem 2rem;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}
@media(max-width:767px){.expertise-services{grid-template-columns:1fr;padding:2.5rem 1.25rem;margin-bottom:0}.service-offering{gap:1rem}}

/* The text selection meets the continuous baseline. */
.work-sector-bar{padding-bottom:0;gap:0 1.5rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
:is(.work-sector-choice,.work-service-choice){flex-shrink:0;white-space:nowrap;padding:.5rem 0 1.25rem}
:is(.work-sector-choice,.work-service-choice)::after{bottom:-1px;height:3px}
:is(.work-sector-choice,.work-service-choice):focus-visible::after{transform:scaleX(1)}
.work-browser{margin-bottom:3rem}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.client-intro>p.heading-style-h1{margin:0 0 1rem}
.client-intro h3{margin:0}
.clients_component .client-bottom_wrapper{margin-top:4rem!important;padding:2.5rem!important}
.case-service-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.case-service-link:hover,.case-service-link:focus-visible{text-decoration:underline;text-underline-offset:.2em}
.expertise-service,.service-offering{scroll-margin-top:2rem}
.footer_link-wrapper{flex-wrap:wrap}
.labs-careers{padding:6rem 5rem;max-width:80rem;margin:auto}
.labs-careers>p:not(.section-kicker){max-width:45ch;margin:2rem 0}
@media(max-width:767px){.clients_component .client-bottom_wrapper{margin-top:2.5rem!important;padding:1.5rem!important}.labs-careers{padding:3rem 1.25rem}}

.work-sector-bar::-webkit-scrollbar{display:none}
.featured_bottom-wrapper:has(.work-browser){min-width:0;max-width:100%}
.work-browser,.work-sector-bar{min-width:0;max-width:100%;width:100%}

/* Dedicated service pages use the established shell, palette and type scale. */
.service-page>section,.service-other{max-width:98rem;margin:0 auto;padding:5rem}
.service-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:4rem;align-items:center}
.service-breadcrumb{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.service-breadcrumb a{color:inherit;text-decoration:none}
.service-breadcrumb a:hover{text-decoration:underline}
.service-hero h1{max-width:15ch}
.service-lead{max-width:48ch;margin:2rem 0}
.service-hero-art{display:grid;place-items:center;aspect-ratio:1;background:var(--service-accent);border:1px solid #111;box-shadow:8px 8px 0 #111}
.service-hero-art svg{width:55%;height:55%}
.service-capabilities{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:4rem;background:#f5f3ef}
.service-capability-list{border-top:1px solid #111}
.service-capability-list article{display:grid;grid-template-columns:2rem 1fr;gap:1rem;border-bottom:1px solid #111;padding:2rem 0}
.service-capability-list h3{margin-bottom:1rem}
.service-capability-list p{max-width:48ch;margin:0}
.service-process h2,.service-projects h2{margin-bottom:2.5rem}
.service-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.service-process-grid article{border-top:1px solid #111;padding-top:1.5rem}
.service-process-grid h3{margin:1rem 0}
.service-projects .related-grid:has(>a:only-child){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.service-next{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--service-accent)}
.service-next h2{max-width:16ch}
.service-other>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}
.service-other a{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;color:#111;text-decoration:none;border-bottom:1px solid #111}
.service-other a:hover{text-decoration:underline;text-underline-offset:.2em}
.service-other a.service-all-work{display:inline-flex;gap:1rem;margin-top:2rem;border:0}
.service-offering h3 a{display:inline-flex;gap:1rem;justify-content:space-between;color:inherit;text-decoration:none}
.service-offering h3 a:hover{text-decoration:underline;text-underline-offset:.2em}
@media(max-width:991px){.service-page>section,.service-other{padding:3rem 2rem}.service-hero,.service-capabilities{gap:2rem}.service-next{align-items:flex-start;flex-direction:column}}
@media(max-width:767px){.service-page>section,.service-other{padding:2.5rem 1.25rem}.service-hero,.service-capabilities{grid-template-columns:1fr}.service-hero-art{max-width:15rem;width:100%;margin:1rem auto}.service-process-grid,.service-other>div,.service-projects .related-grid:has(>a:only-child){grid-template-columns:1fr}.service-hero h1{max-width:none}.service-breadcrumb{margin-bottom:1.5rem}}

.work-service-filter{margin-top:1.5rem}
.work-service-filter>p{margin:0 0 .5rem}
.case-service-navigation{max-width:88rem;margin:3rem auto;padding:0 5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.case-service-navigation .section-kicker{margin:0}
.case-service-navigation a{color:inherit;text-decoration:none}
.case-service-navigation a:hover{text-decoration:underline;text-underline-offset:.2em}
@media(max-width:767px){.case-service-navigation{padding:0 1.25rem}}

.service-detail .navbar_component{position:relative}

/* Service navigation on the left; native sector dropdown on the right. */
.work-filter-row{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}
.work-filter-row .work-service-filter{margin-top:0;min-width:0;flex:1}
.work-category-field{display:grid;gap:.5rem;flex:0 0 24rem;max-width:100%}
.work-sector-select{width:100%;min-width:0;padding:1rem 2.75rem 1rem 1rem;border:1px solid #111;border-radius:0;background:#fff;color:#111;font:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E");background-size:1rem;background-position:right 1rem center;background-repeat:no-repeat}
@media(max-width:767px){.work-filter-row{flex-direction:column;align-items:stretch;gap:1.5rem}.work-category-field{flex-basis:auto}.work-filter-row .work-service-filter{width:100%}}
[hidden]{display:none!important}
