/* @khumeia-design v13.1.0 - auto-diag posture */
:root{
  --rouge:#B63B33;--rouge-f:#833535;
  --ambre:#E89E45;--ambre-c:#F2BD7E;
  --ivoire:#FBF8F3;--creme:#F4EFE6;
  --choco:#3B3B3B;--choco-d:#2a1f18;
  --taupe:#67717A;--text-soft:#5a5248;
  --border:rgba(131,53,53,.12);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Montserrat',sans-serif;background:var(--ivoire);color:var(--choco);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}

/* Header */
.ad-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 2rem;border-bottom:1px solid var(--border);
  background:rgba(251,248,243,.96);backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:50;
}
.ad-logo{font-family:'Raleway',sans-serif;font-weight:500;font-size:1.1rem;color:var(--choco);text-decoration:none;letter-spacing:.05em}
.ad-logo span{color:var(--rouge)}
.ad-back a{font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:300;color:var(--taupe);text-decoration:none;letter-spacing:.04em}
.ad-back a:hover{color:var(--rouge)}

/* Progress bar */
.ad-progress{
  height:3px;background:var(--creme);position:relative;overflow:hidden;
  display:flex;align-items:center;
}
.ad-progress[hidden]{display:none}
.ad-progress-fill{
  position:absolute;left:0;top:0;bottom:0;width:0;
  background:linear-gradient(90deg,var(--ambre) 0%,var(--rouge) 100%);
  transition:width .45s cubic-bezier(.2,.7,.3,1);
}
.ad-progress-meta{
  position:absolute;right:1rem;top:8px;
  font-family:'Montserrat',sans-serif;font-weight:500;font-size:.6rem;
  letter-spacing:.18em;color:var(--rouge);text-transform:uppercase;
  background:var(--ivoire);padding:.15rem .5rem;border-radius:2px;
}
.ad-progress-meta .sep{opacity:.4;margin:0 .15rem}

/* Stage */
.ad-stage{flex:1;display:flex;align-items:flex-start;padding:3rem 0;position:relative}
.ad-screen{display:none;width:100%;animation:fade-in .45s ease}
.ad-screen.is-active{display:block}
@keyframes fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ad-container{max-width:760px;margin:0 auto;padding:0 32px}

/* Common typography */
.ad-eyebrow{
  font-family:'Montserrat',sans-serif;font-weight:500;font-size:.62rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ambre);
  margin-bottom:1.25rem;
}
.ad-stage h1{
  font-family:'Cormorant Garamond',serif;font-weight:300;
  font-size:clamp(2.2rem,4.2vw,3.4rem);line-height:1.15;
  color:var(--choco-d);margin-bottom:1.5rem;
}
.ad-stage h1 em{color:var(--rouge);font-style:italic}
.ad-lede{
  font-family:'Montserrat',sans-serif;font-weight:300;font-size:1rem;
  color:var(--text-soft);line-height:1.85;margin-bottom:2.5rem;max-width:600px;
}
.ad-lede strong{color:var(--rouge-f);font-weight:500}

/* Pillars (intro) */
.ad-pillars{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2.5rem;
}
.ad-pillar{
  background:#fff;border:1px solid var(--border);border-radius:6px;padding:1.4rem 1.4rem 1.3rem;
}
.ad-pillar .n{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;
  font-size:1.4rem;color:var(--ambre);margin-bottom:.4rem;
}
.ad-pillar h3{
  font-family:'Raleway',sans-serif;font-weight:500;font-size:.95rem;
  color:var(--choco-d);margin-bottom:.5rem;
}
.ad-pillar p{font-family:'Montserrat',sans-serif;font-weight:300;font-size:.8rem;color:var(--taupe);line-height:1.65}

.ad-fineprint{
  font-family:'Montserrat',sans-serif;font-weight:300;font-size:.78rem;
  color:var(--taupe);line-height:1.7;margin-bottom:2rem;font-style:italic;
}
.ad-fineprint strong{font-style:normal;font-weight:500;color:var(--rouge-f)}

/* CTAs */
.ad-cta-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  background:var(--rouge);color:#fff;border:none;
  padding:.95rem 1.85rem;border-radius:3px;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-weight:500;font-size:.82rem;
  letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 6px 18px rgba(182,59,51,.18);
  transition:background .2s,transform .15s,box-shadow .2s;
  text-decoration:none;
}
.ad-cta-primary:hover:not(:disabled){background:#a13230;transform:translateY(-1px);box-shadow:0 8px 22px rgba(182,59,51,.24)}
.ad-cta-primary:disabled{background:rgba(131,53,53,.25);cursor:not-allowed;box-shadow:none}
.ad-cta-compact{padding:.7rem 1.25rem;font-size:.74rem}
.ad-link{
  background:none;border:none;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-weight:400;font-size:.8rem;
  color:var(--rouge);text-decoration:underline;text-underline-offset:3px;
  letter-spacing:.02em;
}
.ad-link:hover{color:var(--rouge-f)}
.ad-resume{margin-top:1.25rem;font-family:'Montserrat',sans-serif;font-weight:300;font-size:.82rem;color:var(--taupe)}

/* Question screen */
.ad-q-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:1rem;
}
.ad-q-dimension{
  font-family:'Montserrat',sans-serif;font-weight:500;font-size:.62rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ambre);
}
.ad-q-counter{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;
  font-size:.95rem;color:var(--taupe);
}
.ad-q-text{
  font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.3;color:var(--choco-d);
  margin-bottom:1.75rem;
}
.ad-options{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.ad-option{
  background:#fff;border:1px solid var(--border);border-radius:6px;
  padding:1.05rem 1.25rem;cursor:pointer;
  display:flex;gap:1rem;align-items:flex-start;
  transition:border-color .2s,background .2s,transform .15s;
  font-family:'Montserrat',sans-serif;font-weight:300;font-size:.92rem;
  color:var(--choco);line-height:1.5;
}
.ad-option:hover{border-color:rgba(232,158,69,.5);background:#fffaf0}
.ad-option.is-selected{border-color:var(--ambre);background:rgba(232,158,69,.08);box-shadow:0 4px 14px rgba(232,158,69,.12)}
.ad-option .letter{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:var(--creme);color:var(--rouge);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:.95rem;
  transition:background .2s,color .2s;
}
.ad-option.is-selected .letter{background:var(--ambre);color:#fff}

.ad-feedback{
  margin-top:1.5rem;padding:1.1rem 1.35rem;
  background:linear-gradient(135deg,#fff 0%,var(--creme) 100%);
  border:1px solid rgba(232,158,69,.3);border-left:3px solid var(--ambre);
  border-radius:0 4px 4px 0;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;
  font-size:1.05rem;color:var(--choco);line-height:1.65;
  animation:fade-in .35s ease;
}
.ad-feedback strong{font-weight:500;font-style:normal;color:var(--rouge-f)}

.ad-q-nav{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:2rem;gap:1rem;flex-wrap:wrap;
}

/* Récap screen */
.ad-recap-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:3rem;
}
.ad-recap-card{
  background:#fff;border:1px solid var(--border);border-radius:6px;padding:1.6rem;
}
.ad-recap-card .rc-num{
  font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;
  font-size:1.4rem;color:var(--ambre);margin-bottom:.35rem;letter-spacing:.04em;
}
.ad-recap-card h3{
  font-family:'Raleway',sans-serif;font-weight:500;font-size:1rem;
  color:var(--choco-d);margin-bottom:.85rem;
}
.ad-recap-card .rc-summary{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;
  font-size:.98rem;color:var(--text-soft);line-height:1.6;margin-bottom:1rem;
}
.ad-recap-card .rc-day{
  font-family:'Montserrat',sans-serif;font-weight:500;font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--rouge);
  padding-top:.85rem;border-top:1px solid var(--border);
}

.ad-recap-actions{
  display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:640px;margin:0 auto;
}
.ad-action-card{
  background:#fff;border:1px solid var(--border);border-radius:6px;padding:1.6rem 1.75rem;
}
.ad-action-card h3{
  font-family:'Raleway',sans-serif;font-weight:500;font-size:1rem;color:var(--choco-d);margin-bottom:.5rem;
}
.ad-action-card p{
  font-family:'Montserrat',sans-serif;font-weight:300;font-size:.85rem;
  color:var(--text-soft);line-height:1.7;margin-bottom:1rem;
}
.ad-email-form{display:flex;gap:.6rem;flex-wrap:wrap}
.ad-email-form input{
  flex:1;min-width:220px;padding:.7rem .95rem;
  border:1px solid var(--border);border-radius:3px;background:var(--ivoire);
  font-family:'Montserrat',sans-serif;font-weight:300;font-size:.88rem;color:var(--choco);
}
.ad-email-form input:focus{outline:none;border-color:var(--ambre);background:#fff}
.ad-email-status{font-size:.78rem;color:var(--taupe);margin-top:.6rem;font-family:'Montserrat',sans-serif;font-weight:400}
.ad-email-status.is-success{color:var(--rouge)}
.ad-email-status.is-error{color:#b00020}

.ad-action-share{background:rgba(232,158,69,.06);border-color:rgba(232,158,69,.25)}
.ad-share-toggle{display:flex;gap:.85rem;align-items:flex-start;cursor:pointer}
.ad-share-toggle input{position:absolute;opacity:0;pointer-events:none}
.ad-share-box{
  width:22px;height:22px;border:1.5px solid var(--rouge);border-radius:3px;
  background:#fff;flex-shrink:0;margin-top:.1rem;position:relative;transition:background .15s;
}
.ad-share-toggle input:checked + .ad-share-box{background:var(--rouge)}
.ad-share-toggle input:checked + .ad-share-box::after{
  content:'✓';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  color:#fff;font-size:.95rem;font-weight:500;
}
.ad-share-text{font-family:'Montserrat',sans-serif;font-weight:300;font-size:.85rem;color:var(--choco);line-height:1.7}
.ad-share-text strong{font-weight:500}
.ad-share-text .ad-fineprint{display:block;margin-top:.4rem;font-style:italic;color:var(--taupe);font-size:.75rem}

.ad-action-cta{text-align:center;background:linear-gradient(135deg,#fff 0%,var(--creme) 100%);border-color:rgba(232,158,69,.3)}
.ad-action-cta a.ad-cta-primary{margin-bottom:.85rem}
.ad-action-cta a.ad-link{display:inline-block}

/* Footer */
.ad-foot{
  border-top:1px solid var(--border);padding:1.5rem 2rem;text-align:center;
  font-family:'Montserrat',sans-serif;font-weight:300;font-size:.74rem;color:var(--taupe);
}
.ad-foot a{color:var(--rouge);text-decoration:none}

/* Mobile */
@media(max-width:720px){
  .ad-pillars,.ad-recap-grid{grid-template-columns:1fr}
  .ad-q-text{font-size:1.35rem}
  .ad-option{font-size:.86rem;padding:.95rem 1.1rem}
  .ad-q-nav{flex-direction:column-reverse;align-items:stretch}
  .ad-q-nav .ad-cta-primary{width:100%}
  .ad-progress-meta{font-size:.55rem}
}
