:root{--forest:#0b3d2e;--forest-deep:#072a20;--green:#1b5e42;--green-bright:#2e7d5b;--cream:#f6f1e4;--parchment:#ede4ce;--gold:#c6972f;--gold-light:#e4c36b;--white:#fcfaf3;--ink:#1e1a12;--ink-60:#1e1a129e;--ink-30:#1e1a124d;--ink-10:#1e1a121a;--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", system-ui, -apple-system, sans-serif;--content-width:760px;--wide-width:1120px;--nav-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}.skip-link{z-index:9999;background:var(--gold);color:var(--forest-deep);letter-spacing:.04em;border-radius:0 0 4px 4px;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:top .15s;position:fixed;top:-100%;left:1rem}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.section--dark :focus-visible,.hero :focus-visible,.footer :focus-visible{outline-color:var(--gold-light)}:focus:not(:focus-visible){outline:none}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);align-items:center;gap:10px;margin-bottom:20px;font-size:11px;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;flex-shrink:0;width:22px;height:1px;display:block}.big-heading{font-family:var(--serif);color:var(--forest);letter-spacing:-.02em;font-size:clamp(34px,5vw,60px);font-weight:900;line-height:1}.big-heading em{color:var(--gold);font-style:italic;font-weight:300}.btn{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;padding:13px 30px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .15s;display:inline-block}.btn--primary{background:var(--gold);color:var(--forest-deep)}.btn--primary:hover{background:var(--white);transform:translateY(-1px)}.btn--outline{border:1px solid var(--ink-30);color:var(--ink);background:0 0}.btn--outline:hover{border-color:var(--ink);background:var(--ink-10)}.section--dark .btn--outline,.hero .btn--outline{color:var(--white);border-color:#fcfaf359}.section--dark .btn--outline:hover,.hero .btn--outline:hover{border-color:var(--white);background:#fcfaf314}.section{padding:88px 6vw}.section__inner{max-width:var(--wide-width);margin:0 auto}.section--dark{background:var(--forest);color:var(--white)}.section--alt{background:var(--parchment)}.section-head{text-align:center;max-width:640px;margin:0 auto 56px}.section-head h2{font-family:var(--serif);letter-spacing:-.02em;color:var(--forest);font-size:clamp(32px,5vw,56px);font-weight:900;line-height:1.02}.section-head h2 em{color:var(--gold);font-style:italic;font-weight:300}.section-head p{color:var(--ink-60);margin-top:14px;font-size:17px}.section--dark .section-head h2{color:var(--white)}.section--dark .section-head p{color:#fcfaf3a8}.page-wrap{padding-top:var(--nav-height);min-height:100vh}.nav{z-index:200;height:var(--nav-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--ink-10);background:#f6f1e4f2;justify-content:space-between;align-items:center;padding:0 6vw;display:flex;position:fixed;top:0;left:0;right:0}.nav__brand{font-family:var(--serif);color:var(--forest);letter-spacing:-.01em;font-size:17px;font-weight:900;line-height:1;text-decoration:none;transition:opacity .3s,transform .3s}.nav[data-hero-active=true] .nav__brand{opacity:0;pointer-events:none;transform:translateY(-4px)}.nav__brand span{color:var(--gold);font-weight:400}.nav__links{align-items:center;gap:28px;list-style:none;display:flex}.nav__links a{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60);font-size:11px;font-weight:600;text-decoration:none;transition:color .2s}.nav__links a:hover{color:var(--forest)}.nav__toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.nav__toggle span{background:var(--forest);border-radius:2px;width:22px;height:2px;transition:all .25s;display:block}@media (width<=720px){.nav{height:auto;min-height:var(--nav-height);grid-template-columns:1fr auto;grid-template-areas:"brand toggle""links links";align-items:center;padding-top:14px;padding-bottom:14px;display:grid}.nav__brand{grid-area:brand}.nav__links{border-top:1px solid var(--ink-10);opacity:0;pointer-events:none;flex-direction:column;grid-area:links/1/links/-1;align-items:flex-start;gap:0;max-height:0;margin:14px 0 0;padding:12px 0 0;transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .22s,transform .32s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:translateY(-8px)}.nav__links li{width:100%}.nav__links a{padding:12px 0;display:block}.nav__toggle{grid-area:toggle;justify-content:center;justify-self:end;align-items:center;width:38px;height:38px;display:flex;position:relative}.nav__toggle span{transform-origin:50%;width:22px;position:absolute;top:18px;left:8px}.nav__toggle span:first-child{transform:translateY(-7px)}.nav__toggle span:nth-child(3){transform:translateY(7px)}.nav[data-open=true] .nav__links{opacity:1;pointer-events:auto;max-height:320px;transform:translateY(0)}.nav[data-open=true] .nav__toggle span:first-child{transform:translateY(0)rotate(45deg)}.nav[data-open=true] .nav__toggle span:nth-child(2){opacity:0}.nav[data-open=true] .nav__toggle span:nth-child(3){transform:translateY(0)rotate(-45deg)}}.footer{background:var(--forest-deep);border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:34px 6vw;display:flex}.footer__brand{font-family:var(--serif);color:#fcfaf380;font-size:16px;font-weight:700;text-decoration:none}.footer__links{flex-wrap:wrap;gap:24px;list-style:none;display:flex}.footer__links a{color:#fcfaf366;letter-spacing:.07em;text-transform:uppercase;font-size:11px;text-decoration:none;transition:color .2s}.footer__links a:hover{color:var(--gold-light)}.footer__copy{color:#fcfaf347;font-size:11px}@media (width<=620px){.footer{flex-direction:column;align-items:flex-start}}.hero{align-items:flex-end;min-height:78vh;display:flex;position:relative;overflow:hidden}.hero__bg{background-position:50%;background-size:cover;position:absolute;inset:0}.hero__content{max-width:var(--wide-width);width:100%;margin:0 auto;padding:0 6vw 88px;position:relative}.hero__tagline{font-family:var(--serif);letter-spacing:-.01em;color:var(--gold-light);align-items:center;gap:16px;margin-bottom:18px;font-size:clamp(24px,3.4vw,44px);font-style:italic;font-weight:300;line-height:1.1;display:flex}.hero__tagline:before{content:"";background:var(--gold);flex-shrink:0;width:clamp(28px,5vw,56px);height:2px}.hero__title{font-family:var(--serif);color:var(--white);letter-spacing:-.03em;font-size:clamp(44px,9vw,120px);font-weight:900;line-height:.95}.hero__title em{color:var(--gold-light);font-style:italic;font-weight:300;display:block}.hero__subtitle{color:#fcfaf3bf;max-width:460px;margin:22px 0 30px;font-size:17px;line-height:1.7}.event-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.event-card{text-align:left;background:var(--white);border:1px solid var(--ink-10);cursor:pointer;font:inherit;color:inherit;border-radius:6px;flex-direction:column;padding:0;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.event-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #072a201f}.event-card__media{aspect-ratio:3/2;display:block;position:relative}.event-card__media img{object-fit:cover;width:100%;height:100%}.event-card__plus{font-family:var(--serif);color:var(--white);opacity:0;background:#0b3d2e00;place-items:center;font-size:44px;transition:opacity .18s,background .18s;display:grid;position:absolute;inset:0}.event-card:hover .event-card__plus,.event-card:focus-visible .event-card__plus{opacity:1;background:#0b3d2e73}.event-card__body{padding:18px 20px 22px}.event-card__name{font-family:var(--serif);color:var(--forest);font-size:19px;font-weight:700;display:block}.event-card__slug{color:var(--ink-60);margin-top:4px;font-size:14px;display:block}.event-dialog{background:var(--white);width:calc(100vw - 40px);max-width:640px;max-height:calc(100dvh - 40px);color:var(--ink);border:none;border-radius:8px;margin:auto;padding:0;overflow-y:auto}.event-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#072a2099}.event-dialog__inner{padding:0 32px 32px;position:relative}.event-dialog__img{aspect-ratio:16/9;object-fit:cover;width:calc(100% + 64px);height:auto;margin:0 -32px 24px}.event-dialog__close{width:40px;height:40px;color:var(--forest-deep);cursor:pointer;background:#fcfaf3e6;border:none;border-radius:999px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.event-dialog__title{font-family:var(--serif);color:var(--forest);font-size:28px;font-weight:900}.event-dialog__subtitle{color:var(--gold);margin-top:4px;font-style:italic}.event-dialog__desc{color:var(--ink-60);margin-top:16px;line-height:1.7}.event-dialog__meta{gap:28px;margin:20px 0 24px;list-style:none;display:flex}.event-dialog__meta li{font-size:15px}.event-dialog__meta span{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-30);margin-bottom:2px;font-size:11px;display:block}@media (width<=720px){.event-dialog__meta{flex-direction:column;gap:12px}}.timeline{max-width:900px;margin:0 auto;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--ink-10);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline__item{grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin-bottom:56px;display:grid;position:relative}.timeline__marker{grid-column:1/2;justify-self:center}.timeline__marker img{object-fit:cover;border:4px solid var(--cream);width:120px;height:120px;box-shadow:0 0 0 2px var(--ink-10);background:var(--parchment);border-radius:999px}.timeline__panel{grid-column:2/3}.timeline__item.is-right .timeline__marker{order:2;grid-column:2/3}.timeline__item.is-right .timeline__panel{text-align:right;order:1;grid-column:1/2}.timeline__year{font-family:var(--serif);color:var(--gold);font-size:26px;font-weight:900}.timeline__title{font-family:var(--serif);color:var(--forest);margin-top:2px;font-size:20px;font-weight:700}.timeline__desc{color:var(--ink-60);margin-top:8px;line-height:1.7}.timeline__item--end{grid-template-columns:1fr;justify-items:center;margin-bottom:0}.timeline__marker--end{background:var(--forest);width:96px;height:96px;color:var(--white);font-family:var(--serif);border-radius:999px;place-items:center;font-size:18px;font-style:italic;display:grid}@media (width<=720px){.timeline:before{left:28px}.timeline__item,.timeline__item.is-right{text-align:left;grid-template-columns:56px 1fr;gap:20px}.timeline__marker,.timeline__item.is-right .timeline__marker{order:0;grid-column:1;justify-self:start}.timeline__panel,.timeline__item.is-right .timeline__panel{text-align:left;order:0;grid-column:2}.timeline__marker img{border-width:3px;width:48px;height:48px}.timeline__item--end{grid-template-columns:56px 1fr;justify-items:start}.timeline__marker--end{width:56px;height:56px;font-size:13px}}.contact-form{gap:18px;max-width:720px;margin:0 auto;display:grid}.contact-form__row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{letter-spacing:.04em;text-transform:uppercase;color:#fcfaf3b3;gap:6px;font-size:13px;display:grid}.contact-form label span{text-transform:none;letter-spacing:0;color:#fcfaf366}.contact-form input,.contact-form textarea{font:inherit;color:var(--white);text-transform:none;letter-spacing:0;background:#fcfaf30f;border:1px solid #fcfaf333;border-radius:4px;padding:12px 14px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--gold-light);border-color:#0000}.contact-form__hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact-form__status{text-transform:none;letter-spacing:0;min-height:1.4em;font-size:14px}.contact-form__status[data-state=ok]{color:var(--gold-light)}.contact-form__status[data-state=error]{color:#ffb3a0}@media (width<=620px){.contact-form__row{grid-template-columns:1fr}}
