/* Onboarding journeys: question → insight → plan. Desktop dialog, tablet dialog, mobile full-screen sheet. */
.journey-dialog{max-width:760px;width:calc(100% - 36px);height:min(88vh,780px);padding:0;border-radius:14px;overflow:hidden}
.journey-dialog[open]{display:flex;flex-direction:column}
.journey-head{padding:18px 24px 0;flex-shrink:0;position:relative}
.journey-head>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-right:44px;margin-bottom:12px}
.journey-name{font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--green)}
.journey-count{font-size:12px;color:var(--muted)}
.journey-head .close-button{top:10px;right:14px}
.journey-head progress{width:100%;height:4px;appearance:none;border:0;border-radius:4px;overflow:hidden;background:var(--line);display:block}
.journey-head progress::-webkit-progress-bar{background:var(--line)}.journey-head progress::-webkit-progress-value{background:var(--accent)}.journey-head progress::-moz-progress-bar{background:var(--accent)}
.journey-body{flex:1;min-height:0;overflow:auto;padding:26px 24px 20px}
.journey-body h2{font-size:30px;letter-spacing:-1.2px;line-height:1.15;margin:0 0 8px;outline:0}
.journey-body h2 em{font-family:var(--serif);font-weight:480;color:var(--accent)}
.journey-q>p,.journey-insight>p,.journey-plan>p{font-size:15px;color:var(--muted);line-height:1.7;margin:0 0 18px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.choice{display:flex;align-items:center;gap:12px;text-align:left;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:15px;font-weight:500;min-height:56px;transition:border-color .15s,background .15s}
.choice i{width:22px;height:22px;border-radius:50%;border:1.5px solid #cfc5b3;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent}
.choice i .icon{width:14px;height:14px}
.choices.multi .choice i{border-radius:6px}
.choice:hover{border-color:var(--accent)}
.choice.on{border-color:var(--accent);background:var(--accent-soft)}
.choice.on i{background:var(--accent);border-color:var(--accent);color:#fff}
.range-value{display:flex;align-items:baseline;gap:10px;margin:28px 0 14px}
.range-value strong{font-size:56px;letter-spacing:-2px;line-height:1;font-variant-numeric:tabular-nums}
.range-value span{font-size:15px;color:var(--muted)}
#journey-range{width:100%;accent-color:var(--accent);height:40px;margin:0}
.journey-insight .eyebrow,.journey-plan .eyebrow{margin-bottom:10px}
.journey-insight .ghl-stage{margin:16px 0 8px}
.journey-insight .ghl{height:330px}
.journey-foot{flex-shrink:0;display:flex;justify-content:space-between;gap:12px;padding:14px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
.journey-foot .button{min-height:46px}
.plan-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:22px 24px;margin:18px 0}
.plan-price{font-size:34px;font-weight:600;letter-spacing:-1.2px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.plan-price small{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}
.plan-card>strong{display:block;font-size:15px;margin-top:4px}
.plan-card ul{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}
.plan-card li{display:flex;gap:8px;align-items:center}.plan-card li .icon{width:16px;color:var(--accent)}
.plan-anchor{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line-soft);padding-top:12px;margin:0}
.journey-actions{display:flex;gap:12px;flex-wrap:wrap}
.journey-actions .button{min-height:48px}
.fine-print{font-size:11.5px;color:var(--muted);margin:14px 0 6px}
.journey-secondary{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:6px}
.journey-secondary .text-link{min-height:40px;color:var(--ink)}
/* personalised home */
.rec-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--accent);color:#fff;padding:3px 8px;border-radius:20px;margin-left:8px;vertical-align:middle}
.price-card.recommended-for-you{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)}
.price-card .rec-badge{margin:0 0 10px;align-self:flex-start}
.persona-result .plan-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--green);margin-bottom:12px}
.persona-result .plan-badge .icon{width:16px}
.persona-result .journey-cta{margin-top:6px}
.persona-change{font-size:12px;color:var(--muted);margin-top:14px;display:block}
.persona-change button{color:var(--accent-deep);font-weight:600}
@media(max-width:1024px){.journey-dialog{width:calc(100% - 48px);max-width:720px}}
@media(max-width:760px){
 .journey-dialog{width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0;border:0;margin:0}
 .journey-head{padding:14px 18px 0}.journey-head>div{margin-bottom:10px}.journey-name{font-size:9.5px;letter-spacing:1.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-count{white-space:nowrap;font-size:11px}
 .journey-body{padding:20px 18px 16px}
 .journey-body h2{font-size:24px;letter-spacing:-.8px}
 .journey-q>p,.journey-insight>p,.journey-plan>p{font-size:14px}
 .choices{grid-template-columns:1fr;gap:8px;margin-top:16px}
 .choice{min-height:52px;font-size:14px;padding:13px 14px}
 .range-value strong{font-size:48px}
 .journey-insight .ghl{height:290px}
 .journey-foot{padding:10px 18px calc(12px + env(safe-area-inset-bottom))}
 .journey-foot .button{flex:1;justify-content:center}
 .plan-card{padding:18px}.plan-card ul{grid-template-columns:1fr}
 .journey-actions .button{width:100%;justify-content:center}
}
/* plan price selector (single consistent paywall) */
.plan-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0 12px}
.plan-option{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px 16px;display:flex;flex-direction:column;gap:3px;transition:border-color .15s,background .15s;position:relative}
.plan-option:hover{border-color:var(--accent)}
.plan-option.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}
.plan-option-name{font-size:12px;font-weight:600;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.plan-option-name em{font-style:normal;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--accent);color:#fff;padding:2px 7px;border-radius:20px}
.plan-option strong{font-size:24px;letter-spacing:-.8px;line-height:1.1;color:var(--ink)}
.plan-option small{font-size:11px;color:var(--muted)}
.proof-line{font-size:12px;color:var(--green);display:flex;gap:8px;align-items:center;margin:0 0 10px}
.proof-line .icon{width:15px}
#journey-wait b{font-weight:600;color:var(--ink)}
/* one-time offer */
.offer-dialog{max-width:540px;padding:38px 40px 34px;border-radius:14px}
.offer-dialog .eyebrow{color:var(--accent-deep);margin-bottom:12px}
.offer-dialog h2{font-size:32px;letter-spacing:-1.2px;line-height:1.12;margin:0 0 10px}
.offer-headline{font-size:16px;line-height:1.6;margin:0 0 16px}
.offer-list{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px;font-size:14px}
.offer-list li{display:flex;gap:10px;align-items:flex-start}.offer-list li .icon{width:16px;color:var(--accent);flex-shrink:0;margin-top:2px}
.offer-dialog .journey-actions{align-items:center;gap:18px}
.offer-dialog .fine-print{margin-top:16px}
@media(max-width:640px){.offer-dialog{padding:28px 22px 26px;width:calc(100% - 24px)}.offer-dialog h2{font-size:26px}.offer-headline{font-size:15px}.plan-options{grid-template-columns:1fr 1fr;gap:8px}.plan-option{padding:12px}.plan-option strong{font-size:20px}}
@media(max-width:400px){.plan-options{grid-template-columns:1fr}}
/* longer journeys: text step, text-only insights, building beat */
.journey-text{width:100%;font-size:20px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);margin-top:20px;font-family:var(--sans)}
.journey-text:focus{outline:2px solid var(--accent);outline-offset:2px}
.insight-bullets{list-style:none;padding:0;margin:18px 0 12px;display:grid;gap:12px}
.insight-bullets li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.insight-bullets li .icon{width:18px;color:var(--accent);flex-shrink:0;margin-top:3px}
.insight-big{font-size:64px;font-weight:600;letter-spacing:-3px;line-height:1;margin:22px 0 18px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;color:var(--accent-deep)}
.insight-big small{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0}
.journey-building{padding-top:30px;text-align:center}
.journey-building .eyebrow{justify-content:center}
.building-list{list-style:none;padding:0;margin:26px auto 0;max-width:320px;display:grid;gap:12px;text-align:left}
.building-list li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--muted);padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:color .3s,border-color .3s}
.building-list li:before{content:'';width:18px;height:18px;border-radius:50%;border:2px solid #d8cfbe;border-top-color:var(--accent);animation:spin 1s linear infinite;flex-shrink:0}
.building-list li.done{color:var(--ink);border-color:#cfdfcd}
.building-list li.done:before{animation:none;border:0;background:var(--green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.journey-text{font-size:18px;padding:14px 16px}.insight-big{font-size:48px;letter-spacing:-2px}.insight-bullets li{font-size:14px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.building-list li:before{animation:none}}
/* brief dialog: send-first */
.brief-dialog form .button{margin-top:20px}
.brief-how{margin-top:12px;line-height:1.7}
.brief-how .text-link{display:inline;font-size:inherit;min-height:0}
#brief-status{margin-top:10px}
/* intelligent offer */
.offer-why{font-size:14.5px;line-height:1.65;color:var(--muted);margin:0 0 16px}
.offer-worth{font-size:13px;color:var(--green);margin:-6px 0 20px;display:flex;gap:8px}
.offer-worth:before{content:'✓'}
.offer-dialog h2{font-size:28px}
.offer-teaser{display:block;width:100%;text-align:left;margin-top:18px;padding:18px 20px;border:1px solid #e6c9b8;border-radius:12px;background:linear-gradient(180deg,#fff8f3,#fdf0e6);transition:border-color .15s}
.offer-teaser:hover{border-color:var(--accent)}
.offer-teaser-tag{display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent-deep);margin-bottom:6px}
.offer-teaser strong{display:block;font-size:15px;line-height:1.4;margin-bottom:8px}
.offer-teaser .text-link{font-size:12.5px}
@media(max-width:640px){.offer-dialog h2{font-size:24px}.offer-why{font-size:14px}}
