@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f5f0;--surface:#fff;--border:#e8e4dc;--text:#1a1713;--text2:#6b6560;--text3:#888078;--gold:#c4b89a;--gold-deep:#8b7355;--gold-bg:#f5efe3;--stone:#a8b5c0;--stone-deep:#5a7080;--stone-bg:#edf1f4;--sage:#9eb5a8;--sage-deep:#4a7060;--sage-bg:#ebf2ee}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,sans-serif}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 40px;display:flex;position:sticky;top:0}.logo{letter-spacing:.08em;color:var(--text);font-family:Cormorant Garamond,serif;font-size:22px;font-weight:400}.logo em{color:var(--gold-deep);font-style:italic}.topbar-right{align-items:center;gap:24px;display:flex}.topbar-link{color:var(--text2);font-size:13px;text-decoration:none}.hero{background:var(--surface);border-bottom:1px solid var(--border);text-align:center;padding:48px 40px 40px}.hero-eyebrow{letter-spacing:.18em;color:var(--gold-deep);text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:500}.hero-title{color:var(--text);margin-bottom:10px;font-family:Cormorant Garamond,serif;font-size:36px;font-weight:300;line-height:1.2}.hero-sub{color:var(--text2);max-width:380px;margin:0 auto;font-size:14px;font-weight:300;line-height:1.6}.main-section{max-width:960px;margin:0 auto;padding:40px 40px 0}.section-label{letter-spacing:.14em;color:var(--gold-deep);text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:10px;font-size:11px;font-weight:500}.cards-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:28px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.card:hover{border-color:var(--gold);box-shadow:0 2px 12px #8b735514}.card.featured{border-color:var(--gold);border-width:1.5px}.card-accent{border-radius:10px 10px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.accent-gold{background:var(--gold)}.accent-stone{background:var(--stone)}.accent-sage{background:var(--sage)}.card-badge{letter-spacing:.12em;text-transform:uppercase;border-radius:20px;margin-bottom:16px;padding:3px 10px;font-size:10px;font-weight:500;display:inline-block}.badge-gold{background:var(--gold-bg);color:var(--gold-deep)}.badge-stone{background:var(--stone-bg);color:var(--stone-deep)}.badge-sage{background:var(--sage-bg);color:var(--sage-deep)}.card-title{color:var(--text);margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:400}.card-tagline{color:var(--text2);margin-bottom:18px;font-size:13px;font-weight:300;line-height:1.5}.card-meta{flex-direction:column;gap:6px;display:flex}.meta-row{color:var(--text3);align-items:center;gap:8px;font-size:12px;display:flex}.meta-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:4px;height:4px}.card-cta{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.btn-book{letter-spacing:.04em;color:var(--text);border:1px solid var(--text);cursor:pointer;background:0 0;border-radius:4px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:background .12s,color .12s}.btn-book:hover{background:var(--text);color:#fff}.btn-request{color:var(--text2);cursor:pointer;background:0 0;border:1px solid #d0cbc0;border-radius:4px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500}.avail-chip{color:var(--sage-deep);background:var(--sage-bg);border-radius:20px;padding:4px 10px;font-size:11px}.avail-chip.limited{color:#8b5e0a;background:#fef3e2}.card.horizontal{opacity:.88;grid-column:1/-1;align-items:flex-start;gap:28px;padding:24px 28px;display:flex}.card.horizontal .card-left{flex:1}.card.horizontal .card-right{align-items:center;gap:12px;padding-top:8px;display:flex}.divider-vert{background:var(--border);align-self:stretch;width:1px;margin:4px 0}.info-note{background:var(--bg);border:1px solid var(--border);color:var(--text3);border-radius:8px;align-items:center;gap:10px;margin-top:16px;margin-bottom:40px;padding:14px 18px;font-size:12px;display:flex}.note-icon{background:var(--border);width:16px;height:16px;color:var(--gold-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.flow-wrap{max-width:680px;margin:0 auto;padding:32px 24px 60px}.flow-header{align-items:center;gap:16px;margin-bottom:32px;display:flex}.flow-back{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-family:DM Sans,sans-serif;font-size:13px}.flow-title{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:400}.flow-step-label{letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px;font-size:11px;font-weight:500}.booking-summary{background:var(--surface);border:1px solid var(--border);color:var(--text2);border-radius:8px;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding:12px 18px;font-size:13px;display:flex}.booking-summary strong{color:var(--text);font-weight:500}.covers-row{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.cover-btn{background:var(--surface);border:1px solid var(--border);color:var(--text2);text-align:center;cursor:pointer;border-radius:6px;min-width:52px;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:15px;transition:all .12s}.cover-btn:hover{border-color:var(--text);color:var(--text)}.cover-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.month-nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.month-nav button{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-family:DM Sans,sans-serif}.month-nav h3{color:var(--text);font-size:14px;font-weight:400}.cal-dow-row{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;display:grid}.cal-dow{text-align:center;color:var(--text3);padding:4px 0;font-size:10px}.date-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:24px;display:grid}.date-btn{background:var(--surface);border:1px solid var(--border);text-align:center;color:var(--text2);cursor:pointer;border-radius:6px;padding:8px 4px;font-family:DM Sans,sans-serif;transition:all .12s}.date-btn:hover:not(:disabled){border-color:var(--text);color:var(--text)}.date-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.date-btn:disabled{opacity:.3;cursor:default}.date-btn .dname{margin-bottom:2px;font-size:9px}.date-btn .dnum{font-size:14px;font-weight:500}.slots-section{margin-bottom:20px}.slots-section h4{color:var(--text3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:500}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;display:grid}.slot-btn{background:var(--surface);border:1px solid var(--border);color:var(--text2);text-align:center;cursor:pointer;border-radius:6px;padding:11px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .12s}.slot-btn:hover{border-color:var(--text);color:var(--text)}.slot-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field.full{grid-column:1/-1}.form-field label{text-transform:uppercase;letter-spacing:.1em;color:var(--text3);font-size:11px;font-weight:500}.form-field input,.form-field select,.form-field textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .12s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--text)}.form-field textarea{resize:vertical;min-height:80px}.btn-primary{background:var(--text);color:#fff;letter-spacing:.04em;cursor:pointer;border:none;border-radius:4px;width:100%;margin-top:8px;padding:13px 32px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:opacity .12s}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.35;cursor:default}.policy-note{color:var(--text3);text-align:center;margin-top:16px;font-size:12px;line-height:1.7}.policy-note a{color:var(--gold-deep)}.error-msg{color:#8b2020;background:#fef0f0;border:1px solid #e8c0c0;border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:13px}.loading{text-align:center;color:var(--text3);padding:40px;font-size:14px}.confirmation{text-align:center;max-width:560px;margin:0 auto;padding:48px 24px}.conf-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:12px;font-size:11px}.conf-ref{letter-spacing:6px;color:var(--text);margin:8px 0 16px;font-family:Cormorant Garamond,serif;font-size:36px;font-weight:300}.conf-details{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:10px;margin:24px 0;padding:24px}.conf-details p{color:var(--text2);justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.conf-details p:last-child{margin-bottom:0}.conf-details p span{color:var(--text);font-weight:500}.cal-links{justify-content:center;gap:10px;margin-top:16px;display:flex}.cal-link{background:var(--surface);border:1px solid var(--border);color:var(--text2);cursor:pointer;border-radius:4px;padding:9px 16px;font-family:DM Sans,sans-serif;font-size:12px;text-decoration:none;transition:border-color .12s}.cal-link:hover{border-color:var(--text);color:var(--text)}@media (width<=640px){.topbar{padding:0 20px}.topbar-right .topbar-link{display:none}.hero{padding:32px 20px}.main-section{padding:24px 20px 0}.cards-grid{grid-template-columns:1fr}.card.horizontal{flex-direction:column;gap:16px}.divider-vert{display:none}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:1}}
