*{box-sizing:border-box}body{margin:0;background:#f8f7f3;color:#141715;font:16px/1.55 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #218e88;outline-offset:5px}header,main,footer{width:min(1120px,calc(100% - 48px));margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid #d8d9d3}header img{display:block;width:174px;max-width:42vw}.calendar-link{font-size:14px;font-weight:700;text-decoration:none}.calendar-link span{margin-left:12px;color:#197d77}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:40px 0}.hero-copy small,.more small{font-size:12px;letter-spacing:.14em;font-weight:700;color:#226f69}.hero h1{font:normal clamp(2.8rem,5.2vw,4.8rem)/1.02 Georgia,serif;letter-spacing:-.045em;margin:18px 0}.hero h1 em{color:#207e78;font-weight:normal}.hero p{margin:0 0 14px;color:#505b56}.weekend-date{font-size:14px;font-weight:700;border-top:1px solid #b8cec6;padding-top:14px;display:inline-block}.hero-photo{position:relative;overflow:hidden;border-radius:100px 16px 16px 16px;aspect-ratio:1.28}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.hero-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#101b19b3)}.hero-photo span{position:absolute;bottom:20px;left:24px;right:16px;z-index:1;color:white;font:italic 1.45rem Georgia,serif}.events-section{padding:10px 0 30px}.section-heading{border-top:1px solid #b7c9c2;border-bottom:1px solid #b7c9c2;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{font:normal clamp(1.9rem,4vw,2.8rem)/1.1 Georgia,serif;margin:0;letter-spacing:-.03em}.section-heading h2 span{color:#218e88}.section-heading>span{font-size:12px;letter-spacing:.1em;color:#505b56}.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;padding:28px 0;border-bottom:1px solid #d8d9d3}.date-mark{border-top:3px solid #278f88;text-align:center;padding-top:8px}.date-mark span{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#226f69;font-weight:700}.date-mark strong{font:normal 2.5rem/1.2 Georgia,serif}.event-meta{font-size:13px;color:#226f69;margin:0 0 8px;font-weight:700}.event-copy h2{font:normal 1.65rem/1.17 Georgia,serif;margin:0 0 10px;letter-spacing:-.02em}.event-copy h2 a{text-decoration:none}.event-copy h2 a:hover{text-decoration:underline}.venue{display:block;font-size:14px;font-weight:500;color:#505b56}.event-description{font-size:16px;color:#505b56;margin:12px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.details{display:inline-block;font-size:14px;font-weight:700;margin-top:12px}.details span{color:#218e88;margin-left:8px}.more{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;background:#ccefe5;border-radius:16px;margin:8px 0 32px}.more h2{font:normal 1.75rem/1.2 Georgia,serif;margin:8px 0 0}.more>a{font-size:14px;font-weight:700;flex-shrink:0}.empty{padding:28px 0}.empty h3{font:normal 1.8rem Georgia,serif;margin:0 0 12px}.empty p{color:#505b56;max-width:520px}footer{padding:24px 0 32px;border-top:1px solid #d8d9d3;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{font:italic 1.45rem Georgia,serif;text-decoration:none}footer nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}@media(max-width:700px){header,main,footer{width:calc(100% - 36px)}header{padding:18px 0}.hero{gap:22px;grid-template-columns:1fr;padding:26px 0}.hero h1{font-size:2.9rem;margin:12px 0}.hero-photo{aspect-ratio:2.35;border-radius:50px 12px 12px 12px}.hero-photo span{font-size:1.2rem;bottom:16px;left:20px}.list{grid-template-columns:1fr}article{padding:22px 0;gap:16px}.more{display:block;padding:24px}.more>a{display:inline-block;margin-top:16px}footer{align-items:flex-start;flex-direction:column;gap:16px}.section-heading{align-items:baseline}.section-heading>span{font-size:12px}.event-copy h2{font-size:1.5rem}}@media(prefers-reduced-motion:no-preference){.details,.calendar-link{transition:color .2s}.details:hover,.calendar-link:hover{color:#218e88}}
