/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1440px){ :root{ --container-w: 1120px; } }
@media (max-width:1280px){ :root{ --container-w: 1000px; } }

@media (max-width:1024px){
  .nav, .header__actions .btn--primary{ display:none; }
  .nav-toggle{ display:flex; }
  .mobile-nav{ display:flex; }
  .container{ padding:0 24px; }

  .hero{ padding-top:120px; padding-bottom:64px; }
  .hero__inner{ grid-template-columns:1fr; gap:36px; }
  .hero__content{ max-width:640px; }
  .hero__visual{ order:-1; max-width:360px; margin:0 auto; }
  .hc-terminal{ max-width:140px; font-size:9.5px; padding:9px 11px; }

  .trust__row{ grid-template-columns: repeat(2,1fr); }
  .trust__item{ border-bottom:1px solid var(--color-border); padding-bottom:28px; margin-bottom:4px; }
  .trust__item:nth-child(2){ border-right:none; }
  .trust__item:nth-child(4){ border-right:none; }

  .services__layout{ grid-template-columns:1fr; }
  .service-index__row{ grid-template-columns: 36px 1fr 26px; }

  .solutions__grid{ grid-template-columns: repeat(2,1fr); }

  .needs__row{ grid-template-columns: 40px 1fr; row-gap:10px; }
  .needs__desc{ grid-column: 2; }
  .needs__tags{ grid-column: 2; }

  .process__line{ display:none; }
  .process__steps{ grid-template-columns: repeat(3,1fr); row-gap:36px; }

  .footer__grid{ grid-template-columns: 1fr 1fr; row-gap:40px; }

  .about-intro__grid{ grid-template-columns:1fr; gap:40px; }
  .philosophy__grid{ grid-template-columns:1fr; gap:36px; }
  .diff__item--wide{ flex-basis:100%; }

  .contact-block__grid{ grid-template-columns:1fr; gap:48px; }
}

@media (max-width:768px){
  .container{ padding:0 20px; }
  .section-head{ margin-bottom:44px; }
  .section-title{ font-size: clamp(1.6rem, 5.5vw, 2.1rem); }

  .hero{ padding-top:108px; padding-bottom:56px; }
  .hero__title{ font-size: clamp(1.95rem, 6.5vw, 2.4rem); }
  .hero__desc{ font-size:1rem; }
  .hero__actions{ flex-direction:column; align-items:stretch; }
  .hero__actions .btn{ justify-content:center; }
  .hero__visual{ max-width:320px; }
  .hc-terminal{ display:none; }
  .hc-grid{ display:none; }
  .hero-frame__caption{ padding:12px 16px; font-size:10.5px; }

  .trust__row{ grid-template-columns:1fr; }
  .trust__item{ border-right:none !important; }

  .solutions{ border-radius:22px; margin:0 12px; padding:72px 0; }
  .solutions__grid{ grid-template-columns:1fr; }
  .sol{ border-right:none; }
  .sol__ghost{ font-size:4rem; }
  .services__more{ flex-direction:column; align-items:flex-start; }

  .needs__row{ grid-template-columns: 1fr; row-gap:8px; padding:24px 4px; }
  .needs__num{ order:-1; }
  .needs__desc{ grid-column: 1; }
  .needs__tags{ grid-column: 1; }

  .process__steps{ grid-template-columns: repeat(2,1fr); row-gap:32px; }

  .cta-final{ padding:88px 0 100px; }

  .breadcrumb{ padding-top:96px; }
  .hero--about{ padding:124px 0 64px; }
  .hero-frame--wide .hero-frame__ph{ aspect-ratio: 16/10; }
  .statement{ padding:64px 0; }
  .about-intro{ padding:72px 0; }
  .about-intro__grid{ grid-template-columns:1fr; gap:36px; }
  .timeline{ padding:72px 0; }
  .timeline__item{ padding-left:46px; padding-bottom:40px; }
  .timeline__dot{ width:28px; height:28px; }
  .timeline__line{ left:13px; }
  .philosophy{ padding:72px 0; }
  .philosophy__grid{ grid-template-columns:1fr; gap:32px; }
  .diff{ padding:72px 0; }
  .diff__item{ flex-basis:100%; }
  .diff__item--wide{ flex-basis:100%; }
  .areas{ padding:72px 0; }
  .commitment{ padding:64px 0; }

  .hero--contact{ padding:32px 0 56px; }
  .hero--contact--flush{ padding-top:124px; }
  .contact-block{ padding:72px 0; }
  .contact-block__grid{ grid-template-columns:1fr; gap:40px; }
  .form-row{ grid-template-columns:1fr; gap:20px; }
  .talk-direct{ padding:56px 0; }

  .footer__grid{ grid-template-columns:1fr; gap:36px; }
  .footer__bottom{ flex-direction:column; gap:8px; text-align:center; padding:20px 0 28px; }

  .tech-bar__inner{ flex-direction:column; align-items:flex-start; gap:18px; }
}

@media (max-width:480px){
  .container{ padding:0 18px; }
  .brand__tag{ display:none; }
  .hero{ padding-top:100px; padding-bottom:48px; }
  .hero__title{ font-size:1.85rem; }
  .hero__visual{ max-width:260px; margin-bottom:4px; }
  .feature-card__body{ padding:22px; }
  .feature-card__body h3{ font-size:1.2rem; }
  .service-index__row{ padding:20px 4px; }
  .needs__word{ font-size:1.5rem; }
  .why{ padding:80px 0; }
  .hero--about__title{ font-size:1.9rem; }
  .hero--about__subtitle{ font-size:1rem; }
  .timeline__item h3{ font-size:1.1rem; }
  .diff__item{ padding:18px 16px; }
  .areas__item{ padding:11px 16px; font-size:0.85rem; }
  .statement__lead{ font-size:1.3rem; }
  .statement__main{ font-size:1.7rem; }
  .hero-frame--wide .hero-frame__ph{ aspect-ratio: 4/5; }
  .process{ padding:80px 0; }
  .process__steps{ grid-template-columns:1fr; row-gap:28px; }
  .cta-final__inner h2{ font-size:1.75rem; }
  .btn--lg{ width:100%; justify-content:center; }
  .mega{ width:92vw; padding:22px; }
  .mega__inner{ grid-template-columns:1fr; gap:24px; }
  .mega__col--solutions{ border-left:none; border-top:1px solid var(--color-border); padding-left:0; padding-top:22px; }

  .wa-float{ width:46px; height:46px; right:16px; bottom:16px; }
  .wa-float svg{ width:22px; height:22px; }
  .back-to-top{ width:44px; height:44px; left:16px; bottom:16px; }
}

@media (max-width:375px){
  .hero__title{ font-size:1.65rem; }
  .sol__ghost{ font-size:3.4rem; }
}

@media (hover:none){
  .btn:hover, .service-index__row:hover, .p-step:hover .p-step__num, .needs__row:hover{ transform:none; }
}
