/* V93. SVG icons are shared; layout changes below are restricted to small screens. */
html body svg.ui-icon{display:inline-block!important;width:1.1em!important;height:1.1em!important;min-width:1.1em!important;max-width:none!important;overflow:visible;vertical-align:-.13em;flex-shrink:0;fill:none!important;stroke:currentColor!important;pointer-events:none}
html body svg.ui-icon path{fill:none;stroke:inherit}
html body svg.ui-icon-play path{fill:currentColor;stroke:currentColor}
html body .back-home svg.ui-icon{width:22px!important;height:22px!important}
html body .menu .menu-close-icon{display:none}
.mobile-map-hint{display:none}
@media(max-width:900px){
 :root{--mobile-header-height:calc(72px + env(safe-area-inset-top,0px));--phone-gutter:20px}
 html{width:100%;overflow-x:clip;scroll-padding-top:calc(var(--mobile-header-height) + 16px)!important;-webkit-text-size-adjust:100%}
 html body{min-width:0!important;max-width:100%!important;overflow-x:clip!important;overflow-y:visible!important;-webkit-text-size-adjust:100%;touch-action:auto}
 html body.mobile-scroll-locked{position:fixed!important;top:var(--locked-scroll-top)!important;left:0!important;right:0!important;width:100%!important;overflow:hidden!important;overscroll-behavior:none}
 html body :is(button,a,summary,input,select,textarea){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
 html body :is(input,select,textarea){font-size:16px!important}
 html body main{max-width:100%;min-width:0}
 html body main>section{max-width:100%;min-width:0;content-visibility:visible!important;contain-intrinsic-size:none!important}
 html body :is(h1,h2,h3,h4){word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;letter-spacing:-.025em!important}
 html body #mainContent :is(h1,h2,h3,h4),html body :is(#teamTitle,#homeOverviewTitle,#marketsTitle,#missionVisionTitle,#whyTitle,#homeDisciplinesTitle,#homeSelectedTitle),html body #teamProfileModal h3{font-weight:400!important}
 html body :is(p,li){hyphens:none!important;word-break:normal!important}
 html body .reveal,html body .luxury-reveal,html body .service-reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important;animation:none!important}
 html body :is(.hero-copy,.page-hero-inner) *,html body main :is(h1,h2,h3) span,html body .hero-caption{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
 html body .header{position:fixed!important;top:0!important;inset-inline:0!important;width:100%!important;height:var(--mobile-header-height)!important;min-height:var(--mobile-header-height)!important;padding:env(safe-area-inset-top,0px) max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px))!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;background:#071d30!important;border:0!important;border-bottom:1px solid #b9e2ff24!important;z-index:1000!important;box-shadow:none!important;backdrop-filter:none!important}
 html body .header .logo{width:98px!important;height:60px!important;min-width:98px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;display:flex!important;align-items:center!important}
 html body .header .logo img{display:block!important;width:98px!important;height:60px!important;object-fit:contain!important}
 html body .header .nav,html body .header .profile-header,html body .header .talk{display:none!important}
 html body .header-tools{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
 html body .header .lang{display:flex!important;align-items:center;justify-content:center;gap:6px;width:70px;min-height:44px;font:600 12px/1 var(--reading-font)!important;color:#e9f5ff!important;letter-spacing:.02em!important;margin:0!important}
 html body .header .menu{display:flex!important;align-items:center;justify-content:center;width:44px!important;min-width:44px!important;height:44px!important;padding:10px!important;border:1px solid #b9e2ff40!important;border-radius:7px!important;background:transparent!important;color:#e9f5ff!important;position:relative!important;margin:0!important;z-index:1002!important}
 html body .menu svg{width:23px;height:23px;flex-shrink:0;stroke:currentColor}
 html body .menu .menu-open-icon{display:block}
 html body .menu .menu-close-icon{display:none}
 html body .menu[aria-expanded=true] .menu-open-icon{display:none}
 html body .menu[aria-expanded=true] .menu-close-icon{display:block}
 html body .mobile-panel{position:fixed!important;inset:var(--mobile-header-height) 0 0!important;top:var(--mobile-header-height)!important;width:100%!important;height:calc(100dvh - var(--mobile-header-height))!important;max-height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-header-height))!important;min-height:0!important;padding:18px max(20px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#071d30!important;z-index:999!important;display:none!important;transform:none!important;box-shadow:none!important}
 html body .mobile-panel.open{display:flex!important;flex-direction:column!important;gap:20px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
 html body .mobile-links{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
 html body .mobile-links>a,html body .mobile-about-group>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:55px!important;padding:10px 2px!important;margin:0!important;border:0!important;border-bottom:1px solid #b9e2ff29!important;background:transparent!important;color:#edf7ff!important;font:400 27px/1.3 var(--heading-font)!important;letter-spacing:-.02em!important;text-transform:none!important;text-decoration:none!important}
 html body .mobile-about-group{border:0;margin:0;padding:0}
 html body .mobile-about-group>summary{cursor:pointer;list-style:none}
 html body .mobile-about-group>summary::-webkit-details-marker{display:none}
 html body .mobile-about-group>summary svg{font-size:16px;color:#b9e2ff;transition:transform .2s}
 html body .mobile-about-group[open]>summary svg{transform:rotate(180deg)}
 html body .mobile-about-group>div{display:grid;gap:0;padding:8px 0 12px 18px;border-bottom:1px solid #b9e2ff29}
 html body .mobile-links .mobile-sub-link{display:flex!important;align-items:center;min-height:44px!important;padding:10px 0!important;border:0!important;margin:0!important;font:400 15px/1.6 var(--reading-font)!important;letter-spacing:0!important;color:#c0d9ea!important;text-transform:none!important;background:none!important}
 .mobile-menu-actions>a{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:52px;padding:15px 18px;background:#73c2fb;color:#071d30;border-radius:7px;font:500 14px var(--reading-font)}
 html body .mobile-foot{font:500 9px/1.8 var(--reading-font)!important;letter-spacing:.12em!important;color:#9bbad0!important;margin:0!important;padding:0!important;border:0!important}
 html body.menu-open :is(.chat-launcher,.back-home),html body.project-menu-open :is(.chat-launcher,.back-home){visibility:hidden!important;pointer-events:none!important}
 html body .project-mobile-panel{top:var(--mobile-header-height)!important;bottom:0!important;height:calc(100dvh - var(--mobile-header-height))!important;max-height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-header-height))!important;padding:20px 20px max(24px,env(safe-area-inset-bottom,0px))!important;z-index:999!important;overflow-y:auto!important;overscroll-behavior:contain;background:#071d30!important;gap:0!important}
 html body .project-mobile-panel a{font:400 27px/1.35 var(--heading-font)!important;min-height:55px!important;padding:10px 0!important;display:flex;align-items:center;border-bottom:1px solid #b9e2ff29}
 html body .project-menu-button{display:flex!important;align-items:center;justify-content:center;min-width:54px!important;min-height:44px!important;font-size:12px!important}

 /* Natural-flow first screens, without fixed tall boxes or floating controls. */
 html body.home-page .hero{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important}
 html body.home-page .hero-inner{height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:calc(var(--mobile-header-height) + 36px) 20px 24px!important;margin:0!important;width:100%!important;gap:0!important}
 html body.home-page .hero-copy{width:100%!important;max-width:none!important;margin:0!important}
 html body.home-page .hero-kicker-new{font-size:10px!important;line-height:1.7!important;letter-spacing:.1em!important;max-width:none!important;margin:0 0 23px!important}
 html body.home-page .hero h1{font-size:clamp(46px,12.5vw,62px)!important;line-height:1.03!important;letter-spacing:-.035em!important;max-width:none!important;width:100%!important;margin:0!important}
 html body.home-page .hero-introduction{font:400 16px/1.7 var(--reading-font)!important;max-width:none!important;margin:23px 0 25px!important;color:#d4e8f5!important}
 html body.home-page .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important;margin:0 0 24px!important}
 html body.home-page .hero-actions .button{grid-column:1!important;width:100%!important;min-height:52px!important;padding:15px 18px!important;font:500 14px/1.5 var(--reading-font)!important;letter-spacing:0!important;text-transform:none!important;border-radius:7px!important;display:flex!important;align-items:center;justify-content:space-between}
 html body.home-page .hero-caption{width:100%!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:5px 12px!important;margin:0!important;padding:18px 0 0!important;align-items:start!important}
 html body.home-page .hero-caption>span{grid-column:1;grid-row:1;font-size:10px!important;padding-top:4px}
 html body.home-page .hero-caption>div{grid-column:2;grid-row:1}
 html body.home-page .hero-caption strong{font-size:16px!important;line-height:1.4!important}
 html body.home-page .hero-caption small{font-size:10px!important;line-height:1.6!important;letter-spacing:.05em!important;margin-top:5px!important}
 html body.home-page .hero-caption p{display:block!important;grid-column:2!important;grid-row:auto!important;font-size:11px!important;line-height:1.7!important;max-width:none!important;margin:5px 0 0!important}
 html body.home-page .hero-case-link{grid-column:2!important;font-size:12px!important;min-height:40px!important;margin-top:2px!important;width:max-content}
 html body.home-page .hero-switcher{position:relative!important;inset:auto!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin:0 20px 26px!important;width:calc(100% - 40px)!important;max-width:none!important;transform:none!important}
 html body.home-page .hero-dot,html body.home-page .hero-playback button{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;display:grid!important;place-items:center!important}
 html body.home-page .hero-playback{display:flex!important;gap:0!important;margin-inline-start:8px}
 html body.home-page .hero-playback button:first-child,html body.home-page .hero-playback button:last-child{display:none!important}
 html body.home-page .hero-playback svg.ui-icon{width:17px!important;height:17px!important}
 html body.home-page .hero-slide{transform:none!important;background-attachment:scroll!important;transition:opacity .35s ease!important;animation:none!important}
 html body.home-page .hero-grid{opacity:.08!important}
 html body.home-page :is(.home-disciplines,.home-selected){padding:48px 20px!important}
 html body .home-section-heading{display:block!important;margin-bottom:25px!important;gap:0!important}
 html body .home-section-heading h2{font-size:32px!important;line-height:1.17!important;max-width:none!important}
 html body .home-section-heading .eyebrow{font-size:10px!important;line-height:1.7!important;margin-bottom:17px!important;letter-spacing:.11em!important}
 html body .editorial-link{font-size:13px!important;min-height:44px!important;margin-top:14px!important;gap:18px!important}
 html body .home-disciplines .hero-capabilities{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
 html body .home-disciplines .hero-capabilities-row,html body .home-disciplines .hero-capabilities-row.secondary{display:contents!important}
 html body .home-disciplines .hero-capability{grid-column:auto!important;font-size:14px!important;line-height:1.5!important;min-height:64px!important;padding:15px!important;gap:10px!important;backdrop-filter:none!important}
 html body .home-disciplines .hero-capabilities-row.secondary .hero-capability:last-child{grid-column:1/-1!important}
 html body .home-disciplines .hero-capability b{font-size:16px!important}
 html body .home-capability-index{font:400 11px/1.9 var(--reading-font)!important;letter-spacing:0!important;margin-top:25px!important;padding-top:20px!important}
 html body.home-page .home-overview{padding:8px 20px 48px!important}
 html body.home-page .overview-feature{padding:28px 24px!important;display:block!important;min-height:0!important;border-radius:9px!important}
 html body.home-page .overview-feature::before{display:none!important}
 html body.home-page .overview-feature .home-overview-head{max-width:none!important;width:100%!important;margin:0 0 25px!important}
 html body.home-page .overview-feature .home-overview-head h2{font-size:32px!important;line-height:1.18!important;max-width:none!important;letter-spacing:-.025em!important}
 html body.home-page .overview-feature .eyebrow{font-size:10px!important;line-height:1.7!important;letter-spacing:.1em!important;margin-bottom:20px!important}
 html body.home-page .overview-feature .home-overview-brief-head h3{font-size:25px!important;line-height:1.25!important;margin-bottom:21px!important}
 html body.home-page .overview-feature .home-overview-brief>p{font-size:16px!important;line-height:1.75!important;max-width:none!important;margin-bottom:16px!important}
 html body.home-page .overview-feature .overview-editorial-image{opacity:.17!important;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent);pointer-events:none}
 html body.home-page .home-overview-item{padding:23px 0!important;min-height:0!important}
 html body.home-page .home-overview-item h3{font-size:26px!important;line-height:1.2!important;margin-bottom:14px!important}
 html body.home-page .home-overview-item p{font-size:16px!important;line-height:1.75!important}
 html body.home-page .home-overview-item a{font-size:12px!important;min-height:44px!important;letter-spacing:0!important}
 html body .home-selected-grid{grid-template-columns:1fr!important;gap:30px!important}
 html body .home-project-image{height:245px!important}
 html body .home-project-caption h3{font-size:28px!important;line-height:1.2!important}
 html body .home-project-caption>span{font-size:13px!important}
 html body .home-portfolio-link{font-size:14px!important;line-height:1.7!important;min-height:55px}
 html body .home-enquiry{padding:48px 20px!important}
 html body .home-enquiry h2{font-size:32px!important;line-height:1.2!important}
 html body .home-enquiry .button{min-height:54px!important;font-size:14px!important}

 /* Consistent reading width and type on the remaining page families. */
 html body .page-hero{min-height:0!important;height:auto!important;padding:calc(var(--mobile-header-height) + 38px) 20px 32px!important}
 html body .page-hero-inner{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
 html body .page-hero .eyebrow{font-size:10px!important;margin-bottom:20px!important;line-height:1.7!important;letter-spacing:.12em!important}
 html body .page-hero h1{font-size:clamp(34px,8.8vw,43px)!important;line-height:1.14!important;max-width:none!important;letter-spacing:-.03em!important;margin:0!important}
 html body .page-hero-description{font-size:16px!important;line-height:1.75!important;max-width:none!important;margin:24px 0!important}
 html body .page-hero-meta{gap:20px!important;padding-top:19px!important;font-size:10px!important;line-height:1.6!important;margin-top:24px!important}
 html body .page-hero-meta>span:last-child{font-size:12px!important;max-width:18ch!important}
 html body .intro{padding:48px 20px!important;display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
 html body .intro-head .about-title-refined{font-size:33px!important;line-height:1.17!important;max-width:none!important}
 html body .intro-side p{font-size:16px!important;line-height:1.8!important;max-width:none!important}
 html body .text-link{font-size:13px!important;min-height:44px!important;padding-top:8px!important;padding-bottom:8px!important;letter-spacing:0!important;gap:20px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;text-transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:space-between!important}
 html body .mission-vision .text-link{color:#c9e8ff!important;border-color:#b9e2ff70!important}
 html body .company-metrics{width:calc(100% - 40px)!important;max-width:none!important;margin:0 20px 48px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 html body .metric-card{padding:18px 16px!important;min-height:125px!important;border-radius:9px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
 html body .metric-card:last-child{grid-column:1/-1}
 html body .metric-card .metric-icon{width:26px!important;height:26px!important;position:static!important;padding:0!important;margin:0!important;background:none!important;border:0!important}
 html body .metric-card strong{font:500 26px/1.25 var(--reading-font)!important;letter-spacing:-.03em!important;max-width:100%!important;white-space:normal!important}
 html body .metric-card strong span{font:inherit!important}
 html body .metric-card p{font-size:12px!important;line-height:1.6!important;margin:0!important}
 html body :is(.mission-vision,.why-line,.team-glimpse,.expertise,.work,.process,.experience-map-section,.about-markets){padding:48px 20px!important;width:100%!important;max-width:none!important;margin-inline:0!important}
 html body :is(.mission-vision-inner,.why-line-inner,.team-glimpse-inner,.experience-map-inner){width:100%!important;max-width:none!important;margin:0!important}
 html body :is(.mission-vision-head,.why-line-head,.team-glimpse-head,.expertise-top,.work-head,.process-title,.experience-map-head){margin:0 0 28px!important;padding:0!important;max-width:none!important}
 html body :is(.mission-vision,.why-line,.team-glimpse,.expertise,.work,.process,.experience-map-section,.about-markets) h2{font-size:32px!important;line-height:1.18!important;max-width:none!important}
 html body :is(.mission-vision-grid,.why-grid,.about-markets-grid){display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
 html body :is(.mission-vision-card,.why-card,.about-market-card){min-height:0!important;padding:23px!important;border-radius:9px!important}
 html body :is(.mission-vision-card,.why-card,.about-market-card) h3{font-size:26px!important;line-height:1.22!important;max-width:none!important}
 html body :is(.mission-vision-card,.why-card,.about-market-card) p{font-size:16px!important;line-height:1.8!important}
 html body .mission-vision-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-top:24px!important}
 html body .why-cta{padding:24px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:23px!important;border-radius:9px!important}
 html body .why-cta .profile-large{width:100%!important;min-height:52px!important;font:500 14px/1.5 var(--reading-font)!important;letter-spacing:0!important;text-transform:none!important;background:#73c2fb!important;color:#071d30!important;border:1px solid #73c2fb!important;border-radius:7px!important;box-shadow:none!important;padding:15px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
 html body .why-cta .profile-large span{font:inherit!important;letter-spacing:0!important;color:inherit!important}
 html body .team-grid{grid-template-columns:1fr!important;gap:12px!important}
 html body .team-card{display:grid!important;grid-template-columns:80px minmax(0,1fr)!important;align-items:center!important;gap:16px!important;min-height:0!important;padding:16px!important;border-radius:9px!important}
 html body .team-card .team-avatar{width:80px!important;height:100px!important;min-width:0!important;border-radius:7px!important;margin:0!important;padding:0!important;background:#e8f3fc!important;box-shadow:none!important}
 html body .team-card .team-avatar img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
 html body .team-card>div{min-width:0!important;padding:0!important}
 html body .team-profile-trigger{display:block;width:100%!important;min-width:0!important;text-align:start!important;padding:0!important}
 html body .team-profile-trigger h3{font-size:22px!important;line-height:1.22!important;max-width:none!important;margin:0 0 9px!important}
 html body .team-profile-trigger p{font-size:11px!important;line-height:1.65!important;letter-spacing:.02em!important;max-width:none!important;margin:0!important}
 html body .team-profile-trigger>span{display:inline-flex!important;align-items:center!important;gap:15px!important;min-height:39px!important;font-size:12px!important;letter-spacing:0!important;text-transform:none!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:#245d85!important}
 html body .expertise-stage{grid-template-columns:1fr!important;gap:24px!important}
 html body .expertise-item{display:grid!important;grid-template-columns:26px minmax(0,1fr) 22px!important;gap:12px!important;padding:23px 0!important}
 html body .expertise-item h3{font-size:27px!important;line-height:1.22!important;max-width:none!important}
 html body .expertise-item p{font-size:15px!important;line-height:1.75!important;max-width:none!important}
 html body .expertise-visual{min-height:270px!important;height:270px!important;border-radius:9px!important}
 html body .expertise-portfolio-actions{gap:8px!important}
 html body .expertise-portfolio-actions button{font-size:12px!important;min-height:44px!important;letter-spacing:0!important;padding:10px 13px!important}
 html body .portfolio-banner{padding:24px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:15px!important;margin-bottom:32px!important;border-radius:9px!important}
 html body .portfolio-banner>strong{font-size:24px!important;line-height:1.25!important}
 html body .portfolio-banner>b{font:500 13px/1.6 var(--reading-font)!important;min-height:35px;display:flex;align-items:center;gap:15px}
 html body .project-editorial{grid-template-columns:1fr!important;gap:20px!important}
 html body .project-editorial .project-card{height:360px!important;min-height:0!important;grid-column:auto!important;grid-row:auto!important}
 html body .project-info{left:22px!important;right:22px!important;bottom:24px!important;max-width:calc(100% - 44px)!important}
 html body .project-info h3{font-size:32px!important;line-height:1.1!important;margin-bottom:12px!important;max-width:none!important;padding-inline-end:30px}
 html body .project-info p{font-size:12px!important;line-height:1.65!important;max-width:27ch!important}
 html body .project-arrow{width:36px!important;height:36px!important;right:18px!important;bottom:22px!important;display:grid;place-items:center;font-size:19px!important}
 html body .process{display:block!important}
 html body .process-title{position:static!important}
 html body .process-list{margin:0!important;padding:0 0 0 42px!important;width:100%!important}
 html body .process-list::before{left:17px!important;top:22px!important;bottom:22px!important}
 html body .process-row{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 28px!important;gap:12px!important;padding:23px 18px!important;border-radius:10px!important;margin:0 0 16px!important;width:100%!important;min-height:0!important}
 html body .process-row>span{left:-42px!important;right:auto!important;top:26px!important;transform:none!important;width:34px!important;height:34px!important;font-size:10px!important;box-shadow:none!important}
 html body .process-row::before{left:-10px!important;width:10px!important;top:42px!important}
 html body .process-row h3{font-size:27px!important;line-height:1.2!important;grid-column:1!important;grid-row:1!important}
 html body .process-row p{font-size:15px!important;line-height:1.8!important;grid-column:1/-1!important;grid-row:2!important}
 html body .process-row i{grid-column:2!important;grid-row:1!important;width:28px!important;height:28px!important;align-self:center!important;font-size:16px!important}
 html body .market-map-shell{width:100%!important;min-height:0!important;height:auto!important;overflow-x:auto!important;border-radius:9px!important;-webkit-overflow-scrolling:touch}
 html body .market-map-svg{width:1000px!important;min-width:1000px!important;height:auto!important;max-width:none!important;display:block!important}
 html body .market-map-shell{touch-action:pan-x pan-y pinch-zoom}
 html body .mobile-map-hint{display:flex;font:400 12px/1.6 var(--reading-font);color:#52758f;gap:12px;align-items:center;margin:0 0 14px}
 html body .market-mobile-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:20px!important}
 html body .market-mobile-list span{display:flex;align-items:center;min-height:44px!important;padding:11px 13px!important;background:#fff;border:1px solid var(--line);border-radius:6px;color:#245674;font:400 13px/1.5 var(--reading-font)!important}
 html body :is(#homeFeature,#homeExpertise,#about,#mission-vision,#why,#team,#markets,#process,#projects,#portfolioLibrary,#contact){scroll-margin-top:16px!important}

 /* Portfolio and detail pages: one clear column and comfortable controls. */
 html body .portfolio-library{padding:46px 20px 54px!important}
 html body .portfolio-library-heading h2{font-size:32px!important;line-height:1.2!important}
 html body .portfolio-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 12px!important;margin:26px 0 22px!important}
 html body .portfolio-toolbar .portfolio-search{grid-column:1/-1!important}
 html body .portfolio-toolbar :is(input,select){font-size:16px!important;min-height:52px!important;padding:13px 12px!important}
 html body .portfolio-filters{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
 html body .portfolio-filters button{font-size:12px!important;min-height:44px!important;padding:10px 12px!important;gap:8px!important}
 html body .portfolio-project-media{height:220px!important}
 html body .portfolio-project-content{padding:24px 20px 18px!important}
 html body .portfolio-project-card h3{font-size:29px!important;line-height:1.2!important}
 html body .portfolio-scope-preview,html body .portfolio-scope-details li{font-size:15px!important;line-height:1.8!important}
 html body .portfolio-scope-details summary{min-height:52px!important;font-size:13px!important}
 html body .portfolio-card-links a{min-height:44px!important;font-size:12px!important}
 html body .portfolio-project-content .portfolio-tags{font-size:12px!important;line-height:1.8!important}
 html body .service-hero{min-height:0!important;height:auto!important;padding:0!important}
 html body .service-hero-inner{padding:calc(var(--mobile-header-height) + 28px) 20px 40px!important;height:auto!important;min-height:0!important}
 html body .service-back{font-size:12px!important;margin-bottom:25px!important;min-height:40px!important;display:inline-flex!important;align-items:center!important;gap:12px!important}
 html body .service-hero h1{font-size:clamp(36px,9.3vw,46px)!important;line-height:1.15!important;max-width:none!important}
 html body .service-hero-lead{font-size:16px!important;line-height:1.75!important;max-width:none!important;margin:24px 0!important}
 html body .service-hero-meta{gap:7px!important;margin-bottom:25px!important}
 html body .service-hero-meta span{font-size:11px!important;padding:9px 12px!important}
 html body .service-hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important}
 html body .service-action{min-width:0!important;width:100%!important;min-height:52px!important;font-size:14px!important;padding:15px 18px!important;gap:20px!important}
 html body :is(.service-chapter-nav,.case-chapters){position:sticky!important;top:var(--mobile-header-height)!important;z-index:30!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;white-space:nowrap!important;padding:10px 20px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;backdrop-filter:none!important;background:#f3f8fc!important}
 html body .service-chapter-nav>div{min-width:max-content!important;gap:10px!important;justify-content:flex-start!important;padding:0!important}
 html body :is(.service-chapter-nav,.case-chapters) a{min-height:40px!important;font-size:12px!important;padding:9px 12px!important;white-space:nowrap!important}
 html body .service-chapter-nav::-webkit-scrollbar,html body .case-chapters::-webkit-scrollbar{display:none}
 html body :is(.service-intro,.service-deliverables,.service-process,.service-related,.service-next,.service-siblings){padding:46px 20px!important;max-width:100%!important;min-width:0!important}
 html body :is(.service-intro-grid,.service-next-inner,.related-grid){grid-template-columns:1fr!important;gap:26px!important}
 html body .service-section-label{margin-bottom:20px!important}
 html body.service-page :is(.service-intro,.service-deliverables,.service-process,.service-related,.service-next) h2{font-size:32px!important;line-height:1.2!important;max-width:none!important}
 html body .service-overview-visual{min-height:240px!important;height:240px!important}
 html body .service-intro-copy{margin:0!important}
 html body .service-intro-copy p,html body .service-section-note,html body .service-related-intro,html body .service-next-action>p{font-size:16px!important;line-height:1.8!important;max-width:none!important}
 html body .deliverable-list,html body .service-process-grid{grid-template-columns:1fr!important;gap:14px!important}
 html body .deliverable-item,html body .service-process-step{padding:23px!important;min-height:0!important}
 html body .deliverable-item h3,html body .service-process-step h3{font-size:26px!important;line-height:1.25!important}
 html body .deliverable-item p,html body .service-process-step p{font-size:16px!important;line-height:1.8!important}
 html body .related-card{height:300px!important;min-height:300px!important}
 html body .service-sibling-grid{grid-template-columns:1fr!important;gap:12px!important}
 html body .service-sibling-grid>a{padding:22px!important;min-height:100px!important}
 html body .service-sibling-grid h3{font-size:24px!important;line-height:1.25!important}
 html body .project-hero{height:auto!important;min-height:0!important;display:block!important}
 html body .project-hero-content{padding:calc(var(--mobile-header-height) + 28px) 20px 44px!important;min-height:0!important}
 html body .project-hero-content h1{font-size:clamp(36px,9.2vw,46px)!important;line-height:1.14!important;max-width:none!important;margin:24px 0!important}
 html body .project-hero-content>p:not(.eyebrow){font-size:16px!important;line-height:1.8!important}
 html body .project-meta-strip{margin-top:24px!important;gap:8px!important}
 html body .project-meta-strip span{font-size:11px!important;line-height:1.5!important}
 html body.project-premium :is(.case-section,.case-gallery,.case-related,.project-cta){padding:46px 20px!important}
 html body .case-grid,html body .case-gallery-head,html body .project-cta-inner{grid-template-columns:1fr!important;gap:26px!important}
 html body.project-premium :is(.case-section,.case-gallery,.case-related,.project-cta) h2{font-size:32px!important;line-height:1.2!important;max-width:none!important}
 html body .case-copy p,html body .case-cta-note{font-size:16px!important;line-height:1.8!important}
 html body .case-list li{font-size:15px!important;line-height:1.75!important;padding:19px!important;grid-template-columns:26px minmax(0,1fr)!important;gap:12px!important}
 html body .case-facts{grid-template-columns:1fr!important;margin-top:28px!important}
 html body .case-fact{padding:20px!important;border-inline-end:0!important;border-bottom:1px solid var(--line)!important}
 html body .case-fact strong{font-size:16px!important;line-height:1.6!important}
 html body .case-gallery-head>p{font-size:15px!important;line-height:1.8!important}
 html body .gallery-grid{grid-template-columns:1fr!important;gap:20px!important}
 html body .gallery-grid .case-gallery-open,html body .gallery-grid figure:first-child .case-gallery-open{height:250px!important}
 html body .case-gallery-zoom{font-size:12px!important;display:flex;gap:12px;align-items:center;min-height:40px}
 html body .case-related-card{grid-template-columns:1fr!important}
 html body .case-related-card>img{height:210px!important}
 html body .case-related-card>div{padding:22px!important}
 html body .case-related-card h3{font-size:27px!important;line-height:1.2!important}
 html body .case-source-link{padding:19px 20px!important;font-size:12px!important;gap:15px!important}
 html body .project-nav{padding:26px 20px!important;grid-template-columns:1fr 1fr!important;gap:20px!important}
 html body .project-nav a{font-size:18px!important;line-height:1.4!important;min-width:0}
 html body :is(#serviceOverview,#serviceDeliverables,#serviceApproach,#servicePortfolio,#serviceContact,#projectScope,#projectGallery,#projectEnquiry){scroll-margin-top:72px!important}

 /* iPhone overlays: bounded to the visible viewport and independently scrollable. */
 html body dialog.department-dialog,html body dialog.delivery-dialog,html body .case-image-dialog{position:fixed!important;inset:auto 12px!important;top:calc(var(--mobile-viewport-top,0px) + 12px)!important;bottom:auto!important;margin:0 auto!important;width:calc(100% - 24px)!important;max-width:none!important;max-height:calc(var(--mobile-viewport-height,100dvh) - 24px)!important;min-height:0!important;border-radius:12px!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto!important}
 html body dialog.department-dialog{padding:20px!important}
 html body .department-dialog-head{position:sticky!important;top:-20px!important;margin:-20px -20px 0!important;padding:20px 20px 16px!important;gap:16px!important;align-items:flex-start!important;background:#f3f8fc!important;z-index:5!important}
 html body .department-dialog-head>div{min-width:0}
 html body .department-dialog-head h2{font-size:29px!important;line-height:1.15!important;margin:14px 0 0!important;max-width:none!important}
 html body :is(.department-close,.delivery-close,.case-viewer-close){width:44px!important;height:44px!important;min-width:44px!important;display:grid!important;place-items:center!important;padding:11px!important;flex-shrink:0}
 html body :is(.department-close,.delivery-close,.case-viewer-close) svg{font-size:20px}
 html body .department-dialog .eyebrow{font-size:9px!important;line-height:1.7!important;letter-spacing:.09em!important;margin-bottom:0!important}
 html body #departmentIntro{font-size:15px!important;line-height:1.75!important;margin:20px 0!important}
 html body .portfolio-search input{font-size:16px!important;min-height:52px!important}
 html body .department-project{padding:22px 20px!important;border-radius:9px!important}
 html body .department-project h3{font-size:25px!important;line-height:1.22!important;max-width:none!important}
 html body .department-project ul{padding-inline-start:18px!important;margin-top:20px!important}
 html body .department-project li{font-size:15px!important;line-height:1.75!important}
 html body .department-contact{min-height:54px!important;font-size:14px!important;gap:16px!important}
 html body .delivery-panel{display:block!important}
 html body .delivery-media{height:200px!important;min-height:0!important}
 html body .delivery-close{position:sticky!important;top:12px!important;margin:12px 12px -56px 0!important;z-index:6!important}
 html body .delivery-copy{padding:26px 23px!important}
 html body .delivery-copy h3{font-size:32px!important;line-height:1.2!important}
 html body .delivery-copy>p:not(.eyebrow),html body .delivery-copy li{font-size:16px!important;line-height:1.8!important}
 html body .team-profile-modal{position:fixed!important;inset:0!important;padding:12px!important;height:var(--mobile-viewport-height,100dvh)!important;max-height:var(--mobile-viewport-height,100dvh)!important;overflow:hidden!important}
 html body .team-profile-dialog{max-height:calc(var(--mobile-viewport-height,100dvh) - 24px)!important;width:100%!important;margin:auto!important;border-radius:12px!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 html body .team-profile-layout{grid-template-columns:1fr!important}
 html body .team-profile-portrait{height:230px!important;min-height:0!important;padding:18px 20px 0!important}
 html body .team-profile-portrait img{height:100%!important;width:auto!important;max-width:100%!important;object-fit:contain!important}
 html body .team-profile-details{padding:26px 23px!important}
 html body .team-profile-details h3{font-size:29px!important;line-height:1.18!important;max-width:none!important;padding-inline-end:0!important}
 html body .team-profile-bio{font-size:16px!important;line-height:1.8!important}
 html body .team-profile-role{font-size:11px!important;line-height:1.7!important;letter-spacing:.04em!important}
 html body .team-profile-close{width:44px!important;height:44px!important;min-width:44px!important;padding:11px!important;display:grid;place-items:center;top:12px!important;margin:12px 12px -56px 0!important}
 html body .case-image-dialog{padding:14px!important;background:#071d30!important}
 html body .case-viewer-image{height:calc(var(--mobile-viewport-height,100dvh) - 180px)!important;max-height:70dvh!important;object-fit:contain!important}
 html body .case-viewer-toolbar{gap:15px!important}
 html body .case-viewer-caption{font-size:14px!important}
 html body .case-viewer-controls button{font-size:12px!important;min-height:44px!important;display:flex;align-items:center;gap:10px;padding:10px 12px!important}
 html body dialog::backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 html body .chat-launcher{width:48px!important;height:48px!important;right:max(16px,env(safe-area-inset-right,0px))!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;min-width:48px!important;padding:0!important}
 html body .back-home{width:44px!important;height:44px!important;right:max(18px,env(safe-area-inset-right,0px))!important;bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;box-shadow:0 4px 14px #071d3020!important;font-size:20px!important}
 html body .chat-widget{position:fixed!important;inset:var(--mobile-header-height) 12px 12px!important;width:calc(100% - 24px)!important;height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-header-height) - 12px)!important;max-height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-header-height) - 12px)!important;border-radius:12px!important;overflow:hidden!important;z-index:1500!important;grid-template-rows:auto minmax(0,1fr) auto auto!important}
 html body .chat-widget.open{display:flex!important;flex-direction:column!important}
 html body .chat-head{flex-shrink:0;padding:18px!important}
 html body .chat-head strong{font-size:24px!important}
 html body .chat-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding:18px!important;-webkit-overflow-scrolling:touch}
 html body .chat-message{font-size:15px!important;line-height:1.75!important;max-width:100%!important;padding:14px!important}
 html body .chat-quick{gap:8px!important;padding:12px 16px!important;max-height:130px!important;overflow-y:auto!important;flex-shrink:0!important}
 html body .chat-quick button{min-height:40px!important;font-size:12px!important}
 html body .chat-form{padding:14px!important;flex-shrink:0!important;gap:10px!important}
 html body .chat-form input{min-width:0!important;font-size:16px!important;min-height:48px!important}
 html body .chat-form button{min-width:48px!important;width:48px!important;height:48px!important;display:grid!important;place-items:center!important;font-size:19px!important}
 html body .chat-close{min-width:44px!important;width:44px!important;height:44px!important;display:grid!important;place-items:center!important;font-size:20px!important}
 html body.mobile-keyboard-open .chat-widget{top:calc(var(--mobile-viewport-top,0px) + 8px)!important;height:calc(var(--mobile-viewport-height,100dvh) - 16px)!important;max-height:calc(var(--mobile-viewport-height,100dvh) - 16px)!important}
 html body.mobile-keyboard-open .chat-quick{display:none!important}

 /* The original high-resolution team photo and unchanged email workflow. */
 html body.multipage-contact .contact-hero{min-height:0!important;height:auto!important;display:block!important;padding:0!important}
 html body.multipage-contact .contact-hero-photo{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;margin:var(--mobile-header-height) 0 0!important;z-index:0!important}
 html body.multipage-contact .contact-hero-photo img{width:100%!important;height:auto!important;display:block!important;object-fit:contain!important;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent);opacity:.86!important}
 html body.multipage-contact .contact-hero::after{display:none!important}
 html body.multipage-contact .contact-hero-inner{padding:28px 20px 36px!important;margin:0!important;max-width:none!important;width:100%!important}
 html body.multipage-contact .contact-hero h1{font-size:44px!important;line-height:1.12!important;max-width:none!important;margin-bottom:20px!important}
 html body.multipage-contact .contact-hero-lead{font-size:21px!important;line-height:1.5!important;margin-bottom:20px!important}
 html body.multipage-contact .contact-hero-description{font-size:16px!important;line-height:1.8!important;margin-bottom:26px!important;max-width:none!important}
 html body.multipage-contact .contact-hero-actions{grid-template-columns:1fr!important;gap:10px!important}
 html body.multipage-contact .contact-hero-actions a{min-height:52px!important;font-size:14px!important;padding:15px 18px!important}
 html body.multipage-contact .contact-team-caption{display:none!important}
 html body.multipage-contact .contact-redesigned{padding:46px 20px 54px!important}
 html body.multipage-contact .contact-section-heading h2{font-size:32px!important;line-height:1.2!important;max-width:none!important}
 html body.multipage-contact .contact-section-heading>p{font-size:16px!important;line-height:1.75!important}
 html body.multipage-contact .contact-redesigned .contact-layout{grid-template-columns:1fr!important;gap:24px!important}
 html body.multipage-contact .contact-redesigned .contact-copy{grid-template-columns:1fr!important}
 html body.multipage-contact .contact-redesigned .contact-direct-card{padding:23px 20px!important}
 html body.multipage-contact .contact-redesigned .contact-direct-grid{grid-template-columns:1fr!important}
 html body.multipage-contact .contact-redesigned .contact-link-card{padding:16px!important;min-height:80px!important}
 html body.multipage-contact .contact-redesigned .contact-link-card strong{font-size:16px!important}
 html body.multipage-contact .contact-redesigned .contact-qr-card{grid-template-columns:76px minmax(0,1fr)!important;padding:20px!important;gap:17px!important}
 html body.multipage-contact .contact-redesigned .contact-qr-card img{width:76px!important;height:76px!important}
 html body.multipage-contact .contact-redesigned .contact-form{grid-template-columns:1fr!important;gap:22px!important;padding:25px 20px!important;scroll-margin-top:18px!important}
 html body.multipage-contact .contact-redesigned .contact-form-head h3{font-size:29px!important}
 html body.multipage-contact .contact-redesigned .contact-form :is(input,select,textarea){min-height:54px!important;font-size:16px!important;padding:14px!important}
 html body.multipage-contact .contact-redesigned .contact-form .wide,html body.multipage-contact .contact-redesigned .contact-form-head,html body.multipage-contact .contact-redesigned .contact-form button{grid-column:1!important}
 html body.multipage-contact .contact-redesigned .contact-form label>span{font-size:12px!important}
 html body.multipage-contact .contact-redesigned .contact-form-head strong{font-size:15px!important;line-height:1.75!important}
 html body.multipage-contact .contact-redesigned .form-delivery-note{font-size:13px!important;line-height:1.75!important}
 html body footer{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:25px!important;padding:38px 20px calc(32px + env(safe-area-inset-bottom,0px))!important;margin:0!important}
 html body .footer-logo{width:130px!important;max-width:130px!important}
 html body .footer-logo img{width:130px!important;height:85px!important;object-fit:contain!important;display:block!important}
 html body .footer-social-wrap{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
 html body .footer-social-wrap>span{font-size:10px!important;letter-spacing:.12em!important}
 html body footer .social-links{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
 html body footer .social-link{width:44px!important;height:44px!important;min-width:44px!important;padding:10px!important}
 html body .footer-credit{font-size:11px!important;line-height:1.9!important;max-width:100%!important;text-align:start!important;letter-spacing:0!important}
}
@media(max-width:900px){
 html body .project-hero .eyebrow{color:#b9dff9!important;opacity:1!important;font-size:11px!important;letter-spacing:.1em!important}
 html body .project-hero .case-back{font-size:13px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;gap:9px!important}
}
@media(max-width:350px){
 html body.home-page .hero h1{font-size:44px!important}
 html body :is(.home-section-heading h2,.intro-head .about-title-refined){font-size:30px!important}
 html body .team-card{grid-template-columns:65px minmax(0,1fr)!important;gap:13px!important;padding:14px!important}
 html body .team-card .team-avatar{width:65px!important;height:92px!important}
 html body .team-profile-trigger h3{font-size:20px!important}
 html body .portfolio-toolbar{grid-template-columns:1fr!important}
 html body .portfolio-toolbar .portfolio-search{grid-column:1!important}
 html body .contact-qr-card{grid-template-columns:1fr!important}
 html body .contact-qr-card img{width:82px!important;height:82px!important}
}
@media(prefers-reduced-motion:reduce){html body .ui-icon{transition:none!important}}
