:root{--cream:#f6f3ec;--sage:#40584a;--brown:#775c44;--ink:#26392e;--line:#d9dfd5;--muted:#566356;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}h1,h2,h3,.brand{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.1}h1{font-size:clamp(2.7rem,5.1vw,5.2rem);margin:15px 0 25px}h2{font-size:clamp(2.2rem,3.6vw,3.65rem);margin:12px 0 20px}h3{font-size:1.75rem;margin:12px 0 18px}p{margin:0 0 20px}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block;object-fit:cover}button,.button{font:inherit;border:1px solid var(--sage);background:var(--sage);color:#fff;border-radius:5px;padding:13px 22px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.4;transition:filter .2s,transform .2s}button:hover,.button:hover{filter:brightness(1.12);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}button.secondary,.button.secondary{background:transparent;color:var(--ink);border-color:#9aab9a}.text-link{border:0;border-bottom:1px solid currentColor;background:none;color:var(--sage);padding:2px 0;border-radius:0;text-decoration:none;font-size:.95rem;justify-content:start}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b78548;outline-offset:4px}.site-header{display:flex;align-items:center;gap:32px;padding:23px 4.5%;border-bottom:1px solid var(--line);background:var(--cream)}.brand{font-size:2rem;letter-spacing:-.035em;text-decoration:none;flex-shrink:0}.brand span{display:block;font:10px/2 system-ui;letter-spacing:.18em;text-transform:uppercase;margin-top:4px}.brand-logo{max-width:180px;max-height:65px;object-fit:contain}.site-header nav{margin-left:auto;display:flex;gap:23px;align-items:center}.site-header nav a{text-decoration:none;font-size:13px}.header-cta{font-size:13px;padding:11px 16px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.02fr;min-height:650px;padding:40px 4.5% 46px;gap:5%}.hero-copy{padding:70px 0 35px;max-width:650px;align-self:center}.hero-copy>p:not(.eyebrow){max-width:470px;font-size:16px;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:650;color:var(--brown);margin-bottom:15px}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:33px}.hero-note{font-size:11px;letter-spacing:.12em;color:var(--muted);margin-top:52px}.hero-photo{position:relative;border-radius:48% 48% 8px 8px;overflow:hidden;min-height:540px}.hero-photo img{height:100%;width:100%;object-position:70% center}.photo-caption{position:absolute;bottom:25px;left:25px;color:#fff;font:italic 24px var(--serif);text-shadow:0 2px 9px #0009}.container{width:min(1180px,91%);margin:auto}.section{padding:96px 0;border-top:1px solid var(--line)}.section-heading{max-width:650px;margin-bottom:42px}.intro{max-width:570px;color:var(--muted)}.story-grid{display:grid;grid-template-columns:.88fr 1fr;gap:10%;align-items:center}.story-photo{height:470px;overflow:hidden;border-radius:6px 6px 80px 6px}.story-photo img{width:100%;height:100%;object-position:80% center}.story-grid .section-heading{margin:0}.type-activities,.type-calendar,.type-social{background:#e9ede4}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.activity-card{border-top:1px solid #a5b4a3;padding:30px 12px 10px}.activity-card>img{height:180px;width:100%;border-radius:6px;margin-bottom:24px}.activity-symbol{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--sage);line-height:1;margin-bottom:28px}.activity-symbol svg{display:block;width:32px;height:32px;flex:none}.activity-card p{color:var(--muted);font-size:15px}.event-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.event-card img{height:230px;width:100%}.event-body{padding:27px}.event-card h3 a{text-decoration:none}.event-card p{font-size:14px}.event-date{font-weight:600}.event-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--sage);padding:16px 0;border-top:1px solid var(--line);margin-top:20px}.empty-state{border:1px dashed #a6b3a3;padding:28px;border-radius:6px;max-width:760px;font-size:14px;color:var(--muted)}.calendar-shell{border:1px solid #cbd4c5;border-radius:10px;background:var(--cream);padding:25px}.calendar-tools{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:24px}.calendar-tools label{font-size:12px;min-width:180px}.calendar-tools .view-switch{margin-left:auto;display:flex;gap:5px}.view-switch button{font-size:12px;padding:10px 14px}.view-switch button[aria-pressed=false]{background:transparent;color:var(--ink)}.calendar-row{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:20px;padding:22px 5px;border-top:1px solid var(--line)}.calendar-day{font-size:11px;color:var(--muted)}.calendar-day strong{display:block;font:32px var(--serif);color:var(--ink)}.calendar-row h3{font-size:24px;margin:0 0 6px}.calendar-row p{font-size:13px;margin:0}.calendar-row button{font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-cell{background:#fff;min-height:110px;border:1px solid var(--line);padding:8px;font-size:12px}.calendar-cell button{font-size:10px;display:block;padding:6px;width:100%;margin-top:6px;text-align:left}.calendar-weekday{text-align:center;font-size:11px;color:var(--muted);padding:8px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-grid figure{margin:0}.photo-open{border:0;padding:0;background:transparent;display:block;width:100%;border-radius:6px;overflow:hidden}.photo-open img{height:290px;width:100%;object-fit:cover}.gallery-grid figcaption{font-size:12px;margin-top:8px;color:var(--muted)}.faq-list{max-width:820px}details{border-top:1px solid var(--line);padding:23px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:18px}details p{margin:18px 0 0;color:var(--muted)}.social-card{background:var(--cream);padding:25px;border:1px solid var(--line);border-radius:8px}.social-card>img{height:200px;width:100%;margin-bottom:22px}.social-card h3{font-size:25px}.embed-box{font-size:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.embed-box button{font-size:12px}.embed-box iframe{border:0;width:100%;min-height:500px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:7%}.contact-link{font:28px var(--serif)}form{display:grid;gap:17px}label{display:block;font-size:13px;font-weight:500}input,textarea,select{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid #a4b0a2;border-radius:5px;background:#fff;color:var(--ink);font:15px/1.5 system-ui}textarea{resize:vertical}input[type=checkbox]{display:inline-block;width:auto;margin:0 9px 0 0;vertical-align:middle}input[type=color]{height:48px;padding:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check{font-size:12px;line-height:1.7;font-weight:400}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-status{margin:0;font-size:14px}.error{color:#943926}.notice{background:#e7ecdf;border:1px solid #a5b39b;border-radius:6px;padding:17px}footer{background:var(--sage);color:#fff;padding:55px 4.5% 20px}.footer-top{display:flex;gap:40px;justify-content:space-between;margin-bottom:45px}.footer-top>div{display:grid;gap:10px;font-size:12px}.footer-top .text-link{color:#fff}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:20px;font-size:11px}.small-page{max-width:760px;margin:80px auto;padding:0 24px}.small-page .brand{display:block;margin-bottom:45px}.small-page h1{font-size:48px}.legal-copy{white-space:normal}dialog{border:1px solid var(--line);border-radius:13px;background:var(--cream);color:var(--ink);padding:28px;width:min(680px,94vw);max-height:90dvh;overflow:auto}dialog::backdrop{background:#1b3021bb;backdrop-filter:blur(4px)}.dialog-close{display:flex;margin-left:auto;margin-bottom:20px;font-size:12px;padding:7px 12px}dialog h2{font-size:34px}dialog img{max-height:70vh;width:100%;object-fit:contain}dialog .form-status{padding:12px 0}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#26392e;color:#fff;padding:14px 25px;border-radius:6px;z-index:100;display:none;max-width:90vw;font-size:14px}.toast.show{display:block}.skip-link{position:absolute;top:-100px;left:15px;background:#fff;padding:12px;z-index:200}.skip-link:focus{top:10px}.preview-banner{padding:10px 20px;background:#ffe2ac;font-size:13px;text-align:center}.event-page{padding:70px 0}.event-cover{height:450px;width:100%;margin:35px 0 45px;border-radius:9px}.event-detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:50px}.large-copy{font-size:19px}.booking-panel{background:#e8ede3;padding:30px;border:1px solid var(--line);border-radius:8px;align-self:start}.booking-panel p{font-size:14px}.booking-panel a{font-size:12px}.event-page .gallery-grid{margin-top:50px}.small-text{font-size:12px!important;margin-top:15px}
/* Administration */
.admin-body{background:#f5f6f2;font-size:14px}.admin-layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.admin-sidebar{background:#263c30;color:#fff;padding:28px 20px;position:sticky;top:0;height:100vh;overflow:auto}.admin-sidebar .brand{font-size:29px}.admin-sidebar .brand span{color:#d0dbcb}.admin-nav{display:grid;gap:6px;margin-top:40px}.admin-nav a{padding:11px 13px;text-decoration:none;border-radius:6px;font-size:13px}.admin-nav a.active{background:#ffffff18}.admin-nav a:hover{background:#ffffff0d}.sidebar-foot{font-size:12px;margin-top:40px;display:grid;gap:10px}.admin-main{padding:30px 40px;max-width:1500px;width:100%;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px}.admin-top h1{font:32px var(--serif);margin:0}.admin-top .button{font-size:12px;padding:10px 15px}.admin-section-title{font:27px var(--serif);margin:25px 0 17px}.admin-card{padding:25px;background:#fff;border:1px solid #dce2d7;border-radius:10px;margin-bottom:20px}.admin-card h2{font-size:25px;margin:0 0 18px}.admin-card h3{font-size:22px;margin-top:0}.admin-card p{font-size:13px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}.stat-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:10px}.stat-card span{font-size:12px;color:var(--muted)}.stat-card strong{font:38px var(--serif);display:block;margin-top:10px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar button,.toolbar .button{font-size:12px;padding:10px 15px}.badge{display:inline-block;font-size:10px;line-height:1.6;padding:3px 8px;border-radius:20px;background:#e8efe4;color:#365034;white-space:nowrap}.badge.warning{background:#fff0d7;color:#795019}.row-card{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}.row-card h3{font-size:22px;margin:0 0 5px}.row-card p{font-size:12px;color:var(--muted);margin:0}.row-actions{display:flex;flex-wrap:wrap;gap:7px}.row-actions button{font-size:11px;padding:7px 10px}.danger{background:#fff!important;color:#963e30!important;border-color:#d7ada6!important}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.media-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px}.media-card img{width:100%;height:170px;border-radius:5px;margin-bottom:15px}.media-card form{gap:10px}.media-card button{font-size:12px;padding:8px 12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;padding:13px;vertical-align:top;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;background:#f9faf7}td p{margin:0}.login-panel{max-width:460px;margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:15px;padding:38px}.login-panel .brand{display:block;margin-bottom:40px}.login-panel h1{font-size:33px}.login-panel form{margin-top:25px}.section-editor{display:grid;gap:15px}.hint{font-size:12px;color:var(--muted);font-weight:400}.multi-select{min-height:110px}.empty-admin{padding:40px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:9px}.admin-dialog{width:min(900px,94vw)}.admin-dialog form{margin-top:20px}.admin-warning{background:#fff0d7;border:1px solid #e1c48e;padding:18px;border-radius:8px;margin-bottom:22px;font-size:13px}.admin-banner{color:var(--muted);font-size:12px}.media-choice option{padding:4px}.password-current{font-family:system-ui}.section-bar{display:flex;gap:12px;justify-content:space-between;align-items:center}.caption-field{font-size:12px}
@media(min-width:1400px){.hero{min-height:780px}.hero-photo{min-height:650px}}@media(max-width:1100px){.site-header{gap:20px}.site-header nav{gap:15px}.site-header nav a{font-size:12px}.header-cta{display:none}.admin-main{padding:25px}.card-grid{gap:16px}.hero{gap:4%}.hero h1{font-size:4.6vw}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.site-header{padding:18px 5%;flex-wrap:wrap}.site-header nav{width:100%;display:none;flex-wrap:wrap;margin:0;padding-top:15px;gap:20px}.site-header nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;font-size:12px;padding:8px 13px}.hero{grid-template-columns:1fr 1fr;min-height:520px;padding-top:20px}.hero-copy{padding-top:30px}.hero h1{font-size:5.4vw}.hero-photo{min-height:470px}.hero-copy>p:not(.eyebrow){font-size:14px}.button-row .button{font-size:12px;padding:12px}.story-grid{gap:5%}.story-photo{height:380px}.section{padding:65px 0}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activities .activity-card:last-child{grid-column:1/-1;max-width:500px}.contact-grid{grid-template-columns:1fr}.contact-grid>div{margin-bottom:20px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:20px;display:flex;flex-wrap:wrap;gap:20px;align-items:center}.admin-sidebar .brand{font-size:25px}.admin-nav{display:flex;overflow:auto;width:100%;margin-top:0;gap:3px;white-space:nowrap;order:3}.sidebar-foot{display:flex;margin:0 0 0 auto}.sidebar-foot #logout{display:none}.admin-top{margin-bottom:25px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.event-detail-grid{grid-template-columns:1fr}.calendar-tools .view-switch{margin-left:0}.calendar-tools label{min-width:140px}}@media(max-width:560px){.brand{font-size:29px}.brand span{font-size:8px}.hero{display:flex;flex-direction:column;padding:30px 5% 36px;gap:30px}.hero-copy{padding:12px 0 0}.hero h1{font-size:43px;max-width:420px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-photo{height:400px;min-height:0;border-radius:46% 46% 6px 6px;width:100%}.hero-note{margin-top:28px}.photo-caption{font-size:21px}.section{padding:55px 0}.section-heading{margin-bottom:30px}h2{font-size:35px}.story-grid{grid-template-columns:1fr;gap:30px}.story-photo{height:310px;order:2}.card-grid{grid-template-columns:1fr}.activities .activity-card:last-child{grid-column:auto}.activity-card{padding:25px 0}.activity-symbol{margin-bottom:20px}.gallery-grid{gap:10px}.photo-open img{height:200px}.calendar-shell{padding:17px 12px}.calendar-tools{gap:12px}.calendar-tools label{flex:1;min-width:120px}.calendar-row{grid-template-columns:65px 1fr;gap:15px}.calendar-row>button{grid-column:2;justify-self:start;margin-top:0}.calendar-row h3{font-size:21px}.calendar-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(85px,1fr))}.form-row{grid-template-columns:1fr;gap:17px}.footer-top{flex-direction:column;margin-bottom:25px}.footer-bottom{flex-direction:column;gap:10px}dialog{padding:20px}.small-page{margin:40px auto}.small-page h1{font-size:37px}.admin-main{padding:22px 15px}.admin-top h1{font-size:28px}.admin-top .button{font-size:11px;padding:9px}.admin-card{padding:19px}.row-card{align-items:start;flex-direction:column;gap:15px}.stats-grid{gap:10px}.stat-card{padding:17px}.media-grid{grid-template-columns:1fr}.login-panel{margin:30px 15px;padding:27px}.event-page{padding-top:40px}.event-cover{height:290px}.section-bar{align-items:start}.calendar-cell{min-height:100px}.admin-sidebar .sidebar-foot{font-size:11px}.admin-sidebar .brand span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.admin-sidebar .text-link{color:#fff}

/* Keep navigation within reach on desktop and mobile. */
.site-header{position:sticky;top:0;z-index:40;box-shadow:0 2px 12px #26392e0a}
.site-header .brand-logo{width:auto;height:72px;max-width:180px;max-height:72px}
@media(max-width:800px){.site-header nav.open{max-height:min(55dvh,360px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}.site-header .brand-logo{height:60px;max-height:60px;max-width:140px}}

/* Editable logo and wordmark, side by side. */
.site-header .brand-lockup{display:flex;align-items:center;gap:14px;min-width:0;flex-shrink:1}
.brand-lockup .brand-copy{display:block;margin:0;text-transform:none;letter-spacing:normal}
.brand-lockup .brand-name{display:block;font:400 2rem/1.1 var(--serif);letter-spacing:-.035em;text-transform:none;margin:0}
.brand-lockup .brand-tagline{display:block;font:10px/1.6 system-ui;letter-spacing:.14em;text-transform:uppercase;margin-top:6px}
.site-header .brand-lockup .brand-logo{width:72px;height:72px;object-fit:contain;flex-shrink:0}
@media(max-width:1100px){.site-header{flex-wrap:wrap}.site-header nav{flex-wrap:wrap}.site-header .brand-lockup{max-width:100%}}
@media(max-width:560px){.site-header .brand-lockup{gap:10px;max-width:calc(100% - 82px)}.brand-lockup .brand-name{font-size:25px;overflow-wrap:anywhere}.brand-lockup .brand-tagline{font-size:8px;letter-spacing:.09em}.site-header .brand-lockup .brand-logo{width:48px;height:54px}}

html:has(.brand-lockup){scroll-padding-top:150px}

.event-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}.event-share{gap:8px;font-size:13px;padding:9px 13px;min-height:44px}.event-share svg{flex:none}.booking-panel .event-actions{margin-bottom:20px}
