:root{--paper:#fff;--card:#fff;--sand:#f1ece0;--line:#e9e2d4;--overlay:#14282e0b;--ink-dk:#1f2e30;--ink-dk-muted:#566366;--ink-dk-faint:#8c999a;--petrol:#15707a;--petrol-soft:#d6e7e8;--petrol-hover:#0f5a62;--petrol-deep:#0a2a30;--petrol-mid:#12454f;--brass:#c0894a;--brass-soft:#f1e5cc;--brass-hover:#a4712f;--brass-deep:#9a6620;--brass-deepest:#7e521a;--forest:#4c8266;--forest-soft:#deeae2;--forest-hover:#3a6650;--over:#b84a3a;--gold:#d6ac5e;--gold-deep:#be9344;--gold-soft:#d6ac5e29;--gold-ink:#9c6f1c;--gold-ink-hover:#7e550f;--gold-tint:#f2e6c8;--ink-night:#0a2226;--mist:#a6babb;--slate:#76898b;--hairline:#fbf8f229;--hairline-soft:#fbf8f217;--bg-page:var(--paper);--bg-card:var(--card);--bg-overlay:var(--overlay);--bg-area:var(--sand);--ink:var(--ink-dk);--ink-primary:var(--ink-dk);--ink-muted:var(--ink-dk-muted);--ink-faint:var(--ink-dk-faint);--navy:var(--ink-dk);--navy-soft:var(--sand);--navy-hover:var(--ink-dk);--accent:var(--gold-ink);--accent-soft:var(--gold-tint);--accent-hover:var(--gold-ink-hover);--cta:var(--gold-deep);--cta-soft:var(--gold-tint);--cta-hover:var(--gold-ink);--cta-ink:var(--ink-night);--success:var(--gold-ink);--success-soft:var(--gold-tint);--success-hover:var(--gold-ink-hover);--border:var(--line);--green:var(--gold);--yellow:var(--gold-deep);--red:var(--over);--canvas-petrol:#0e3a43;--canvas-petrol-deep:var(--petrol-deep);--canvas-ink:var(--ink-night);--canvas-paper:var(--paper);--canvas-mist:var(--mist);--canvas-slate:var(--slate);--canvas-gold:var(--gold);--canvas-gold-deep:var(--gold-deep);--canvas-line:var(--hairline);--canvas-line-soft:var(--hairline-soft);--serif:var(--font-serif), "Newsreader", ui-serif, Georgia, serif;--sans:var(--font-sans), "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-page);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}.nums{font-variant-numeric:tabular-nums}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.topbar{border-bottom:1px solid var(--border);background:var(--bg-page);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;font-size:20px;font-weight:500}.brand .accent{color:var(--accent)}.steps{border-bottom:1px solid var(--border);color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:14px 32px;font-size:12px;display:flex}.steps .step{align-items:center;gap:8px;display:inline-flex}.steps .step .num{border:1.5px solid var(--ink-faint);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:inline-flex}.steps .step.active{color:var(--ink)}.steps .step.active .num{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)}.steps .step.done{color:var(--ink-muted)}.steps .step.done .num{background:var(--success);border-color:var(--success);color:#fff}.steps .step.done .num:before{content:"✓"}.steps .step.done .num span{display:none}.steps a.step.done{cursor:pointer;transition:color .12s}.steps a.step.done:hover{color:var(--accent)}.steps .step.locked{color:var(--ink-faint);cursor:default}.steps .sep{background:var(--border);width:24px;height:1px}.page{max-width:880px;margin:0 auto;padding:0 32px}.page.narrow{max-width:720px}.page-header{padding:32px 0 18px}.page-title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:36px;font-weight:500;line-height:1.05}.page-title .accent-it{color:var(--accent);font-style:italic;font-weight:400}@media (max-width:640px){.topbar{padding:12px 16px}.steps{padding:14px 16px}.page{padding:0 20px}.page-title{font-size:30px}}.vibe-tag{border:1.5px solid var(--border);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:500;transition:all .12s}.vibe-tag:hover{border-color:var(--accent)}.vibe-tag.selected{background:var(--gold);border-color:var(--gold);color:var(--ink-night)}.vibe-tag.disabled{opacity:.35;cursor:not-allowed}.intake-intro{color:var(--ink-muted);max-width:560px;margin:6px 0 20px;font-size:16px}.chips-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 8px;font-size:11px;font-weight:600}.param-chips{flex-wrap:wrap;gap:8px;min-height:0;margin:0 0 18px;display:flex}.param-chips:empty{display:none}.pchip{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:13px;font-weight:500;display:inline-flex}.pchip.budget{font-variant-numeric:tabular-nums}.pchip .x{cursor:pointer;opacity:.65;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:inline-flex}.pchip .x:hover{opacity:1;background:#c8a96b38}.convo{flex-direction:column;gap:14px;margin:0 0 18px;display:flex}.msg{border-radius:16px;max-width:90%;padding:14px 16px;font-size:15px;line-height:1.55}.msg.user{background:var(--accent-soft);color:var(--ink);border-bottom-right-radius:5px;align-self:flex-end}.msg.curator{background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:5px;align-self:flex-start}.msg.curator .who{font-family:var(--serif);color:var(--accent);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.msg.curator .who .mark{background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}.msg.curator strong{color:var(--ink)}@media (prefers-reduced-motion:no-preference){.msg{animation:.28s both rise}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.clar{margin-top:12px}.clar-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:10px 0 7px;font-size:11px;font-weight:600}.clar-label .req{color:var(--accent);margin-left:4px;font-size:12px}.clar-row{flex-wrap:wrap;gap:8px;display:flex}.curate-go{background:var(--cta);width:100%;color:var(--cta-ink);border:1px solid var(--cta);border-radius:10px;margin-top:16px;padding:12px;font-size:14px;font-weight:600;transition:opacity .15s}.curate-go:disabled{background:var(--ink-faint);border-color:var(--ink-faint);color:#fff;opacity:.55;cursor:not-allowed}.alloc{flex-direction:column;gap:8px;margin:14px 0 4px;display:flex}.alloc-row{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.alloc-area{flex:1;min-width:0}.alloc-name{font-family:var(--serif);color:var(--navy);font-size:15px;font-weight:500}.alloc-blurb{color:var(--ink-muted);margin-top:1px;font-size:12px}.alloc-stepper{flex:none;align-items:center;gap:6px;display:inline-flex}.alloc-step{border:1.5px solid var(--border);width:30px;height:30px;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:17px;line-height:1;transition:border-color .12s,background .12s;display:inline-flex}.alloc-step:hover:not(:disabled){border-color:var(--navy);background:var(--navy-soft)}.alloc-step:disabled{opacity:.35;cursor:not-allowed}.alloc-nights{text-align:center;min-width:60px;color:var(--ink);font-variant-numeric:tabular-nums;flex-direction:column;font-size:15px;font-weight:600;line-height:1.1;display:inline-flex}.alloc-nights small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:500}.alloc-remove{width:26px;height:26px;color:var(--ink-faint);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;transition:background .12s,color .12s;display:inline-flex}.alloc-remove:hover{color:var(--red);background:#b84a3a1a}.alloc-add{margin-top:10px}.alloc-total{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:center;margin:12px 0 2px;font-size:11px;font-weight:600}.ask{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;align-items:flex-end;gap:10px;padding:10px 10px 10px 16px;display:flex;box-shadow:0 1px 2px #1b1a170a}.ask:focus-within{border-color:var(--accent)}.ask textarea{resize:none;font:inherit;color:var(--ink);background:0 0;border:none;flex:1;max-height:140px;padding:6px 0;line-height:1.5}.ask textarea:focus{outline:none}.ask textarea::placeholder{color:var(--ink-faint)}.ask-send{background:var(--cta);height:40px;color:var(--cta-ink);border:1px solid var(--cta);white-space:nowrap;border-radius:10px;flex:none;padding:0 16px;font-size:14px;font-weight:600}.ask-send:disabled{background:var(--ink-faint);border-color:var(--ink-faint);color:#fff;opacity:.55;cursor:not-allowed}.clar-skip{text-align:center;width:100%;color:var(--ink-faint);text-underline-offset:3px;cursor:pointer;margin-top:10px;font-size:12.5px;text-decoration:underline;display:block}.clar-skip:hover{color:var(--ink-muted)}.disclosure{color:var(--ink-faint);margin:10px 4px 0;font-size:12px;line-height:1.5}.intake-footer{text-align:center;max-width:720px;margin:32px auto 28px;padding:0 32px}.privacy{color:var(--ink-faint);font-size:12px;display:inline-block}.privacy summary{cursor:pointer;text-underline-offset:3px;text-decoration:underline;list-style:none}.privacy summary::-webkit-details-marker{display:none}.privacy summary:hover{color:var(--ink-muted)}.privacy p{max-width:440px;color:var(--ink-faint);margin:8px auto 0;line-height:1.55}@media (max-width:640px){.intake-footer{padding:0 20px}}.examples{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 2px 0;display:flex}.examples-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:600}.example-chip{border:1px dashed var(--border);color:var(--ink-muted);cursor:pointer;background:#fff;border-radius:999px;padding:7px 12px;font-size:12.5px;transition:border-color .12s,color .12s,background .12s}.example-chip:hover{border-color:var(--accent);color:var(--ink);background:var(--accent-soft);border-style:solid}.msg.curator.thinking{color:var(--ink-muted)}.thinking-dots .dot{opacity:.25}@media (prefers-reduced-motion:no-preference){.thinking-dots .dot{animation:1.2s infinite both blink}.thinking-dots .dot:nth-child(2){animation-delay:.2s}.thinking-dots .dot:nth-child(3){animation-delay:.4s}}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}