@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#101212;--panel:#191c1c;--gold:#e8bf69;--cream:#f6f3ec;--muted:#b6b8b3;--line:#ffffff20;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--ink);color:var(--cream);font:1rem/1.7 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}em{font-weight:400;color:var(--gold)}.skip{position:absolute;top:-100px;left:1rem;z-index:9;background:var(--gold);color:#101212;padding:1rem}.skip:focus{top:0}:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.site-header{max-width:1440px;margin:auto;padding:1.5rem 4.5%;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.8rem;font-size:.86rem;letter-spacing:.1em;font-weight:700;line-height:1.4}.brand small{display:block;font-size:.75rem;color:var(--gold);font-weight:400;letter-spacing:.2em;margin-top:.2rem}.brand-mark{font:2.1rem var(--serif);color:var(--gold);border:1px solid var(--gold);padding:.1rem .55rem}.site-header nav{display:flex;gap:1.6rem;font-size:.9rem}.site-header nav a:hover,.text-link:hover{color:var(--gold)}.button{display:inline-flex;justify-content:center;align-items:center;gap:1.5rem;background:var(--gold);border:1px solid var(--gold);color:#151613;padding:1rem 1.5rem;font-size:.95rem;font-weight:700;transition:background .2s}.button:hover{background:#f9d889}.button.small{font-size:.875rem;padding:.65rem 1rem}.text-link{display:inline-flex;gap:1.5rem;border-bottom:1px solid #ffffff66;padding:.3rem 0;font-size:.95rem}.hero{max-width:1440px;display:grid;grid-template-columns:1.08fr 1fr;margin:auto;padding:4.8rem 4.5% 4rem;gap:4rem;align-items:center}.eyebrow{font-size:.8rem;letter-spacing:.19em;color:var(--gold);font-weight:600}.fine-rule{width:3rem;height:1px;background:var(--gold);margin:1.5rem 0}h1{font:clamp(2.6rem,4.3vw,4.5rem)/1.16 var(--serif);letter-spacing:-.035em}h1 em{display:inline-block;margin-top:.1em}.hero-copy{margin-top:1.6rem;color:var(--muted);font-size:1.05rem}.hero-actions{display:flex;align-items:center;gap:1.8rem;margin-top:2rem}.hero-details{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;gap:2rem}.hero-details strong{display:block;font-size:1rem;font-weight:500}.detail-label{display:block;font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:.4rem}.hero-art{position:relative;border:1px solid #e8bf694d;padding:12px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:#171817}.hero-art img{width:100%;object-fit:cover;aspect-ratio:1.08}.art-caption{background:#191b1a;padding:1.3rem;text-align:center;border:1px solid #e8bf6933;border-top:0}.art-caption>span{font-size:.75rem;letter-spacing:.22em;color:var(--gold)}.art-caption p{font:italic 2.15rem var(--serif);margin:.4rem 0}.art-caption small{font-size:.85rem;color:var(--muted)}.welcome-strip{border-top:1px solid #e8bf6945;border-bottom:1px solid #e8bf6945;background:#1d201d;padding:1.1rem 5%;display:flex;align-items:center;justify-content:space-between;gap:2rem}.welcome-strip>span{font-size:.75rem;letter-spacing:.17em;color:var(--gold);white-space:nowrap}.welcome-strip p{font-family:var(--serif);font-size:1.1rem}.section{max-width:1320px;margin:auto;padding:6rem 4.5%}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:4rem;margin-bottom:2.5rem}h2{font:clamp(2.4rem,3.6vw,3.5rem)/1.2 var(--serif);letter-spacing:-.025em;margin-top:.8rem}.section-heading>p{color:var(--muted);max-width:420px}.event{display:grid;grid-template-columns:105px 1fr 150px;gap:2rem;border-top:1px solid var(--line);padding:2.5rem 0}.event-date{display:flex;flex-direction:column;align-items:center;padding-right:1.5rem;border-right:1px solid var(--line);height:fit-content;line-height:1.3}.event-date span{font-size:.75rem;letter-spacing:.13em;color:var(--muted)}.event-date strong{font:3.9rem var(--serif);color:var(--gold);line-height:1.2}.event-body h3{font:2rem/1.25 var(--serif);margin:.7rem 0 1rem}.event-body>p{color:var(--muted);max-width:640px}.event-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;color:var(--gold);font-size:.75rem;letter-spacing:.1em}.event-label{font-size:.8rem;letter-spacing:.17em;line-height:1.8;text-align:right;color:var(--muted);align-self:center}.callout{margin-top:1.3rem;background:#e8bf6910;border-left:2px solid var(--gold);padding:.85rem 1.1rem;font-size:.94rem}.callout strong{color:var(--cream)}.tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}.tags span{font-size:.875rem;border:1px solid var(--line);padding:.3rem .75rem;color:var(--muted)}.banquet{border-bottom:1px solid var(--line)}.banquet h3{color:var(--gold)}.schedule-note{font-size:.875rem;color:var(--muted);margin-top:1.5rem;max-width:830px}.dues-section{max-width:none;padding:5rem max(4.5%,calc((100% - 1200px)/2));background:var(--cream);color:#1c2221;display:grid;grid-template-columns:1fr 1fr;gap:5rem}.dues-section .eyebrow{color:#775619}.dues-section em{color:#886219}.dues-intro>p:not(.eyebrow){margin-top:1.5rem;max-width:410px;color:#535b57}.dues-intro .included-note{font-weight:700}.dues-panel{border:1px solid #222b2429;padding:0 2rem;background:#fffdf7}.price-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 0;border-bottom:1px solid #222b2429}.price-row h3{font:1.5rem var(--serif)}.price-row p{font-size:.9rem;color:#5a625c}.price-row>strong{font:3.5rem var(--serif);line-height:1.1;text-align:right}.price-row>strong>span{font-size:1.7rem;vertical-align:top;display:inline-block;padding-top:.4rem}.price-row small{display:block;font:.8rem var(--sans);color:#5a625c;margin-top:.2rem}.registration-status{padding:1.5rem 0 2rem}.status-label{font-size:.75rem;font-weight:700;letter-spacing:.13em}.registration-status p{font-size:.9rem;color:#5a625c;margin:.6rem 0 1rem}.unavailable{width:100%;background:#deded5;border-color:#deded5;color:#51574f;cursor:not-allowed;font-size:.875rem;padding:.9rem .5rem}.unavailable:hover{background:#deded5}.shirts-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem}.shirt-image{padding:12px;border:1px solid #e8bf6945}.shirt-copy>p:not(.eyebrow){color:var(--muted);margin-top:1.5rem}.outline-label{display:inline-block;padding:.65rem 1rem;border:1px solid #e8bf6970;color:var(--gold);font-size:.75rem;letter-spacing:.12em;margin-top:1.7rem}.faq-section{display:grid;grid-template-columns:1fr 1.45fr;gap:4rem;border-top:1px solid var(--line);padding-top:4rem}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:1.3rem 2rem 1.3rem 0;position:relative;list-style:none;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:.4rem;color:var(--gold);font-size:1.3rem;top:1.05rem}details[open] summary:after{content:'−'}details p{color:var(--muted);padding-bottom:1.3rem;font-size:.95rem}.closing{text-align:center;padding:5rem 1.5rem 6rem;border-top:1px solid var(--line);background:#191d1b}.closing h2{font-size:clamp(2.6rem,4.4vw,4.3rem);margin:1.2rem 0 1.8rem}.closing .text-link{color:var(--gold);border-color:#e8bf6970}footer{padding:2rem 4.5%;display:flex;align-items:center;justify-content:space-between;gap:2rem}footer p{font:italic 1rem var(--serif);color:var(--muted)}footer>span{font-size:.75rem;color:var(--muted);letter-spacing:.1em}
@media(min-width:1500px){.hero{padding-top:5.5rem;padding-bottom:5.5rem}}
@media(max-width:1000px){.site-header{gap:1rem}.site-header>.button{display:none}.hero{gap:2rem}.hero-actions{gap:1rem;flex-wrap:wrap}.hero-details{gap:1rem;flex-wrap:wrap}.event{grid-template-columns:85px 1fr;gap:1.5rem}.event-label{display:none}.dues-section{gap:2.5rem}.shirts-section{gap:2.5rem}footer>span{display:none}}
@media(max-width:700px){.site-header{flex-wrap:wrap;padding:1rem 6%;gap:1rem}.brand{font-size:.8rem}.site-header nav{width:100%;justify-content:space-between;gap:.75rem;font-size:.875rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:.8rem}.hero{grid-template-columns:1fr;padding:2.5rem 6% 3rem;gap:2.5rem}h1{font-size:clamp(2.6rem,9vw,4rem)}.hero-copy{font-size:1rem}.hero-details{margin-top:2rem;justify-content:space-between}.hero-details strong{font-size:.95rem}.hero-actions{gap:1.3rem}.hero-art{max-width:520px;width:100%;margin:auto}.welcome-strip{justify-content:center;text-align:center;padding:1rem 6%}.welcome-strip>span{display:none}.section{padding:3.5rem 6%}.section-heading{grid-template-columns:1fr;gap:1.2rem}.event{grid-template-columns:58px 1fr;gap:1rem;padding:2rem 0}.event-date{padding-right:.6rem}.event-date strong{font-size:2.8rem}.event-date span{font-size:.75rem;letter-spacing:0}.event-body h3{font-size:1.7rem}.event-meta{font-size:.75rem;letter-spacing:.03em}.event-body p{font-size:1rem}.event-body .callout{font-size:.9rem;padding:.75rem}.dues-section{grid-template-columns:1fr;gap:2rem}.dues-panel{padding:0 1.3rem}.shirts-section{grid-template-columns:1fr;gap:2rem}.shirt-copy{order:-1}.faq-section{grid-template-columns:1fr;gap:1rem}.closing{padding:3.5rem 6%}.eyebrow{font-size:.75rem;letter-spacing:.13em}footer{flex-direction:column;text-align:center;padding:2rem 6%;gap:1rem}}
/* Additional weekend plans */
.event-body .friday-extra{margin-top:1.4rem;padding:1rem 1.2rem;border:1px solid #e8bf6945;background:#e8bf690d}
.friday-extra strong{color:var(--cream)}
.friday-extra a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.banquet{border-bottom:0}
.event-sunday{border-bottom:1px solid var(--line)}
/* Make the early-payment prize easy to notice. */
.dues-deadline .early-prize{margin-top:1rem;padding:1rem 1.1rem;border:2px solid #8a631a;background:#fff2cf;color:#3a2a10;box-shadow:0 3px 0 #8a631a36}
.early-prize strong{color:#69460b;font-size:1.1rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.registration-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start;border-bottom:1px solid var(--line)}.registration-intro>p:not(.eyebrow){color:var(--muted);margin-top:1.4rem}.registration-intro .registration-notice{padding:1rem 1.2rem;border-left:2px solid var(--gold);background:#e8bf690e}.registration-notice strong{color:var(--cream)}.registration-form{background:#1c201e;border:1px solid #e8bf6945;padding:2rem;box-shadow:0 22px 50px #0003}.registration-form fieldset{border:0;border-bottom:1px solid var(--line);margin:0 0 1.8rem;padding:0 0 1.8rem;min-width:0}.registration-form legend{font:1.5rem var(--serif);color:var(--gold);margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label:first-child{grid-column:1/-1}.registration-form label{display:block;font-size:.88rem;font-weight:600;color:var(--cream)}.registration-form input[type=text],.registration-form input[type=email],.registration-form input[type=tel]{display:block;width:100%;min-width:0;margin-top:.45rem;background:#101413;border:1px solid #ffffff50;border-radius:0;padding:.8rem .9rem;color:var(--cream);font:1rem var(--sans)}.registration-form input:focus{border-color:var(--gold)}.form-help{color:var(--muted);font-size:.84rem;line-height:1.6;margin:.5rem 0 1rem}.attendee-row{display:flex;gap:.7rem;align-items:end;margin:.75rem 0}.attendee-row label{flex:1}.add-buttons{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.add-button,.remove-attendee{cursor:pointer;color:var(--gold);border:1px solid #e8bf6980;background:transparent;padding:.6rem .85rem;font-size:.85rem}.remove-attendee{border-color:var(--line);color:var(--muted);margin-bottom:.05rem}.add-button:hover,.remove-attendee:hover{background:#e8bf691c}.add-button:disabled{opacity:.5;cursor:not-allowed}.registration-total{border-top:1px solid #e8bf6955;padding:1.3rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.registration-total span{font-size:.9rem}.registration-total strong{font:2rem var(--serif);color:var(--gold)}.registration-form .confirm-adult{display:flex;align-items:flex-start;gap:.65rem;font-size:.86rem;font-weight:400;margin:.5rem 0 1.2rem}.confirm-adult input{accent-color:var(--gold);width:1.15rem;height:1.15rem;flex:none;margin:.12rem 0 0}.registration-form>.button{margin-top:.5rem;width:100%;cursor:pointer}.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.registration-status>.button{width:100%}.thanks-page{max-width:740px;margin:12vh auto;padding:3rem 6%;text-align:center}.thanks-page h1{margin:1rem 0}.thanks-page>p:not(.eyebrow){color:var(--muted);margin:1.5rem auto 2rem;max-width:580px}.thanks-page .button{margin-top:1rem}
@media(max-width:900px){.registration-section{grid-template-columns:1fr;gap:2rem}}
@media(max-width:540px){.registration-form{padding:1.2rem}.form-grid{grid-template-columns:1fr}.attendee-row{align-items:stretch;flex-direction:column}.remove-attendee{align-self:flex-start}.registration-total strong{font-size:1.7rem}}

.hotels-section{border-top:1px solid var(--line)}.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.hotel-card{display:flex;flex-direction:column;padding:1.7rem;background:#1c201e;border:1px solid #e8bf6945}.hotel-card h3{font:1.65rem/1.3 var(--serif);margin:1rem 0}.hotel-card address{font-style:normal;color:var(--muted);margin-bottom:1.8rem}.hotel-card .text-link{margin-top:auto;font-size:.9rem;gap:.6rem;align-self:flex-start}.site-header nav{flex-wrap:wrap;gap:.65rem 1.2rem}@media(max-width:900px){.hotel-grid{grid-template-columns:1fr}.hotel-card{padding:1.5rem}}

.dues-deadline{margin-top:1.5rem;padding:1.25rem;border:1px solid #88621966;background:#e8bf691c}.dues-deadline>strong{display:block;font:1.8rem var(--serif);margin:.5rem 0;color:#644713}.dues-deadline p{font-size:1rem;line-height:1.65;color:#424b44;margin:.7rem 0 0}.dues-deadline .early-prize{font-weight:600;border-top:1px solid #88621944;padding-top:.9rem}
