/* Fixed card widths keep each seamless marquee copy equal to its contents. */
.logo-track{width:max-content;max-width:none;flex-wrap:nowrap;gap:0;align-items:center}
.logo-group{width:max-content;flex:0 0 auto;flex-wrap:nowrap}
.logo-card{width:190px;min-width:190px;max-width:190px;flex:0 0 190px;box-sizing:border-box}
.logo-card .logo-art{max-width:100%;min-width:0;flex-shrink:1}
.logo-card .logo-art-svg{height:auto;aspect-ratio:150/66}
.logo-card.logo-card-nti{background:#fff;border-color:#e0e7ee}
.logo-card.logo-card-nti:hover,.logo-card.logo-card-nti:focus-visible{border-color:#b4c9de}

@media(max-width:800px){
  .header-inner{height:90px;gap:12px}
  .logo.logo-original{width:min(260px,calc(100% - 58px));flex-shrink:1}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;padding:0}
  #main-nav{top:100%;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
  #main-nav>a{display:flex;align-items:center;min-height:44px}
  .hero-grid,.catalog-grid,.service-grid,.method-body,.footer-grid,.contact-layout,.cp-catalog{min-width:0}
  .hero-copy,.catalog-grid>div,.service-entry>div,.method-stages,.footer-grid>div,.contact-location,.cp-copy{min-width:0}
  .section-heading{flex-wrap:wrap}
  .section-heading>div{min-width:0;max-width:100%}
  .logo-section{padding-top:44px;padding-bottom:44px}
  .logo-section h2{font-size:clamp(26px,6.6vw,34px);line-height:1.2;overflow-wrap:break-word}
  .logo-section .eyebrow{line-height:1.7;letter-spacing:1.5px}
  .logo-section .section-heading p{font-size:13px;line-height:1.8;margin-top:14px}
  .logo-marquee{padding:14px 0 18px;isolation:isolate}
  .logo-card{width:168px;min-width:168px;max-width:168px;flex-basis:168px;height:104px;padding:14px}
  .logo-group{gap:16px;padding:8px}
  .service-entry h2{overflow-wrap:break-word}
  .site-footer .footer-links a{display:flex;align-items:center;min-height:40px}
  .site-footer .footer-wa,.site-footer .footer-linkedin{min-height:40px}
  #quote-dialog input,#quote-dialog textarea,#quote-dialog select,#cp-request input,#cp-request textarea,#cp-request select,#cp-spec-fields input{font-size:16px}
}

@media(max-width:600px){
  .whatsapp{width:56px;height:56px;padding:0;gap:0;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));border-radius:50%;justify-content:center}
  .whatsapp svg{width:29px;height:29px}
  .whatsapp>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .whatsapp:hover{transform:none}
  #quote-dialog,#cp-request{width:calc(100% - 28px);max-width:650px;max-height:calc(100dvh - 28px);padding:24px 20px;overflow-y:auto;overscroll-behavior:contain}
  #quote-dialog .form-row,#cp-request .cp-request-fields{grid-template-columns:minmax(0,1fr);gap:0}
  #quote-dialog h2,#cp-request h2{font-size:26px;line-height:1.25}
  .cp-row-top{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:18px 15px}
  .cp-photo{width:72px;height:88px}
  .cp-copy h2{font-size:18px;line-height:1.4;overflow-wrap:break-word}
  .cp-details summary{gap:10px;padding:14px 15px;min-height:48px}
  .cp-details summary>span:first-child{min-width:0}
  .cp-detail-grid{padding-left:15px;padding-right:15px}
  .cp-brand-card{min-width:0;padding-left:8px;padding-right:8px}
  .cp-brand-card .logo-art{max-width:100%}
  .cp-categories button{min-height:44px}
}

@media(max-width:480px){
  .container{width:calc(100% - 36px)}
  .header-inner{height:84px}
  .logo.logo-original{width:min(250px,calc(100% - 56px))}
  #main-nav{max-height:calc(100dvh - 94px)}
  .hero-copy{padding-top:30px}
  .hero h1{font-size:clamp(36px,10vw,43px);line-height:1.12}
  .hero-brand>span{font-size:30px}
  .hero-brand small{font-size:11px;letter-spacing:1.6px}
  .expertise-item h2{font-size:clamp(25px,7vw,30px);line-height:1.2}
  .expertise-item p{font-size:14px;line-height:1.8}
  .logo-section .section-heading{gap:12px;margin-bottom:14px}
  .logo-section .eyebrow{font-size:9px;margin-bottom:13px}
  .logo-card{width:152px;min-width:152px;max-width:152px;flex-basis:152px;height:100px;padding:12px}
  .logo-group{gap:12px;padding:8px 6px}
  .contact-form-panel{padding:22px 17px}
  .contact-direct a{grid-template-columns:54px minmax(0,1fr) 14px;gap:8px}
  .contact-direct strong{font-size:14px}
  .contact-map{height:270px;min-height:270px}
}

/* Touch browsers must not retain desktop hover enlargement after a tap. */
@media(hover:none),(pointer:coarse){
  .logo-card:hover .logo-art,.logo-card:focus-visible .logo-art,.logo-card:hover .logo-name-fallback,.logo-card:focus-visible .logo-name-fallback{transform:none}
  .logo-card:hover{box-shadow:none;z-index:auto}
}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none!important;transform:none!important}.logo-group[aria-hidden=true]{display:none}}
