:root{--bg:#f4ecdf;--surface:#fffaf1d1;--surface-strong:#fffaf1f0;--ink:#183028;--muted:#5f675f;--line:#18302824;--accent:#c26d3a;--accent-deep:#8f4e29;--river:#2f6f75;--river-soft:#a9d4d1;--shadow:0 24px 70px #14231d1f;--radius:28px;--max-width:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 0 0,#c26d3a33,#0000 28%),radial-gradient(circle at 88% 12%,#2f6f752e,#0000 20%),linear-gradient(#f7f0e4 0%,#f2e8d7 100%);margin:0;font-family:Work Sans,sans-serif}body:before{content:"";pointer-events:none;background-image:linear-gradient(#18302808 1px,#0000 1px),linear-gradient(90deg,#18302808 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000061,#0000 82%);mask-image:linear-gradient(#00000061,#0000 82%)}a{color:inherit;text-decoration:none}img,video{width:100%;display:block}.site-shell{position:relative}.shell-inner{width:min(calc(100% - 2rem), var(--max-width));margin:0 auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4ecdfad;border-bottom:1px solid #18302814;position:sticky;top:0}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.header-inner{min-height:78px}.brand{flex-direction:column;gap:.15rem;display:inline-flex}.brand-mark{letter-spacing:.04em;font-family:Cormorant Garamond,serif;font-size:1.95rem;font-weight:700}.brand-sub{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem 1.4rem;display:flex}.nav-group{color:var(--muted);flex-wrap:wrap;gap:.9rem 1.3rem;font-size:.95rem;display:flex}.nav-group a[aria-current=page],.nav-group a:hover,.nav-group a:focus-visible{color:var(--ink)}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;min-height:48px;padding:.85rem 1.35rem;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#fff;box-shadow:0 14px 26px #8f4e293d}.button-primary:hover,.button-primary:focus-visible{background:var(--accent-deep)}.button-secondary{color:var(--ink);background:#ffffff73;border-color:#18302824}.main-content{padding-bottom:2rem}.page-hero{padding:4.5rem 0 2rem}.page-hero--split{grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);align-items:stretch;gap:2rem;display:grid}.page-hero--simple{max-width:900px}.eyebrow,.section-kicker,.contact-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem}.eyebrow{border:1px solid var(--line);background:#ffffff57;border-radius:999px;padding:.45rem .8rem;display:inline-flex}.page-title,.section-title{letter-spacing:-.02em;margin:0;font-family:Cormorant Garamond,serif;font-weight:600;line-height:1.08}.page-title{max-width:10ch;margin-top:1.25rem;font-size:clamp(3.4rem,8vw,6.8rem)}.page-hero--simple .page-title{max-width:12ch}.lead,.section-copy,.feature-body p,.info-card p,.contact-card a,.contact-note p,.footer-copy,.gallery-card figcaption,.story-list span,.amenity-panel p{color:var(--muted);line-height:1.8}.lead{max-width:58ch;margin:1.35rem 0 0;font-size:1.07rem}.hero-actions,.button-row{flex-wrap:wrap;gap:.9rem;display:flex}.hero-actions{margin-top:1.8rem}.button-row{margin-top:1.35rem}.button-row--stacked{flex-direction:column;align-items:stretch}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:2rem;display:grid}.stat-card,.feature-card,.text-panel,.amenity-panel,.info-card,.contact-card,.cta-panel,.gallery-card,.video-frame,.video-meta,.photo-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.stat-card{padding:1rem 1rem 1.1rem}.stat-card strong{margin-bottom:.25rem;font-size:1.28rem;display:block}.hero-media-grid{grid-template-columns:1fr;gap:1rem;display:grid}.hero-media-grid .photo-card{min-height:380px}.hero-carousel{background:#0f201b;border-radius:18px;min-height:460px;position:relative;overflow:hidden;box-shadow:0 24px 60px -28px #0f201b73}.hero-carousel-viewport{width:100%;height:100%;min-height:inherit;position:relative}.hero-slide{opacity:0;pointer-events:none;margin:0;transition:opacity .8s;position:absolute;inset:0}.hero-slide.is-active{opacity:1;pointer-events:auto}.hero-slide img{object-fit:cover;width:100%;height:100%;display:block}.hero-carousel-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;background:#0f201b59;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.6rem;line-height:1;transition:background .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-carousel-arrow:hover,.hero-carousel-arrow:focus-visible{background:#0f201b99;outline:none}.hero-carousel-arrow--prev{left:14px}.hero-carousel-arrow--next{right:14px}.hero-carousel-dots{z-index:2;justify-content:center;gap:8px;display:flex;position:absolute;bottom:14px;left:0;right:0}.hero-carousel-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.hero-carousel-dot.is-active{background:#fff;transform:scale(1.25)}.calendar-status{color:var(--muted);margin:1.2rem 0 0;font-size:.9rem}.calendar-status--error{color:var(--accent-deep)}.calendar-toolbar{justify-content:center;align-items:center;gap:1.2rem;margin-bottom:1rem;display:flex}.calendar-nav-btn{border:1px solid var(--line);background:var(--surface-strong);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;font-size:1.3rem;line-height:1;transition:background .2s,transform .2s}.calendar-nav-btn:hover,.calendar-nav-btn:focus-visible{background:var(--surface);outline:none;transform:translateY(-1px)}.calendar-range{letter-spacing:.02em;text-align:center;min-width:16ch;margin:0;font-family:Cormorant Garamond,serif;font-size:1.6rem}.calendar-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-bottom:1.5rem;font-size:.85rem;display:flex}.calendar-legend-item{align-items:center;gap:.5rem;display:inline-flex}.calendar-legend-swatch{border:1px solid var(--line);border-radius:4px;width:14px;height:14px}.calendar-legend-swatch--free{background:var(--surface-strong)}.calendar-legend-swatch--booked{background:repeating-linear-gradient(45deg,#8f4e2973,#8f4e2973 4px,#8f4e292e 4px 8px);border-color:#8f4e2966}.calendar-legend-swatch--past{background:#18302814}.calendar-grid-wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.calendar-month{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);padding:1.4rem}.calendar-month-title{text-align:center;margin:0 0 1rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;padding:.25rem 0 .5rem;font-size:.72rem}.calendar-day{aspect-ratio:1;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:.4rem .5rem;font-size:.85rem;display:flex;position:relative}.calendar-day--blank{background:0 0;border-color:#0000}.calendar-day-number{font-weight:600}.calendar-day-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin-top:auto;font-size:.62rem}.calendar-day--past{color:#18302861;background:#1830280a}.calendar-day--past .calendar-day-tag{color:#18302866}.calendar-day--today{outline:2px solid var(--river);outline-offset:-2px}.calendar-day--booked{color:var(--accent-deep);background:repeating-linear-gradient(45deg,#8f4e292e,#8f4e292e 6px,#8f4e290f 6px 12px);border-color:#8f4e2959}.calendar-day--free{background:var(--surface-strong)}@media (max-width:880px){.calendar-grid-wrap{grid-template-columns:1fr}.calendar-day{font-size:.78rem}}.photo-card img,.gallery-card img,.gallery-preview-grid img,.video-player{object-fit:cover;height:100%}.photo-card--featured{grid-row:span 2;min-height:560px}.photo-card:not(.photo-card--featured):not(.photo-card--tall):not(.photo-card--featured-small){min-height:270px}.photo-card--tall{min-height:520px}.photo-card--featured-small{min-height:420px}.section{padding:3rem 0}.section-contrast{background:linear-gradient(#fffaf152,#fffaf114)}.section-header{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:end;gap:1.4rem 2rem;margin-bottom:2.25rem;display:grid}.section-header>div>*+*{margin-top:1rem}.cta-panel>*+*,.text-panel>*+*,.video-meta>*+*{margin-top:1.1rem}.cta-panel>.section-title+.section-copy,.text-panel>.section-title+.section-copy,.video-meta>.section-title+.section-copy{margin-top:1.4rem}.contact-grid+.cta-panel,.info-grid+.cta-panel,.feature-grid+.cta-panel{margin-top:2rem}.section-title{font-size:clamp(2.6rem,4.5vw,4.2rem)}.section-copy{max-width:58ch;margin:0}.feature-grid,.info-grid,.contact-grid,.gallery-preview-grid{gap:1rem;display:grid}.gallery-grid{gap:.18rem;display:grid}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-body,.text-panel,.amenity-panel,.info-card,.contact-card,.video-meta,.cta-panel{padding:1.35rem}.feature-card img{aspect-ratio:1/.82}.feature-body h3,.contact-card h3{margin:0 0 .45rem;font-size:1.1rem}.split-section{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);align-items:stretch;gap:1rem;display:grid}.split-section--reverse{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}.text-panel{color:#f9f2e8;background:radial-gradient(circle at 100% 0,#c26d3a29,#0000 35%),linear-gradient(#244e40f5,#18352dfa)}.text-panel .section-title,.text-panel strong,.cta-panel .section-title,.video-meta .section-title{color:#fff7ee}.text-panel .section-copy,.text-panel .story-list span,.text-panel .section-kicker,.cta-panel .section-copy,.cta-panel .section-kicker,.video-meta .section-copy,.video-meta .section-kicker,.contact-note p,.contact-note a{color:#f9f2e8cc}.story-list{gap:.85rem;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.story-list li{grid-template-columns:auto 1fr;gap:.8rem;display:grid}.image-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.image-stack .photo-card--tall,.image-stack .photo-card--featured-small{grid-row:span 2}.amenity-list{flex-wrap:wrap;gap:.65rem;margin-top:1.2rem;display:flex}.tag{border:1px solid var(--line);color:var(--muted);background:#ffffff6b;border-radius:999px;padding:.5rem .85rem;font-size:.88rem}.gallery-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-preview-grid img{border:1px solid var(--line);min-height:240px;box-shadow:var(--shadow);border-radius:22px}.info-grid,.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card strong{margin-bottom:.45rem;font-size:1.05rem;display:block}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card a,.footer-copy a,.section-copy a,.contact-note a{color:var(--accent-deep)}.cta-panel .section-copy a,.video-meta .section-copy a,.cta-panel a,.video-meta a{color:#fff7ee;text-decoration:none}.cta-panel .section-copy a:hover,.cta-panel .section-copy a:focus-visible,.video-meta .section-copy a:hover,.video-meta .section-copy a:focus-visible,.cta-panel a:hover,.cta-panel a:focus-visible,.video-meta a:hover,.video-meta a:focus-visible{color:#fff7eedb}.cta-panel,.video-meta{color:#fff7ee;background:radial-gradient(circle at 0 0,#a9d4d12e,#0000 28%),linear-gradient(135deg,#14352d 0%,#1f5143 55%,#204d59 100%)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.gallery-card{background:var(--surface-strong)}.gallery-card img{min-height:420px}.gallery-card figcaption{padding:.9rem 1rem 1rem;font-size:.93rem}.gallery-card--wide{grid-column:span 2}.gallery-card--wide img{min-height:500px}.gallery-card--tall img{min-height:680px}.video-layout{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:1rem;display:grid}.video-frame{padding:.75rem}.video-player{aspect-ratio:16/9;background:#101a18;border-radius:22px}.contact-note{border-top:1px solid #ffffff26;margin-top:1.5rem;padding-top:1rem}.site-footer{padding:1rem 0 2.6rem}.footer-inner{border-top:1px solid #1830281f;padding-top:1.4rem}.footer-copy{margin:0;font-size:.92rem}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:90ms}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.27s}@media (max-width:1080px){.page-hero--split,.split-section,.split-section--reverse,.video-layout,.section-header{grid-template-columns:1fr}.section-header .section-copy{margin-top:1rem}.feature-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card--wide{grid-column:span 1}.info-grid{grid-template-columns:1fr}}@media (max-width:760px){.header-inner,.footer-inner,.nav{flex-direction:column;align-items:flex-start}.nav-group{justify-content:flex-start}.page-hero{padding-top:3rem}.page-title{max-width:none;font-size:clamp(3rem,18vw,4.8rem)}.stat-grid,.hero-media-grid,.gallery-preview-grid,.gallery-grid,.contact-grid,.feature-grid,.image-stack{grid-template-columns:1fr}.photo-card--featured,.photo-card--tall,.photo-card--featured-small,.gallery-card--tall img,.gallery-card img,.gallery-preview-grid img{min-height:320px}.button-row--stacked{align-items:stretch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}body.protected-page:not(.site-authenticated) .site-shell{visibility:hidden}body.protected-page.site-authenticated .site-shell{visibility:visible}.auth-overlay{z-index:1000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c1a16c7;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.auth-card,.admin-panel,.slot-group-card,.admin-media-card,.gallery-empty-state{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow)}.auth-card{width:min(100%,480px);padding:2rem}.auth-kicker,.auth-label,.admin-file-name,.admin-summary,.admin-publish-status{color:var(--muted)}.auth-kicker{letter-spacing:.16em;text-transform:uppercase;margin:0 0 .65rem;font-size:.78rem}.auth-card h1{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,5vw,3.6rem);line-height:.96}.auth-copy{color:var(--muted);margin:1rem 0 1.4rem;line-height:1.8}.auth-form{gap:.75rem;display:grid}.auth-label,.admin-label,.admin-slot-control span{font-size:.9rem;font-weight:600}.auth-input,.admin-content-control input,.admin-content-control textarea,.admin-media-form textarea,.admin-slot-control select,.admin-upload-control input{width:100%;color:var(--ink);font:inherit;background:#ffffffd1;border:1px solid #18302829;border-radius:18px}.auth-input,.admin-content-control input,.admin-slot-control select{min-height:52px;padding:.85rem 1rem}.admin-content-control textarea,.admin-media-form textarea{resize:vertical;min-height:120px;padding:.9rem 1rem}.auth-error,.admin-feedback,.site-error-banner{margin:0;font-size:.92rem}.auth-error,.admin-feedback.is-error,.site-error-banner{color:#8b1d1d}.auth-button{width:100%}.admin-dashboard,.admin-grid,.admin-content-grid,.admin-content-controls,.slot-group-grid,.admin-library-grid{gap:1rem;display:grid}.admin-dashboard,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview{background:radial-gradient(circle at top right, #a9d4d138, transparent 32%), var(--surface-strong)}.admin-status-grid{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}.admin-status-pill{min-height:34px;color:var(--river);background:#2f6f751a;border-radius:999px;align-items:center;padding:.35rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}.admin-status-pill.is-warning{color:var(--accent-deep);background:#c26d3a1f}.admin-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content-card h3,.slot-group-card h3{margin:0 0 1rem;font-size:1rem}.admin-content-control{gap:.45rem;display:grid}.admin-content-control span{font-size:.9rem;font-weight:700}.admin-panel,.slot-group-card{padding:1.5rem}.admin-title{font-size:clamp(2rem,4vw,3rem)}.admin-summary{margin:1.1rem 0 0;font-size:.95rem}.admin-publish-status{margin:.75rem 0 0;font-size:.95rem}.admin-publish-actions{margin-top:1.2rem}.admin-upload-control{gap:.65rem;margin-top:1.4rem;display:grid}.admin-upload-control span{font-weight:600}.admin-upload-control input{padding:.9rem 1rem}.admin-feedback{color:var(--river);background:#2f6f7514;border-radius:18px;margin-top:1rem;padding:.9rem 1rem}.admin-feedback.is-success{color:var(--river)}.slot-editor-grid{gap:1rem;margin-top:1.2rem;display:grid}.slot-group-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.admin-slot-control{gap:.45rem;display:grid}.admin-library-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.admin-media-card{grid-template-rows:auto 1fr;display:grid}.admin-media-card.is-removed{opacity:.72}.admin-media-image{aspect-ratio:1/.84;object-fit:cover}.admin-media-body{gap:.9rem;padding:1.1rem;display:grid}.admin-media-meta{flex-wrap:wrap;gap:.55rem;display:flex}.admin-chip{min-height:30px;color:var(--accent-deep);background:#c26d3a1f;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.admin-chip--soft{color:var(--river);background:#2f6f751f}.admin-file-name{margin:0;font-size:.92rem}.admin-card-actions{margin-top:0}.button-small{min-height:42px;padding:.7rem 1rem}.gallery-empty-state{padding:1.6rem}.gallery-empty-state h2{margin:0 0 .65rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,2.8rem)}.gallery-empty-state p{color:var(--muted);margin:0;line-height:1.7}.site-error-banner{z-index:1100;max-width:360px;box-shadow:var(--shadow);background:#fff4f4f5;border:1px solid #8b1d1d38;border-radius:18px;padding:.9rem 1rem;position:fixed;bottom:1rem;right:1rem}@media (max-width:1080px){.admin-dashboard,.admin-content-grid,.admin-grid{grid-template-columns:1fr}}@media (max-width:760px){.admin-library-grid,.slot-group-grid{grid-template-columns:1fr}.auth-card,.admin-panel,.slot-group-card{padding:1.25rem}}
