
    /* ===== RESET & BASE ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background-color: #f1f4ff;
      color: #222;
      font-family: 'Georgia', 'Times New Roman', serif;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; width: 100%; height: auto; }

    /* ===== CSS VARIABLES ===== */
    :root {
      --bg: #f1f4ff;
      --bg-card: #ffffff;
      --accent: #5b7cfa;
      --accent-light: #e8edff;
      --text-dark: #1a1a2e;
      --text-mid: #444466;
      --text-light: #888aaa;
      --radius: 18px;
      --shadow: 0 4px 32px rgba(91,124,250,0.10);
      --shadow-hover: 0 8px 48px rgba(91,124,250,0.18);
      --max-w: 1200px;
      --gap: 24px;
    }

    /* ===== LAYOUT ===== */
    .container {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 20px;
    }
    section { padding: 64px 0; }
    section + section { padding-top: 0; }

    /* ===== HERO BANNER ===== */
    .hero {
      position: relative;
      width: 100%;
      border-radius: 0 0 var(--radius) var(--radius);
      overflow: hidden;
      background: var(--bg);
    }
    .hero img {
      width: 100%;
      aspect-ratio: 16/9;
      object-fit: cover;
    }

    /* ===== SECTION TITLES ===== */
    .section-title {
      font-size: clamp(1.6rem, 4vw, 2.4rem);
      font-weight: 700;
      color: var(--text-dark);
      letter-spacing: -0.02em;
      margin-bottom: 8px;
    }
    .section-sub {
      font-size: 1rem;
      color: var(--text-light);
      font-family: 'Helvetica Neue', Arial, sans-serif;
      font-weight: 400;
      margin-bottom: 40px;
    }
    .center { text-align: center; }

    /* ===== PRODUCT INTRO ===== */
    .intro-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--gap);
      align-items: center;
    }
    .intro-text h1 {
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 800;
      color: var(--text-dark);
      line-height: 1.1;
      margin-bottom: 16px;
    }
    .intro-text p {
      font-size: 1.05rem;
      color: var(--text-mid);
      font-family: 'Helvetica Neue', Arial, sans-serif;
      line-height: 1.8;
      margin-bottom: 24px;
    }
    .tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    .tag {
      background: var(--accent-light);
      color: var(--accent);
      border-radius: 100px;
      padding: 6px 18px;
      font-size: 0.85rem;
      font-family: 'Helvetica Neue', Arial, sans-serif;
      font-weight: 600;
      letter-spacing: 0.02em;
    }
    .intro-image {
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow);
    }

    /* ===== PRODUCT IMAGES: 7 HERO SHOTS (1:1 GRID) ===== */
    .grid-7 {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--gap);
    }
    .grid-7 .item-wide {
      grid-column: span 2;
    }
    .grid-7 .img-card {
      border-radius: var(--radius);
      overflow: hidden;
      background: #fff;
      box-shadow: var(--shadow);
      transition: box-shadow 0.3s, transform 0.3s;
    }
    .grid-7 .img-card:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-4px);
    }
    .grid-7 .img-card img {
      aspect-ratio: 1/1;
      object-fit: cover;
      width: 100%;
    }

    /* ===== SERIES IMAGES: 16:9 WIDESCREEN ===== */
    .series-wide {
      display: flex;
      flex-direction: column;
      gap: var(--gap);
    }
    .wide-card {
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: box-shadow 0.3s, transform 0.3s;
    }
    .wide-card:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-3px);
    }
    .wide-card img {
      width: 100%;
      aspect-ratio: 16/9;
      object-fit: cover;
    }
    .wide-card .caption {
      background: #fff;
      padding: 14px 20px;
      font-size: 0.9rem;
      color: var(--text-light);
      font-family: 'Helvetica Neue', Arial, sans-serif;
      letter-spacing: 0.01em;
    }

    /* ===== MOBILE SERIES IMAGES: 1:1 ===== */
    .grid-mobile {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--gap);
    }
    .grid-mobile .img-card {
      border-radius: var(--radius);
      overflow: hidden;
      background: #fff;
      box-shadow: var(--shadow);
      transition: box-shadow 0.3s, transform 0.3s;
    }
    .grid-mobile .img-card:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-4px);
    }
    .grid-mobile .img-card img {
      aspect-ratio: 1/1;
      object-fit: cover;
      width: 100%;
    }

    /* ===== FEATURE SPECS ===== */
    .specs-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--gap);
    }
    .spec-card {
      background: var(--bg-card);
      border-radius: var(--radius);
      padding: 36px 28px;
      box-shadow: var(--shadow);
      text-align: center;
      transition: box-shadow 0.3s, transform 0.3s;
    }
    .spec-card:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-4px);
    }
    .spec-icon {
      font-size: 2.8rem;
      margin-bottom: 16px;
    }
    .spec-card h3 {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--text-dark);
      margin-bottom: 10px;
    }
    .spec-card p {
      font-size: 0.92rem;
      color: var(--text-mid);
      font-family: 'Helvetica Neue', Arial, sans-serif;
      line-height: 1.7;
    }

    /* ===== SIZE SELECTOR ===== */
    .size-section {
      background: var(--bg-card);
      border-radius: var(--radius);
      padding: 48px 40px;
      box-shadow: var(--shadow);
    }
    .size-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--gap);
      margin-top: 32px;
    }
    .size-card {
      background: var(--accent-light);
      border-radius: 14px;
      padding: 28px 20px;
      text-align: center;
      border: 2px solid transparent;
      transition: border-color 0.2s, background 0.2s;
    }
    .size-card:hover { border-color: var(--accent); background: #dde5ff; }
    .size-number {
      font-size: 3rem;
      font-weight: 800;
      color: var(--accent);
      line-height: 1;
      margin-bottom: 6px;
    }
    .size-label {
      font-size: 1rem;
      font-weight: 600;
      color: var(--text-dark);
      font-family: 'Helvetica Neue', Arial, sans-serif;
    }
    .size-desc {
      font-size: 0.85rem;
      color: var(--text-mid);
      font-family: 'Helvetica Neue', Arial, sans-serif;
      margin-top: 8px;
    }

    /* ===== FAQ ===== */
    .faq-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
      max-width: 800px;
      margin: 0 auto;
    }
    .faq-item {
      background: var(--bg-card);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow: hidden;
    }
    .faq-question {
      width: 100%;
      background: none;
      border: none;
      padding: 22px 28px;
      text-align: left;
      font-size: 1rem;
      font-weight: 700;
      color: var(--text-dark);
      font-family: 'Georgia', serif;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      transition: background 0.2s;
    }
    .faq-question:hover { background: var(--accent-light); }
    .faq-arrow {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: var(--accent-light);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 1rem;
      color: var(--accent);
      transition: transform 0.3s;
    }
    .faq-item.open .faq-arrow { transform: rotate(45deg); }
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s ease;
      padding: 0 28px;
      font-size: 0.95rem;
      color: var(--text-mid);
      font-family: 'Helvetica Neue', Arial, sans-serif;
      line-height: 1.8;
    }
    .faq-item.open .faq-answer {
      max-height: 400px;
      padding: 0 28px 22px;
    }

    /* ===== FOOTER ===== */
    .footer {
      background: var(--text-dark);
      color: #aab0cc;
      text-align: center;
      padding: 40px 20px;
      font-size: 0.88rem;
      font-family: 'Helvetica Neue', Arial, sans-serif;
    }
    .footer p + p { margin-top: 6px; }

    /* ===== DIVIDER ===== */
    .divider {
      width: 60px;
      height: 4px;
      background: linear-gradient(90deg, var(--accent), #a78bfa);
      border-radius: 4px;
      margin: 0 auto 40px;
    }
    .divider-left { margin: 0 0 40px; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 900px) {
      .intro-grid { grid-template-columns: 1fr; }
      .intro-image { order: -1; }
      .grid-7 { grid-template-columns: repeat(2, 1fr); }
      .grid-7 .item-wide { grid-column: span 2; }
      .specs-grid { grid-template-columns: repeat(2, 1fr); }
      .size-grid { grid-template-columns: repeat(3, 1fr); }
      .grid-mobile { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 600px) {
      section { padding: 44px 0; }
      .grid-7 { grid-template-columns: 1fr; }
      .grid-7 .item-wide { grid-column: span 1; }
      .specs-grid { grid-template-columns: 1fr; }
      .size-grid { grid-template-columns: 1fr; }
      .size-section { padding: 32px 20px; }
      .grid-mobile { grid-template-columns: repeat(2, 1fr); }
      .faq-question { padding: 18px 20px; font-size: 0.95rem; }
      .faq-answer { padding: 0 20px; }
      .faq-item.open .faq-answer { padding: 0 20px 18px; }
    }
  