:root{--navy:#1b2a44;--stone:#E2DFD8;--ink:#2b2b2b;--muted:#666}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:300 18px/1.75 "Source Serif 4","PT Serif",Georgia,serif;color:var(--ink);background:#fff}
h1,h2,h3,.logo,.flogo,.kicker,.num,summary h2{font-family:"Cormorant Garamond","Marcellus",Georgia,serif;font-weight:300;letter-spacing:.01em}
h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.08;margin:.2em 0}h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin:.2em 0 .6em;color:var(--navy)}h3{font-size:1.5rem;margin:.2em 0}
a{color:var(--navy)}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}.narrow{max-width:820px}.pad{padding-top:100px;padding-bottom:100px}.c{text-align:center}.small{font-size:14px;color:var(--muted)}
header{position:fixed;top:0;left:0;right:0;z-index:20;transition:transform .4s,background .4s,box-shadow .4s;background:#fff}
.has-hero header:not(.solid){background:transparent}.has-hero header:not(.solid) .logo,.has-hero header:not(.solid) nav a{color:#fff}
header.solid{box-shadow:0 1px 0 rgba(0,0,0,.06)}header.hide{transform:translateY(-100%)}
.hd{display:flex;align-items:center;gap:48px;padding:20px 40px}.logo{font-size:1.7rem;color:var(--ink);text-decoration:none}
nav{display:flex;gap:28px}nav a{color:var(--ink);text-decoration:none;font-size:16px;padding-bottom:2px;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-bottom-color:currentColor}
.burger{display:none;margin-left:auto;background:none;border:0;width:34px;height:24px;position:relative;cursor:pointer}.burger span{position:absolute;left:4px;right:4px;height:1px;background:currentColor;transition:.3s}.burger span:first-child{top:8px}.burger span:last-child{top:16px}
.has-hero header:not(.solid) .burger{color:#fff}
.no-hero main{padding-top:84px}
.hero{position:relative;height:100vh;min-height:560px;overflow:hidden;color:#fff}.hero .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,28,.45),rgba(10,16,28,.55) 60%,rgba(10,16,28,.75))}
.hero-txt{position:absolute;left:0;bottom:0;padding:0 80px 90px;max-width:1000px;animation:up 1.4s ease both}.kicker{font-size:1.9rem;margin:0}.hero h1{color:#fff}.intro{font-size:1.1rem;max-width:640px}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.fade{opacity:0;transform:translateY(22px);transition:opacity 1.1s ease,transform 1.1s ease}.fade.in{opacity:1;transform:none}
.two{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.num{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin:0}
.band{background:var(--stone)}.tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:30px 0 50px}.tags a{display:block;padding:10px 20px;border:1px solid #cfcac0;text-decoration:none;color:var(--ink)}
.btn{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:13px 30px;text-decoration:none;margin:6px;letter-spacing:.06em;font-size:15px;transition:.3s;background:transparent}.btn:hover{background:var(--navy);color:#fff}
.phead{padding:140px 0 30px}.phead .intro{color:var(--muted)}.lead{font-size:1.2rem}
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}.aimg img{width:100%;display:block}
.grp{border-top:1px solid #c9c4b9;padding:6px 0}.grp:last-child{border-bottom:1px solid #c9c4b9}.grp summary{cursor:pointer;list-style:none;font-family:"Cormorant Garamond",serif;font-size:1.7rem;padding:14px 0;display:flex;justify-content:space-between}
.grp summary::after,.card summary .more::after{content:"+";font-weight:300}.grp[open] summary::after{content:"–"}summary::-webkit-details-marker{display:none}
.dated{list-style:none;padding:0;margin:0 0 20px}.dated li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:10px 0}.dated span{color:var(--navy);font-size:15px;letter-spacing:.04em}
.pubs li{border-bottom:1px solid #eee;padding:18px 0}.pubs p{margin:0}.pt{font-size:1.1rem}.pa{font-size:15px;color:var(--muted)}.pl{font-size:14px;margin-top:4px!important}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:start}.card{border:1px solid #ddd8ce;padding:30px 32px}.card summary{cursor:pointer;list-style:none}.card summary p{margin:.2em 0}
.more{display:inline-block;margin-top:10px;font-size:14px;letter-spacing:.08em;color:var(--navy);text-transform:uppercase}.more::after{margin-left:8px}.card[open] .more{display:none}
.anim{aspect-ratio:16/9;background:var(--stone);margin:18px 0;display:flex;align-items:center;justify-content:center;color:#8a857a;font-size:14px}.anim::before{content:attr(aria-label)}
.plain{padding-left:1.1em}.plain li{margin:8px 0}
.ccard{display:flex;gap:18px;align-items:center;margin-bottom:30px}.cphoto img{width:96px;height:96px;object-fit:cover;object-position:top;border-radius:50%;display:block}.ccard p{margin:0}.flogo{font-size:1.5rem}
.map iframe{width:100%;height:440px;border:0;filter:grayscale(.4)}
footer{background:var(--navy);color:#d8dbe2;padding:60px 0 30px;font-size:15px}footer a{color:#fff}.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}footer .small{color:#a9b0bd;margin-top:30px}
@media(max-width:860px){
.hd{padding:16px 22px}.burger{display:block}.has-hero header:not(.solid) .burger span,.burger span{background:currentColor}
nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:10px 22px 24px;gap:6px}.nav-open nav{display:flex}.nav-open header{background:#fff!important}.nav-open header .logo,.nav-open header nav a,.nav-open header .burger{color:var(--ink)!important}
.hero-txt{padding:0 24px 60px}.kicker{font-size:1.5rem}.pad{padding-top:64px;padding-bottom:64px}.two,.three,.split,.cards,.fgrid{grid-template-columns:1fr;gap:34px}.dated li{grid-template-columns:1fr;gap:2px}.phead{padding:110px 0 10px}.map iframe{height:320px}}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}.hero-txt{animation:none}header{transition:none}}
.hero{background:#141c2b}.hero .bg img{object-position:center 40%}
.shade{background:linear-gradient(180deg,rgba(12,18,30,.55) 0%,rgba(12,18,30,.45) 40%,rgba(12,18,30,.78) 100%)}
.imgband{position:relative;height:42vh;min-height:260px;overflow:hidden}.imgband img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.7)}.shade2{position:absolute;inset:0;background:rgba(27,42,68,.35)}
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:2rem}
.tcard{text-align:center}.tcard h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.4rem;margin:.8rem 0 .2rem}.trole{color:#1b2a44;letter-spacing:.04em;margin:0 0 .5rem}
.tav{width:120px;height:120px;border-radius:50%;margin:0 auto;background:#E2DFD8;display:flex;align-items:center;justify-content:center;object-fit:cover;color:#1b2a44;font-family:'Cormorant Garamond',serif;font-size:2.2rem}.tav svg{width:60%;fill:none;stroke:#1b2a44;stroke-width:1.2;opacity:.6}
@media(min-width:861px) and (max-width:1100px){header nav a{margin-left:1rem}}
/*V6*/
.langsw{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start;margin:0 0 1.35em;padding:0;position:static;background:transparent;box-shadow:none}.langsw .langbtn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;font-size:16.5px;line-height:1.2;letter-spacing:.02em;text-decoration:none;color:var(--ink);border:1.5px solid #1d3b4f;border-radius:999px;background:transparent;box-sizing:border-box;transition:background .2s,color .2s,border-color .2s}.langsw .langbtn:hover{background:#1d3b4f;color:#fff}.langsw .langbtn[aria-current=page]{background:#1d3b4f;color:#fff;font-weight:600;pointer-events:none}.langsw .langbtn:focus-visible{outline:2px solid #1d3b4f;outline-offset:3px}.cond .lead{font-size:1.22rem;line-height:1.45;margin:.2em 0 1.1em;color:var(--ink)}
:root{--warm:#F3ECE3;--acc:#9a5b3f}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hd{gap:0;padding:18px 56px;justify-content:center;position:relative}
nav{gap:12px;margin-left:0;margin-right:0;justify-content:center;flex-wrap:nowrap}
nav a{font-size:13.5px;white-space:nowrap;letter-spacing:.01em}
.burger{position:absolute;right:24px;top:50%;transform:translateY(-50%);margin-left:0}
@media(min-width:1280px){.burger{display:none}nav{display:flex;position:static;background:transparent;flex-direction:row;padding:0;gap:12px;box-shadow:none}nav a{font-size:13.5px;padding:0 0 2px}}
@media(max-width:1279px){.burger{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:10px 28px 24px;gap:6px;box-shadow:0 8px 16px rgba(0,0,0,.06);justify-content:flex-start}nav a{font-size:17px;padding:8px 0;white-space:normal}.nav-open nav{display:flex}.nav-open header{background:#fff!important}.nav-open header .logo,.nav-open header nav a,.nav-open header .burger{color:var(--ink)!important}}
.hero-txt .kicker{font-size:clamp(2rem,4.35vw,3.45rem);line-height:1.15;margin:0 0 .18em;font-weight:300;max-width:none}
.hero-txt h1{font-size:clamp(2.35rem,5.8vw,4.5rem)}
@media(min-width:861px){.hero-txt .kicker{white-space:nowrap}}
.sk{font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0;color:var(--muted)}.sk a{color:inherit;text-decoration:none}
.kids .phead{background:var(--warm);padding-bottom:50px}.kids .sk,.kids .num{color:var(--acc)}.kids .band{background:var(--warm)}.kids .btn{border-color:var(--acc);color:var(--acc)}.kids .btn:hover{background:var(--acc);color:#fff}.kids .cond h2{border-left:3px solid var(--acc);padding-left:14px}
.adults .phead{border-bottom:1px solid #e6e2da;padding-bottom:40px}
.kidsbox .num{color:var(--acc)}
.cond h2{font-size:1.9rem;margin-top:1.6em}.cond .animwrap{margin:24px 0}
.clist{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:30px}.citem{display:block;background:#fff;border:1px solid #ddd8ce;padding:26px 28px;text-decoration:none;color:var(--ink);transition:border-color .3s}.citem:hover{border-color:var(--navy)}.citem h3{color:var(--navy)}.citem p{margin:.3em 0}
.note{border-top:1px solid #ddd8ce;margin-top:50px;padding-top:20px;font-size:15px;color:var(--muted)}.rev{font-style:italic}
.printbtn{font-family:inherit;cursor:pointer;margin-left:0}
.routes{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 10px}.rbtn{display:inline-block;padding:15px 30px;border:1px solid rgba(255,255,255,.85);color:#fff;text-decoration:none;letter-spacing:.05em;font-size:16px;transition:.3s;min-width:240px;text-align:center}.rbtn:hover{background:#fff;color:var(--navy)}
.hcta{font-size:16px;margin:8px 0 0}.hcta a{color:#fff}
.tags a{display:inline-block;margin:6px}
.callbar{display:none}
@media(max-width:860px){.callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--navy)}.callbar a{flex:1;text-align:center;color:#fff;text-decoration:none;padding:15px 0;font-size:16px;letter-spacing:.04em}.callbar a+a{border-left:1px solid rgba(255,255,255,.25)}body{padding-bottom:54px}.rbtn{min-width:0;width:100%}.hero-txt{padding-bottom:40px}.hero .intro{font-size:1rem}.clist{grid-template-columns:1fr}.hero-txt .kicker{font-size:clamp(1.55rem,6.4vw,2.05rem);max-width:100%;white-space:normal}.hero-txt h1{font-size:clamp(1.85rem,7vw,2.45rem)}.hd{padding:16px 52px 16px 22px}}
@media print{header,footer .fgrid,.callbar,.noprint,.printbtn,.btn,.map,.actl,.routes,.hcta,iframe{display:none!important}body{font-size:11pt;line-height:1.5;padding:0}.no-hero main{padding-top:0}.phead{padding:0 0 10px;background:none!important}.pad{padding:12px 0}.fade{opacity:1!important;transform:none!important}.band{background:none}a{color:#000}.cond a[href^="http"]::after{content:" (" attr(href) ")"}h2{page-break-after:avoid}footer{background:none;color:#000;padding:0}footer .small{color:#000}details>*{display:block}}
.cond ul.pubs{list-style:none;padding:0;margin:0 0 8px}.cond ul.pubs li{border-bottom:1px solid #e5e5e5;padding:14px 0;font-size:15px;line-height:1.55}.publink{font-weight:600;margin-right:10px}.btn.small{padding:6px 12px;font-size:14px;margin-top:8px}
.jtabs{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}.jtabs a{padding:8px 16px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-size:15px}.jtabs a.on{background:#1d3b4f;color:#fff;border-color:#1d3b4f}.talks{list-style:none;padding:0;margin:0 0 36px}.talks li{border-bottom:1px solid #e5e5e5;padding:14px 0}.talks p{margin:0}.jpubs{list-style:none;padding:0}

.reqform{display:inline-block;vertical-align:top}.reqform summary{list-style:none;cursor:pointer}.reqform summary::-webkit-details-marker{display:none}
.reqform[open]{display:block;margin:.5rem 0}.rq{border:1px solid #d8dde3;border-radius:10px;padding:.8rem 1rem;margin-top:.5rem;max-width:26rem;background:#fff}
.rq label{display:block;font-size:.9rem;margin:.4rem 0}.rq input{display:block;width:100%;padding:.45rem .6rem;border:1px solid #c5ccd4;border-radius:6px;font:inherit;margin-top:.2rem}
.rq .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.rqmsg{margin:.5rem 0 0;font-size:.9rem}
@media print{.reqform{display:none}}
.pubtag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:.15em .6em;border-radius:999px;background:#eef2f6;color:#334;margin-right:.4em;vertical-align:middle}

.cforms{list-style:none;padding:0;margin:0 0 40px}.cf{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd8ce;padding:16px 0}.cf h3{margin:0 0 4px;font-size:18px}.cf p{margin:0;font-size:15px;color:var(--muted)}.cf .btn{white-space:nowrap;flex:none}@media(max-width:640px){.cf{flex-direction:column;align-items:flex-start}}.cfbox{margin-top:40px}.cfbox ul{margin:8px 0}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10000}.skip-link:focus{left:12px;top:12px;width:auto;height:auto;padding:10px 16px;background:#1b2a44;color:#fff;text-decoration:none;border-radius:2px}
/*a11y-anim*/.actl{flex-wrap:wrap;gap:10px}.actl .dots{gap:28px;align-items:center}.actl .dots button{width:18px;height:18px;min-width:18px;min-height:18px;position:relative}.actl .dots button::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.actl button{min-width:40px;min-height:40px}
@media print{/*print-anim-final*/.animwrap .actl,.animwrap .snd,.animwrap .nerr{display:none!important}.animwrap .cap{list-style:decimal;min-height:0}.animwrap .cap li{display:list-item!important;margin-left:1.2em}.animwrap .lab{opacity:0!important}.animwrap .lab.il,.animwrap .lab.k5{opacity:1!important}.animwrap .on1,.animwrap .on2,.animwrap .on3,.animwrap .on4,.animwrap .on5{opacity:1!important}.animwrap .off1,.animwrap .off2,.animwrap .off3,.animwrap .off4,.animwrap .off5{opacity:0!important}.animwrap svg *{animation:none!important;transition:none!important}}
/*hero-contrast*/.hero-txt .kicker,.hero-txt p{text-shadow:0 1px 2px rgba(0,0,0,.45)}.hero-txt .hcta a{font-weight:600}

.tav.logo{object-fit:contain;background:#fff;padding:14px;border:1px solid #ddd8ce}.tlink{margin-top:.6rem;font-size:14px}.tcard h3 a{color:inherit;text-decoration:none}.tcard h3 a:hover{text-decoration:underline}
/*ANIM*/
.animwrap{background:#E2DFD8;margin:18px 0;padding:12px 12px 16px;border-radius:2px;--acc:#6f9fc8;position:relative}
.animwrap svg{display:block;width:100%;height:auto;aspect-ratio:8/5}
.animwrap svg *{transition:opacity .9s ease,transform 1.6s cubic-bezier(.45,0,.25,1),stroke-dashoffset 1.8s ease-in-out,fill .9s}
.animwrap .lab{opacity:0;pointer-events:none}.lab path{fill:none;stroke:#1b2a44;stroke-width:.8}.lab circle{fill:#1b2a44}
.lab text{font:500 13px 'Source Serif 4',Georgia,serif;fill:#1b2a44;paint-order:stroke;stroke:#f4f2ee;stroke-width:3.5px;stroke-linejoin:round}
.animwrap .ttl{font:italic 12px 'Source Serif 4',Georgia,serif;fill:#1b2a44;opacity:.65}
.flow{fill:none;stroke:var(--acc);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:2 9;animation:flowmv 1.1s linear infinite}
@keyframes flowmv{to{stroke-dashoffset:-22}}
.pulse{animation:pls 1.6s ease-in-out infinite}@keyframes pls{0%,100%{opacity:.35}50%{opacity:1}}
.animwrap:not(.run) *{animation-play-state:paused!important}
.actl{display:flex;align-items:center;gap:14px;margin-top:10px}
.actl button{font:inherit;background:none;border:1px solid #1b2a44;color:#1b2a44;border-radius:50%;width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.actl .pp svg{width:12px;height:12px;aspect-ratio:auto}.actl .dots{display:flex;gap:28px;align-items:center}
.actl .dots button{width:18px;height:18px;min-width:18px;min-height:18px;border-radius:50%;padding:0;position:relative}.actl .dots button[aria-current="step"]{background:#1b2a44}
.actl .dots button::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.actl .stepn{font-size:13px;color:#5d6577;margin-left:auto}
.cap{list-style:none;margin:10px 0 0;padding:0;font-size:16px;line-height:1.5;color:#1b2a44;min-height:3em}.cap li{display:none}
.animwrap.rm .cap li{display:list-item!important;margin-left:1.2em;list-style:decimal}.rm .cap{list-style:decimal}
.card[open]{grid-column:1/-1}
.animwrap .snd{width:auto;height:34px;display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:12px;padding:6px 12px;border:1px solid #1b2a44;border-radius:999px;background:transparent;color:#1b2a44;font:inherit;font-size:14px;cursor:pointer}.animwrap .actl .stepn{margin-left:0}.animwrap .snd svg{width:16px;height:16px}.animwrap .snd .wv{opacity:.35}.animwrap.nar .snd{background:#1b2a44;color:#fff}.animwrap.nar .snd path{fill:#fff;stroke:#fff}.animwrap .snd:focus-visible{outline:2px solid #3d6d99;outline-offset:2px}
.animwrap .nerr{display:none;margin:8px 0 0;font-size:14px;line-height:1.4;color:#8a2f2f}.animwrap .nerr.show{display:block}
.animwrap .lab.il{opacity:1}
.animwrap .dr{stroke-dasharray:1 1;stroke-dashoffset:1}.animwrap.f1 .d1{stroke-dashoffset:0}.animwrap.f2 .d2{stroke-dashoffset:0}.animwrap.f3 .d3{stroke-dashoffset:0}.animwrap.f4 .d4{stroke-dashoffset:0}.animwrap.f5 .d5{stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.animwrap svg *{transition:none!important;animation:none!important}}
@media print{
.animwrap .actl,.animwrap .snd,.animwrap .nerr{display:none!important}
.animwrap .cap{list-style:decimal;min-height:0}
.animwrap .cap li{display:list-item!important;margin-left:1.2em}
.animwrap .lab{opacity:0!important}
.animwrap .lab.il,.animwrap .lab.k5{opacity:1!important}
.animwrap .on1,.animwrap .on2,.animwrap .on3,.animwrap .on4,.animwrap .on5{opacity:1!important}
.animwrap .off1,.animwrap .off2,.animwrap .off3,.animwrap .off4,.animwrap .off5{opacity:0!important}
.animwrap svg *{animation:none!important;transition:none!important}
}
.animwrap:not(.f1) .on1{opacity:0}.animwrap.f1 .off1{opacity:0}.animwrap.s1 .k1{opacity:1}.animwrap.s1 .cap li:nth-child(1){display:block}
.animwrap:not(.f2) .on2{opacity:0}.animwrap.f2 .off2{opacity:0}.animwrap.s2 .k2{opacity:1}.animwrap.s2 .cap li:nth-child(2){display:block}
.animwrap:not(.f3) .on3{opacity:0}.animwrap.f3 .off3{opacity:0}.animwrap.s3 .k3{opacity:1}.animwrap.s3 .cap li:nth-child(3){display:block}
.animwrap:not(.f4) .on4{opacity:0}.animwrap.f4 .off4{opacity:0}.animwrap.s4 .k4{opacity:1}.animwrap.s4 .cap li:nth-child(4){display:block}
.animwrap:not(.f5) .on5{opacity:0}.animwrap.f5 .off5{opacity:0}.animwrap.s5 .k5{opacity:1}.animwrap.s5 .cap li:nth-child(5){display:block}
