:root{--sky-top: #1d1430;--sky-mid: #2b1f33;--sky-low: #4a2f3f;--paper: #f7ecda;--cream-dim: rgba(247, 236, 218, .62);--cream-faint: rgba(247, 236, 218, .35);--hairline: rgba(247, 236, 218, .14);--gold: #d9b877;--gold-soft: #e9c98e;--serif: "Cormorant Garamond", Georgia, serif;--script: "Pinyon Script", cursive;--body: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--body);color:var(--paper);background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 46%,var(--sky-low) 100%);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased}::selection{background:#d9b87759}.opening{position:fixed;inset:0;z-index:60;display:grid;place-items:center;pointer-events:none}.open-title{display:flex;align-items:baseline;gap:clamp(14px,2.2vw,30px);font-family:var(--script);font-size:clamp(3.2rem,11vw,7.5rem);color:var(--gold-soft);filter:drop-shadow(0 10px 34px rgba(10,5,22,.65));will-change:transform}.open-title.fly{transition:transform .85s var(--ease)}.open-half{opacity:0}.opening.play .open-l{animation:joinL 1.05s var(--ease) forwards}.opening.play .open-r{animation:joinR 1.05s var(--ease) forwards}.open-amp{opacity:0;transform:scale(.3);font-size:.62em;color:var(--gold)}.opening.play .open-amp{animation:ampin .5s var(--spring) .8s forwards}@keyframes joinL{0%{opacity:0;transform:translate(-38vw)}to{opacity:1;transform:none}}@keyframes joinR{0%{opacity:0;transform:translate(38vw)}to{opacity:1;transform:none}}@keyframes ampin{to{opacity:1;transform:scale(1)}}.opening.done{opacity:0;transition:opacity .25s ease}body.booting .wordmark{visibility:hidden}body.booting .host{opacity:0;transform:translateY(18px);pointer-events:none}.sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}#stars{position:absolute;inset:0}.star{position:absolute;border-radius:50%;background:#f4e8cf;animation:twinkle var(--tw, 4s) ease-in-out infinite;animation-delay:var(--td, 0s)}@keyframes twinkle{0%,to{opacity:.14}50%{opacity:.8}}.shooting{position:absolute;top:18%;left:-12%;width:130px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,#ffe9c4);opacity:0;transform:rotate(9deg)}.shooting.go{animation:shoot 1.15s linear forwards}@keyframes shoot{0%{opacity:0;transform:rotate(9deg) translate(0)}12%{opacity:.85}to{opacity:0;transform:rotate(9deg) translate(120vw)}}.horizon-glow{position:absolute;left:0;right:0;bottom:0;height:42vh;background:radial-gradient(75% 90% at 50% 108%,rgba(176,106,56,.3) 0%,rgba(176,106,56,.1) 45%,transparent 75%)}.dunes{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(100px,20vh,200px);opacity:.9}.topbar{position:relative;z-index:4;display:flex;justify-content:center;padding:20px clamp(20px,4.5vw,44px) 0}.wordmark{text-decoration:none;color:var(--paper);line-height:1.15;text-align:center}.wm-script{display:block;font-family:var(--script);font-size:1.7rem;color:var(--gold-soft)}.wm-date{display:block;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cream-dim);margin-top:3px}.stage{position:relative;z-index:2;flex:1;display:grid;overflow:hidden}.host{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;z-index:3;transition:opacity .75s ease,transform .75s ease}.host-figure{position:relative;width:var(--host-size, 170px);height:var(--host-size, 170px);transition:width .5s var(--ease),height .5s var(--ease)}.host-glow{position:absolute;left:50%;top:50%;width:140%;height:140%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(233,201,142,.22) 0%,transparent 62%);pointer-events:none}.host-img{position:relative;width:100%;height:100%;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 14px 30px rgba(10,5,22,.55));animation:hostbob 4.5s ease-in-out infinite}@keyframes hostbob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.host.pop .host-img{animation:hostpop .5s var(--spring),hostbob 4.5s ease-in-out .5s infinite}@keyframes hostpop{0%{transform:scale(1)}40%{transform:scale(1.1) rotate(-2deg)}75%{transform:scale(.98) rotate(1.5deg)}to{transform:scale(1)}}.host-meta{display:flex;flex-direction:column;align-items:center;gap:10px}.host-label{display:flex;align-items:center;gap:10px;font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-dim);white-space:nowrap}.host-hint{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(100%,320px);text-align:center}.host-hint:empty{display:none}.host-hint>*{margin:0;opacity:0;animation:rise .45s var(--ease) forwards}.typing-dots{display:inline-flex;gap:4px;align-items:center}.typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--gold-soft);animation:dotpulse 1.1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes dotpulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.content{position:relative;z-index:2;display:flex;flex-direction:column;min-width:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--cream-faint) transparent}.back{position:sticky;top:4px;z-index:6;align-self:flex-start;background:#1d14308c;backdrop-filter:blur(6px);border:none;border-radius:999px;font-family:var(--body);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;padding:9px 18px;margin-bottom:clamp(8px,2vh,22px);transition:color .25s ease}.back:hover{color:var(--gold-soft)}.dialogue{display:flex;flex-direction:column;gap:14px}.pre{display:flex;flex-direction:column;gap:6px}.pre p{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--cream-dim);opacity:0;animation:rise .55s var(--ease) forwards;animation-delay:var(--d, 0s)}.pre p b{color:var(--gold-soft);font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.question{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.14;letter-spacing:.005em;color:var(--paper);min-height:1.14em}.question b{color:var(--gold-soft);font-weight:600}.answers{width:100%;display:flex;flex-direction:column;gap:24px;margin-top:clamp(20px,4vh,44px);padding:2px}.answers.enter>*{opacity:0;animation:rise .5s var(--ease) forwards}.answers.enter>*:nth-child(2){animation-delay:.06s}.answers.enter>*:nth-child(3){animation-delay:.12s}.hintline{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-faint)}.hintline b{color:var(--cream-dim);font-weight:600}.errline{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.5;letter-spacing:.01em;color:#eda98a;animation:rise .3s ease forwards}.note-under{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6;color:var(--cream-dim);max-width:62ch}@media(hover:none){.kb-only{display:none}}.opts{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}.opt{display:flex;align-items:center;gap:18px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--hairline);padding:18px 4px;font-family:var(--body);font-size:1.18rem;font-weight:400;color:var(--paper);cursor:pointer;transition:padding-left .25s var(--ease),color .2s ease;opacity:0;animation:rise .45s var(--ease) forwards;animation-delay:calc(var(--i, 0) * .05s)}.opt:hover{padding-left:14px;color:var(--gold-soft)}.opt .key{flex-shrink:0;width:27px;height:27px;display:grid;place-items:center;font-size:.68rem;font-weight:700;color:var(--cream-dim);border:1px solid var(--cream-faint);border-radius:5px;transition:all .2s ease}.opt:hover .key{border-color:var(--gold);color:var(--gold-soft)}.opt.selected{color:var(--gold-soft)}.opt.selected .key{background:var(--gold);border-color:var(--gold);color:#33250f}.opt .lbl{display:inline-block;transform-origin:left center;transition:transform .25s var(--ease)}.opt:hover .lbl{transform:scale(1.05)}.opt .lbl .sub{display:block;font-size:.85rem;color:var(--cream-dim);margin-top:2px}.opt .tick{margin-left:auto;color:var(--gold);font-size:1rem;opacity:0;transform:scale(.5);transition:all .25s var(--spring)}.opt.selected .tick{opacity:1;transform:scale(1)}.opts.wiggle{animation:wiggle .4s ease}@keyframes wiggle{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}.tours{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}.tour{display:flex;align-items:flex-start;gap:18px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--hairline);padding:18px 4px;font-family:var(--body);color:var(--paper);cursor:pointer;transition:padding-left .25s var(--ease);opacity:0;animation:rise .45s var(--ease) forwards;animation-delay:calc(var(--i, 0) * .05s)}.tour:hover{padding-left:14px}.tour .key{flex-shrink:0;width:27px;height:27px;display:grid;place-items:center;font-size:.68rem;font-weight:700;color:var(--cream-dim);border:1px solid var(--cream-faint);border-radius:5px;margin-top:3px;transition:all .2s ease}.tour:hover .key{border-color:var(--gold);color:var(--gold-soft)}.tour.selected .key{background:var(--gold);border-color:var(--gold);color:#33250f}.tour .t-body{flex:1;min-width:0;transform-origin:left center;transition:transform .25s var(--ease)}.tour:hover .t-body{transform:scale(1.02)}.tour .t-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.tour .t-name{font-family:var(--serif);font-size:1.4rem;font-weight:500;transition:color .2s ease}.tour:hover .t-name,.tour.selected .t-name{color:var(--gold-soft)}.tour .t-len{font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim)}.tour .t-route{display:block;margin-top:4px;font-size:.95rem;letter-spacing:.02em;color:var(--gold-soft);opacity:.85}.tour .t-note{display:block;margin-top:5px;font-size:.82rem;line-height:1.55;color:var(--cream-dim);max-width:62ch}.tour .tick{flex-shrink:0;color:var(--gold);font-size:1rem;margin-top:6px;opacity:0;transform:scale(.5);transition:all .25s var(--spring)}.tour.selected .tick{opacity:1;transform:scale(1)}.input-row{display:flex;flex-wrap:wrap;gap:30px}.field{flex:1;min-width:min(260px,100%);font-family:var(--body);font-weight:300;font-size:clamp(1.5rem,2.5vw,2rem);color:var(--paper);background:transparent;border:none;border-bottom:1.5px solid var(--cream-faint);border-radius:0;padding:8px 2px 12px;outline:none;transition:border-color .25s ease;caret-color:var(--gold);-webkit-appearance:none}.field::placeholder{color:#f7ecda42}.field:focus{border-bottom-color:var(--gold)}.field.shake{animation:wiggle .4s ease;border-bottom-color:#e0906b}textarea.field{width:100%;resize:none;min-height:84px;line-height:1.5;font-size:clamp(1.25rem,1.9vw,1.55rem)}input.field[type=date]{color-scheme:dark}.btnrow{display:flex;align-items:center;flex-wrap:wrap;gap:14px 30px}.btn-cta{font-family:var(--body);font-size:.88rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#2b1c10;background:linear-gradient(135deg,var(--gold-soft) 0%,var(--gold) 100%);border:none;border-radius:999px;padding:17px 40px;cursor:pointer;box-shadow:0 12px 28px -12px #d9b8778c;transition:box-shadow .22s ease,filter .22s ease,transform .22s ease}.btn-cta:hover{filter:brightness(1.07);box-shadow:0 16px 32px -12px #d9b877b3;transform:translateY(-1px)}.btn-cta:active{transform:translateY(0) scale(.98)}.btn-cta:disabled{opacity:.5;cursor:wait;transform:none}.btn-txt{font-family:var(--body);font-size:.95rem;color:var(--cream-dim);background:none;border:none;padding:6px 0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--cream-faint);text-underline-offset:5px;transition:color .2s ease,text-decoration-color .2s ease}.btn-txt:hover{color:var(--gold-soft);text-decoration-style:solid;text-decoration-color:var(--gold)}.stepper{display:flex;align-items:center;gap:30px}.step-btn{width:56px;height:56px;border-radius:50%;border:1px solid var(--cream-faint);background:transparent;color:var(--paper);font-size:1.5rem;font-weight:300;cursor:pointer;transition:border-color .2s ease,color .2s ease;line-height:1}.step-btn:hover{border-color:var(--gold);color:var(--gold-soft)}.step-btn:active{transform:scale(.94)}.step-val{font-family:var(--serif);font-size:4rem;font-weight:500;min-width:76px;text-align:center;color:var(--gold-soft);line-height:1}.step-cap{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);margin:-12px 0 0}.summary{display:flex;flex-direction:column;border-top:1px solid var(--hairline)}.sumrow{display:flex;align-items:baseline;gap:24px;padding:15px 4px;border-bottom:1px solid var(--hairline);font-size:1.05rem;line-height:1.5;opacity:0;animation:rise .45s var(--ease) forwards;animation-delay:calc(var(--i, 0) * .05s)}.sumrow .lbl{flex-shrink:0;width:112px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim)}.sumrow .val{color:var(--paper)}body[data-phase=intro] .stage{grid-template-columns:1fr;place-items:center;align-content:center;gap:clamp(20px,4vh,44px);padding:20px clamp(20px,6vw,60px) 40px}body[data-phase=intro] .host{--host-size: clamp(170px, 30vh, 250px)}body[data-phase=intro] .content{align-items:center;text-align:center;overflow:visible}body[data-phase=intro] .dialogue{align-items:center}body[data-phase=intro] .answers{align-items:center;margin-top:clamp(16px,3vh,30px)}body[data-phase=intro] .btnrow{justify-content:center}body[data-phase=intro] .back{display:none}body[data-phase=chat] .stage{grid-template-columns:clamp(230px,27vw,370px) 1fr;align-items:stretch;padding:10px clamp(24px,5vw,80px) 30px clamp(16px,3vw,48px);gap:clamp(20px,3.5vw,56px)}body[data-phase=chat] .host{--host-size: clamp(130px, 16vw, 190px);justify-content:center;align-self:stretch}body[data-phase=chat] .content{justify-content:flex-start;max-width:900px;padding-top:2vh;padding-bottom:2vh}body[data-phase=chat] .dialogue{margin-top:auto}body[data-phase=chat] .answers{margin-bottom:auto}@media(max-width:780px){body[data-phase=chat] .stage{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:8px 22px 24px;gap:8px}body[data-phase=chat] .host{--host-size: 76px;flex-direction:row;gap:14px;justify-content:flex-start;align-self:start;padding:4px 0 10px}body[data-phase=chat] .host-label{font-size:.56rem}body[data-phase=chat] .host-meta{align-items:flex-start}body[data-phase=chat] .host-hint{align-items:flex-start;text-align:left;max-width:none}body[data-phase=chat] .content{justify-content:flex-start;padding-top:2vh}body[data-phase=chat] .dialogue{margin-top:0}.question{font-size:clamp(1.7rem,7vw,2.2rem)}.btn-cta{width:100%;text-align:center}.btnrow{flex-direction:column;align-items:stretch;gap:8px}.btn-txt{text-align:center}}.foot{position:relative;z-index:2;text-align:center;font-size:.7rem;letter-spacing:.1em;color:#f7ecda66;padding:8px 16px calc(14px + env(safe-area-inset-bottom))}.foot a{color:#f7ecda8c}#confetti{position:fixed;inset:0;z-index:50;pointer-events:none}.noscript{position:fixed;inset:auto 16px 16px;z-index:99;background:var(--paper);color:#3f2f22;border-radius:12px;padding:16px 20px;text-align:center}.noscript a{color:#8c4d27}.opt:focus-visible,.tour:focus-visible,.btn-cta:focus-visible,.btn-txt:focus-visible,.step-btn:focus-visible,.back:focus-visible{outline:1.5px solid var(--gold);outline-offset:4px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.host-img{animation:none!important}}
