/* Navbar & ticker : définis dans components.css */

    /* HERO */
    .page-hero {
      display: grid; grid-template-columns: 1fr 1fr;
      border-bottom: 1px solid var(--color-border);
      min-height: 400px;
    }
    .page-hero__left {
      padding: var(--space-6) var(--space-6);
      display: flex; flex-direction: column; justify-content: center; gap: var(--space-3);
      border-right: 1px solid var(--color-border);
    }
    .page-hero__right {
      position: relative;
      overflow: hidden;
      background: var(--color-brand-primary-800);
    }
    .page-hero__right img {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 38%;
      opacity: .85; display: block;
    }
    .page-hero__overlay {
      position: absolute; inset: 0;
      background: linear-gradient(160deg, rgba(21,29,83,.6) 0%, rgba(251,133,0,.15) 100%);
    }
    .page-hero__studio-label {
      position: absolute; bottom: var(--space-3); left: var(--space-3);
      background: rgba(21,29,83,.82); backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-pill);
      padding: 6px 14px;
      display: flex; align-items: center; gap: 8px;
    }
    .page-hero__studio-label span { font-size: var(--fs-caption); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.9); }
    .page-hero__studio-dot { width: 6px; height: 6px; background: var(--color-brand-gold-500); border-radius: 50%; flex-shrink: 0; }
    .page-hero__title {
      font-family: var(--font-heading);
      font-size: clamp(2rem, 3vw, 3.25rem);
      font-weight: 800; line-height: .95; letter-spacing: -0.03em;
      color: var(--color-brand-primary-800);
    }
    .page-hero__title em { font-style: normal; color: var(--color-accent-ink); }
    .page-hero__desc { font-size: var(--fs-body-lg); color: var(--color-text-soft); line-height: var(--lh-body-relaxed); max-width: 420px; }
    .reassure-list { display: flex; flex-direction: column; gap: var(--space-2); }
    .reassure-item { display: flex; align-items: center; gap: 12px; }
    .reassure-dot { width: 8px; height: 8px; background: var(--color-brand-gold-500); border-radius: 50%; flex-shrink: 0; }
    .reassure-text { font-size: var(--fs-body-sm); font-weight: 600; color: var(--color-brand-primary-800); }

    /* SCARCITY */
    .scarcity-bar {
      background: var(--color-brand-gold-500);
      padding: 11px var(--space-6);
      display: flex; align-items: center; justify-content: center; gap: var(--space-3);
      border-bottom: 1px solid var(--color-border);
      font-size: var(--fs-body-sm);
    }
    .scarcity-bar .scarcity-full { display: inline; }
    .scarcity-bar .scarcity-short { display: none; }
    .scarcity-dot { width: 8px; height: 8px; background: var(--color-brand-accent-600); border-radius: 50%; animation: pulse 2s infinite; flex-shrink: 0; }
    @keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }
    @media (prefers-reduced-motion: reduce) { .scarcity-dot { animation: none; } }
    @media (max-width: 600px) {
      .scarcity-bar { padding: 10px var(--space-3); }
      .scarcity-bar .scarcity-full { display: none; }
      .scarcity-bar .scarcity-short { display: inline; }
    }

    /* SEC HEAD */
    .fwi-sec-head {
      padding: var(--space-5) var(--space-6) var(--space-4);
      display: flex; align-items: center; gap: var(--space-2);
      border-bottom: 1px solid var(--color-border); flex-wrap: wrap;
    }

    /* VALEUR */
    .valeur-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      background: var(--color-brand-primary-800);
      border-bottom: 1px solid var(--color-border);
    }
    .valeur-card {
      padding: var(--space-5) var(--space-4);
      border-right: 1px solid rgba(255,255,255,.1);
      display: flex; flex-direction: column; gap: var(--space-2);
    }
    .valeur-card:last-child { border-right: none; }
    .valeur-icon { font-size: 1.5rem; margin-bottom: 4px; }
    .valeur-num { font-size: var(--fs-caption); font-weight: 800; letter-spacing: .22em; color: var(--color-brand-gold-500); }
    .valeur-title { font-family: var(--font-heading); font-size: var(--fs-h5); font-weight: 800; color: #fff; }
    .valeur-text { font-size: var(--fs-body-sm); color: rgba(255,255,255,.75); line-height: 1.75; }

    /* FORMATS SPLIT */
    .format-split {
      display: grid; grid-template-columns: 1fr 1fr;
      border-bottom: 1px solid var(--color-border);
    }
    .format-split__left {
      padding: var(--space-6);
      border-right: 1px solid var(--color-border);
      display: flex; flex-direction: column; gap: var(--space-3);
    }
    .format-split__right {
      position: relative; overflow: hidden; min-height: 480px;
      background: var(--color-brand-primary-800);
    }
    .format-split__right img {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; object-position: center 20%; opacity: .6;
    }
    .format-split__right-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(160deg, rgba(21,29,83,.6) 0%, rgba(251,133,0,.2) 100%);
    }
    .format-split__badge {
      position: absolute; bottom: var(--space-3); left: var(--space-3);
      background: rgba(255,255,255,.1); backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: var(--radius-lg); padding: var(--space-2) var(--space-3);
    }
    .format-split__badge-price { font-family: var(--font-heading); font-size: var(--fs-h2); font-weight: 800; color: var(--color-brand-gold-500); }
    .format-split__badge-label { font-size: var(--fs-caption); font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.55); }
    .format-tag { font-size: var(--fs-caption); font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--color-accent-ink); }
    .format-title { font-family: var(--font-heading); font-size: var(--fs-h2); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: var(--color-brand-primary-800); }
    .format-includes { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .format-includes li { display: flex; align-items: center; gap: 10px; font-size: var(--fs-body-sm); color: var(--color-text-soft); }
    .format-includes li::before { content: ''; width: 6px; height: 6px; background: var(--color-brand-gold-500); border-radius: 50%; flex-shrink: 0; }

    /* PROCESSUS */
    .processus-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      border-bottom: 1px solid var(--color-border);
    }
    .processus-step {
      padding: var(--space-5) var(--space-4);
      border-right: 1px solid var(--color-border);
      display: flex; flex-direction: column; gap: var(--space-2);
    }
    .processus-step:last-child { border-right: none; }
    .processus-num {
      font-family: var(--font-heading); font-size: 3rem; font-weight: 800;
      color: var(--color-brand-primary-200); line-height: 1; margin-bottom: -4px;
    }
    .processus-title { font-family: var(--font-heading); font-size: var(--fs-h5); font-weight: 800; color: var(--color-brand-primary-800); }
    .processus-text { font-size: var(--fs-body-sm); color: var(--color-text-soft); line-height: 1.75; }

    /* FORM */
    .form-section {
      display: grid; grid-template-columns: 1fr 1fr;
      border-bottom: 1px solid var(--color-border);
    }
    .form-left {
      padding: var(--space-7) var(--space-6);
      border-right: 1px solid var(--color-border);
      display: flex; flex-direction: column; gap: var(--space-4);
    }
    .form-right {
      padding: var(--space-7) var(--space-6);
      display: flex; flex-direction: column;
    }
    .form-success-block {
      display: none; text-align: center; padding: var(--space-6);
      background: var(--color-success-bg); border: 1px solid var(--color-success-border);
      border-radius: var(--radius-lg);
    }
    .form-refuse-block {
      display: none; text-align: center; padding: var(--space-4);
      background: var(--color-warning-bg); border: 1px solid var(--color-warning-border);
      border-radius: var(--radius-lg);
    }
    .form-grid { display: grid; gap: var(--space-3); }
    .form-radios { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
    .radio-card { border: 1.5px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); cursor: pointer; transition: border-color var(--transition-fast), background var(--transition-fast); }
    .radio-card:has(input:checked) { border-color: var(--color-brand-primary-800); background: rgba(21,29,83,.04); }
    .radio-card input { position: absolute; opacity: 0; pointer-events: none; }
    .radio-card-name { font-weight: 800; font-size: var(--fs-body-sm); color: var(--color-brand-primary-800); }
    .radio-card-price { font-size: var(--fs-caption); font-weight: 800; color: var(--color-accent-ink); letter-spacing: .1em; }

    /* ===== FORMAT ILLUSTRATIONS · ÉDITORIAL ===== */
    .fr-editorial {
      position: relative; overflow: hidden;
      background: var(--color-brand-primary-800);
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: var(--space-5) var(--space-5) var(--space-6);
    }

    /* Grille fond */
    .fre-grid {
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size: 28px 28px;
      pointer-events: none;
    }

    /* Grand chiffre fantôme haut-droite */
    .fre-ghost {
      position: absolute; top: -.08em; right: -.04em;
      font-family: var(--font-heading);
      font-size: clamp(9rem, 20vw, 17rem);
      font-weight: 900; line-height: 1; letter-spacing: -.06em;
      color: rgba(255,255,255,.042);
      pointer-events: none; user-select: none;
    }

    /* Élément sketch haut-droit */
    .fre-sketch {
      position: absolute; top: var(--space-4); right: var(--space-4);
      opacity: .18;
    }

    /* Contenu */
    .fre-content { position: relative; z-index: 1; }

    .fre-eyebrow {
      font-size: var(--fs-caption); font-weight: 800;
      letter-spacing: .22em; text-transform: uppercase;
      color: rgba(255,255,255,.65); margin-bottom: 10px;
    }

    .fre-display {
      font-family: var(--font-heading);
      font-size: clamp(3.8rem, 8.5vw, 6.8rem);
      font-weight: 900; line-height: .88;
      letter-spacing: -.04em; text-transform: uppercase;
      color: #fff;
    }

    /* Badge doré italique (comme le "mais forte em 2026" de la ref) */
    .fre-badge {
      display: inline-block;
      background: var(--color-brand-gold-500);
      color: var(--color-brand-primary-800);
      font-family: var(--font-heading);
      font-style: italic; font-weight: 700;
      font-size: clamp(.85rem, 1.8vw, 1.05rem);
      padding: 2px 10px 4px;
      border-radius: 4px; margin-top: 12px;
      letter-spacing: -.01em;
    }

    .fre-tags { display: flex; gap: 6px; margin-top: 14px; flex-wrap: wrap; }
    .fre-tag {
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 100px; padding: 3px 10px;
      font-size: 9px; font-weight: 800;
      letter-spacing: .14em; text-transform: uppercase;
      color: rgba(255,255,255,.72);
    }

    /* FAQ */
    .faq-section { border-bottom: 1px solid var(--color-border); }
    .faq-inner { display: grid; grid-template-columns: 1fr 1fr; }
    .faq-left { padding: var(--space-6); border-right: 1px solid var(--color-border); }
    .faq-right { padding: var(--space-6); }
    .faq-lead { font-size: var(--fs-body); color: var(--color-text-soft); line-height: var(--lh-body-relaxed); }

    /* TESTIMONIALS GRID */
    .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-3);
      padding: var(--space-5) var(--space-6);
      border-bottom: 1px solid var(--color-border);
    }

    /* Format description paragraph */
    .format-desc {
      font-size: var(--fs-body);
      color: var(--color-text-soft);
      line-height: var(--lh-body-relaxed);
    }

    /* Format price block */
    .format-price {
      padding-top: var(--space-3);
      border-top: 1px solid var(--color-border);
    }
    .format-price__num {
      font-size: var(--fs-h1);
      font-family: var(--font-heading);
      font-weight: 800;
      color: var(--color-brand-primary-800);
      line-height: 1;
    }
    .format-price__currency {
      font-size: var(--fs-body-sm);
      color: var(--color-text-soft);
      font-weight: 400;
    }
    .format-price__label {
      font-size: var(--fs-caption);
      color: var(--color-text-muted);
      font-weight: 700;
      letter-spacing: .1em;
      margin-top: 4px;
    }

    /* Form sidebar availability box */
    .form-avail {
      background: var(--color-brand-primary-800);
      border-radius: var(--radius-lg);
      padding: var(--space-4);
      display: flex;
      flex-direction: column;
      gap: var(--space-2);
    }
    .form-avail__label {
      font-size: var(--fs-caption);
      font-weight: 800;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--color-brand-gold-500);
    }
    .form-avail__num {
      font-family: var(--font-heading);
      font-size: var(--fs-h5);
      font-weight: 800;
      color: #fff;
    }
    .form-avail__note {
      font-size: var(--fs-body-sm);
      color: rgba(255, 255, 255, .5);
    }

    /* Check list items in form sidebar */
    .check-list {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .check-item {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: var(--fs-body-sm);
      color: var(--color-text-soft);
    }
    .check-icon {
      width: 20px;
      height: 20px;
      background: var(--color-brand-primary-800);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    /* Hero CTA button row */
    .page-hero__actions {
      display: flex;
      gap: var(--space-2);
      flex-wrap: wrap;
    }

    /* Video showcase section */
    .video-showcase {
      padding: var(--space-7) var(--space-6);
      border-top: 1px solid var(--color-border);
      border-bottom: 1px solid var(--color-border);
      background: var(--color-bg-elevated);
    }
    .video-showcase__inner {
      max-width: 720px;
      margin: 0 auto;
    }
    .video-showcase__title {
      font-family: var(--font-heading);
      font-size: clamp(1.25rem, 2.5vw, 1.75rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--color-brand-primary-800);
      margin-bottom: var(--space-4);
      line-height: 1.1;
    }
    .video-showcase__embed {
      position: relative;
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-lg);
    }
    .video-showcase__note {
      margin-top: var(--space-3);
      font-size: var(--fs-body-sm);
      color: var(--color-text-soft);
    }
    .video-showcase__note a {
      color: var(--color-brand-primary-800);
      font-weight: 600;
    }

    /* RESPONSIVE */
    @media (max-width: 900px) {
      .page-hero, .format-split, .form-section { grid-template-columns: 1fr; }
      .page-hero__left { padding: var(--space-4) var(--space-3); border-right: none; border-bottom: 1px solid var(--color-border); }
      .page-hero__right { height: 260px; padding: 0; }
      .valeur-grid { grid-template-columns: repeat(2, 1fr); }
      .valeur-card:nth-child(2) { border-right: none; }
      .valeur-card:nth-child(3), .valeur-card:nth-child(4) { border-top: 1px solid rgba(255,255,255,.1); }
      .fwi-sec-head { padding: var(--space-4) var(--space-3) var(--space-3); }
      .format-split__left { border-right: none; border-bottom: 1px solid var(--color-border); padding: var(--space-5) var(--space-3); order: 2; }
      .format-split__right { min-height: 280px; order: 1; }
      .processus-grid { grid-template-columns: repeat(2, 1fr); }
      .processus-step:nth-child(2) { border-right: none; }
      .processus-step:nth-child(3), .processus-step:nth-child(4) { border-top: 1px solid var(--color-border); }
      .form-left { border-right: none; border-bottom: 1px solid var(--color-border); padding: var(--space-5) var(--space-3); }
      .form-right { padding: var(--space-5) var(--space-3); }
      .faq-inner { grid-template-columns: 1fr; }
      .faq-left { border-right: none; border-bottom: 1px solid var(--color-border); padding: var(--space-4) var(--space-3); }
      .faq-right { padding: var(--space-4) var(--space-3); }
      .testimonials-grid { grid-template-columns: repeat(2, 1fr); padding: var(--space-4) var(--space-3); }
    }
    @media (max-width: 600px) {
      .testimonials-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 600px) {
      .form-radios { grid-template-columns: 1fr; }
      .processus-grid { grid-template-columns: 1fr; }
      .processus-step { border-right: none; border-bottom: 1px solid var(--color-border); }
      .processus-step:last-child { border-bottom: none; }
    }

    /* HERO VIDEO + STATS */
    .hero-video-wrap { display: flex; flex-direction: column; gap: var(--space-3); justify-content: center; height: 100%; }
    .hero-video-thumb {
      position: relative; border-radius: var(--radius-xl); overflow: hidden;
      aspect-ratio: 16/9; background: var(--color-brand-primary-800);
      box-shadow: var(--shadow-md); display: block; text-decoration: none;
    }
    .hero-video-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .2s; }
    .hero-video-thumb:hover img { opacity: .82; }
    .hero-video-play {
      position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    }
    .hero-video-play-btn {
      width: 56px; height: 56px; background: rgba(255,255,255,.92); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      transition: transform .2s, background .2s;
    }
    .hero-video-thumb:hover .hero-video-play-btn { transform: scale(1.08); background: #fff; }
    .hero-video-caption { font-size: var(--fs-caption); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--color-text-muted); text-align: center; }
    .hero-stats {
      display: grid; grid-template-columns: repeat(3, 1fr);
      border: 1px solid var(--color-border); border-radius: var(--radius-lg);
      overflow: hidden; background: var(--color-surface);
    }
    .hero-stat { padding: var(--space-3) var(--space-2); text-align: center; border-right: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 4px; }
    .hero-stat:last-child { border-right: none; }
    .hero-stat__num { font-family: var(--font-heading); font-size: clamp(1.25rem, 2.5vw, 1.75rem); font-weight: 800; color: var(--color-brand-primary-800); line-height: 1; }
    .hero-stat__label { font-size: var(--fs-caption); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-muted); }

    /* MULTI-STEP FORM */
    .form-progress { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-4); }
    .form-progress-step { display: flex; align-items: center; gap: 10px; }
    .form-progress-step span { font-size: var(--fs-caption); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: color .2s; }
    .form-progress-dot {
      width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center;
      justify-content: center; font-size: 11px; font-weight: 800; flex-shrink: 0;
      transition: background .2s, color .2s;
    }
    .form-progress-dot--active { background: var(--color-brand-primary-800); color: #fff; }
    .form-progress-dot--done { background: var(--color-brand-gold-500); color: var(--color-brand-primary-800); }
    .form-progress-dot--pending { background: var(--color-bg-elevated); border: 1.5px solid var(--color-border); color: var(--color-text-muted); }
    .form-progress-line { flex: 1; height: 2px; background: var(--color-border); border-radius: 1px; transition: background .3s; }
    .form-progress-line--done { background: var(--color-brand-gold-500); }
    .form-step { display: none; }
    .form-step.is-active { display: contents; }
    .form-step-nav { display: flex; gap: var(--space-2); }
    /* Fallback sans JS : affiche toutes les étapes, cache les boutons de nav JS */
    .no-js .form-step { display: contents; }
    .no-js #formProgress { display: none !important; }
    .no-js #form-short { display: none !important; }
    .no-js #formNextBtn, .no-js #formPrevBtn { display: none !important; }

    /* STICKY CTA MOBILE */
    .sticky-cta-mobile {
      display: none;
      position: fixed;
      bottom: 0; left: 0; right: 0;
      z-index: 50;
      background: #fff;
      border-top: 1px solid var(--color-border);
      padding: 12px var(--space-4);
      box-shadow: 0 -4px 16px rgba(0,0,0,.08);
    }
    .sticky-cta-mobile .btn { width: 100%; justify-content: center; }
    @media (max-width: 900px) {
      .sticky-cta-mobile { display: block; }
    }

    /* IDENTIFICATION / SELF-SELECTION */
    /* AN VWA · SÉRIE DE VOCAUX (éditorial, sur sélection) */
    .anvwa-block {
      display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-5);
      background:
        radial-gradient(ellipse 620px 420px at 85% 15%, rgba(250,199,16,.16), transparent 70%),
        radial-gradient(ellipse 520px 380px at 8% 95%, rgba(251,133,0,.10), transparent 70%),
        #FBF4E2;
      border-top: 3px solid var(--color-brand-gold-500);
      border-bottom: 1px solid var(--color-border);
      padding: var(--space-7) var(--space-6);
    }
    .anvwa-block__left { display: flex; flex-direction: column; gap: var(--space-3); justify-content: center; }
    .anvwa-eyebrow {
      display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap;
      font-size: var(--fs-caption); font-weight: 800; letter-spacing: .2em;
      text-transform: uppercase; color: var(--color-brand-accent-700, #d96f00);
    }
    .anvwa-wave { display: inline-flex; align-items: center; gap: 3px; }
    .anvwa-wave i {
      display: block; width: 4px; border-radius: 2px;
      background: var(--color-brand-gold-500);
    }
    .anvwa-wave i:nth-child(1) { height: 8px; }
    .anvwa-wave i:nth-child(2) { height: 16px; }
    .anvwa-wave i:nth-child(3) { height: 24px; }
    .anvwa-wave i:nth-child(4) { height: 14px; }
    .anvwa-wave i:nth-child(5) { height: 9px; }
    .anvwa-wave--sm { transform: scale(.72); transform-origin: left center; }
    .anvwa-summer {
      font-size: var(--fs-caption); font-weight: 800; letter-spacing: .08em;
      text-transform: uppercase; color: var(--color-brand-primary-800);
      background: var(--color-brand-gold-500); border-radius: var(--radius-pill);
      padding: 4px 12px; white-space: nowrap;
    }
    .hero-anvwa-link {
      display: inline-flex; align-items: center; gap: 10px;
      align-self: flex-start;
      font-size: var(--fs-body-sm); color: var(--color-brand-primary-800);
      text-decoration: none; cursor: pointer;
      background: rgba(250,199,16,.14);
      border: 1px solid rgba(250,199,16,.55);
      border-radius: var(--radius-pill);
      padding: 8px 16px;
      transition: background-color .2s ease, border-color .2s ease;
    }
    .hero-anvwa-link:hover { background: rgba(250,199,16,.28); border-color: var(--color-brand-gold-500); }
    .hero-anvwa-link:focus-visible { outline: 3px solid var(--color-brand-gold-500); outline-offset: 2px; }
    .hero-anvwa-link strong { font-weight: 800; }
    .form-anvwa-hint {
      margin-top: 8px;
      font-size: var(--fs-caption); color: var(--color-text-soft);
    }
    .form-anvwa-hint a {
      color: var(--color-brand-primary-800); font-weight: 700;
      text-decoration: underline; text-underline-offset: 2px;
      transition: color .2s ease;
    }
    .form-anvwa-hint a:hover { color: var(--color-brand-accent-700, #d96f00); }
    .anvwa-title {
      font-family: var(--font-heading);
      font-size: clamp(1.9rem, 3.2vw, 3rem);
      font-weight: 800; line-height: 1.08; letter-spacing: -0.02em;
      color: var(--color-brand-primary-800);
    }
    .anvwa-title em { font-style: italic; color: var(--color-brand-accent-700, #d96f00); }
    .anvwa-desc { font-size: var(--fs-body); color: var(--color-text-soft); line-height: var(--lh-body-relaxed); max-width: 52ch; }
    .anvwa-points { list-style: none; display: flex; flex-direction: column; gap: 14px; padding: 0; }
    .anvwa-points li {
      display: flex; align-items: center; gap: 14px;
      font-size: var(--fs-body-sm); color: var(--color-text-soft);
      line-height: 1.5;
    }
    .anvwa-points li strong { color: var(--color-brand-primary-800); }
    .anvwa-points__icon {
      display: inline-flex; align-items: center; justify-content: center;
      width: 40px; height: 40px; flex-shrink: 0;
      border-radius: 50%;
      background: rgba(250,199,16,.22);
      border: 1px solid rgba(212,160,0,.55);
      color: var(--color-brand-primary-800);
    }
    .anvwa-points__icon svg { width: 20px; height: 20px; }
    .anvwa-note {
      font-size: var(--fs-caption); font-weight: 700; letter-spacing: .06em;
      text-transform: uppercase; color: var(--color-text-muted);
    }
    .anvwa-block__right { display: flex; align-items: center; }
    .anvwa-form {
      background: #fff; border-radius: var(--radius-lg, 16px);
      border: 1px solid rgba(212,160,0,.35);
      padding: var(--space-4); width: 100%;
      display: flex; flex-direction: column; gap: var(--space-2);
      box-shadow: 0 16px 44px rgba(21,29,83,.10);
    }
    .anvwa-form__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-bottom: 4px; }
    .anvwa-form__title { font-family: var(--font-heading); font-size: var(--fs-h5); font-weight: 800; color: var(--color-brand-primary-800); }
    .anvwa-form__badge {
      font-size: var(--fs-caption); font-weight: 800; letter-spacing: .08em;
      text-transform: uppercase; color: var(--color-brand-primary-800);
      background: var(--color-brand-gold-500); border-radius: var(--radius-pill);
      padding: 4px 12px; white-space: nowrap;
    }
    .anvwa-form .input, .anvwa-form .textarea { transition: border-color .2s ease, box-shadow .2s ease; }
    .anvwa-form .input:focus-visible, .anvwa-form .textarea:focus-visible {
      outline: 2px solid var(--color-brand-gold-500); outline-offset: 1px;
    }
    .anvwa-form .btn { transition: background-color .2s ease, opacity .2s ease; cursor: pointer; }
    .anvwa-form .btn:focus-visible {
      outline: 3px solid var(--color-brand-gold-500); outline-offset: 2px;
    }
    .anvwa-bigwave {
      grid-column: 1 / -1;
      display: flex; align-items: center; justify-content: space-between;
      gap: 6px; height: 56px; margin-top: var(--space-2);
    }
    .anvwa-bigwave i {
      display: block; flex: 1; max-width: 8px; border-radius: 3px;
      background: rgba(212,160,0,.75);
      animation: anvwa-pulse 1.8s ease-in-out infinite;
    }
    .anvwa-bigwave i:nth-child(4n+1) { height: 14px; animation-delay: 0s; }
    .anvwa-bigwave i:nth-child(4n+2) { height: 38px; animation-delay: .25s; }
    .anvwa-bigwave i:nth-child(4n+3) { height: 54px; animation-delay: .5s; }
    .anvwa-bigwave i:nth-child(4n)   { height: 26px; animation-delay: .75s; }
    .anvwa-bigwave i:nth-child(3n)   { background: rgba(21,29,83,.22); }
    @keyframes anvwa-pulse { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.5); } }
    @media (prefers-reduced-motion: reduce) { .anvwa-bigwave i { animation: none; } }
    @media (max-width: 900px) {
      .anvwa-block { grid-template-columns: 1fr; padding: var(--space-5) var(--space-3); gap: var(--space-4); }
      .anvwa-bigwave { height: 40px; }
      .anvwa-bigwave i:nth-child(n+25) { display: none; }
    }
