.nav{position:sticky;top:0;z-index:1000;background:rgba(248,245,241,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(140,98,57,.12)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{font-weight:700;font-size:1.15rem;color:var(--color-accent, #8c6239);text-decoration:none;letter-spacing:.02em}nav{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.nav-link{position:relative;color:var(--color-text, #1f1f1f);text-decoration:none;padding:.45rem .9rem;border-radius:999px;font-weight:600;transition:color .2s ease,background .2s ease,transform .2s ease}.nav-link:hover,.nav-link:focus-visible{color:var(--color-accent, #8c6239);background:rgba(140,98,57,.12);transform:translateY(-1px)}.nav-link.active{background:rgba(140,98,57,.16);color:var(--color-accent, #8c6239);box-shadow:none}.nav-link--cta{background:var(--color-accent, #8c6239);color:#fff;box-shadow:0 6px 18px #8c623940}.nav-link--cta:hover,.nav-link--cta:focus-visible{color:#fff;background:var(--color-accent-strong, #a97444)}.nav-link--cta.active{color:#fff;background:var(--color-accent, #8c6239)}@media (max-width: 768px){.nav-inner{padding-inline:1.25rem}nav{gap:.4rem}}@media (max-width: 520px){.nav-inner{justify-content:center}nav{width:100%;justify-content:center}}.home-hero{display:flex;flex-direction:column;gap:2.5rem;padding:clamp(2rem,4vw,4rem) 0;color:#1f1f1f}.home-hero__intro-line{text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#8c6239;margin:0}.home-hero__headline{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.1;margin:0;color:#0d0d0d}.home-hero__subhead{font-size:clamp(1rem,2.2vw,1.3rem);line-height:1.6;margin:0;max-width:60ch;color:#333}.home-hero__highlights{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.home-hero__highlight{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border-radius:12px;background:#f5f2ee;box-shadow:0 8px 20px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.home-hero__highlight:hover,.home-hero__highlight:focus-within{transform:translateY(-4px);box-shadow:0 12px 24px #00000014}.home-hero__highlight-icon{font-size:2rem;flex-shrink:0}.home-hero__highlight h2{font-size:1.2rem;margin:0 0 .35rem;color:#1f1f1f}.home-hero__highlight p{margin:0;color:#4b4b4b;line-height:1.5}.home-hero__cta{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;background:linear-gradient(135deg,rgba(140,98,57,.1),rgba(140,98,57,.22));padding:1.75rem 1.5rem;border-radius:16px}.home-hero__cta p{margin:0;font-weight:600;color:#1f1f1f;font-size:1.25rem}.home-hero__cta-buttons{display:flex;flex-wrap:wrap;gap:1rem}.home-hero__button{display:inline-flex;align-items:center;gap:.25rem;padding:.75rem 1.5rem;border-radius:999px;text-decoration:none;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease;background:#8c6239;color:#fff;border:2px solid transparent}.home-hero__button:hover,.home-hero__button:focus-visible{transform:translateY(-2px);background:#a97444;color:#fff}.home-hero__button--outline{background:transparent;color:#8c6239;border-color:#8c6239}.home-hero__button--outline:hover,.home-hero__button--outline:focus-visible{background:#8c6239;color:#fff}@media (max-width: 600px){.home-hero{gap:2rem}.home-hero__cta{align-items:stretch}}.calendar-page{gap:2.5rem}.calendar-page__intro{display:flex;flex-direction:column;gap:1rem;max-width:65ch}.calendar-page__tagline{margin:0;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--color-accent, #8c6239)}.calendar-page__headline{font-size:clamp(2rem,4vw,3rem);margin:0}.calendar-page__description{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--color-text-muted, #4b4b4b)}.calendar-page__card{background:var(--color-surface, #ffffff);border-radius:16px;padding:clamp(1rem,3vw,1.75rem);box-shadow:var(--shadow-soft, 0 12px 28px rgba(17, 11, 7, .08))}.calendar-page__card .fc{font-family:inherit}.calendar-page__card .fc .fc-toolbar{margin-bottom:1.25rem}.calendar-page__card .fc .fc-daygrid-day{border-color:#8c62391f}.calendar-page__card .fc .fc-daygrid-day.fc-day-today{background:rgba(140,98,57,.08)}.calendar-page__card .fc .fc-daygrid-event{border:none;border-radius:8px;font-weight:600;padding:.25rem .5rem}@media (max-width: 600px){.calendar-page__card{padding:1rem}}.gallery-page{gap:2.5rem}.gallery-page__intro{display:flex;flex-direction:column;gap:1rem;max-width:70ch}.gallery-page__tagline{text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--color-accent, #8c6239);margin:0}.gallery-page__headline{margin:0;font-size:clamp(2rem,4vw,3rem)}.gallery-page__description{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--color-text-muted, #4b4b4b)}.gallery-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.gallery-card{position:relative;display:block;border:none;padding:0;cursor:pointer;background:transparent;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-soft, 0 12px 28px rgba(17, 11, 7, .08));transition:transform .2s ease,box-shadow .2s ease}.gallery-card:hover,.gallery-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 34px #110b0729;outline:none}.gallery-card img{width:100%;height:240px;object-fit:cover;display:block}.gallery-card__caption{position:absolute;left:0;right:0;bottom:0;padding:.75rem 1rem;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(17,11,7,.75) 100%);font-weight:600;letter-spacing:.02em}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(17,11,7,.65);display:grid;place-items:center;padding:2rem;z-index:1000}.lightbox-inner{max-width:min(1200px,92vw);width:100%;background:var(--color-surface, #ffffff);border-radius:16px;overflow:hidden;box-shadow:0 24px 48px #110b0766}.lightbox-inner img{width:100%;height:auto;display:block}.lightbox-meta{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;color:var(--color-text, #1f1f1f);background:rgba(248,245,241,.9)}.lightbox-close{border:1px solid rgba(140,98,57,.5);color:var(--color-accent, #8c6239);background:transparent;border-radius:999px;padding:.45rem 1rem;cursor:pointer;font-weight:600;transition:background .2s ease,color .2s ease}.lightbox-close:hover,.lightbox-close:focus-visible{background:var(--color-accent, #8c6239);color:#fff;border-color:transparent}@media (max-width: 1024px){.gallery-grid{gap:1.1rem}.gallery-card img{height:220px}}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.gallery-card img{height:200px}.lightbox{padding:1.5rem}}@media (max-width: 520px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.gallery-card img{height:180px}.lightbox-inner{border-radius:12px}}.booking-page{gap:2.5rem}.booking-page__intro{display:flex;flex-direction:column;gap:1rem;max-width:65ch}.booking-page__tagline{text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--color-accent, #8c6239);margin:0}.booking-page__headline{margin:0;font-size:clamp(2rem,4vw,3rem)}.booking-page__description{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--color-text-muted, #4b4b4b)}.booking-form-card{background:var(--color-surface, #ffffff);border-radius:18px;padding:clamp(1.5rem,4vw,2.25rem);box-shadow:var(--shadow-soft, 0 12px 28px rgba(17, 11, 7, .08))}.booking-form{display:flex;flex-direction:column;gap:1.5rem}.booking-form__grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.booking-form__field{display:flex;flex-direction:column;gap:.5rem;font-weight:600;color:var(--color-text, #1f1f1f)}.booking-form__field span{font-size:.95rem;letter-spacing:.02em}.booking-form__field--full{grid-column:1 / -1}.booking-form__field input,.booking-form__field textarea{width:100%;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(140,98,57,.2);font-size:1rem;font-weight:500;color:var(--color-text, #1f1f1f);background:#fff;box-shadow:inset 0 1px 3px #8c623914;transition:border-color .2s ease,box-shadow .2s ease}.booking-form__field input:focus,.booking-form__field textarea:focus{outline:none;border-color:var(--color-accent, #8c6239);box-shadow:0 0 0 3px #8c623926}.booking-form__field textarea{min-height:140px;resize:vertical}.booking-form__alert{border-radius:14px;padding:1rem 1.25rem;display:grid;gap:.35rem;font-weight:500}.booking-form__alert--error{background:rgba(204,63,63,.12);color:#8a1c1c;border:1px solid rgba(204,63,63,.35)}.booking-form__alert--success{background:rgba(140,98,57,.12);color:var(--color-accent, #8c6239);border:1px solid rgba(140,98,57,.3)}.booking-form__submit{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:.85rem 1.75rem;font-size:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--color-accent, #8c6239);color:#fff;cursor:pointer;box-shadow:0 10px 22px #8c623940;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.booking-form__submit:hover,.booking-form__submit:focus-visible{transform:translateY(-2px);background:var(--color-accent-strong, #a97444);box-shadow:0 14px 26px #8c623947}.booking-form__submit:active{transform:translateY(0)}.booking-page__notice{background:rgba(204,63,63,.12);border:1px solid rgba(204,63,63,.3);border-radius:18px;padding:1.5rem 1.75rem;color:#5a1a1a;display:grid;gap:.5rem}.booking-page__notice-title{margin:0;font-size:1.15rem;font-weight:700}.booking-page__notice a{color:var(--color-accent, #8c6239);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.booking-page__notice a:hover,.booking-page__notice a:focus-visible{border-color:var(--color-accent, #8c6239)}@media (max-width: 600px){.booking-form-card{padding:1.25rem}.booking-form__grid{grid-template-columns:1fr}.booking-form__submit{width:100%;text-align:center;justify-content:center}}.about-page{display:flex;flex-direction:column;gap:2.5rem;padding:clamp(2rem,4vw,4rem) 0;color:#1f1f1f}.about-page__intro{display:flex;flex-direction:column;gap:1rem;max-width:65ch}.about-page__tagline{margin:0;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#8c6239}.about-page__headline{margin:0;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.1;color:#0d0d0d}.about-page__description{margin:0;font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.6;color:#333}.about-page__section{display:flex;flex-direction:column;gap:1.25rem}.about-page__section h2{margin:0;font-size:clamp(1.6rem,3vw,2rem);color:#1f1f1f}.about-page__grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.about-page__card{background:#f5f2ee;border-radius:12px;padding:1.5rem;box-shadow:0 8px 20px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.about-page__card:hover,.about-page__card:focus-within{transform:translateY(-4px);box-shadow:0 12px 24px #00000014}.about-page__card h3{margin:0 0 .5rem;font-size:1.25rem;color:#1f1f1f}.about-page__card p{margin:0;color:#4b4b4b;line-height:1.5}.about-page__list{margin:0;padding-left:1.25rem;display:grid;gap:.75rem;font-size:1.05rem;line-height:1.5;color:#3a3a3a}.about-page__list li::marker{color:#8c6239;font-size:1.2em}.about-page__list a{color:#8c6239;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.about-page__list a:hover,.about-page__list a:focus-visible{border-color:#8c6239}.about-page__cta{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,rgba(140,98,57,.1),rgba(140,98,57,.22));padding:1.75rem 1.5rem;border-radius:16px;align-self:flex-start}.about-page__cta p{margin:0;font-weight:600;font-size:1.25rem;color:#1f1f1f}.about-page__button{display:inline-flex;align-items:center;gap:.25rem;padding:.75rem 1.5rem;border-radius:999px;text-decoration:none;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease;background:#8c6239;color:#fff;border:2px solid transparent}.about-page__button:hover,.about-page__button:focus-visible{transform:translateY(-2px);background:#a97444;color:#fff}@media (max-width: 720px){.about-page{gap:2rem}.about-page__cta{flex-direction:column;align-items:stretch}}.admin-login{min-height:60vh;display:grid;place-items:center;padding:24px}.admin-login__form{width:360px;max-width:92vw;display:grid;gap:12px}.admin-login__error{color:#dc143c}.admin-login__field input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #ccc;border-radius:6px}.admin-login__submit{padding:10px 12px;border:none;border-radius:6px;cursor:pointer}.admin-login__submit:disabled{opacity:.7;cursor:not-allowed}.admin-login__submit:hover:enabled{background-color:#333;color:#fff}@media (max-width: 480px){.admin-login{padding:16px}.admin-login__form{width:100%;gap:10px}.admin-login__field input{padding:10px 12px}}.admin-bookings{padding:24px;max-width:960px;margin:0 auto}.admin-bookings__header{display:flex;justify-content:space-between;align-items:center}.admin-bookings__error{color:#dc143c;margin:8px 0 16px}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table__row{border-top:1px solid #eee}.table th,.table td{padding:10px 8px}.actions{display:flex;gap:8px}.btn{padding:8px 10px;border:none;border-radius:6px;cursor:pointer}.btn--approve{background:#e8f7ee}.btn--approve:hover{background:#c6ebd1}.btn--reject{background:#fdecec}.btn--reject:hover{background:#f9cbca}@media (max-width: 768px){.admin-bookings{padding:16px}.admin-bookings__header{gap:12px;flex-wrap:wrap}.table th,.table td{padding:8px 6px}}@media (max-width: 520px){.actions{flex-direction:column}.btn{width:100%}}:root{--maxw: 960px;--color-background: #f8f5f1;--color-surface: #ffffff;--color-surface-alt: #f5f2ee;--color-accent: #8c6239;--color-accent-strong: #a97444;--color-text: #1f1f1f;--color-text-muted: #4b4b4b;--shadow-soft: 0 12px 28px rgba(17, 11, 7, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--color-background);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-accent)}a:hover,a:focus-visible{color:var(--color-accent-strong)}.app-shell{min-height:100vh;background:var(--color-background);display:flex;flex-direction:column}.page-shell{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 1.5rem clamp(3rem,4vw,4rem);display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,4rem)}h1,h2,h3,h4{color:var(--color-text);font-weight:700;line-height:1.2;margin:0 0 1rem}p{margin:0;color:var(--color-text-muted)}section{display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,2rem)}.calendar-page .fc .fc-toolbar-title{font-size:1.35rem;color:var(--color-text)}.calendar-page .fc .fc-button-primary{background:var(--color-accent);border-color:var(--color-accent)}.calendar-page .fc .fc-button-primary:hover,.calendar-page .fc .fc-button-primary:focus{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.calendar-page .fc .fc-daygrid-day-number{color:var(--color-text)}@media (max-width: 768px){body{font-size:15px}.page-shell{padding-inline:1.25rem}.calendar-page .fc .fc-toolbar-title{font-size:1.15rem}.calendar-page .fc .fc-header-toolbar{flex-wrap:wrap;row-gap:.5rem}}@media (max-width: 520px){.page-shell{padding-inline:1rem}}
