/* Vibe live sign-up and induction booking pages (public site). Based on questionnaire.css. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--olive:#505238;--olive-dark:#373d2b;--cream:#f8f4ed;--sand:#e9dfd2;--pink:#e7d1ca;--brown:#634b3d;--ink:#252b25;--muted:#645e55;--line:#d8cfc3;--white:#fffdf9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b78d68;outline-offset:3px}.topbar{height:78px;background:var(--white);display:flex;align-items:center;padding:0 clamp(18px,4vw,68px);gap:22px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:105px;max-height:57px;object-fit:contain}.topbar-note{font-size:.73rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.topbar-back{margin-left:auto;text-decoration:none;font-size:.85rem;font-weight:700;color:var(--olive)}.shell{width:min(1280px,100%);margin:auto;padding:clamp(25px,4vw,64px)}.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:var(--olive);font-weight:700;margin-bottom:18px}.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.82fr);gap:clamp(22px,3vw,48px);align-items:start}.stage{min-height:620px;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,54px);box-shadow:0 12px 38px rgba(65,55,44,.07);display:flex;flex-direction:column}.conversation{flex:0 0 auto}.step-mark{color:var(--olive);font-size:.76rem;letter-spacing:.12em;font-weight:700;text-transform:uppercase}.question-heading{font:500 clamp(1.5rem,2.7vw,2.3rem)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.03em;color:var(--olive-dark);margin:24px 0 17px;max-width:680px}.question-heading em{font-weight:500}.lead{font-size:1.02rem;line-height:1.7;color:var(--muted);max-width:600px;margin:0 0 24px}.speech{display:inline-flex;background:#e9e6d8;color:var(--olive-dark);padding:13px 18px;border-radius:16px 16px 16px 3px;font-size:.92rem;line-height:1.5;max-width:620px}.error{border-radius:10px;background:#fff1ec;color:#843b2b;padding:11px 14px;margin:10px 0 6px;font-size:.89rem}.answer{padding:22px 0;flex:1}.answer label.label{display:block;color:var(--olive-dark);font-weight:700;margin:0 0 12px}.field{width:100%;max-width:620px;border:1px solid #bdb8a9;background:#fff;border-radius:13px;padding:17px;font-size:16px;color:var(--ink);min-height:54px}.field:focus{border-color:var(--olive)}textarea.field{min-height:155px;resize:vertical;line-height:1.6}.helper{display:block;color:var(--muted);font-size:.84rem;line-height:1.5;margin:10px 0}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-width:690px}.choice{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;align-items:center;gap:13px;min-height:60px;color:var(--olive-dark);font-weight:600;text-align:left;transition:background .18s ease,border-color .18s ease,transform .18s ease}.choice:hover{background:#f6f1e9;transform:translateY(-1px)}.choice.selected{background:#e6eadf;border-color:#78906c}.choice .marker{width:23px;height:23px;flex-shrink:0;border:1px solid #9f9b8d;border-radius:50%;display:grid;place-items:center;font-size:.83rem}.choice.multi .marker{border-radius:6px}.choice.selected .marker{background:var(--olive);border-color:var(--olive);color:white}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.btn{border:1px solid var(--olive);border-radius:999px;background:var(--olive);color:white;font-weight:700;font-size:.92rem;min-height:48px;padding:12px 25px;transition:transform .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px);background:var(--olive-dark)}.btn.secondary{background:transparent;color:var(--olive);border-color:var(--line)}.btn.secondary:hover{background:var(--sand)}.btn.quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn.quiet:hover{background:#f5f0e8}.question-meta{margin-left:auto;color:var(--muted);font-size:.8rem}.journey{background:var(--olive);color:white;border-radius:24px;padding:clamp(24px,3vw,38px);position:sticky;top:25px}.journey-tag{text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#e5ddc4;font-size:.71rem}.journey h2{font:500 clamp(1.9rem,2.7vw,2.6rem)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.02em;margin:18px 0}.journey p{font-size:.91rem;line-height:1.65;color:#e6e6dd}.progress-track{height:7px;background:#81866f;border-radius:10px;overflow:hidden;margin:32px 0 10px}.progress-track span{display:block;width:0;height:100%;background:var(--pink);transition:width .25s}.progress-label{margin:0 0 23px}.chapter-list{padding-left:24px;margin:0;display:grid;gap:11px;font-size:.79rem;line-height:1.35;color:#e0e4d8}.chapter-list li.active{color:white;font-weight:700}.chapter-list li.complete{color:#d5ddc7}.journey-bottom{border-top:1px solid #7d846a;margin-top:32px;padding-top:20px}.journey-bottom strong{color:#fff;font-size:.93rem}.privacy-note{font-size:.85rem;line-height:1.6;color:var(--muted);max-width:850px;margin:25px 0}.privacy-note strong{color:var(--olive)}.ack{display:flex;gap:12px;align-items:flex-start;max-width:590px;background:#faf4ee;border:1px solid var(--line);border-radius:14px;padding:19px;line-height:1.5;font-size:.91rem}.ack input{width:20px;height:20px;accent-color:var(--olive);flex-shrink:0}.review-list{display:grid;gap:8px;max-height:350px;overflow:auto;padding-right:8px}.review-item{border:1px solid var(--line);background:#f8f4ed;border-radius:13px;padding:12px 15px;display:flex;gap:12px;align-items:center;justify-content:space-between}.review-item div{min-width:0}.review-item small{display:block;color:var(--muted);line-height:1.45}.review-item strong{display:block;line-height:1.45;word-break:break-word}.review-item button{border:0;background:transparent;color:var(--olive);font-weight:700;min-height:44px;padding:9px}.noscript{padding:25px;color:#843b2b}.finished{background:#e8ede1;padding:18px;border-radius:14px;color:var(--olive-dark);line-height:1.6;display:grid;gap:2px}.finished strong{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.question-link{display:inline-block;margin:14px 0 0 2px;color:var(--olive);font-weight:700;font-size:.9rem}@media(max-width:860px){.layout{grid-template-columns:1fr}.journey{position:static;order:-1}.chapter-list{grid-template-columns:repeat(2,1fr);padding-left:22px}.journey-bottom{display:none}.stage{min-height:500px}}@media(max-width:560px){.shell{padding:23px 16px}.topbar{padding:0 16px;gap:11px}.topbar-note{display:none}.brand img{width:82px}.stage,.journey{border-radius:17px;padding:23px}.question-heading{margin-top:15px}.choices{grid-template-columns:1fr}.chapter-list{display:none}.journey h2{font-size:1.6rem}.journey p:not(.progress-label){display:none}.journey{padding-bottom:20px}.progress-track{margin:18px 0 10px}.question-meta{width:100%;margin:2px 0 0}.btn{min-height:46px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Live sign-up additions */
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.privacy-box{max-width:640px;background:#faf4ee;border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:0 0 16px;line-height:1.6;font-size:.93rem;color:var(--ink)}
.privacy-box h2{font:500 1.15rem/1.3 'Playfair Display',Georgia,serif;color:var(--olive-dark);margin:0 0 10px}
.privacy-box ul{margin:8px 0 0;padding-left:20px}.privacy-box li{margin:4px 0}
.btn[disabled]{opacity:.6;cursor:progress}
.slot-day{margin:22px 0 10px;font-weight:700;color:var(--olive-dark);font-size:.95rem}
.slot-list{display:grid;gap:10px;max-width:620px}
.slot{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease}
.slot:hover{border-color:#b9b19f;box-shadow:0 6px 18px rgba(65,55,44,.07)}
.slot strong{display:block;color:var(--olive-dark);font-size:1.02rem}.slot small{color:var(--muted)}
.slot .btn{min-height:42px;padding:9px 18px;white-space:nowrap}
.booked-card{background:#e8ede1;border-radius:16px;padding:20px 22px;color:var(--olive-dark);line-height:1.65;max-width:620px}
.booked-card strong{font-size:1.15rem}
.info-list{margin:18px 0 0;padding-left:20px;line-height:1.7;color:var(--ink);max-width:620px}
.single{max-width:860px}
.single .stage{min-height:0}
