.res-hero{margin-top:100px;background:var(--color-forest);padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden}.res-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 60px,rgba(255,255,255,.02) 60px,rgba(255,255,255,.02) 61px)}.res-hero-eyebrow{font-family:var(--font-body);font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.2rem}.res-hero h1{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(3rem, 7vw, 5.5rem);color:#fff;line-height:1.1;margin-bottom:1rem}.res-hero p{color:rgba(255,255,255,.65);max-width:480px;margin:0 auto;font-style:italic;font-family:var(--font-serif);font-size:1.3rem}.scroll-down-hint{margin-top:2.5rem;color:rgba(255,255,255,.35);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:.75rem}.scroll-down-hint::after,.scroll-down-hint::before{content:'';display:block;width:40px;height:1px;background:rgba(255,255,255,.25)}.res-section{padding:5rem 2rem 6rem;max-width:1100px;margin:0 auto}.res-grid{display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:start}.form-card{background:#fff;border:1px solid var(--color-border);padding:3rem 3.5rem;position:relative}.form-card::before{content:'';position:absolute;top:-1px;left:3rem;right:3rem;height:3px;background:var(--color-forest)}.form-card-title{font-family:var(--font-serif);font-style:italic;font-size:2.4rem;color:var(--color-forest);margin-bottom:.4rem}.form-card-subtitle{font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-muted);margin-bottom:2.5rem}.steps{display:flex;align-items:center;margin-bottom:2.5rem}.step{display:flex;align-items:center;gap:.6rem;flex:1}.step-num{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--color-muted);transition:all .3s;flex-shrink:0;background:#fff}.step-label{font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted);transition:color .3s;white-space:nowrap}.step-line{flex:1;height:1px;background:var(--color-border);margin:0 .75rem}.step.active .step-num{background:var(--color-forest);border-color:var(--color-forest);color:#fff}.step.active .step-label{color:var(--color-forest)}.step.done .step-num{background:var(--color-forest);border-color:var(--color-forest);color:#fff}.form-panel{display:none}.form-panel.active{display:block;animation:panelIn .4s ease-out}@keyframes panelIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.field{margin-bottom:1.25rem}.field:last-child{margin-bottom:0}label{display:block;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-muted);margin-bottom:.5rem;font-family:var(--font-body)}input,select,textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--color-border);background:var(--color-cream-light);font-family:var(--font-body);font-size:.9rem;color:var(--color-text);outline:0;transition:border-color .25s,box-shadow .25s;appearance:none;-webkit-appearance:none;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--color-forest);box-shadow:0 0 0 3px rgba(1,55,34,.08);background:#fff}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:.6}.select-wrap{position:relative}.select-wrap::after{content:'▾';position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--color-forest);pointer-events:none;font-size:.9rem}.select-wrap select{padding-right:2.5rem;cursor:pointer}textarea{resize:vertical;min-height:100px}input[type=date]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:invert(15%) sepia(70%) saturate(500%) hue-rotate(100deg)}.guest-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.guest-btn{padding:.85rem .5rem;border:1px solid var(--color-border);background:var(--color-cream-light);cursor:pointer;font-family:var(--font-body);font-size:.9rem;color:var(--color-text);transition:all .2s;text-align:center}.guest-btn:hover{border-color:var(--color-forest);color:var(--color-forest);background:#fff}.guest-btn.active{background:var(--color-forest);color:#fff;border-color:var(--color-forest)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.time-btn{padding:.75rem .5rem;border:1px solid var(--color-border);background:var(--color-cream-light);cursor:pointer;font-family:var(--font-body);font-size:.8rem;color:var(--color-text);transition:all .2s;text-align:center}.time-btn:hover{border-color:var(--color-forest);color:var(--color-forest);background:#fff}.time-btn.active{background:var(--color-forest);color:#fff;border-color:var(--color-forest)}.time-btn.unavailable{opacity:.35;cursor:not-allowed;text-decoration:line-through}.btn-row{display:flex;gap:1rem;margin-top:2.5rem;align-items:center}.btn-primary{flex:1;padding:1rem 2rem;background:var(--color-forest);color:#fff;border:none;cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;transition:all .3s}.btn-primary:hover{background:var(--color-forest-light);transform:translateY(-1px);box-shadow:0 6px 20px rgba(1,55,34,.25)}.btn-back{padding:1rem 1.5rem;background:0 0;color:var(--color-muted);border:1px solid var(--color-border);cursor:pointer;font-family:var(--font-body);font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;transition:all .25s}.btn-back:hover{border-color:var(--color-text);color:var(--color-text)}.field-divider{font-size:.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-muted);margin:2rem 0 1.25rem;padding-bottom:.6rem;border-bottom:1px solid var(--color-border);font-family:var(--font-body)}.sidebar{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:var(--color-forest);color:#fff;padding:2.5rem 2rem;position:relative}.info-card h3{font-family:var(--font-serif);font-style:italic;font-size:1.8rem;margin-bottom:1.5rem;opacity:.9}.info-item{display:flex;gap:1rem;margin-bottom:1.25rem;align-items:flex-start}.info-item:last-child{margin-bottom:0}.info-icon{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.info-label{font-size:.6rem;letter-spacing:2px;text-transform:uppercase;opacity:.5;margin-bottom:.25rem}.info-value{font-size:.95rem}.summary-card{border:1px solid var(--color-border);background:#fff;padding:2rem}.summary-card h4{font-family:var(--font-serif);font-style:italic;font-size:1.4rem;color:var(--color-forest);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.85rem}.summary-row:last-child{margin-bottom:0}.summary-key{color:var(--color-muted);font-size:.7rem;letter-spacing:1px;text-transform:uppercase}.summary-val{color:var(--color-text);font-weight:700}.summary-empty{color:var(--color-muted);opacity:.5;font-style:italic;font-size:.85rem}.policy-note{background:var(--color-cream);padding:1.5rem;border-left:3px solid var(--color-forest);font-size:.8rem;line-height:1.6;color:var(--color-muted)}.policy-note strong{color:var(--color-text);display:block;margin-bottom:.4rem}.success-state{display:none;text-align:center;padding:4rem 2rem}.success-state.show{display:block;animation:panelIn .5s ease-out}.success-icon{width:80px;height:80px;background:var(--color-forest);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 2rem;color:#fff}.success-state h2{font-size:2.5rem;color:var(--color-forest);margin-bottom:.75rem}.success-state p{color:var(--color-muted);font-size:.95rem;max-width:380px;margin:0 auto 2rem}.success-details{display:inline-flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;background:var(--color-cream);padding:1.5rem 2rem;margin-bottom:2rem}.success-detail{text-align:center}.success-detail-label{font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-muted);margin-bottom:.3rem}.success-detail-val{font-size:1.1rem;font-family:var(--font-serif);font-style:italic;color:var(--color-forest)}.btn-home{display:inline-block;padding:1rem 2.5rem;background:var(--color-forest);color:#fff;text-decoration:none;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;transition:all .3s;border:none;cursor:pointer}.btn-home:hover{background:var(--color-forest-light)}.field-error{font-size:.72rem;color:#c0392b;margin-top:.35rem;display:none}input.invalid,select.invalid{border-color:#c0392b}.field-hint{font-size:.72rem;color:var(--color-muted,#57534e);margin-top:.3rem;font-style:italic}@media (max-width:1024px){.res-hero{margin-top:64px;padding:3rem 1.125rem 2.5rem}.res-hero h1{font-size:clamp(2rem, 8vw, 3rem)}.res-hero p{font-size:1rem}.res-section{padding:2rem 0 3rem;max-width:100%}.res-grid{grid-template-columns:1fr;gap:2rem;padding:0 1.125rem}.form-card{padding:1.75rem 1.25rem}.form-card::before{left:1.25rem;right:1.25rem}.form-card-title{font-size:1.8rem}.steps{overflow:visible;gap:0}.step{gap:.35rem;flex:none}.step-num{width:28px;height:28px;font-size:.7rem;flex-shrink:0}.step-label{font-size:.55rem;letter-spacing:1px}.step-line{flex:1;margin:0 .3rem;min-width:12px}.guest-selector{grid-template-columns:repeat(5,1fr);gap:.4rem}.guest-btn{padding:.75rem .25rem;font-size:.85rem}.time-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}.time-btn{font-size:.75rem;padding:.65rem .25rem}.field-row{grid-template-columns:1fr;gap:0}.btn-row{flex-wrap:wrap}.btn-primary{min-width:0}.sidebar{gap:1.25rem}.info-card{padding:1.75rem 1.25rem}.summary-card{padding:1.5rem 1.25rem}}@media (max-width:390px){.res-grid{padding:0 .875rem}.form-card{padding:1.5rem 1rem}.form-card::before{left:1rem;right:1rem}.guest-selector{grid-template-columns:repeat(5,1fr);gap:.3rem}.guest-btn{padding:.65rem .15rem;font-size:.78rem}.time-grid{grid-template-columns:repeat(3,1fr)}.step-label{display:none}.step-line{min-width:8px}}@media (prefers-color-scheme:dark){.form-card{background:var(--color-white);border-color:var(--color-border)}.form-card::before{background:var(--color-forest)}.res-hero{background:#012218}.summary-card{background:var(--color-white);border-color:var(--color-border)}.policy-note{background:var(--color-warm,#2a2925)}.success-details{background:var(--color-warm,#2a2925)}}