:root{--cream:#fbf5ec;--paper:#fffaf3;--green:#1f3b2d;--green-soft:#2f5640;--pink:#f6d3d8;--pink-deep:#e9a9b3;--sage:#d5e6cf;--peach:#f2c9a1;--ink:#2a2a2a;--muted:#5b5b55;--radius:20px;--script:"Caveat", cursive;--sans:"Nunito", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;font-size:17px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{color:var(--green);margin:0}.script{font-family:var(--script);letter-spacing:.01em;font-weight:700}main>section{max-width:1120px;margin:0 auto;padding:72px 24px}.nav{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fbf5eceb;border-bottom:1px solid #1f3b2d14;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.nav__brand{color:var(--green);font-size:32px;text-decoration:none}.nav__links{align-items:center;gap:22px;font-weight:700;display:flex}.nav__links a:not(.btn){color:var(--green);text-decoration:none}.nav__links .btn{padding:8px 18px}.btn{background:var(--green);color:var(--cream);border:2px solid var(--green);border-radius:999px;padding:14px 28px;font-weight:800;text-decoration:none;transition:transform .15s,background .15s;display:inline-block}.btn:hover{background:var(--green-soft);transform:translateY(-2px)}.btn--ghost{color:var(--green);background:0 0}.btn--ghost:hover{background:var(--sage)}.hero{grid-template-columns:1fr 1.15fr;align-items:center;gap:48px;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green-soft);margin:0 0 12px;font-size:14px;font-weight:800}.hero h1{font-size:clamp(56px,7vw,88px);line-height:1}.highlight{background:linear-gradient(transparent 55%, var(--pink) 55%);padding:0 6px}.lead{color:var(--muted);margin:20px 0 28px;font-size:20px}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}.hero__image{border-radius:var(--radius);box-shadow:0 20px 50px #1f3b2d26}.week h2,.about h2,.cta h2{text-align:center;margin-bottom:32px;font-size:clamp(40px,5vw,56px)}.week__strip{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:40px;display:grid}.day{border-radius:var(--radius);flex-direction:column;padding:20px 24px;text-decoration:none;transition:transform .15s;display:flex}.day:hover{transform:translateY(-3px)}.day--sage{background:var(--sage)}.day--pink{background:var(--pink)}.day__name{text-transform:uppercase;letter-spacing:.12em;color:var(--green-soft);font-size:13px;font-weight:800}.day__title{font-family:var(--script);color:var(--green);font-size:34px;font-weight:700;line-height:1.2}.day__time{font-weight:700}.events{grid-template-columns:repeat(2,1fr);align-items:start;gap:24px;display:grid}.event{background:var(--paper);border-radius:var(--radius);scroll-margin-top:90px;overflow:hidden;box-shadow:0 10px 30px #1f3b2d14}.event--sage{border-top:8px solid var(--sage)}.event--pink{border-top:8px solid var(--pink)}.event__image{aspect-ratio:16/10;object-fit:cover;width:100%}.event__body{padding:28px}.event__when{color:var(--green-soft);margin:0;font-weight:800}.event__title{margin:4px 0 12px;font-size:46px;line-height:1.1}.pill{background:var(--pink);color:var(--green);border-radius:999px;margin:0 0 8px;padding:6px 16px;font-size:15px;font-weight:700;display:inline-block}.event--sage .pill{background:var(--sage)}.event__points{margin:0 0 24px;padding-left:20px}.event__points li::marker{color:var(--pink-deep)}.about__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.about__item{background:var(--paper);border-radius:var(--radius);padding:28px}.about__item h3{margin:12px 0 6px;font-size:20px}.about__item p{color:var(--muted);margin:0}.dot{border-radius:50%;width:36px;height:36px;display:inline-block}.dot--green{background:var(--sage);box-shadow:inset 0 0 0 11px var(--sage), inset 0 0 0 18px var(--green)}.dot--pink{background:var(--pink)}.dot--peach{background:var(--peach)}.cta{text-align:center}.cta h2{margin-bottom:8px}.cta p{color:var(--muted);margin:0 0 24px}.signoff{font-size:32px;color:var(--green)!important;margin-top:32px!important}.footer{text-align:center;color:var(--muted);border-top:1px solid #1f3b2d14;padding:24px;font-size:14px}@media (width<=860px){.hero,.events,.about__grid{grid-template-columns:1fr}main>section{padding:48px 20px}.nav__links a:not(.btn){display:none}}
