:root{--background:#f3efe6;--surface:#fffdf8;--surfaceMuted:#e9e1d2;--border:#d6cbb9;--text:#203126;--textMuted:#657267;--brand:#173d2b;--success:#48765d;--warning:#a66c2c;--danger:#a23f32;--info:#315f76;--fontFamily:Georgia, "Times New Roman", serif;--radius:24px;--shadow:0 20px 60px #2031261f}*{box-sizing:border-box}body{color:#203126;background:#f3efe6;margin:0}a{color:inherit}.site{background:var(--background);min-height:100vh;color:var(--text);font-family:var(--fontFamily);flex-direction:column;display:flex}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:32px;width:min(1180px,100% - 48px);min-height:92px;margin:0 auto;display:flex}.wordmark{letter-spacing:.2em;font-family:ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:800;text-decoration:none}nav{gap:28px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;display:flex}nav a{padding:10px 2px;text-decoration:none}nav a:hover,nav a:focus-visible,.text-link:focus-visible{text-underline-offset:5px;text-decoration:underline}main{width:min(1180px,100% - 48px);margin:auto;padding:72px 0 92px}.content-section{border-radius:var(--radius);background:linear-gradient(125deg, var(--surface) 0 55%, var(--surfaceMuted) 55%);min-height:520px;box-shadow:var(--shadow);align-items:center;padding:clamp(36px,8vw,104px);display:grid;position:relative;overflow:hidden}.content-section:after{content:"";border:1px solid color-mix(in srgb, var(--brand) 22%, transparent);width:340px;height:340px;box-shadow:0 0 0 54px color-mix(in srgb, var(--brand) 5%, transparent), 0 0 0 108px color-mix(in srgb, var(--brand) 4%, transparent);border-radius:50%;position:absolute;bottom:-120px;right:-70px}.hero-copy,.story-copy{z-index:1;max-width:680px;position:relative}.eyebrow{color:var(--brand);letter-spacing:.14em;margin:0 0 20px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700}h1{letter-spacing:-.055em;margin:0;font-size:clamp(46px,7vw,88px);font-weight:500;line-height:.98}.lead{max-width:600px;color:var(--textMuted);margin:28px 0 34px;font-size:clamp(18px,2vw,22px)}.primary-action{background:var(--brand);color:var(--surface);border-radius:999px;padding:14px 22px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;text-decoration:none;display:inline-block}.primary-action:hover{filter:brightness(1.12)}.primary-action:focus-visible{outline:3px solid var(--info);outline-offset:3px}.text-link{text-underline-offset:5px;font-family:ui-sans-serif,system-ui,sans-serif}footer{border-top:1px solid var(--border);width:min(1180px,100% - 48px);color:var(--textMuted);justify-content:space-between;gap:20px;margin:0 auto;padding:28px 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;display:flex}@media (max-width:680px){.site-header{flex-direction:column;align-items:flex-start;gap:10px;width:min(100% - 32px,1180px);min-height:78px;padding:20px 0}nav{gap:20px}main{width:min(100% - 24px,1180px);padding:28px 0 48px}.content-section{background:linear-gradient(160deg, var(--surface) 0 68%, var(--surfaceMuted) 68%);align-items:start;min-height:560px;padding:38px 26px}h1{font-size:clamp(44px,15vw,64px)}footer{flex-direction:column;width:min(100% - 32px,1180px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.booking-shell{border-radius:var(--radius);background:var(--surface);max-width:640px;box-shadow:var(--shadow);margin:0 auto;padding:clamp(28px,6vw,56px)}.booking-widget h1,.booking-confirmation h1{margin:4px 0 0;font-size:clamp(32px,5vw,44px)}.booking-confirmation{gap:14px;display:grid}.slot-picker{gap:14px;margin-top:28px;display:grid}.slot-picker-date{max-width:220px;color:var(--textMuted);gap:6px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;display:grid}.slot-picker-date input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:10px 12px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px}.slot-picker-status{color:var(--textMuted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px}.slot-picker-error{color:var(--danger)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.slot-button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;justify-items:center;gap:4px;padding:12px 8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;display:grid}.slot-button:hover,.slot-button:focus-visible{border-color:var(--brand);outline:none}.slot-button-selected{background:var(--brand);border-color:var(--brand);color:var(--surface)}.slot-capacity{color:var(--textMuted);font-size:11px}.slot-button-selected .slot-capacity{color:color-mix(in srgb, var(--surface) 75%, transparent)}.booking-form{gap:16px;margin-top:24px;display:grid}.booking-form label{color:var(--textMuted);gap:6px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;display:grid}.booking-form input,.booking-form textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:10px 12px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px}.booking-form textarea{resize:vertical;min-height:80px}.booking-form button,.booking-actions button{cursor:pointer;border:none}.booking-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;display:flex}.booking-actions .text-link{color:var(--textMuted);text-underline-offset:5px;background:0 0;font-size:14px;text-decoration:underline}button:disabled{opacity:.6;cursor:not-allowed}
