/* ============================================================
   AURA LIFESTYLE — v-core-layout.css
   Premium Rose Gold & Soft Pink Luxury Style System
   ============================================================ */

   @import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Montserrat:wght@300;400;500;600&display=swap');

   /* ── CSS Variables ─────────────────────────────────────────── */
   :root {
     --rose-gold:          #C9956A;
     --rose-gold-light:    #E8C4A0;
     --rose-gold-dark:     #A8744E;
     --soft-pink:          #F5D6D6;
     --blush:              #FCEAEA;
     --pearl:              #FDFAF7;
     --pearl-white:        #FAF6F1;
     --charcoal:           #2C2828;
     --charcoal-mid:       #4A4444;
     --charcoal-light:     #7A6E6E;
     --gold-line:          #D4A97A;
     --glass-bg:           rgba(253, 250, 247, 0.72);
     --glass-border:       rgba(201, 149, 106, 0.25);
   
     --grad-rose:          linear-gradient(135deg, #C9956A 0%, #E8C4A0 40%, #D4A97A 70%, #B8825A 100%);
     --grad-hero:          linear-gradient(160deg, #FDF4EF 0%, #FCEAEA 35%, #F5D6D6 65%, #EDD5C8 100%);
     --grad-section:       linear-gradient(180deg, #FAF6F1 0%, #FCEAEA 100%);
     --grad-footer:        linear-gradient(180deg, #2C2828 0%, #1A1616 100%);
   
     --shadow-gold:        0 4px 30px rgba(201,149,106,0.30), 0 1px 8px rgba(201,149,106,0.18);
     --shadow-card:        0 8px 40px rgba(44,40,40,0.10), 0 2px 12px rgba(44,40,40,0.06);
     --shadow-glow:        0 0 40px rgba(201,149,106,0.22), 0 0 80px rgba(201,149,106,0.10);
   
     --font-display:       'Cinzel', serif;
     --font-editorial:     'Cormorant Garamond', serif;
     --font-body:          'Montserrat', sans-serif;
   
     --radius-sm:          6px;
     --radius-md:          14px;
     --radius-lg:          28px;
     --radius-pill:        999px;
   
     --transition:         0.38s cubic-bezier(0.4, 0, 0.2, 1);
     --transition-fast:    0.2s ease;
   }
   
   /* ── Reset & Base ───────────────────────────────────────────── */
   *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
   
   html { scroll-behavior: smooth; font-size: 16px; }
   
   body {
     background-color: var(--pearl-white);
     color: var(--charcoal);
     font-family: var(--font-body);
     font-weight: 300;
     line-height: 1.7;
     overflow-x: hidden;
     -webkit-font-smoothing: antialiased;
   }
   
   img { max-width: 100%; display: block; }
   a  { text-decoration: none; color: inherit; }
   ul { list-style: none; }
   
   /* ── Scrollbar ──────────────────────────────────────────────── */
   ::-webkit-scrollbar { width: 6px; }
   ::-webkit-scrollbar-track { background: var(--pearl-white); }
   ::-webkit-scrollbar-thumb { background: var(--rose-gold); border-radius: var(--radius-pill); }
   
   /* ── Utility: Section Wrapper ───────────────────────────────── */
   .v-section-wrap {
     max-width: 1160px;
     margin: 0 auto;
     padding: 0 40px;
   }
   
   /* ── Decorative Gold Line ───────────────────────────────────── */
   .v-gold-line {
     display: block;
     width: 60px;
     height: 1px;
     background: var(--grad-rose);
     margin: 0 auto 28px;
   }
   
   /* ============================================================
      NAVBAR
      ============================================================ */
   .v-navbar {
     position: fixed;
     top: 0; left: 0; right: 0;
     z-index: 900;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0 56px;
     height: 76px;
     background: rgba(253, 250, 247, 0.88);
     backdrop-filter: blur(18px) saturate(1.4);
     -webkit-backdrop-filter: blur(18px) saturate(1.4);
     border-bottom: 1px solid var(--glass-border);
     transition: background var(--transition), box-shadow var(--transition);
   }
   
   .v-navbar.scrolled {
     background: rgba(253, 250, 247, 0.97);
     box-shadow: 0 2px 24px rgba(201,149,106,0.12);
   }
   
   /* Logo */
   .v-nav-logo {
     font-family: var(--font-display);
     font-size: 1.25rem;
     font-weight: 700;
     letter-spacing: 0.18em;
     text-transform: uppercase;
     background: var(--grad-rose);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
   }
   
   .v-nav-logo span.logo-mark {
     -webkit-text-fill-color: var(--rose-gold);
     font-size: 0.7em;
     vertical-align: middle;
     margin: 0 4px;
   }
   
   /* Nav Links */
   .v-nav-links {
     display: flex;
     align-items: center;
     gap: 36px;
   }
   
   .v-nav-link {
     font-family: var(--font-body);
     font-size: 0.72rem;
     font-weight: 500;
     letter-spacing: 0.16em;
     text-transform: uppercase;
     color: var(--charcoal-mid);
     position: relative;
     padding-bottom: 3px;
     transition: color var(--transition-fast);
   }
   
   .v-nav-link::after {
     content: '';
     position: absolute;
     bottom: 0; left: 0;
     width: 0; height: 1px;
     background: var(--grad-rose);
     transition: width var(--transition);
   }
   
   .v-nav-link:hover { color: var(--rose-gold); }
   .v-nav-link:hover::after { width: 100%; }
   
   /* Apply Button */
   .v-btn-apply-nav {
     font-family: var(--font-body);
     font-size: 0.68rem;
     font-weight: 600;
     letter-spacing: 0.18em;
     text-transform: uppercase;
     color: var(--pearl);
     background: var(--grad-rose);
     border: none;
     padding: 11px 26px;
     border-radius: var(--radius-pill);
     cursor: pointer;
     box-shadow: var(--shadow-gold);
     transition: transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);
   }
   
   .v-btn-apply-nav:hover {
     transform: translateY(-1px);
     box-shadow: var(--shadow-glow);
     opacity: 0.93;
   }
   
   /* ============================================================
      HERO SECTION
      ============================================================ */
   .v-hero {
     min-height: 100vh;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-direction: column;
     text-align: center;
     background: var(--grad-hero);
     position: relative;
     overflow: hidden;
     padding: 120px 40px 80px;
   }
   
   /* Decorative background orbs */
   .v-hero::before,
   .v-hero::after {
     content: '';
     position: absolute;
     border-radius: 50%;
     filter: blur(80px);
     pointer-events: none;
   }
   
   .v-hero::before {
     width: 700px; height: 700px;
     top: -180px; right: -180px;
     background: radial-gradient(circle, rgba(201,149,106,0.18) 0%, transparent 70%);
     animation: orb-drift 14s ease-in-out infinite alternate;
   }
   
   .v-hero::after {
     width: 500px; height: 500px;
     bottom: -120px; left: -100px;
     background: radial-gradient(circle, rgba(245,214,214,0.35) 0%, transparent 70%);
     animation: orb-drift 18s ease-in-out infinite alternate-reverse;
   }
   
   @keyframes orb-drift {
     from { transform: translate(0, 0) scale(1); }
     to   { transform: translate(40px, 30px) scale(1.08); }
   }
   
   /* Horizontal rule lines */
   .v-hero-rule {
     display: flex;
     align-items: center;
     gap: 20px;
     margin-bottom: 36px;
     opacity: 0;
     animation: fade-up 1s ease forwards 0.2s;
   }
   
   .v-hero-rule span {
     display: block;
     width: 80px;
     height: 1px;
     background: linear-gradient(90deg, transparent, var(--rose-gold), transparent);
   }
   
   .v-hero-rule em {
     font-family: var(--font-body);
     font-size: 0.62rem;
     font-weight: 500;
     letter-spacing: 0.26em;
     text-transform: uppercase;
     color: var(--rose-gold);
     font-style: normal;
   }
   
   /* ── Hero Brand Title ─────────────────────────────────────── */
   .v-hero-brand {
     display: flex;
     align-items: center;
     justify-content: center;
     flex-wrap: wrap;
     gap: 0;
     margin-bottom: 20px;
     opacity: 0;
     animation: fade-up 1.1s ease forwards 0.45s;
   }
   
   /* Each letter span — rose gold gradient via ::before */
   .v-hero-brand [class^="v-let-"],
   .v-hero-brand [class*=" v-let-"] {
     font-family: var(--font-display);
     font-size: clamp(3.6rem, 9vw, 8.5rem);
     font-weight: 900;
     letter-spacing: -0.01em;
     line-height: 1;
     position: relative;
     display: inline-block;
     color: transparent;
     background: var(--grad-rose);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
     text-shadow: none;
     filter: drop-shadow(0 2px 12px rgba(201,149,106,0.22));
     transition: filter var(--transition);
   }
   
   .v-hero-brand [class^="v-let-"]:hover {
     filter: drop-shadow(0 4px 22px rgba(201,149,106,0.45));
   }
   
   /* Individual letter content via ::before */
   .v-let-a::before  { content: "A"; }
   .v-let-u::before  { content: "U"; }
   .v-let-r::before  { content: "R"; }
   .v-let-a2::before { content: "A"; }
   .v-let-star::before {
     content: "✦";
     font-size: 0.38em;
     vertical-align: middle;
     margin: 0 0.18em;
     background: var(--grad-rose);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
     filter: drop-shadow(0 0 8px rgba(201,149,106,0.6));
   }
   .v-let-l::before  { content: "L"; }
   .v-let-i::before  { content: "I"; }
   .v-let-f::before  { content: "F"; }
   .v-let-e::before  { content: "E"; }
   .v-let-s::before  { content: "S"; }
   .v-let-t::before  { content: "T"; }
   .v-let-y::before  { content: "Y"; }
   .v-let-l2::before { content: "L"; }
   .v-let-e2::before { content: "E"; }
   
   /* Word separator space */
   .v-hero-brand .v-word-gap {
     display: inline-block;
     width: clamp(0.5rem, 2vw, 1.4rem);
   }
   
   /* Hero Subheadline */
   .v-hero-sub {
     font-family: var(--font-editorial);
     font-size: clamp(0.9rem, 2vw, 1.18rem);
     font-weight: 300;
     font-style: italic;
     letter-spacing: 0.06em;
     color: var(--charcoal-mid);
     margin-bottom: 32px;
     opacity: 0;
     animation: fade-up 1s ease forwards 0.7s;
   }
   
   .v-hero-sub span.bullet {
     color: var(--rose-gold);
     margin: 0 10px;
     font-style: normal;
   }
   
   /* Hero Body Copy */
   .v-hero-body {
     max-width: 680px;
     font-size: clamp(0.82rem, 1.4vw, 0.95rem);
     font-weight: 300;
     color: var(--charcoal-light);
     line-height: 1.85;
     margin-bottom: 48px;
     opacity: 0;
     animation: fade-up 1s ease forwards 0.9s;
   }
   
   /* CTA Buttons Row */
   .v-cta-row {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 20px;
     flex-wrap: wrap;
     opacity: 0;
     animation: fade-up 1s ease forwards 1.1s;
   }
   
   /* Primary CTA */
   .v-btn-primary {
     font-family: var(--font-body);
     font-size: 0.72rem;
     font-weight: 600;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: #fff;
     background: var(--grad-rose);
     border: none;
     padding: 18px 44px;
     border-radius: var(--radius-pill);
     cursor: pointer;
     box-shadow: 0 6px 36px rgba(201,149,106,0.42), 0 2px 10px rgba(201,149,106,0.22);
     transition: transform var(--transition-fast), box-shadow var(--transition-fast);
     position: relative;
     overflow: hidden;
   }
   
   .v-btn-primary::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,0.18) 55%, transparent 65%);
     transform: translateX(-100%);
     transition: transform 0.55s ease;
   }
   
   .v-btn-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); }
   .v-btn-primary:hover::after { transform: translateX(200%); }
   
   /* Secondary CTA */
   .v-btn-secondary {
     font-family: var(--font-body);
     font-size: 0.72rem;
     font-weight: 500;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: var(--rose-gold);
     background: rgba(245, 214, 214, 0.25);
     border: 1px solid rgba(201,149,106,0.45);
     padding: 17px 40px;
     border-radius: var(--radius-pill);
     cursor: pointer;
     backdrop-filter: blur(8px);
     transition: all var(--transition-fast);
   }
   
   .v-btn-secondary:hover {
     background: rgba(201,149,106,0.12);
     border-color: var(--rose-gold);
     transform: translateY(-2px);
     box-shadow: 0 4px 20px rgba(201,149,106,0.18);
   }
   
   /* Scroll indicator */
   .v-scroll-hint {
     position: absolute;
     bottom: 36px;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 8px;
     opacity: 0;
     animation: fade-up 1s ease forwards 1.4s;
   }
   
   .v-scroll-hint span {
     font-size: 0.6rem;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     color: var(--charcoal-light);
   }
   
   .v-scroll-arrow {
     width: 20px; height: 20px;
     border-right: 1px solid var(--rose-gold);
     border-bottom: 1px solid var(--rose-gold);
     transform: rotate(45deg);
     animation: arrow-bounce 1.8s ease-in-out infinite;
   }
   
   @keyframes arrow-bounce {
     0%, 100% { transform: rotate(45deg) translateY(0); opacity: 0.7; }
     50%       { transform: rotate(45deg) translateY(5px); opacity: 1; }
   }
   
   /* ============================================================
      ABOUT / BENEFITS SECTION
      ============================================================ */
   .v-about {
     padding: 110px 0;
     background: var(--pearl-white);
     position: relative;
   }
   
   .v-section-label {
     font-family: var(--font-body);
     font-size: 0.62rem;
     font-weight: 500;
     letter-spacing: 0.3em;
     text-transform: uppercase;
     color: var(--rose-gold);
     text-align: center;
     margin-bottom: 16px;
   }
   
   .v-section-title {
     font-family: var(--font-display);
     font-size: clamp(1.6rem, 3.5vw, 2.6rem);
     font-weight: 700;
     color: var(--charcoal);
     letter-spacing: 0.06em;
     text-align: center;
     line-height: 1.25;
     margin-bottom: 18px;
   }
   
   .v-section-title em {
     font-style: italic;
     background: var(--grad-rose);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
     font-family: var(--font-editorial);
     font-size: 1.12em;
   }
   
   .v-section-lead {
     font-family: var(--font-editorial);
     font-size: clamp(1rem, 1.8vw, 1.15rem);
     font-weight: 300;
     font-style: italic;
     color: var(--charcoal-light);
     text-align: center;
     max-width: 620px;
     margin: 0 auto 64px;
     line-height: 1.8;
   }
   
   /* Benefits grid */
   .v-benefits-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 28px;
   }
   
   .v-benefit-card {
     background: var(--glass-bg);
     border: 1px solid var(--glass-border);
     border-radius: var(--radius-md);
     padding: 44px 36px;
     position: relative;
     overflow: hidden;
     transition: transform var(--transition), box-shadow var(--transition);
   }
   
   .v-benefit-card::before {
     content: '';
     position: absolute;
     top: 0; left: 0; right: 0;
     height: 2px;
     background: var(--grad-rose);
     opacity: 0;
     transition: opacity var(--transition);
   }
   
   .v-benefit-card:hover {
     transform: translateY(-6px);
     box-shadow: var(--shadow-card);
   }
   
   .v-benefit-card:hover::before { opacity: 1; }
   
   .v-benefit-icon {
     font-size: 1.6rem;
     margin-bottom: 20px;
     display: block;
     filter: saturate(0.8);
   }
   
   .v-benefit-title {
     font-family: var(--font-display);
     font-size: 0.88rem;
     font-weight: 600;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     color: var(--charcoal);
     margin-bottom: 14px;
   }
   
   .v-benefit-desc {
     font-size: 0.86rem;
     font-weight: 300;
     color: var(--charcoal-light);
     line-height: 1.75;
   }
   
   /* ============================================================
      APPLY / FORM SECTION
      ============================================================ */
   .v-apply {
     padding: 110px 0;
     background: linear-gradient(160deg, #FCEAEA 0%, #F5D6D6 40%, #EDD5C8 100%);
     position: relative;
   }
   
   .v-apply::before {
     content: '';
     position: absolute;
     inset: 0;
     background-image:
       radial-gradient(ellipse at 80% 20%, rgba(201,149,106,0.10) 0%, transparent 60%),
       radial-gradient(ellipse at 10% 80%, rgba(245,214,214,0.30) 0%, transparent 60%);
     pointer-events: none;
   }
   
   .v-form-card {
     background: rgba(253, 250, 247, 0.80);
     backdrop-filter: blur(20px);
     -webkit-backdrop-filter: blur(20px);
     border: 1px solid rgba(201,149,106,0.22);
     border-radius: var(--radius-lg);
     padding: 64px 72px;
     max-width: 780px;
     margin: 0 auto;
     box-shadow: var(--shadow-card);
     position: relative;
   }
   
   .v-form-card::before {
     content: '';
     position: absolute;
     top: -1px; left: 10%; right: 10%;
     height: 1px;
     background: var(--grad-rose);
   }
   
   .v-form-lead {
     font-family: var(--font-editorial);
     font-size: 1rem;
     font-style: italic;
     color: var(--charcoal-light);
     text-align: center;
     margin-bottom: 44px;
     line-height: 1.8;
     max-width: 540px;
     margin-left: auto;
     margin-right: auto;
   }
   
   /* Form fields */
   .v-form { display: flex; flex-direction: column; gap: 22px; }
   
   .v-field-group { display: flex; flex-direction: column; gap: 8px; }
   
   .v-field-label {
     font-family: var(--font-body);
     font-size: 0.67rem;
     font-weight: 600;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: var(--charcoal-mid);
   }
   
   .v-field-input,
   .v-field-select,
   .v-field-textarea {
     width: 100%;
     font-family: var(--font-editorial);
     font-size: 1rem;
     font-weight: 300;
     color: var(--charcoal);
     background: rgba(253,250,247,0.90);
     border: 1px solid rgba(201,149,106,0.30);
     border-radius: var(--radius-sm);
     padding: 14px 20px;
     outline: none;
     transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
     appearance: none;
     -webkit-appearance: none;
   }
   
   .v-field-input::placeholder,
   .v-field-textarea::placeholder { color: var(--charcoal-light); opacity: 0.6; }
   
   .v-field-input:focus,
   .v-field-select:focus,
   .v-field-textarea:focus {
     border-color: var(--rose-gold);
     box-shadow: 0 0 0 3px rgba(201,149,106,0.14);
     background: #fff;
   }
   
   .v-field-select {
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23C9956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
     background-repeat: no-repeat;
     background-position: right 18px center;
     padding-right: 44px;
     cursor: pointer;
   }
   
   .v-field-textarea { resize: vertical; min-height: 130px; }
   
   /* Age verification */
   .v-age-verify {
     display: flex;
     align-items: flex-start;
     gap: 14px;
     padding: 18px 22px;
     background: rgba(245,214,214,0.22);
     border: 1px solid rgba(201,149,106,0.20);
     border-radius: var(--radius-sm);
   }
   
   .v-age-verify input[type="checkbox"] {
     width: 18px;
     height: 18px;
     min-width: 18px;
     accent-color: var(--rose-gold);
     margin-top: 2px;
     cursor: pointer;
   }
   
   .v-age-label {
     font-size: 0.8rem;
     font-weight: 300;
     color: var(--charcoal-mid);
     line-height: 1.65;
   }
   
   /* Submit button */
   .v-btn-submit {
     width: 100%;
     font-family: var(--font-body);
     font-size: 0.74rem;
     font-weight: 600;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     color: #fff;
     background: var(--grad-rose);
     border: none;
     padding: 20px 40px;
     border-radius: var(--radius-pill);
     cursor: pointer;
     box-shadow: 0 6px 36px rgba(201,149,106,0.40);
     transition: transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);
     margin-top: 6px;
     position: relative;
     overflow: hidden;
   }
   
   .v-btn-submit::before {
     content: '✦';
     margin-right: 10px;
     font-size: 0.7em;
     opacity: 0.8;
   }
   
   .v-btn-submit:hover {
     transform: translateY(-2px);
     box-shadow: var(--shadow-glow);
   }
   
   .v-btn-submit:disabled {
     opacity: 0.5;
     cursor: not-allowed;
     transform: none;
   }
   
   /* ============================================================
      FOOTER
      ============================================================ */
   .v-footer {
     background: var(--grad-footer);
     padding: 60px 40px 40px;
     color: rgba(253,250,247,0.55);
     text-align: center;
   }
   
   .v-footer-logo {
     font-family: var(--font-display);
     font-size: 1rem;
     font-weight: 700;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     background: var(--grad-rose);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
     margin-bottom: 24px;
   }
   
   .v-footer-divider {
     width: 50px;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(201,149,106,0.5), transparent);
     margin: 0 auto 24px;
   }
   
   .v-footer-disclaimer {
     font-size: 0.73rem;
     font-weight: 300;
     line-height: 1.85;
     max-width: 720px;
     margin: 0 auto 28px;
     color: rgba(253,250,247,0.40);
   }
   
   .v-footer-links {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 28px;
     margin-bottom: 36px;
   }
   
   .v-footer-link {
     font-size: 0.68rem;
     font-weight: 500;
     letter-spacing: 0.16em;
     text-transform: uppercase;
     color: rgba(201,149,106,0.7);
     cursor: pointer;
     border-bottom: 1px solid transparent;
     transition: color var(--transition-fast), border-color var(--transition-fast);
   }
   
   .v-footer-link:hover {
     color: var(--rose-gold-light);
     border-color: rgba(201,149,106,0.5);
   }
   
   .v-footer-copy {
     font-size: 0.66rem;
     color: rgba(253,250,247,0.22);
     letter-spacing: 0.12em;
   }
   
   /* ============================================================
      MODAL
      ============================================================ */
   .v-modal-overlay {
     position: fixed;
     inset: 0;
     z-index: 9999;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 20px;
     background: rgba(28, 24, 24, 0.72);
     backdrop-filter: blur(8px);
     -webkit-backdrop-filter: blur(8px);
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.35s ease;
   }
   
   .v-modal-overlay.active {
     opacity: 1;
     pointer-events: all;
   }
   
   .v-modal {
     background: var(--pearl-white);
     border: 1px solid var(--glass-border);
     border-radius: var(--radius-lg);
     max-width: 680px;
     width: 100%;
     max-height: 82vh;
     overflow-y: auto;
     padding: 56px 56px 48px;
     position: relative;
     transform: translateY(24px) scale(0.97);
     transition: transform 0.38s cubic-bezier(0.34,1.56,0.64,1);
     box-shadow: 0 24px 80px rgba(28,24,24,0.28);
   }
   
   .v-modal-overlay.active .v-modal {
     transform: translateY(0) scale(1);
   }
   
   .v-modal-close {
     position: absolute;
     top: 22px; right: 26px;
     background: none;
     border: none;
     font-size: 1.3rem;
     color: var(--charcoal-light);
     cursor: pointer;
     line-height: 1;
     transition: color var(--transition-fast), transform var(--transition-fast);
     padding: 4px 8px;
   }
   
   .v-modal-close:hover { color: var(--rose-gold); transform: rotate(90deg); }
   
   .v-modal-tag {
     font-family: var(--font-body);
     font-size: 0.6rem;
     font-weight: 600;
     letter-spacing: 0.28em;
     text-transform: uppercase;
     color: var(--rose-gold);
     margin-bottom: 10px;
   }
   
   .v-modal-title {
     font-family: var(--font-display);
     font-size: 1.35rem;
     font-weight: 700;
     letter-spacing: 0.08em;
     color: var(--charcoal);
     margin-bottom: 28px;
     padding-bottom: 20px;
     border-bottom: 1px solid var(--glass-border);
   }
   
   .v-modal-body {
     font-family: var(--font-editorial);
     font-size: 0.97rem;
     font-weight: 300;
     color: var(--charcoal-light);
     line-height: 1.85;
   }
   
   .v-modal-body h4 {
     font-family: var(--font-body);
     font-size: 0.72rem;
     font-weight: 600;
     letter-spacing: 0.16em;
     text-transform: uppercase;
     color: var(--charcoal-mid);
     margin: 24px 0 10px;
   }
   
   .v-modal-body p + p { margin-top: 14px; }
   
   /* ============================================================
      ANIMATIONS
      ============================================================ */
   @keyframes fade-up {
     from { opacity: 0; transform: translateY(28px); }
     to   { opacity: 1; transform: translateY(0); }
   }
   
   /* Intersection-based reveal */
   .v-reveal {
     opacity: 0;
     transform: translateY(32px);
     transition: opacity 0.75s ease, transform 0.75s ease;
   }
   
   .v-reveal.visible {
     opacity: 1;
     transform: translateY(0);
   }
   
   .v-reveal-delay-1 { transition-delay: 0.12s; }
   .v-reveal-delay-2 { transition-delay: 0.24s; }
   .v-reveal-delay-3 { transition-delay: 0.36s; }
   
   /* ============================================================
      RESPONSIVE
      ============================================================ */
   @media (max-width: 960px) {
     .v-navbar { padding: 0 28px; }
     .v-section-wrap { padding: 0 28px; }
     .v-benefits-grid { grid-template-columns: 1fr 1fr; }
     .v-form-card { padding: 48px 40px; }
   }
   
   @media (max-width: 680px) {
     .v-navbar { padding: 0 20px; height: 64px; }
     .v-nav-links { gap: 16px; }
     .v-nav-link { display: none; }
     .v-hero { padding: 100px 24px 70px; }
     .v-benefits-grid { grid-template-columns: 1fr; }
     .v-form-card { padding: 36px 24px; }
     .v-modal { padding: 36px 28px 32px; }
     .v-cta-row { flex-direction: column; }
     .v-btn-primary, .v-btn-secondary { width: 100%; text-align: center; }
   }