
    * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', system-ui, sans-serif; }
    html { scroll-behavior: smooth; }
    body { background: #f5f6f8; }

    /* ── SCROLL REVEAL (Figma-prototype style motion) ── */
    @media (prefers-reduced-motion: no-preference) {
      .fv-reveal {
        opacity: 0;
        transform: translateY(28px) scale(0.99);
        transition: opacity 0.7s cubic-bezier(.16,1,.3,1), transform 0.7s cubic-bezier(.16,1,.3,1);
        will-change: opacity, transform;
      }
      .fv-reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }
      .fv-reveal-stagger.is-visible { transition-delay: var(--fv-delay, 0s); }
    }
    /* interactive "press" feedback, matching a prototype's tap states */
    .fv-cat-tile, .fv-product-card, .fv-winkey-card, .fv-slide-btn, .fv-slide-btn-ghost,
    .fv-winkey-btn, .fv-banner, .fv-person-tile, .fv-product-cart-btn {
      transition: border-color 0.2s, transform 0.25s cubic-bezier(.16,1,.3,1), box-shadow 0.25s cubic-bezier(.16,1,.3,1), background 0.2s;
    }
    .fv-cat-tile:active, .fv-product-card:active, .fv-winkey-card:active,
    .fv-slide-btn:active, .fv-winkey-btn:active, .fv-person-tile:active { transform: scale(0.97); }
    .fv-cat-tile:hover, .fv-product-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(26,46,90,0.08); }
    .fv-banner:hover, .fv-person-tile:hover { box-shadow: 0 14px 30px rgba(8,18,45,0.22); }

    /* HEADER */
    .fv-header { background: #1a2e5a; padding: 0 2rem; display: flex; align-items: center; justify-content: space-between; height: 72px; }
    .fv-logo { display: flex; flex-direction: column; }
    .fv-logo-main { color: #fff; font-size: 26px; font-weight: 700; letter-spacing: -0.5px; font-style: italic; }
    .fv-logo-sub { color: #7eb8f7; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; }
    .fv-search { flex: 1; max-width: 520px; margin: 0 2rem; display: flex; border-radius: 6px; overflow: hidden; }
    .fv-search input { flex: 1; padding: 0 1rem; font-size: 14px; border: none; outline: none; color: #222; }
    .fv-search button { background: #2e6de8; border: none; color: #fff; padding: 0 1.1rem; cursor: pointer; font-size: 18px; display: flex; align-items: center; }
    .fv-header-icons { display: flex; gap: 1.8rem; align-items: center; }
    .fv-icon-link { display: flex; flex-direction: column; align-items: center; color: #fff; font-size: 10px; gap: 3px; cursor: pointer; text-decoration: none; }
    .fv-icon-link i { font-size: 22px; }

    /* NAV */
    .fv-nav { background: #1a2e5a; border-top: 1px solid rgba(255,255,255,0.12); padding: 0; display: flex; justify-content: center; }
    .fv-nav-item { color: #fff; font-size: 17px; font-weight: 700; padding: 15px 1.6rem; cursor: pointer; border-right: 1px solid rgba(255,255,255,0.12); white-space: nowrap; display: flex; align-items: center; gap: 5px; text-decoration: none; }
    .fv-nav-item:hover { background: rgba(255,255,255,0.09); }
    .fv-nav-item:first-child { border-left: 1px solid rgba(255,255,255,0.12); }

    /* PROMO BAR */
    .fv-promo-bar { background: #fff; display: flex; justify-content: center; gap: 3rem; padding: 10px 2rem; border-bottom: 1px solid #e2e5ec; }
    .fv-promo-link { color: #1a2e5a; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; text-decoration: none; }
    .fv-promo-link:hover { color: #2e6de8; }

    /* ── HERO SLIDER ── */
    .fv-slider { position: relative; width: 100%; height: 460px; overflow: hidden; }
    .fv-slides { display: flex; width: 100%; height: 100%; transition: transform 0.7s cubic-bezier(.77,0,.18,1); }
    .fv-slide { min-width: 100%; height: 100%; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }

    .fv-slide-1 { background: linear-gradient(125deg, #07142e 0%, #1a2e5a 50%, #22408a 100%); }
    .fv-slide-2 { background: linear-gradient(125deg, #0a1d40 0%, #163566 50%, #1e4a8f 100%); }
    .fv-slide-3 { background: linear-gradient(125deg, #051020 0%, #0e2248 50%, #1a3470 100%); }
    .fv-slide-4 { background: linear-gradient(125deg, #0d2050 0%, #1e3d80 50%, #2a55b0 100%); }

    .fv-slide-deco { position: absolute; right: 0; top: 0; width: 50%; height: 100%; opacity: 0.12; display: flex; align-items: center; justify-content: center; }
    .fv-slide-deco i { font-size: 280px; color: #fff; }

    .fv-slide-content { position: relative; z-index: 2; text-align: center; padding: 0 2rem; max-width: 800px; }
    .fv-slide-tag { display: inline-block; background: rgba(255,255,255,0.15); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; padding: 6px 18px; border-radius: 30px; margin-bottom: 1.4rem; border: 1px solid rgba(255,255,255,0.25); }
    .fv-slide-title { color: #fff; font-size: 56px; font-weight: 900; line-height: 1.0; text-transform: uppercase; letter-spacing: -1.5px; margin-bottom: 1rem; }
    .fv-slide-title em { font-style: normal; }
    .fv-slide-sub { color: rgba(255,255,255,0.75); font-size: 18px; line-height: 1.6; margin-bottom: 2rem; }
    .fv-slide-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
    .fv-slide-btn { display: inline-block; background: #2e6de8; color: #fff; padding: 14px 36px; border-radius: 30px; font-weight: 700; font-size: 14px; letter-spacing: 1px; cursor: pointer; border: none; text-transform: uppercase; text-decoration: none; transition: background 0.2s; }
    .fv-slide-btn:hover { background: #1a55c4; }
    .fv-slide-btn-ghost { display: inline-block; background: transparent; color: #fff; padding: 13px 36px; border-radius: 30px; font-weight: 700; font-size: 14px; letter-spacing: 1px; cursor: pointer; border: 2px solid rgba(255,255,255,0.45); text-transform: uppercase; text-decoration: none; transition: background 0.2s; }
    .fv-slide-btn-ghost:hover { background: rgba(255,255,255,0.12); }

    /* accent colors per slide — all blue family */
    .fv-slide-1 .fv-slide-tag { background: rgba(46,109,232,0.35); border-color: rgba(100,160,255,0.6); }
    .fv-slide-1 .fv-slide-title em { color: #7eb8f7; }
    .fv-slide-2 .fv-slide-btn { background: #2a6fd4; } .fv-slide-2 .fv-slide-btn:hover { background: #1a55b0; }
    .fv-slide-2 .fv-slide-title em { color: #a8d0ff; }
    .fv-slide-2 .fv-slide-tag { background: rgba(42,111,212,0.35); border-color: rgba(120,170,255,0.6); }
    .fv-slide-3 .fv-slide-btn { background: #1e4a9a; } .fv-slide-3 .fv-slide-btn:hover { background: #163575; }
    .fv-slide-3 .fv-slide-title em { color: #c5dcff; }
    .fv-slide-3 .fv-slide-tag { background: rgba(30,74,154,0.4); border-color: rgba(100,150,255,0.6); }
    .fv-slide-4 .fv-slide-btn { background: #3060c8; } .fv-slide-4 .fv-slide-btn:hover { background: #1e48a0; }
    .fv-slide-4 .fv-slide-title em { color: #ffd97e; }
    .fv-slide-4 .fv-slide-tag { background: rgba(48,96,200,0.35); border-color: rgba(120,170,255,0.6); }

    /* slider controls */
    .fv-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); color: #fff; width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; font-size: 22px; transition: background 0.2s; }
    .fv-slider-arrow:hover { background: rgba(255,255,255,0.3); }
    .fv-slider-arrow.prev { left: 1.5rem; }
    .fv-slider-arrow.next { right: 1.5rem; }
    .fv-slider-dots { position: absolute; bottom: 1.2rem; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 10; }
    .fv-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,0.35); cursor: pointer; transition: background 0.2s, transform 0.2s; border: none; }
    .fv-dot.active { background: #fff; transform: scale(1.25); }

    /* caption animation */
    .fv-slide-content { opacity: 0; transform: translateY(28px); transition: opacity 0.55s ease 0.25s, transform 0.55s ease 0.25s; }
    .fv-slide.is-active .fv-slide-content { opacity: 1; transform: translateY(0); }

    /* SECTIONS */
    .fv-section { padding: 2.8rem 2.5rem; }
    .fv-section-alt { background: #fff; }
    .fv-section-title {
      display: table;
      margin: 0 auto 2.2rem;
      text-align: center;
      font-size: 26px;
      font-weight: 800;
      letter-spacing: -0.3px;
      text-transform: none;
      color: #1a2e5a;
      padding-bottom: 16px;
      position: relative;
      border-bottom: none;
    }
    .fv-section-title::after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: 54px;
      height: 3px;
      border-radius: 3px;
      background: linear-gradient(90deg, #1a2e5a, #2e6de8);
    }

    /* CATEGORY TILES */
    .fv-cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
    .fv-cat-tile { background: #fff; border-radius: 10px; border: 1px solid #e2e5ec; padding: 1.8rem 1rem; text-align: center; cursor: pointer; transition: border-color 0.2s; }
    .fv-cat-tile:hover { border-color: #2e6de8; }
    .fv-cat-tile i { font-size: 34px; color: #1a2e5a; display: block; margin-bottom: 12px; }
    .fv-cat-tile p { font-size: 13px; font-weight: 600; color: #1a2e5a; margin-bottom: 4px; }
    .fv-cat-tile small { color: #999; font-size: 11px; }

    /* PRODUCT GRID — markup mirrors WooCommerce's default loop
       (ul.products > li.product) so this drops into a WC archive/shop
       template with the fv- classes doing the visual styling and the
       woocommerce-* classes left in place for WC's own hooks/JS to key off. */
    ul.fv-product-grid, .fv-product-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
    li.fv-product-card, .fv-product-card { background: #fff; border-radius: 10px; border: 1px solid #e2e5ec; overflow: hidden; cursor: pointer; display: flex; flex-direction: column; position: relative; }
    .fv-product-card:hover { border-color: #2e6de8; }
    .fv-product-card .woocommerce-LoopProduct-link { position: relative; display: block; text-decoration: none; color: inherit; }
    .fv-product-img { background: #f0f3f8; height: 150px; display: flex; align-items: center; justify-content: center; position: relative; }
    .fv-product-img i { font-size: 60px; color: #2e6de8; }
    .fv-product-info { padding: 14px; display: flex; flex-direction: column; gap: 2px; flex: 1; }
    .fv-product-brand { color: #1a2e5a; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
    .fv-product-name { color: #333; font-size: 13px; margin: 4px 0 6px; line-height: 1.4; }
    .fv-product-rating { display: flex; align-items: center; gap: 5px; margin-bottom: 6px; }
    .fv-product-rating .star-rating { display: flex; gap: 1px; }
    .fv-product-rating .star-rating i { font-size: 12px; color: #f5a623; }
    .fv-product-rating .star-rating i.is-empty { color: #dfe2e8; }
    .fv-product-rating .fv-rating-count { font-size: 11px; color: #999; }
    .fv-product-card .price { display: block; margin-bottom: 10px; }
    .fv-product-price, .price ins { color: #1a2e5a; font-weight: 700; font-size: 16px; text-decoration: none; }
    .fv-product-old, .price del { color: #bbb; font-size: 12px; text-decoration: line-through; margin-left: 6px; }
    .fv-badge-sale, .onsale { background: #e74c3c; color: #fff; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 4px; margin-left: 6px; vertical-align: middle; }
    .fv-product-cart-btn {
      margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 6px;
      background: #1a2e5a; color: #fff; border: none; padding: 10px 12px;
      font-size: 12px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase;
      cursor: pointer; text-decoration: none;
    }
    .fv-product-cart-btn:hover { background: #2e6de8; }
    .fv-product-cart-btn i { font-size: 15px; }

    /* SHOP BY SEGMENT */
    .fv-person-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .fv-person-tile { border-radius: 14px; overflow: hidden; position: relative; height: 220px; cursor: pointer; }
    .fv-person-bg { width: 100%; height: 100%; display: flex; align-items: flex-end; padding: 1.2rem; position: relative; }
    .fv-person-bg.students { background: linear-gradient(150deg, #1a2e5a 0%, #2e6de8 100%); }
    .fv-person-bg.professionals { background: linear-gradient(150deg, #0f4c2a 0%, #1d9e75 100%); }
    .fv-person-bg.gamers { background: linear-gradient(150deg, #3d1a5a 0%, #8a2be2 100%); }
    .fv-person-label { background: rgba(255,255,255,0.22); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 9px 20px; border-radius: 30px; cursor: pointer; }
    .fv-person-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -65%); }
    .fv-person-icon i { font-size: 64px; color: rgba(255,255,255,0.25); }

    /* WINDOWS KEY CARDS */
    ul.fv-winkey-grid, .fv-winkey-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    li.fv-winkey-card, .fv-winkey-card { background: #fff; border-radius: 12px; border: 2px solid #e2e5ec; padding: 1.6rem 1.2rem; text-align: center; cursor: pointer; transition: border-color 0.2s, transform 0.2s; position: relative; overflow: hidden; }
    .fv-winkey-card:hover { border-color: #2e6de8; transform: translateY(-3px); }
    .fv-winkey-card.fv-is-highlighted { border-color: #2e6de8; background: linear-gradient(160deg, #f0f5ff 0%, #fff 100%); }
    .fv-winkey-card .fv-win-badge { position: absolute; top: 12px; right: 12px; background: #2e6de8; color: #fff; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 20px; letter-spacing: 0.5px; }
    .fv-winkey-card .fv-win-badge.hot { background: #e74c3c; }
    .fv-winkey-logo { font-size: 52px; color: #2e6de8; margin-bottom: 10px; display: block; }
    .fv-winkey-ver { font-size: 22px; font-weight: 900; color: #1a2e5a; margin-bottom: 4px; }
    .fv-winkey-edition { font-size: 12px; color: #888; margin-bottom: 14px; }
    .fv-winkey-card .price { display: block; margin-bottom: 14px; }
    .fv-winkey-price { font-size: 26px; font-weight: 900; color: #1a2e5a; }
    .fv-winkey-old { font-size: 13px; color: #bbb; text-decoration: line-through; }
    .fv-winkey-btn { display: block; background: #1a2e5a; color: #fff; padding: 10px; border-radius: 8px; font-weight: 700; font-size: 13px; text-decoration: none; transition: background 0.2s; }
    .fv-winkey-btn:hover { background: #2e6de8; }
    .fv-winkey-card.fv-is-highlighted .fv-winkey-btn { background: #2e6de8; }
    .fv-winkey-card.fv-is-highlighted .fv-winkey-btn:hover { background: #1a55c4; }
    .fv-winkey-perks { margin: 10px 0 14px; }
    .fv-winkey-perk { font-size: 11px; color: #555; margin-bottom: 4px; display: flex; align-items: center; gap: 5px; justify-content: center; }
    .fv-winkey-perk i { color: #2e6de8; font-size: 13px; }

    /* ── FEATURED BANNER GRID ── */
    .fv-banner-grid {
      display: grid;
      grid-template-columns: 62% 38%;
      grid-template-rows: 175px 175px;
      gap: 12px;
      background: #f5f6f8;
      padding: 16px 20px;
    }
    .fv-banner {
      position: relative;
      overflow: hidden;
      cursor: pointer;
      display: flex;
      align-items: flex-end;
      border-radius: 12px;
    }
    .fv-banner-main {
      grid-row: 1 / 3;
    }
    .fv-banner-bg {
      position: absolute; inset: 0;
      background-size: cover;
      background-position: center;
      transition: transform 0.45s ease;
    }
    .fv-banner:hover .fv-banner-bg { transform: scale(1.04); }

    /* image backgrounds */
    .fv-banner-bg-1 {
      background-image:
        linear-gradient(to top, rgba(8,18,45,0.88) 0%, rgba(8,18,45,0.10) 45%, transparent 100%);
    }
    .fv-banner-bg-2 {
      background-image:
        linear-gradient(to top, rgba(8,18,45,0.92) 0%, rgba(8,18,45,0.25) 55%, transparent 100%);
    }
    .fv-banner-bg-3 {
      background-image:
        linear-gradient(to top, rgba(8,18,45,0.92) 0%, rgba(8,18,45,0.25) 55%, transparent 100%);
    }

    .fv-banner-deco {
      position: absolute; inset: 0;
      display: flex; align-items: center; justify-content: center;
      opacity: 0.06;
      pointer-events: none;
    }
    .fv-banner-deco i { font-size: 120px; color: #fff; }
    .fv-banner-main .fv-banner-deco i { font-size: 200px; }

    .fv-banner-caption {
      position: relative; z-index: 2;
      padding: 0.8rem 1rem;
      width: 100%;
    }
    .fv-banner-main .fv-banner-caption { padding: 1.2rem 1.5rem; }
    .fv-banner-eyebrow {
      font-size: 9px; font-weight: 700; letter-spacing: 3px;
      text-transform: uppercase; color: #7eb8f7;
      margin-bottom: 4px; display: block;
    }
    .fv-banner-title {
      font-size: 14px; font-weight: 900; color: #fff;
      text-transform: uppercase; letter-spacing: 0.5px;
      line-height: 1.15;
    }
    .fv-banner-main .fv-banner-title { font-size: 22px; }
    .fv-banner-link {
      display: inline-block; margin-top: 8px;
      background: #2e6de8; color: #fff;
      font-size: 10px; font-weight: 700; letter-spacing: 1px;
      text-transform: uppercase; text-decoration: none;
      padding: 5px 14px; border-radius: 20px;
      transition: background 0.2s;
    }
    .fv-banner-link:hover { background: #1a55c4; }
    .fv-banner-chip {
      position: absolute; top: 12px; right: 12px; z-index: 3;
      background: #e74c3c; color: #fff;
      font-size: 10px; font-weight: 700; letter-spacing: 0.5px;
      padding: 3px 9px; border-radius: 20px;
    }
    .fv-banner-chip.blue { background: #2e6de8; }

    @media (max-width: 900px) {
      .fv-banner-grid { grid-template-rows: 150px 150px; padding: 12px 14px; gap: 10px; }
    }
    @media (max-width: 640px) {
      .fv-banner-grid { grid-template-columns: 1fr; grid-template-rows: auto; padding: 10px 12px; gap: 10px; }
      .fv-banner-main { grid-row: auto; height: 180px; }
      .fv-banner { height: 140px; border-radius: 10px; }
      .fv-banner-main .fv-banner-title { font-size: 18px; }
    }

    /* TRUST STRIP */
    .fv-trust { background: #1a2e5a; display: flex; justify-content: center; gap: 3rem; padding: 1.2rem 2rem; flex-wrap: wrap; }
    .fv-trust-item { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.85); font-size: 13px; font-weight: 500; }
    .fv-trust-item i { font-size: 22px; color: #7eb8f7; }

    /* FOOTER */
    .fv-footer { background: #fff; border-top: 1px solid #e2e5ec; padding: 3rem 2.5rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem; }
    .fv-footer-col h4 { color: #1a2e5a; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 1.1rem; }
    .fv-footer-col a { display: block; color: #666; font-size: 13px; margin-bottom: 9px; cursor: pointer; text-decoration: none; }
    .fv-footer-col a:hover { color: #2e6de8; }
    .fv-footer-email { display: flex; border: 1px solid #ccc; border-radius: 6px; overflow: hidden; margin-top: 10px; }
    .fv-footer-email input { flex: 1; padding: 9px 12px; font-size: 13px; border: none; outline: none; }
    .fv-footer-email button { background: #1a2e5a; color: #fff; border: none; padding: 0 14px; cursor: pointer; font-size: 18px; display: flex; align-items: center; }
    .fv-footer-bottom { background: #1a2e5a; color: rgba(255,255,255,0.55); font-size: 12px; padding: 1.1rem 2rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
    .fv-payments { display: flex; gap: 8px; align-items: center; }
    .fv-pay-badge { background: #fff; border-radius: 4px; padding: 3px 10px; font-size: 11px; font-weight: 700; color: #1a2e5a; }
    .fv-footer-reg { text-align: center; font-size: 11px; color: rgba(255,255,255,0.4); padding: 0.6rem 2rem 1rem; background: #1a2e5a; }

    /* ── HAMBURGER (hidden on desktop) ── */
    .fv-hamburger { display: none; background: none; border: none; color: #fff; font-size: 28px; cursor: pointer; padding: 4px; line-height: 1; }

    /* Close button — hidden everywhere except open mobile drawer */
    .fv-nav-close { display: none; }

    /* ── DROPDOWN MENUS ── */
    .fv-nav-item { position: relative; }
    .fv-dropdown {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 220px;
      background: #fff;
      border: 1px solid #e2e5ec;
      border-top: 3px solid #2e6de8;
      border-radius: 0 0 10px 10px;
      box-shadow: 0 8px 24px rgba(0,0,0,0.12);
      z-index: 999;
      padding: 0.5rem 0;
    }
    .fv-nav-item:hover .fv-dropdown, .fv-nav-item:focus-within .fv-dropdown { display: block; }
    .fv-dropdown a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 18px;
      color: #333;
      font-size: 13px;
      font-weight: 500;
      text-decoration: none;
      transition: background 0.15s, color 0.15s;
      border-bottom: 1px solid #f0f2f5;
    }
    .fv-dropdown a:last-child { border-bottom: none; }
    .fv-dropdown a:hover { background: #f0f5ff; color: #2e6de8; }
    .fv-dropdown a i { font-size: 16px; color: #2e6de8; width: 20px; flex-shrink: 0; }
    .fv-dropdown-header {
      padding: 8px 18px 4px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #aaa;
    }

    /* ── TABLET: 768px ── */
    @media (max-width: 900px) {
      .fv-section-title { font-size: 22px; }

      /* Header: logo left, icons right, search below */
      .fv-header { flex-wrap: wrap; height: auto; padding: 0.75rem 1rem; gap: 0; }
      .fv-logo { flex: 1; }
      .fv-header-icons { gap: 1rem; }
      .fv-icon-link span { display: none; }
      .fv-icon-link i { font-size: 24px; }
      .fv-search { order: 3; flex: 0 0 100%; max-width: 100%; margin: 0.6rem 0 0; }

      /* Nav: horizontal scroll */
      .fv-nav { justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
      .fv-nav::-webkit-scrollbar { display: none; }
      .fv-nav-item { font-size: 14px; padding: 12px 1rem; }

      /* Promo bar: single centered item (hide extras) */
      .fv-promo-bar { gap: 1rem; padding: 8px 1rem; flex-wrap: wrap; justify-content: center; }
      .fv-promo-link { font-size: 11px; }

      /* Slider */
      .fv-slider { height: 380px; }
      .fv-slide-title { font-size: 38px; }
      .fv-slide-sub { font-size: 15px; }
      .fv-slider-arrow { display: none; }

      /* Trust: 2-col grid */
      .fv-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; padding: 1rem; }
      .fv-trust-item { font-size: 12px; }

      /* Windows keys: 2 cols on tablet */
      .fv-winkey-grid { grid-template-columns: repeat(2, 1fr); }

      /* Category: 3 cols */
      .fv-cat-grid { grid-template-columns: repeat(3, 1fr); }

      /* Products: 2 cols */
      .fv-product-grid { grid-template-columns: repeat(2, 1fr); }

      /* Segment tiles: stack */
      .fv-person-grid { grid-template-columns: 1fr; gap: 12px; }
      .fv-person-tile { height: 160px; }

      /* Footer: 2 cols */
      .fv-footer { grid-template-columns: repeat(2, 1fr); padding: 2rem 1.5rem; gap: 1.5rem; }
      .fv-footer-bottom { flex-direction: column; text-align: center; gap: 0.75rem; padding: 1rem; }
      .fv-payments { flex-wrap: wrap; justify-content: center; }

      /* Sections */
      .fv-section { padding: 2rem 1.2rem; }
    }

    /* ── MOBILE: 480px ── */
    @media (max-width: 480px) {
      /* Header: logo + hamburger on one row, search below */
      .fv-header { padding: 0.7rem 1rem; }
      .fv-header-icons { display: none; }
      .fv-hamburger { display: flex; align-items: center; margin-left: 0.5rem; }
      .fv-search { margin-top: 0.5rem; }

      /* Mobile nav drawer */
      .fv-nav { display: none; }
      .fv-nav.is-open {
        display: flex;
        flex-direction: column;
        position: fixed; top: 0; left: 0; right: 0; bottom: 0;
        z-index: 999;
        background: #1a2e5a;
        overflow-y: auto;
        padding: 1rem 0;
        justify-content: flex-start;
      }
      .fv-nav.is-open .fv-nav-close { display: block; color: #fff; font-size: 28px; background: none; border: none; cursor: pointer; align-self: flex-end; margin: 0 1rem 0.5rem; }
      .fv-nav.is-open .fv-nav-item {
        font-size: 18px;
        padding: 1rem 1.5rem;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        width: 100%;
        position: static;
      }
      .fv-nav.is-open .fv-nav-item:first-child { border-left: none; }
      /* Hide dropdowns inside mobile drawer */
      .fv-nav.is-open .fv-dropdown { display: none !important; }

      /* Promo bar: stack vertically */
      .fv-promo-bar { flex-direction: column; align-items: center; gap: 6px; padding: 8px 1rem; }

      /* Slider */
      .fv-slider { height: 320px; }
      .fv-slide-title { font-size: 28px; letter-spacing: -0.5px; }
      .fv-slide-sub { font-size: 13px; line-height: 1.5; }
      .fv-slide-tag { font-size: 10px; letter-spacing: 2px; padding: 5px 14px; margin-bottom: 1rem; }
      .fv-slide-btn, .fv-slide-btn-ghost { font-size: 12px; padding: 11px 22px; }
      .fv-slide-actions { gap: 0.6rem; }
      .fv-slide-content { padding: 0 1rem; }

      /* Trust: single column */
      .fv-trust { grid-template-columns: 1fr; gap: 0.6rem; }

      /* Windows keys: 1 col on mobile */
      .fv-winkey-grid { grid-template-columns: 1fr 1fr; }

      /* Category: 2 cols */
      .fv-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
      .fv-cat-tile { padding: 1.2rem 0.8rem; }
      .fv-cat-tile i { font-size: 28px; }
      .fv-cat-tile p { font-size: 12px; }

      /* Products: 2 cols */
      .fv-product-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
      .fv-product-img { height: 110px; }
      .fv-product-img i { font-size: 44px; }
      .fv-product-info { padding: 10px; }
      .fv-product-name { font-size: 12px; }
      .fv-product-price { font-size: 14px; }
      .fv-product-old { display: block; margin-left: 0; }

      /* Segment tiles */
      .fv-person-grid { grid-template-columns: 1fr; }
      .fv-person-tile { height: 130px; }
      .fv-person-icon i { font-size: 44px; }
      .fv-person-label { font-size: 11px; padding: 7px 16px; }

      /* Footer: single column */
      .fv-footer { grid-template-columns: 1fr; padding: 1.5rem 1rem; gap: 1.2rem; }
      .fv-footer-reg { font-size: 10px; padding: 0.5rem 1rem 1rem; }

      /* Section padding */
      .fv-section { padding: 1.5rem 1rem; }
      .fv-section-title { font-size: 19px; margin-bottom: 1.6rem; padding-bottom: 12px; }
    }


    /* ═══════════════════════════════════════════════════════════════
       FUSIONVARSITY FINAL EXPERIENCE LAYER
       Functional navigation, upbeat discovery zone, drawers & modals
       ═══════════════════════════════════════════════════════════════ */
    :root {
      --fv-navy: #071a3a;
      --fv-blue: #2e6de8;
      --fv-sky: #72c9ff;
      --fv-ink: #101828;
      --fv-lime: #c9ff52;
      --fv-coral: #ff6b5f;
      --fv-surface: #ffffff;
      --fv-soft: #f3f6fb;
      --fv-shadow: 0 18px 60px rgba(7, 26, 58, .15);
    }

    body { color: var(--fv-ink); overflow-x: hidden; }
    body.fv-lock { overflow: hidden; }
    [hidden] { display: none !important; }
    .fv-header { position: relative; z-index: 1001; }
    .fv-nav { position: relative; z-index: 1000; }
    .fv-logo { text-decoration: none; cursor: pointer; }
    .fv-logo-main { line-height: 1; }
    .fv-search { position: relative; box-shadow: 0 8px 30px rgba(2, 12, 31, .14); }
    .fv-search input { min-height: 44px; }
    .fv-search button:hover { background: #194fbf; }
    .fv-icon-link { position: relative; border: 0; background: transparent; }
    .fv-icon-badge {
      position: absolute; top: -7px; right: 2px; min-width: 18px; height: 18px;
      display: grid; place-items: center; padding: 0 5px; border-radius: 20px;
      background: var(--fv-coral); color: white; border: 2px solid #1a2e5a;
      font-size: 9px; font-weight: 800; line-height: 1;
    }

    .fv-nav-item { user-select: none; }
    .fv-nav-toggle {
      display: flex; align-items: center; gap: 6px; width: 100%;
      border: 0; background: transparent; color: inherit; font: inherit;
      font-weight: inherit; cursor: pointer; padding: 0; white-space: nowrap;
    }
    .fv-nav-toggle .ti-chevron-down { transition: transform .2s ease; }
    .fv-nav-item.is-open .fv-nav-toggle .ti-chevron-down { transform: rotate(180deg); }
    .fv-nav-item.is-open > .fv-dropdown { display: block; }
    .fv-dropdown a { cursor: pointer; }
    .fv-dropdown a:focus-visible, .fv-nav-toggle:focus-visible, .fv-icon-link:focus-visible,
    .fv-slide-btn:focus-visible, .fv-slide-btn-ghost:focus-visible {
      outline: 3px solid var(--fv-lime); outline-offset: 3px;
    }

    /* New post-hero discovery experience */
    .fv-discovery {
      position: relative; overflow: hidden; padding: 76px clamp(18px, 4vw, 64px) 66px;
      background:
        radial-gradient(circle at 4% 12%, rgba(114,201,255,.23), transparent 29%),
        radial-gradient(circle at 93% 10%, rgba(201,255,82,.15), transparent 25%),
        linear-gradient(145deg, #06142f 0%, #0c2758 52%, #102f66 100%);
      color: #fff;
    }
    .fv-discovery::before {
      content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .3;
      background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
      background-size: 38px 38px;
      -webkit-mask-image: linear-gradient(to bottom, #000, transparent 88%);
      mask-image: linear-gradient(to bottom, #000, transparent 88%);
    }
    .fv-discovery-head {
      position: relative; z-index: 2; max-width: 1280px; margin: 0 auto 32px;
      display: flex; align-items: end; justify-content: space-between; gap: 30px;
    }
    .fv-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 13px; color: var(--fv-lime); font-size: 11px; font-weight: 850; letter-spacing: 2.4px; text-transform: uppercase; }
    .fv-kicker::before { content: ''; width: 28px; height: 2px; background: currentColor; }
    .fv-discovery h2 { max-width: 780px; font-size: clamp(37px, 5vw, 70px); line-height: .96; letter-spacing: -3px; font-weight: 900; }
    .fv-discovery h2 span { color: var(--fv-sky); }
    .fv-discovery-intro { max-width: 420px; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.7; }
    .fv-text-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 15px; color: white; text-decoration: none; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
    .fv-text-link i { transition: transform .2s ease; }
    .fv-text-link:hover i { transform: translateX(5px); }

    .fv-discovery-grid {
      position: relative; z-index: 2; max-width: 1280px; margin: 0 auto;
      display: grid; grid-template-columns: 1.25fr .75fr .75fr; grid-template-rows: 260px 210px; gap: 16px;
    }
    .fv-discovery-card {
      position: relative; overflow: hidden; border-radius: 24px; padding: 25px;
      border: 1px solid rgba(255,255,255,.16); cursor: pointer; isolation: isolate;
      transition: transform .4s cubic-bezier(.16,1,.3,1), border-color .3s, box-shadow .4s;
    }
    .fv-discovery-card:hover { transform: translateY(-7px); border-color: rgba(255,255,255,.38); box-shadow: 0 30px 65px rgba(0,0,0,.26); }
    .fv-discovery-card::after {
      content: ''; position: absolute; inset: -40%; z-index: -1; opacity: 0;
      background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.18) 48%, transparent 60%);
      transform: translateX(-35%) rotate(10deg); transition: opacity .2s, transform .7s ease;
    }
    .fv-discovery-card:hover::after { opacity: 1; transform: translateX(35%) rotate(10deg); }
    .fv-discovery-main { grid-row: 1 / 3; background: linear-gradient(145deg, #2563eb, #143d9a 70%); }
    .fv-discovery-office { background: linear-gradient(145deg, #f5f2ea, #dce8ff); color: #102348; }
    .fv-discovery-laptop { background: linear-gradient(145deg, #d7ff72, #98d72b); color: #102313; }
    .fv-discovery-deal { grid-column: 2 / 4; background: linear-gradient(105deg, #ff6b5f, #f93b75 52%, #9d34dc); }
    .fv-card-tag { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 99px; background: rgba(255,255,255,.17); font-size: 10px; font-weight: 850; letter-spacing: 1.2px; text-transform: uppercase; }
    .fv-discovery-office .fv-card-tag, .fv-discovery-laptop .fv-card-tag { background: rgba(10,35,74,.09); }
    .fv-card-copy { position: absolute; left: 25px; right: 25px; bottom: 24px; z-index: 2; }
    .fv-card-copy h3 { font-size: clamp(24px, 3vw, 42px); line-height: 1; letter-spacing: -1.4px; margin-bottom: 9px; }
    .fv-discovery-office .fv-card-copy h3, .fv-discovery-laptop .fv-card-copy h3 { font-size: 25px; }
    .fv-card-copy p { max-width: 460px; font-size: 13px; line-height: 1.55; opacity: .78; }
    .fv-card-arrow { position: absolute; top: 22px; right: 22px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); font-size: 20px; transition: transform .3s, background .3s; }
    .fv-discovery-office .fv-card-arrow, .fv-discovery-laptop .fv-card-arrow { background: rgba(10,35,74,.09); }
    .fv-discovery-card:hover .fv-card-arrow { transform: rotate(-35deg); background: white; color: #132a58; }
    .fv-card-orbit { position: absolute; width: 300px; height: 300px; right: -74px; top: 35px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; animation: fvFloat 5s ease-in-out infinite; }
    .fv-card-orbit::before, .fv-card-orbit::after { content: ''; position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; inset: 34px; }
    .fv-card-orbit::after { inset: 76px; }
    .fv-card-orbit i { position: absolute; inset: 0; display: grid; place-items: center; font-size: 110px; color: rgba(255,255,255,.84); filter: drop-shadow(0 20px 20px rgba(0,0,0,.18)); }
    .fv-card-giant-icon { position: absolute; right: 20px; top: 51px; font-size: 100px; opacity: .25; transform: rotate(-8deg); }
    .fv-discovery-deal .fv-card-copy { bottom: 26px; }
    .fv-discovery-deal .fv-card-copy h3 { font-size: clamp(27px, 3.4vw, 46px); }
    .fv-deal-stamp { position: absolute; right: 80px; top: 24px; width: 105px; height: 105px; display: grid; place-items: center; border-radius: 50%; border: 1px dashed rgba(255,255,255,.7); text-align: center; font-size: 11px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; animation: fvSpin 18s linear infinite; }
    @keyframes fvFloat { 50% { transform: translateY(-12px) rotate(4deg); } }
    @keyframes fvSpin { to { transform: rotate(360deg); } }

    .fv-quick-strip { position: relative; z-index: 2; max-width: 1280px; margin: 22px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.06); backdrop-filter: blur(12px); }
    .fv-quick-item { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 15px 18px; border-right: 1px solid rgba(255,255,255,.12); }
    .fv-quick-item:last-child { border-right: 0; }
    .fv-quick-item i { color: var(--fv-lime); font-size: 23px; }
    .fv-quick-item strong { display: block; font-size: 12px; margin-bottom: 2px; }
    .fv-quick-item span { color: rgba(255,255,255,.58); font-size: 10px; }

    /* Results/filter feedback */
    .fv-filter-bar { display: none; align-items: center; justify-content: space-between; gap: 16px; margin: 0 auto 18px; max-width: 1280px; padding: 12px 14px 12px 18px; border-radius: 12px; background: #eaf1ff; color: #183366; font-size: 13px; }
    .fv-filter-bar.is-visible { display: flex; }
    .fv-filter-clear { border: 0; border-radius: 9px; background: #193d82; color: white; padding: 8px 13px; cursor: pointer; font-weight: 700; }
    .is-filter-hidden { display: none !important; }
    .fv-empty-results { text-align: center; padding: 36px; border: 1px dashed #cad3e2; border-radius: 14px; color: #6b7485; }

    /* Drawer, modal and toast */
    .fv-scrim { position: fixed; inset: 0; z-index: 1998; background: rgba(3,12,29,.55); backdrop-filter: blur(4px); opacity: 0; pointer-events: none; transition: opacity .25s; }
    .fv-scrim.is-open { opacity: 1; pointer-events: auto; }
    .fv-drawer { position: fixed; z-index: 1999; top: 0; right: 0; width: min(430px, 100%); height: 100dvh; background: white; box-shadow: -20px 0 70px rgba(0,0,0,.22); transform: translateX(105%); transition: transform .35s cubic-bezier(.16,1,.3,1); display: flex; flex-direction: column; }
    .fv-drawer.is-open { transform: translateX(0); }
    .fv-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 22px; border-bottom: 1px solid #e8ecf2; }
    .fv-drawer-head h3 { color: #102853; font-size: 22px; }
    .fv-close-btn { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #edf2fa; color: #132d5d; cursor: pointer; font-size: 20px; }
    .fv-drawer-body { flex: 1; overflow: auto; padding: 18px 22px; }
    .fv-drawer-foot { padding: 20px 22px; border-top: 1px solid #e8ecf2; background: #fafbfd; }
    .fv-cart-row { display: grid; grid-template-columns: 52px 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid #edf0f4; }
    .fv-cart-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 12px; background: #edf3ff; color: #2863d3; font-size: 24px; }
    .fv-cart-row h4 { font-size: 13px; color: #1b2f55; margin-bottom: 4px; }
    .fv-cart-row small { color: #7d8798; }
    .fv-cart-remove { border: 0; background: transparent; color: #d14444; cursor: pointer; font-size: 18px; }
    .fv-cart-total { display: flex; justify-content: space-between; font-weight: 850; color: #142c58; margin-bottom: 15px; }
    .fv-primary-wide { width: 100%; border: 0; border-radius: 10px; background: linear-gradient(90deg, #173d86, #2e6de8); color: white; padding: 13px; font-weight: 800; cursor: pointer; }
    .fv-empty-state { min-height: 280px; display: grid; place-items: center; text-align: center; color: #7c8798; }
    .fv-empty-state i { display: block; margin-bottom: 12px; color: #bdd0ee; font-size: 58px; }

    .fv-modal { position: fixed; inset: 0; z-index: 2100; display: grid; place-items: center; padding: 18px; opacity: 0; pointer-events: none; transition: opacity .22s; }
    .fv-modal.is-open { opacity: 1; pointer-events: auto; }
    .fv-modal::before { content: ''; position: absolute; inset: 0; background: rgba(3,12,29,.62); backdrop-filter: blur(6px); }
    .fv-modal-card { position: relative; width: min(640px, 100%); max-height: min(740px, 92dvh); overflow: auto; background: white; border-radius: 22px; box-shadow: var(--fv-shadow); transform: translateY(18px) scale(.98); transition: transform .3s cubic-bezier(.16,1,.3,1); }
    .fv-modal.is-open .fv-modal-card { transform: translateY(0) scale(1); }
    .fv-modal-top { padding: 20px 22px 0; display: flex; justify-content: flex-end; }
    .fv-modal-content { padding: 6px 30px 30px; }
    .fv-modal-visual { min-height: 150px; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(145deg, #eaf1ff, #f8fbff); color: #2863d3; font-size: 78px; margin-bottom: 22px; }
    .fv-modal-content h2 { color: #102853; font-size: clamp(26px, 4vw, 38px); line-height: 1.05; letter-spacing: -1px; margin-bottom: 10px; }
    .fv-modal-content p { color: #667085; line-height: 1.7; font-size: 14px; }
    .fv-modal-price { color: #173d86; font-weight: 900; font-size: 26px; margin: 18px 0; }
    .fv-modal-actions { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
    .fv-modal-actions button { border: 0; border-radius: 10px; padding: 12px 18px; cursor: pointer; font-weight: 800; }
    .fv-modal-actions .primary { background: #173d86; color: white; }
    .fv-modal-actions .secondary { background: #eaf1ff; color: #173d86; }
    .fv-login-form { display: grid; gap: 12px; margin-top: 20px; }
    .fv-login-form input { width: 100%; border: 1px solid #d3dae6; border-radius: 10px; padding: 13px 14px; outline: none; }
    .fv-login-form input:focus { border-color: #2e6de8; box-shadow: 0 0 0 3px rgba(46,109,232,.12); }

    .fv-toast { position: fixed; left: 50%; bottom: 25px; z-index: 3000; transform: translate(-50%, 20px); min-width: min(360px, calc(100% - 30px)); padding: 13px 17px; border-radius: 12px; background: #081b3b; color: white; text-align: center; box-shadow: 0 18px 55px rgba(0,0,0,.25); opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; font-size: 13px; }
    .fv-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

    .fv-product-card, .fv-winkey-card, .fv-cat-tile, .fv-person-tile { scroll-margin-top: 30px; }
    .fv-card-wish { position: absolute; top: 10px; right: 10px; z-index: 6; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #264c91; cursor: pointer; box-shadow: 0 6px 16px rgba(20,42,82,.12); }
    .fv-card-wish.is-active { color: #e54958; background: #fff1f2; }

    @media (max-width: 900px) {
      .fv-discovery { padding-top: 54px; }
      .fv-discovery-head { align-items: start; flex-direction: column; }
      .fv-discovery h2 { letter-spacing: -2px; }
      .fv-discovery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 330px 210px 210px; }
      .fv-discovery-main { grid-column: 1 / 3; grid-row: auto; }
      .fv-discovery-deal { grid-column: 1 / 3; }
      .fv-quick-strip { grid-template-columns: 1fr 1fr; }
      .fv-quick-item:nth-child(2) { border-right: 0; }
      .fv-quick-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
    }

    @media (max-width: 480px) {
      .fv-nav.is-open { z-index: 2200; }
      .fv-nav.is-open .fv-nav-item { display: block; padding: 0; }
      .fv-nav.is-open .fv-nav-toggle { padding: 1rem 1.5rem; justify-content: space-between; }
      .fv-nav.is-open .fv-dropdown { position: static; min-width: 0; width: 100%; border: 0; border-radius: 0; box-shadow: none; padding: 0; background: rgba(255,255,255,.06); }
      .fv-nav.is-open .fv-nav-item.is-open > .fv-dropdown { display: block !important; }
      .fv-nav.is-open .fv-dropdown a { color: rgba(255,255,255,.82); border-bottom-color: rgba(255,255,255,.07); padding: 12px 1.8rem 12px 2.2rem; }
      .fv-nav.is-open .fv-dropdown-header { color: #83b7ff; padding-left: 2.2rem; }
      .fv-discovery { padding: 48px 14px 42px; }
      .fv-discovery h2 { font-size: 42px; letter-spacing: -1.8px; }
      .fv-discovery-grid { display: flex; flex-direction: column; }
      .fv-discovery-card { min-height: 230px; border-radius: 18px; }
      .fv-discovery-main { min-height: 330px; }
      .fv-discovery-deal { min-height: 250px; }
      .fv-deal-stamp { right: 30px; top: 36px; width: 82px; height: 82px; font-size: 9px; }
      .fv-quick-strip { grid-template-columns: 1fr; }
      .fv-quick-item, .fv-quick-item:nth-child(2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
      .fv-quick-item:last-child { border-bottom: 0; }
      .fv-modal-content { padding: 4px 20px 24px; }
      .fv-modal-visual { min-height: 125px; }
    }

  

    /* ═══════════════════════════════════════════════════════════════
       IMMERSIVE HERO + POWER MOVE CLOSER
       ═══════════════════════════════════════════════════════════════ */
    .fv-slider-v2 {
      height: 620px; min-height: 620px; background: #06142f; isolation: isolate;
      border-bottom: 1px solid rgba(255,255,255,.1);
    }
    .fv-slider-v2 .fv-slides { position: relative; z-index: 2; }
    .fv-hero-grid {
      position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .32;
      background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
      background-size: 56px 56px;
      -webkit-mask-image: radial-gradient(circle at 50% 45%, #000 8%, transparent 76%);
      mask-image: radial-gradient(circle at 50% 45%, #000 8%, transparent 76%);
    }
    .fv-slider-v2 .fv-slide { align-items: stretch; justify-content: stretch; }
    .fv-slider-v2 .fv-slide-1 { background: radial-gradient(circle at 86% 35%, rgba(68,143,255,.32), transparent 28%), linear-gradient(112deg, #06132d 0%, #0b2454 55%, #173d8d 100%); }
    .fv-slider-v2 .fv-slide-2 { background: radial-gradient(circle at 82% 32%, rgba(0,212,255,.24), transparent 29%), linear-gradient(112deg, #04172c 0%, #06375a 56%, #075d83 100%); }
    .fv-slider-v2 .fv-slide-3 { background: radial-gradient(circle at 83% 34%, rgba(154,112,255,.27), transparent 31%), linear-gradient(112deg, #070d20 0%, #171744 54%, #34246c 100%); }
    .fv-slider-v2 .fv-slide-4 { background: radial-gradient(circle at 82% 31%, rgba(255,205,92,.28), transparent 28%), linear-gradient(112deg, #210827 0%, #68153f 54%, #a83c28 100%); }
    .fv-hero-aurora { position: absolute; inset: -25%; pointer-events: none; opacity: .75; filter: blur(40px); animation: fvAurora 10s ease-in-out infinite alternate; }
    .fv-slide-1 .fv-hero-aurora { background: conic-gradient(from 220deg at 72% 45%, transparent, rgba(54,119,255,.35), rgba(120,219,255,.16), transparent 45%); }
    .fv-slide-2 .fv-hero-aurora { background: conic-gradient(from 220deg at 72% 45%, transparent, rgba(0,191,255,.32), rgba(90,255,218,.12), transparent 45%); }
    .fv-slide-3 .fv-hero-aurora { background: conic-gradient(from 220deg at 72% 45%, transparent, rgba(127,87,255,.34), rgba(255,118,224,.11), transparent 45%); }
    .fv-slide-4 .fv-hero-aurora { background: conic-gradient(from 220deg at 72% 45%, transparent, rgba(255,66,129,.33), rgba(255,196,75,.18), transparent 45%); }
    @keyframes fvAurora { to { transform: translate3d(-2%,3%,0) rotate(7deg) scale(1.08); } }

    .fv-slide-shell {
      position: relative; z-index: 2; width: min(1380px, 100%); height: 100%; margin: 0 auto;
      padding: 66px clamp(68px, 7vw, 112px) 96px; display: grid;
      grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr); align-items: center; gap: clamp(24px, 5vw, 78px);
    }
    .fv-slider-v2 .fv-slide-content {
      max-width: 720px; padding: 0; text-align: left; opacity: 0; transform: translateY(32px);
      transition: opacity .65s cubic-bezier(.16,1,.3,1) .12s, transform .65s cubic-bezier(.16,1,.3,1) .12s;
    }
    .fv-slider-v2 .fv-slide.is-active .fv-slide-content { opacity: 1; transform: translateY(0); }
    .fv-slide-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
    .fv-slide-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.24); color: rgba(255,255,255,.72); font-size: 11px; font-weight: 900; letter-spacing: 1px; }
    .fv-slider-v2 .fv-slide-tag { margin: 0; padding: 8px 14px; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.2); backdrop-filter: blur(12px); letter-spacing: 1.8px; }
    .fv-slider-v2 .fv-slide-title { margin: 0 0 22px; font-size: clamp(54px, 6.1vw, 92px); line-height: .91; letter-spacing: -4.5px; text-align: left; text-transform: none; }
    .fv-slider-v2 .fv-slide-title span { color: #fff; }
    .fv-slider-v2 .fv-slide-title em { display: inline-block; font-style: normal; }
    .fv-slider-v2 .fv-slide-1 .fv-slide-title em { color: #78c6ff; }
    .fv-slider-v2 .fv-slide-2 .fv-slide-title em { color: #68f0df; }
    .fv-slider-v2 .fv-slide-3 .fv-slide-title em { color: #c0a6ff; }
    .fv-slider-v2 .fv-slide-4 .fv-slide-title em { color: #ffd35f; }
    .fv-slider-v2 .fv-slide-sub { max-width: 660px; margin: 0 0 28px; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.65; }
    .fv-slider-v2 .fv-slide-actions { justify-content: flex-start; gap: 12px; }
    .fv-slider-v2 .fv-slide-btn, .fv-slider-v2 .fv-slide-btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border-radius: 12px; }
    .fv-slider-v2 .fv-slide-btn { background: #fff; color: #0a1a39; box-shadow: 0 16px 40px rgba(0,0,0,.22); }
    .fv-slider-v2 .fv-slide-btn:hover { background: #d9f1ff; transform: translateY(-2px); }
    .fv-slider-v2 .fv-slide-btn i { font-size: 17px; transition: transform .2s; }
    .fv-slider-v2 .fv-slide-btn:hover i { transform: translate(3px,-3px); }
    .fv-slider-v2 .fv-slide-btn-ghost { border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
    .fv-slider-v2 .fv-slide-btn-ghost:hover { background: rgba(255,255,255,.13); transform: translateY(-2px); }
    .fv-slide-proof { display: flex; align-items: center; gap: 22px; margin-top: 22px; color: rgba(255,255,255,.63); font-size: 11px; font-weight: 700; letter-spacing: .3px; }
    .fv-slide-proof span { display: inline-flex; align-items: center; gap: 7px; }
    .fv-slide-proof i { color: #c9ff52; font-size: 16px; }

    .fv-slide-stage { position: relative; height: 440px; perspective: 1200px; opacity: 0; transform: translateX(38px) scale(.95); transition: opacity .8s ease .2s, transform .8s cubic-bezier(.16,1,.3,1) .2s; }
    .fv-slide.is-active .fv-slide-stage { opacity: 1; transform: translateX(0) scale(1); }
    .fv-stage-halo { position: absolute; width: 370px; height: 370px; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.17), rgba(255,255,255,.035) 44%, transparent 70%); border: 1px solid rgba(255,255,255,.13); box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 82px rgba(255,255,255,.018); animation: fvHaloPulse 4.8s ease-in-out infinite; }
    @keyframes fvHaloPulse { 50% { transform: translate(-50%,-50%) scale(1.045); opacity: .78; } }
    .fv-license-card {
      position: absolute; z-index: 3; width: 330px; min-height: 380px; left: 50%; top: 50%; transform: translate(-50%,-50%) rotateY(-8deg) rotateX(4deg);
      padding: 25px; border-radius: 28px; color: #fff; overflow: hidden; border: 1px solid rgba(255,255,255,.24);
      box-shadow: 0 45px 85px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.25); backdrop-filter: blur(16px);
      animation: fvCardFloat 5.5s ease-in-out infinite;
    }
    .fv-license-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,.16), transparent 33%, transparent 70%, rgba(255,255,255,.08)); pointer-events: none; }
    .fv-license-electric { background: linear-gradient(145deg, rgba(36,108,244,.94), rgba(10,42,118,.9)); }
    .fv-license-cobalt { background: linear-gradient(145deg, rgba(0,137,171,.94), rgba(3,50,86,.91)); }
    .fv-license-midnight { background: linear-gradient(145deg, rgba(93,61,181,.94), rgba(25,19,74,.92)); }
    .fv-license-flare { background: linear-gradient(145deg, rgba(245,67,112,.95), rgba(126,39,41,.92)); }
    @keyframes fvCardFloat { 50% { transform: translate(-50%,-53%) rotateY(2deg) rotateX(-1deg); } }
    .fv-license-top { position: relative; display: flex; align-items: center; justify-content: space-between; font-size: 9px; font-weight: 900; letter-spacing: 2px; opacity: .82; }
    .fv-license-top i { font-size: 21px; }
    .fv-license-icon { position: relative; height: 130px; display: grid; place-items: center; margin: 18px 0 3px; }
    .fv-license-icon i { font-size: 102px; filter: drop-shadow(0 18px 22px rgba(0,0,0,.24)); }
    .fv-big-version { font-size: 112px; font-weight: 950; letter-spacing: -9px; line-height: 1; text-shadow: 0 18px 28px rgba(0,0,0,.22); }
    .fv-legacy-stack { position: relative; height: 130px; display: flex; align-items: center; justify-content: center; gap: 4px; margin: 18px 0 3px; }
    .fv-legacy-stack span { font-size: 102px; font-weight: 950; line-height: 1; letter-spacing: -8px; }
    .fv-legacy-stack span:last-child { color: rgba(255,255,255,.45); transform: translateY(8px); }
    .fv-deal-price { position: relative; height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 18px 0 3px; }
    .fv-deal-price small { font-size: 10px; letter-spacing: 3px; font-weight: 900; }
    .fv-deal-price strong { font-size: 70px; line-height: .95; letter-spacing: -5px; }
    .fv-license-label { position: relative; display: block; margin-bottom: 5px; font-size: 11px; font-weight: 850; letter-spacing: 1.4px; text-transform: uppercase; opacity: .74; }
    .fv-license-card > strong { position: relative; display: block; margin-bottom: 4px; font-size: 28px; letter-spacing: -1px; }
    .fv-license-card > small { position: relative; display: block; color: rgba(255,255,255,.68); font-size: 11px; }
    .fv-license-key { position: relative; margin-top: 20px; padding: 12px 13px; border-radius: 11px; background: rgba(0,0,0,.18); font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 1.2px; color: rgba(255,255,255,.74); }
    .fv-license-key span { color: #fff; }
    .fv-stage-float { position: absolute; z-index: 5; display: flex; align-items: center; gap: 10px; padding: 12px 15px; border-radius: 15px; background: rgba(8,20,47,.72); border: 1px solid rgba(255,255,255,.17); color: white; box-shadow: 0 18px 45px rgba(0,0,0,.25); backdrop-filter: blur(16px); font-size: 10px; line-height: 1.35; animation: fvBadgeFloat 4.6s ease-in-out infinite; }
    .fv-stage-float i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.12); color: #c9ff52; font-size: 18px; }
    .fv-stage-float b { font-size: 11px; }
    .fv-stage-float-a { left: -3px; top: 63px; }
    .fv-stage-float-b { right: -5px; bottom: 54px; animation-delay: -2.2s; }
    @keyframes fvBadgeFloat { 50% { transform: translateY(-9px); } }

    .fv-slider-v2 .fv-slider-arrow { top: 48%; width: 48px; height: 48px; border-radius: 14px; background: rgba(4,15,37,.28); backdrop-filter: blur(12px); }
    .fv-slider-v2 .fv-slider-arrow.prev { left: 18px; }
    .fv-slider-v2 .fv-slider-arrow.next { right: 18px; }
    .fv-slider-v2 .fv-slider-arrow:hover { background: #fff; color: #0a1a39; transform: translateY(-50%) scale(1.06); }
    .fv-slider-footer { position: absolute; z-index: 12; left: clamp(68px, 7vw, 112px); right: clamp(68px, 7vw, 112px); bottom: 23px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 24px; color: rgba(255,255,255,.65); }
    .fv-slider-status { display: flex; align-items: baseline; gap: 5px; }
    .fv-slider-status strong { color: #fff; font-size: 20px; }
    .fv-slider-status span { font-size: 10px; letter-spacing: 1px; }
    .fv-slider-v2 .fv-slider-dots { position: static; transform: none; display: flex; align-items: center; gap: 6px; }
    .fv-slider-v2 .fv-dot { width: auto; height: 34px; padding: 0 13px; border-radius: 9px; background: rgba(255,255,255,.07); border: 1px solid transparent; color: rgba(255,255,255,.52); }
    .fv-slider-v2 .fv-dot span { display: block; font-size: 9px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
    .fv-slider-v2 .fv-dot.active { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.24); color: #fff; transform: none; }
    .fv-slider-hint { display: inline-flex; align-items: center; gap: 7px; font-size: 9px; font-weight: 750; letter-spacing: 1px; text-transform: uppercase; }
    .fv-slide-progress { position: absolute; z-index: 11; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.07); }
    .fv-slide-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #fff, #c9ff52); }
    .fv-slide.is-active .fv-slide-progress span { animation: fvSlideProgress 5.5s linear forwards; }
    .fv-slider-v2:hover .fv-slide.is-active .fv-slide-progress span { animation-play-state: paused; }
    @keyframes fvSlideProgress { to { width: 100%; } }

    /* Closing conversion experience */
    .fv-power-move { position: relative; overflow: hidden; padding: 94px clamp(18px, 4vw, 64px) 54px; background: #071226; color: #fff; }
    .fv-power-move::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 7% 10%, rgba(64,132,255,.24), transparent 27%), radial-gradient(circle at 92% 22%, rgba(201,255,82,.11), transparent 25%); }
    .fv-power-marquee { position: absolute; top: 10px; left: -20px; white-space: nowrap; font-size: clamp(72px, 11vw, 170px); line-height: 1; font-weight: 950; letter-spacing: -8px; color: rgba(255,255,255,.028); pointer-events: none; }
    .fv-power-head { position: relative; z-index: 2; max-width: 1280px; margin: 0 auto 35px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 50px; }
    .fv-power-head h2 { font-size: clamp(48px, 7vw, 94px); line-height: .9; letter-spacing: -5px; }
    .fv-power-head h2 em { color: #c9ff52; font-style: normal; }
    .fv-power-intro > p { max-width: 470px; margin-bottom: 20px; color: rgba(255,255,255,.65); font-size: 14px; line-height: 1.7; }
    .fv-power-guide { display: flex; align-items: center; gap: 12px; max-width: 390px; padding: 13px 15px; border-radius: 15px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); color: white; text-decoration: none; transition: background .2s, transform .2s; }
    .fv-power-guide:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }
    .fv-power-guide > i:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #2e6de8; font-size: 19px; }
    .fv-power-guide span { flex: 1; font-size: 12px; font-weight: 800; }
    .fv-power-guide small { display: block; margin-bottom: 2px; color: rgba(255,255,255,.54); font-size: 9px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
    .fv-power-grid { position: relative; z-index: 2; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .fv-power-card { position: relative; min-height: 370px; padding: 27px; border-radius: 25px; overflow: hidden; cursor: pointer; color: #fff; border: 1px solid rgba(255,255,255,.15); isolation: isolate; transition: transform .38s cubic-bezier(.16,1,.3,1), box-shadow .38s; }
    .fv-power-card:hover { transform: translateY(-8px); box-shadow: 0 30px 70px rgba(0,0,0,.3); }
    .fv-power-card::before { content: ''; position: absolute; inset: 0; z-index: -1; transition: transform .55s cubic-bezier(.16,1,.3,1); }
    .fv-power-card:hover::before { transform: scale(1.06) rotate(-1deg); }
    .fv-power-study::before { background: linear-gradient(145deg, #2e6de8, #133c9d); }
    .fv-power-work::before { background: linear-gradient(145deg, #ff6464, #b72b67); }
    .fv-power-home { color: #102313; }
    .fv-power-home::before { background: linear-gradient(145deg, #d4ff67, #7fc92d); }
    .fv-power-card::after { content: ''; position: absolute; width: 260px; height: 260px; right: -94px; top: -88px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); box-shadow: 0 0 0 34px rgba(255,255,255,.05), 0 0 0 70px rgba(255,255,255,.035); }
    .fv-power-home::after { border-color: rgba(16,35,19,.18); box-shadow: 0 0 0 34px rgba(16,35,19,.04), 0 0 0 70px rgba(16,35,19,.025); }
    .fv-power-number { position: absolute; top: 25px; left: 27px; font-size: 10px; font-weight: 900; letter-spacing: 1px; opacity: .68; }
    .fv-power-icon { position: absolute; top: 25px; right: 28px; width: 62px; height: 62px; display: grid; place-items: center; border-radius: 19px; background: rgba(255,255,255,.15); backdrop-filter: blur(10px); font-size: 30px; }
    .fv-power-home .fv-power-icon { background: rgba(16,35,19,.1); }
    .fv-power-copy { position: absolute; left: 27px; right: 27px; bottom: 28px; }
    .fv-power-copy > span { display: block; margin-bottom: 11px; font-size: 9px; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; opacity: .72; }
    .fv-power-copy h3 { max-width: 330px; margin-bottom: 12px; font-size: clamp(28px, 3vw, 42px); line-height: .98; letter-spacing: -1.5px; }
    .fv-power-copy p { max-width: 340px; margin-bottom: 20px; font-size: 12px; line-height: 1.55; opacity: .72; }
    .fv-power-copy b { display: inline-flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: .8px; text-transform: uppercase; }
    .fv-power-copy b i { transition: transform .2s; }
    .fv-power-card:hover .fv-power-copy b i { transform: translateX(6px); }
    .fv-power-foot { position: relative; z-index: 2; max-width: 1280px; margin: 18px auto 0; display: flex; align-items: center; gap: 24px; min-height: 66px; padding: 12px 16px 12px 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.055); color: rgba(255,255,255,.66); }
    .fv-power-foot span { display: inline-flex; align-items: center; gap: 7px; font-size: 10px; font-weight: 750; }
    .fv-power-foot span i { color: #c9ff52; font-size: 16px; }
    .fv-power-foot a { margin-left: auto; display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border-radius: 11px; background: #fff; color: #0a1a39; text-decoration: none; font-size: 10px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; }

    @media (max-width: 1050px) {
      .fv-slider-v2 { height: 590px; min-height: 590px; }
      .fv-slide-shell { grid-template-columns: minmax(0,1fr) 340px; padding-left: 58px; padding-right: 58px; gap: 18px; }
      .fv-slider-v2 .fv-slide-title { font-size: clamp(48px, 7vw, 74px); }
      .fv-slide-stage { height: 390px; transform-origin: center; }
      .fv-license-card { width: 285px; min-height: 340px; padding: 22px; }
      .fv-stage-float-a { left: -18px; }
      .fv-stage-float-b { right: -14px; }
      .fv-slider-footer { left: 58px; right: 58px; }
      .fv-power-card { min-height: 340px; }
    }
    @media (max-width: 800px) {
      .fv-slider-v2 { height: 690px; min-height: 690px; }
      .fv-slide-shell { grid-template-columns: 1fr; grid-template-rows: auto 215px; align-content: center; gap: 4px; padding: 46px 24px 78px; }
      .fv-slider-v2 .fv-slide-content { max-width: 660px; margin: 0 auto; text-align: center; }
      .fv-slide-meta, .fv-slider-v2 .fv-slide-actions, .fv-slide-proof { justify-content: center; }
      .fv-slider-v2 .fv-slide-title { text-align: center; font-size: clamp(46px, 10vw, 68px); letter-spacing: -3px; }
      .fv-slider-v2 .fv-slide-sub { margin-left: auto; margin-right: auto; }
      .fv-slide-stage { height: 240px; width: 410px; max-width: 100%; margin: -8px auto 0; transform: translateY(20px) scale(.68); transform-origin: top center; }
      .fv-slide.is-active .fv-slide-stage { transform: translateY(0) scale(.68); }
      .fv-stage-float-a { left: -24px; top: 45px; }
      .fv-stage-float-b { right: -25px; bottom: 16px; }
      .fv-slider-v2 .fv-slider-arrow { display: none; }
      .fv-slider-footer { left: 20px; right: 20px; grid-template-columns: 52px 1fr; gap: 10px; }
      .fv-slider-hint { display: none; }
      .fv-slider-v2 .fv-dot { flex: 1; padding: 0 7px; }
      .fv-slider-v2 .fv-dot span { font-size: 8px; }
      .fv-power-head { grid-template-columns: 1fr; gap: 25px; }
      .fv-power-grid { grid-template-columns: 1fr; }
      .fv-power-card { min-height: 310px; }
      .fv-power-foot { flex-wrap: wrap; gap: 10px 18px; }
      .fv-power-foot a { width: 100%; margin-left: 0; justify-content: center; }
    }
    @media (max-width: 480px) {
      .fv-slider-v2 { height: 660px; min-height: 660px; }
      .fv-slide-shell { grid-template-rows: auto 185px; padding: 36px 16px 74px; }
      .fv-slide-meta { margin-bottom: 14px; }
      .fv-slide-number { width: 34px; height: 34px; }
      .fv-slider-v2 .fv-slide-tag { font-size: 8px; padding: 6px 9px; letter-spacing: 1.2px; }
      .fv-slider-v2 .fv-slide-title { margin-bottom: 15px; font-size: 42px; line-height: .94; letter-spacing: -2.4px; }
      .fv-slider-v2 .fv-slide-sub { margin-bottom: 18px; font-size: 13px; line-height: 1.5; }
      .fv-slider-v2 .fv-slide-actions { gap: 8px; }
      .fv-slider-v2 .fv-slide-btn, .fv-slider-v2 .fv-slide-btn-ghost { min-height: 44px; padding: 0 15px; border-radius: 10px; font-size: 10px; }
      .fv-slide-proof { margin-top: 14px; gap: 12px; font-size: 9px; }
      .fv-slide-stage { width: 370px; margin-top: -4px; transform: translateY(14px) scale(.53); }
      .fv-slide.is-active .fv-slide-stage { transform: translateY(0) scale(.53); }
      .fv-slider-footer { bottom: 17px; grid-template-columns: 42px 1fr; }
      .fv-slider-status strong { font-size: 17px; }
      .fv-slider-v2 .fv-dot { height: 30px; padding: 0 5px; }
      .fv-slider-v2 .fv-dot span { font-size: 7px; letter-spacing: .2px; }
      .fv-power-move { padding-top: 72px; }
      .fv-power-head h2 { font-size: 55px; letter-spacing: -3.5px; }
      .fv-power-card { min-height: 330px; padding: 22px; }
      .fv-power-icon { top: 21px; right: 22px; }
      .fv-power-copy { left: 22px; right: 22px; bottom: 23px; }
      .fv-power-copy h3 { font-size: 34px; }
      .fv-power-foot span { flex: 1 1 42%; }
    }

  

    /* Production refinements: expanded product-range hero */
    .fv-slider-v2 .fv-slide-5 {
      background: radial-gradient(circle at 82% 31%, rgba(201,255,82,.27), transparent 29%),
                  linear-gradient(112deg, #101927 0%, #20382d 54%, #47762f 100%);
    }
    .fv-slide-5 .fv-hero-aurora {
      background: conic-gradient(from 220deg at 72% 45%, transparent, rgba(166,255,74,.29), rgba(255,218,79,.14), transparent 45%);
    }
    .fv-slider-v2 .fv-slide-5 .fv-slide-title em { color: #d7ff75; }
    .fv-license-lime { background: linear-gradient(145deg, rgba(115,173,46,.96), rgba(26,74,47,.93)); }
    .fv-hardware-card .fv-license-icon i { font-size: 110px; }
    .fv-hardware-card .fv-license-key { letter-spacing: .75px; }

    /* Production refinements: centred Your Next Move introduction */
    .fv-power-head {
      max-width: 920px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 22px;
      text-align: center;
    }
    .fv-power-head > div:first-child,
    .fv-power-intro {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .fv-power-head .fv-kicker { justify-content: center; }
    .fv-power-intro > p { max-width: 690px; margin: 0 auto 20px; }
    .fv-power-guide { margin: 0 auto; text-align: left; }

    @media (max-width: 900px) {
      .fv-slider-v2 .fv-dot { padding: 0 9px; }
      .fv-slider-v2 .fv-dot span { font-size: 7.5px; }
    }
    @media (max-width: 640px) {
      .fv-slider-v2 .fv-dot { padding: 0 4px; }
      .fv-slider-v2 .fv-dot span { font-size: 6.5px; letter-spacing: 0; }
      .fv-power-head { gap: 18px; }
      .fv-power-intro > p { max-width: 500px; }
    }


    /* ═══════════════════════════════════════════════════════════════
       PRODUCTION V4 — COMPACT, CENTRED, VIEWPORT-AWARE SECTIONS
       ═══════════════════════════════════════════════════════════════ */

    /* Consistent, restrained section rhythm */
    .fv-section {
      padding: clamp(28px, 4.5vh, 44px) clamp(16px, 3vw, 40px);
    }
    .fv-section-title {
      max-width: 760px;
      margin: 0 auto clamp(18px, 3vh, 28px);
      padding-bottom: 11px;
      font-size: clamp(20px, 2vw, 28px);
      line-height: 1.18;
      letter-spacing: -0.45px;
    }
    .fv-section-title::after { width: 46px; }

    /* Keep catalogue modules compact enough for a normal laptop viewport */
    @media (min-width: 901px) {
      ul.fv-winkey-grid, .fv-winkey-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      ul.fv-product-grid, .fv-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .fv-cat-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
      .fv-product-img { height: clamp(112px, 16vh, 140px); }
      .fv-product-info { padding: 11px 12px; }
      .fv-product-name { margin: 2px 0 4px; line-height: 1.3; }
      .fv-product-rating { margin-bottom: 4px; }
      .fv-product-cart-btn { padding: 9px 10px; }
      .fv-winkey-card { padding: clamp(16px, 2.3vh, 22px) 14px; }
      .fv-winkey-logo { font-size: 42px; margin-bottom: 7px; }
      .fv-winkey-ver { font-size: 19px; }
      .fv-winkey-edition { margin-bottom: 9px; }
      .fv-winkey-perks { margin: 7px 0 10px; }
      .fv-winkey-price { font-size: 22px; }
      .fv-cat-tile { padding: clamp(16px, 2.5vh, 24px) 10px; }
    }

    /* Hero never exceeds the available laptop canvas beneath the navigation */
    @media (min-width: 801px) {
      .fv-slider-v2 {
        height: clamp(530px, calc(100svh - 154px), 620px);
        min-height: 530px;
        max-height: 620px;
      }
      .fv-slide-shell { padding-top: clamp(34px, 5vh, 58px); padding-bottom: 76px; }
      .fv-slider-v2 .fv-slide-title { font-size: clamp(48px, 5.2vw, 76px); }
      .fv-slide-stage { height: clamp(350px, 50vh, 430px); }
    }

    /* Featured Collections: centred editorial header and compact card canvas */
    .fv-discovery {
      padding: clamp(42px, 6vh, 58px) clamp(16px, 4vw, 56px) clamp(34px, 5vh, 46px);
    }
    .fv-discovery-head {
      max-width: 900px;
      margin: 0 auto clamp(20px, 3.2vh, 28px);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 14px;
      text-align: center;
    }
    .fv-discovery-head > div:first-child,
    .fv-discovery-intro {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .fv-discovery-head .fv-kicker { justify-content: center; margin-bottom: 9px; }
    .fv-discovery h2 {
      max-width: 700px;
      font-size: clamp(32px, 4vw, 50px);
      line-height: 1;
      letter-spacing: -2px;
    }
    .fv-discovery-intro {
      max-width: 650px;
      font-size: clamp(12px, 1.15vw, 14px);
      line-height: 1.55;
    }
    .fv-text-link { justify-content: center; margin-top: 10px; }
    .fv-discovery-grid {
      grid-template-rows: clamp(200px, 27vh, 230px) clamp(150px, 20vh, 175px);
      gap: 13px;
    }
    .fv-discovery-card { padding: 20px; border-radius: 20px; }
    .fv-card-copy { left: 20px; right: 20px; bottom: 19px; }
    .fv-card-copy h3 { font-size: clamp(22px, 2.35vw, 34px); margin-bottom: 7px; }
    .fv-discovery-office .fv-card-copy h3,
    .fv-discovery-laptop .fv-card-copy h3 { font-size: clamp(20px, 1.85vw, 25px); }
    .fv-discovery-deal .fv-card-copy h3 { font-size: clamp(23px, 2.7vw, 36px); }
    .fv-card-copy p { font-size: 12px; line-height: 1.45; }
    .fv-card-tag { padding: 6px 9px; font-size: 9px; }
    .fv-card-arrow { top: 18px; right: 18px; width: 37px; height: 37px; font-size: 17px; }
    .fv-card-orbit { width: 250px; height: 250px; top: 23px; }
    .fv-card-orbit i { font-size: 90px; }
    .fv-card-giant-icon { top: 42px; font-size: 78px; }
    .fv-deal-stamp { width: 84px; height: 84px; top: 18px; right: 62px; font-size: 9px; }
    .fv-quick-strip { margin-top: 15px; border-radius: 15px; }
    .fv-quick-item { min-height: 56px; padding: 10px 14px; }
    .fv-quick-item i { font-size: 20px; }

    /* Your Next Move: production-sized closing conversion section */
    .fv-power-move {
      padding: clamp(46px, 6vh, 58px) clamp(16px, 4vw, 56px) clamp(34px, 5vh, 44px);
    }
    .fv-power-marquee { font-size: clamp(58px, 8vw, 110px); letter-spacing: -5px; }
    .fv-power-head {
      max-width: 800px;
      margin: 0 auto clamp(20px, 3vh, 26px);
      gap: 13px;
    }
    .fv-power-head h2 {
      font-size: clamp(34px, 4.5vw, 52px);
      line-height: .98;
      letter-spacing: -2.6px;
    }
    .fv-power-intro > p {
      max-width: 620px;
      margin-bottom: 13px;
      font-size: 13px;
      line-height: 1.55;
    }
    .fv-power-guide { max-width: 340px; padding: 10px 12px; border-radius: 13px; }
    .fv-power-guide > i:first-child { width: 34px; height: 34px; }
    .fv-power-grid { gap: 12px; }
    .fv-power-card {
      min-height: clamp(240px, 31vh, 280px);
      padding: 21px;
      border-radius: 20px;
    }
    .fv-power-number { top: 20px; left: 21px; }
    .fv-power-icon { top: 19px; right: 20px; width: 50px; height: 50px; border-radius: 15px; font-size: 24px; }
    .fv-power-copy { left: 21px; right: 21px; bottom: 21px; }
    .fv-power-copy > span { margin-bottom: 7px; }
    .fv-power-copy h3 {
      max-width: 300px;
      margin-bottom: 8px;
      font-size: clamp(23px, 2.45vw, 32px);
      line-height: 1;
      letter-spacing: -1px;
    }
    .fv-power-copy p { margin-bottom: 13px; font-size: 11px; line-height: 1.45; }
    .fv-power-foot {
      min-height: 54px;
      margin-top: 13px;
      padding: 8px 11px 8px 15px;
      border-radius: 14px;
      gap: 18px;
    }
    .fv-power-foot a { padding: 9px 12px; }

    /* Short laptop screens receive an extra density pass */
    @media (min-width: 901px) and (max-height: 820px) {
      .fv-section { padding-top: 26px; padding-bottom: 26px; }
      .fv-section-title { margin-bottom: 18px; font-size: 23px; }
      .fv-discovery { padding-top: 36px; padding-bottom: 30px; }
      .fv-discovery-head { margin-bottom: 18px; gap: 10px; }
      .fv-discovery h2 { font-size: 40px; }
      .fv-discovery-intro { font-size: 12px; line-height: 1.45; }
      .fv-discovery-grid { grid-template-rows: 190px 145px; }
      .fv-quick-item { min-height: 50px; }
      .fv-power-move { padding-top: 38px; padding-bottom: 30px; }
      .fv-power-head { margin-bottom: 18px; gap: 9px; }
      .fv-power-head h2 { font-size: 41px; }
      .fv-power-intro > p { margin-bottom: 10px; line-height: 1.45; }
      .fv-power-card { min-height: 235px; }
      .fv-power-foot { min-height: 48px; }
      .fv-product-img { height: 108px; }
      .fv-product-info { padding-top: 9px; padding-bottom: 9px; }
      .fv-winkey-card { padding-top: 14px; padding-bottom: 14px; }
    }

    /* Tablet: keep headers centred, then stack content naturally */
    @media (max-width: 900px) {
      .fv-section { padding: 30px 18px; }
      .fv-discovery-head { align-items: center; text-align: center; }
      .fv-discovery h2 { font-size: clamp(32px, 6.6vw, 44px); letter-spacing: -1.6px; }
      .fv-discovery-grid { grid-template-rows: 245px 175px 175px; }
      .fv-power-head { text-align: center; }
      .fv-power-head h2 { font-size: clamp(34px, 7vw, 46px); }
      .fv-power-card { min-height: 260px; }
    }

    /* Mobile: compact typography without squeezing tap targets */
    @media (max-width: 480px) {
      .fv-section { padding: 26px 13px; }
      .fv-section-title { font-size: 19px; margin-bottom: 18px; }
      .fv-discovery { padding: 36px 13px 30px; }
      .fv-discovery-head { margin-bottom: 18px; gap: 10px; }
      .fv-discovery h2 { font-size: 32px; line-height: 1.02; letter-spacing: -1.2px; }
      .fv-discovery-intro { font-size: 12px; line-height: 1.5; }
      .fv-discovery-card { min-height: 195px; padding: 17px; }
      .fv-discovery-main { min-height: 245px; }
      .fv-discovery-deal { min-height: 205px; }
      .fv-card-copy { left: 17px; right: 17px; bottom: 17px; }
      .fv-card-copy h3,
      .fv-discovery-deal .fv-card-copy h3 { font-size: 25px; }
      .fv-discovery-office .fv-card-copy h3,
      .fv-discovery-laptop .fv-card-copy h3 { font-size: 21px; }
      .fv-quick-item { min-height: 52px; }
      .fv-power-move { padding: 38px 13px 30px; }
      .fv-power-head { margin-bottom: 18px; gap: 10px; }
      .fv-power-head h2 { font-size: 37px; line-height: 1; letter-spacing: -2px; }
      .fv-power-intro > p { font-size: 12px; }
      .fv-power-card { min-height: 245px; padding: 18px; }
      .fv-power-copy { left: 18px; right: 18px; bottom: 18px; }
      .fv-power-copy h3 { font-size: 27px; }
      .fv-power-foot { gap: 8px 12px; }
    }



    /* ═══════════════════════════════════════════════════════════════
       PRODUCTION V5 — BALANCED SCALE + COMPLETE RESPONSIVE FOOTER
       ═══════════════════════════════════════════════════════════════ */

    /* Restore a little more presence after the compact V4 pass. */
    .fv-section {
      padding: clamp(34px, 5.2vh, 54px) clamp(18px, 3.4vw, 46px);
    }
    .fv-section-title {
      max-width: 860px;
      margin-bottom: clamp(22px, 3.4vh, 32px);
      padding-bottom: 13px;
      font-size: clamp(23px, 2.25vw, 31px);
      line-height: 1.16;
    }
    .fv-section-title::after { width: 52px; height: 3px; }

    @media (min-width: 901px) {
      .fv-product-img { height: clamp(122px, 17.5vh, 152px); }
      .fv-product-info { padding: 13px 14px; }
      .fv-product-name { font-size: 13.5px; line-height: 1.36; }
      .fv-product-cart-btn { padding: 10px 11px; }
      .fv-winkey-card { padding: clamp(18px, 2.7vh, 25px) 16px; }
      .fv-winkey-logo { font-size: 46px; margin-bottom: 9px; }
      .fv-winkey-ver { font-size: 21px; }
      .fv-winkey-edition { margin-bottom: 11px; }
      .fv-winkey-perks { margin: 9px 0 12px; }
      .fv-winkey-price { font-size: 24px; }
      .fv-cat-tile { padding: clamp(19px, 2.9vh, 28px) 12px; }
    }

    /* Featured Collections: centred, confident, but still laptop-height aware. */
    .fv-discovery {
      padding: clamp(50px, 7vh, 72px) clamp(18px, 4vw, 58px) clamp(42px, 6vh, 58px);
    }
    .fv-discovery-head {
      max-width: 980px;
      margin-bottom: clamp(24px, 3.8vh, 34px);
      gap: 16px;
    }
    .fv-discovery-head .fv-kicker { margin-bottom: 10px; }
    .fv-discovery h2 {
      max-width: 790px;
      font-size: clamp(40px, 4.8vw, 62px);
      line-height: .98;
      letter-spacing: -2.5px;
    }
    .fv-discovery-intro {
      max-width: 720px;
      font-size: clamp(13px, 1.25vw, 15px);
      line-height: 1.58;
    }
    .fv-text-link { margin-top: 12px; }
    .fv-discovery-grid {
      grid-template-rows: clamp(225px, 31vh, 270px) clamp(165px, 22vh, 195px);
      gap: 15px;
    }
    .fv-discovery-card { padding: 23px; border-radius: 22px; }
    .fv-card-copy { left: 23px; right: 23px; bottom: 22px; }
    .fv-card-copy h3 { font-size: clamp(26px, 2.8vw, 40px); margin-bottom: 8px; }
    .fv-discovery-office .fv-card-copy h3,
    .fv-discovery-laptop .fv-card-copy h3 { font-size: clamp(23px, 2.15vw, 29px); }
    .fv-discovery-deal .fv-card-copy h3 { font-size: clamp(27px, 3vw, 42px); }
    .fv-card-copy p { font-size: 12.5px; line-height: 1.5; }
    .fv-card-tag { padding: 7px 10px; font-size: 9.5px; }
    .fv-card-arrow { top: 20px; right: 20px; width: 40px; height: 40px; }
    .fv-card-orbit { width: 278px; height: 278px; top: 26px; }
    .fv-card-orbit i { font-size: 102px; }
    .fv-card-giant-icon { top: 46px; font-size: 88px; }
    .fv-deal-stamp { width: 92px; height: 92px; top: 20px; right: 68px; }
    .fv-quick-strip { margin-top: 18px; }
    .fv-quick-item { min-height: 62px; padding: 12px 16px; }
    .fv-quick-item i { font-size: 22px; }

    /* Your Next Move: slightly larger, still centred and contained. */
    .fv-power-move {
      padding: clamp(52px, 7vh, 70px) clamp(18px, 4vw, 58px) clamp(42px, 6vh, 56px);
    }
    .fv-power-head {
      max-width: 900px;
      margin-bottom: clamp(24px, 3.6vh, 32px);
      gap: 15px;
    }
    .fv-power-head h2 {
      font-size: clamp(42px, 5vw, 62px);
      line-height: .97;
      letter-spacing: -3px;
    }
    .fv-power-intro > p {
      max-width: 700px;
      margin-bottom: 15px;
      font-size: 14px;
      line-height: 1.58;
    }
    .fv-power-guide { max-width: 370px; padding: 11px 14px; }
    .fv-power-grid { gap: 14px; }
    .fv-power-card {
      min-height: clamp(270px, 35vh, 315px);
      padding: 24px;
      border-radius: 22px;
    }
    .fv-power-number { top: 23px; left: 24px; }
    .fv-power-icon { top: 22px; right: 23px; width: 55px; height: 55px; }
    .fv-power-copy { left: 24px; right: 24px; bottom: 24px; }
    .fv-power-copy h3 {
      max-width: 330px;
      margin-bottom: 9px;
      font-size: clamp(26px, 2.75vw, 36px);
      letter-spacing: -1.2px;
    }
    .fv-power-copy p { margin-bottom: 15px; font-size: 12px; line-height: 1.5; }
    .fv-power-foot {
      min-height: 58px;
      margin-top: 15px;
      padding: 9px 12px 9px 17px;
    }

    /* Balanced density on common 768–820px-high laptops. */
    @media (min-width: 901px) and (max-height: 820px) {
      .fv-section { padding-top: 30px; padding-bottom: 30px; }
      .fv-section-title { margin-bottom: 21px; font-size: 25px; }
      .fv-discovery { padding-top: 37px; padding-bottom: 30px; }
      .fv-discovery-head { margin-bottom: 18px; gap: 10px; }
      .fv-discovery h2 { font-size: 46px; }
      .fv-discovery-intro { font-size: 13px; line-height: 1.5; }
      .fv-discovery-grid { grid-template-rows: 205px 150px; }
      .fv-quick-item { min-height: 52px; }
      .fv-power-move { padding-top: 43px; padding-bottom: 34px; }
      .fv-power-head { margin-bottom: 21px; gap: 11px; }
      .fv-power-head h2 { font-size: 49px; }
      .fv-power-intro > p { margin-bottom: 11px; font-size: 13px; line-height: 1.48; }
      .fv-power-card { min-height: 265px; }
      .fv-power-foot { min-height: 52px; }
      .fv-product-img { height: 118px; }
      .fv-product-info { padding: 11px 12px; }
      .fv-winkey-card { padding-top: 16px; padding-bottom: 16px; }
    }

    @media (max-width: 900px) {
      .fv-discovery { padding: 44px 18px 38px; }
      .fv-discovery h2 { font-size: clamp(37px, 7.4vw, 50px); }
      .fv-discovery-grid { grid-template-rows: 265px 190px 190px; }
      .fv-power-move { padding: 46px 18px 38px; }
      .fv-power-head h2 { font-size: clamp(39px, 7.8vw, 52px); }
      .fv-power-card { min-height: 285px; }
    }

    @media (max-width: 560px) {
      .fv-section { padding: 30px 15px; }
      .fv-section-title { font-size: 22px; margin-bottom: 22px; }
      .fv-discovery { padding: 38px 14px 32px; }
      .fv-discovery-head { gap: 13px; margin-bottom: 22px; }
      .fv-discovery h2 { font-size: clamp(34px, 10vw, 43px); letter-spacing: -1.8px; }
      .fv-discovery-intro { font-size: 13px; }
      .fv-discovery-grid { grid-template-rows: 245px 175px 175px; gap: 11px; }
      .fv-discovery-card { padding: 19px; }
      .fv-card-copy { left: 19px; right: 19px; bottom: 18px; }
      .fv-card-copy h3 { font-size: 28px; }
      .fv-discovery-office .fv-card-copy h3,
      .fv-discovery-laptop .fv-card-copy h3 { font-size: 23px; }
      .fv-discovery-deal .fv-card-copy h3 { font-size: 29px; }
      .fv-quick-strip { grid-template-columns: 1fr 1fr; }
      .fv-power-move { padding: 40px 14px 32px; }
      .fv-power-head h2 { font-size: clamp(37px, 11vw, 47px); letter-spacing: -2.2px; }
      .fv-power-intro > p { font-size: 13px; }
      .fv-power-card { min-height: 275px; padding: 21px; }
      .fv-power-copy { left: 21px; right: 21px; bottom: 21px; }
      .fv-power-copy h3 { font-size: 30px; }
    }

    /* Complete production footer */
    .fv-site-footer {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 12% 8%, rgba(46,109,232,.18), transparent 28%),
        linear-gradient(145deg, #071225 0%, #0b1830 58%, #0e2145 100%);
      color: #fff;
      border-top: 1px solid rgba(255,255,255,.08);
    }
    .fv-site-footer::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .22;
      background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size: 42px 42px;
      mask-image: linear-gradient(to bottom, #000, transparent 75%);
    }
    .fv-footer-shell {
      position: relative;
      z-index: 1;
      width: min(1440px, 100%);
      margin: 0 auto;
      padding: clamp(48px, 6vw, 78px) clamp(20px, 4vw, 60px) 0;
    }
    .fv-footer-main {
      display: grid;
      grid-template-columns: minmax(250px, 1.25fr) minmax(460px, 2.25fr) minmax(255px, 1fr);
      gap: clamp(30px, 4vw, 62px);
      align-items: start;
    }
    .fv-footer-brandmark {
      display: inline-flex;
      flex-direction: column;
      margin-bottom: 18px;
      color: #fff;
      text-decoration: none;
    }
    .fv-footer-brandmark strong {
      font-size: clamp(26px, 2.4vw, 34px);
      line-height: 1;
      font-style: italic;
      letter-spacing: -1px;
    }
    .fv-footer-brandmark small {
      margin-top: 7px;
      color: #85b8ff;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: 2.2px;
      text-transform: uppercase;
    }
    .fv-footer-brand > p {
      max-width: 360px;
      color: rgba(255,255,255,.68);
      font-size: 13px;
      line-height: 1.7;
    }
    .fv-footer-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 20px 0 22px;
    }
    .fv-footer-pills span {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 32px;
      padding: 0 10px;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 999px;
      background: rgba(255,255,255,.055);
      color: rgba(255,255,255,.82);
      font-size: 10px;
      font-weight: 700;
    }
    .fv-footer-pills i { color: #7eb8f7; font-size: 14px; }
    .fv-footer-actions { display: flex; flex-wrap: wrap; gap: 9px; }
    .fv-footer-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 40px;
      padding: 0 15px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 10px;
      color: #fff;
      font-size: 11px;
      font-weight: 800;
      text-decoration: none;
      transition: transform .2s, background .2s, border-color .2s;
    }
    .fv-footer-action:first-child { background: #2e6de8; border-color: #2e6de8; }
    .fv-footer-action:hover { transform: translateY(-2px); background: rgba(255,255,255,.1); }
    .fv-footer-action:first-child:hover { background: #1f5cca; }

    .fv-footer-links {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(22px, 3vw, 42px);
    }
    .fv-footer-group h4,
    .fv-footer-news h4 {
      margin-bottom: 18px;
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 1.8px;
      text-transform: uppercase;
    }
    .fv-footer-group a {
      position: relative;
      display: block;
      width: fit-content;
      margin-bottom: 11px;
      color: rgba(255,255,255,.67);
      font-size: 12.5px;
      line-height: 1.45;
      text-decoration: none;
      transition: color .2s, transform .2s;
    }
    .fv-footer-group a::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: -2px;
      width: 0;
      height: 1px;
      background: #7eb8f7;
      transition: width .2s;
    }
    .fv-footer-group a:hover { color: #fff; transform: translateX(3px); }
    .fv-footer-group a:hover::after { width: 100%; }

    .fv-footer-news {
      padding: 22px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 18px;
      background: rgba(255,255,255,.055);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    }
    .fv-footer-news > p {
      margin-bottom: 16px;
      color: rgba(255,255,255,.67);
      font-size: 12px;
      line-height: 1.6;
    }
    .fv-site-footer .fv-footer-email {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 45px;
      min-height: 45px;
      margin: 0;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 11px;
      background: rgba(5,12,28,.45);
    }
    .fv-site-footer .fv-footer-email input {
      width: 100%;
      min-width: 0;
      padding: 0 13px;
      background: transparent;
      color: #fff;
      border: 0;
      outline: none;
      font-size: 12px;
    }
    .fv-site-footer .fv-footer-email input::placeholder { color: rgba(255,255,255,.38); }
    .fv-site-footer .fv-footer-email button {
      display: grid;
      place-items: center;
      padding: 0;
      border: 0;
      background: #2e6de8;
      color: #fff;
      cursor: pointer;
      font-size: 17px;
    }
    .fv-footer-consent {
      margin-top: 11px !important;
      margin-bottom: 0 !important;
      color: rgba(255,255,255,.43) !important;
      font-size: 10px !important;
      line-height: 1.5 !important;
    }
    .fv-footer-consent a { color: #8ebcff; text-decoration: none; }

    .fv-footer-assurance {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1px;
      margin-top: clamp(34px, 5vw, 56px);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 16px;
      background: rgba(255,255,255,.1);
    }
    .fv-footer-assurance-item {
      display: flex;
      align-items: center;
      gap: 11px;
      min-height: 68px;
      padding: 13px 16px;
      background: rgba(7,18,37,.88);
    }
    .fv-footer-assurance-item i { color: #7eb8f7; font-size: 23px; }
    .fv-footer-assurance-item strong { display: block; font-size: 11px; }
    .fv-footer-assurance-item span { display: block; margin-top: 3px; color: rgba(255,255,255,.5); font-size: 9.5px; }

    .fv-footer-lower {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-top: 28px;
      padding: 22px 0;
      border-top: 1px solid rgba(255,255,255,.09);
      color: rgba(255,255,255,.48);
      font-size: 10.5px;
    }
    .fv-footer-lower-copy { display: flex; flex-wrap: wrap; gap: 8px 18px; }
    .fv-site-footer .fv-payments { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
    .fv-site-footer .fv-pay-badge {
      display: inline-flex;
      align-items: center;
      min-height: 27px;
      padding: 0 9px;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 6px;
      background: rgba(255,255,255,.94);
      color: #14264d;
      font-size: 9px;
      font-weight: 900;
    }
    .fv-footer-disclaimer {
      margin: 0 calc(clamp(20px, 4vw, 60px) * -1);
      padding: 13px clamp(20px, 4vw, 60px) 16px;
      border-top: 1px solid rgba(255,255,255,.06);
      background: rgba(0,0,0,.16);
      color: rgba(255,255,255,.35);
      text-align: center;
      font-size: 9.5px;
      line-height: 1.55;
    }

    @media (max-width: 1120px) {
      .fv-footer-main { grid-template-columns: minmax(245px, .9fr) minmax(0, 1.7fr); }
      .fv-footer-news { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr minmax(320px, .9fr); gap: 22px; align-items: center; }
      .fv-footer-news h4 { margin-bottom: 8px; }
      .fv-footer-news > p { margin-bottom: 0; }
      .fv-footer-news form, .fv-footer-consent { grid-column: 2; }
      .fv-footer-consent { margin-top: -13px !important; }
    }
    @media (max-width: 820px) {
      .fv-footer-main { grid-template-columns: 1fr; }
      .fv-footer-brand > p { max-width: 620px; }
      .fv-footer-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .fv-footer-news { grid-column: auto; grid-template-columns: 1fr; }
      .fv-footer-news form, .fv-footer-consent { grid-column: auto; }
      .fv-footer-consent { margin-top: 11px !important; }
      .fv-footer-assurance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .fv-footer-lower { flex-direction: column; align-items: flex-start; }
      .fv-site-footer .fv-payments { justify-content: flex-start; }
    }
    @media (max-width: 560px) {
      .fv-footer-shell { padding: 42px 16px 0; }
      .fv-footer-links { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
      .fv-footer-group:first-child { grid-column: 1 / -1; }
      .fv-footer-assurance { grid-template-columns: 1fr; }
      .fv-footer-assurance-item { min-height: 61px; }
      .fv-footer-lower { padding: 18px 0; }
      .fv-footer-disclaimer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
    }
    @media (max-width: 380px) {
      .fv-footer-links { grid-template-columns: 1fr; }
      .fv-footer-group:first-child { grid-column: auto; }
      .fv-footer-actions { flex-direction: column; align-items: stretch; }
    }

  

/* WordPress + WooCommerce integration layer */

/* ================================================================
   WordPress + WooCommerce production integration
   ================================================================ */
:root {
  --fv-navy: #1a2e5a;
  --fv-blue: #2e6de8;
  --fv-ink: #18233b;
  --fv-muted: #69758d;
  --fv-line: #e2e5ec;
  --fv-soft: #f5f6f8;
  --fv-white: #fff;
  --fv-radius: 14px;
  --fv-shadow: 0 18px 50px rgba(20, 40, 82, .10);
}
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body.fv-menu-open, body.fv-drawer-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus, .skip-link:focus {
  clip: auto !important; width: auto; height: auto; margin: 0; padding: 12px 18px;
  top: 8px; left: 8px; z-index: 10000; background: #fff; color: var(--fv-navy);
  border-radius: 8px; box-shadow: var(--fv-shadow);
}
.fv-logo-link, .fv-footer-brand-link { color: inherit; text-decoration: none; }
.fv-custom-logo { display: block; max-height: 54px; width: auto; }
.fv-cart-trigger { border: 0; background: transparent; position: relative; }
.fv-icon-badge {
  position: absolute; top: -5px; right: -8px; min-width: 18px; height: 18px; padding: 0 5px;
  display: grid; place-items: center; border-radius: 999px; background: #ffcf5a; color: #10234c;
  font-size: 10px; font-weight: 900; line-height: 1;
}
.fv-nav-toggle { color: inherit; }
.fv-nav-item.is-open > .fv-dropdown { display: block; }
.fv-nav-item.is-open .fv-nav-toggle .ti-chevron-down { transform: rotate(180deg); }
.fv-nav-item > a.fv-nav-item { display: flex; }
.fv-content-main, .fv-woocommerce-main { min-height: 48vh; }
.fv-content-shell, .fv-woocommerce-shell {
  width: min(1320px, calc(100% - 40px)); margin: 0 auto; padding: clamp(42px, 6vw, 82px) 0;
}
.fv-entry { background: #fff; border: 1px solid var(--fv-line); border-radius: 18px; padding: clamp(26px, 5vw, 62px); }
.fv-entry-header h1 { margin-bottom: 24px; color: var(--fv-navy); font-size: clamp(32px, 5vw, 62px); line-height: 1; }
.fv-entry-content { color: #45516a; font-size: 16px; line-height: 1.75; }
.fv-entry-content > * + * { margin-top: 1em; }
.fv-entry-content a { color: var(--fv-blue); }

/* Shared WooCommerce controls and notices */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .fv-content-main .button {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 42px; padding: 10px 18px; border: 0; border-radius: 999px;
  background: var(--fv-navy); color: #fff; font-size: 12px; font-weight: 800;
  letter-spacing: .25px; text-decoration: none; cursor: pointer; transition: .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .fv-content-main .button:hover { background: var(--fv-blue); color: #fff; transform: translateY(-1px); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt { background: var(--fv-blue); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background: #1f58c4; }
.woocommerce .button.disabled, .woocommerce .button:disabled, .woocommerce .button:disabled[disabled] { opacity: .48; cursor: not-allowed; transform: none; }
.woocommerce-notices-wrapper { width: min(1320px, calc(100% - 40px)); margin: 20px auto 0; }
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  position: relative; margin: 0 0 18px; padding: 16px 18px 16px 48px; border: 1px solid #dce5f6;
  border-top: 0; border-radius: 12px; background: #fff; color: #35415a; list-style: none; box-shadow: 0 8px 26px rgba(21,45,88,.07);
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
  position: absolute; left: 18px; top: 16px; font-family: 'tabler-icons'; color: var(--fv-blue);
}
.woocommerce-message { border-left: 4px solid #16a36a; }
.woocommerce-info { border-left: 4px solid var(--fv-blue); }
.woocommerce-error { border-left: 4px solid #d84242; }
.woocommerce-error li + li { margin-top: 6px; }
.woocommerce-message .button, .woocommerce-info .button { float: right; min-height: 32px; padding: 6px 13px; }
.woocommerce form .form-row { margin: 0 0 15px; padding: 0; }
.woocommerce form .form-row label { display: block; margin: 0 0 7px; color: var(--fv-navy); font-size: 12px; font-weight: 800; }
.woocommerce form .form-row .required { color: #d84242; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce .quantity .qty, .select2-container--default .select2-selection--single {
  width: 100%; min-height: 47px; padding: 11px 13px; border: 1px solid #d9deea; border-radius: 9px;
  background: #fff; color: #253149; outline: 0; transition: border-color .2s, box-shadow .2s;
}
.woocommerce form .form-row textarea { min-height: 104px; resize: vertical; }
.woocommerce form .form-row input:focus, .woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus, .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--fv-blue); box-shadow: 0 0 0 3px rgba(46,109,232,.12);
}
.woocommerce form .form-row.woocommerce-invalid input, .woocommerce form .form-row.fv-field-invalid input { border-color: #d84242; box-shadow: 0 0 0 3px rgba(216,66,66,.1); }
.select2-container--default .select2-selection--single { display: flex; align-items: center; padding: 0 12px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 45px; }

/* Product archive */
.fv-shop-header { max-width: 860px; margin: 0 auto 38px; text-align: center; }
.fv-shop-header .woocommerce-products-header__title, .fv-shop-header h1 {
  margin: 6px 0 12px; color: var(--fv-navy); font-size: clamp(34px, 5.4vw, 62px); line-height: .98; letter-spacing: -2px;
}
.fv-shop-header .term-description { max-width: 690px; margin: 0 auto; color: var(--fv-muted); line-height: 1.65; }
.woocommerce .woocommerce-result-count { margin: 10px 0 26px; color: var(--fv-muted); font-size: 12px; }
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select { min-height: 42px; padding: 0 38px 0 13px; border: 1px solid var(--fv-line); border-radius: 9px; background: #fff; color: var(--fv-navy); }
.woocommerce .products { clear: both; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; margin: 0; }
.fv-product-img img { width: 100%; height: 100%; object-fit: contain; padding: 15px; transition: transform .35s cubic-bezier(.16,1,.3,1); }
.fv-product-card:hover .fv-product-img img { transform: scale(1.045); }
.fv-product-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2; padding: 5px 9px; border-radius: 999px;
  background: var(--fv-blue); color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase;
}
.fv-product-badge.is-sale { background: #e34e46; }
.fv-product-rating .star-rating { float: none; width: 5.4em; margin: 0; color: #f3a81c; font-size: 11px; }
.fv-unrated { color: #97a0b1; font-size: 10px; }
.fv-delivery-chip { display: flex; align-items: center; gap: 5px; margin-top: auto; color: #68738b; font-size: 9.5px; font-weight: 700; }
.fv-delivery-chip i { color: var(--fv-blue); font-size: 13px; }
.fv-product-card .fv-product-cart-btn { min-height: 39px; border-radius: 0; }
.fv-product-card .added_to_cart { display: block; padding: 9px 12px; background: #eaf1ff; color: var(--fv-blue); text-align: center; font-size: 11px; font-weight: 800; text-decoration: none; }
.woocommerce nav.woocommerce-pagination { margin: 34px 0 0; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 7px; margin: 0; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--fv-line); border-radius: 9px; background: #fff; color: var(--fv-navy);
}
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--fv-blue); background: var(--fv-blue); color: #fff; }

/* Single product */
.fv-single-product-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(34px, 6vw, 84px); align-items: start; }
.fv-single-gallery, .fv-single-summary { min-width: 0; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  overflow: hidden; border: 1px solid var(--fv-line); border-radius: 18px; background: #f1f4f9;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; object-fit: contain; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: auto; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 1px solid var(--fv-line); border-radius: 9px; background: #fff; }
.woocommerce div.product .product_title { margin: 8px 0 14px; color: var(--fv-navy); font-size: clamp(34px, 4vw, 58px); line-height: .98; letter-spacing: -1.8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--fv-navy); font-size: clamp(24px, 3vw, 35px); font-weight: 900; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: #9ca5b5; font-size: .55em; opacity: 1; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; }
.woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.woocommerce .woocommerce-product-rating .star-rating { margin: 0; color: #f3a81c; }
.woocommerce-review-link { color: var(--fv-muted); font-size: 11px; }
.woocommerce-product-details__short-description { margin: 20px 0; color: #58647a; font-size: 14px; line-height: 1.7; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 12px; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart .variations label { display: block; margin: 0 0 7px; color: var(--fv-navy); font-size: 11px; }
.woocommerce div.product form.cart .variations select { width: 100%; min-height: 48px; margin: 0 0 12px; padding: 0 12px; border: 1px solid #d9deea; border-radius: 9px; background: #fff; }
.woocommerce div.product form.cart .reset_variations { color: var(--fv-blue); font-size: 11px; }
.woocommerce div.product form.cart .quantity { width: 76px; }
.woocommerce div.product form.cart .quantity .qty { text-align: center; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 48px; }
.woocommerce div.product .stock { color: #148158; font-size: 12px; font-weight: 800; }
.woocommerce div.product .out-of-stock { color: #d84242; }
.product_meta { display: grid; gap: 6px; padding-top: 18px; border-top: 1px solid var(--fv-line); color: #7a8496; font-size: 11px; }
.product_meta a { color: var(--fv-blue); }
.fv-product-assurances { display: grid; gap: 10px; margin-top: 22px; }
.fv-product-assurances > div { display: flex; gap: 11px; padding: 13px; border: 1px solid var(--fv-line); border-radius: 11px; background: #fff; }
.fv-product-assurances > div > i { color: var(--fv-blue); font-size: 22px; }
.fv-product-assurances strong, .fv-product-assurances small { display: block; }
.fv-product-assurances strong { color: var(--fv-navy); font-size: 11px; }
.fv-product-assurances small { margin-top: 3px; color: var(--fv-muted); font-size: 9.5px; line-height: 1.4; }
.fv-single-below { margin-top: clamp(42px, 7vw, 82px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 24px; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 999px; background: #eef2f8; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--fv-navy); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 17px; color: var(--fv-navy); font-size: 11px; font-weight: 800; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { padding: clamp(22px, 4vw, 40px); border: 1px solid var(--fv-line); border-radius: 16px; background: #fff; color: #536078; line-height: 1.7; }
.woocommerce div.product .woocommerce-tabs .panel h2 { margin-bottom: 13px; color: var(--fv-navy); }
.woocommerce .related.products, .woocommerce .upsells.products { margin-top: 50px; }
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2 { margin-bottom: 25px; color: var(--fv-navy); font-size: clamp(26px, 4vw, 42px); text-align: center; }

/* Cart */
.fv-cart-head, .fv-account-page-head, .fv-auth-head { max-width: 720px; margin: 0 auto 30px; text-align: center; }
.fv-cart-head h1, .fv-account-page-head h1, .fv-auth-head h1 { margin: 7px 0 10px; color: var(--fv-navy); font-size: clamp(34px, 5vw, 58px); line-height: 1; letter-spacing: -1.5px; }
.fv-cart-head p, .fv-account-page-head p { color: var(--fv-muted); line-height: 1.6; }
.fv-cart-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr); gap: 26px; align-items: start; }
.fv-cart-products, .fv-cart-summary { min-width: 0; }
.woocommerce table.shop_table { width: 100%; margin: 0; border: 1px solid var(--fv-line); border-collapse: separate; border-spacing: 0; border-radius: 14px; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 15px 13px; border-top: 1px solid #edf0f5; }
.woocommerce table.shop_table thead th { border-top: 0; background: #f4f6fa; color: var(--fv-navy); font-size: 10px; letter-spacing: .7px; text-transform: uppercase; }
.woocommerce-cart table.cart img { width: 68px; border-radius: 9px; background: #f2f4f8; }
.woocommerce-cart table.cart .product-name a { color: var(--fv-navy); font-size: 13px; font-weight: 800; text-decoration: none; }
.fv-cart-delivery { display: block; margin-top: 6px; color: var(--fv-blue); font-size: 9px; }
.woocommerce-cart table.cart .product-remove a { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; color: #d84242 !important; font-size: 20px; }
.woocommerce-cart table.cart .product-remove a:hover { background: #fff0f0; }
.woocommerce-cart table.cart td.actions { padding: 16px; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 190px; min-height: 42px; padding: 0 12px; border: 1px solid var(--fv-line); border-radius: 999px; }
.fv-cart-summary { position: sticky; top: 20px; }
.cart-collaterals .cart_totals { float: none; width: 100%; padding: 22px; border: 1px solid var(--fv-line); border-radius: 14px; background: #fff; box-shadow: var(--fv-shadow); }
.cart-collaterals .cart_totals h2 { margin-bottom: 16px; color: var(--fv-navy); font-size: 24px; }
.cart-collaterals .cart_totals table { border: 0; border-radius: 0; }
.cart-collaterals .cart_totals table th, .cart-collaterals .cart_totals table td { padding: 11px 0; border-top: 1px solid #edf0f5; }
.cart-collaterals .cart_totals table th { color: #667188; font-size: 11px; }
.cart-collaterals .wc-proceed-to-checkout { padding: 18px 0 0; }
.cart-collaterals .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 50px; margin: 0; font-size: 13px; }

/* Checkout */
.fv-checkout-wrap { width: 100%; }
.fv-checkout-progress { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 800px; margin: 0 auto 28px; }
.fv-checkout-progress span { position: relative; display: flex; align-items: center; gap: 7px; color: #9aa3b3; font-size: 11px; font-weight: 800; }
.fv-checkout-progress span::before { content: ''; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #cfd5e0; border-radius: 50%; background: #fff; }
.fv-checkout-progress span::after { content: ''; position: absolute; left: 28px; right: 7px; top: 14px; height: 1px; background: #dfe3eb; z-index: -1; }
.fv-checkout-progress span:last-child::after { display: none; }
.fv-checkout-progress span.is-current { color: var(--fv-navy); }
.fv-checkout-progress span.is-current::before { border-color: var(--fv-blue); background: var(--fv-blue); box-shadow: inset 0 0 0 6px #fff; }
.fv-express-checkout { max-width: 800px; margin: 0 auto 24px; padding: 16px 20px; border: 1px solid #dbe4f6; border-radius: 13px; background: linear-gradient(135deg,#f5f8ff,#fff); text-align: center; }
.fv-express-checkout p { margin: 5px 0 0; color: #69758d; font-size: 11px; }
.fv-checkout-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(350px, .88fr); gap: 28px; align-items: start; }
.fv-checkout-card { margin-bottom: 18px; padding: clamp(20px, 3vw, 30px); border: 1px solid var(--fv-line); border-radius: 15px; background: #fff; }
.fv-checkout-card h3, .woocommerce-billing-fields > h3, .woocommerce-shipping-fields h3 { margin: 0 0 20px; color: var(--fv-navy); font-size: 23px; }
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { float: none; width: auto; }
.fv-checkout-review { position: sticky; top: 20px; }
.woocommerce-checkout-review-order-table { margin-bottom: 20px !important; border: 0 !important; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 12px 0 !important; }
.woocommerce-checkout #payment { border-radius: 12px; background: #f4f6fa; }
.woocommerce-checkout #payment ul.payment_methods { padding: 15px; border-bottom: 1px solid #dfe3eb; }
.woocommerce-checkout #payment ul.payment_methods li { margin-bottom: 7px; }
.woocommerce-checkout #payment div.payment_box { margin: 9px 0; border-radius: 9px; background: #e8edf6; color: #536078; font-size: 11px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #e8edf6; }
.woocommerce-checkout #payment div.form-row { padding: 15px; }
.woocommerce-checkout #payment #place_order { width: 100%; min-height: 50px; }
.woocommerce-terms-and-conditions-wrapper { color: #68738b; font-size: 11px; line-height: 1.6; }

/* Thank-you and order details */
.fv-thankyou { max-width: 980px; margin: 0 auto; }
.fv-thankyou-hero { padding: clamp(30px, 6vw, 64px); border-radius: 19px; background: linear-gradient(135deg,#10234c,#254d9e); color: #fff; text-align: center; }
.fv-thankyou-hero > i { display: block; margin-bottom: 13px; color: #79d5ad; font-size: 54px; }
.fv-thankyou-hero h1 { margin: 8px 0 10px; font-size: clamp(32px, 5vw, 54px); line-height: 1; }
.fv-thankyou-hero p { max-width: 680px; margin: 0 auto; color: rgba(255,255,255,.72); line-height: 1.6; }
.fv-thankyou-hero.is-failed { background: linear-gradient(135deg,#5c1c24,#9b3038); }
.fv-thankyou-actions { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin: 22px 0; overflow: hidden; border: 1px solid var(--fv-line); border-radius: 13px; background: var(--fv-line); }
.woocommerce ul.order_details li { min-width: 0; margin: 0; padding: 15px; border: 0; background: #fff; color: #7a8496; font-size: 9px; }
.woocommerce ul.order_details li strong { margin-top: 6px; color: var(--fv-navy); font-size: 12px; word-break: break-word; }
.fv-order-next { margin: 22px 0; padding: clamp(22px,4vw,36px); border: 1px solid var(--fv-line); border-radius: 15px; background: #fff; }
.fv-order-next h2 { margin: 7px 0 17px; color: var(--fv-navy); }
.fv-order-next-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.fv-order-next-item { display: flex; gap: 11px; padding: 14px; border-radius: 10px; background: #f3f6fb; }
.fv-order-next-item > i { color: var(--fv-blue); font-size: 22px; }
.fv-order-next-item strong, .fv-order-next-item span { display: block; }
.fv-order-next-item strong { color: var(--fv-navy); font-size: 11px; }
.fv-order-next-item span { margin-top: 4px; color: var(--fv-muted); font-size: 9.5px; }

/* My Account */
.fv-account-shell { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 28px; }
.woocommerce-MyAccount-navigation { padding: 14px; border: 1px solid var(--fv-line); border-radius: 15px; background: #fff; align-self: start; position: sticky; top: 20px; }
.fv-account-nav-head { padding: 12px 10px 17px; border-bottom: 1px solid var(--fv-line); }
.fv-account-nav-head strong { display: block; margin-top: 4px; color: var(--fv-navy); }
.woocommerce-MyAccount-navigation ul { margin: 10px 0 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 10px; padding: 11px 10px; border-radius: 9px; color: #5e6980; font-size: 11px; font-weight: 800; text-decoration: none; }
.woocommerce-MyAccount-navigation li a i { width: 18px; color: var(--fv-blue); font-size: 17px; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: #edf3ff; color: var(--fv-navy); }
.fv-account-content { min-width: 0; padding: clamp(22px,4vw,40px); border: 1px solid var(--fv-line); border-radius: 16px; background: #fff; }
.fv-account-welcome { padding: clamp(24px,4vw,42px); border-radius: 15px; background: linear-gradient(135deg,#10234c,#2e6de8); color: #fff; }
.fv-account-welcome h1 { margin: 8px 0 10px; font-size: clamp(31px,4vw,48px); line-height: 1; }
.fv-account-welcome p { color: rgba(255,255,255,.7); line-height: 1.6; }
.fv-account-shortcuts { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 18px; }
.fv-account-shortcuts a { padding: 18px; border: 1px solid var(--fv-line); border-radius: 12px; color: inherit; text-decoration: none; transition: .2s; }
.fv-account-shortcuts a:hover { transform: translateY(-3px); border-color: var(--fv-blue); box-shadow: var(--fv-shadow); }
.fv-account-shortcuts i { display: block; margin-bottom: 15px; color: var(--fv-blue); font-size: 26px; }
.fv-account-shortcuts strong, .fv-account-shortcuts span { display: block; }
.fv-account-shortcuts strong { color: var(--fv-navy); }
.fv-account-shortcuts span { margin-top: 4px; color: var(--fv-muted); font-size: 10px; }
.fv-orders-list { display: grid; gap: 12px; }
.fv-order-card { padding: 18px; border: 1px solid var(--fv-line); border-radius: 12px; }
.fv-order-card-top, .fv-order-card-meta, .fv-order-actions { display: flex; align-items: center; gap: 14px; }
.fv-order-card-top { justify-content: space-between; }
.fv-order-card-top span, .fv-order-card-top time { display: block; }
.fv-order-card-top span { color: var(--fv-navy); font-weight: 900; }
.fv-order-card-top time { margin-top: 4px; color: var(--fv-muted); font-size: 10px; }
.fv-order-card mark { padding: 5px 9px; border-radius: 999px; background: #eaf1ff; color: var(--fv-blue); font-size: 9px; font-weight: 900; }
.fv-order-card-meta { flex-wrap: wrap; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--fv-line); color: #657188; font-size: 10px; }
.fv-order-card-meta span { display: inline-flex; align-items: center; gap: 5px; }
.fv-order-card-meta strong { margin-left: auto; color: var(--fv-navy); font-size: 13px; }
.fv-order-actions { margin-top: 14px; }
.fv-order-actions .button { min-height: 35px !important; padding: 7px 13px !important; }
.woocommerce-MyAccount-downloads { width: 100%; }
.woocommerce-MyAccount-downloads th, .woocommerce-MyAccount-downloads td { padding: 12px; }
.fv-auth-head { margin-bottom: 25px; }
.fv-auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.fv-auth-grid.col1-set { grid-template-columns: minmax(0,600px); justify-content: center; }
.fv-auth-card { float: none !important; width: auto !important; padding: clamp(22px,4vw,38px); border: 1px solid var(--fv-line); border-radius: 15px; background: #fff; }
.fv-auth-card h2 { margin-bottom: 20px; color: var(--fv-navy); font-size: 28px; }
.fv-auth-card .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 7px; }
.fv-auth-card .woocommerce-form-login__submit { float: right; }
.fv-auth-card .lost_password { margin-top: 13px; }
.fv-auth-card a { color: var(--fv-blue); }

/* Mini cart drawer */
.fv-mini-cart-content .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.fv-mini-cart-content .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 12px; padding: 14px 28px 14px 0; border-bottom: 1px solid var(--fv-line); }
.fv-mini-cart-content .woocommerce-mini-cart-item > a:not(.remove) { color: var(--fv-navy); font-size: 12px; font-weight: 800; text-decoration: none; }
.fv-mini-cart-content .woocommerce-mini-cart-item img { float: left; width: 56px; margin-right: 12px; border-radius: 8px; background: #f3f5f8; }
.fv-mini-cart-content .woocommerce-mini-cart-item .remove { position: absolute; top: 13px; right: 0; color: #d84242 !important; font-size: 20px; text-decoration: none; }
.fv-mini-cart-content .quantity { display: block; margin-top: 6px; color: var(--fv-muted); font-size: 10px; }
.fv-mini-cart-content .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 16px 0; color: var(--fv-navy); }
.fv-mini-cart-content .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fv-mini-cart-content .woocommerce-mini-cart__buttons .button { min-height: 42px; }
.fv-mini-cart-content .woocommerce-mini-cart__empty-message { padding: 40px 10px; color: var(--fv-muted); text-align: center; }
.fv-primary-wide { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; background: var(--fv-blue); color: #fff; font-size: 12px; font-weight: 900; text-decoration: none; }
.fv-newsletter-success { margin-top: 10px; color: #90e2bd !important; font-size: 11px !important; }

/* WordPress blocks and comments */
.wp-caption { max-width: 100%; }
.alignwide { width: min(1120px,100%); margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.navigation.posts-navigation, .navigation.post-navigation { margin-top: 30px; }

@media (max-width: 900px) {
  .fv-content-shell, .fv-woocommerce-shell { width: min(100% - 28px, 1320px); padding: 38px 0; }
  .fv-single-product-grid, .fv-checkout-grid, .fv-cart-layout { grid-template-columns: 1fr; }
  .fv-single-summary, .fv-checkout-review, .fv-cart-summary { position: static; }
  .fv-account-shell { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
  .woocommerce-MyAccount-navigation li a { justify-content: center; text-align: center; }
  .fv-account-nav-head { text-align: center; }
  .woocommerce ul.order_details { grid-template-columns: repeat(2,1fr); }
  .fv-checkout-progress { max-width: 650px; }
}
@media (max-width: 640px) {
  .fv-content-shell, .fv-woocommerce-shell, .woocommerce-notices-wrapper { width: min(100% - 20px,1320px); }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; text-align: center; }
  .fv-single-product-grid { gap: 28px; }
  .woocommerce div.product .product_title { font-size: 36px; }
  .woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(4,1fr); }
  .woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tbody, .woocommerce-cart table.cart tr, .woocommerce-cart table.cart td, .woocommerce-cart table.cart th { display: block; width: 100%; }
  .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item { display: grid; grid-template-columns: 32px 72px minmax(0,1fr); padding: 14px; border-top: 1px solid var(--fv-line); }
  .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item:first-child { border-top: 0; }
  .woocommerce-cart table.cart td, .woocommerce-cart table.cart th { border: 0; padding: 5px; }
  .woocommerce-cart table.cart .product-remove { grid-column: 1; grid-row: 1 / 4; }
  .woocommerce-cart table.cart .product-thumbnail { grid-column: 2; grid-row: 1 / 4; }
  .woocommerce-cart table.cart .product-name, .woocommerce-cart table.cart .product-price, .woocommerce-cart table.cart .product-quantity, .woocommerce-cart table.cart .product-subtotal { grid-column: 3; }
  .woocommerce-cart table.cart .product-price::before, .woocommerce-cart table.cart .product-quantity::before, .woocommerce-cart table.cart .product-subtotal::before { content: attr(data-title) ': '; color: #8a94a7; font-size: 9px; }
  .woocommerce-cart table.cart td.actions .coupon { display: grid; grid-template-columns: 1fr auto; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { width: 100%; }
  .woocommerce-cart table.cart td.actions > .button { width: 100%; margin-top: 8px; }
  .fv-checkout-progress { grid-template-columns: repeat(4,auto); gap: 4px; }
  .fv-checkout-progress span { justify-content: center; font-size: 9px; }
  .fv-checkout-progress span b { display: none; }
  .fv-checkout-progress span::after { left: calc(50% + 14px); right: calc(-50% + 14px); }
  .fv-order-next-grid, .fv-account-shortcuts, .fv-auth-grid { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2,1fr); }
  .fv-order-card-top, .fv-order-card-meta { align-items: flex-start; }
  .fv-order-card-meta strong { width: 100%; margin-left: 0; }
  .woocommerce ul.order_details { grid-template-columns: 1fr; }
  .woocommerce ul.order_details li { border-bottom: 1px solid var(--fv-line); }
  .fv-thankyou-actions { flex-direction: column; }
}
@media (max-width: 480px) {
  .fv-nav.is-open .fv-dropdown { position: static; min-width: 0; width: 100%; border: 0; border-radius: 0; box-shadow: none; background: rgba(255,255,255,.06); }
  .fv-nav.is-open .fv-nav-item.is-open .fv-dropdown { display: block !important; }
  .fv-nav.is-open .fv-dropdown a { color: rgba(255,255,255,.82); border-color: rgba(255,255,255,.08); padding-left: 2.2rem; }
  .fv-nav.is-open .fv-dropdown-header { color: #8ebcff; padding-left: 2.2rem; }
  .fv-nav.is-open .fv-nav-toggle { width: 100%; border: 0; background: none; color: #fff; font-size: inherit; }
  .fv-shop-header .woocommerce-products-header__title, .fv-shop-header h1 { font-size: 38px; }
  .fv-account-content { padding: 18px 14px; }
  .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr 1fr; }
  .woocommerce-MyAccount-navigation li a { justify-content: flex-start; text-align: left; }
  .fv-auth-card { padding: 22px 16px; }
  .fv-auth-card .woocommerce-form-login__submit { float: none; width: 100%; margin-top: 10px; }
}


.woocommerce ul.products { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
@media (max-width:900px){ .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .woocommerce ul.products { gap:10px; } }

.fv-order-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:-12px 0 24px; }
.fv-order-filters a { padding:8px 13px; border:1px solid var(--fv-line); border-radius:999px; background:#fff; color:#647086; font-size:10px; font-weight:800; text-decoration:none; }
.fv-order-filters a.is-active, .fv-order-filters a:hover { border-color:var(--fv-blue); background:var(--fv-blue); color:#fff; }

/* ═══════════════════════════════════════════════════════════════
   PRODUCTION V1.1 — HOMEPAGE CONTROLS + MENU/PARITY FIXES
   ═══════════════════════════════════════════════════════════════ */

/* Discovery cards are links in WordPress; pin their intended palette instead
   of allowing the site's default link colour to override the production art. */
a.fv-discovery-card,
a.fv-discovery-card:visited {
  color: #fff;
  text-decoration: none;
}
a.fv-discovery-card:hover,
a.fv-discovery-card:focus-visible { color: #fff; }
a.fv-discovery-office,
a.fv-discovery-office:visited { color: #102348; }
a.fv-discovery-laptop,
a.fv-discovery-laptop:visited { color: #102313; }
a.fv-discovery-office:hover,
a.fv-discovery-office:focus-visible { color: #102348; }
a.fv-discovery-laptop:hover,
a.fv-discovery-laptop:focus-visible { color: #102313; }
.fv-discovery-deal,
.fv-discovery-deal:visited,
.fv-discovery-deal .fv-card-tag,
.fv-discovery-deal .fv-card-copy,
.fv-discovery-deal .fv-deal-stamp { color: #fff; }

/* Always-visible CSS chevrons keep dropdown affordances intact even when the
   external icon font is delayed or blocked. */
.fv-nav-toggle { gap: 10px; }
.fv-nav-toggle .ti-chevron-down { display: none; }
.fv-nav-toggle::after {
  content: '';
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  margin-top: -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transform-origin: 60% 60%;
  opacity: .82;
  transition: transform .22s cubic-bezier(.16,1,.3,1), opacity .2s ease;
}
.fv-nav-item:hover .fv-nav-toggle::after,
.fv-nav-toggle:focus-visible::after { opacity: 1; }
.fv-nav-item.is-open .fv-nav-toggle::after {
  transform: rotate(225deg);
  margin-top: 4px;
}
.fv-nav-item.is-open > .fv-dropdown { display: block; }

/* The comparison card preserves the original four-card storefront rhythm
   until a fourth live Windows SKU is assigned in the Customizer. */
.fv-winkey-guide-card {
  border-style: dashed;
  border-color: #9cb7ec;
  background: linear-gradient(160deg, #f8fbff 0%, #eef4ff 100%);
}
.fv-winkey-guide-card .fv-winkey-logo { color: #557cc7; }
.fv-winkey-guide-card .fv-winkey-btn { margin-top: auto; }

@media (max-width: 480px) {
  .fv-nav.is-open .fv-nav-item.is-open > .fv-dropdown { display: block !important; }
  .fv-nav.is-open .fv-nav-toggle::after { margin-right: 2px; }
}
.fv-winkey-card-link,
.fv-winkey-card-link:visited,
.fv-winkey-card-link:hover,
.fv-winkey-card-link:focus-visible {
  display: block;
  color: inherit;
  text-decoration: none;
}


/* ═══════════════════════════════════════════════════════════════
   PRODUCTION V1.1.1 — MOBILE WINDOWS KEYS SECTION FIX
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  ul.fv-winkey-grid,
  .fv-winkey-grid,
  .woocommerce ul.products.fv-winkey-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
  }

  .fv-winkey-card {
    min-width: 0;
    padding: 16px 12px;
    border-radius: 16px;
  }

  .fv-winkey-card .fv-win-badge {
    top: 10px;
    right: 10px;
    font-size: 9px;
    padding: 3px 8px;
  }

  .fv-winkey-logo {
    font-size: 34px;
    margin-bottom: 8px;
  }

  .fv-winkey-ver {
    font-size: clamp(16px, 5vw, 22px);
    line-height: 1.12;
    letter-spacing: -0.5px;
    overflow-wrap: anywhere;
    word-break: normal;
    margin-bottom: 6px;
  }

  .fv-winkey-edition {
    font-size: 12px;
    line-height: 1.35;
    margin-bottom: 10px;
  }

  .fv-winkey-perks {
    margin: 8px 0 12px;
  }

  .fv-winkey-perk {
    font-size: 10.5px;
    line-height: 1.3;
    margin-bottom: 5px;
  }

  .fv-winkey-price {
    font-size: 20px;
  }

  .fv-winkey-btn {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.15;
  }

  .fv-winkey-guide-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 389px) {
  ul.fv-winkey-grid,
  .fv-winkey-grid,
  .woocommerce ul.products.fv-winkey-grid {
    grid-template-columns: 1fr;
  }

  .fv-winkey-guide-card {
    grid-column: auto;
  }
}
