:root{--navy:#082c3b;--cream:#fff7e7;--coral:#ff6048;--aqua:#9de0db;--ink:#102b35;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;line-height:.98;letter-spacing:-.035em}h1{font-size:clamp(3.5rem,8vw,7rem);margin-bottom:1.5rem}h2{font-size:clamp(2.7rem,5vw,5rem);margin-bottom:1.5rem}h3{font-size:1.5rem}a{color:inherit}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));background:var(--cream);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(8,44,59,.13)}.brand{text-decoration:none;font-weight:900;letter-spacing:.08em}.brand span{color:var(--coral)}nav{display:flex;align-items:center;gap:1.45rem}nav>a{text-decoration:none;font-size:.89rem;font-weight:700}.menu-toggle{display:none}.button{display:inline-block;background:var(--coral);color:#fff;text-decoration:none;padding:1rem 1.35rem;border:0;font-weight:800;letter-spacing:.01em;box-shadow:4px 4px 0 var(--navy)}.button:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--navy)}.button-small{padding:.65rem 1rem}.button-dark{background:var(--navy);box-shadow:4px 4px 0 var(--coral)}.hero{min-height:690px;background:var(--aqua);display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1fr);position:relative}.hero-art{background:linear-gradient(0deg,rgba(8,44,59,.18),rgba(8,44,59,.05)),url('image001.jpg') center/cover no-repeat}.hero-copy{padding:clamp(4rem,8vw,8rem) clamp(2rem,7vw,7rem);align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.78rem}.lede{font-size:1.25rem;max-width:590px}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.text-link{font-weight:800}.date-card{position:absolute;bottom:0;left:50%;transform:translate(-50%,45%);background:var(--coral);color:white;padding:1.1rem 1.35rem;display:flex;align-items:center;gap:1rem;box-shadow:6px 6px 0 var(--navy)}.date-card strong{font:900 2rem/ .85 Georgia,serif}.date-card span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.facts{max-width:var(--max);margin:4.5rem auto 0;padding:2rem 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;border-bottom:1px solid rgba(8,44,59,.2)}.facts div{border-left:3px solid var(--coral);padding-left:1rem}.facts span{display:block;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}.facts strong{font-size:1rem}.section{max-width:var(--max);margin:auto;padding:7rem 24px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:7rem}.prose{font-size:1.23rem;padding-top:2rem}.cards{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.cards article{background:#fff;padding:2.2rem;min-height:280px;border-top:7px solid var(--coral)}.cards article span{display:block;color:var(--coral);font-weight:900;margin-bottom:4rem}.dark{max-width:none;background:var(--navy);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:70px 1fr;gap:.3rem 1rem;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.2)}.timeline span{grid-row:1/3;color:var(--aqua);font-weight:900}.timeline strong{font-size:1.2rem}.timeline small{opacity:.75}.course{display:grid;grid-template-columns:1.15fr .85fr;gap:5rem;align-items:center}.course-map{min-height:520px;background:#d8d3c8 url('Lazy Lobster - road race map.jpg') center/contain no-repeat;border:12px solid white;box-shadow:14px 14px 0 var(--aqua)}.festival{text-align:center}.festival-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.festival-grid div{padding:2rem;border:1px solid rgba(8,44,59,.22)}.festival-grid strong{font:700 1.4rem Georgia,serif}.note{margin-top:2rem;font-style:italic}.volunteer{max-width:none;background:var(--coral);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.form-placeholder{background:#fff;color:var(--ink);padding:2.5rem;align-self:center}.form-placeholder strong{font:700 1.8rem Georgia,serif}.disabled{opacity:.6;box-shadow:none;pointer-events:none}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.accordions details{border-top:1px solid rgba(8,44,59,.25);padding:1.2rem 0}.accordions summary{font-weight:800;cursor:pointer}.accordions details p{margin:1rem 0 0}.final-cta{text-align:center;background:var(--aqua);padding:7rem 24px}.final-cta h2{max-width:800px;margin:0 auto 2rem}footer{background:var(--navy);color:#fff;padding:3rem max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:2rem;align-items:center}footer p{margin:0;font-size:.85rem}
@media(max-width:820px){.site-header{height:70px}.menu-toggle{display:block;background:none;border:2px solid var(--navy);padding:.5rem .7rem;font-weight:800}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:1.5rem 24px;flex-direction:column;align-items:stretch;border-bottom:2px solid var(--navy)}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-art{min-height:390px}.hero-copy{padding:4rem 24px 5rem}.date-card{left:auto;right:24px;transform:translateY(45%)}.facts{grid-template-columns:1fr 1fr}.intro,.dark,.course,.volunteer,.faq{grid-template-columns:1fr;gap:2.5rem}.cards,.festival-grid{grid-template-columns:1fr}.section{padding-top:5rem;padding-bottom:5rem}.course-map{min-height:360px}.course>div:first-child{order:2}.dark,.volunteer{padding-left:24px;padding-right:24px}footer{flex-direction:column;align-items:flex-start}}@media(max-width:470px){.facts{grid-template-columns:1fr}.hero-art{min-height:300px}h1{font-size:3.4rem}}
