  section{padding:100px 0;}
  @media (max-width:640px){
    section{padding:56px 0;}
  }

  /* ---------- PAGE INTRO ---------- */
  .q-hero{padding:70px 0 40px;}
  .q-hero .wrap{max-width:760px; text-align:center;}
  .q-hero h1{font-size:clamp(2rem,4vw,2.7rem); margin-bottom:18px;}
  .q-hero p{color:var(--ink-soft); font-size:1.02rem; max-width:56ch; margin:0 auto 8px;}
  .q-hero .hero-note{
    display:inline-flex; gap:10px; align-items:center;
    font-size:.82rem; color:var(--ink-soft); margin-top:18px;
  }
  .q-hero .hero-note .dot{width:6px; height:6px; border-radius:50%; background:var(--clay);}

  /* ---------- PROGRESS ---------- */
  .progress-wrap{padding:0 0 40px;}
  .progress-track{
    display:flex; align-items:center; justify-content:space-between;
    max-width:820px; margin:0 auto;
    position:relative;
  }
  .progress-track::before{
    content:''; position:absolute; top:17px; left:5%; right:5%;
    height:1px; background:var(--line); z-index:0;
  }
  .progress-step{
    position:relative; z-index:1;
    display:flex; flex-direction:column; align-items:center;
    gap:10px; flex:1;
  }
  .progress-step .p-circle{
    width:36px; height:36px; border-radius:50%;
    background:var(--card); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces', serif; font-size:.95rem; color:var(--ink-soft);
    transition:background .25s ease, border-color .25s ease, color .25s ease;
  }
  .progress-step .p-label{
    font-size:.74rem; text-align:center; color:var(--ink-soft);
    max-width:110px; letter-spacing:.02em;
  }
  .progress-step.active .p-circle{background:var(--sage-deep); border-color:var(--sage-deep); color:var(--cream);}
  .progress-step.active .p-label{color:var(--ink); font-weight:600;}
  .progress-step.done .p-circle{background:var(--clay); border-color:var(--clay); color:var(--cream);}
  .progress-step.done .p-circle::after{content:'✓';}
  .progress-step.done .p-circle span{display:none;}

  @media (max-width:640px){
    .progress-step .p-label{display:none;}
  }

  /* ---------- WIZARD ---------- */
  .wizard{padding:0 0 100px;}
  .wizard .wrap{max-width:760px;}
  .segment{display:none;}
  .segment.active{display:block; animation:segIn .35s ease;}
  @keyframes segIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

  .segment-head{margin-bottom:34px; text-align:center;}
  .segment-head span.eyebrow{margin-bottom:10px;}
  .segment-head h2{font-size:clamp(1.5rem,3vw,2rem);}
  .segment-head p{color:var(--ink-soft); font-size:.96rem; max-width:56ch; margin:0 auto;}

  /* about-you fields */
  .about-fields{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    padding:36px 32px; display:flex; flex-direction:column; gap:22px;
  }
  .field label{
    display:block; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase;
    color:var(--ink-soft); margin-bottom:8px; font-weight:600;
  }
  .field input, .field select{
    width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:var(--radius);
    background:var(--cream); font-family:'Work Sans', sans-serif; font-size:.96rem; color:var(--ink);
  }
  .field input:focus, .field select:focus{outline:none; border-color:var(--sage-soft);}

  /* question cards */
  .q-card{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    padding:28px 26px; margin-bottom:20px;
  }
  .q-num{
    font-family:'Fraunces', serif; font-style:italic; font-size:.8rem;
    color:var(--sage-soft); display:block; margin-bottom:10px;
  }
  .q-text{font-size:1.05rem; margin-bottom:6px;}
  .q-hint{font-size:.85rem; color:var(--ink-soft); font-style:italic; margin-bottom:18px;}
  .opt-list{display:flex; flex-direction:column; gap:10px;}
  .opt-row{
    display:flex; align-items:flex-start; gap:14px;
    padding:14px 16px;
    border:1px solid var(--line); border-radius:var(--radius);
    background:var(--cream);
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease;
  }
  .opt-row:hover{border-color:var(--sage-soft);}
  .opt-row input{margin-top:3px; accent-color:var(--sage-deep); flex:none;}
  .opt-row.selected{border-color:var(--sage-deep); background:var(--cream-deep);}
  .opt-letter{
    font-family:'Fraunces', serif; font-style:italic; color:var(--clay);
    font-size:.9rem; flex:none; width:16px;
  }
  .opt-text{font-size:.92rem; color:var(--ink);}

  .select-wrap{display:flex; flex-direction:column; gap:10px;}
  .condition-search{
    padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius);
    background:var(--cream); font-family:'Work Sans', sans-serif; font-size:.92rem;
  }
  .condition-search:focus{outline:none; border-color:var(--sage-soft);}
  #conditionSelect{
    width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:var(--radius);
    background:var(--cream); font-family:'Work Sans', sans-serif; font-size:.94rem; color:var(--ink);
   /* min-height:220px;*/
  }
  #conditionSelect:focus{outline:none; border-color:var(--sage-soft);}

  .q-error{
    display:none;
    font-size:.82rem; color:var(--clay); font-weight:600;
    margin:-8px 0 20px;
  }
  .q-error.show{display:block;}

  .wizard-nav{
    display:flex; align-items:center; justify-content:space-between;
    margin-top:12px; gap:16px;
  }
  .wizard-nav .step-count{font-size:.82rem; color:var(--ink-soft);}

  /* completion panel */
  .segment.complete{text-align:center;}
  .complete-icon{
    width:64px; height:64px; border-radius:50%;
    background:var(--sage-deep); color:var(--cream);
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem; margin:0 auto 24px;
  }
  .complete h2{font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:16px;}
  .complete p{color:var(--ink-soft); max-width:58ch; margin:0 auto 14px;}
  .complete .fine-print{font-size:.82rem; font-style:italic; margin-top:24px;}
  .complete .hero-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:28px;}

  /* ---------- AUTH MODAL (shared with site) ---------- */
  .auth-overlay{
    position:fixed; inset:0; z-index:200;
    background:rgba(43,42,36,0.55);
    display:none;
    align-items:center; justify-content:center;
    padding:24px;
    backdrop-filter:blur(3px);
  }
  .auth-overlay.open{display:flex;}
  .auth-modal{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    width:100%; max-width:420px;
    max-height:90vh;
    overflow-y:auto;
    position:relative;
    padding:44px 40px 40px;
    box-shadow:0 24px 60px rgba(43,42,36,0.25);
    animation:authIn .3s ease;
  }
  @keyframes authIn{
    from{opacity:0; transform:translateY(10px) scale(.98);}
    to{opacity:1; transform:translateY(0) scale(1);}
  }
  .auth-close{
    position:absolute; top:16px; right:16px;
    width:34px; height:34px;
    border:none; background:transparent;
    font-size:1.3rem; line-height:1;
    color:var(--ink-soft);
    cursor:pointer;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease, color .2s ease;
  }
  .auth-close:hover{background:var(--cream-deep); color:var(--ink);}
  .auth-tabs{
    display:flex; gap:4px;
    background:var(--cream-deep);
    border-radius:var(--radius);
    padding:4px;
    margin-bottom:30px;
  }
  .auth-tab{
    flex:1; text-align:center; padding:10px 12px;
    font-family:'Work Sans', sans-serif; font-size:.88rem; font-weight:500;
    color:var(--ink-soft); background:transparent; border:none; border-radius:var(--radius);
    cursor:pointer; transition:background .25s ease, color .25s ease;
  }
  .auth-tab.active{background:var(--sage-deep); color:var(--cream);}
  .auth-head{margin-bottom:26px;}
  .auth-head h3{font-size:1.5rem; margin-bottom:6px;}
  .auth-head p{font-size:.88rem; color:var(--ink-soft); margin:0;}
  .auth-panel{display:none;}
  .auth-panel.active{display:block;}
  .auth-field{margin-bottom:18px;}
  .auth-field label{
    display:block; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase;
    color:var(--ink-soft); margin-bottom:8px; font-weight:600;
  }
  .auth-field input{
    width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:var(--radius);
    background:var(--cream); font-family:'Work Sans', sans-serif; font-size:.94rem; color:var(--ink);
    transition:border-color .2s ease;
  }
  .auth-field input:focus{outline:none; border-color:var(--sage-soft);}
  .auth-row-between{display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; font-size:.84rem;}
  .auth-remember{display:flex; align-items:center; gap:8px; color:var(--ink-soft);}
  .auth-remember input{accent-color:var(--sage-deep);}
  .auth-forgot{color:var(--clay); font-weight:500;}
  .auth-forgot:hover{text-decoration:underline;}
  .auth-submit{width:100%; justify-content:center; margin-bottom:20px;}
  .auth-switch{text-align:center; font-size:.88rem; color:var(--ink-soft);}
  .auth-switch button{background:none; border:none; padding:0; color:var(--clay); font-weight:600; cursor:pointer; font-family:'Work Sans', sans-serif; font-size:inherit;}
  .auth-switch button:hover{text-decoration:underline;}
  .auth-terms{font-size:.78rem; color:var(--ink-soft); margin-bottom:20px; line-height:1.5;}
  .auth-terms a{color:var(--clay); font-weight:500;}



/* intro */
.q-hero{padding:72px 0 44px; background:linear-gradient(180deg,#FBF8F1,var(--cream));}
.q-hero h1{font-size:clamp(2.1rem,4vw,3rem);}
.q-hero p{font-size:1.1rem;}
.q-hero .hero-note{font-size:.95rem; color:var(--ink-soft);}

/* progress */
.progress-step .p-circle{width:42px; height:42px; font-size:1.05rem; border-color:var(--img-line);}
.progress-step .p-label{font-size:.85rem;}
.progress-track::before{top:20px;}

/* wizard */
.wizard{padding:0 0 92px;}
.segment-head h2{font-size:clamp(1.7rem,3.2vw,2.3rem);}
.segment-head p{font-size:1.05rem;}
.about-fields,.q-card{background:#FFFDF8; border:1px solid var(--img-line); border-radius:var(--r-img); box-shadow:var(--shadow-soft);}
.about-fields{padding:40px 36px;}
.q-card{padding:32px 30px;}
.field label{font-size:.85rem; color:var(--ink-soft);}
.field input,.field select,.condition-search,#conditionSelect{font-size:1.02rem; border-color:#DAD6C8; border-radius:12px; background:#fff;}
.field input:focus,.field select:focus,.condition-search:focus,#conditionSelect:focus{border-color:var(--clay);}
.q-num{color:var(--clay-dark); font-size:.95rem;}
.q-text{font-size:1.2rem; font-weight:600;}
.q-hint{font-size:.95rem;}
.opt-row{border-radius:12px; background:#fff; border-color:var(--img-line); padding:16px 18px;}
.opt-row:hover{border-color:var(--clay);}
.opt-row.selected{border-color:var(--clay); background:var(--terra-light);}
.opt-letter{color:var(--clay-dark); font-size:1rem; width:18px;}
.opt-text{font-size:1.02rem;}
.q-error{font-size:.92rem; color:var(--clay-dark);}
.wizard-nav .step-count{font-size:.95rem;}
.complete h2{font-size:clamp(1.9rem,3.2vw,2.5rem);}
.complete p{font-size:1.1rem;}
.complete .fine-print{font-size:.92rem;}


@media (max-width:640px){html{font-size:106.25%;} .about-fields{padding:28px 20px;} .q-card{padding:24px 20px;}}