/* Atlas mobile staging overrides.
   Every visual rule is restricted to tablet/mobile widths so the approved
   desktop presentation remains controlled by style.css. */

@media (max-width:980px){
  .site-header{background:rgba(18,47,67,.98);box-shadow:0 4px 18px rgba(0,0,0,.12)}
  .site-header .nav{height:72px;min-height:72px;gap:12px}
  .site-header .brand-home{min-width:0;gap:10px}
  .site-header .brand-home img{width:40px;height:40px;flex:0 0 40px}
  .site-header .brand-home strong{font-size:1.45rem;letter-spacing:.14em}
  .site-header .brand-home small{margin-top:5px;font-size:.5rem;letter-spacing:.2em}
  .menu-btn{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;padding:0;border-radius:8px;cursor:pointer;line-height:1;touch-action:manipulation}
  .menu-btn:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
  .nav-links{top:72px;left:14px;right:14px;max-height:calc(100dvh - 88px);overflow-y:auto;gap:2px;padding:12px;border-radius:0 0 14px 14px}
  .nav-links>a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.9rem}
  .nav-links>a:last-child{border-bottom:0}
  .site-header .nav-proposal{justify-content:center;margin-top:8px;padding:12px 16px}
  .page-hero{padding:128px 0 62px}
  .grid-2,.contact-grid{gap:34px}
  .grid-3,.grid-4{gap:18px}
  .card:hover{transform:none}
  .footer-grid{gap:32px}
}

@media (max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  .container{width:auto;max-width:1180px;margin-left:24px;margin-right:24px}
  .section{padding:58px 0}
  .site-header .brand-home strong{font-size:1.32rem;letter-spacing:.12em}
  .site-header .brand-home small{font-size:.46rem;letter-spacing:.17em}

  .hero-photo::before{transform:scale(1.4);background-position:center 42%}
  .hero-photo{max-width:100%;overflow:hidden}
  .hero-layout{min-width:0;width:auto;max-width:100%;padding-top:104px;padding-bottom:34px;gap:18px}
  .hero-photo .hero-content{min-width:0;width:100%;max-width:100%;padding:20px 0 8px}
  .hero-photo .hero-kicker{margin-bottom:13px;font-size:.75rem;line-height:1.35}
  .hero-photo h1{max-width:100%;font-size:clamp(1.98rem,9vw,2.55rem);line-height:1.08;letter-spacing:-.035em;margin-bottom:18px}
  .hero-photo h1 span{max-width:100%;overflow-wrap:normal;word-break:normal}
  .hero-photo .lead{max-width:100%;font-size:.98rem;line-height:1.55;overflow-wrap:break-word}
  .hero-photo .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .hero-photo .btn{width:100%;min-height:48px;padding:.9rem 1rem}
  .hero-photo .hero-layout{display:flex;flex-direction:column;grid-template-columns:1fr}
  .hero-photo .hero-panel{width:100%;max-width:100%;padding:6px 16px;border-radius:8px}
  .hero-photo .hero-panel-item{grid-template-columns:38px 1fr;gap:12px;padding:13px 0}
  .hero-photo .hero-panel-item b{font-size:.9rem}
  .hero-photo .hero-panel-item small{font-size:.8rem}

  .home-benefits{padding:52px 0 38px}
  .home-benefits h2,
  body:not(:has(.hero-photo)) main .section h2,
  body:not(:has(.hero-photo)) main .callout h2,
  body:not(:has(.hero-photo)) .contact-grid>div:not(.contact-card)>h2{font-size:clamp(1.85rem,8.6vw,2.35rem);line-height:1.12}
  .benefit-icons{gap:0;margin-top:24px}
  .benefit-item{padding:18px 8px 20px}
  .benefit-item p,.service-item p{max-width:260px}
  .home-services{padding:28px 0}
  .service-item{padding:20px 8px 24px}
  .home-rtm{padding:54px 0}
  .rtm-layout{gap:28px}
  .rtm-copy h2{font-size:1.9rem}
  .rtm-photo{height:210px}

  .page-hero{padding:112px 0 50px}
  body:not(:has(.hero-photo)) .page-hero h1{font-size:clamp(2.15rem,10.5vw,2.85rem);line-height:1.08;overflow-wrap:anywhere}
  .page-hero .lead{font-size:1rem;line-height:1.5}
  .breadcrumbs{margin-bottom:.9rem}
  .grid-2,.grid-3,.grid-4,.contact-grid{gap:20px}
  .card{padding:22px;border-radius:16px}
  .callout{padding:30px 22px;border-radius:18px}
  .callout .hero-actions{margin-top:1.25rem}
  .callout .btn{width:100%;min-height:48px;text-align:center}
  .check-list{gap:1rem}
  .check{gap:.65rem}

  .contact-card{padding:26px 22px;border-radius:16px}
  .form{gap:18px}
  .form-row{gap:18px}
  .field input,.field textarea,.field select{min-height:48px;padding:.85rem .9rem;border-radius:10px}
  .field textarea{min-height:145px}
  .form>.btn{width:100%;min-height:50px}

  .footer{padding:50px 0 24px}
  .footer-grid{gap:26px}
  .footer-bottom{margin-top:28px;gap:10px}
  .footer .brand{align-items:flex-start}
  .footer .brand span{line-height:1.35}

  .cookie-banner{left:10px;right:10px;bottom:10px;max-height:calc(100dvh - 20px);overflow-y:auto;gap:12px;padding:14px;border-radius:12px}
  .cookie-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .cookie-actions button{min-height:44px;padding:.65rem .7rem}
}

@media (max-width:360px){
  .container{margin-left:20px;margin-right:20px}
  .site-header .brand-home img{width:36px;height:36px;flex-basis:36px}
  .site-header .brand-home strong{font-size:1.15rem}
  .site-header .brand-home small{font-size:.42rem;letter-spacing:.13em}
  .hero-photo h1{font-size:1.78rem}
  .cookie-actions{grid-template-columns:1fr}
}
