
    :root {
      /* Confetti Closet brand palette */
      --confetti-1: #A6316D;  /* Deep Magenta */
      --confetti-2: #EF8D60;  /* Muted Orange/Peach */
      --confetti-3: #E2748B;  /* Dusty Rose/Pink */
      --confetti-4: #9B1B30;  /* Deep Crimson */
      --confetti-5: #F472B6;  /* Pink */
      --confetti-6: #9B4E96;  /* Purple */
      
      /* Cream + light pink base */
      --cream: #FDF4F8;
      --cream-dark: #F3E8F5;
      --lavender-light: #F3E8F5;
      
      /* Semantic mappings */
      --warm-sand: var(--lavender-light);
      --terracotta: var(--confetti-1);
      --soft-sage: var(--confetti-5);
      --warm-gray: #6b6b7b;
      --charcoal: #4A4A4A;
      --muted-teal: var(--confetti-2);
      --soft-blush: var(--confetti-3);
      --champagne: var(--cream);
      
      --gold: var(--confetti-1);
      --gold-light: var(--confetti-3);
      --rose: var(--confetti-3);
      --burgundy: var(--confetti-1);
      --primary: var(--confetti-1);
      --primary-dark: var(--confetti-4);
      --secondary: var(--confetti-2);
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'DM Sans', sans-serif;
      background: var(--cream);
      min-height: 100vh;
      overflow-x: hidden;
      color: var(--charcoal);
    }

    /* Confetti canvas */
    #confetti-canvas {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 1000;
    }

    /* Hero Section */
    .hero {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 2rem;
      position: relative;
      background: linear-gradient(180deg, var(--cream) 0%, var(--cream-dark) 100%);
    }

    .hero::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: 
        radial-gradient(circle at 20% 80%, var(--soft-blush) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, var(--confetti-3) 0%, transparent 40%);
      opacity: 0.15;
    }

    .hero-content {
      position: relative;
      z-index: 1;
      max-width: 600px;
    }

    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.5rem, 8vw, 4rem);
      font-weight: 700;
      color: var(--terracotta);
      margin-bottom: 1rem;
      opacity: 0;
      transform: translateY(30px);
      animation: fadeUp 0.8s ease forwards;
    }

    .hero h1 span {
      color: var(--charcoal);
      position: relative;
    }



    .hero p {
      font-size: 1.2rem;
      line-height: 1.7;
      color: var(--charcoal);
      opacity: 0;
      transform: translateY(20px);
      animation: fadeUp 0.8s ease 0.2s forwards;
    }

    .hero-cta {
      margin-top: 2.5rem;
      opacity: 0;
      transform: translateY(20px);
      animation: fadeUp 0.8s ease 0.4s forwards;
    }

    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      padding: 1.25rem 2.5rem;
      font-size: 1.1rem;
      font-weight: 600;
      color: white;
      background: var(--burgundy);
      border: none;
      border-radius: 50px;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 10px 40px rgba(114, 47, 55, 0.3);
    }

    .btn-primary:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow: 0 15px 50px rgba(196, 133, 106, 0.4);
    }

    .btn-primary svg {
      transition: transform 0.3s ease;
    }

    .btn-primary:hover svg {
      transform: translateX(5px);
    }

    /* Form Section */
    .form-section {
      display: none;
      min-height: 100vh;
      padding: 2rem 1rem;
      background: var(--cream);
    }

    .form-section.active {
      display: block;
    }

    .form-container {
      max-width: 600px;
      margin: 0 auto;
    }

    .progress-bar {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      margin-bottom: 3rem;
    }

    .progress-dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: var(--gold-light);
      transition: all 0.3s ease;
    }

    .progress-dot.active {
      background: var(--terracotta);
      transform: scale(1.2);
    }

    .progress-dot.completed {
      background: var(--muted-teal);
    }

    .question-card {
      background: white;
      border-radius: 24px;
      padding: 3rem;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
      opacity: 0;
      transform: translateX(50px);
      transition: all 0.5s ease;
    }

    .question-card.active {
      opacity: 1;
      transform: translateX(0);
    }

    .question-card h2 {
      font-family: 'Playfair Display', serif;
      font-size: 1.8rem;
      color: var(--charcoal);
      margin-bottom: 0.5rem;
    }

    .question-card .subtitle {
      color: var(--warm-gray);
      margin-bottom: 2rem;
      font-size: 1rem;
    }

    .options-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1rem;
      margin-bottom: 2rem;
    }

    .option-btn {
      padding: 1.25rem;
      border: 2px solid var(--gold-light);
      border-radius: 16px;
      background: white;
      font-size: 1rem;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.3s ease;
      text-align: left;
    }

    .option-btn:hover {
      border-color: var(--gold);
      background: var(--champagne);
      transform: translateY(-2px);
    }

    .option-btn.selected {
      border-color: var(--terracotta);
      background: var(--terracotta);
      color: white;
    }

    .option-btn .emoji {
      font-size: 1.5rem;
      margin-bottom: 0.5rem;
      display: block;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea {
      width: 100%;
      padding: 1rem 1.25rem;
      font-size: 1rem;
      font-family: inherit;
      border: 2px solid var(--gold-light);
      border-radius: 12px;
      transition: all 0.3s ease;
      margin-bottom: 1rem;
    }

    input:focus,
    textarea:focus {
      outline: none;
      border-color: var(--burgundy);
      box-shadow: 0 0 0 4px rgba(114, 47, 55, 0.1);
    }

    textarea {
      min-height: 120px;
      resize: vertical;
    }

    .input-group {
      margin-bottom: 1.5rem;
    }

    .input-group label {
      display: block;
      font-weight: 600;
      margin-bottom: 0.5rem;
      color: var(--charcoal);
    }

    .range-labels {
      display: flex;
      justify-content: space-between;
      margin-top: 0.5rem;
      font-size: 0.85rem;
      color: #888;
    }

    .range-value {
      text-align: center;
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--terracotta);
      margin: 1rem 0;
    }

    input[type="range"] {
      width: 100%;
      height: 8px;
      border-radius: 4px;
      background: var(--gold-light);
      appearance: none;
      cursor: pointer;
    }

    input[type="range"]::-webkit-slider-thumb {
      appearance: none;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: var(--terracotta);
      cursor: pointer;
      box-shadow: 0 2px 10px rgba(196, 133, 106, 0.3);
    }

    .btn-group {
      display: flex;
      flex-direction: row-reverse;
      gap: 1rem;
      margin-top: 2rem;
    }

    .btn-secondary {
      padding: 1rem 2rem;
      font-size: 1rem;
      font-weight: 500;
      color: var(--charcoal);
      background: transparent;
      border: 2px solid var(--gold-light);
      border-radius: 50px;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .btn-secondary:hover {
      border-color: var(--gold);
    }

    .btn-next {
      flex: 1;
      padding: 1rem 2rem;
      font-size: 1rem;
      font-weight: 600;
      color: white;
      background: var(--burgundy);
      border: none;
      border-radius: 50px;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .btn-next:hover {
      background: var(--primary-dark);
      transform: translateY(-2px);
    }

    .btn-next:disabled {
      background: #ccc;
      cursor: not-allowed;
      transform: none;
    }

    /* Success Section */
    .success-section {
      display: none;
      min-height: 100vh;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 2rem;
      background: linear-gradient(180deg, var(--cream) 0%, var(--cream-dark) 100%);
    }

    .success-section.active {
      display: flex;
    }

    .success-content h1 {
      font-family: 'Playfair Display', serif;
      font-size: 3rem;
      color: var(--terracotta);
      margin-bottom: 1rem;
    }

    .success-content p {
      font-size: 1.2rem;
      color: var(--warm-gray);
      max-width: 400px;
      margin: 0 auto 2rem;
    }

    .magic-moment {
      font-size: 4rem;
      animation: bounce 1s ease infinite;
    }

    @keyframes fadeUp {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes sparkle {
      0%, 100% { transform: scale(1) rotate(0deg); }
      50% { transform: scale(1.2) rotate(10deg); }
    }

    @keyframes bounce {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-20px); }
    }

    /* Mobile */
    @media (max-width: 600px) {
      .question-card {
        padding: 2rem 1.5rem;
      }

      .options-grid {
        grid-template-columns: 1fr;
      }

      .btn-group {
        flex-direction: column;
      }
    }
  /* Accessible additions for the holiday branch and honest submission state. */
[hidden] { display: none !important; }
.hero-cta { display: flex; flex-direction: column; gap: 1rem; align-items: center; }
.btn-secondary, .btn-back { padding: 1rem 1.5rem; border: 1px solid var(--primary); color: var(--primary); background: transparent; border-radius: 2rem; font: inherit; cursor: pointer; }
.eyebrow { color: var(--primary); font-weight: 600; letter-spacing: .08em; }
.hero .fine-print { font-size: .9rem; margin: 1.5rem auto 0; max-width: 29rem; line-height: 1.6; }
.text-button { border: 0; background: transparent; color: var(--primary); padding: .6rem 0; font: inherit; cursor: pointer; }
.step-label { font-size: .9rem; margin: 1rem 0; color: var(--warm-gray); }
.form-error { background: #fff; border: 2px solid #9B1B30; padding: 1rem; color: #701326; border-radius: 1rem; margin-top: 1rem; line-height: 1.5; }
.input-group { margin-bottom: 1.25rem; }
.input-group label { display: block; margin-bottom: .4rem; font-weight: 500; }
input[type=date] { padding: 1rem; border: 1px solid #cbb7c5; border-radius: .7rem; font: inherit; width: 100%; background: white; }
.budget-opt-in { display: flex; gap: .7rem; align-items: center; margin-bottom: 1rem; }
input[type=checkbox] { width: 1.2rem; height: 1.2rem; }
button:disabled { opacity: .6; cursor: wait; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #9B1B30; outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.progress-step { display: block; height: 6px; flex: 1; background: #e4d9d4; border-radius: 6px; }
.progress-step.active { background: #B64022; }
.option-emoji { display: block; font-size: 1.5rem; margin-bottom: .3rem; }
.question-card { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media (max-width: 480px) { .hero { padding: 1.5rem; } .hero h1 { font-size: 2.5rem; } .form-section { padding: 1.2rem; } .question-card { padding: 1.5rem; } }


body { font-family:Arial,sans-serif; }
.logo { font-family:Georgia,serif; font-size:1.5rem !important; color:#4A4A4A !important; }
.logo span,.hero h1 span { color:#A6316D; }
.hero h1 { color:#4A4A4A; }
.btn-primary,.btn-next,.progress-step.active { background:#A6316D; color:white; }
#confetti-layer{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}
#confetti-layer i{position:absolute;display:block;border-radius:1px;will-change:transform,opacity}
.welcome-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:2}.welcome-confetti i{position:absolute;left:var(--x);top:-15px;width:6px;height:10px;opacity:.7;animation:intake-paper var(--duration) var(--delay) linear infinite;transform:rotate(var(--turn))}.welcome-confetti[hidden]{display:none}
@keyframes intake-paper{from{transform:translateY(-20px) rotate(var(--turn))}to{transform:translateY(110vh) rotate(calc(var(--turn) + 300deg))}}
@media(prefers-reduced-motion:reduce){.welcome-confetti i{animation:none;top:var(--still);transform:rotate(var(--turn));opacity:.55}}
/* The selected festive direction, shared by both inquiry branches. */
:root{--primary:#79002d;--primary-dark:#600022;--burgundy:#79002d;--cream:#fffdfb;--cream-dark:#ffe3ed;--charcoal:#3c2430;--warm-gray:#6c5360}
body{background:#79002d;color:#3c2430;font-family:Arial,Helvetica,sans-serif}.intake-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 6%;color:white}.intake-header .wordmark{font:700 36px/1 Georgia,serif;letter-spacing:-1px;text-decoration:none}.intake-header>a:last-child{font-size:14px;text-underline-offset:5px;min-height:44px;display:flex;align-items:center}.hero{min-height:calc(100vh - 92px);background:#79002d;color:white;padding:35px 6% 65px}.hero:before{display:none}.hero-content{max-width:680px;width:100%}.hero .logo{display:none}.hero h1,.hero h1 span{color:white;font-family:Georgia,serif;font-size:78px;letter-spacing:-2.5px;line-height:1}.hero p{color:white;font-size:18px;max-width:560px;margin-left:auto;margin-right:auto}.hero .offer-summary{border-left:4px solid #ffc1d5;text-align:left;max-width:370px;padding-left:20px;margin:28px auto;font-size:18px}.hero-cta{gap:13px}.btn-primary,.btn-next{background:#79002d;color:white;border:1px solid #79002d;border-radius:15px;box-shadow:none;font:700 17px Arial,sans-serif;min-height:54px;padding:14px 24px}.hero .btn-primary{background:#ffc1d5;color:#79002d;border-color:#ffc1d5;width:100%;max-width:390px;font-size:20px}.hero .btn-secondary{border:1px solid #ffc1d5;color:#ffc1d5;min-height:54px;width:100%;max-width:390px;border-radius:15px;font-weight:600}.hero .fine-print{color:#ffe3ed;font-size:13px}.hero .btn-primary:hover{background:#ffdae6}.form-section{background:#ffe3ed;min-height:calc(100vh - 92px);padding:28px 6% 65px}.form-container{max-width:720px}.question-card{border-radius:20px;background:#fffdfb;padding:32px 36px;box-shadow:none}.question-card h2{font:700 38px/1.1 Georgia,serif;letter-spacing:-1px;color:#79002d}.question-card .subtitle{color:#6c5360}.step-label{color:#79002d;font-weight:600}.progress-step.active{background:#79002d}.progress-step{background:#d9b6c5}.option-btn{border:1px solid #947080;border-radius:12px;min-height:60px;background:#fffdfb;color:#3c2430}.option-btn.selected{background:#ffe3ed;color:#79002d;border:2px solid #79002d}.input-group input,textarea,input[type=date]{border:1px solid #947080;border-radius:8px;color:#3c2430;background:white}.btn-back{border-radius:15px;color:#79002d;border-color:#79002d}.text-button{color:#79002d}.success-section{background:#ffe3ed;color:#79002d;min-height:calc(100vh - 92px)}.success-content h1{font:700 54px/1.05 Georgia,serif}.success-content .logo{color:#79002d!important}.success-content .logo span{color:#79002d}.success-content p{color:#3c2430}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #ca5800;outline-offset:4px}.hero button:focus-visible,.intake-header a:focus-visible{outline-color:#ffdf63}
@media(max-width:600px){.intake-header{padding:19px 6%}.intake-header .wordmark{font-size:27px}.intake-header>a:last-child{font-size:12px}.hero{padding:24px 6% 45px;min-height:calc(100vh - 80px)}.hero h1,.hero h1 span{font-size:57px;letter-spacing:-2px}.hero p{font-size:16px}.hero .offer-summary{font-size:16px;padding-left:14px;margin:25px auto}.hero .btn-primary{font-size:18px}.hero .btn-secondary{font-size:15px}.hero .fine-print{font-size:12px}.form-section{padding:20px 5% 45px}.question-card{padding:25px 20px}.question-card h2{font-size:31px}.success-content h1{font-size:39px}.step-label{font-size:13px}.question-card .subtitle{font-size:14px}}

.intake-header a{color:inherit}.intake-header a:focus-visible{outline:3px solid #ffdf63;outline-offset:5px}#question-title:focus{outline-color:#79002d}

/* Consistent service choices on the intake welcome screen. */
.hero .btn-primary,.hero .btn-secondary{font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:700;line-height:1.25}
.hero .offer-summary{border-left:0;padding-left:0;max-width:390px;width:100%}
@media(max-width:360px){.hero .btn-primary,.hero .btn-secondary{font-size:16px;padding-left:14px;padding-right:14px}}

.hero .btn-primary,.hero .btn-secondary{text-align:center;justify-content:center}
