/* ============================================================
   Dosha introduction and eight-step quiz.
   A Read-to-Operate bridge inside the established Palm-Leaf world.
   ============================================================ */

.dosha-hero.room{height:max(420px,min(58vh,40vw))}
.dosha-hero--quiz.room{height:max(340px,min(48vh,34vw))}

/* --- introduction ----------------------------------------- */
.dosha-explainer{padding:89px 0 104px}
.dosha-explainer__grid{
  max-width:1104px;margin-top:48px;
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:88px;align-items:center;
}
.dosha-explainer__copy{max-width:650px}
.dosha-explainer__copy p{margin:22px 0 0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink)}
.dosha-explainer__copy p:first-child{margin-top:0}
.dosha-explainer__lead{font-size:var(--fs-lead)!important;line-height:var(--lh-lead)!important}
.dosha-explainer__note{padding-top:20px;border-top:1px solid var(--hairline);color:var(--brass-ink)!important}

.dosha-triad{position:relative;width:388px;height:342px;margin:0 auto}
.dosha-triad__item{position:absolute;width:127px;text-align:center}
.dosha-triad__item img{width:127px;height:127px;border-radius:50%}
.dosha-triad__item span{
  display:block;margin-top:8px;font:500 var(--fs-title)/1.05 var(--serif);color:var(--green);
}
.dosha-triad__item--pitta{left:50%;top:0;transform:translateX(-50%)}
.dosha-triad__item--vata{left:0;bottom:0}
.dosha-triad__item--kapha{right:0;bottom:0}
.dosha-triad__center{
  position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);
  font:300 58px/1 var(--serif);color:var(--gold-soft);
}

.dosha-types{position:relative;isolation:isolate;padding:96px 0 108px;background:var(--tan);overflow:hidden}
.dosha-types__watermark{position:absolute;right:-80px;bottom:-120px;z-index:-1;width:430px;opacity:.6;pointer-events:none}
.dosha-types__list{max-width:1104px;margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.dosha-type{display:grid;grid-template-columns:104px 1fr;gap:22px;padding:8px 36px;align-items:start}
.dosha-type + .dosha-type{border-left:1px solid var(--hairline)}
.dosha-type img{width:104px;height:104px;border-radius:50%}
.dosha-type h3{margin:0;font:500 var(--fs-title)/33px var(--serif);color:var(--green)}
.dosha-type p{margin:10px 0 0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink)}
.dosha-type .dosha-type__elements{margin-top:4px;color:var(--brass-ink)}

.dosha-start{padding:96px 0 104px;text-align:center;background:var(--brown);--focus-ring:var(--lamp)}
.dosha-start h2{max-width:900px;margin:0 auto;font:500 clamp(38px,4vw,54px)/1.04 var(--serif);color:var(--lamp-warm);text-wrap:balance}
.dosha-start p{max-width:650px;margin:28px auto 0;font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--lamp-dim)}
.dosha-start .btn{margin-top:38px}

/* --- quiz -------------------------------------------------- */
.quiz-shell{padding:64px 0 96px}
.quiz-shell__inner{max-width:1104px}
.quiz-progress{margin-left:auto;max-width:100%}
.quiz-progress__meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.quiz-progress__eyebrow{margin:0;font:500 clamp(32px,3vw,42px)/1 var(--serif);color:var(--green)}
.quiz-progress__label{margin:0;text-align:right;font-size:var(--fs-label);line-height:var(--lh-body);color:var(--brass-ink)}
.quiz-progress__track{height:4px;margin-top:14px;border-radius:var(--r-pill);background:var(--rule-on-cream);overflow:hidden}
.quiz-progress__fill{display:block;width:12.5%;height:100%;border-radius:inherit;background:var(--gold-action);transition:width .4s var(--ease)}
.quiz-basis{max-width:720px;margin:22px auto 0;text-align:center;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--brass-ink)}
.quiz-card{margin-top:26px;padding:54px 48px 40px;background:var(--card);border-radius:var(--r-xl)}
.quiz-step .sec-head h2,.quiz-result .sec-head h2{text-transform:none;letter-spacing:.004em}
.quiz-step__subtitle{max-width:680px;margin:18px auto 0;font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink);text-align:center}
.quiz-fieldset{min-width:0;margin:34px 0 0;padding:30px 26px;border:1px solid var(--rule-on-cream);border-radius:var(--r-lg)}
.quiz-fieldset legend{padding:0 8px;font:500 clamp(24px,2.3vw,32px)/1.15 var(--serif);color:var(--green);text-align:center}
.quiz-fieldset__hint{margin:0;text-align:center;font-size:var(--fs-label);line-height:var(--lh-body);color:var(--brass-ink)}
.quiz-options{display:grid;gap:10px;margin-top:22px}
.quiz-option{position:relative;cursor:pointer;color:var(--ink)}
.quiz-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.quiz-option--row{
  display:flex;align-items:center;gap:16px;min-height:56px;padding:16px 20px;
  border:1px solid var(--rule-on-cream);border-radius:var(--r-sm);background:var(--cream);
  font-size:var(--fs-body);line-height:var(--lh-body);transition:background var(--t-state),border-color var(--t-state);
}
.quiz-option--row:hover,.quiz-option--row:has(input:focus-visible){background:var(--gold-wash)}
.quiz-option--row:has(input:checked){border-color:var(--gold-action);background:var(--gold-wash)}
.quiz-option__mark{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;
  border:1px solid var(--gold-line);border-radius:var(--r-sm);color:var(--on-action);
  transition:background var(--t-state),border-color var(--t-state);
}
.quiz-option input:checked + .quiz-option__mark{border-color:var(--gold-action);background:var(--gold-action)}
.quiz-option input:checked + .quiz-option__mark::after{content:"";width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg)}
.quiz-option--tile:has(input:checked) .quiz-option__mark{border-color:var(--gold-action);background:var(--gold-action)}
.quiz-option--tile:has(input:checked) .quiz-option__mark::after{content:"";width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg)}
.quiz-options--tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.quiz-option--tile{
  display:flex;flex-direction:column;align-items:center;gap:16px;min-height:330px;padding:34px 24px 26px;
  border:1px solid var(--rule-on-cream);border-radius:var(--r-lg);background:var(--cream);
  font-size:var(--fs-body);line-height:var(--lh-body);text-align:center;
  transition:background var(--t-state),border-color var(--t-state),box-shadow var(--t-state),transform var(--t-state);
}
.quiz-option--tile:hover,.quiz-option--tile:has(input:focus-visible){background:var(--gold-wash);box-shadow:var(--sh-hover);transform:translateY(-2px)}
.quiz-option--tile:has(input:checked){border-color:var(--gold-action);background:var(--gold-wash)}
.quiz-option--tile .quiz-option__mark{margin-top:auto}
.quiz-option__icon{display:grid;place-items:center;width:100px;height:100px;border:1px solid var(--gold-line);border-radius:50%;color:var(--green)}
.quiz-option__icon svg{width:68px;height:68px}
.quiz-option__copy{display:flex;flex-direction:column;min-width:0;gap:8px;max-width:29ch}
.quiz-option--tile strong{font-weight:600;color:var(--green)}
.quiz-option--tile:has(input:checked) .quiz-option__icon{border-color:var(--gold-action)}
.quiz-error{margin:18px 0 0;color:var(--brown);font-size:var(--fs-body);line-height:var(--lh-body)}
.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px}
.quiz-actions--end{justify-content:flex-end}
.quiz-next{min-width:240px;border:0;cursor:pointer}

.quiz-result__doshas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px}
.quiz-result__dosha{padding:30px 28px;text-align:center;transition:background var(--t-state)}
.quiz-result__dosha + .quiz-result__dosha{border-left:1px solid var(--hairline)}
.quiz-result__dosha.is-leading{background:var(--gold-wash)}
.quiz-result__dosha img{width:127px;height:127px;margin:0 auto;border-radius:50%}
.quiz-result__title-row{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-top:12px}
.quiz-result__dosha h3{margin:0;font:500 var(--fs-title)/33px var(--serif);color:var(--green)}
.quiz-result__title-row strong{font:500 28px/1 var(--serif);color:var(--brass-ink)}
.quiz-result__bar{height:6px;margin:14px auto 0;border-radius:var(--r-pill);background:var(--rule-on-cream);overflow:hidden}
.quiz-result__bar span{display:block;width:0;height:100%;border-radius:inherit;background:var(--gold-action);transition:width .6s var(--ease)}
.quiz-result__badge{
  display:inline-flex;align-items:center;min-height:30px;margin-top:10px;padding:4px 12px;
  border:1px solid var(--rule-on-cream);border-radius:var(--r-sm);font-size:var(--fs-label);color:var(--brass-ink);
}
.quiz-result__dosha.is-leading .quiz-result__badge{border-color:var(--gold-action);background:var(--gold-action);color:var(--on-action)}
.quiz-result__dosha p{margin:12px auto 0;max-width:28ch;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink)}
.quiz-result__note{
  display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:34px;padding-top:30px;border-top:1px solid var(--hairline);
}
.quiz-result__note p{max-width:55ch;margin:0;font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink)}
.quiz-result__note .btn{min-width:280px}
.quiz-restart{margin-top:22px;background:transparent}
.quiz-noscript{margin:20px 0 0;padding:16px 20px;border:1px solid var(--rule-on-cream);border-radius:var(--r-sm);color:var(--brown)}

@media (max-width:1120px){
  .dosha-explainer__grid{gap:48px}
  .dosha-types__list{grid-template-columns:1fr;max-width:760px}
  .dosha-type{grid-template-columns:127px 1fr;padding:30px 0}
  .dosha-type + .dosha-type{border-left:0;border-top:1px solid var(--hairline)}
  .dosha-type img{width:127px;height:127px}
}

@media (max-width:860px){
  .dosha-hero.room,.dosha-hero--quiz.room{height:auto;min-height:420px}
  .dosha-explainer{padding:64px 0 72px}
  .dosha-explainer__grid{grid-template-columns:1fr;gap:44px;margin-top:34px}
  .dosha-triad{transform:scale(.86);transform-origin:center top;margin-bottom:-48px}
  .dosha-types{padding:64px 0 72px}
  .dosha-types__list{margin-top:32px}
  .dosha-start{padding:64px 0 72px}
  .dosha-start h2{font-size:29px}
  .quiz-shell{padding:40px 0 72px}
  .quiz-card{padding:34px 24px 28px}
  .quiz-fieldset{padding:22px 18px}
  .quiz-options--tiles,.quiz-result__doshas{grid-template-columns:1fr}
  .quiz-option--tile{min-height:0;padding:26px 20px 22px}
  .quiz-result__dosha + .quiz-result__dosha{border-left:0;border-top:1px solid var(--hairline)}
  .quiz-result__note{align-items:stretch;flex-direction:column}
  .quiz-result__note .btn{width:100%;min-width:0}
  .quiz-actions{flex-direction:column-reverse;align-items:stretch}
  .quiz-actions--end{align-items:stretch}
  .quiz-actions .btn,.quiz-actions .btn-ghost{width:100%}
}

@media (max-width:420px){
  .dosha-triad{width:342px;transform:scale(.82);margin-left:calc(50% - 171px);margin-bottom:-62px}
  .dosha-type{grid-template-columns:88px 1fr;gap:18px}
  .dosha-type img{width:88px;height:88px}
  .quiz-card{padding:28px 18px 24px}
  .quiz-fieldset{padding:20px 14px}
  .quiz-option--row{padding:14px}
  .quiz-progress__eyebrow{font-size:29px}
  .quiz-option__icon{width:84px;height:84px}
  .quiz-option__icon svg{width:58px;height:58px}
}

@media (prefers-reduced-motion:reduce){
  .quiz-progress__fill,.quiz-result__bar span,.quiz-option--tile{transition:none}
  .quiz-option--tile:hover,.quiz-option--tile:has(input:focus-visible){transform:none}
}
