/* Mobile-first presentation overrides. Desktop typography and composition remain unchanged. */
.rm-footer-toggle,.rm-tech-select{display:none}
.rm-footer-links{display:contents}
.rm-menu-links[hidden],.rm-footer-links[hidden]{display:none!important}
html.gwp-menu-open{overflow:hidden}
@media(max-width:1024px){
 /* Fixed navigation stays in the viewport when opening the menu locks root scrolling. */
 body.gwp-public{--gwp-mobile-header-height:70px;padding-top:var(--gwp-mobile-header-height)}
 .gwp-public .vh-header{position:fixed;top:0;left:0;right:0;height:var(--gwp-mobile-header-height)}
 .gwp-public .vh-header .vh-header-inner{width:calc(100% - 48px);gap:20px;justify-content:space-between}
 .gwp-public .vh-header .vh-desktop-nav,.gwp-public .vh-header .vh-mega{display:none!important}
 .gwp-public .vh-header .vh-menu-toggle{display:grid!important;width:44px;height:44px}
 .gwp-public .vh-header-actions{margin-left:auto;gap:12px}
 .gwp-public .vh-mobile-nav:not([hidden]){display:flex!important;flex-direction:column;position:fixed;top:var(--gwp-mobile-header-height);left:0;right:0;background:#fff;overflow-y:auto;border-top:1px solid #dce7ed;box-shadow:0 20px 35px #092e442f;padding:12px 24px 24px;max-height:calc(100dvh - var(--gwp-mobile-header-height));overscroll-behavior:contain;scrollbar-width:thin}
 .gwp-public .vh-mobile-group{margin:0;padding:0;background:transparent;border-bottom:1px solid #dfe8ee}
 .gwp-public .vh-mobile-group .rm-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:56px;padding:14px 0;text-align:left;color:#12384d;font-size:17px;font-weight:750}
 .rm-menu-heading:after,.rm-footer-toggle:after{content:'+';font:400 22px/1 Arial,sans-serif;color:#49758c}
 .rm-menu-heading[aria-expanded=true]:after,.rm-footer-toggle[aria-expanded=true]:after{content:'−'}
 .gwp-public .rm-menu-links{padding:3px 16px 12px;background:#f1f6f9}
 .gwp-public .rm-menu-links a{display:block;padding:12px 0;min-height:44px;font-size:14px;line-height:1.6}
 .gwp-public .vh-header .vh-mobile-nav>a,.gwp-public .vh-header .vh-mobile-nav>button{display:flex;align-items:center;justify-content:space-between;text-align:left;border-bottom:1px solid #e2ebef;min-height:56px;padding:14px 0;font-size:17px}
 .gwp-public .vh-header .vh-mobile-nav>button:last-child{margin-top:16px;padding:15px 18px;background:#0b2d42;color:#fff;font-size:14px;border:0}
 .gwp-public .vh-mobile-nav svg{width:18px;height:18px}
 .gwp-public .vh-mobile-group .vh-mobile-funding{font-size:13px}
 /* A mid-size canvas must not keep the wide desktop content columns. */
 #main .gwp-banner__inner,.gwp-board__inner,.gwp-container,.mk-container,#main.sv-page .container,#main.gwp-restored-about .container{width:calc(100% - 48px);max-width:1190px;padding-inline:0}
 #main>.gwp-banner{--banner-height:360px}
 #main .gwp-banner h1{font-size:40px}
 #main :is(.xp-heading,.ss-heading,.mk-section-head){grid-template-columns:1fr;gap:16px;margin-bottom:30px}
 #main :is(.xp-heading .xp-intro,.ss-heading .section-intro,.mk-section-lead){max-width:680px;padding:0;border:0;margin:0;font-size:15px}
 #main :is(.xp-heading h2,.ss-heading h2,.mk-section-head h2){font-size:30px}
 #main .gwp-history-layout{grid-template-columns:1fr;gap:28px}
 #main .gwp-history-layout aside{max-width:100%}
 #main .gwp-contact-layout{grid-template-columns:minmax(0,1fr)}
 #main .gwp-contact-aside{display:block}
 #main.sv-page .ss-card{grid-template-columns:minmax(0,1fr);min-height:0}
 #main.sv-page .ss-art{display:none}
 #main.sv-page .sv-funding>.container{gap:28px}
 #main .gwp-board__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gwp-public .vh-footer-main{grid-template-columns:1fr;gap:28px}
}
@media(max-width:760px){
 html{scroll-padding-top:0}
 body.gwp-public{--gwp-mobile-header-height:64px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body.gwp-public #main :is(section,article,aside,details,div)[id]{scroll-margin-top:80px}
 .gwp-public .vh-header .vh-header-inner{width:calc(100% - 36px);gap:12px}
 .gwp-public .vh-brand img{width:128px;height:32px}
 .gwp-public .vh-header .vh-header-contact,.gwp-public .vh-header-scope{display:none!important}
 .gwp-public .vh-header .vh-menu-toggle{border:0!important;border-radius:0}
 .gwp-public .vh-mobile-nav:not([hidden]){padding-inline:20px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .gwp-public .vh-header.is-scrolled{box-shadow:0 5px 18px #061c2a10}
 /* One comfortable reading gutter, independent of inherited desktop containers. */
 .gwp-public .vh-container,.gwp-public .vh-slide-container,.gwp-public .vh-console-inner,#main .gwp-banner__inner,.gwp-board__inner,.gwp-container,.mk-container,#main.sv-page .container,#main.gwp-restored-about .container{width:calc(100% - 40px);max-width:none;margin-inline:auto;padding-inline:0}
 #main :is(.gwp-section,.xp-section,.service-experience,.rich-section,.chapter,.mk-section){padding-block:44px}
 #main :is(.xp-heading,.ss-heading,.mk-section-head){display:block;margin-bottom:24px}
 #main :is(.xp-heading h2,.ss-heading h2,.rich-section h2,.chapter-title,.gwp-heading,.mk-section-head h2){font-size:27px;line-height:1.4;letter-spacing:-.045em;word-break:keep-all;text-wrap:pretty}
 #main :is(.xp-heading .xp-intro,.ss-heading .section-intro,.mk-section-lead){font-size:14px;line-height:1.8;max-width:none;margin:14px 0 0;padding:0;border:0}
 #main :is(.xp-eyebrow,.section-eyebrow,.gwp-section-eyebrow,.mk-kicker){font-size:10px;line-height:1.5;margin:0 0 12px;letter-spacing:.06em}
 #main .xp-eyebrow:before{width:20px}
 #main .chapter-head{margin-bottom:24px}
 #main .gwp-prose{font-size:14px;line-height:1.85;margin-bottom:24px}
 /* Short page introductions: content, rather than empty fixed-height photo space. */
 #main>.gwp-banner{--banner-height:200px;height:auto;min-height:var(--banner-height)}
 #main .gwp-banner__inner{min-height:200px;height:auto;padding:24px 0;gap:0;justify-content:center}
 #main .gwp-banner__path{display:none}
 #main .gwp-banner__path [aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 #main .gwp-banner__path>a,#main .gwp-banner__path>span:not([aria-current]){flex:none}
 #main .gwp-banner__copy{margin:0;padding:0;max-width:none}
 #main .gwp-banner h1{font-size:28px;line-height:1.32;letter-spacing:-.045em;text-wrap:pretty;max-width:none}
 #main .gwp-banner--article h1{font-size:27px;line-height:1.4}
 #main .gwp-banner__lead{display:none}
 #main .gwp-banner__description{font-size:13px;line-height:1.75;margin-top:12px;max-width:none}
 #main .gwp-banner__image{object-position:var(--banner-position,65% center)}
 #main>.gwp-banner:before{background:linear-gradient(90deg,#09263af2,#09263ac7 65%,#09263a9c)}
 #main>.gwp-banner:after{width:32%;height:2px}
 /* Mobile homepage: integrate the image into the hero instead of another tall block. */
 .home-v10 .vh-hero-stage{height:auto;min-height:0}
 .home-v10 .vh-slide{position:relative;inset:auto;display:none;transition:none}
 .home-v10 .vh-slide.is-active{display:block}
 .home-v10 .vh-slide-container{display:flex;align-items:center;position:relative;width:100%;padding:48px 20px;min-height:clamp(480px,68svh,620px);isolation:isolate}
 .home-v10 .vh-slide-copy{position:relative;padding:0;z-index:3;width:100%}
 .home-v10 .vh-slide-overline{display:none}
 .home-v10 .vh-slide-overline .vh-accent-stroke{width:20px;height:2px}
 .home-v10 .vh-slide-copy h1,.home-v10 .vh-slide-copy h2{font-size:clamp(30px,8.2vw,36px);line-height:1.32;margin:0 0 16px;letter-spacing:-.055em;text-wrap:pretty}
 .home-v10 .vh-slide-description{font-size:14px;line-height:1.85;max-width:460px}
 .home-v10 .vh-slide-buttons{margin-top:22px;gap:17px;flex-wrap:nowrap}
 .home-v10 .vh-primary-link{height:48px;padding-inline:15px;font-size:12px;gap:14px;white-space:nowrap}
 .home-v10 .vh-secondary-link{min-height:48px;font-size:12px;gap:9px;white-space:nowrap}
 .home-v10 .vh-slide-buttons .vh-icon{width:16px;height:16px}
 .home-v10 .vh-hero-visual,.home-v10 .vh-slide-two .vh-hero-visual,.home-v10 .vh-slide-three .vh-hero-visual{position:absolute;inset:0;min-height:0;z-index:0;pointer-events:none;overflow:hidden}
 .home-v10 .vh-photo-window,.home-v10 .vh-three-visual-photo{position:absolute;inset:0;width:100%;height:100%;clip-path:none;margin:0;border:0;box-shadow:none}
 .home-v10 .vh-photo-window img,.home-v10 .vh-three-visual-photo img{object-position:62% center;filter:saturate(.7)}
 .home-v10 .vh-photo-overlay{background:linear-gradient(90deg,#071f33f7,#071f33ba 65%,#071f3399),linear-gradient(0deg,#071f3360,transparent)}
 .home-v10 .vh-visual-one:before,.home-v10 .vh-three-visual-photo:before,.home-v10 .vh-vertical-mark,.home-v10 .vh-visual-label,.home-v10 .vh-visual-three-line,.home-v10 .vh-three-caption{display:none}
 .home-v10 .vh-slide-two .vh-hero-visual{opacity:.22;transform:translateX(20%)}
 .home-v10 .vh-network-target{width:300px;height:300px;max-width:90vw}
 .home-v10 .vh-network-tags,.home-v10 .vh-network-foot,.home-v10 .vh-network-lines{display:none}
 .home-v10 .vh-console-inner{height:56px;gap:20px}
 .home-v10 .vh-slide-progress{gap:9px}
 .home-v10 .vh-progress-item{flex-direction:row;justify-content:center;align-items:center;min-width:40px;padding:8px 0 12px}
 .home-v10 .vh-progress-item .vh-progress-name{display:none}
 .home-v10 .vh-progress-item .vh-progress-no{font-size:12px}
 .home-v10 .vh-progress-track{bottom:9px}
 .home-v10 .vh-control-box{gap:3px}
 .home-v10 .vh-control-box button{width:44px;height:44px;border-color:transparent;background:transparent}
 .home-v10 .vh-control-box #heroPause{margin:0;background:transparent;border-color:transparent}
 .home-v10 .vh-opening-inner{padding-block:24px;gap:9px;display:block}
 .home-v10 .vh-small-brand{font-size:9px;margin-bottom:9px}
 .home-v10 .vh-opening-inner p{font-size:16px;line-height:1.65;margin:0}
 .home-v10 .vh-opening-arrow{display:none}
 .home-v10 :is(.vh-services,.vh-value,.vh-work,.vh-insights){padding:48px 0}
 .home-v10 .vh-section-intro,.home-v10 .vh-value-heading{display:block;margin-bottom:26px}
 .home-v10 :is(.vh-section-intro h2,.vh-value-heading h2,.vh-insights h2,.vh-cta h2){font-size:29px;line-height:1.35;margin-top:13px}
 .home-v10 :is(.vh-section-intro>p,.vh-value-heading>p){font-size:14px;line-height:1.8;margin-top:14px}
 .home-v10 .vh-section-eyebrow{font-size:10px}
 .home-v10 .vh-services-layout{display:block}
 .home-v10 .vh-service-preview{display:none}
 .home-v10 .vh-service-directory>a{min-height:84px;padding:18px 0;gap:13px}
 .home-v10 .vh-dir-title strong{font-size:18px;line-height:1.5}
 .home-v10 .vh-dir-title small{font-size:13px;line-height:1.6;margin-top:5px}
 .home-v10 .vh-dir-num{font-size:11px}
 .home-v10 .vh-value-layout{grid-template-columns:1fr;gap:24px}
 .home-v10 .vh-value-image{min-height:200px}
 .home-v10 .vh-value-image>p{font-size:25px;left:22px;bottom:48px}
 .home-v10 .vh-value-image>small{left:22px;bottom:22px}
 .home-v10 .vh-value-list li{grid-template-columns:1fr;gap:7px;padding:19px 0}
 .home-v10 .vh-value-list li h3{font-size:18px}
 .home-v10 .vh-value-list li p{font-size:14px;line-height:1.8}
 .home-v10 .vh-work-grid{grid-template-columns:1fr;grid-template-rows:235px auto auto;gap:14px}
 .home-v10 .vh-work-main{grid-row:auto}
 .home-v10 .vh-work-content{left:20px;right:20px;bottom:23px}
 .home-v10 .vh-work-content h3{font-size:22px}
 .home-v10 .vh-work-content p{font-size:13px;line-height:1.75}
 .home-v10 .vh-work-secondary{grid-template-columns:96px minmax(0,1fr);gap:16px;min-height:116px;padding:0}
 .home-v10 .vh-work-secondary img{width:96px;height:116px;object-fit:cover}
 .home-v10 .vh-work-secondary strong{font-size:16px;line-height:1.5}
 .home-v10 .vh-work-secondary em{font-size:12px;line-height:1.6}
 .home-v10 .vh-insights-grid{grid-template-columns:1fr;gap:18px}
 .home-v10 .vh-insights-links>a{padding:22px 30px 22px 0}
 .home-v10 .vh-insights-links strong{font-size:18px}
 .home-v10 .vh-insight-description{font-size:13px;line-height:1.8}
 .home-v10 .vh-cta-inner{min-height:0;padding:38px 0;gap:23px;align-items:stretch}
 .home-v10 .vh-cta p{font-size:14px;line-height:1.8}
 .home-v10 .vh-cta button{width:100%;height:52px;font-size:14px}
 .home-v10 .vh-cta-watermark{display:none}
 /* Company story: a compact photo group and readable editorial rows. */
 #main.gwp-restored-about .xp-story{grid-template-columns:1fr 1fr;grid-template-rows:180px 100px auto;gap:10px}
 #main.gwp-restored-about .xp-story .xp-story-main{grid-column:1/-1;grid-row:1}
 #main.gwp-restored-about .xp-story .xp-photo:nth-last-child(2){grid-column:1;grid-row:2}
 #main.gwp-restored-about .xp-story .xp-photo:last-child{grid-column:2;grid-row:2;margin:0;border:0;height:auto}
 #main.gwp-restored-about .xp-story-note{grid-column:1/-1;grid-row:3;padding:23px 22px}
 #main.gwp-restored-about .xp-story-note h3{font-size:22px;line-height:1.5;margin:11px 0}
 #main.gwp-restored-about .xp-story-note p{font-size:14px;line-height:1.8;margin-top:12px}
 #main.gwp-restored-about .xp-note-mark{display:none}
 #main.gwp-restored-about .xp-photo-label{font-size:11px;left:12px;bottom:12px}
 #main.gwp-restored-about .xp-photo-zoom{width:28px;height:28px;right:10px;top:10px}
 #main.gwp-restored-about .xp-business-library{margin-top:30px}
 #main.gwp-restored-about .xp-minihead{display:block;margin-bottom:10px}
 #main.gwp-restored-about .xp-minihead h3{font-size:22px;line-height:1.5;margin-top:10px}
 #main.gwp-restored-about .xp-business-link{grid-template-columns:20px minmax(0,1fr) 16px;gap:10px;padding:22px 0}
 #main.gwp-restored-about .xp-business-link h3{font-size:19px;line-height:1.5;margin-bottom:9px}
 #main.gwp-restored-about .xp-business-link p{font-size:14px;line-height:1.8}
 #main.gwp-restored-about .xp-business-link small{font-size:12px;line-height:1.8}
 #main.gwp-restored-about .xp-mission{grid-template-columns:1fr;gap:24px;padding-bottom:25px}
 #main.gwp-restored-about .xp-mission h3{font-size:23px;line-height:1.5;margin:12px 0}
 #main.gwp-restored-about .xp-mission p{font-size:14px;line-height:1.8}
 #main.gwp-restored-about .xp-mission article+article{padding-top:24px}
 #main.gwp-restored-about .xp-values{grid-template-columns:1fr;gap:0;padding-top:7px}
 #main.gwp-restored-about .xp-values article{display:grid;grid-template-columns:25px minmax(0,1fr);gap:6px 12px;padding:18px 0;border-bottom:1px solid #ffffff20}
 #main.gwp-restored-about .xp-values article>span{grid-row:1/3;margin-top:7px}
 #main.gwp-restored-about .xp-values h3{font-size:18px;margin:0}
 #main.gwp-restored-about .xp-values p{font-size:14px;line-height:1.75;margin:0;grid-column:2}
 #main.gwp-restored-about .xp-strengths{grid-template-columns:1fr;gap:0}
 #main.gwp-restored-about .xp-strengths li{gap:15px;padding:22px 0}
 #main.gwp-restored-about .xp-strengths h3{font-size:20px;margin-bottom:9px}
 #main.gwp-restored-about .xp-strengths p{font-size:14px;line-height:1.8}
 #main.gwp-restored-about .xp-industries{grid-template-columns:1fr;gap:0}
 #main.gwp-restored-about .xp-industries article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px 13px;padding:20px 0}
 #main.gwp-restored-about .xp-industries svg{grid-row:1/3;width:24px;height:24px;margin:3px 0 0}
 #main.gwp-restored-about .xp-industries h3{font-size:18px;margin:0}
 #main.gwp-restored-about .xp-industries p{grid-column:2;font-size:14px;line-height:1.8;margin:0}
 /* Service explorers: the work brief is primary; decorative desktop art is optional. */
 #main.sv-page .ss-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;border:0;padding-bottom:9px;margin:0 0 16px;scrollbar-width:thin;overscroll-behavior-x:contain}
 #main.sv-page .ss-tab{flex:none;min-height:46px;white-space:nowrap;padding:12px 14px;font-size:14px;gap:8px;border:1px solid #d3e1ea!important}
 #main.sv-page .ss-tab[aria-selected=true]{background:#0b2d42;color:#fff}
 #main.sv-page .ss-tab[aria-selected=true] .ss-tab-num{color:#81d8ff}
 #main.sv-page .ss-card{display:block;min-height:0!important;height:auto}
 #main.sv-page .ss-art{display:none!important}
 #main.sv-page .ss-content{padding:24px 20px}
 #main.sv-page .ss-content h3{font-size:24px;line-height:1.4;margin:10px 0 16px}
 #main.sv-page .ss-description{font-size:14px;line-height:1.85}
 #main.sv-page .ss-task-list{gap:18px}
 #main.sv-page .ss-task-list h4{font-size:14px}
 #main.sv-page .ss-task-list p,#main.sv-page .ss-deliverable p{font-size:13px;line-height:1.8}
 #main.sv-page .ss-controls{padding-top:16px}
 #main.sv-page .ss-arrows button{width:44px;height:44px}
 #main.sv-page .ss-inquiry{min-height:44px;font-size:13px}
 #main.sv-page .ss-utility p{display:none}
 #main.sv-page .ss-utility{justify-content:flex-end;margin-bottom:12px}
 #main.sv-page .ss-utility button{min-height:40px;font-size:12px}
 #main.sv-page .journey-grid{grid-template-columns:1fr;gap:0;margin-top:24px}
 #main.sv-page .journey-grid li{padding:19px 0 19px 42px;min-height:0;position:relative}
 #main.sv-page .journey-grid .journey-step{position:absolute;left:0;top:20px;font-size:20px}
 #main.sv-page .journey-grid h3{font-size:18px;margin-bottom:7px}
 #main.sv-page .journey-grid p{font-size:14px;line-height:1.8}
 #main.sv-page .xp-question-map{grid-template-columns:1fr}
 #main.sv-page .xp-map-label{display:none}
 #main.sv-page .xp-question-path button{padding:20px 18px;gap:13px}
 #main.sv-page .xp-question-path strong{font-size:16px;line-height:1.55}
 #main.sv-page .xp-question-path em{font-size:12px;line-height:1.7}
 #main.sv-page .xp-question-path i{width:30px;min-width:30px;height:34px}
 #main.sv-page .xp-question-path button>svg{width:16px;min-width:16px}
 #main.sv-page .tc-fields button{font-size:13px;min-height:48px;padding:12px 6px;gap:5px}
 #main.sv-page .tc-fields button small{display:none}
 #main.sv-page .tc-index{padding:15px 18px}
 #main.sv-page .tc-index-label,#main.sv-page .tc-tabs{display:none}
 .rm-tech-select{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#516b7b}
 .rm-tech-select select{width:100%;min-width:0;min-height:48px;border:1px solid #c9dbe6;background:#fff;color:#0b2d42;padding:10px 12px;font-size:16px;border-radius:3px}
 #main.sv-page .tc-panel{padding:24px 20px}
 #main.sv-page .tc-panel h3{font-size:23px;line-height:1.5}
 #main.sv-page .tc-description{font-size:14px;line-height:1.85}
 #main.sv-page .tc-tasks{grid-template-columns:1fr;gap:17px}
 #main.sv-page .tc-tasks h4{font-size:14px}
 #main.sv-page .tc-tasks p,#main.sv-page .tc-output p{font-size:13px;line-height:1.8}
 #main.sv-page .tc-inquiry{font-size:13px;min-height:44px;padding-block:10px}
 /* Exhibition: scene intro is a short image strip, with service details below. */
 #main.sv-page .ex-workspace .xp-scene-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 #main.sv-page .ex-workspace .xp-scene-tabs button{min-height:52px;padding:12px 8px;font-size:13px;justify-content:center;gap:0;line-height:1.5}
 #main.sv-page .ex-workspace .xp-scene-tabs button>span{display:none}
 #main.sv-page .ex-workspace .xp-scene{grid-template-columns:1fr}
 #main.sv-page .ex-workspace .xp-scene-cover{min-height:0;height:auto}
 #main.sv-page .ex-workspace .xp-scene-overlay{padding:22px 20px;gap:9px}
 #main.sv-page .ex-workspace .xp-scene-overlay>span{display:none}
 #main.sv-page .ex-workspace .xp-scene-overlay h3{font-size:21px;line-height:1.5}
 #main.sv-page .ex-workspace .xp-scene-overlay p{font-size:13px;line-height:1.75}
 #main.sv-page .ex-workspace .xp-scene-services{padding:22px 18px}
 #main.sv-page .ex-service-tabs,#main.sv-page #exhibit-scene-2 .ex-service-tabs{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:17px;margin-bottom:20px}
 #main.sv-page .ex-service-tab{font-size:12px;min-height:44px;padding:10px 12px;flex:1 0 auto}
 #main.sv-page .ex-service-tab-number{display:none}
 #main.sv-page .ex-service-title-row h4{font-size:22px;line-height:1.5}
 #main.sv-page .ex-workspace .xp-description{font-size:14px;line-height:1.85}
 #main.sv-page .ex-workspace .ex-compact-tasks{grid-template-columns:1fr;gap:18px}
 #main.sv-page .ex-workspace .ex-compact-tasks p,#main.sv-page .ex-workspace .xp-output p{font-size:13px;line-height:1.8}
 #main.sv-page .ex-workspace .ex-service-inquiry{min-height:44px;font-size:12px;margin-top:5px}
 #main.sv-page .ex-workspace-tools{gap:10px;flex-wrap:wrap;margin-bottom:15px}
 #main.sv-page .ex-workspace-label{display:none}
 #main.sv-page .xp-round{width:44px;height:44px}
 #main.sv-page .xp-exhibit-check{grid-template-columns:1fr}
 #main.sv-page .xp-date-stamp{padding:22px;color:#fff}
 #main.sv-page .xp-date-stamp strong{font-size:25px;margin:10px 0}
 #main.sv-page .xp-date-stamp p,#main.sv-page .xp-date-stamp span{color:#c7e0ee}
 #main.sv-page .xp-exhibit-check ul{padding:4px 22px}
 #main.sv-page .xp-exhibit-check li>span{font-size:14px;line-height:1.8}
 /* Event posters turn into compact landscape cards. */
 #main.sv-page .xp-filter-bar{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
 #main.sv-page .xp-filter-bar button{flex:none;min-height:44px;font-size:13px;white-space:nowrap;padding:10px 14px}
 #main.sv-page .xp-event-grid{grid-template-columns:1fr;gap:12px}
 #main.sv-page .xp-event-card,#main.sv-page .xp-event-card.event-style-0,#main.sv-page .xp-event-card.event-style-1,#main.sv-page .xp-event-grid.filtered .xp-event-card{grid-column:auto;min-height:0;height:auto;padding:22px;transform:none}
 #main.sv-page .xp-event-motif{display:none}
 #main.sv-page .xp-event-copy{padding-top:16px}
 #main.sv-page .xp-event-copy small{display:none}
 #main.sv-page .xp-event-copy strong,#main.sv-page .event-style-0 .xp-event-copy strong,#main.sv-page .event-style-1 .xp-event-copy strong{font-size:23px;line-height:1.4;margin-bottom:9px}
 #main.sv-page .xp-event-copy>span{font-size:14px;line-height:1.8}
 #main.sv-page .xp-event-open{margin-top:17px;padding-top:13px;font-size:12px}
 #main.sv-page .xp-production{grid-template-columns:1fr;gap:25px}
 #main.sv-page .xp-production-image{min-height:220px}
 #main.sv-page .xp-production-image>div{left:22px;right:22px;bottom:23px}
 #main.sv-page .xp-production-image h3{font-size:23px;line-height:1.5}
 #main.sv-page .xp-production-notes article{padding-block:18px;margin-bottom:0;gap:14px}
 #main.sv-page .xp-production-notes h3{font-size:19px}
 #main.sv-page .xp-production-notes p,#main.sv-page .xp-production-notes li{font-size:14px;line-height:1.8}
 /* All process steps use one vertical reading direction on phones. */
 #main.sv-page .xp-process{grid-template-columns:1fr;gap:0;margin-top:24px}
 #main.sv-page .xp-process li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px 14px;padding:20px 0;border-top-width:1px}
 #main.sv-page .xp-process li>span{font-size:17px;padding-top:5px}
 #main.sv-page .xp-process h3{font-size:18px;line-height:1.5;margin:0}
 #main.sv-page .xp-process p{grid-column:2;font-size:14px;line-height:1.8;margin:0}
 #main.sv-page .sv-funding{padding:27px 0}
 #main.sv-page .sv-funding>.container{grid-template-columns:1fr;gap:17px}
 #main.sv-page .sv-funding h2{font-size:23px;line-height:1.5}
 #main.sv-page .sv-funding p:not(.sv-kicker){font-size:14px;line-height:1.8}
 #main.sv-page .sv-funding small{font-size:12px;line-height:1.8}
 #main.sv-page .sv-funding a{font-size:13px;min-height:44px}
 #main.sv-page .faq-question{font-size:15px;line-height:1.6;gap:12px;padding:19px 0;min-height:56px}
 #main.sv-page .faq-answer{font-size:14px;line-height:1.8;padding:0 24px 22px}
 #main.sv-page .consult-line{padding:24px 22px;gap:19px;margin-top:28px}
 #main.sv-page .consult-line h3{font-size:21px;line-height:1.5}
 #main.sv-page .consult-line p{font-size:14px;line-height:1.8}
 #main.sv-page .consult-line .button{font-size:14px;min-height:50px;width:100%}
 /* Marketing: keep the service text, omit the decorative desktop mockups. */
 #main.mk-page h3{font-size:23px;line-height:1.5}
 #main.mk-page .mk-research,#main.mk-page .mk-channel-panel,#main.mk-page .mk-content-feature{grid-template-columns:1fr}
 #main.mk-page .mk-research-copy,#main.mk-page .mk-content-copy{padding:25px 0}
 #main.mk-page .mk-channel-copy{padding:24px 20px}
 #main.mk-page .mk-body-copy{font-size:14px;line-height:1.85}
 #main.mk-page .mk-research-points dd,#main.mk-page .mk-task-lines dd{font-size:13px;line-height:1.85}
 #main.mk-page .mk-research-points dd{padding-left:0}
 #main.mk-page .mk-research-output{padding:24px}
 #main.mk-page .mk-research-output h4{font-size:24px;margin:17px 0}
 #main.mk-page .mk-decision-rows>div{grid-template-columns:52px minmax(0,1fr);gap:5px 12px;padding:13px 0}
 #main.mk-page .mk-decision-rows small{grid-column:2;text-align:left;font-size:12px}
 #main.mk-page .mk-output-top span:last-child{display:none}
 #main.mk-page .mk-output-footer{display:block;font-size:13px;line-height:1.8;padding-top:17px;margin-top:0}
 #main.mk-page .mk-output-footer>span{display:block;margin-bottom:8px}
 #main.mk-page .mk-channel-tabs button{padding:15px 7px;min-height:51px;text-align:center}
 #main.mk-page .mk-channel-tabs strong{font-size:14px;line-height:1.5}
 #main.mk-page .mk-channel-tabs button>span{display:none}
 #main.mk-page .mk-channel-visual,#main.mk-page .mk-content-formats,#main.mk-page .mk-identity-sample{display:none}
 #main.mk-page .mk-inline-output{display:block;font-size:13px;line-height:1.8}
 #main.mk-page .mk-inline-output>span{display:block;margin-bottom:7px;font-size:11px}
 #main.mk-page .mk-brand-pair{grid-template-columns:1fr;gap:16px}
 #main.mk-page .mk-brand-card{padding:24px 22px}
 #main.mk-page .mk-brand-card .mk-body-copy{min-height:0}
 #main.mk-page .mk-card-detail{font-size:13px;line-height:1.8;margin:18px 0}
 #main.mk-page .mk-digital-flow{padding:18px 12px;min-height:0;gap:7px;margin:20px 0}
 #main.mk-page .mk-digital-flow>div strong{font-size:12px}
 #main.mk-page .mk-start-grid,#main.mk-page .mk-funding{grid-template-columns:1fr;gap:25px}
 #main.mk-page .mk-start-copy h2{font-size:26px;line-height:1.4}
 #main.mk-page .mk-text-link{font-size:13px;min-height:44px}
 #main.mk-page .mk-inquiry-link{min-height:50px;width:100%;font-size:14px;justify-content:space-between}
 /* Support forms and checklists stay usable without squeezed columns. */
 #main.sv-page .xp-program-pair,#main.sv-page .xp-brief-builder,#main.sv-page .xp-prep{grid-template-columns:1fr;gap:16px}
 #main.sv-page .xp-program-ticket,#main.sv-page .xp-brief-builder,#main.sv-page .xp-prep{border-radius:3px;box-shadow:none}
 #main.sv-page .xp-ticket-head,#main.sv-page .xp-ticket-body,#main.sv-page .xp-brief-form,#main.sv-page .xp-brief-summary{padding:24px 22px}
 #main.sv-page .xp-ticket-head h3{font-size:25px}
 #main.sv-page .xp-ticket-body p{font-size:14px;line-height:1.8}
 #main.sv-page .xp-prep{gap:0}
 #main.sv-page .xp-prep-meter{padding:22px}
 #main.sv-page .xp-prep-meter>strong{font-size:36px;margin:10px 0}
 #main.sv-page .xp-prep-items{padding:0 20px}
 #main.sv-page .xp-prep-items label{padding:18px 0;gap:12px}
 #main.sv-page .xp-prep-items small{font-size:13px;line-height:1.8}
 #main.sv-page .xp-prep-items label>svg{display:none}
 #main.sv-page .xp-dossier>summary{padding:18px 16px;gap:10px}
 #main.sv-page .xp-dossier-title strong{font-size:18px}
 #main.sv-page .xp-dossier-body{padding:20px!important}
 #main.sv-page .xp-dossier-body .xp-description{font-size:14px;line-height:1.8}
 /* Boards, articles, history, directions and contact. */
 #main .gwp-board{padding:30px 0 46px;min-height:320px}
 .gwp-board__tools{gap:16px;margin-bottom:22px;padding-bottom:18px}
 .gwp-board__tools--years{display:grid;grid-template-columns:1fr}
 .gwp-board__years{grid-row:2;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin;max-width:100%}
 .gwp-board__years button{min-width:72px;min-height:44px;font-size:13px;padding:10px 16px;flex:none}
 .gwp-board__sort{display:none}
 .gwp-board__filters,.gwp-board__search{width:100%;min-width:0}
 .gwp-board__search input{font-size:16px}
 #main .gwp-board__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
 .gwp-board__photo{aspect-ratio:4/3;margin-bottom:11px}
 #main .gwp-board__card h3{font-size:15px;line-height:1.6;letter-spacing:-.03em}
 .gwp-board__meta{font-size:11px;gap:5px;flex-wrap:wrap;margin-bottom:6px}
 .gwp-board__card p{display:none}
 .gwp-pager{margin-top:30px;padding-top:20px;gap:5px}
 .gwp-pager button{min-width:44px;height:44px}
 .gwp-board__table th:nth-child(1){width:34px}
 .gwp-board__table th:nth-child(3){width:82px}
 .gwp-board__table :is(td,th){padding-inline:5px}
 .gwp-board__table td{font-size:14px}
 #main .gwp-info-grid{grid-template-columns:1fr;gap:12px;margin-top:24px}
 #main .gwp-info-grid article{padding:22px;min-height:0;box-shadow:none}
 #main .gwp-info-grid h3{font-size:18px;margin:12px 0 9px}
 #main .gwp-info-grid p{font-size:14px;line-height:1.8}
 #main .gwp-history-layout{gap:25px}
 #main .gwp-history li{grid-template-columns:65px minmax(0,1fr);gap:12px;padding:23px 0}
 #main .gwp-history time{font-size:23px}
 #main .gwp-history h3{font-size:17px;line-height:1.55}
 #main .gwp-history p{font-size:14px;line-height:1.8}
 #main .gwp-address-layout{grid-template-columns:1fr;min-height:0}
 #main .gwp-location-panel{padding:24px 22px}
 #main .gwp-location-panel dl>div{grid-template-columns:64px minmax(0,1fr);gap:12px}
 #main .gwp-location-placeholder{min-height:180px;padding:25px}
 #main .gwp-location-mark{font-size:46px}
 #main .gwp-location-placeholder strong{margin:14px 0 8px}
 #main .gwp-detail-lead{grid-template-columns:1fr;gap:22px}
 #main .gwp-detail-lead img{height:auto;aspect-ratio:16/10;object-fit:cover}
 #main .gwp-detail-lead h2{font-size:24px;line-height:1.45}
 #main .gwp-detail-lead p{font-size:14px;line-height:1.85}
 #main .gwp-steps article{gap:12px;padding:20px 0}
 #main .gwp-steps article>span{width:27px;font-size:14px}
 #main .gwp-steps article h3{font-size:18px}
 #main .gwp-steps article p{font-size:14px;line-height:1.8}
 #main .gwp-band{padding:35px 0}
 #main .gwp-band .gwp-container{flex-direction:column;align-items:stretch;gap:23px}
 #main .gwp-band h2{font-size:25px;line-height:1.4}
 #main .gwp-band p{font-size:14px;line-height:1.8}
 body.gwp-public #main .gwp-band a{width:100%;min-height:50px;padding:15px 20px;font-size:14px}
 #main .gwp-contact-form{padding:0;border:0}
 #main .gwp-form-grid{grid-template-columns:1fr;gap:0}
 #main .gwp-contact-form label{font-size:14px;margin-bottom:21px}
 #main .gwp-contact-form input:not([type=checkbox]),#main .gwp-contact-form select,#main .gwp-contact-form textarea{font-size:16px;min-height:50px;padding:13px}
 #main .gwp-submit{width:100%;min-height:52px}
 #main .gwp-contact-aside{padding:24px 22px}
 #main .gwp-contact-aside h3{font-size:22px}
 /* Phone dialogs occupy the available height and scroll inside their own sheet. */
 .gwp-public :is(.vh-contact-dialog,.xp-modal,.ss-overview-dialog){position:fixed;inset:auto 0 0;margin:0;max-width:none;width:100%;max-height:calc(100dvh - 20px);border:0;border-radius:16px 16px 0 0;overflow:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
 .gwp-public .vh-dialog-header{position:sticky;top:0;background:#fff;z-index:2;padding:20px 20px 16px;border-bottom:1px solid #dce7ed}
 .gwp-public .vh-contact-dialog .vh-dialog-header h2{font-size:23px}
 .gwp-public .vh-dialog-close,.gwp-public .xp-modal-close{width:44px;height:44px;min-width:44px;min-height:44px}
 .gwp-public .vh-dialog-intro{padding:15px 20px 0;font-size:12px;line-height:1.7}
 .gwp-public .vh-contact-dialog form{padding:20px;gap:16px}
 .gwp-public .vh-dialog-form-row{grid-template-columns:1fr;gap:16px}
 .gwp-public .vh-contact-dialog form label{font-size:13px}
 .gwp-public .vh-contact-dialog :is(input,textarea,select),#main.sv-page .xp-brief-form select{font-size:16px;min-height:48px}
 #main.sv-page .xp-modal-top{position:sticky;top:0;z-index:2;padding:21px 20px;gap:15px}
 #main.sv-page .xp-modal-top h2{font-size:23px}
 #main.sv-page .xp-modal-content{padding:24px 20px}
 #main.sv-page .xp-modal-content>.xp-task-list{grid-template-columns:1fr}
 #main.sv-page .xp-modal-content .xp-description{font-size:14px;line-height:1.85}
 /* A small footer, with the complete directory available on demand. */
 .gwp-public .vh-footer-main{display:block;padding:32px 0 18px}
 .gwp-public .vh-footer-profile img{width:125px;height:auto}
 .gwp-public .vh-footer-profile p{font-size:12px;line-height:1.8;margin-top:15px}
 .gwp-public .vh-footer-main nav{display:block;margin-top:24px}
 .gwp-public .vh-footer-main nav>.rm-footer-group{display:block;border-top:1px solid #e1e8ec}
 .gwp-public .vh-footer-main .rm-footer-group h3{display:none}
 .gwp-public .vh-footer-main .rm-footer-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:18px;font:700 11px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#284b5f;padding:12px 0;text-align:left}
 .gwp-public .rm-footer-links{display:flex;flex-direction:column;gap:0;padding:0 0 13px}
 .gwp-public .vh-footer-main nav a,.gwp-public .vh-footer-main nav .rm-footer-links button{font-size:13px;line-height:1.6;min-height:44px;padding:12px 0}
 .gwp-public .vh-footer-bottom{padding:18px 0 23px;display:block;font-size:10px}
 .gwp-public .vh-footer-bottom>span:last-child{display:none}
}
@media(max-width:359px){
 .home-v10 .vh-slide-copy h1,.home-v10 .vh-slide-copy h2{font-size:28px}
 .home-v10 .vh-slide-buttons{gap:12px}
 .home-v10 .vh-primary-link{padding-inline:12px;gap:9px;font-size:11px}
 .home-v10 .vh-secondary-link{font-size:11px;gap:7px}
 #main .gwp-banner h1{font-size:28px}
 #main .gwp-banner--article h1{font-size:25px}
 #main .gwp-board__grid{gap:23px 12px}
 #main .gwp-board__card h3{font-size:14px}
 #main.sv-page .tc-fields button{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.gwp-public .rm-menu-links,.gwp-public .rm-footer-links{scroll-behavior:auto}}

@media(min-width:761px) and (max-width:1024px){
 .home-v10 .vh-hero-stage{height:520px;min-height:0}
 .home-v10 .vh-slide-container{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;width:calc(100% - 48px)}
 .home-v10 .vh-slide-copy h1,.home-v10 .vh-slide-copy h2{font-size:38px}
 .home-v10 .vh-slide-overline{font-size:9px;letter-spacing:.08em;white-space:normal}
 .home-v10 .vh-slide-description{font-size:14px}
 .home-v10 .vh-photo-window{height:340px;top:calc(50% - 170px)}
 .home-v10 .vh-three-visual-photo{height:340px}
 .home-v10 .vh-visual-label,.home-v10 .vh-three-caption,.home-v10 .vh-vertical-mark{display:none}
 .home-v10 .vh-network-target{width:90%}
 .home-v10 .vh-service-preview{min-height:340px}
 #main.mk-page .mk-research,#main.mk-page .mk-content-feature{grid-template-columns:1fr 1fr}
 #main.mk-page .mk-channel-panel{grid-template-columns:1fr}
 #main.mk-page .mk-channel-visual{display:none}
 #main.gwp-restored-about .xp-story{grid-template-rows:240px 200px}
}
@media(max-width:760px){
 #main.sv-page .ss-tabs,#main.sv-page .xp-filter-bar,.gwp-board__years{scrollbar-width:none}
 #main.sv-page .ss-tabs::-webkit-scrollbar,#main.sv-page .xp-filter-bar::-webkit-scrollbar,.gwp-board__years::-webkit-scrollbar{display:none}
 #main.sv-page .xp-modal,#main.sv-page .ss-overview-dialog{border-radius:16px 16px 0 0;max-height:calc(100dvh - 20px);max-width:none;width:100%;margin:0;inset:auto 0 0}
 #main.sv-page .xp-modal-top>button{width:44px;height:44px;min-width:44px;min-height:44px}
}
