@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--wine:#681c32;--wine-dark:#3d0e1f;--cream:#f4efe5;--paper:#fbf8f1;--ink:#211b19;--gold:#c69a57;--line:#d9cfc0;--sans:'DM Sans',sans-serif;--serif:'Playfair Display',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.8rem;z-index:99}.header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-family:var(--serif);font-size:1.12rem;line-height:1}.brand small{display:block;font:500 .65rem var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-top:.35rem}.brand-mark{width:44px;height:44px;border:1px solid var(--wine);color:var(--wine);border-radius:50%;display:grid;place-items:center;font:600 1rem var(--serif)}nav{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.8rem)}nav>a{font-size:.85rem;text-decoration:none}nav>a:hover{color:var(--wine)}.langs{display:flex;border-left:1px solid var(--line);padding-left:1rem;gap:.5rem}.langs a{font-size:.65rem;text-decoration:none;opacity:.45}.langs a[aria-current]{opacity:1;color:var(--wine);font-weight:600}.menu{display:none}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden}.hero-copy{padding:clamp(4rem,9vw,9rem) clamp(1.5rem,7vw,8rem)}.eyebrow{color:var(--wine);font-size:.7rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.hero h1,.page-head h1{font:600 clamp(3.6rem,7.5vw,7.7rem)/.95 var(--serif);letter-spacing:-.045em;margin:1.4rem 0 2rem}.hero h1 em{color:var(--wine)}.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:600px}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem}.button{display:inline-flex;justify-content:center;border:1px solid var(--wine);background:var(--wine);color:white;text-decoration:none;padding:.85rem 1.25rem;font:600 .75rem var(--sans);letter-spacing:.05em;cursor:pointer}.button.ghost{background:transparent;color:var(--wine)}.hero-art{position:relative;background:linear-gradient(145deg,#b65c57,#741e35 55%,#421024);overflow:hidden;min-height:560px}.hero-art p{position:absolute;color:#fff3;font:600 clamp(7rem,18vw,18rem)/1 var(--serif);bottom:-.1em;left:-.05em;margin:0}.sun{position:absolute;width:42%;aspect-ratio:1;border:1px solid #f0d7a199;border-radius:50%;top:18%;left:31%;box-shadow:0 0 80px #f4c48235}.wave{position:absolute;border:1px solid #fff4;border-radius:50%;width:130%;height:50%;left:-15%}.w1{bottom:13%;transform:rotate(-7deg)}.w2{bottom:3%;transform:rotate(5deg)}.section{padding:clamp(4rem,9vw,9rem) clamp(1.2rem,7vw,8rem)}.next{background:var(--cream)}.next-grid{display:grid;grid-template-columns:180px 1fr auto;gap:3rem;align-items:center;border-top:1px solid var(--line);padding-top:2rem}.date-big{font:600 4.5rem/1 var(--serif);margin:0;color:var(--wine)}.date-big small{display:block;font:500 .65rem var(--sans);letter-spacing:.1em;margin-top:.5rem}.next h2,.story h2,.school h2,.support-call h2,.page-head h1{font-family:var(--serif)}.next h2{font-size:clamp(2rem,4vw,4rem);margin:.6rem 0}.badge{display:inline-block;background:#ead9dd;color:var(--wine-dark);padding:.25rem .55rem;font-size:.68rem;text-transform:uppercase;font-weight:600;letter-spacing:.08em}.circle-link{width:64px;height:64px;border:1px solid var(--wine);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:1.5rem}.numbers{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-bottom:1px solid var(--line)}.numbers div+div{border-left:1px solid var(--line)}.numbers strong{display:block;font:600 clamp(3rem,6vw,6rem)/1 var(--serif);color:var(--wine)}.numbers span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.story h2,.school h2,.support-call h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1.05;margin:.8rem 0}.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;border-top:1px solid var(--line)}.timeline span{padding:1rem .5rem;font-size:.75rem}.timeline b{display:block;color:var(--wine);font:600 1.4rem var(--serif)}.split{display:grid;grid-template-columns:1fr 1fr;background:var(--wine-dark);color:white}.split a{min-height:520px;padding:4rem 6vw;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 70% 20%,#9b435358,transparent 42%);transition:.3s}.split a+a{border-left:1px solid #ffffff30;background:radial-gradient(circle at 20% 20%,#c08c6558,transparent 42%)}.split a:hover{background-color:#711f38}.split h2{font:600 4rem/1 var(--serif);margin:.6rem 0}.school{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--cream)}.note-art{width:min(430px,80%);aspect-ratio:1;border-radius:50%;background:var(--wine);color:#eecb88;font:6rem var(--serif);display:grid;place-items:center;justify-self:center}.note-art span{position:absolute;transform:translate(90px,-80px);font-size:3rem}.text-link{color:var(--wine);font-weight:600}.support-call{background:var(--wine);color:white;text-align:center}.support-call .eyebrow{color:#e8c58d}.light-button{background:white;color:var(--wine);border-color:white}.page-head{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,7vw,8rem);background:var(--cream)}.page-head h1{margin:1rem 0}.page-head>p:last-child{max-width:650px;font-size:1.1rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}.filters a{padding:.5rem .8rem;border:1px solid var(--line);text-decoration:none;font-size:.75rem}.event-list{margin-bottom:5rem}.event-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:2rem;padding:2rem 0;border-top:1px solid var(--line);text-decoration:none}.event-row time{font:600 1.5rem var(--serif)}.event-row time small{display:block;font:.8rem var(--sans)}.event-row h3{font:600 2rem var(--serif);margin:.5rem 0}.past{opacity:.72}.event-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;margin-top:4rem}.event-hero h1{font:600 clamp(3rem,6vw,6rem)/1 var(--serif)}.event-facts{border-left:1px solid var(--line);padding-left:3rem}.event-facts p{border-bottom:1px solid var(--line);padding-bottom:1rem}.event-facts small,.event-facts strong{display:block}.gallery-grid{columns:3 280px;column-gap:1rem}.gallery-grid figure{break-inside:avoid;margin:0 0 1.5rem}.gallery-grid img{width:100%}.image-button{border:0;padding:0;cursor:zoom-in}.gallery-grid figcaption small{display:block}dialog{border:0;background:#111d;width:100vw;height:100vh;max-width:none;max-height:none;padding:3rem}dialog::backdrop{background:#000d}dialog img{width:100%;height:100%;object-fit:contain}dialog button{position:absolute;right:1rem;top:1rem;font-size:2rem}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.video-grid iframe{width:100%;aspect-ratio:16/9;border:0}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2rem}.member-group{border-top:1px solid var(--wine);padding-top:1rem}.member-group h3{font:600 1.7rem var(--serif)}.member-group p{margin:.4rem 0}.member-group small{display:block}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:6rem}.course-grid article{background:var(--paper);padding:2rem}.course-grid span{color:var(--wine)}.course-grid h2{font-family:var(--serif)}.form-panel,.contact-grid,.donation-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.form-panel form,.contact-grid form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{font-size:.75rem;font-weight:600}input,select,textarea{display:block;width:100%;font:inherit;background:white;border:1px solid var(--line);padding:.8rem;margin-top:.35rem}textarea{min-height:130px}.wide{grid-column:1/-1}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}.amounts label span{display:block;padding:1rem;border:1px solid var(--line);text-align:center}.amounts input[type=radio]{position:absolute;opacity:0}.amounts input:checked+span{background:var(--wine);color:white}.donation-grid aside{background:var(--cream);padding:2rem}.document-list article{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);padding:2rem 0}.document-list>article>strong{font:600 2rem var(--serif)}footer{background:var(--ink);color:#eee;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding:5rem clamp(1.2rem,7vw,8rem);font-size:.85rem}footer>div:last-child{display:flex;flex-direction:column;gap:.6rem}.brand.light .brand-mark{border-color:#eee;color:#eee}.flashes{position:fixed;z-index:50;right:1rem;top:100px}.flash{padding:1rem;background:white;box-shadow:0 10px 30px #0002;border-left:4px solid var(--wine)}
@media(max-width:900px){.menu{display:block}.header nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-art{min-height:360px}.next-grid{grid-template-columns:100px 1fr}.next-grid .circle-link{display:none}.story,.school,.event-hero,.form-panel,.contact-grid,.donation-grid{grid-template-columns:1fr}.numbers{grid-template-columns:1fr}.numbers div{padding:2rem}.numbers div+div{border-left:0;border-top:1px solid var(--line)}.split{grid-template-columns:1fr}.split a{min-height:360px}.timeline{grid-template-columns:1fr 1fr}.event-facts{border-left:0;padding-left:0}.course-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr}.event-row{grid-template-columns:100px 1fr}.event-row>span{display:none}}@media(max-width:520px){.hero h1{font-size:3.4rem}.header{padding:0 1rem}.brand small{display:none}.split h2{font-size:3rem}.course-grid{grid-template-columns:1fr}.form-panel form,.contact-grid form{grid-template-columns:1fr}.wide{grid-column:auto}.amounts{grid-template-columns:1fr 1fr}.event-row{grid-template-columns:1fr}.page-head h1{font-size:3.5rem}}

