:root{--ink: #3a3a3a;--muted: #666666;--paper: #ffffff;--panel: #f7f7f7;--line: #e5e5e5;--link: #0170b9;--link-dark: #005f99;--white: #ffffff;color-scheme:light;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.75}img{display:block;max-width:100%}a{color:var(--link)}.skip-link{left:1rem;position:absolute;top:-4rem}.skip-link:focus{top:1rem;z-index:10}.site-header{background:var(--white);border-bottom:1px solid var(--line)}.home .site-header,.interior .site-header{background:transparent;border-bottom:0;left:0;position:absolute;right:0;top:0;z-index:2}.nav,.site-footer{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:.95rem 1.25rem}.brand{align-items:center;display:inline-flex;text-decoration:none}.brand img{height:72px;object-fit:contain;width:72px}.nav-links,.site-footer nav{display:flex;flex-wrap:wrap;gap:.95rem}.nav a,.site-footer a{color:var(--ink);font-size:1.08rem;font-weight:400;text-decoration:none}.nav a:hover,.site-footer a:hover{color:var(--link)}.home .nav a,.interior .nav a{color:var(--white);text-shadow:0 1px 3px rgba(0,0,0,.55)}.hero{align-items:center;background-image:linear-gradient(#0000002e,#0000002e),url(/images/NewSiteHeader-scaled.jpg);background-position:center;background-size:cover;display:grid;min-height:clamp(560px,78vh,820px);padding:8rem 1.25rem 5rem;text-align:center}.hero-copy{margin:0 auto;max-width:760px;width:100%}.page-heading{align-items:center;background-image:linear-gradient(#0000005c,#0000005c),url(/images/page-header-image.jpg);background-position:center;background-size:cover;display:grid;margin:0;min-height:clamp(300px,42vh,460px);padding:8rem 1.25rem 4.5rem;text-align:center}.page-heading>*{margin-left:auto;margin-right:auto;max-width:1200px}.eyebrow{color:var(--ink);font-size:1.65rem;font-weight:600;letter-spacing:0;margin:0 0 1rem}h1,h2,h3{color:#222;font-weight:600;line-height:1.25;margin:0}h1{font-size:clamp(2.8rem,5vw,4.6rem)}h2{font-size:clamp(1.8rem,3vw,2.7rem)}h3{font-size:1.45rem}p{margin:0}.hero p:not(.eyebrow),.page-heading p{color:var(--muted);font-size:1.15rem;margin-top:.75rem}.hero .eyebrow,.hero h1,.hero p:not(.eyebrow),.page-heading h1,.page-heading p{color:var(--white);text-shadow:0 2px 8px rgba(0,0,0,.65)}.section{padding:2.75rem 1.25rem}.section.alt{background:var(--white)}.container{margin:0 auto;max-width:1200px}.stack{display:grid;gap:1rem}.lead{color:var(--muted);font-size:1.05rem;margin-left:auto;margin-right:auto;max-width:980px}.centered-copy{text-align:center}.programs-list{display:grid;gap:4rem}.program-row{align-items:center;display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.program-row img{aspect-ratio:4 / 3;object-fit:cover;width:100%}.program-copy{align-content:center;display:grid;gap:1rem}.event-list{display:grid;gap:1.5rem}.event-card{align-items:center;border:1px solid var(--line);display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr) auto;padding:1.25rem}.event-card .button{align-self:center}.event-slots{display:grid;gap:.7rem}.event-slots .slot-date{color:var(--muted);display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.event-slots .slot-entry{display:inline-block;margin-right:.35rem;white-space:nowrap}.event-slots .slot-availability{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.slot-groups{display:grid;gap:1rem}.slot-group{display:grid;gap:.65rem}.slot-group h4{color:#222;font-size:1rem;margin:0}.grid{display:grid;gap:2.25rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2.5rem}.card{background:var(--white);border:0;border-radius:0;display:grid;gap:1rem;padding:0}.form-panel{background:var(--white);border:1px solid var(--line);border-radius:0;display:grid;gap:1rem;padding:1.5rem}.fieldset{border:1px solid var(--line);border-radius:0;display:grid;gap:.8rem;margin:0;padding:1rem}.media-card{overflow:hidden;padding:0;text-align:center}.image-link{color:var(--white);display:block;position:relative;text-decoration:none}.image-link:after{background:#00000057;content:"";inset:0;position:absolute;transition:background .16s ease}.image-link:hover:after,.image-link:focus-visible:after{background:#0000007a}.image-link span{color:var(--white);font-size:clamp(1.75rem,3vw,2.7rem);font-weight:600;left:50%;line-height:1.2;position:absolute;text-shadow:0 2px 8px rgba(0,0,0,.72);text-align:center;top:50%;transform:translate(-50%,-50%);width:86%;z-index:1}.media-card img{aspect-ratio:4 / 3;object-fit:cover;width:100%}.media-card>div{display:grid;gap:1rem;justify-items:center;padding:1rem 0 0}.button,button{align-items:center;background:var(--link);border:0;border-radius:2px;color:var(--white);cursor:pointer;display:inline-flex;font:inherit;font-weight:600;justify-content:center;min-height:2.75rem;padding:.7rem 1rem;text-decoration:none;width:fit-content}.button.secondary{background:var(--link)}.button[aria-disabled=true],button:disabled{background:#8c867d;cursor:not-allowed}.detail{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) 360px}.facts{background:var(--panel);color:var(--ink);display:grid;gap:.85rem;padding:1.5rem}.facts span{color:var(--muted);display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}label{color:var(--steel);display:grid;font-weight:800;gap:.35rem}input,select,textarea{border:1px solid #dddddd;border-radius:0;color:var(--ink);font:inherit;min-height:2.75rem;padding:.65rem .75rem;width:100%}.full{grid-column:1 / -1}.choices{display:grid;gap:.65rem}.choice{align-items:start;background:var(--white);border:1px solid var(--line);border-radius:0;display:grid;gap:.3rem;grid-template-columns:auto 1fr;padding:.85rem}.choice input{margin-top:.35rem;min-height:auto;width:auto}.choice[data-sold-out]{color:var(--muted)}.terms{background:var(--white);border:1px solid var(--line);border-radius:0;display:grid;gap:.75rem;padding:1rem}.site-footer{border-top:1px solid var(--line);justify-content:center;margin-top:2rem;text-align:center}.site-footer p{color:var(--muted)}.honeypot{left:-100vw;position:absolute}.form-message:empty{display:none}@media(max-width:820px){.nav,.site-footer,.nav-links{align-items:start;flex-direction:column}h1{font-size:3rem}.grid,.program-row,.event-card,.detail,.form-grid{grid-template-columns:1fr}}
