/* TPS mobile compatibility layer - keeps desktop design unchanged */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video,svg{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}

/* Mobile menu trigger is injected by mobile.js */
.tps-mobile-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:8px;width:46px;height:42px;align-items:center;justify-content:center;color:#fff;cursor:pointer;padding:0;flex:0 0 auto}
.tps-mobile-toggle span,.tps-mobile-toggle span:before,.tps-mobile-toggle span:after{display:block;width:22px;height:2px;background:#fff;position:relative;transition:.22s ease}
.tps-mobile-toggle span:before,.tps-mobile-toggle span:after{content:"";position:absolute;left:0}
.tps-mobile-toggle span:before{top:-7px}.tps-mobile-toggle span:after{top:7px}
.mobile-open .tps-mobile-toggle span{background:transparent}.mobile-open .tps-mobile-toggle span:before{top:0;transform:rotate(45deg)}.mobile-open .tps-mobile-toggle span:after{top:0;transform:rotate(-45deg)}

@media (max-width: 900px){
  html{scroll-padding-top:88px!important}
  body{padding-top:88px!important;overflow-x:hidden!important}
  .container{width:min(100% - 32px,1500px)!important}

  /* Header: same visual language as homepage, fully usable on touch */
  .centrif-home-header{height:88px!important;min-height:88px!important;background:#000!important}
  .centrif-head-inner{height:88px!important;min-height:88px!important;padding:0 16px!important;gap:12px!important}
  .centrif-logo{width:210px!important;height:74px!important;max-width:68vw!important;flex:0 1 auto!important}
  .centrif-logo img{max-height:74px!important}
  .tps-mobile-toggle{display:flex!important;position:relative;z-index:10002}
  .centrif-nav{display:none!important;position:fixed!important;left:0!important;right:0!important;top:88px!important;z-index:10001!important;background:#000!important;border-top:1px solid rgba(255,255,255,.08)!important;border-bottom:1px solid rgba(255,255,255,.14)!important;padding:16px 18px 22px!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;max-height:calc(100dvh - 88px)!important;overflow-y:auto!important;box-shadow:0 18px 35px rgba(0,0,0,.45)!important}
  .centrif-home-header.mobile-open .centrif-nav{display:flex!important}
  .centrif-nav a{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:15px 4px!important;font-size:16px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;white-space:normal!important}
  .centrif-nav a:last-child{border-bottom:0!important}
  .centrif-nav .centrif-contact{margin-top:10px!important;padding:14px 16px!important;justify-content:center!important;border:1px solid #0876ff!important;border-radius:7px!important}
  body.tps-menu-lock{overflow:hidden!important}

  /* Generic page typography and spacing */
  .page-hero{padding:42px 0 44px!important}
  .page-hero h1,.detail-hero h1{font-size:clamp(2.2rem,10vw,4rem)!important;line-height:1.04!important;overflow-wrap:anywhere}
  .page-hero p,.detail-hero p{max-width:100%!important}
  .section{padding-top:58px!important;padding-bottom:58px!important}
  .section-heading{margin-bottom:30px!important}
  .section-heading h2{font-size:clamp(2rem,8vw,3.4rem)!important}
  .lead{font-size:1.04rem!important}
  .btn{min-height:50px!important;padding:0 18px!important;white-space:normal!important;text-align:center!important}
  .hero-actions,.cta-actions{gap:10px!important}

  /* Detail pages */
  .pump-main-figure{grid-template-columns:1fr!important;border-radius:16px!important}
  .pump-main-image-wrap{min-height:260px!important;padding:18px!important}
  .pump-main-image{height:260px!important;object-fit:contain!important}
  .pump-main-figure figcaption{padding:22px!important}
  .detail-grid,.process-layout,.split-callout,.request-grid{grid-template-columns:1fr!important;gap:30px!important}
  .tech-panel{padding:24px!important}
  .applications{gap:8px!important}
  .applications span{font-size:.82rem!important;padding:8px 10px!important}
  .process-step{grid-template-columns:46px 1fr!important;gap:14px!important}
  .photo-stack{grid-template-columns:1fr 1fr!important;gap:10px!important}

  /* Family/category lists */
  .technology-row{grid-template-columns:150px minmax(0,1fr)!important;gap:20px!important;padding:22px 0!important}
  .technology-image{height:120px!important}
  .technology-content h3{font-size:1.35rem!important}

  /* Forms: prevent iOS zoom and make touch targets generous */
  .request-form{padding:24px!important;border-radius:16px!important}
  .request-form input,.request-form textarea,.request-form select{font-size:16px!important;min-height:48px!important}
  .request-form textarea{min-height:140px!important}
  .form-two{grid-template-columns:1fr!important}

  /* Home hero */
  .centrif-hero{height:auto!important;min-height:0!important;overflow:hidden!important}
  .centrif-bg{position:absolute!important;top:0!important;right:0!important;width:100%!important;height:620px!important;opacity:.35!important;object-fit:cover!important;object-position:68% center!important}
  .centrif-overlay{position:absolute!important;inset:0!important;width:100%!important;height:620px!important;background:linear-gradient(180deg,rgba(0,0,0,.58),#000 94%)!important}
  .centrif-content{width:100%!important;max-width:none!important;padding:44px 22px 34px!important;text-align:left!important}
  .centrif-brand{font-size:clamp(1.9rem,8vw,3rem)!important;letter-spacing:.12em!important;line-height:1.08!important}
  .centrif-kicker{font-size:.72rem!important;letter-spacing:.14em!important;gap:10px!important;line-height:1.4!important}
  .centrif-kicker span{width:30px!important;flex:0 0 30px!important}
  .centrif-content h1{font-size:clamp(2.1rem,9vw,3.5rem)!important;line-height:1.1!important;margin-bottom:20px!important}
  .centrif-content p{font-size:1rem!important;line-height:1.55!important}
  .centrif-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .centrif-btn,.centrif-btn:nth-child(2){width:100%!important;min-width:0!important;max-width:none!important;min-height:58px!important;padding:0 18px!important;font-size:.86rem!important}
  .centrif-pillars{position:relative!important;grid-template-columns:1fr 1fr!important;height:auto!important;margin-top:0!important}
  .centrif-pillars article{padding:20px 16px!important;gap:12px!important;align-items:flex-start!important}
  .centrif-icon{font-size:36px!important;min-width:42px!important}
  .centrif-pillars h3{font-size:15px!important}.centrif-pillars p{font-size:12px!important}

  /* Homepage macro cards */
  .macro-home-v3{padding-top:68px!important;padding-bottom:68px!important}
  .macro-heading-v3 h2{font-size:clamp(2.5rem,12vw,4.2rem)!important}
  .macro-showcase{grid-template-columns:1fr!important}
  .macro-showcase-card{grid-template-columns:1.1fr .9fr!important;min-height:360px!important}
  .macro-showcase-copy{padding:24px 14px 22px 22px!important}
  .macro-showcase-image{padding:24px 14px 28px 0!important}
  .macro-benefits{grid-template-columns:1fr 1fr!important}

  /* Careers page */
  .careers-new .container{padding-left:24px!important;padding-right:24px!important;width:100%!important}
  .careers-hero-grid{min-height:auto!important;padding:0 24px!important}
  .careers-copy{padding:52px 0!important;max-width:100%!important}
  .careers-copy h1{font-size:clamp(2.6rem,10vw,4.5rem)!important;overflow-wrap:anywhere}
  .careers-blue-emphasis{font-size:clamp(1.15rem,5vw,1.65rem)!important;max-width:100%!important}
  .careers-build-grid{grid-template-columns:1fr!important;gap:26px!important}
  .careers-hands{min-height:300px!important;border-radius:14px!important}
  .careers-traits{grid-template-columns:1fr!important}
  .careers-values-grid{grid-template-columns:1fr 1fr!important}
  .careers-values article{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;padding:22px 12px!important}
  .careers-dream-grid{grid-template-columns:1fr!important;padding-right:24px!important}
  .careers-mountain{min-height:300px!important;border-radius:14px!important}
  .careers-bottom-grid{grid-template-columns:1fr 1fr!important;gap:14px!important}
  .careers-join{padding:54px 0!important}.careers-join h2{font-size:clamp(2.2rem,9vw,3.4rem)!important}.careers-join-btn{min-width:0!important;width:min(100%,320px)!important}

  /* Footer */
  .footer{padding-top:34px!important;padding-bottom:34px!important}
  .footer-grid{grid-template-columns:1fr!important;gap:26px!important;text-align:left!important}
  .footer-grid>div{min-width:0!important}
  .footer .brand-logo,.footer-grid .brand-logo{height:auto!important;width:min(230px,70vw)!important;max-width:100%!important}
  .footer-grid p,.footer-grid span,.footer-grid a{overflow-wrap:anywhere!important}
}

@media (max-width: 600px){
  .container{width:calc(100% - 28px)!important}
  .centrif-logo{width:188px!important;max-width:66vw!important}
  .page-hero{padding-top:34px!important}
  .hero-actions,.cta-actions{display:grid!important;grid-template-columns:1fr!important}
  .hero-actions .btn,.cta-actions .btn{width:100%!important}
  .technology-row{grid-template-columns:1fr!important;gap:14px!important}
  .technology-image{width:100%!important;height:190px!important}
  .photo-stack{grid-template-columns:1fr!important}
  .centrif-pillars{grid-template-columns:1fr!important}
  .macro-showcase-card{grid-template-columns:1fr!important;min-height:0!important}
  .macro-showcase-copy{padding:24px 22px 10px!important}
  .macro-showcase-image{height:210px!important;padding:0 24px 24px!important}
  .macro-benefits{grid-template-columns:1fr!important}
  .careers-values-grid{grid-template-columns:1fr!important}
  .careers-bottom-grid{grid-template-columns:1fr!important}
}

@media (max-width: 380px){
  .centrif-logo{width:165px!important}
  .tps-mobile-toggle{width:42px;height:40px}
  .centrif-content{padding-left:16px!important;padding-right:16px!important}
  .careers-new .container,.careers-hero-grid{padding-left:16px!important;padding-right:16px!important}
}
