.dosha-quiz-page { overflow: hidden; }
.dosha-quiz-hero { position: relative; display: grid; min-height: 31rem; align-items: end; padding: 11rem 0 5.5rem; color: var(--white); background: radial-gradient(circle at 80% 20%, rgba(143,169,154,.22), transparent 30%), var(--forest-deep); }
.dosha-quiz-hero::after { position: absolute; right: 8%; bottom: -8rem; width: 20rem; height: 20rem; border: 1px solid rgba(169,111,120,.45); border-radius: 50%; content: ""; opacity: .6; }
.dosha-quiz-hero__inner { position: relative; z-index: 1; }
.dosha-quiz-hero .section-eyebrow { color: var(--sage-light); }
.dosha-quiz-hero h1 { max-width: 50rem; margin: 1rem 0 1.2rem; color: var(--white); font-size: clamp(2.8rem, 5.4vw, 5.25rem); letter-spacing: -.055em; line-height: .98; }
.dosha-quiz-hero h1 em { color: var(--sage-light); }
.dosha-quiz-hero p { max-width: 28rem; margin: 0; color: #d6dfd8; }
.dosha-quiz-section { background: var(--sand); }
.dosha-quiz-layout { display: grid; grid-template-columns: minmax(13rem, .62fr) minmax(0, 1.38fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: start; }
.dosha-quiz-intro { position: sticky; top: 8rem; }
.dosha-quiz-intro h2 { margin: 1rem 0 1.2rem; color: var(--forest); }
.dosha-quiz-intro > p { max-width: 20rem; color: #69736a; }
.dosha-quiz-note { padding-top: 1.2rem; border-top: 1px solid rgba(41,72,59,.25); font-size: .75rem; line-height: 1.5; }
.dosha-quiz-card { min-width: 0; padding: clamp(1.3rem, 3vw, 3rem); background: #ebe5d9; box-shadow: 1rem 1rem 0 rgba(196,164,106,.22); }
.dosha-quiz-progress { display: grid; gap: .65rem; margin-bottom: 1.5rem; color: var(--wine-deep); font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.dosha-quiz-progress__track { height: 2px; background: rgba(41,72,59,.16); }
.dosha-quiz-progress__track span { display: block; width: 10%; height: 100%; background: var(--wine); transition: width .35s ease; }
.dosha-question { display: none; }
.dosha-question.is-active { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.2fr); gap: clamp(1.4rem, 3vw, 3rem); align-items: start; animation: dosha-fade-in .4s ease both; }
@keyframes dosha-fade-in { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }
.dosha-question__image { aspect-ratio: 1 / 1.12; overflow: hidden; background: var(--forest); }
.dosha-question__image img { width: 100%; height: 100%; object-fit: cover; }
.dosha-question__body { padding-top: .35rem; }
.dosha-question__number { color: var(--gold); font-family: var(--serif); font-size: 1.2rem; }
.dosha-question h3 { margin: .8rem 0 1.5rem; color: var(--forest); font-size: clamp(1.55rem, 2.5vw, 2.35rem); line-height: 1.1; }
.dosha-options { display: grid; gap: .65rem; }
.dosha-option { display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; align-items: start; width: 100%; padding: .8rem .9rem; border: 1px solid rgba(41,72,59,.22); color: #526158; background: rgba(243,238,228,.55); font-size: .82rem; line-height: 1.45; text-align: left; transition: border-color .25s, background .25s, transform .25s; }
.dosha-option:hover, .dosha-option:focus-visible, .dosha-option.is-selected { border-color: var(--wine); background: var(--sand); transform: translateX(3px); }
.dosha-option__letter { color: var(--wine-deep); font-family: var(--serif); font-size: 1.15rem; line-height: 1.1; }
.dosha-lead-gate, .dosha-result { max-width: 38rem; margin-inline: auto; }
.dosha-lead-gate h3, .dosha-result h3 { margin: .8rem 0 .7rem; color: var(--forest); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.02; }
.dosha-lead-gate p, .dosha-result p { color: #69736a; }
.dosha-lead-gate form { display: grid; gap: .45rem; margin-top: 1.6rem; }
.dosha-lead-gate label { color: var(--forest); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.dosha-lead-gate input { width: 100%; padding: .8rem 0; border: 0; border-bottom: 1px solid rgba(41,72,59,.3); outline: 0; color: var(--forest); background: transparent; }
.dosha-lead-gate input:focus { border-color: var(--wine); box-shadow: 0 2px 0 var(--wine); }
.dosha-lead-gate .button { margin-top: 1rem; justify-self: start; }
.dosha-form-error { margin: .8rem 0 0; color: var(--wine-deep) !important; font-size: .76rem; }
.dosha-lead-gate input[type="hidden"] { display: none; }
.dosha-result .section-eyebrow { margin-bottom: .4rem; }
.dosha-result .text-link { margin-top: 1rem; border: 0; background: transparent; }
[data-quiz-lead][hidden], [data-quiz-result][hidden], [data-quiz-content][hidden], .dosha-quiz-progress[hidden] { display: none; }
@media (max-width: 900px) {
  .dosha-quiz-hero { min-height: 27rem; padding: 9rem 0 4.5rem; }
  .dosha-quiz-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .dosha-quiz-intro { position: static; }
  .dosha-quiz-intro h2 { font-size: clamp(2.8rem, 10vw, 4rem); }
}
@media (max-width: 600px) {
  .dosha-quiz-hero h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .dosha-quiz-card { padding: 1rem; box-shadow: .5rem .5rem 0 rgba(196,164,106,.22); }
  .dosha-question.is-active { grid-template-columns: 1fr; gap: 1.4rem; }
  .dosha-question__image { aspect-ratio: 1.45 / 1; }
  .dosha-question h3 { font-size: 1.65rem; }
  .dosha-option { font-size: .78rem; }
  .dosha-lead-gate .button { width: 100%; }
}