/* Invitation, planning and visual consistency */
:root{--paper:#fcfaf5;--soft:#edf0e7;--gold:#ac8644}button,input,select{font:inherit}button{border-radius:3px}a{transition:color .18s,background .18s,border-color .18s}h1,h2,h3{text-wrap:balance}.nav{min-height:88px}.brand{font-size:28px}.nav nav{gap:23px}.nav nav a{font-size:14px;white-space:nowrap}.brand small{font-size:11px;letter-spacing:.18em}.button{border-radius:3px;min-height:50px;justify-content:center;line-height:1.4;gap:10px}.button.secondary{background:transparent;color:var(--ink);border-color:#a2b19b}.button.secondary:hover{background:#e5ebde}.eyebrow{font-size:12px}.date-strip{font-size:11px}.text-link{font-size:15px}.invitation{text-align:center;background:var(--paper)}.invitation-inner{padding:43px 0 35px;max-width:1050px}.invitation .eyebrow{font-size:11px;letter-spacing:.16em}.invitation h1{font-size:clamp(57px,6.3vw,84px);line-height:.99;letter-spacing:-.035em;margin:21px 0 23px}.invitation h1 span,.invitation h1 em{display:block}.invitation h1 em{font-weight:400;color:#526d51;font-size:.83em;margin-top:5px}.invitation-date{display:flex;justify-content:center;gap:20px;font-size:17px;color:var(--ink)}.invitation-date span{border-left:1px solid #acb7a6;padding-left:20px}.invitation-note{font-size:16px;line-height:1.6;margin:15px auto 21px;color:#536050}.invitation-actions{display:flex;justify-content:center;gap:12px}.invitation-actions a{min-width:192px;font-size:14px;padding:12px 22px}.family-welcome{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:75px 0}.family-welcome h2{font-size:46px;margin-top:18px}.family-welcome p{font-size:17px}.gather-count{margin-top:24px;border-top:1px solid var(--line);padding-top:17px;display:flex;gap:14px;align-items:baseline}.gather-count>strong{font:43px 'Libre Caslon Display',Georgia,serif;color:var(--ink)}.gather-count>span{font-size:14px}.weekend-home{background:#edf0e7;padding:60px 0}.section-topline{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.section-topline h2{font-size:42px;margin-top:12px}.section-topline>a{white-space:nowrap}.weekend-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #c6d0bf}.weekend-trio>a{text-decoration:none;display:flex;gap:21px;padding:28px 28px 5px;border-left:1px solid #c6d0bf}.weekend-trio>a:first-child{padding-left:0;border-left:0}.weekend-trio>a:last-child{padding-right:0}.day-number{min-width:54px}.day-number span{font-size:10px;letter-spacing:.1em;font-weight:600}.day-number strong{font:59px/1.1 'Libre Caslon Display',Georgia,serif;display:block;color:var(--ink)}.weekend-trio h3{font-size:29px;margin:5px 0 12px}.weekend-trio p{font-size:15px}.event-place{font-size:12px;display:block;margin-top:18px;color:#56684e}.weekend-trio a:hover h3{text-decoration:underline;text-underline-offset:5px}.planning-pair{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:75px 0}.cost-preview h2{font-size:46px;margin:15px 0 25px}.cost-preview dl{margin:0}.cost-preview dl div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:13px 0;gap:20px}.cost-preview dt{font-size:16px}.cost-preview dt small{font-size:13px;color:#62705b;margin-left:8px}.cost-preview dd{font:31px 'Libre Caslon Display',Georgia,serif;margin:0;color:var(--ink)}.cost-preview>p{font-size:14px;margin:15px 0 22px}.stay-preview{background:#e9ede3;align-self:start;border-radius:4px;overflow:hidden}.stay-preview>img{width:100%;height:245px;object-fit:cover;display:block}.stay-preview>div{padding:27px 31px}.stay-preview h3{font-size:35px;margin:8px 0 10px}.stay-preview p{font-size:15px}.stay-price{font:36px 'Libre Caslon Display',Georgia,serif;display:block;margin:15px 0 18px;color:var(--ink)}.stay-price small{font:13px 'DM Sans',sans-serif}.archive-invitation{background:var(--ink);text-align:center;color:#f2f2e9;padding:65px 0}.archive-invitation .eyebrow{color:#d9c390}.archive-invitation h2{color:#fff9ea;font-size:48px;margin:20px 0}.archive-invitation p{max-width:550px;margin:0 auto 25px;font-size:16px;color:#d8e0d3}.archive-invitation .button{color:#fff9ea;border-color:#a3b298;font-weight:500}.archive-invitation .button:hover{background:#2a5141}.footer-top h2{font-size:36px}.footer-top{padding:42px 0}.footer-bottom{font-size:13px}.page-heading h1{font-size:58px}.page-heading .lead{font-size:17px}.page-heading{padding-top:24px}.registration-status{background:#ecefe6;border-left:3px solid var(--gold);padding:15px 20px;font-size:14px;margin-top:22px;max-width:800px}.registration-status strong{font-weight:600;color:var(--ink)}.registration-layout{grid-template-columns:1.2fr .8fr;gap:7%}.form-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 34px;border-bottom:1px solid var(--line);padding-bottom:17px}.form-progress button{border:0;background:none;display:flex;align-items:center;gap:9px;text-align:left;padding:7px 0;font-size:14px;color:#65715c;min-height:44px}.form-progress button>span{width:26px;height:26px;border:1px solid #aebaa3;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.form-progress button[aria-current]{color:var(--ink);font-weight:700}.form-progress button[aria-current]>span,.form-progress button.complete>span{background:var(--ink);color:white;border-color:var(--ink)}.form-step h2{font-size:36px;margin-bottom:10px;outline:none}.form-step>.muted{font-size:16px;margin-bottom:25px}.text-field{display:block;font-size:16px;font-weight:600;color:var(--ink);margin:20px 0 26px}.text-field>span{display:block;font-size:13px;font-weight:400;color:#64705d;margin-top:2px}.text-field input{width:100%;border:1px solid #b7c0ac;border-radius:3px;padding:12px 14px;margin-top:9px;background:#fffefa;font-size:16px;color:var(--ink)}.form-navigation{margin-top:28px;padding-top:21px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.form-navigation>span{font-size:13px;color:#65705e}.form-navigation .button{font-size:14px;padding:12px 19px}.quiet-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:14px;color:var(--ink);padding:12px 0;min-height:44px}.helper{font-size:13px;color:#626f5b;margin-top:20px}.form-error{background:#fff0e8;border-left:3px solid #8a4334;padding:14px 16px;font-size:14px;color:#793124;margin-bottom:25px}#shirt-sizes fieldset{border:0;padding:0;margin:25px 0}#shirt-sizes legend{font-weight:600;font-size:16px;color:var(--ink);margin-bottom:12px}.size-field{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:14px;margin:10px 0}.size-field select{width:175px;background:#fffefa;border:1px solid #b4bea9;padding:11px;color:var(--ink);font-size:16px;border-radius:3px;min-height:46px}.household-review{margin:23px 0}.household-review>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:13px 0;font-size:15px}.household-review strong{font-weight:600;color:var(--ink);text-align:right;max-width:60%;overflow-wrap:anywhere}.household-review>div:last-child{font-size:19px;border-top:2px solid #59714d}.review-disclaimer{background:var(--soft);padding:18px;font-size:14px}.review-disclaimer p{margin-top:6px}#household-form{scroll-margin-top:115px}#download-status{margin-top:16px;font-size:14px;color:var(--ink)}[hidden]{display:none!important}.summary h2{font-size:32px}.summary{border-radius:4px}.summary .eyebrow{font-size:11px}.registration-layout>aside{top:110px}.day-navigation{top:88px}.day-row{scroll-margin-top:180px}
@media(max-width:1100px){.nav nav{gap:13px}.nav nav a{font-size:13px}.brand{font-size:24px}.weekend-trio>a{gap:14px;padding-left:20px;padding-right:20px}.weekend-trio h3{font-size:27px}.day-number{min-width:43px}.day-number strong{font-size:50px}}
@media(max-width:820px){.nav{min-height:79px}.nav nav{top:79px}.nav nav a{font-size:16px}.brand{font-size:27px}.invitation h1{font-size:66px}.invitation-inner{padding-top:38px}.weekend-trio{grid-template-columns:1fr}.weekend-trio>a,.weekend-trio>a:first-child,.weekend-trio>a:last-child{border:0;border-bottom:1px solid #c6d0bf;padding:22px 0;gap:24px}.weekend-trio h3{font-size:31px}.day-number{min-width:70px}.planning-pair{gap:5%}.registration-layout{gap:5%}.day-navigation{top:79px}.stay-price small{display:block}.form-progress button{gap:6px;font-size:13px}}
@media(max-width:600px){.brand{font-size:26px}.brand small{font-size:9px}.invitation-inner{padding:28px 0 25px;width:calc(100% - 32px)}.invitation .eyebrow{font-size:9px;letter-spacing:.09em;max-width:300px;margin:auto;line-height:1.8}.invitation h1{font-size:40px;margin:20px 0;line-height:1.06}.invitation h1 em{font-size:1.18em;margin-top:4px}.invitation-date{font-size:14px;gap:7px;display:block}.invitation-date strong,.invitation-date span{display:block}.invitation-date span{border:0;padding:0}.invitation-note{font-size:14px;margin:14px auto 20px}.invitation-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.invitation-actions a{min-width:0;font-size:13px;padding:11px 8px;min-height:47px}.invitation-actions a:first-child{grid-column:1/-1}.family-welcome{grid-template-columns:1fr;gap:23px;padding:45px 0}.family-welcome h2{font-size:38px;margin-top:12px}.family-welcome p{font-size:16px}.gather-count{margin-top:20px}.weekend-home{padding:40px 0}.section-topline{display:block;margin-bottom:23px}.section-topline h2{font-size:36px;margin-bottom:19px}.planning-pair{grid-template-columns:1fr;gap:35px;padding:45px 0}.cost-preview h2{font-size:38px}.stay-preview>img{height:220px}.stay-preview>div{padding:24px}.stay-price small{display:inline;font-size:12px}.archive-invitation{padding:45px 0}.archive-invitation h2{font-size:38px}.archive-invitation p{font-size:15px}.footer-top h2{font-size:34px}.footer-top{padding:32px 0}.page-heading h1{font-size:43px}.page-heading .lead{font-size:16px}.registration-status{font-size:13px;padding:13px 15px;line-height:1.65}.registration-status strong{display:block}.registration-layout{grid-template-columns:1fr;gap:30px}.form-progress{margin-bottom:24px;gap:7px}.form-progress button{font-size:13px;gap:7px}.form-progress button>span{width:24px;height:24px}.form-step h2{font-size:33px}.form-step>.muted{font-size:15px}.text-field{font-size:15px}.form-navigation{gap:12px}.form-navigation .button{font-size:13px;padding:12px 17px}.form-navigation>span{font-size:12px}.household-review>div{font-size:14px}.mobile-estimate{margin-bottom:22px}.registration-layout>aside{position:static}#household-form{scroll-margin-top:170px}.summary h2{font-size:32px}.helper{font-size:13px}.day-navigation{top:79px}.day-row{scroll-margin-top:176px}.section-topline .text-link{font-size:14px}}
@media(max-width:380px){.brand{font-size:22px}.brand small{font-size:8px}.invitation h1{font-size:33px}.invitation h1 em{font-size:1.3em}.invitation .eyebrow{font-size:9px}.invitation-note{font-size:13px}.form-progress button{font-size:12px;gap:5px}.form-progress button>span{width:22px;height:22px}.form-navigation>span{display:none}.form-navigation{justify-content:flex-end}.form-navigation .quiet-button{margin-right:auto}.page-heading h1{font-size:39px}}


/* Committee feedback: registration sequence and deadline */
.registration-process{list-style:none;counter-reset:steps;display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:850px;margin:28px 0 0;padding:0}.registration-process li{counter-increment:steps;position:relative;padding-left:40px}.registration-process li:before{content:counter(steps);position:absolute;left:0;top:0;border:1px solid #aebaa3;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--ink)}.registration-process strong{display:block;font-size:15px;color:var(--ink);margin-bottom:5px}.registration-process span{display:block;font-size:14px;color:#626f5b;line-height:1.65}.payment-deadline{padding:22px 0 0}.payment-deadline span{display:block;font-size:10px;letter-spacing:.13em;font-weight:600}.payment-deadline strong{display:block;font:30px 'Libre Caslon Display',Georgia,serif;color:var(--ink);margin-top:7px}.attendee-name{font-size:14px;margin:18px 0}.attendee-name input{margin-top:6px}#attendee-names:not(:empty){border-top:1px solid var(--line);margin-top:22px;padding-top:3px}.explore-grid{grid-template-columns:1fr 1fr}
@media(max-width:600px){.registration-process{grid-template-columns:1fr;gap:19px;margin-top:24px}.registration-process span{font-size:13px}.explore-grid{grid-template-columns:1fr}}

.page-heading>.eyebrow{display:block}select:focus-visible{outline:3px solid #a57928;outline-offset:4px}

/* Photographs shared by the family */
.family-photo-lead{max-width:1150px;margin:0 auto}.family-photo-lead img{display:block;width:100%;height:auto}.family-photo-lead>a{display:block}.family-photo-lead figcaption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.family-photo-lead figcaption>span{font-size:10px;letter-spacing:.14em;font-weight:600}.family-photo-lead figcaption>a{font-size:13px;text-decoration:none}.photo-open{cursor:zoom-in}.archive-pair{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;text-align:left}.archive-invitation h2{font-size:51px}.archive-invitation p{margin-left:0}.archive-photo{display:block;height:420px}.archive-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}.family-album{padding-bottom:50px}.album-heading{border-top:1px solid var(--line);padding-top:29px;margin-bottom:26px}.album-heading h2{font-size:43px;margin:9px 0 12px}.album-heading p{font-size:16px;max-width:600px}.album-grid{columns:2;column-gap:30px}.album-grid figure{break-inside:avoid;margin:0 0 30px}.album-grid a{display:block;cursor:zoom-in}.album-grid img{width:100%;height:auto;display:block}.album-grid figcaption{font-size:13px;padding:12px 0;border-bottom:1px solid var(--line);color:#5b6b56}.photo-dialog{border:0;padding:54px 14px 14px;background:#122b24;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);width:max-content;overflow:hidden;border-radius:3px}.photo-dialog::backdrop{background:#071c16e8}.photo-dialog img{display:block;max-width:calc(100vw - 60px);max-height:calc(100dvh - 110px);width:auto;height:auto;object-fit:contain}.photo-close{position:absolute;right:14px;top:8px;background:transparent;color:#fffdf1;border:1px solid #8fa595;font-size:13px;min-height:36px;padding:5px 13px}.photo-is-open{overflow:hidden}.copy-plan{margin-top:22px}.copy-plan summary{font-size:14px}.copy-plan textarea{display:block;width:100%;min-height:250px;margin-top:15px;padding:14px;border:1px solid #aebaa3;background:#fffefa;color:var(--ink);font:13px/1.6 'DM Sans',sans-serif;resize:vertical}
@media(max-width:600px){.family-photo-lead{width:calc(100% - 32px)}.family-photo-lead figcaption{gap:10px;font-size:11px;align-items:start}.family-photo-lead figcaption>span{font-size:9px}.family-photo-lead figcaption>a{font-size:11px}.archive-pair{grid-template-columns:1fr;gap:28px}.archive-invitation h2{font-size:39px}.archive-photo{height:370px}.album-grid{columns:1}.album-grid figure{margin-bottom:23px}.album-heading h2{font-size:36px}.album-heading p{font-size:15px}.photo-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:54px 8px 8px}.photo-dialog img{max-width:calc(100vw - 32px);max-height:calc(100dvh - 90px)}}

#album-title{scroll-margin-top:105px}
