:root{--bg: #000000;--gold: #BF953F;--h1: rgba(255, 255, 255, 1);--h2: rgba(255, 255, 255, .85);--h3: rgba(255, 255, 255, .7);--h4: rgba(255, 255, 255, .55);--h5: rgba(255, 255, 255, .4);--space: 16px;--font-brand: "Cinzel", serif;--font-heading: "Cormorant Garamond", serif;--font-accent: "Playfair Display", serif;--ease: cubic-bezier(.19, 1, .22, 1)}body{background:var(--bg);color:var(--h2);font-family:var(--font-heading)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-wrap{width:100%;max-width:840px;margin:0 auto;padding:calc(var(--space) * 1.25)}@media(min-width:768px){.app-wrap{padding:calc(var(--space) * 2)}}.plan-top{margin-bottom:calc(var(--space) * 2)}.plan-top-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space);margin-bottom:calc(var(--space) * 1.25)}.plan-logo{font-family:var(--font-brand);letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--h5)}.plan-sub{font-family:var(--font-accent);font-style:italic;font-size:14px;color:var(--h4);margin-top:4px}.plan-stepcount{font-family:var(--font-brand);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--h5)}.plan-progress{position:relative;height:18px}.plan-progress-track{position:absolute;left:0;right:0;top:50%;height:1px;transform:translateY(-50%);background:#ffffff1f}.plan-progress-fill{position:absolute;left:0;top:50%;height:1px;transform:translateY(-50%);width:0%;background:#bf953fd9;transition:width .5s var(--ease)}.plan-progress-nodes{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between}.plan-node{width:10px;height:10px;border-radius:999px;border:1px solid rgba(191,149,63,.35);background:#050505;transition:all .4s var(--ease)}.plan-node.done{background:#bf953fd9;border-color:#bf953fd9}.plan-node.now{width:12px;height:12px;background:#bf953f;border-color:#bf953f;box-shadow:0 0 16px #bf953f59}.choice-grid{display:flex;flex-direction:column;gap:calc(var(--space) * .75);margin-top:calc(var(--space) * 1.25)}.choice{width:100%;text-align:left;padding:calc(var(--space) * 1.05) calc(var(--space) * 1.05);border-radius:0;border:1px solid rgba(255,255,255,.14);background:#ffffff08;color:var(--h2);font-family:var(--font-heading);font-size:20px;line-height:1.15;transition:all .26s var(--ease);cursor:pointer}.choice:hover{background:#ffffff0d;border-color:#ffffff2e}.choice[aria-pressed=true]{border-color:#bf953fb3;background:#bf953f1a;color:var(--h1)}.choice-strong{border-color:#bf953f40}@media(min-width:768px){.choice{font-size:22px;padding:calc(var(--space) * 1.15) calc(var(--space) * 1.15)}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-animate=stagger] .choice{opacity:0;transform:translateY(10px)}[data-animate=stagger].is-in .choice{animation:riseIn .52s var(--ease) forwards}[data-animate=stagger].is-in .choice:nth-child(1){animation-delay:40ms}[data-animate=stagger].is-in .choice:nth-child(2){animation-delay:90ms}[data-animate=stagger].is-in .choice:nth-child(3){animation-delay:.14s}[data-animate=stagger].is-in .choice:nth-child(4){animation-delay:.19s}[data-animate=stagger].is-in .choice:nth-child(5){animation-delay:.24s}.step{padding-top:calc(var(--space) * .5)}.step-title{font-family:var(--font-heading);font-weight:500;color:var(--h1);font-size:clamp(32px,6vw,56px);line-height:1.06}.step-sub{font-family:var(--font-accent);font-style:italic;color:var(--h4);font-size:clamp(18px,3.5vw,26px);line-height:1.2;margin-top:calc(var(--space) * .75)}.form{display:flex;flex-direction:column;gap:calc(var(--space) * 1);margin-top:calc(var(--space) * 1.25)}.field{display:flex;flex-direction:column;gap:8px}.label{font-family:var(--font-brand);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--h5)}input:not([type=checkbox]):not([type=radio]){height:52px;width:100%;padding:0 calc(var(--space) * 1);border-radius:0;border:1px solid rgba(255,255,255,.14);background:#ffffff05;color:var(--h1);font-size:18px;outline:none}input:focus{border-color:#bf953fa6;box-shadow:0 0 0 3px #bf953f1f}.step-nav{position:sticky;bottom:0;padding:calc(var(--space) * 1) 0;background:linear-gradient(to top,#050505eb,#05050500);display:flex;gap:calc(var(--space) * 1);margin-top:calc(var(--space) * 2);z-index:50}.nav-back{flex:1;height:54px;border:1px solid rgba(255,255,255,.14);background:#ffffff05;color:var(--h3);font-family:var(--font-brand);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}.nav-next{flex:2;height:54px;border:1px solid rgba(0,0,0,.15);background:linear-gradient(135deg,#bf953f,#fcf6ba 45%,#b38728,#fbf5b7 55%,#aa771c);color:#1a1409;font-family:var(--font-brand);font-size:11px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer}.calendar-frame{width:100%;height:560px;border:1px solid rgba(255,255,255,.12);background:#ffffff05;margin-top:calc(var(--space) * 1.25)}.hidden{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .8s var(--ease) forwards}
