/* Funnel additions, layered on the live bestdayai.com styles. */
.brand a{display:block}

/* Hero: the VSL takes the phone slot. */
.vsl{grid-area:phone;position:relative;margin:0;width:100%;max-width:400px;justify-self:center;border:1px solid #e6e6e6;border-radius:22px;overflow:hidden;background:#fff}
.vsl video{display:block;width:100%;height:auto;aspect-ratio:786/1040;max-height:min(66svh,540px);object-fit:contain;background:#fff}
.vsl-tag{position:absolute;left:10px;top:10px;z-index:1;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:12px;font-weight:600;pointer-events:none}
.vsl-tag[hidden]{display:none}
.vsl-note{padding:8px 12px 10px;border-top:1px solid #f0f0f0;font-size:12.5px;line-height:1.4;color:#707070;text-align:center}
@media(min-width:900px){.vsl{margin-top:28px}}
.cta-terms{margin-top:8px;text-align:center;color:#707070;font-size:13px;line-height:1.45}

/* Book and booked pages share the live page frame. */
.step{margin-top:22px;font-size:14px;line-height:1.4;font-weight:500;color:#626262}
.title{margin-top:6px;font-family:var(--message-font);font-size:clamp(32px,9vw,40px);font-weight:750;line-height:1.07;letter-spacing:-.035em;text-wrap:balance}
.sub{margin-top:8px;color:#3a3a3a}

/* Questions arrive as Best Day texts; answers sit on the right like your replies. */
.ask{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.q-bubble{position:relative;align-self:flex-start;max-width:88%;padding:8px 13px;border-radius:18px;border-bottom-left-radius:12px;background:#e9e9eb;color:#000;font-size:17px;line-height:1.3}
.q-bubble::before,.q-bubble::after{content:"";position:absolute;bottom:-.1rem;height:1rem}
.q-bubble::before{left:-.35rem;border-left:calc(1rem + 2px) solid #e9e9eb;border-bottom-right-radius:.8rem .7rem;transform:translateY(-.1rem)}
.q-bubble::after{left:-10px;width:10px;background:#fff;border-bottom-right-radius:.5rem;transform:translateY(-2px)}
.q-bubble small{color:#6b6b70;font-size:14px}
.choices{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:12%}
.choice{position:relative}
.choice input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.choice span{display:inline-block;padding:9px 15px;border-radius:999px;border:1.5px solid var(--accent);color:var(--accent);font-size:16px;font-weight:500;background:#fff;transition:background-color .12s ease,color .12s ease}
.choice input:checked+span{background:var(--accent);color:#fff}
.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.reply{width:100%;min-height:76px;padding:10px 14px;border:1px solid #d1d1d6;border-radius:18px;font:inherit;font-size:16px;line-height:1.35;resize:vertical;background:#fff;color:#000}
.reply:focus,.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,147,246,.16)}
.nudge{align-self:flex-end;max-width:88%;font-size:14px;color:#626262;text-align:right}
.nudge[hidden]{display:none}
.cta:disabled,.cta[aria-disabled="true"]{opacity:.4;box-shadow:none;transform:none;cursor:not-allowed}
.cta:disabled::after{animation:none}
button.cta{border:0;cursor:pointer}

.back{margin-top:18px;border:0;background:none;color:var(--accent);font:inherit;font-size:15px;font-weight:600;cursor:pointer;padding:6px 0}
.back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.embed-note{margin-top:10px;font-size:13px;color:#707070}
.days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:16px}
.day{border:1.5px solid #d4d4d8;border-radius:12px;background:#fff;padding:8px 0;text-align:center;cursor:pointer;font:inherit;color:#000;min-width:0}
.day small{display:block;font-size:12px;font-weight:600;color:#707070;text-transform:uppercase;letter-spacing:.04em}
.day b{display:block;font-size:19px;font-variant-numeric:tabular-nums}
.day[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:#fff}
.day[aria-pressed="true"] small{color:#dff0fe}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.slot{border:1.5px solid var(--accent);color:var(--accent);background:#fff;border-radius:12px;padding:11px 4px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}
.slot[aria-pressed="true"]{background:var(--accent);color:#fff}
.day:focus-visible,.slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tz{margin-top:8px;font-size:13px;color:#707070}
.fields{display:grid;gap:12px;margin-top:20px}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:5px}
.field input{width:100%;padding:12px 14px;border:1px solid #d1d1d6;border-radius:12px;font:inherit;font-size:16px;background:#fff;color:#000}
.picked{margin-top:18px;font-weight:600}
.picked span{color:var(--accent)}
.picked[hidden]{display:none}

/* Booked */
.done{margin-top:22px;display:flex;align-items:center;gap:12px}
.done-icon{flex:none;width:40px;height:40px;border-radius:50%;background:#34c759;display:grid;place-items:center}
.done-icon svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.done .title{margin:0}
.when{margin-top:10px;font-size:17px;color:#3a3a3a}
.when b{color:#000;font-weight:600}
.ty{position:relative;margin-top:18px;border:1px solid #e6e6e6;border-radius:22px;background:#f5f5f7;aspect-ratio:4/5;max-height:440px;width:100%;display:grid;place-items:center;overflow:hidden}
.ty .play{width:64px;height:64px;border-radius:50%;background:var(--accent);display:grid;place-items:center;box-shadow:0 3px 0 var(--accent-active)}
.ty .play svg{width:24px;height:24px;fill:#fff;margin-left:4px}
.ty .cap{position:absolute;left:16px;right:16px;bottom:14px;text-align:center;font-size:14px;color:#626262}
.section-title{margin-top:34px;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#707070;padding-bottom:10px}
.todo{list-style:none;counter-reset:t}
.todo>li{counter-increment:t;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid #e6e6e6}
.todo>li:last-child{border-bottom:1px solid #e6e6e6}
.todo>li::before{content:counter(t);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#000;color:#fff;font-size:14px;font-weight:700}
.todo h3{font-size:18px;font-weight:600;line-height:1.3}
.todo p{margin-top:3px;color:#3a3a3a}
.try{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.num{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}
.copy{border:1.5px solid var(--accent);background:#fff;color:var(--accent);border-radius:999px;padding:6px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.try-ask{margin-top:12px}
.try-ask .hero-text-promise{margin:0 10px 0 auto;font-size:15px}
.price{padding:16px 0 4px}
.price .big{font-size:28px;font-weight:750;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.price p{margin-top:4px;color:#3a3a3a}
.agenda{list-style:none}
.agenda li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid #e6e6e6;color:#3a3a3a}
.agenda li:last-child{border-bottom:1px solid #e6e6e6}
.agenda time{font-weight:600;color:#000;font-variant-numeric:tabular-nums}
.move{margin-top:20px;text-align:center;font-size:13px;color:#707070}
@media(min-width:900px){.page.narrow{max-width:560px}}
