:root{--paper:#f5f5f0;--ink:#243c32;--muted:#626b63;--rule:#ccd1c8;--yellow:#e9ecad;--sans:'DM Sans',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;width:100%;object-fit:cover}figure,p,h1,h2,h3,ol{margin:0}p+p{margin-top:22px}h1,h2,h3{font-weight:450;line-height:1.06;letter-spacing:-.045em}h2{font-size:clamp(36px,4.3vw,56px)}h3{font-size:27px;letter-spacing:-.025em}.wrap{width:calc(100% - 96px);max-width:1440px;margin-inline:auto}.section{padding-block:100px}.section-label{font-size:13px;letter-spacing:.065em;text-transform:uppercase;font-weight:500}.skip{position:fixed;top:-100px;left:15px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:15px}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:108px;border-bottom:1px solid var(--rule)}.brand{font-family:var(--serif);font-size:33px;line-height:1;letter-spacing:-1.7px;text-decoration:none;white-space:nowrap}.brand span{display:block;font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:2.2px;margin-top:10px;margin-left:2px}.masthead nav{display:flex;gap:32px;font-size:14px}.masthead nav a{text-decoration:none}.masthead nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:13px 18px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:14px;line-height:1.3;border:1px solid var(--ink);border-radius:2px;transition:background .15s}.button:hover{background:#3b5548}.button span{font-size:19px;line-height:1}.hero{padding-top:35px}.hero-kicker{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.hero-intro{display:grid;grid-template-columns:1fr 300px;gap:55px;align-items:end;padding:52px 0 50px}.hero h1{font-size:clamp(48px,6.7vw,100px);line-height:1.02;font-weight:450;letter-spacing:-.055em}.hero-note{padding-bottom:5px}.hero-note p{font-size:17px;line-height:1.55}.text-link{display:inline-flex;gap:38px;align-items:center;font-size:15px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:7px;margin-top:26px}.text-link:hover{opacity:.7}.text-link span{font-size:20px}.hero-photo img{height:clamp(330px,38vw,570px);object-position:center 60%}.hero-photo figcaption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding-top:13px}.about{display:grid;grid-template-columns:185px 1fr;gap:36px;padding-top:115px}.about .section-label{padding-top:8px}.about h2{margin-bottom:43px}.about-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:38px;border-top:1px solid var(--rule);padding-top:33px}.about-columns p{font-size:16px}.about-columns .intro{font-size:20px;color:var(--muted);line-height:1.45}.experience{display:grid;grid-template-columns:1.08fr 1fr;gap:100px;border-top:1px solid var(--rule)}.experience figure img{height:540px;object-position:center}.experience-copy{align-self:center}.experience-copy .section-label{margin-bottom:30px}.experience-copy h2{margin-bottom:28px}.experience-copy p{max-width:440px}.rules{background:var(--ink);color:var(--paper);padding-block:95px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.rules .section-label{color:#c1ccb9;margin-bottom:32px}.rules h2{margin-bottom:28px}.rules p{color:#c1ccb9;font-size:16px}.rules ol{list-style:none;padding:0}.rules li{border-top:1px solid #617465;display:flex;align-items:baseline;gap:30px;padding-block:19px;font-size:20px;line-height:1.3}.rules li:last-child{border-bottom:1px solid #617465}.rules li span{font-size:12px;color:#dce49c;letter-spacing:.03em;min-width:18px}.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:30px}.section-top p,.section-top>span{font-size:14px;color:var(--muted)}.moments{padding-bottom:80px}.gallery{display:grid;grid-template-columns:1.1fr .9fr 1.1fr .9fr 1.4fr;gap:12px}.gallery img{height:265px}.gallery img:nth-child(2),.gallery img:nth-child(4){margin-top:34px;height:231px}.archive{border-top:1px solid var(--rule)}.archive-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:55px}.archive-title p{font-size:16px;max-width:280px;color:var(--muted)}.dinners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 28px;align-items:start}.dinner-image img{aspect-ratio:3/2;object-position:center}.dinner-body{padding-top:19px}.dinner-meta{display:flex;gap:7px 18px;flex-wrap:wrap;font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:13px}.dinner-meta span:first-child{color:var(--ink)}.dinner-meta span:last-child{flex-basis:100%}.dinner-meta a{text-decoration:none}.dinner h3{min-height:58px;margin-bottom:14px}.dinner-sponsor{font-size:13px;color:var(--muted);margin-bottom:16px;min-height:20px}.dinner-sponsor a{text-decoration:none}.dinner details{margin-top:20px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding-block:12px;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:21px;line-height:1}details[open] summary span{transform:rotate(45deg)}.dinner-attendees-list{list-style:none;padding:8px 0 18px}.dinner-attendees-list li{display:flex;gap:12px;margin-top:9px;font-size:14px;line-height:1.45}.li-num{min-width:18px;color:var(--muted);font-size:12px;padding-top:2px}.li-name{font-weight:500}.li-role{color:var(--muted);display:block;font-size:13px}.dinner-attendees-list a{text-decoration:none}.dinner a:hover{text-decoration:underline}.community{border-top:1px solid var(--rule)}.community-title{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:30px;align-items:end;margin-bottom:50px}.community-title p{max-width:450px}.attendee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}.attendee{display:grid;grid-template-columns:70px 1fr;column-gap:17px;grid-template-rows:auto auto;padding:24px 0;border-top:1px solid var(--rule);text-decoration:none;align-content:start}.attendee-logo{grid-row:1/3;width:70px;height:86px}.attendee-logo img{height:100%;filter:grayscale(100%);transition:filter .2s}.attendee:hover img{filter:none}.attendee strong{font-weight:500;font-size:16px;align-self:end;line-height:1.3}.attendee>span{font-size:13px;line-height:1.45;color:var(--muted);padding-top:7px;align-self:start}.invitation{padding-block:80px;background:var(--yellow)}.invitation-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.invitation .section-label{margin-bottom:30px}.invitation h2{font-size:clamp(45px,5.3vw,72px)}.invitation-copy{max-width:420px}.invitation-copy p{font-size:20px;line-height:1.45;margin-bottom:25px}.invitation .button{font-size:15px;padding:16px 20px;gap:60px}.sponsor-link{display:block;margin-top:20px;font-size:14px}footer{padding-block:60px 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:start;padding-bottom:55px}.footer-top p{color:var(--muted);font-size:15px}.footer-links{display:flex;gap:27px;font-size:14px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding-top:21px;font-size:12px;color:var(--muted)}
@media(min-width:1600px){.hero-intro{grid-template-columns:1fr 350px}.hero h1{font-size:106px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.masthead nav{gap:20px}.hero-intro{gap:35px;grid-template-columns:1fr 250px}.hero h1{font-size:6.4vw}.about{grid-template-columns:130px 1fr;gap:30px}.about-columns{gap:25px}.experience,.rules-grid,.community-title,.invitation-grid{gap:50px}.experience figure img{height:460px}.gallery img{height:220px}.gallery img:nth-child(2),.gallery img:nth-child(4){height:186px}.attendee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{gap:25px}.footer-links{gap:15px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:62px}.masthead{min-height:90px;flex-wrap:wrap;gap:20px;padding-block:20px}.brand{font-size:28px}.brand span{font-size:10px}.masthead nav{order:3;width:100%;justify-content:space-between;padding-top:14px;border-top:1px solid var(--rule);font-size:13px}.masthead .button{font-size:12px;gap:20px;padding:11px 13px}.hero{padding-top:24px}.hero-kicker{font-size:11px}.hero-kicker span:last-child{display:none}.hero-intro{display:block;padding:32px 0}.hero h1{font-size:clamp(42px,8.3vw,64px);letter-spacing:-.055em;line-height:1.06}.hero-note{margin-top:24px;max-width:400px}.hero-note p{font-size:16px}.text-link{margin-top:19px}.hero-photo img{height:330px;object-position:48% center}.hero-photo figcaption{font-size:10px;gap:25px}.hero-photo figcaption span:last-child{text-align:right}.about{display:block}.about h2{margin-top:25px;margin-bottom:30px}.about-columns{grid-template-columns:1fr;gap:24px;padding-top:25px}.about-columns .intro{font-size:22px;max-width:430px}.experience{grid-template-columns:1fr;gap:32px}.experience figure img{height:360px}.experience-copy .section-label{margin-bottom:22px}.experience-copy h2{font-size:38px}.rules{padding-block:62px}.rules-grid{grid-template-columns:1fr;gap:36px}.rules h2{font-size:42px}.rules li{font-size:18px;padding-block:18px;gap:22px}.section-top{align-items:start;gap:25px}.section-top p,.section-top>span{font-size:12px;max-width:130px;text-align:right}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery img,.gallery img:nth-child(2),.gallery img:nth-child(4){height:230px;margin-top:0}.gallery img:last-child{grid-column:1/-1;height:210px}.archive-title{display:block;margin-bottom:35px}.archive-title p{margin-top:18px;max-width:none}.dinners{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 18px}.dinner h3{font-size:23px;min-height:52px}.dinner-meta{font-size:11px;gap:5px 12px}.dinner-meta span{flex-basis:100%}.dinner-sponsor{font-size:12px}.community-title{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.community-title h2{font-size:40px}.attendee-grid{gap:0 22px}.attendee{grid-template-columns:1fr;gap:12px;padding-block:20px}.attendee-logo{grid-row:auto;width:70px;height:85px}.attendee strong{align-self:start;font-size:15px}.attendee>span{padding-top:0;font-size:12px}.invitation{padding-block:60px}.invitation-grid{grid-template-columns:1fr;gap:30px}.invitation-copy p{font-size:18px}.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.footer-links{gap:28px}.footer-bottom{gap:25px;font-size:11px}.footer-bottom a{white-space:nowrap}}
@media(max-width:420px){.dinners{grid-template-columns:1fr;gap:40px}.dinner h3{min-height:0;font-size:27px}.dinner-meta{flex-wrap:wrap;gap:6px 16px;font-size:12px}.dinner-meta span{flex-basis:auto}.dinner-meta span:last-child{flex-basis:100%}.hero h1{font-size:10vw}.gallery img,.gallery img:nth-child(2),.gallery img:nth-child(4){height:190px}}
/* Shared archive rows keep every disclosure aligned. */
img{border-radius:0}
.dinners{row-gap:0;align-items:stretch}
.dinner{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
.dinner-body{display:contents}
.dinner-meta{margin-top:19px;flex-wrap:nowrap;gap:10px;font-size:12px;white-space:nowrap}
.dinner-meta span,.dinner-meta span:last-child{flex:0 0 auto}
.dinner h3{min-height:0}
.dinner-sponsor{margin-bottom:0}
.dinner details{margin-bottom:52px;align-self:start}
.hero h1{font-size:clamp(48px,5.2vw,78px)}
@media(max-width:1100px){.hero h1{font-size:5.2vw}}
@media(max-width:760px){.hero h1{font-size:clamp(38px,7.2vw,54px)}.dinner details{margin-bottom:36px}}
@media(max-width:420px){.hero h1{font-size:9.5vw}.dinner-sponsor:empty{display:none}.dinner{grid-row:auto;grid-template-rows:auto}.dinner details{margin-bottom:40px}}
@media(max-width:1100px){.dinners{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.dinners{grid-template-columns:1fr}.dinner{grid-row:auto;grid-template-rows:auto}.dinner-sponsor:empty{display:none}}
@media(max-width:360px){.dinner-meta{font-size:11px;gap:8px}}
.carousel-controls{display:flex;align-items:center;gap:10px}
.carousel-status{font-size:12px;color:var(--muted);margin-right:16px;font-variant-numeric:tabular-nums}
.carousel-button{width:44px;height:44px;border:1px solid var(--rule);background:transparent;color:var(--ink);font-size:22px;cursor:pointer;transition:background .2s,color .2s}
.carousel-button:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.carousel-button:disabled{opacity:.3;cursor:default}
.carousel-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.moments .section-top{margin-bottom:10px;align-items:center}
.gallery.carousel-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:18px 12px 32px;margin-inline:-12px;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;overscroll-behavior-x:contain}
.carousel-slide{flex:0 0 calc((100% - 72px)/3.2);min-width:0;scroll-snap-align:start;position:relative;transition:transform .28s ease,box-shadow .28s ease;transform-origin:center}
.gallery.carousel-track .carousel-slide img{height:390px;margin:0;width:100%;border-radius:0}
@media(hover:hover) and (pointer:fine){.carousel-slide:hover{transform:translateY(-6px) scale(1.035);box-shadow:0 15px 25px -12px rgba(36,60,50,.4);z-index:1}}
@media(max-width:1100px){.carousel-slide{flex-basis:calc((100% - 48px)/2.2)}}
@media(max-width:680px){.carousel-slide{flex-basis:84%}.gallery.carousel-track{gap:16px}.gallery.carousel-track .carousel-slide img{height:370px}.carousel-status{display:none}.carousel-controls{gap:8px}}
.dinner-image img:is([alt^="Dinner 06"],[alt^="Dinner 05"],[alt^="Dinner 04"]){object-position:center 60%}
.archive-title{display:block}
.archive-title p{margin-top:18px;max-width:none}
.dinner summary span{transition:transform .3s ease}
.about-columns .about-thesis{grid-column:span 2;max-width:650px;margin-top:0;font-size:22px;line-height:1.5}
@media(max-width:760px){.about-columns .intro,.about-columns .about-thesis{font-size:20px}.about-columns .about-thesis{grid-column:auto}}
.cta-arrow{display:block;width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
html{scroll-padding-top:130px}
.masthead.wrap{position:sticky;top:0;z-index:20;width:100%;max-width:none;padding-inline:max(48px,calc((100% - 1440px)/2));background:var(--paper)}
@media(max-width:1100px){.masthead.wrap{padding-inline:32px}}
.footer-large{container-type:inline-size;padding-block:56px 30px}
.footer-large .footer-top{grid-template-columns:1fr auto;gap:40px;padding-bottom:0}
.footer-large .footer-links{flex-wrap:wrap;justify-content:flex-end;gap:18px 30px;padding-top:3px}
.footer-wordmark{display:block;margin-top:76px;font-family:var(--serif);font-size:17.3cqw;font-weight:400;line-height:.95;letter-spacing:-.065em;white-space:nowrap;text-decoration:none}
@media(max-width:760px){html{scroll-padding-top:110px}.masthead.wrap{position:sticky;top:0;z-index:20;width:100%;padding-inline:20px;flex-wrap:nowrap;gap:12px;background:var(--paper)}.masthead nav{display:none}.footer-large{padding-block:36px 24px}.footer-large .footer-top{grid-template-columns:1fr;gap:26px}.footer-large .footer-links{justify-content:flex-start;gap:14px 24px;font-size:13px;padding-top:0}.footer-wordmark{margin-top:48px;font-size:29cqw;line-height:.82;white-space:normal}}
@media(max-width:760px){.hero h1{font-size:clamp(42px,8.7vw,66px)}.hero-note{margin-top:18px}.hero-note .text-link{margin-top:0}}
@media(max-width:380px){.masthead .brand{font-size:24px}}
.community-title p{justify-self:end;max-width:420px}
@media(max-width:760px){.community-title p{justify-self:start;max-width:450px}}
.hero-copy{min-width:0}
.hero-community{max-width:690px;margin-top:26px;font-size:20px;line-height:1.45;font-weight:400}
@media(min-width:761px){.hero-note{display:flex;justify-content:flex-end;padding-right:20px}}
@media(min-width:1200px){.hero-community{max-width:none;white-space:nowrap;font-size:clamp(17px,1.35vw,20px)}}
@media(max-width:760px){.hero-community{margin-top:20px;font-size:17px}}
.hero-intro{padding-bottom:24px}
@media(max-width:760px){.hero-intro{padding-bottom:18px}}
.experience figure img{height:auto;aspect-ratio:3/4;object-fit:cover}
@media(min-width:761px){.experience{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.experience figure{width:min(100%,560px);justify-self:end}}
@media(max-width:760px){.attendee-mobile-hidden{display:none}.attendee-logo img{filter:none}}
@keyframes page-fade-in{from{opacity:0}to{opacity:1}}
body{animation:page-fade-in .65s ease-out both}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
