*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Roboto',sans-serif;background:#f7f6f3;color:#2d2d2d;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
#app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;background:#f7f6f3;width:100%}
/* Header */
.header{padding:20px 20px 0;display:flex;align-items:center;justify-content:center;position:relative}
.header .logo{font-family:'Roboto',sans-serif;font-weight:700;font-size:18px;color:#4a7c59;letter-spacing:0.5px;display:flex;align-items:center;gap:6px}
.header .logo-icon{width:22px;height:22px;flex-shrink:0}
.header .back-btn{position:absolute;left:16px;top:20px;width:32px;height:32px;border:none;background:none;font-size:20px;color:#626262;cursor:pointer;display:flex;align-items:center;justify-content:center}
.header .sound-btn{position:absolute;right:16px;top:20px;width:32px;height:32px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s}
.header .sound-btn:hover{opacity:.8}
.header .sound-btn svg{width:22px;height:22px}
.header .sound-btn.muted svg .sound-wave{display:none}
.header .sound-btn.muted svg .mute-x{display:block}
.header .sound-btn svg .mute-x{display:none}
/* Progress */
.progress-wrap{padding:16px 20px 0}
.progress-bar-bg{width:100%;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}
.progress-bar-fill{height:100%;background:#4a7c59;border-radius:2px;transition:width .4s ease}
.progress-text{font-size:12px;color:#626262;margin-top:8px;text-align:right}
.progress-text .current{color:#2d2d2d;font-weight:700}
/* Section header */
.section-header{font-size:12px;font-weight:700;color:#4a7c59;text-transform:uppercase;letter-spacing:1.5px;padding:20px 20px 0}
/* Screen content */
.screen{flex:1;display:flex;flex-direction:column;padding:0 20px 32px;animation:fadeIn .35s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.screen .headline{font-size:24px;font-weight:700;color:#2d2d2d;line-height:1.4;margin:20px 0 12px;text-align:center}
.screen .headline-large{font-size:26px}
.screen .subheadline{font-size:15px;color:#626262;line-height:1.6;margin-bottom:20px;text-align:center}
.screen .authority-line{font-size:13px;color:#9396a6;font-style:italic;margin-bottom:24px}
.screen .prompt{font-size:16px;font-weight:700;color:#2d2d2d;margin-bottom:20px}
/* Options */
.options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.option-btn{display:flex;align-items:center;gap:14px;width:100%;padding:18px 20px;background:#fff;border:2px solid #e8e8e8;border-radius:12px;font-size:15px;font-weight:700;color:#2d2d2d;cursor:pointer;text-align:left;transition:all .2s ease;font-family:'Roboto',sans-serif;line-height:1.4}
.option-btn:hover{border-color:#4a7c59;background:#f0f7f1}
.option-btn.selected{border-color:#4a7c59;background:#eaf5ec}
.option-btn .emoji{font-size:24px;flex-shrink:0;width:32px;text-align:center}
.option-btn .opt-content{display:flex;flex-direction:column}
.option-btn .opt-subtitle{font-size:13px;font-weight:400;color:#626262;margin-top:4px;line-height:1.4}
.age-option{padding:20px 24px;font-size:17px;font-weight:700;border-radius:12px;border:1.5px solid #e0e0e0;gap:0}
.age-option:hover{border-color:#4a7c59}
.age-option.selected{border-color:#4a7c59;border-width:2px;background:#fff}
.option-none{font-size:13px;color:#9396a6;padding:14px 20px;border:1px dashed #ccc;border-radius:12px;text-align:center;cursor:pointer}
.option-none:hover{border-color:#4a7c59;color:#4a7c59}
.option-none.selected{border-color:#4a7c59;background:#eaf5ec;color:#2d2d2d}
/* Screen 1 — Age select overrides */
.screen-age{text-align:center}
.screen-age .headline{margin-top:20px;margin-bottom:8px;text-align:center;font-size:24px;line-height:1.4}
.screen-age .headline .hl{color:#4a7c59}
.screen-age .subheadline{font-size:14px;text-align:center;margin-bottom:16px}
.screen-age .authority-line{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;margin-bottom:16px}
.screen-age .authority-line::before{content:'🌿';font-size:14px}
.age-divider{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.age-divider::before,.age-divider::after{content:'';flex:1;height:1px;background:#ddd}
.age-divider span{font-size:14px;font-weight:700;color:#2d2d2d;white-space:nowrap}
.screen-age .disclaimer{opacity:.7;margin-top:24px}
/* Age cards */
.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.age-card{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .2s ease;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.age-card:hover{transform:scale(1.02);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.age-card:active{transform:scale(.97)}
.age-card-img{width:100%;aspect-ratio:1/0.85;background:#e8e0d4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.age-card-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.age-card-label{width:100%;padding:10px;background:#4a7c59;font-size:16px;font-weight:700;color:#fff;text-align:center;font-family:'Roboto',sans-serif}
/* CTA */
.cta-btn{width:100%;padding:20px;background:#4a7c59;color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:auto;font-family:'Roboto',sans-serif}
.cta-btn:hover{background:#3d6b4a}
.cta-btn:disabled{background:#a8c8a6;color:rgba(255,255,255,.5);cursor:not-allowed}
.cta-btn.special{background:#2d5a3a;font-size:16px;padding:22px;text-transform:uppercase;letter-spacing:.5px}
/* Mama Juba */
/* World map with pins */
.world-map-wrap{position:relative;width:100%;margin:0;padding:10px 0 0}
.world-map-dots{width:100%;height:auto;display:block}
.map-pin{position:absolute;transform:translate(-50%,-100%);opacity:0;animation:pinDrop .5s ease forwards}
.map-pin-pointer{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid #4a7c59;margin:0 auto}
.map-pin-photo{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid #4a7c59;margin:0 auto -4px;background:#e8e0d4}
.map-pin-photo img{width:100%;height:100%;object-fit:cover}
@keyframes pinDrop{0%{opacity:0;transform:translate(-50%,-150%)}60%{opacity:1;transform:translate(-50%,-90%)}80%{transform:translate(-50%,-105%)}100%{opacity:1;transform:translate(-50%,-100%)}}

/* Loading steps */
.loading-headline{font-size:26px;font-weight:700;text-align:center;color:#2d2d2d;margin-top:20px;line-height:1.3}
.loading-headline-green{font-size:26px;font-weight:700;text-align:center;color:#4a7c59;font-style:italic;margin-bottom:32px;line-height:1.3}
.loading-step-label{min-width:200px}
.loading-steps{display:flex;flex-direction:column;margin-bottom:24px}
.loading-step{display:flex;flex-wrap:wrap;align-items:center;padding:14px 0;border-bottom:1px solid #e8e3dc}
.loading-step:last-child{border-bottom:none}
.loading-step-label{font-size:16px;font-weight:700;color:#2d2d2d;flex:1;text-align:left}
.loading-step-status{font-size:14px;color:#626262;min-width:30px;text-align:right;display:flex;align-items:center;justify-content:flex-end}
.loading-step-check{width:24px;height:24px;border-radius:50%;background:#4a7c59;display:flex;align-items:center;justify-content:center}
.loading-step-check svg{width:14px;height:14px}
.loading-step-bar-bg{width:100%;height:8px;background:#e8e3dc;border-radius:4px;margin-top:8px;overflow:hidden}
.loading-step-bar-fill{height:100%;background:#4a7c59;border-radius:4px;width:0%;transition:width .1s linear}
/* Loading modal */
.loading-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:999}
.loading-modal{background:#fff;border-radius:16px;padding:28px 24px;max-width:340px;width:90%;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.loading-modal-sub{font-size:14px;color:#626262;margin-bottom:8px}
.loading-modal-question{font-size:20px;font-weight:700;color:#2d2d2d;margin-bottom:20px;line-height:1.4}
.loading-modal-btns{display:flex;gap:12px}
.loading-modal-btn{flex:1;padding:14px;border-radius:50px;border:none;font-size:16px;font-weight:700;cursor:pointer;background:#e8e0d4;color:#2d2d2d;transition:background .2s}
.loading-modal-btn:active{background:#d4cabb}
/* Testimonial card */
.loading-testimonial{margin-bottom:16px;display:flex;justify-content:center}
.testimonial-card{background:#fff;border-radius:12px;padding:16px;border:1px solid #e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.06);max-width:320px;width:100%}
.testimonial-stars{color:#4a7c59;font-size:18px;margin-bottom:8px;letter-spacing:2px;text-align:left}
.tstar{color:#4a7c59}
.testimonial-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px;text-align:left}
.testimonial-header strong{font-size:14px;color:#2d2d2d;flex:1;text-align:left}
.testimonial-name{font-size:12px;color:#626262;white-space:nowrap;align-self:flex-start}
.testimonial-text{font-size:13px;color:#626262;line-height:1.6;margin:0;text-align:left}

/* Diagnosis card */
.diagnosis-card{padding:20px!important}
.diagnosis-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.diagnosis-title{font-size:15px!important;line-height:1.3;margin:0!important;flex:1}
.diagnosis-badge{background:#f8d7d7;color:#8B3A2E;font-size:13px;font-weight:700;padding:4px 12px;border-radius:6px;white-space:nowrap}
.diagnosis-image{margin:0 auto 16px;text-align:center}
.diagnosis-bar-wrap{margin-bottom:20px}
.diagnosis-bar{height:8px;border-radius:4px;background:linear-gradient(to right,#4a7c59,#a8c8a6,#f5c842,#e8785a,#c0392b);position:relative;margin-bottom:8px}
.diagnosis-marker{position:absolute;top:-30px;transform:translateX(-50%)}
.diagnosis-marker-label{background:#2d2d2d;color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap;display:block}
.diagnosis-marker-label::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #2d2d2d}
.diagnosis-marker::after{content:'';width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #2d2d2d;position:absolute;top:28px;left:50%;transform:translateX(-50%)}
.diagnosis-bar-labels{display:flex;justify-content:space-between;font-size:11px;color:#626262;margin-top:12px}
.diagnosis-detail{background:#fdf2f2;border-radius:10px;padding:14px;margin-bottom:16px}
.diagnosis-detail-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.diagnosis-alert-icon{color:#c0392b;font-size:18px}
.diagnosis-detail strong{font-size:14px;color:#8B3A2E}
.diagnosis-detail p{font-size:13px;color:#4A4138;line-height:1.6;margin:0}
.diagnosis-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.diagnosis-metric{background:#f7f6f3;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:2px}
.diagnosis-metric-icon{font-size:18px;color:#4a7c59;margin-bottom:2px}
.diagnosis-metric-label{font-size:11px;color:#626262}
.diagnosis-metric-value{font-size:14px;font-weight:700;color:#2d2d2d}

/* Mama Juba reveal */
.mj-reveal{padding:0 4px}
.mj-p{font-family:'Roboto',sans-serif;font-size:17px;color:#2d2d2d;line-height:1.6;margin-bottom:12px}
.mj-diagnosis{font-family:'Roboto',sans-serif;font-size:28px;font-weight:900;color:#4a7c59;text-align:center;padding:16px 0;margin:8px 0;border-top:2px solid #e8e0d4;border-bottom:2px solid #e8e0d4;letter-spacing:0.5px}

.mama-image{width:100%;border-radius:16px;margin:20px 0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mama-image img{width:100%;border-radius:16px;display:block}
.mama-name{font-size:16px;font-weight:700;color:#2d2d2d;margin-bottom:4px}
.mama-title{font-size:13px;color:#626262;margin-bottom:20px}
.mama-quote{font-family:'Roboto',sans-serif;font-style:normal;font-size:18px;color:#2d2d2d;line-height:1.5;padding:24px;background:#fff;border-left:3px solid #4a7c59;border-radius:0 12px 12px 0;margin-bottom:16px}
.mama-attribution{font-size:14px;font-weight:700;color:#4a7c59;margin-bottom:20px;text-align:right}
.credential-line{font-size:13px;color:#626262;line-height:1.6;margin-bottom:24px}
/* Mama Juba — hero quote (tela 8 style) */
.mama-hero-quote{position:relative;background:linear-gradient(160deg,#2d5a3a,#1a3a24);border-radius:16px;padding:32px 24px;margin:24px 0;text-align:center}
.mama-hero-quote::before{content:'\201C';position:absolute;top:12px;left:16px;font-family:'Roboto',sans-serif;font-size:72px;color:rgba(255,255,255,.12);line-height:1}
.mama-hero-quote .quote-text{font-family:'Roboto',sans-serif;font-style:italic;font-size:16px;color:#e8e0d4;line-height:1.8;position:relative;z-index:1}
.mama-hero-quote .quote-attr{font-size:14px;font-weight:700;color:#d4a847;margin-top:20px;text-align:right}
/* Likert */
.likert-statement{font-family:'Roboto',sans-serif;font-style:italic;font-size:18px;color:#2d2d2d;line-height:1.6;padding:28px 24px;background:#fff;border-radius:16px;margin:24px 0;text-align:center}
.likert-prompt{font-size:15px;color:#626262;text-align:center;margin-bottom:20px}
.likert-scale{display:flex;gap:10px;justify-content:center;margin-bottom:10px}
.likert-btn{width:56px;height:56px;border-radius:50%;border:2px solid #e0e0e0;background:#fff;font-size:20px;font-weight:700;color:#626262;cursor:pointer;transition:all .2s ease;font-family:'Roboto',sans-serif}
.likert-btn:hover{border-color:#4a7c59;color:#4a7c59}
.likert-btn.selected{background:#4a7c59;color:#fff;border-color:#4a7c59}
.likert-labels{display:flex;justify-content:space-between;font-size:11px;color:#9396a6;padding:0 8px;margin-bottom:32px}
/* Info screen */
.info-copy{font-size:15px;color:#626262;line-height:1.7;margin-bottom:24px}
.info-copy strong{color:#2d2d2d}
.info-copy em{color:#4a7c59;font-style:normal;font-weight:700}
.info-highlight{font-size:16px;font-weight:700;color:#2d2d2d;line-height:1.5;margin-bottom:20px}
/* Social proof */
.social-number{font-size:48px;font-weight:900;color:#4a7c59;text-align:center;margin:0 0 4px}
.social-label{font-size:16px;color:#626262;text-align:center;margin-bottom:28px}
/* Logo cards */
.logo-cards{display:flex;gap:12px;margin:20px 0}
.logo-card{flex:1;padding:16px 10px;background:#fff;border-radius:12px;text-align:center;font-size:10px;font-weight:700;color:#2d2d2d;line-height:1.3;border:1px solid #e8e8e8;display:flex;flex-direction:column;align-items:center;gap:8px}
.logo-card img{width:80px;height:80px;object-fit:contain}
.logo-card .logo-seal{width:48px;height:48px;border-radius:50%;background:#1a3a5c;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:900;font-family:'Roboto',sans-serif;flex-shrink:0}
/* Profile cards */
.profile-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:16px}
.profile-card h3{font-size:14px;font-weight:700;color:#4a7c59;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.profile-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:14px}
.profile-row:last-child{border:none}
.profile-row .label{color:#626262}
.profile-row .value{font-weight:700;color:#2d2d2d}
.risk-bar{height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden;margin:8px 0}
.risk-fill{height:100%;border-radius:6px;transition:width 1s ease}
.risk-fill.high{background:linear-gradient(90deg,#e8a838,#dc4b4b);width:0%}
.risk-fill.high.animate{animation:fillHigh 1.5s ease-out forwards}
@keyframes fillHigh{from{width:0%}to{width:82%}}
.risk-fill.very-high{background:linear-gradient(90deg,#5b8c5a,#2d7a4f);width:0%}
.risk-fill.very-high.animate{animation:fillVeryHigh 1.5s ease-out forwards}
@keyframes fillVeryHigh{from{width:0%}to{width:92%}}
.risk-label{font-size:13px;font-weight:700;text-align:right;margin-bottom:8px}
.risk-label.high{color:#dc4b4b}
.risk-label.good{color:#4a7c59}
.profile-bullet{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:14px;color:#2d2d2d;line-height:1.5}
.profile-bullet::before{content:'🔸';flex-shrink:0}
.profile-message{font-size:15px;font-weight:400;color:#2d2d2d;line-height:1.65;text-align:center;padding:24px 20px;background:#eaf5ec;border-radius:12px;margin-top:16px}
.profile-message strong{font-size:16px;font-weight:700;display:block;margin-bottom:4px}
/* Loading — immersive (see updated rule below) */
.loading-headline{font-size:18px;font-weight:700;color:#2d2d2d;margin-bottom:6px;margin-top:40px}
.loading-sub{font-size:14px;color:#626262;margin-bottom:32px}
.loading-percent{font-size:72px;font-weight:900;color:#4a7c59;line-height:1;margin-bottom:20px;font-family:'Roboto',sans-serif}
.loading-bar-bg{width:100%;max-width:280px;height:10px;background:#e0e0e0;border-radius:5px;overflow:hidden;margin-bottom:32px}
.loading-bar-fill{height:100%;background:linear-gradient(90deg,#4a7c59,#6aad7a);border-radius:5px;transition:width .3s linear}
.loading-message{font-size:15px;color:#4a7c59;font-weight:700;min-height:24px;transition:opacity .3s;margin-bottom:32px}
.loading-carousel{width:100%;max-width:320px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.loading-carousel img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;opacity:0;transition:opacity .5s ease}
.loading-carousel img.visible{opacity:1}
/* Email */
.email-wrap{position:relative;margin-bottom:4px}
.email-wrap .email-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#9396a6}
.email-input{width:100%;padding:18px 20px 18px 48px;border:2.5px solid #e0e0e0;border-radius:12px;font-size:16px;font-family:'Roboto',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.email-input:focus{border-color:#4a7c59;box-shadow:0 0 0 3px rgba(74,124,89,.15)}
.email-input::placeholder{color:#bbb}
.email-error{font-size:12px;color:#dc4b4b;margin-top:4px;display:none}
.email-headline .hl{color:#4a7c59}
.email-cta-gold{width:100%;padding:22px;background:linear-gradient(135deg,#d4a847,#c49a3a);color:#1a3a24;border:none;border-radius:12px;font-size:17px;font-weight:900;cursor:pointer;font-family:'Roboto',sans-serif;text-transform:uppercase;letter-spacing:.5px;animation:ctaPulse 2s ease-in-out infinite;transition:transform .2s}
.email-cta-gold:disabled{background:#e0d5b8;color:rgba(26,58,36,.3);animation:none;cursor:not-allowed}
.email-cta-gold:active{transform:scale(.97)}
.checkbox-row{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-size:13px;color:#626262;cursor:pointer;line-height:1.5}
.checkbox-row input{margin-top:2px;accent-color:#4a7c59;width:18px;height:18px;flex-shrink:0}
.trust-badges{display:flex;justify-content:center;gap:14px;margin-top:20px;font-size:11px;color:#626262}
.trust-badge{display:flex;align-items:center;gap:4px}
.trust-badge svg{width:14px;height:14px;flex-shrink:0}
/* Profile section loader */
.ps-loading{padding:24px;background:#fff;border-radius:16px;margin-bottom:16px;text-align:center}
.ps-loading .ps-icon{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#4a7c59;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}
.ps-loading .ps-label{font-size:14px;font-weight:700;color:#2d2d2d;margin-bottom:12px}
.ps-loading .ps-bar-bg{width:100%;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}
.ps-loading .ps-bar-fill{height:100%;background:linear-gradient(90deg,#4a7c59,#6aad7a);border-radius:3px;width:0%;animation:psBarFill 1.8s ease-out forwards}
@keyframes psBarFill{0%{width:0%}100%{width:100%}}
/* Reveal screen */
.screen-reveal{background:linear-gradient(160deg,#2d5a3a 0%,#1a3a24 50%,#0f2618 100%);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center;position:relative;overflow:hidden}
.reveal-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.reveal-sparkle{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;opacity:0;animation:sparkle 3s ease-in-out infinite}
@keyframes sparkle{0%,100%{opacity:0;transform:scale(0)}50%{opacity:.6;transform:scale(1)}}
.reveal-seal{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#d4a847,#f0d078,#d4a847);display:flex;align-items:center;justify-content:center;margin-bottom:28px;box-shadow:0 0 30px rgba(212,168,71,.3);animation:sealGlow 2s ease-in-out infinite alternate}
.reveal-seal svg{width:40px;height:40px}
@keyframes sealGlow{from{box-shadow:0 0 20px rgba(212,168,71,.2)}to{box-shadow:0 0 40px rgba(212,168,71,.5)}}
.reveal-headline{font-size:28px;font-weight:900;color:#fff;line-height:1.3;margin-bottom:24px;max-width:320px}
.reveal-quote{font-family:'Roboto',sans-serif;font-style:italic;font-size:16px;color:#e8e0d4;line-height:1.7;padding:24px;background:rgba(255,255,255,.08);border:1px solid rgba(212,168,71,.3);border-radius:16px;margin-bottom:12px;max-width:360px}
.reveal-attribution{font-size:14px;font-weight:700;color:#d4a847;margin-bottom:32px}
.reveal-cta{width:100%;max-width:360px;padding:22px;background:linear-gradient(135deg,#d4a847,#c49a3a);color:#1a3a24;border:none;border-radius:12px;font-size:17px;font-weight:900;cursor:pointer;font-family:'Roboto',sans-serif;text-transform:uppercase;letter-spacing:.5px;animation:ctaPulse 2s ease-in-out infinite;transition:transform .2s}
.reveal-cta:active{transform:scale(.97)}
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(212,168,71,.4)}50%{box-shadow:0 0 0 12px rgba(212,168,71,0)}}
/* Transitional */
.transitional{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 16px}
.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#4a7c59;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}
@keyframes spin{to{transform:rotate(360deg)}}
.transitional p{font-size:16px;color:#626262}
/* Disclaimer */
.disclaimer{font-size:11px;color:#9396a6;text-align:center;padding:20px;line-height:1.6;margin-top:auto}
/* Gender icon in hero screen */
.gender-icon-bg{width:100%;aspect-ratio:1/0.85;background:#eaf5ec;display:flex;align-items:center;justify-content:center}
.gender-emoji{font-size:56px;line-height:1}
/* Loading — adjusted for 6 images */
.screen-loading{background:#f7f6f3;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:24px 24px 32px;text-align:center;flex:1;overflow-y:auto}
/* Utility */
.mt-auto{margin-top:auto}
.mb-8{margin-bottom:8px}
.mb-16{margin-bottom:16px}
.text-center{text-align:center}
.hidden{display:none!important}
/* ===== RESPONSIVE ===== */
/* Small phones (320px-359px) */
@media(max-width:359px){
  .screen .headline{font-size:20px}
  .screen .headline-large{font-size:22px}
  .screen .subheadline{font-size:14px}
  .option-btn{padding:12px;font-size:14px;gap:10px}
  .option-btn .emoji{font-size:20px;width:28px}
  .option-btn .opt-subtitle{font-size:12px}
  .age-btn{padding:16px;font-size:16px}
  .cta-btn{padding:16px;font-size:16px}
  .mama-quote{font-size:16px;padding:16px}
  .likert-statement{font-size:16px;padding:20px 16px}
  .likert-btn{width:48px;height:48px;font-size:18px}
  .social-number{font-size:40px}
  .logo-cards{flex-direction:column;gap:8px}
  .profile-card{padding:16px}
  .trust-badges{flex-direction:column;align-items:center;gap:8px}
  .loading-grid{gap:6px}
}
/* Mobile — screen 1 headline */
@media(max-width:767px){
  .screen-age .headline{font-size:23px;line-height:1.25;font-weight:900}
}
/* Large phones / small tablets (414px-767px) */
@media(min-width:414px){
  .screen{padding:0 20px 28px}
  .header{padding:18px 20px 0}
  .progress-wrap{padding:14px 20px 0}
  .section-header{padding:18px 20px 0}
}
/* Tablets (768px+) */
@media(min-width:768px){
  .screen{padding:0 24px 32px}
  .header{padding:20px 24px 0}
  .progress-wrap{padding:16px 24px 0}
  .section-header{padding:20px 24px 0}
  .screen .headline{font-size:26px}
  .screen .headline-large{font-size:30px}
  .option-btn{padding:18px}
  .cta-btn{padding:22px}
  .likert-btn{width:60px;height:60px}
}
/* Desktop (1024px+) */
@media(min-width:1024px){
  .option-btn:hover{transform:translateX(4px)}
  .age-btn:hover{transform:scale(1.03)}
  .cta-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(74,124,89,.3)}
  .likert-btn:hover{transform:scale(1.08)}
}
/* Safe area for notched phones */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  .screen{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .cta-btn{margin-bottom:env(safe-area-inset-bottom)}
}
/* Compact etapa 33 on mobile */
@media(max-width:480px){
  .world-map-wrap{padding:0;margin:0}
  .world-map-wrap+.social-number{margin:0 0 2px;font-size:36px}
  .world-map-wrap~.headline{margin:0 0 4px;font-size:18px}
  .world-map-wrap~.info-copy{margin-bottom:6px;font-size:13px;line-height:1.5}
  .world-map-wrap~.info-highlight{margin-bottom:6px;font-size:14px}
}
/* Fix for keyboard pushing content on mobile */
@media(max-height:500px){
  .likert-statement{padding:16px;font-size:15px}
  .social-number{font-size:36px;margin:12px 0 4px}
}
/* Touch-friendly: no hover effects on touch devices */
@media(hover:none){
  .option-btn:hover{border-color:#e8e8e8;background:#fff}
  .option-btn.selected:hover{border-color:#4a7c59;background:#eaf5ec}
  .age-btn:hover{background:#4a7c59;transform:none}
  .cta-btn:hover{background:#4a7c59;transform:none;box-shadow:none}
}
/* Active states for touch */
.option-btn:active{transform:scale(.98);background:#eaf5ec;border-color:#4a7c59}
.age-btn:active{transform:scale(.97);background:#3d6b4a}
.cta-btn:active{transform:scale(.98);background:#3d6b4a}
.likert-btn:active{transform:scale(.92)}
