/* ==========================================================================
   RESPONSIVE — CRYPSQUAD
   Breakpoints: 1440+, 1024, 768, 390/375, 320
   ========================================================================== */

/* ---- Hero two-column at wide desktop ---- */
@media (min-width:1000px){
  .hero-inner{
    grid-template-columns:1fr 1fr;
  }
  .page-hero-inner.has-visual{
    grid-template-columns:1.05fr .95fr;
  }
}

/* ---- Extra breathing room on large screens — keeps content boxed, not edge-to-edge ---- */
@media (min-width:1440px){
  .container{ padding:0 56px; }
  .nav-wrap{ padding:20px 56px; }
}
@media (min-width:1800px){
  :root{ --container: 1220px; }
  .container{ padding:0 64px; }
  .nav-wrap{ padding:22px 64px; }
}

/* ==================== 1024px — laptop / tablet landscape ==================== */
@media (max-width:1024px){
  .container{ padding:0 24px; }
  .nav-wrap{ padding:16px 24px; }
  .nav-links{ gap:24px; }
  .section{ padding:88px 0; }

  .bento{ grid-template-columns:repeat(4,1fr); }
  .bento-large{ grid-column:span 4; grid-row:span 1; }
  .bento-medium{ grid-column:span 2; }
  .bento-small{ grid-column:span 2; }

  .strategy-grid{ grid-template-columns:repeat(2,1fr); }
  .risk-grid{ grid-template-columns:repeat(3,1fr); gap:18px; }
  .steps-grid{ gap:18px; }

  .showcase-grid{ grid-template-columns:1fr; }
  .split{ gap:40px; }

  .legal-layout{ grid-template-columns:220px 1fr; gap:36px; }
}

/* ==================== 768px — tablet ==================== */
@media (max-width:768px){
  :root{ --header-h:76px; }

  .nav-links{ display:none; }
  .nav-cta{ display:none; }
  .nav-toggle{ display:flex; }
  .mobile-menu{ display:block; }
  .nav-wrap{ padding:14px 20px; }

  .announcement{ font-size:12px; padding:8px 12px; }

  .section{ padding:64px 0; }
  .section.tight{ padding:52px 0; }
  .section-head{ margin-bottom:36px; }

  .hero{ padding:48px 0 70px; }
  .hero-inner{ grid-template-columns:1fr; gap:56px; }
  .hero-copy{ max-width:100%; text-align:left; }
  .hero-copy p{ max-width:100%; }
  .hero-actions{ flex-direction:column; align-items:stretch; }
  .hero-actions .btn{ width:100%; }
  .hero-visual{ min-height:380px; }
  .page-hero-visual{ min-height:260px; margin-top:8px; }
  .page-hero-visual .product-card{ max-width:340px; }
  .float-card{ min-width:120px; padding:10px 12px; }
  .float-card .fc-value{ font-size:13px; }
  .float-card.fc-1{ left:-4%; top:-8%; }
  .float-card.fc-2{ right:-4%; }
  .float-card.fc-3{ left:2%; }

  .trust-grid{ grid-template-columns:repeat(2,1fr); gap:18px 12px; }
  .trust-item{ justify-content:flex-start; font-size:13px; }

  .bento{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .bento-large, .bento-medium, .bento-small{ grid-column:span 1; }

  .steps-grid{ grid-template-columns:1fr; gap:30px; }
  .steps-line{ display:none; }

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

  .showcase-inner{ padding:22px; }
  .split{ grid-template-columns:1fr; }
  .split-visual{ order:-1; aspect-ratio:16/10; }

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

  .price-card-inner{ padding:34px 26px; }

  .footer-top{ grid-template-columns:1fr 1fr; gap:32px 20px; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }

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

  .legal-layout{ grid-template-columns:1fr; }
  .legal-nav{ display:none; }
  .mobile-toc{ display:block; }

  .disclaimer-bar{
    left:14px; right:14px; bottom:14px;
    flex-direction:column;
    align-items:flex-start;
    padding:18px;
  }
  .disclaimer-actions{ width:100%; }
  .disclaimer-actions .btn{ flex:1; }

  .service-row{ grid-template-columns:48px 1fr; }
  .service-row .sr-arrow{ display:none; }
}

/* ==================== 390 / 375px — modern mobile ==================== */
@media (max-width:420px){
  .container{ padding:0 18px; }
  .nav-wrap{ padding:12px 18px; }

  .hero-copy h1{ font-size:clamp(30px,9vw,38px); }
  .hero-copy p{ font-size:15.5px; }
  .section-head h2{ font-size:26px; }

  .product-card{ max-width:300px; }
  .product-card-body{ padding:16px; gap:10px; }
  .float-card{ min-width:104px; padding:8px 10px; }
  .float-card .fc-label{ font-size:9.5px; }
  .float-card .fc-value{ font-size:12px; }
  .float-card.fc-1{ top:-4%; left:-2%; }
  .float-card.fc-2{ right:-2%; bottom:2%; }
  .float-card.fc-3{ left:-2%; bottom:-10%; }

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

  .price-value .amount{ font-size:42px; }

  .final-cta{ padding:44px 22px; }

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

/* ==================== 320px — minimum supported ==================== */
@media (max-width:340px){
  .container{ padding:0 14px; }
  .hero-copy h1{ font-size:27px; }
  .btn{ padding:13px 20px; font-size:14px; }
  .product-card{ max-width:260px; }
  .float-card{ display:none; }
  .float-card.fc-1{ display:flex; top:-6%; left:-2%; }
}
