/* Every layout override is restricted to mobile widths. */
@media (max-width:800px) {
  .home-page .hero-content{padding-top:60px}
  .home-page .hero-content:before{inset:20px 0 100px -10%}
  .mobile-layout .mobile-home-about,.mobile-layout .mobile-home-services{aspect-ratio:auto!important;height:auto;background:#fff}
  .mobile-home-copy{padding:48px 24px 32px}
  .mobile-home-copy h2{font-size:28px;font-weight:400;line-height:1.5;margin:16px 0 20px}
  .mobile-home-copy p,.mobile-section p{font-size:14px;line-height:2;color:#606168;overflow-wrap:anywhere;white-space:normal}
  .mobile-home-copy .eyebrow,.mobile-section .eyebrow{font-size:10px;letter-spacing:.4px;font-weight:400}
  .mobile-more{margin-top:25px;gap:9px;font-size:14px}
  .mobile-more>span{min-width:150px;padding:9px 26px}
  .mobile-more i{width:36px;height:36px;font-size:22px}
  .mobile-layout .mobile-home-about>img{position:static;width:100%;height:auto;object-fit:contain}
  .mobile-service-grid{display:grid;grid-template-columns:1fr;gap:12px}
  .mobile-layout .mobile-service-grid .service-portal{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.05;display:block;overflow:hidden}
  .mobile-service-grid .service-portal img{width:100%;height:100%;object-fit:cover}
  .mobile-service-grid .service-portal-copy{opacity:1;transform:none;left:0;right:0;bottom:0;padding:24px;background:linear-gradient(transparent,#080808ee)}
  .mobile-service-grid .service-portal-copy strong,.lang-en .mobile-service-grid .service-portal-copy strong{font-size:22px}
  .mobile-service-grid .service-portal-copy small{display:block;font-size:10px;letter-spacing:.8px;margin-bottom:6px}
  .mobile-service-grid .service-portal-copy>span{display:none}
  .mobile-service-grid .service-portal-index{top:20px;left:24px;opacity:1;font-size:12px}
  .mobile-layout .home-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);min-height:520px;padding:40px 16px;row-gap:30px}
  .home-metric:nth-child(1){order:1}.home-metric:nth-child(2){order:2}.home-metric:nth-child(3){order:3}.home-metric:nth-child(5){order:4}.home-metric:nth-child(4){order:5}.home-metric:nth-child(6){order:6}
  .mobile-layout .rolling-number{font-size:clamp(35.2px,6.4vw,53.6px)}.mobile-layout .home-metric-label{font-size:9.6px}
  .mobile-layout .metric-context>strong{font-size:18.4px}.mobile-layout .metric-context p{font-size:8px}
  .mobile-layout .news-carousel-wrap>.news-controls{display:none}
  .mobile-layout .partner-marquee-group{display:grid;grid-template-rows:repeat(2,110px);grid-auto-flow:column;grid-auto-columns:155px;align-items:stretch;gap:14px}
  .mobile-layout .partner-tile{width:155px;height:110px;padding:16px}
  .mobile-layout .partner-marquee-track{align-items:stretch;gap:14px}
  .mobile-layout .mobile-page-hero{min-height:350px;padding:140px 24px 55px;background-position:center;background-size:cover;position:relative;isolation:isolate;color:#fff}
  .mobile-page-hero:before{content:"";position:absolute;inset:0;background:#070a0f55;z-index:-1}
  .mobile-page-hero .eyebrow{font-size:10px;letter-spacing:1px}
  .mobile-page-hero h1{font-size:34px;line-height:1.4;margin:20px 0}
  .mobile-since{font:11px Arial;letter-spacing:2px;color:#d5c7cc}
  .mobile-section{padding:45px 24px;background:#fff;overflow:hidden}
  .mobile-section:nth-child(odd){background:#f8f8f9}
  .mobile-section h2{font-size:26px;line-height:1.5;font-weight:400;margin:15px 0 22px;overflow-wrap:anywhere}
  .mobile-section>img{width:calc(100% + 48px);max-width:none;margin:30px -24px 0;height:auto;object-fit:contain}
  .mobile-section p+img{margin-top:28px}
  .mobile-history{display:grid;grid-template-columns:1fr;gap:18px}
  .mobile-layout .mobile-section .page-effect-photo{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;display:block;border-radius:12px}
  .mobile-history .page-effect-photo{aspect-ratio:705/588}
  .mobile-history .history-translation{font-size:13px;padding:18px;background:linear-gradient(transparent,#080b11)}
  .mobile-history .history-translation small{font-size:25px}.mobile-history .history-translation strong{font-size:18px}.mobile-history .history-translation span{font-size:12px}
  .mobile-layout .mobile-footprint>[data-city-photo]{aspect-ratio:1062/924}
  .mobile-map{position:relative;margin-top:24px;width:100%}.mobile-map>img{width:100%;height:auto}
  .mobile-map .map-city-pin{transform:translate(-50%,-50%)}
  .mobile-map .map-city-tooltip{font-size:11px}
  .mobile-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(210px,auto) minmax(190px,auto);gap:10px}
  .mobile-layout .mobile-values .about-value-card{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:auto;border-radius:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:16px 12px;min-width:0;background:#f5f5f5;color:#17191c}
  .mobile-values .mobile-value-tile:first-child{grid-column:span 2;background:linear-gradient(125deg,#d22f64,#992149);color:#fff;padding:20px}
  .mobile-value-tile>strong{font-size:14px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
  .mobile-value-tile:first-child>strong{font-size:22px}
  .mobile-value-description{display:block;font-size:11px;line-height:1.8;margin:10px 0 20px;overflow-wrap:anywhere}
  .mobile-value-tile:first-child .mobile-value-description{font-size:13px}
  .mobile-values .mobile-value-tile>img{width:34px;height:34px;object-fit:contain;margin-top:auto}
  .mobile-values .mobile-value-tile:first-child>img{width:42px;height:42px}
  .mobile-layout .mobile-awards .about-awards-carousel{position:relative!important;inset:auto!important;width:calc(100% + 48px)!important;height:260px!important;margin:0 -24px;container-type:inline-size}
  .mobile-awards .awards-viewport{padding:10px 20px}
  .mobile-awards .awards-track,.mobile-awards .awards-group{gap:20px}
  .mobile-awards .award-card{width:160px;height:auto}.mobile-awards .award-card>img{height:200px;object-fit:contain;background:white}
  .mobile-awards .award-card>span,.lang-en .mobile-awards .award-card>span{font-size:12px;line-height:1.6;margin-top:12px;white-space:normal}
  .mobile-awards .awards-prev,.mobile-awards .awards-next{display:none}
  .mobile-layout .mobile-service-section .mobile-photo-link{width:calc(100% + 48px)!important;margin:28px -24px 0;border-radius:0}
  .mobile-photo-link>img{height:auto;object-fit:contain}
  .mobile-detail-navigation{padding-top:30px;padding-bottom:30px}
  .mobile-detail-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:8px;margin:0;font-size:11px;line-height:1.7}
  .mobile-detail-nav>a{min-width:0;overflow-wrap:anywhere;text-align:left}
  .mobile-detail-nav>a:nth-child(2){text-align:center}
  .mobile-detail-nav>a:last-child{text-align:right}
  .mobile-news-row{display:block;text-align:left;width:100%;padding:0}
  .mobile-news-row h2{font-size:23px}.mobile-news-row time{font:12px Arial;color:#888;display:block;margin-bottom:15px}
  .mobile-news-row>img{width:calc(100% + 48px);max-width:none;margin:24px -24px 0;aspect-ratio:1.8;object-fit:cover}
  .mobile-news-more{display:block;margin-top:20px;color:var(--pink);font-size:13px}
  .mobile-contact-join{padding-top:125px}.mobile-contact-join h1{font-size:34px;margin:10px 0 20px}
  .mobile-contact-join>img{aspect-ratio:1.15;object-fit:cover}
  .mobile-recruit{margin-top:25px;position:relative}
  .mobile-recruit .recruit-form{display:flex;flex-direction:column;background:transparent;align-items:flex-start}
  .mobile-recruit .recruit-fields{width:100%;grid-template-columns:1fr;gap:20px}
  .mobile-recruit .recruit-fields input{font-size:14px;padding:12px 0;text-align:left}
  .mobile-recruit .recruit-submit{margin-top:25px;gap:9px}.mobile-recruit .recruit-submit>span{font-size:14px;padding:8px 30px;min-width:150px}.mobile-recruit .recruit-submit i{width:36px;height:36px}
  .mobile-recruit .recruit-privacy{font-size:10px;margin-top:14px}.mobile-recruit .recruit-status{font-size:12px;margin-top:10px;line-height:1.8}
  .mobile-contacts>div{display:flex;flex-direction:column;gap:12px;padding:20px 0;border-bottom:1px solid #ddd}
  .mobile-contacts span{font-size:12px;color:#777}.mobile-contacts a{font:14px/1.6 Arial;overflow-wrap:anywhere}
  .mobile-qr{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:30px 0 0;font-size:12px;color:#777}.mobile-qr img{width:110px;height:110px}
  body.reference-mode.mobile-layout .site-footer{display:block}
  .mobile-layout:not(.home-page) .site-footer .footer-top{display:none}
  .mobile-layout .footer-body{display:flex;flex-direction:column;gap:28px}.mobile-layout .footer-links{align-items:flex-start;flex-flow:row wrap;gap:12px 22px;font-size:12px}.mobile-layout .footer-contacts{font-size:12px;max-width:100%}.mobile-layout .qr-button{align-self:flex-start}
  .mobile-layout .footer-bottom{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .mobile-layout .rolling-number{font-size:46.4px}
  .mobile-layout .home-metric-label{font-size:10.4px}
  .mobile-layout .metric-context>strong{font-size:20px}
}
/* Mobile navigation and footer revision: no desktop rules are changed. */
@media(max-width:800px){
 .mobile-nav{padding:24px 6%}
 .mobile-nav>a,.mobile-nav .mobile-services-row>a{font-size:16px;line-height:1.6;padding:18px 0;font-weight:400}
 .mobile-nav .mobile-services-list a{font-size:14px;line-height:1.6;padding:12px 0}
 .mobile-services-toggle{font-size:20px}
 .mobile-layout .site-footer .footer-links{display:none}
 .mobile-layout .site-footer .footer-body{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:28px 18px;align-items:start}
 .mobile-layout .footer-brand{grid-column:1;grid-row:1;min-width:0}
 .mobile-layout .footer-brand img{width:184px;max-width:100%;height:auto}
 .mobile-layout .footer-brand p{font-size:11px;line-height:1.8;margin-top:18px}
 .mobile-layout .footer-brand .footer-cities{font-size:10px;line-height:1.8}
 .mobile-layout .site-footer .qr-button{grid-column:2;grid-row:1;align-self:start;justify-self:end;padding:0;max-width:78px}
 .mobile-layout .site-footer .qr-button img{width:78px;height:78px}
 .mobile-layout .site-footer .qr-button span{font-size:9px;line-height:1.6;white-space:normal;margin-top:9px}
 .mobile-layout .site-footer .footer-contacts{grid-column:1/-1;grid-row:2;font-size:12px;max-width:100%}
 body.reference-mode.mobile-layout:not(.home-page) .site-footer{padding:28px 0}
 .mobile-layout:not(.home-page) .site-footer .footer-body{padding:0;align-items:start;gap:18px}
 .mobile-layout:not(.home-page) .site-footer .footer-contacts,
 .mobile-layout:not(.home-page) .site-footer .footer-bottom{display:none}
 .mobile-layout:not(.home-page) .site-footer .qr-button{align-self:start}
}
/* Animate individual translate so existing photo hover transforms keep working. */
@media(max-width:800px) and (prefers-reduced-motion:no-preference){
 .mobile-layout .mobile-enter{opacity:0;translate:0 32px}
 .mobile-layout .mobile-enter.mobile-enter-visible{opacity:1;translate:0 0;animation:mobile-rise-in .9s cubic-bezier(.22,.68,.22,1) var(--mobile-enter-delay,0ms) both}
 .mobile-layout .mobile-enter:focus-within{opacity:1;translate:0 0;animation:none}
 @keyframes mobile-rise-in{from{opacity:0;translate:0 32px}to{opacity:1;translate:0 0}}
}
