/* Small-screen layout and touch refinements; desktop design stays intact. */
body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle { display: none; }
@media (max-width: 760px) {
  body:is(.kv-brand-body, .kv-commerce-body) .kv {
    --content-pad: 24px;
    --kv-header-height: 68px;
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv > header {
    grid-template-columns: minmax(0, 1fr) 72px auto;
    gap: 12px;
    padding: 12px var(--content-pad);
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv > header > a:first-child {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv > header .logo { width: 120px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv > header > a:last-child {
    grid-column: 3;
    min-height: 44px;
    gap: 7px;
    font-size: 13px;
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle {
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 72px;
    height: 44px;
    padding: 0;
    border: 1px solid #ffffff24;
    border-radius: 9px;
    background: #ffffff06;
    color: #f7f9fc;
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle svg { width: 20px; height: 20px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle > span { font-size: 11px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle .kv-menu-line { transition: transform .18s ease; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-menu-line-top { transform-origin: 12px 8px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-menu-line-bottom { transform-origin: 12px 16px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle[aria-expanded=true] .kv-menu-line-top { transform: translateY(4px) rotate(45deg); }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle[aria-expanded=true] .kv-menu-line-bottom { transform: translateY(-4px) rotate(-45deg); }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle:focus-visible {
    outline: 2px solid #c4e52d;
    outline-offset: 3px;
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle[aria-expanded=true] {
    color: #c4e52d;
    border-color: #c4e52d80;
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv > header > nav { display: none; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv footer { padding-top: 48px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-top { gap: 32px 20px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-intro h2 { font-size: 32px; margin-bottom: 18px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-intro p { font-size: 15px; line-height: 1.7; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-contact { min-height: 44px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-col h3 { min-height: 2.8em; margin-bottom: 12px; font-size: 15px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-col > a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 44px;
    margin-bottom: 2px;
    font-size: 14px;
    line-height: 1.5;
  }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-col:last-child { grid-column: 1 / -1; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-col:last-child h3 { min-height: 0; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-base { gap: 20px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-base > p { font-size: 12px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-legal { flex-wrap: wrap; gap: 4px 20px; font-size: 12px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; }

  body.kv-brand-body .kv { --section-space: 64px; --kv-card-gap: 20px; }
  body.kv-brand-body .kv main .hero-v2 {
    min-height: 0;
    height: auto;
    display: block;
    padding-bottom: 330px;
  }
  body.kv-brand-body .kv main .hero-v2 > div { padding: 34px var(--content-pad) 28px; }
  body.kv-brand-body .kv main .hero-v2 h1 {
    font-size: clamp(48px, 13.5vw, 66px);
    margin: 20px 0 22px;
    letter-spacing: -.055em;
    line-height: 1.04;
  }
  body.kv-brand-body .kv main .hero-v2 p { font-size: 16px; line-height: 1.65; margin-bottom: 22px; }
  body.kv-brand-body .kv main .hero-v2 small { max-width: none; font-size: 11px; margin-top: 18px; }
  body.kv-brand-body .kv main .hero-v2 > .speed-art { height: 380px; object-position: 50% 56%; }
  body.kv-brand-body .kv main .hero-v2::before {
    background: linear-gradient(180deg, #080f1c 0%, #080f1c 40%, #080f1cf2 52%, #080f1c22 73%, #080f1c44 100%);
  }
  body.kv-brand-body .kv main .hero-v2 .eyebrow { margin-top: 19px; font-size: 9px; }
  body.kv-brand-body .kv main .strip { padding: 22px var(--content-pad); font-size: 10px; gap: 18px 14px; }
  body.kv-brand-body .kv main .kv-section-head,
  body.kv-brand-body .kv main .culture-heading,
  body.kv-brand-body .kv main .lv-section-heading { margin-bottom: 28px; }
  body.kv-brand-body .kv main .lv-inner-hero { min-height: 320px; padding: 30px 24px; }
  body.kv-brand-body .kv main .lv-inner-hero h1 { font-size: clamp(34px, 10vw, 44px); line-height: 1.08; }
  body.kv-brand-body .kv main .lv-inner-hero p { font-size: 16px; line-height: 1.65; }
  body.kv-brand-body .kv main.page { padding-top: 28px; }
  body.kv-brand-body .kv main .product,
  body.kv-brand-body .kv main .pd-grid { gap: 20px; }
  body.kv-brand-body .kv main .pd-summary > p { line-height: 1.7; }
  body.kv-brand-body .kv main .pd-order .btn { min-height: 50px; font-size: 15px; }
  body.kv-brand-body .kv main .btn { min-height: 50px; font-size: 14px; padding: 13px 20px; }
  body.kv-brand-body .kv main .lv-link { min-height: 44px; font-size: 14px; }
  body.kv-brand-body .kv main .kv-policy-toc nav { gap: 6px 18px; }
  body.kv-brand-body .kv main .kv-policy-toc nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
  body.kv-brand-body .kv main details { padding: 16px 22px; }
  body.kv-brand-body .kv main details summary { min-height: 44px; display: flex; align-items: center; line-height: 1.5; }
  body.kv-brand-body .kv main details summary::after { top: 50%; transform: translateY(-50%); }
  body.kv-brand-body .kv main details p { font-size: 15px; line-height: 1.75; }
  body.kv-brand-body .kv main .kv-table-wrap { scrollbar-width: thin; scrollbar-color: #8196b7 #e9eef5; }
  body.kv-brand-body .kv main .kv-home-reviews-link,
  body.kv-brand-body .kv main .kv-home-review-link,
  body.kv-brand-body .kv main .kv-reviews-write-link { min-height: 44px; font-size: 14px; }
  body.kv-brand-body .kv main.product-detail :is(.kv-reviews, .kv-reviews-form-card) { scroll-margin-top: calc(var(--kv-admin-offset, 0px) + var(--kv-header-height) + var(--kv-subnav-height) + 24px); }
  body.kv-brand-body .kv main .kv-reviews form :is(input[type=text], input[type=email], textarea),
  body.kv-brand-body .kv main .wpcf7 :is(input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea) { font-size: 16px; min-height: 50px; }
  body.kv-brand-body .kv main .kv-rating-inputs label.kv-rating-choice { width: 44px; height: 44px; }
  body.kv-brand-body .kv main .kv-rating-choices { gap: 4px; }
  body.kv-brand-body .kv .kv-product-nav > .wrap { display: block; padding-top: 10px; padding-bottom: 8px; }
  body.kv-brand-body .kv .kv-product-nav span { font-size: 14px; }
  body.kv-brand-body .kv .kv-product-nav nav { flex-wrap: wrap; gap: 0 16px; margin-top: 2px; font-size: 12px; }
  body.kv-brand-body .kv .kv-product-nav nav a { display: inline-flex; align-items: center; min-height: 36px; }
  body.kv-brand-body .kv .kv-quick-buy { padding: 12px; gap: 8px; bottom: max(10px, env(safe-area-inset-bottom)); }
  body.kv-brand-body .kv .kv-quick-title { font-size: 14px; }
  body.kv-brand-body .kv .kv-quick-price { font-size: 12px; }
  body.kv-brand-body .kv .kv-quick-order .kv-pack-trigger { height: 50px; font-size: 14px; padding: 0 11px; }
  body.kv-brand-body .kv .kv-quick-order .kv-pack-option { font-size: 14px; }
  body.kv-brand-body .kv .kv-quick-order .kv-pack-menu { min-width: 172px; }
  body.kv-brand-body .kv .kv-quick-order .kv-pack-option > span { white-space: nowrap; }
  body.kv-brand-body .kv .kv-quick-order .btn { min-height: 50px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body:is(.kv-brand-body, .kv-commerce-body) .kv .kv-mobile-menu-toggle .kv-menu-line { transition: none; }
}
@media (max-width: 430px) {
  body:is(.kv-brand-body, .kv-commerce-body) .kv { --content-pad: 20px; }
  body.kv-brand-body .kv { --kv-card-space: 20px; }
  body.kv-brand-body .kv main .step-grid > div,
  body.kv-brand-body .kv main .kv-policy-toc,
  body.kv-brand-body .kv main .kv-policy-copy,
  body.kv-brand-body .kv main .contact-callout,
  body.kv-brand-body .kv main .kv-reviews-summary,
  body.kv-brand-body .kv main .kv-reviews-form-card,
  body.kv-brand-body .kv main .kv-home-review-summary,
  body.kv-brand-body .kv main .kv-home-review-card { padding-left: 20px; padding-right: 20px; }
  body.kv-brand-body .kv main .kv-home-review-empty::before { right: 20px; }
}
@media (max-width: 360px) {
  body:is(.kv-brand-body, .kv-commerce-body) .kv > header { gap: 8px; }
  body:is(.kv-brand-body, .kv-commerce-body) .kv > header .logo { width: 112px; }
  body.kv-brand-body .kv .kv-quick-order .kv-pack-trigger { padding: 0 8px; gap: 6px; font-size: 13px; }
}
