:root{--ink:#1c2921;--green:#314c3c;--cream:#faf8f1;--sand:#ebe6d7;--accent:#a6674d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Nunito Sans",sans-serif;font-size:16px;line-height:1.65}.site-header{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(250,248,241,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(28,41,33,.12)}.brand{font:600 26px "Playfair Display",serif;color:var(--green);text-decoration:none}.main-nav{display:flex;gap:24px}.main-nav a,.menu-button{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none}.main-nav a:hover{color:var(--accent)}.menu-button{display:none;border:0;background:none}.hero{width:100%;max-width:1024px;height:512px;min-height:0;margin:0 auto;position:relative;display:grid;place-items:center;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.36),rgba(0,0,0,.03))}.hero img{width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;top:40px;left:50%;transform:translateX(-50%);width:90%;z-index:1;color:var(--green);text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;margin:0 0 14px}.hero h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500}.hero h1{font-size:clamp(48px,7vw,94px);line-height:1;margin:0 0 30px}.hero h1 span{font-style:italic}.button{display:inline-block;padding:13px 25px;border:1px solid #fff;color:#fff;text-decoration:none;text-shadow:none;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.button:hover{background:#fff;color:var(--ink)}.content{max-width:1160px;margin:auto;padding:90px 5vw}.narrow{max-width:800px}.intro{text-align:center;padding:80px 5vw}.intro h2,.page-section h2{font-size:clamp(38px,5vw,58px);line-height:1.1;margin:0 0 18px}.page-section{scroll-margin-top:76px}.sand{background:var(--sand)}.schedule-day{margin:56px 0}.schedule-day h3{font-size:31px;margin:0 0 6px}.schedule-day h4,.prose h4{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 25px}.schedule-day img{width:100%;display:block;margin-top:30px;max-height:480px;object-fit:cover}.prose h3{font-size:31px;margin:54px 0 20px}.prose h4{margin:24px 0 4px}.prose p{margin:0 0 18px}.prose a,.schedule-day a{color:var(--accent)}.prose ul{padding-left:20px}.activities{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.activity{background:var(--cream)}.activity img{width:100%;aspect-ratio:1.25;object-fit:cover;display:block}.activity div{padding:21px}.activity h3{font-size:26px;margin:0 0 10px}.activity p{margin:0}.activity ul{margin:12px 0 0;padding-left:20px}.activity a{color:var(--accent)}.activity-link{color:inherit!important;text-decoration:none;display:block}.activity-link:hover h3{text-decoration:underline}.activity-link:hover img{filter:brightness(.9)}.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 28px;margin-top:45px}.timeline-item{background:var(--sand)}.timeline-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.timeline-item div{padding:21px}.timeline-item time{display:block;color:var(--accent);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.timeline-item p{font-family:"Playfair Display",serif;font-size:21px;line-height:1.35;margin:5px 0}.dark{background:var(--green);color:#fff}.dark .eyebrow{color:#d8d3bf}.gallery{columns:4 220px;gap:16px;margin-top:45px}.gallery img{width:100%;display:block;margin:0 0 16px;break-inside:avoid}footer{padding:30px;text-align:center;font-size:12px;letter-spacing:.13em;text-transform:uppercase;background:var(--cream)}@media(max-width:720px){body{font-size:20px}.eyebrow{font-size:18px}.site-header{height:62px}.menu-button{display:block}.main-nav{display:none;position:absolute;top:62px;left:0;right:0;padding:18px 5vw 24px;background:var(--cream);flex-direction:column;gap:14px;border-bottom:1px solid rgba(28,41,33,.12)}.main-nav.open{display:flex}.content{padding:65px 6vw}.activities{grid-template-columns:1fr}.timeline{grid-template-columns:1fr;gap:36px}.gallery{columns:2 140px;gap:10px}.gallery img{margin-bottom:10px}}