/* ============================================
   SECURITY BOX - RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 1000px) {
  /* Navigation */
  nav {
    padding: 0 20px;
  }

  .nav-center {
    display: none;
  }

  /* Hero */
  .hero {
    padding: 36px 20px 0;
  }

  .hero-main {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .hero-right {
    grid-template-columns: 1fr 1fr;
  }

  /* Sections */
  .section,
  .why-section,
  .cta-section,
  .calc-page,
  .svc-page {
    padding: 70px 20px;
  }

  /* Services grid */
  .services-grid {
    grid-template-columns: 1fr;
  }

  /* Why grid */
  .why-grid {
    grid-template-columns: 1fr;
  }

  .why-visual {
    max-height: 260px;
  }

  /* Calculator grid */
  .calc-grid {
    grid-template-columns: 1fr;
  }

  /* Service page grid */
  .sp-grid {
    grid-template-columns: 1fr;
  }

  /* Footer */
  footer {
    padding: 24px 20px;
    flex-direction: column;
    gap: 14px;
    text-align: center;
  }

  /* Result panel sticky position adjustment */
  .result-panel {
    position: relative;
    top: auto;
    margin-top: 30px;
  }
}

@media (max-width: 640px) {
  /* Root font size reduction */
  html {
    font-size: 14px;
  }

  /* Navigation */
  nav {
    height: 60px;
    padding: 0 12px;
  }

  .nav-logo {
    gap: 8px;
  }

  .logo-text {
    font-size: 12px;
  }

  /* Ticker */
  .ticker {
    margin-top: 60px;
  }

  .ticker-item {
    font-size: 9px;
  }

  /* Hero */
  .hero {
    min-height: calc(100vh - 60px);
    padding: 24px 12px 0;
  }

  .hero-main {
    gap: 24px;
  }

  .hero-tag {
    font-size: 10px;
  }

  .hero-title {
    font-size: clamp(28px, 6vw, 48px);
  }

  .hero-desc {
    font-size: 15px;
  }

  .hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .btn-primary {
    width: 100%;
    text-align: center;
  }

  /* Sections */
  .section,
  .why-section,
  .cta-section,
  .calc-page,
  .svc-page {
    padding: 50px 12px;
  }

  .section-title {
    font-size: clamp(18px, 4vw, 32px);
    margin-bottom: 36px;
  }

  /* Services cards */
  .services-grid {
    gap: 12px;
  }

  .service-card {
    padding: 28px 18px;
  }

  .svc-icon {
    font-size: 24px;
  }

  .svc-num {
    font-size: 28px;
  }

  /* Why section */
  .why-visual {
    max-height: 200px;
  }

  .why-ring {
    border-width: 0.5px;
  }

  .why-center {
    width: 80px;
    height: 80px;
  }

  .why-center-num {
    font-size: 18px;
  }

  /* Features */
  .feature-item {
    gap: 12px;
    padding: 16px 0;
  }

  .feat-icon {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  .feat-title {
    font-size: 11px;
  }

  .feat-text {
    font-size: 13px;
  }

  /* CTA section */
  .cta-title {
    font-size: clamp(20px, 5vw, 36px);
    margin-bottom: 12px;
  }

  .cta-desc {
    font-size: 15px;
    margin-bottom: 24px;
  }

  .cta-actions {
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }

  .cta-actions .btn-primary {
    width: 100%;
  }

  /* Service page */
  .pg-title {
    font-size: clamp(22px, 5vw, 40px);
  }

  .pg-desc {
    font-size: 16px;
    margin-bottom: 40px;
  }

  .sp-grid {
    gap: 36px;
  }

  .sp-content h3 {
    font-size: 13px;
    margin-top: 20px;
  }

  .sp-content p {
    font-size: 14px;
  }

  .sp-features li {
    font-size: 14px;
  }

  .sp-big-icon {
    font-size: 60px;
  }

  /* Calculator */
  .calc-grid {
    gap: 20px;
  }

  .calc-panel {
    padding: 28px;
  }

  .calc-sec-title {
    font-size: 11px;
  }

  .cam-big {
    font-size: 40px;
  }

  .cam-man-val {
    font-size: 18px;
  }

  .cams-visual {
    gap: 5px;
  }

  .cami {
    font-size: 16px;
  }

  .opts-label {
    font-size: 10px;
  }

  .pills {
    gap: 4px;
  }

  .pill {
    padding: 6px 12px;
    font-size: 11px;
  }

  .tog-row {
    padding: 10px 0;
  }

  .tog-name {
    font-size: 13px;
  }

  .tog-sub {
    font-size: 11px;
  }

  /* Result panel */
  .result-card {
    padding: 28px;
  }

  .res-title {
    font-size: 10px;
    margin-bottom: 18px;
  }

  .cost-name {
    font-size: 12px;
  }

  .cost-val {
    font-size: 13px;
  }

  .sub-lbl {
    font-size: 12px;
  }

  .sub-val {
    font-size: 13px;
  }

  .total-lbl {
    font-size: 9px;
  }

  .total-price {
    font-size: 36px;
  }

  .total-price small {
    font-size: 14px;
  }

  .total-note {
    font-size: 11px;
  }

  .incl-item {
    font-size: 11px;
  }

  /* Footer */
  footer {
    flex-direction: column;
    gap: 12px;
  }

  .footer-logo {
    font-size: 9px;
  }

  .footer-copy {
    font-size: 11px;
  }

  .footer-links {
    gap: 16px;
  }

  .footer-links a {
    font-size: 10px;
  }

  /* Buttons */
  .btn-primary,
  .btn-ghost {
    font-size: 11px;
  }

  /* Stat cards */
  .stat-card {
    padding: 20px 16px;
  }

  .stat-num {
    font-size: 28px;
  }

  .stat-label {
    font-size: 10px;
  }
}

/* Extra small devices */
@media (max-width: 480px) {
  /* Typography scaling */
  html {
    font-size: 13px;
  }

  /* Navigation */
  nav {
    height: 56px;
  }

  /* Hero spacing */
  .hero-main {
    gap: 16px;
  }

  .hero-right {
    grid-template-columns: 1fr;
  }

  /* Sections padding */
  .section,
  .why-section,
  .cta-section,
  .calc-page,
  .svc-page {
    padding: 40px 12px;
  }

  /* Service cards */
  .services-grid {
    gap: 8px;
  }

  .service-card {
    padding: 20px 14px;
  }

  /* Pills responsive */
  .pills {
    gap: 3px;
  }

  .pill {
    padding: 5px 10px;
    font-size: 10px;
  }

  /* Footer links stacked */
  .footer-links {
    flex-direction: column;
    gap: 8px;
  }
}