/* Mobile layout: loaded after desktop styles, without restricting pinch zoom. */
:root{--slide-gutter:20px;--slide-space:56px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:90px}
body{min-width:0}
main,main>section,footer{min-width:0;max-width:100%}
img{max-width:100%}
.header{height:calc(70px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));gap:12px}
/* A backdrop filter makes the header the containing block for the fixed menu. */
.header,.header.scrolled{background:#031521;backdrop-filter:none;-webkit-backdrop-filter:none}
.header .logo{min-width:0;max-width:calc(100% - 58px)}
.header .logo img{max-width:54px;max-height:46px;object-fit:contain}
.header .logo>span:last-child{font-size:10px}
.menu-toggle{flex:0 0 46px;touch-action:manipulation}
.nav.open{inset:calc(70px + env(safe-area-inset-top)) 0 0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:20px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain}
.nav.open a{flex:0 0 auto;min-height:54px;height:auto;font:600 17px Manrope,Arial,sans-serif;padding:14px 16px}
html.menu-is-open,html.menu-is-open body{overflow:hidden}
main>.hero{height:auto;min-height:100svh;padding:calc(94px + env(safe-area-inset-top)) var(--slide-gutter) 40px;gap:28px}
.hero .hero-benefits{position:relative;inset:auto;width:100%;max-width:none;transform:none;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;border-radius:12px;clip-path:none}
.hero-benefit,.hero-benefit:first-child,.hero-benefit:last-child{min-width:0;padding:10px 8px;gap:8px}
.hero-benefit svg{width:28px;height:28px;flex:0 0 28px}
.hero-benefit span{font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.hero .hero-content{width:100%;min-width:0;margin:0;transform:none}
.hero .hero-content h1{font-size:clamp(22px,6.8vw,54px);line-height:1.12;letter-spacing:-.045em;max-width:100%;margin:0 0 22px}
.hero-lead{font-size:14px}
.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px}
.hero-actions .button{min-height:48px;white-space:normal}
.hero .hero-services{margin:0;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.hero .hero-services a{min-width:0;min-height:100px;padding:14px 10px}
.hero .hero-services a:last-child{grid-column:1/-1}
.hero .hero-services span{font-size:11px}
.hero-blend{display:none}
main>.hero+.slide-transition{height:36px;background:linear-gradient(#052630,#fff)}
.service-showcase-inner,.presentation{grid-template-columns:minmax(0,1fr)}
.service-showcase-intro,.service-showcase-grid,.presentation-main,.contact-intro,.contact-form{min-width:0}
.service-showcase-intro h2,.presentation-main h2,.services-sectors h2,.advantages-showcase h2,.contact-intro h2,.contacts-section .connections-intro h2{font-size:clamp(30px,7.8vw,48px);line-height:1.16;overflow-wrap:break-word}
.service-showcase-intro h2{margin-top:0}
.presentation-main h2{margin-top:20px}
.presentation-viewer{width:100%;padding:22px 14px;border-radius:18px}
.presentation-viewer-title{gap:12px;margin-bottom:22px}
.presentation-viewer-title>span{width:48px;height:48px;flex:0 0 48px}
.presentation-viewer-title b{font-size:17px;line-height:1.35}
.presentation-viewer-title small{font-size:12px;line-height:1.5}
.presentation-thumbs{touch-action:pan-x pan-y}
.presentation-thumbs button{min-height:72px}
.presentation-actions{grid-template-columns:minmax(0,1fr)}
.presentation-actions a{min-height:48px;white-space:normal;padding:14px;gap:12px}
.contact-intro h2 em{white-space:normal}
main>.contact{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.contact-form{width:100%;max-width:100%;padding:24px 18px}
.contact-form .contact-field input,.contact-form .contact-field textarea{font-size:16px;min-width:0;max-width:100%;scroll-margin-top:100px}
.contact-field input{min-height:48px}
.contact-field textarea{min-height:112px}
.contact-form .button{min-height:52px;font-size:16px}
.contact-signature{display:none}
main>.contacts-section{grid-template-columns:minmax(0,1fr)}
.connections-map{width:100%;height:340px;min-width:0}
.connections-map iframe{width:100%;max-width:100%}
.connection-action{min-height:44px;font-size:13px}
.connections-bottom{flex-wrap:wrap;gap:16px}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.footer-main>div,.footer-bottom{min-width:0;overflow-wrap:anywhere}
.footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
.back-to-top{width:44px;height:44px;right:max(14px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}
@media(max-width:600px){
  .applications .industry-grid.industry-grid--balanced{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:20px}
  .applications .industry-card:not(.industry-card--wide){--photo-height:160px;grid-column:auto;grid-row:auto;width:100%;min-height:0;padding:calc(var(--photo-height) + 16px) 18px 20px}
  .applications .industry-card:not(.industry-card--wide) h3{font-size:19px}
  .applications .industry-card:not(.industry-card--wide) p:not([hidden]),.applications .industry-card--wide p{display:block;-webkit-line-clamp:unset;overflow:visible;font-size:15px;line-height:1.6}
  .applications .industry-card.industry-card--wide{grid-column:1;min-height:0;padding:220px 18px 24px}
  .equipment-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .equipment-catalog-feature{grid-column:1/-1;grid-row:auto;min-height:280px}
  .equipment-catalog-photo{height:110px}
  .equipment-catalog-card-copy{padding:14px 10px 16px 14px}
  .equipment-catalog-card h3{font-size:15px;overflow-wrap:anywhere}
  .equipment-catalog-card p{font-size:13px;line-height:1.5}
  .equipment-catalog-services{grid-template-columns:minmax(0,1fr)}
  .equipment-service{border-left:0;border-top:1px solid rgba(214,176,74,.28);padding:16px}
  .equipment-service:first-child{border-top:0}
  .equipment-service span{font-size:11px!important}
  .advantages-showcase .advantages-grid{grid-template-columns:minmax(0,1fr)}
  .advantages-showcase .advantages-grid article{padding:22px 0;border-left:0}
  .advantages-showcase .advantages-grid h3{font-size:18px}
  .connections-grid{grid-template-columns:minmax(0,1fr)}
  .service-showcase-card{padding:22px 18px}
  .service-showcase-card-head{gap:12px}
}
@media(pointer:coarse){
  .hero-bg{transform:none!important}
  .motion-item{transform:none;transition:opacity .25s ease}
  .equipment-catalog-card:hover,.equipment-catalog-feature:hover,.connection-card:hover{transform:none}
}

/* Keep entrance animations from applying desktop offsets on touch screens. */
.hero .hero-benefits,.hero .hero-content{animation:none;transform:none}
.header .logo{flex:1 1 0;width:0;overflow:hidden}
.header .logo>span:last-child{min-width:0;white-space:normal;overflow-wrap:break-word}
.header .menu-toggle{display:grid;flex:0 0 46px;min-width:46px;margin-left:auto;position:relative;z-index:2}
.hero .hero-content h1{overflow-wrap:anywhere}
.hero-benefit span{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:380px){
  .hero-benefit{flex-direction:column;align-items:flex-start}
  .hero-benefit span{font-size:10px}
}
/* A touch-accessible scrollbar, separate from the browser's temporary indicator. */
.site-scrollbar{display:block;position:fixed;z-index:110;top:calc(82px + env(safe-area-inset-top));bottom:calc(72px + env(safe-area-inset-bottom));right:0;width:20px;border-radius:12px;background:rgba(16,40,51,.12);touch-action:none}
.site-scrollbar-thumb{position:absolute;top:0;left:12px;width:5px;border-radius:8px;background:#f26a21;box-shadow:0 0 0 1px #ffffff80;pointer-events:none}
.site-scrollbar.is-dragging .site-scrollbar-thumb{left:8px;width:9px}
.site-scrollbar:focus-visible{outline:2px solid #f26a21}
html.menu-is-open .site-scrollbar{display:none}
html.is-scrolling-page{scroll-behavior:auto;user-select:none;-webkit-user-select:none}

/* Consistent phone layout, including narrow screens and landscape. */
html{scroll-padding-top:calc(70px + env(safe-area-inset-top))}
.nav.open{position:fixed;max-height:calc(100dvh - 70px - env(safe-area-inset-top));touch-action:pan-y}
.nav.open a{overflow-wrap:break-word}
.presentation-viewer-title>div,.connection-copy,.equipment-catalog-head>div{min-width:0}
.connection-copy{overflow-wrap:anywhere}
.connections-map{grid-column:1;grid-row:auto}
.connections-bottom{grid-row:auto}
.connections-bottom>a.connections-question{max-width:100%;gap:14px;margin-left:0}
.connections-question>b{min-width:0;font-size:11px;line-height:1.5}
.connections-question>span{width:48px;height:48px;flex:0 0 48px}
main>.advantages-showcase{background-image:linear-gradient(90deg,rgba(5,38,48,.96),rgba(5,38,48,.88)),url('assets/advantages-industrial-service.webp')}
.advantages-showcase::before,.advantages-showcase::after{display:none}
.advantages-showcase .advantages-content{width:100%}
.advantages-showcase .advantages-grid h3{overflow-wrap:break-word}
@media(max-width:380px){
  :root{--slide-gutter:16px}
  .hero-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .hero-actions .button{width:100%;gap:12px}
  .equipment-catalog-grid{grid-template-columns:minmax(0,1fr)}
  .equipment-catalog-photo{height:170px}
  .equipment-catalog-card-copy{padding:18px}
  .equipment-catalog-card h3{font-size:18px;overflow-wrap:break-word}
  .equipment-catalog-card p{font-size:14px}
}
