/* Le point de départ prolonge l'identité de l'accueil sans distraire des choix. */
body:has(#journey:not([hidden])),body:has(#result:not([hidden])){background:var(--landing-linen)}
body:has(#journey:not([hidden])) .site-header :is(.desktop-nav,.header-cta,.menu-toggle),
body:has(#result:not([hidden])) .site-header :is(.desktop-nav,.header-cta,.menu-toggle){display:none}
body:has(#journey:not([hidden])) .mobile-nav,
body:has(#result:not([hidden])) .mobile-nav{display:none!important}
.journey,.result{font-family:var(--landing-body);color:var(--landing-forest)}
.journey-shell{width:min(1260px,calc(100% - 64px));margin:auto}
.journey{min-height:calc(100dvh - 74px);padding:14px 0 54px}
.journey-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.journey-topbar .text-button{font-size:.9rem;text-decoration:none;border-bottom:1px solid currentColor;min-height:40px;padding:7px 0}
.journey-topbar>span{color:var(--landing-muted);font-size:.82rem}
.journey-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;margin:0;align-items:stretch}
.journey-aside{position:relative;overflow:hidden;isolation:isolate;min-width:0;min-height:590px;padding:clamp(32px,4vw,62px);border-radius:14px;background:#e8d8ca;display:flex;flex-direction:column}
.journey-aside::after{content:"";position:absolute;z-index:-1;width:460px;height:460px;right:-240px;bottom:-215px;border:1px solid #a9553e55;border-radius:50%;box-shadow:0 0 0 72px #e8d8ca,0 0 0 73px #a9553e33,0 0 0 140px #e8d8ca,0 0 0 141px #a9553e22}
.journey-aside>p.journey-eyebrow{max-width:none;margin:0 0 34px;color:var(--landing-olive);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.journey-aside>p.journey-aside-title{max-width:9.5ch;margin:0;color:var(--landing-forest);font:400 clamp(2.8rem,4.3vw,4.8rem)/1.04 var(--landing-display);letter-spacing:-.045em}
.journey-aside>p.journey-aside-copy{max-width:34ch;margin:26px 0 0;color:var(--landing-forest);font-size:1.05rem;line-height:1.55}
.journey-promise{display:flex;gap:0;margin-top:auto;padding:28px 0 0;border-top:1px solid #30241f35;border-left:0}
.journey-promise span{display:flex;flex-direction:column;gap:4px;flex:1;color:var(--landing-olive);font-size:.78rem}
.journey-promise strong{font-size:.9rem;color:var(--landing-forest);font-weight:600}
.journey-aside>p.journey-aside-note{max-width:43ch;margin:22px 0 0;color:var(--landing-muted);font-size:.79rem;line-height:1.5}
.question-panel{min-width:0;min-height:590px;align-self:stretch;padding:clamp(32px,4vw,62px);border:1px solid #30241f12;border-radius:14px;background:#fffdfa;box-shadow:0 18px 45px #30241f0b}
.question-progress{display:flex;justify-content:space-between;gap:16px;margin:0 0 12px;color:var(--landing-muted);font-size:.79rem;font-weight:600}
.question-progress span:first-child{color:var(--landing-olive)}
.progress-track{display:block;width:100%;height:4px;margin:0 0 52px;border:0;border-radius:5px;overflow:hidden;background:#e8d8ca}
.progress-track::-webkit-progress-bar{background:#e8d8ca;border-radius:5px}
.progress-track::-webkit-progress-value{background:var(--landing-terracotta);border-radius:5px;transition:width .35s ease}
.progress-track::-moz-progress-bar{background:var(--landing-terracotta);border-radius:5px}
.question-panel h1{max-width:17ch;font:400 clamp(2.35rem,3.2vw,3.65rem)/1.09 var(--landing-display);letter-spacing:-.035em;text-wrap:balance}
.question-help{max-width:56ch;margin:18px 0 30px;color:var(--landing-muted);font-size:1rem;line-height:1.55}
#question-content>h1,#question-content>.question-help,#question-content>form{animation:question-enter .4s var(--landing-ease) both}
#question-content>.question-help{animation-delay:.04s}
#question-content>form{animation-delay:.08s}
@keyframes question-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.choices{display:grid;gap:10px;margin:0;padding:0;border:0}
.choice{position:relative;width:100%;min-height:64px;padding:16px 18px;border:1px solid var(--landing-line);border-radius:10px;background:#fffdfa;text-align:left;font-size:.97rem;line-height:1.4;transition:border-color .2s,background .2s,transform .2s}
.choice:hover{background:#f6eee7;border-color:var(--landing-terracotta);transform:translateX(3px)}
.choice[aria-pressed="true"]{border-color:var(--landing-terracotta);background:#f3e5da;color:var(--landing-forest)}
.choice:focus-visible{outline:3px solid var(--landing-forest);outline-offset:3px}
.choice-indicator{width:19px;height:19px;border:1.5px solid #8e8279;border-radius:50%;flex:none}
.choice[aria-pressed="true"] .choice-indicator{border:5px solid var(--landing-terracotta)}
.choice span:last-child{flex:1}
.question-actions{margin-top:28px;gap:16px}
.question-actions .text-button{color:var(--landing-muted);font-size:.9rem}
.question-actions .button{min-height:52px;padding:13px 22px;border-radius:30px;background:var(--landing-forest);color:var(--landing-linen);font-size:.94rem;font-weight:600;gap:24px}
.question-actions .button:hover{background:var(--landing-olive)}
.step-note{margin-left:auto;color:var(--landing-muted)}
.form-error{color:#9a302d}
.journey-footnote{margin:22px 4px 0;color:var(--landing-muted);font-size:.78rem}
.journey :is(button,input):focus-visible,.result :is(button,a,input):focus-visible{outline:3px solid var(--landing-forest);outline-offset:4px}
.journey .email-kicker{color:var(--landing-olive)}
.journey .email-label{color:var(--landing-forest)}
.journey .email-label span,.journey .email-preview,.journey .email-reassurance{color:var(--landing-muted)}
.journey #email{border-color:var(--landing-line);border-radius:9px;color:var(--landing-forest);background:#fffdfa}
.journey #email:focus{border-color:var(--landing-terracotta)}
.journey :is(.adult-choice,.marketing-choice) input{accent-color:var(--landing-terracotta)}
.journey .result-preview{border-color:var(--landing-line);background:#f5f0e8}
.journey .result-preview>span{color:var(--landing-olive)}
.journey .result-preview p{color:var(--landing-muted)}
.journey .question-panel:has(.result-preview) h1{max-width:18ch}
.result{padding-top:34px}
.result .eyebrow,.result-top .eyebrow{color:var(--landing-olive)}
.result h1,.result h2{font-family:var(--landing-display);font-weight:400;color:var(--landing-forest)}
.result h1{font-size:clamp(2.7rem,5vw,4.8rem);letter-spacing:-.04em}
.result :is(.result-intro,.result-scope,.duration-note,.result-details p,.result-details ul,.result-bottom){color:var(--landing-muted)}
.result .result-scope{border-color:var(--landing-line)}
.result-tailored{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:29px}
.result-tailored article{padding:22px 24px;border:1px solid var(--landing-line);border-radius:12px;background:#fffdfa}
.result-tailored .eyebrow{margin:0 0 10px;color:var(--landing-olive);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
.result-tailored article>p:last-child{color:var(--landing-muted);font-size:.94rem;line-height:1.58}
.result-safety-resources{margin-top:24px;padding:22px 24px;border-left:4px solid var(--landing-terracotta);border-radius:0 10px 10px 0;background:#e8d8ca}
.result-safety-resources strong{display:block;font-size:.98rem}
.result-safety-resources p{margin-top:7px;color:var(--landing-forest);font-size:.93rem}
.result-safety-resources a{display:inline-flex;min-height:44px;align-items:center;margin-top:8px;font-weight:700;text-underline-offset:4px}
.result .cycle-panel{border-color:var(--landing-line)}
.result .first-action{background:#e8d8ca}
.result .first-action .eyebrow{color:var(--landing-olive)}
.result .first-action>p:not(.eyebrow){color:var(--landing-forest)}
.result .goal-hint{border-color:#30241f35;color:var(--landing-forest)}
.result .result-details article+article{border-color:var(--landing-line)}
.result .result-followup{background:var(--landing-forest)}
.result .result-followup .eyebrow,.result .result-followup p:not(.eyebrow),.result .result-followup-cta>p{color:#f4e8dc!important}
.result .result-followup h2{color:#fffdfa}
.result .result-followup .button{background:var(--landing-linen);color:var(--landing-forest);border-radius:30px}
.result .result-followup .button:hover{background:var(--landing-light)}
.result .safe-followup{background:#4d5a48}
.result .safety-box{background:#e8d8ca}
.result .safety-continue{color:var(--landing-forest);border-color:var(--landing-forest)}
.result .resource-link{background:var(--landing-forest);border-radius:30px}
.result .resource-link:hover{background:var(--landing-olive)}
@media(max-width:900px){
  .journey-shell{width:calc(100% - 40px)}
  .journey-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
  .journey-aside,.question-panel{padding:32px;min-height:0}
  .journey-aside-title{font-size:clamp(2.5rem,4vw,3.6rem)}
  .journey-promise{flex-direction:column;gap:10px}
  .journey-promise span{flex-direction:row;gap:10px}
  .progress-track{margin-bottom:34px}
}
@media(max-width:700px){
  .journey{padding-top:4px}
  .journey-shell{width:calc(100% - 24px)}
  .journey-topbar{margin:0 6px 12px}
  .journey-topbar>span{font-size:.72rem}
  .journey-layout{grid-template-columns:1fr;gap:10px}
  .journey-aside{padding:25px 25px 22px}
  .journey-aside::after{display:none}
  .journey-aside>p.journey-eyebrow{margin-bottom:12px}
  .journey-aside>p.journey-aside-title{max-width:none;font-size:clamp(2rem,8vw,3rem)}
  .journey-aside-title br{display:none}
  .journey-aside>p.journey-aside-copy{margin-top:10px;font-size:.9rem}
  .journey-promise,.journey-aside-note{display:none}
  .journey:not([data-step="0"]) .journey-aside{display:none}
  .question-panel{padding:27px 24px 32px}
  .question-panel h1{font-size:clamp(2.05rem,8vw,2.8rem)}
  .question-help{margin:15px 0 25px;font-size:.94rem}
  .result-tailored{grid-template-columns:1fr;margin-top:23px}
  .result-tailored article{padding:19px 20px}
  .choice{min-height:58px;padding:14px 16px}
  .choice:hover{transform:none}
  .journey-footnote{margin:15px 10px 0}
}
@media(max-width:450px){
  .journey-topbar>span{max-width:140px;text-align:right}
  .journey-aside{padding:22px}
  .journey-aside>p.journey-aside-title{font-size:2.1rem}
  .question-panel{padding:24px 20px 28px}
  .question-panel h1{font-size:2rem}
  .question-actions{align-items:stretch;flex-direction:column-reverse}
  .question-actions .button{width:100%}
  .question-actions .text-button{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .choice,.progress-track::-webkit-progress-value{transition:none}
  #question-content>h1,#question-content>.question-help,#question-content>form{animation:none}
}
@media(hover:none){
  .journey .choice:hover:not([aria-pressed="true"]){background:#fffdfa;border-color:var(--landing-line)}
}
