.inner-page { background: var(--black); }
.inner-page .nav { position: absolute; background: transparent; }
.page-hero { min-height: 330px; padding: 145px 7vw 55px; background: radial-gradient(circle at 75% 20%, #163824 0, var(--green) 38%, var(--black) 76%); border-bottom: 1px solid #c9a66533; }
.page-hero h1 { margin: 12px 0 0; font-family:'Bebas Neue'; font-size:clamp(58px,8vw,112px); line-height:.92; }
.page-hero h1 em { font-family:'Playfair Display'; color:var(--gold); }
.booking-shell { position:relative; isolation:isolate; padding: 75px 7vw 110px; background:var(--cream); color:#102016; min-height:500px; }
.booking-shell::before { content:""; position:absolute; inset:0; z-index:0; background:url('assets/5th-new-pic.png') center/cover no-repeat, url('assets/6th-new-pic.png') center/cover no-repeat; opacity:.12; }
.booking-shell > * { position:relative; z-index:1; }
.auth-gate { max-width:560px; margin:0 auto; border:1px solid #071d1428; padding:38px; background:#fffaf0; box-shadow:0 20px 60px #071d1414; }
.auth-gate h2,.modal-card h2 { font-family:'Bebas Neue'; font-size:56px; line-height:.95; margin:12px 0 26px; }
.auth-gate h2 em,.modal-card h2 em,.booking-policy h3 em { font-family:'Playfair Display'; color:var(--gold); }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #071d1433; margin-bottom:24px; }
.auth-tabs button { border:0;background:transparent;color:#526057;padding:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer; }
.auth-tabs button.active { color:#102016;border-bottom:3px solid var(--gold); }
.auth-form label,.booking-form label { display:grid; gap:8px; font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px; }
.auth-form input,.booking-form input,.booking-form textarea,.booking-form select { width:100%; border:1px solid #071d1433;background:#fffdf7;color:#102016;padding:15px;font:500 15px 'DM Sans';outline:none; }
.auth-form input:focus,.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus { border-color:var(--gold); box-shadow:0 0 0 2px #c9a66533; }
.auth-form { display:grid;gap:18px }.auth-form .btn { margin-top:4px }.form-error { color:#9f3d32;margin:0;min-height:18px }
.account-bar { display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-bottom:20px;font-size:13px }.account-bar button,.text-button { border:0;border-bottom:1px solid var(--gold);background:none;color:inherit;font-weight:700;cursor:pointer;padding:6px 0 }
.booking-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px }.booking-form { min-width:0 }.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form fieldset{border:0;padding:0;margin:28px 0 0}.booking-form legend{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.service-options,.addon-options{display:grid;gap:10px}.service-options label,.addon-options label{display:block;text-transform:none;letter-spacing:0}.service-options input,.addon-options input{position:absolute;opacity:0}.service-options span,.addon-options span{display:grid;border:1px solid #071d142d;padding:16px 18px;color:#102016;background:#fffaf0}.service-options input:checked+span,.addon-options input:checked+span{border-color:var(--gold);box-shadow:inset 4px 0 var(--gold);background:#f7edda}.service-options span{grid-template-columns:1fr auto}.service-options small{grid-column:2;grid-row:1}.addon-options span{grid-template-columns:1fr auto 80px}.addon-options small{color:#687469;text-align:right}.featured-option span{background:#fffaf0!important;border:2px solid var(--gold)!important}.featured-option small{color:#687469}.featured-option input:checked+span{background:#f7edda!important;border-color:var(--gold)!important;box-shadow:inset 0 0 0 2px var(--gold)!important}.service-options label,.addon-options label{cursor:pointer}.service-options span,.addon-options span{transition:border-color .15s,background .15s,box-shadow .15s,transform .15s}.service-options label:hover span,.addon-options label:hover span{border-color:var(--gold);transform:translateX(2px)}
.date-grid{margin-top:28px}.date-note,.availability{font-size:12px;color:#687469}.date-note{font-size:15px;font-weight:700;line-height:1.55;color:#8a6d3b;margin-top:14px}.booking-form>label{margin-top:20px}.service-summary{border-top:1px solid #071d1433;border-bottom:1px solid #071d1433;padding:16px 0;font-weight:700}.booking-submit{width:100%}.booking-policy{background:var(--green);color:var(--cream);padding:32px;align-self:start}.booking-policy h3{font-family:'Bebas Neue';font-size:48px;margin:10px 0 22px}.booking-policy>p:not(.eyebrow){line-height:1.6}.policy-rule{border-top:1px solid #c9a66555;padding:18px 0}.policy-rule strong,.policy-rule span{display:block}.policy-rule span{color:var(--muted);font-size:13px;line-height:1.5;margin-top:6px}.booking-policy>a{display:block;border-top:1px solid #c9a66555;padding-top:18px;color:var(--gold);font-size:13px}
.modal[hidden]{display:none}.modal [hidden]{display:none!important}.modal-open{overflow:hidden}.modal{position:fixed;z-index:1000;inset:0;background:rgba(5,7,6,.78);display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal-card{max-width:560px;width:100%;background:var(--cream);color:#102016;padding:46px;border-top:7px solid var(--gold);box-shadow:0 24px 80px rgba(5,7,6,.55);text-align:center}.modal-card .eyebrow{color:#687469}.modal-card h2{font-size:clamp(48px,8vw,68px);margin:14px 0 18px}.modal-card h2 em{display:inline}.modal-card>p:not(.eyebrow){line-height:1.55;font-size:16px}.modal-summary{font-weight:700;color:#536157}.modal-actions{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:28px;flex-wrap:wrap}.modal-actions .btn{max-width:360px;font-size:13px;text-align:center}.modal-close{min-width:110px;border:2px solid var(--green);background:transparent;color:var(--green);padding:14px 22px;font:700 13px 'DM Sans';text-transform:uppercase;letter-spacing:1px;cursor:pointer}.modal-close:hover,.modal-close:focus{background:var(--green);color:var(--cream)}.modal[data-state="error"]{background:rgba(5,7,6,.88)}.modal[data-state="error"] .modal-card{border-top-color:#a95d4f}.modal[data-state="error"] .modal-card h2 em{color:#a95d4f}
@media(max-width:800px){.page-hero{min-height:280px;padding:125px 22px 45px}.booking-shell{padding:55px 22px 90px}.auth-gate{padding:26px 20px}.booking-layout{grid-template-columns:1fr}.booking-policy{order:-1}.form-grid{grid-template-columns:1fr}.service-options span{grid-template-columns:1fr}.service-options small{grid-column:1;grid-row:auto}.addon-options span{grid-template-columns:1fr auto}.addon-options small{grid-column:1;text-align:left}.account-bar{justify-content:space-between}}
