:root{--forest: #1c3a2e;--forest-mid:#2a5240;--forest-lt: #3d6b55;--parchment: #f5f0e8;--parchment-dark: #ede6d6;--amber: #c97d2e;--amber-lt: #e09a4f;--ink: #1a1a18;--muted: #6b6b60;--border: #d4cfc4;--white: #ffffff;--danger: #b84040;--danger-lt: #fdf2f2;--font-display: "Cormorant Garamond", Georgia, serif;--font-mono: "DM Mono", "Courier New", monospace;--font-body: "Lato", sans-serif;--radius-sm: 4px;--radius: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(28, 58, 46, .08);--shadow: 0 4px 16px rgba(28, 58, 46, .12);--shadow-lg: 0 12px 40px rgba(28, 58, 46, .16);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--parchment);color:var(--ink);min-height:100vh;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);font-weight:300;line-height:1.2;letter-spacing:.01em}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:1.4rem}h4{font-size:1.1rem}p{line-height:1.7;color:var(--muted)}a{color:var(--forest);text-decoration:none}.container{max-width:900px;margin:0 auto;padding:0 1.5rem}.container--narrow{max-width:640px;margin:0 auto;padding:0 1.5rem}.page{min-height:100vh;display:flex;flex-direction:column}.header{padding:2rem 1.5rem 1.5rem;border-bottom:1px solid var(--border);background:var(--white)}.header__brand{font-family:var(--font-display);font-size:1.1rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}.header__brand span{color:var(--amber);font-style:italic}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}.slot-btn{font-family:var(--font-mono);font-size:.82rem;font-weight:400;padding:.6rem .5rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);cursor:pointer;transition:all var(--transition);text-align:center;letter-spacing:.03em}.slot-btn:hover{border-color:var(--forest);background:var(--parchment);color:var(--forest)}.slot-btn--selected{background:var(--forest);border-color:var(--forest);color:var(--white)}.slot-btn--unavailable{opacity:.35;cursor:not-allowed;pointer-events:none}.date-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.date-btn{flex:0 0 72px;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer;transition:all var(--transition);font-family:var(--font-body)}.date-btn__day{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.date-btn__num{font-family:var(--font-display);font-size:1.8rem;font-weight:300;color:var(--ink);line-height:1;margin:.2rem 0}.date-btn__mon{font-size:.68rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.date-btn:hover{border-color:var(--forest);background:var(--parchment)}.date-btn--selected{background:var(--forest);border-color:var(--forest)}.date-btn--selected .date-btn__day,.date-btn--selected .date-btn__num,.date-btn--selected .date-btn__mon{color:var(--white)}.date-btn--disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem}.form-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.form-input{font-family:var(--font-body);font-size:.95rem;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);transition:border-color var(--transition);outline:none;width:100%}.form-input:focus{border-color:var(--forest)}.form-input::placeholder{color:var(--border)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b6b60' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.btn{font-family:var(--font-body);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 2rem;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:.5rem}.btn--primary{background:var(--forest);color:var(--white)}.btn--primary:hover{background:var(--forest-mid)}.btn--secondary{background:transparent;color:var(--forest);border:1.5px solid var(--forest)}.btn--secondary:hover{background:var(--parchment)}.btn--amber{background:var(--amber);color:var(--white)}.btn--amber:hover{background:var(--amber-lt)}.btn--danger{background:transparent;color:var(--danger);border:1.5px solid var(--danger)}.btn--danger:hover{background:var(--danger-lt)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--full{width:100%;justify-content:center}.section-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:.5rem}.divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.badge{display:inline-block;font-family:var(--font-mono);font-size:.7rem;padding:.2rem .6rem;border-radius:100px;background:var(--parchment-dark);color:var(--muted);letter-spacing:.04em}.badge--green{background:#e8f2ed;color:var(--forest)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--forest);border-radius:50%;animation:spin .7s linear infinite}.confirm-icon{width:56px;height:56px;background:#e8f2ed;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.confirmed-page{min-height:100vh;background-image:url(/bg.png);background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;animation:pageFadeIn .5s ease forwards}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@media (min-width: 901px){.confirmed-page{background-size:auto 140vh}}.confirmed-card{background:#f5f0e8b8;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(255,255,255,.55);border-radius:var(--radius-lg);box-shadow:0 8px 40px #00000024;padding:2.5rem;max-width:520px;width:100%;text-align:center;animation:fadeUp .5s ease .2s both}.confirmed-details{background:#ffffff80;border:1px solid rgba(255,255,255,.65);border-radius:var(--radius);padding:1.25rem;margin-bottom:2rem;text-align:left;display:grid;gap:.75rem}.confirmed-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .4s ease forwards}.animate-fade-up--delay-1{animation-delay:.1s;opacity:0}.animate-fade-up--delay-2{animation-delay:.2s;opacity:0}.animate-fade-up--delay-3{animation-delay:.3s;opacity:0}.page--split{min-height:100vh}.page--split .page__main{margin-left:400px;display:flex;flex-direction:column;min-height:100vh}.page__art{position:fixed;left:0;top:0;width:400px;height:100vh;overflow:hidden;background:var(--parchment)}.page__art img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.header__logo{height:36px;width:auto;display:none}@media (max-width: 900px){.header__logo{display:block}}@media (max-width: 900px){.page--split .page__main{margin-left:0}.page__art,.page--split .header__brand{display:none}}@media (max-width: 600px){.card{padding:1.25rem}.slot-grid{grid-template-columns:repeat(3,1fr)}}
