
@media(max-width:1120px){
  .nav{
    grid-template-columns:280px 1fr 165px;
    gap:14px;
  }

  .brand img{
    max-width:270px;
  }

  .main-nav{
    gap:16px;
  }

  .main-nav>a,
  .nav-dropdown>summary{
    font-size:12.5px;
  }

  .header-phone{
    font-size:13px;
  }
}

@media(max-width:930px){
  .container{
    width:100%;
    max-width:none;
    padding-left:13px;
    padding-right:13px;
  }

  .nav{
    min-height:80px;
    height:80px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0;
  }

  .brand{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
  }

  .brand img{
    width:min(282px,calc(100vw - 74px));
    max-width:none;
    max-height:62px;
    object-fit:contain;
    object-position:left center;
  }

  .menu-toggle{
    display:flex;
    flex:0 0 46px;
    width:46px;
    height:44px;
    margin-left:auto;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    background:transparent;
    border:0;
    cursor:pointer;
  }

  .menu-toggle span{
    width:27px;
    height:3px;
    border-radius:4px;
    background:var(--orange);
  }

  .main-nav{
    display:none;
    position:absolute;
    top:80px;
    left:9px;
    right:9px;
    max-height:calc(100vh - 92px);
    overflow-y:auto;
    padding:12px;
    background:#0d0d0d;
    border:1px solid var(--line);
    border-radius:15px;
    box-shadow:var(--shadow);
    white-space:normal;
  }

  .main-nav.open{
    display:grid;
  }

  .main-nav>a,
  .nav-dropdown>summary{
    display:block;
    padding:13px 12px;
    font-size:16px;
    border-bottom:1px solid rgba(255,255,255,.07);
  }

  .main-nav>a.active::after{
    display:none;
  }

  .nav-dropdown{
    padding:0;
  }

  .dropdown-panel{
    position:static;
    width:auto;
    padding:6px 0 5px 12px;
    background:transparent;
    border:0;
    box-shadow:none;
  }

  .dropdown-panel a{
    padding:10px;
    font-size:14px;
  }

  .mobile-call{
    display:block!important;
    margin-top:10px!important;
    padding:13px!important;
    background:var(--orange);
    border:0!important;
    border-radius:10px;
    text-align:center;
    color:#fff!important;
  }

  .header-phone{
    display:none;
  }

  .hero{
    min-height:auto;
  }

  .hero-pcb{
    inset:32% 0 0;
    opacity:.16;
  }

  .hero-grid{
    grid-template-columns:1fr;
    gap:8px;
    padding-top:32px;
    padding-bottom:28px;
  }

  .hero-copy{
    width:100%;
    max-width:none;
  }

  .hero-mascot{
    min-height:0;
    padding:5px 0 0;
  }

  .hero-mascot img{
    width:min(300px,75vw);
  }

  .mascot-glow{
    width:min(420px,94vw);
    height:112px;
    bottom:-2px;
  }

  .energy-line{
    bottom:0;
    width:70%;
  }

  /* Compact, clearly separated trust rows. */
  .trust-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    padding-block:14px;
  }

  .trust-item{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:10px;
    align-items:center;
    min-width:0;
    padding:11px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.07);
    border-radius:14px;
  }

  .trust-icon{
    width:44px;
    height:44px;
    border-radius:11px;
  }

  .trust-icon svg{
    width:26px;
    height:26px;
  }

  .trust-item > div:last-child{
    display:grid;
    gap:4px;
    min-width:0;
  }

  .trust-item strong{
    display:block;
    font-size:14px;
    line-height:1.18;
  }

  .trust-item span{
    display:block;
    margin:0;
    font-size:11.5px;
    line-height:1.35;
    color:var(--muted);
  }

  /* More visual service section: 2 × 2 tiles. */
  .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }

  .service-card{
    min-height:0;
    padding:18px;
    border-radius:17px;
  }

  .service-icon{
    width:55px;
    height:55px;
    margin-bottom:13px;
  }

  .service-icon svg{
    width:32px;
    height:32px;
  }

  .service-card h3{
    margin:0 0 8px;
    font-size:17px;
    line-height:1.22;
  }

  .service-card p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:13px;
    line-height:1.45;
  }

  .service-card>span{
    display:block;
    margin-top:13px;
    font-size:12.5px;
  }

  .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }

  .process-card{
    padding:19px;
    border-radius:17px;
  }

  .process-card strong{
    font-size:28px;
  }

  .process-card h3{
    margin:10px 0 7px;
    font-size:18px;
  }

  .process-card p{
    font-size:14px;
    line-height:1.5;
  }

  .finder-fields{
    grid-template-columns:1fr 1fr;
  }

  .finder-button{
    grid-column:1/-1;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-grid>div:first-child{
    grid-column:1/-1;
  }

  .subpage-hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
    padding-top:48px;
    padding-bottom:48px;
  }

  .subpage-mascot{
    display:none;
  }

  .split-content,
  .contact-page-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .brand img{
    width:min(262px,calc(100vw - 70px));
    max-height:58px;
  }

  h1{
    font-size:clamp(38px,11.5vw,52px);
    line-height:.98;
    letter-spacing:-.05em;
  }

  h2{
    font-size:clamp(29px,8.5vw,40px);
  }

  .eyebrow{
    margin-bottom:11px;
    font-size:10px;
    line-height:1.5;
    letter-spacing:.14em;
  }

  .hero-lead{
    margin-top:15px;
    font-size:16px;
    line-height:1.55;
  }

  .hero-actions,
  .contact-banner{
    align-items:stretch;
    flex-direction:column;
  }

  .hero-actions{
    gap:9px;
    margin-top:21px;
  }

  .button{
    width:100%;
    min-height:47px;
  }

  .hero-mascot{
    padding-top:3px;
  }

  .hero-mascot img{
    width:min(250px,70vw);
  }

  /* Three compact rows; no glued-together text. */
  .trust-grid{
    grid-template-columns:1fr;
    gap:7px;
    padding-block:10px;
  }

  .trust-item{
    grid-template-columns:42px 1fr;
    padding:9px 11px;
  }

  .trust-item strong{
    font-size:14px;
  }

  .trust-item span{
    font-size:12px;
  }

  .section{
    padding:44px 0;
  }

  .section-heading{
    margin-bottom:23px;
  }

  .section-heading>p:last-child{
    margin-top:11px;
    font-size:15px;
    line-height:1.52;
  }

  #services::before{
    content:"";
    position:absolute;
    width:185px;
    height:185px;
    right:-58px;
    top:22px;
    background:url("../images/mascot.png") center/contain no-repeat;
    opacity:.055;
    pointer-events:none;
  }

  .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .service-card{
    padding:15px;
  }

  .service-icon{
    width:50px;
    height:50px;
    margin-bottom:11px;
  }

  .service-card h3{
    font-size:16px;
  }

  .service-card p{
    display:none;
  }

  .service-card>span{
    margin-top:10px;
    font-size:12px;
  }

  .finder{
    padding:15px;
    border-radius:20px;
  }

  .finder-mascot{
    display:grid;
    grid-template-columns:62px 1fr;
    align-items:center;
    gap:12px;
    padding:11px 13px;
  }

  .finder-mascot img{
    width:62px;
    height:62px;
  }

  .finder-mascot p{
    font-size:15px;
    line-height:1.42;
  }

  .finder-fields{
    grid-template-columns:1fr;
    gap:9px;
    margin-top:14px;
  }

  .finder-button{
    grid-column:auto;
  }

  .finder-result{
    margin-top:14px;
    padding:15px;
  }

  .finder-result h3{
    font-size:21px;
  }

  .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .process-card{
    padding:15px;
  }

  .process-card p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    font-size:13px;
  }

  .contact-banner{
    gap:17px;
    padding:21px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:26px;
  }

  .footer-grid>div:first-child{
    grid-column:auto;
  }

  .footer-logo{
    width:265px;
    max-width:100%;
  }

  .copyright{
    margin-top:28px;
    flex-direction:column;
    gap:6px;
  }

  .site-footer{
    padding:40px 0 22px;
  }

  .page-title .container{
    padding-top:46px;
    padding-bottom:46px;
  }

  .feature-list,
  .check-list{
    gap:7px;
    margin-top:17px;
  }

  .feature-list li,
  .check-list li{
    padding:10px 12px;
    font-size:14px;
  }

  .symptom-grid,
  .problem-grid,
  .project-grid{
    grid-template-columns:1fr;
    gap:11px;
  }

  .symptom-card,
  .problem-card,
  .project-placeholder{
    padding:18px;
  }

  .panel{
    padding:20px;
  }

  .faq-item{
    padding:14px 15px;
  }

  .contact-row{
    align-items:flex-start;
  }

  .contact-row strong{
    font-size:15px;
  }
}

@media(max-width:390px){
  .container{
    padding-left:9px;
    padding-right:9px;
  }

  .brand img{
    width:min(238px,calc(100vw - 62px));
    max-height:54px;
  }

  .menu-toggle{
    flex-basis:41px;
    width:41px;
  }

  h1{
    font-size:clamp(36px,11vw,46px);
  }

  .hero-grid{
    padding-top:25px;
    padding-bottom:24px;
  }

  .hero-mascot img{
    width:min(225px,68vw);
  }

  .service-grid,
  .process-grid{
    gap:7px;
  }

  .service-card{
    padding:13px;
  }

  .service-icon{
    width:45px;
    height:45px;
  }

  .service-card h3{
    font-size:14.5px;
  }
}


@media(max-width:930px){
  .trust-icon,
  .service-icon {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    flex-shrink: 0;
  }

  .trust-icon svg,
  .service-icon svg {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    stroke: #ff6500 !important;
  }
}
