/* Mobile: overrides scoped to small screens, shared by all languages. */
@media(max-width:700px){
  html{scroll-padding-top:132px}
  .wrap{width:calc(100% - 32px);max-width:100%}
  .header.glass-header{left:8px;right:8px;top:max(8px,env(safe-area-inset-top));transform:none;width:auto;max-width:none;border-radius:18px;background:rgba(250,250,247,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .glass-header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;min-height:0;padding:7px 10px}
  .glass-header .brand{grid-column:1;grid-row:1;display:flex;align-items:center;min-height:44px;width:150px;max-width:100%}
  .glass-header .brand img{display:block;width:100%;height:auto}
  .glass-header .language-switch{grid-column:2;grid-row:1;gap:0;justify-self:end}
  .glass-header .language-switch a{min-width:36px;min-height:44px}
  .glass-header .language-switch svg{width:19px;height:14px}
  .glass-header .nav nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;max-height:none;overflow:visible;border-top:1px solid #16343c12}
  .glass-header .nav nav>a:not(.btn){display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;font-size:10px;line-height:1.25;letter-spacing:0;text-transform:none;white-space:normal;text-align:center;padding:6px 3px;overflow-wrap:break-word}
  .hero.concept-hero{height:calc(100vh - 16px);height:calc(100svh - 16px);min-height:0;max-height:780px;top:0;padding:0}
  .concept-content{box-sizing:border-box;min-width:0;padding-top:calc(146px + env(safe-area-inset-top));padding-bottom:20px;justify-content:flex-start}
  .hero .concept-title{font-size:clamp(26px,6.6vw,34px);max-width:540px;line-height:1.18;text-wrap:balance}
  .concept-image{object-position:50% 43%}
  .concept-hero::before{background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.08) 50%,transparent 75%)}
  .hero.area-hero{padding:150px 0 38px}
  .area-hero h1{font-size:clamp(30px,8vw,42px);line-height:1.16;overflow-wrap:break-word}
  .hero.previous-hero{padding:32px 0 26px;scroll-margin-top:132px}
  .previous-hero .previous-title{font-size:23px;line-height:1.25}
  .section{padding:46px 0}
  .area-grid,.help-section .intent-panel>div,.contact-grid,.team-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .area-grid{gap:12px}
  .area{min-height:0;padding:22px 20px}
  .area h3{font-size:23px;line-height:1.2;overflow-wrap:break-word}
  .area p{font-size:14px;margin:12px 0 0;line-height:1.6}
  .help-section .intent-panel{padding:22px 18px 0}
  .help-section .intent-panel>div>a{padding:14px 0;min-height:62px}
  .help-section .intent-panel b{font-size:14px;line-height:1.4}
  .help-section .unsure{margin:0 -18px;padding:15px 18px;line-height:1.5}
  .metrics-section .wrap{width:calc(100% - 32px)}
  .metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:7px}
  .metrics-grid .metric{padding:13px 11px;min-height:84px}
  .metrics-grid .metric dd{font-size:20px}
  .metrics-grid .metric dt{font-size:10px;line-height:1.4}
  .team-grid article{min-width:0;gap:16px}
  .team-grid h3{font-size:24px;line-height:1.25;overflow-wrap:break-word}
  .clients-heading{align-items:center;gap:14px}
  .clients-heading h2{font-size:26px;min-width:0;line-height:1.25}
  .contact-grid{gap:28px;min-width:0}
  .contact-grid>div,.contact #contact-form{min-width:0;max-width:100%}
  .contact h2{font-size:32px}
  .contact .signature-channels{max-width:100%}
  .contact .signature-channel{padding:12px;gap:10px}
  .contact .signature-channel strong{font-size:13px;overflow-wrap:anywhere}
  .contact #contact-form{padding:22px 18px;justify-self:stretch}
  #contact-form input:not([type=radio]),#contact-form select,#contact-form textarea{min-width:0;max-width:100%;font-size:16px}
  #contact-form select{text-overflow:ellipsis}
  #contact-form .btn{white-space:normal;min-height:44px}
  #contact-form fieldset{min-width:0}
  .signature-footer .signature-utility{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px 18px}
  .signature-utility>*{font-size:12px;max-width:100%;min-height:44px;display:inline-flex;align-items:center}
  .signature-credits{flex-wrap:wrap;gap:8px 18px;line-height:1.5}
  .signature-footer .signature-wordmark{width:280px;max-width:100%}
  .cookie-banner{max-height:calc(100svh - 24px);overflow-y:auto}
  .whatsapp-float{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:52px;height:52px}
  .consent-open .whatsapp-float{bottom:calc(var(--cookie-banner-height,140px) + 24px + env(safe-area-inset-bottom))}
  body:has(#contact-form :focus) .whatsapp-float{visibility:hidden;pointer-events:none}
  /* On touch screens, keep content readable even if animation APIs fail. */
  .scroll-reveal{opacity:1;transform:none;transition:none}
}
@media(max-width:540px){
  .signature-footer .location-section{grid-template-columns:minmax(0,1fr);padding:26px 22px 0;gap:22px}
  .signature-footer .location-copy{grid-column:1;grid-row:1;padding:0;max-width:none}
  .signature-footer .location-copy h2{font-size:28px;line-height:1.2}
  .signature-footer .location-address-link strong{font-size:18px}
  .signature-footer .location-address-link span{font-size:14px}
  .signature-footer .location-photo{grid-column:1;grid-row:2;width:75%;max-width:260px;justify-self:center}
  .signature-footer .location-photo img{max-height:330px;width:100%;height:auto;object-fit:contain}
}
@media(max-width:360px){
  .glass-header .brand{width:128px}
  .glass-header .language-switch a{min-width:32px}
  .glass-header .nav nav>a:not(.btn){font-size:9px}
}
@media(max-width:900px) and (max-height:500px){
  .hero.concept-hero{position:relative;top:auto;height:520px;max-height:none}
}
@media(prefers-reduced-motion:reduce){.hero.concept-hero{position:relative;top:auto}}
/* Keep the headline in the sky, above the subject of the photograph. */
.hero.concept-hero .concept-image{object-position:50% 30%}
.hero.concept-hero .concept-content{padding-top:clamp(104px,13vh,126px)}
.hero.concept-hero .concept-title{font-size:clamp(27px,2.7vw,38px);max-width:1120px;line-height:1.16}
@media(max-width:700px){
  .hero.concept-hero .concept-content{padding-top:calc(128px + env(safe-area-inset-top))}
  .hero.concept-hero .concept-title{font-size:clamp(22px,5.6vw,28px);line-height:1.16;max-width:560px}
  .hero.concept-hero .concept-image{object-position:50% 0%}
}
