:root{--paper:#f7f5f0;--white:#fffdfa;--ink:#292923;--muted:#66675e;--quiet:#838277;--line:#d8d2c7;--stone:#ece8df;--rust:#955e51;--green:#536150;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}em{font-weight:400}
.announcement{min-height:33px;display:flex;justify-content:center;align-items:center;gap:13px;padding:7px 18px;background:#e9e5dc;border-bottom:1px solid var(--line);color:#62635a;font-size:9px;font-weight:600;letter-spacing:.19em;text-align:center}.announcement span{color:var(--rust);font-size:13px;line-height:0}
.site-header{height:88px;display:flex;align-items:center;gap:38px;border-bottom:1px solid var(--line)}.wordmark{font:500 27px/1 var(--serif);letter-spacing:.03em;white-space:nowrap}.wordmark i{color:var(--rust);font-style:italic;font-size:32px;margin:0 2px}.site-header nav{display:flex;align-items:center;gap:37px;margin-left:auto}.site-header nav a{color:#5f6058;font-size:12px;font-weight:500;transition:color .2s}.site-header nav a:hover,.site-header nav a.active{color:var(--rust)}.site-header nav a.active{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}.text-button{border:0;background:none;color:var(--quiet);font-size:11px}.signout{border-left:1px solid var(--line);padding:6px 0 6px 26px}
.section-kicker,.eyebrow,.timeline-heading,.pill,.time,.day-meta b,.detail-num,.stay-label,.art-caption,.rsvp-deadline,.schedule-note,.rsvp-footnote,.login-bottom,.login-help{font-size:10px;font-weight:600;letter-spacing:.15em}.section-kicker,.detail-num{color:var(--rust)}
.hero{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:68px;align-items:center;padding-top:73px;padding-bottom:104px}.hero-copy{max-width:530px}.eyebrow{display:flex;align-items:center;gap:16px;color:var(--green);white-space:nowrap}.eyebrow .line{width:32px;height:1px;background:#aaa99e}.hero h1{font:400 clamp(100px,10vw,146px)/.8 var(--serif);letter-spacing:-.065em;margin:48px 0 34px}.hero h1 em{color:var(--rust);font-style:italic}.hero-intro{max-width:425px;margin:0;color:#56584e;font-size:17px;line-height:1.68}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:33px;border:1px solid transparent;padding:0 21px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:var(--green)}.button-light{background:var(--white);color:var(--ink)}.underlink{display:inline-flex;gap:15px;align-items:center;border-bottom:1px solid var(--rust);padding-bottom:6px;color:var(--ink);font-size:12px;font-weight:600}.hero-art{position:relative;height:535px;background:#c6c2ae}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:54% center}.art-caption{position:absolute;right:0;bottom:-27px;color:var(--quiet);font-size:9px;white-space:nowrap}
.intro-section{display:grid;grid-template-columns:190px 1fr;gap:55px;border-top:1px solid var(--line);padding:98px 0 78px}.intro-section .section-kicker{padding-top:11px}.intro-section h2,.travel-details-heading h2,.rsvp-banner h2{font:400 clamp(59px,6.5vw,90px)/.93 var(--serif);letter-spacing:-.045em;margin:0}.intro-section h2 em,.travel-details-heading h2 em{color:var(--rust);font-style:italic}.intro-section p{max-width:675px;margin:23px 0 0;color:var(--muted);font-size:15px;line-height:1.8}
.timeline-section{padding-bottom:112px}.timeline-heading{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);padding:15px 0 12px;color:var(--quiet)}.timeline-heading span:first-child{color:var(--ink)}.timeline{border-bottom:1px solid var(--line)}.day-card{display:grid;grid-template-columns:116px minmax(0,1fr);gap:34px;border-top:1px solid var(--line);padding:33px 31px 35px 0}.day-card.featured{background:#ede9e1;border:1px solid #ded8cd;margin:12px 0;padding-left:22px}.day-index{display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line);color:var(--rust)}.day-index span,.day-index small{font-size:10px;font-weight:600;letter-spacing:.16em}.day-index strong{font:400 72px/.85 var(--serif);letter-spacing:-.055em;margin:12px 0 7px}.day-top{display:flex;justify-content:space-between;gap:15px;align-items:center}.pill{border:1px solid #bcb9ae;padding:6px 9px;color:var(--green);font-size:9px;white-space:nowrap}.pill-filled{background:var(--green);border-color:var(--green);color:var(--white)}.time{color:var(--quiet);font-size:9px;text-align:right}.day-body h3{font:500 clamp(33px,3.6vw,45px)/1 var(--serif);letter-spacing:-.018em;margin:17px 0 10px}.day-body>p{max-width:710px;margin:0;color:var(--muted);font-size:13px;line-height:1.72}.day-events{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}.day-events li{display:grid;grid-template-columns:180px minmax(0,1fr);gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.day-events time{color:var(--rust);font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}.day-events li>span{font-size:13px;font-weight:600;line-height:1.5}.day-events small{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.55;margin-top:3px}.day-body>.arrival-note{max-width:700px;border-left:2px solid var(--green);background:#eae8df;margin:20px 0 0;padding:12px 16px;color:#56584e;font-size:12px}.day-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:21px;color:#626158}.day-meta span{display:inline-flex;gap:8px;align-items:baseline;font-size:11px;line-height:1.5}.day-meta b{color:var(--rust);font-size:9px}.day-meta i{color:var(--quiet);font-size:10px}.location-link{display:inline-block;border-bottom:1px solid var(--rust);margin-top:17px;padding-bottom:4px;color:var(--rust);font-size:11px;font-weight:600}.schedule-note{margin:18px 0 0;color:var(--quiet);font-size:10px;font-weight:400;letter-spacing:.025em;line-height:1.6}
.travel-details{background:var(--stone);margin-top:82px;padding:60px 64px 63px;scroll-margin-top:20px}.travel-details-heading{display:grid;grid-template-columns:170px 1fr 190px;gap:25px;align-items:end;border-bottom:1px solid #cbc5b9;padding-bottom:30px}.travel-details-heading .section-kicker{align-self:start;padding-top:9px}.travel-details-heading h2{font-size:clamp(55px,5.5vw,75px)}.travel-details-heading p{margin:0 0 5px;color:var(--muted);font-size:12px;line-height:1.6}.travel-detail-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:46px}.travel-detail-grid>article{border-bottom:1px solid #cbc5b9;padding:31px 0 32px}.travel-detail-grid>article:first-child,.travel-detail-grid>.stay-card{grid-column:1/-1}.travel-detail-grid>article:first-child p{max-width:920px}.travel-detail-grid h3{font:500 37px/1 var(--serif);margin:13px 0 12px}.travel-detail-grid p{max-width:450px;margin:0;color:var(--muted);font-size:13px;line-height:1.72}.stay-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.stay-option{min-width:0;padding:27px 29px 29px;border:1px solid #d8d0c3;background:var(--white)}.stay-option-farm{border-top:3px solid var(--rust)}.stay-option-philly{border-top:3px solid var(--green);background:#f0f2ed}.stay-label{color:var(--rust);font-size:9px}.stay-option-philly .stay-label{color:var(--green)}.stay-option h4{font:500 32px/1.05 var(--serif);margin:12px 0 17px}.travel-detail-grid .stay-option p{max-width:none}.stay-option p+p{margin-top:17px}.lodging-rates{list-style:none;border-top:1px solid var(--line);margin:18px 0;padding:0}.lodging-rates li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding:11px 0}.lodging-rates strong{color:var(--rust);font:500 23px/1 var(--serif);white-space:nowrap}.lodging-rates span{color:#5d5e56;font-size:11px;line-height:1.5;text-align:right}.travel-detail-grid p.lodging-included{color:#4d604d;font-weight:600}.travel-detail-grid p.booking-note{border-left:2px solid var(--green);margin-top:20px;padding-left:13px}
.rsvp-banner{min-height:370px;display:flex;justify-content:center;align-items:center;background:#485549;margin-top:88px;margin-bottom:91px;padding:55px 30px;color:var(--white);text-align:center}.rsvp-banner .section-kicker{color:#d5c8b0}.rsvp-banner h2{margin-top:18px;color:var(--white)}.rsvp-banner h2 em{color:#e2c9b9;font-style:italic}.rsvp-banner p{color:#e0e6dc;font-size:13px;margin:18px 0 27px}.site-footer{min-height:107px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}.site-footer>span{color:var(--quiet);font-size:10px;font-weight:600;letter-spacing:.1em}
.login-body{min-height:100vh}.login-layout{min-height:calc(100vh - 33px);display:grid;grid-template-columns:47% 53%}.login-art{background:#414d43;padding:24px}.login-art-inner{height:100%;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d3d9cb7a;background:radial-gradient(circle at 50% 42%,#7d8879 0,transparent 55%),linear-gradient(145deg,#637261,#344039);color:var(--white)}.login-art-overline{color:#d7dfd0;font-size:10px;font-weight:600;letter-spacing:.25em}.login-art-text{font:400 clamp(72px,8vw,125px)/.82 var(--serif);letter-spacing:-.05em;text-align:center;margin-top:32px}.login-art-text i{color:#e5cdbc;font-style:italic}.login-art-small{color:#d7dfd0;font-size:10px;font-weight:600;letter-spacing:.2em;margin-top:45px}.login-content{display:flex;flex-direction:column;padding:48px 9% 30px}.login-panel{width:min(440px,100%);margin:auto}.login-panel h1,.rsvp-intro h1{font:400 clamp(78px,8vw,115px)/.85 var(--serif);letter-spacing:-.055em;margin:24px 0 27px}.login-panel h1 em,.rsvp-intro h1 em{color:var(--rust);font-style:italic}.login-panel>p,.rsvp-intro>p{max-width:420px;color:var(--muted);font-size:15px;line-height:1.75}.login-panel form{margin-top:42px}.login-panel label{display:block;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.15em;margin-bottom:11px}.password-row{display:flex;border:1px solid #c9c4b8;background:var(--white)}.password-row:focus-within{outline:1px solid var(--green)}.password-row input{min-width:0;flex:1;height:55px;border:0;outline:0;background:transparent;padding:0 16px;font-size:14px}.password-row button{border:0;background:none;color:var(--rust);padding:0 16px;font-size:11px}.login-submit{width:100%;margin-top:15px}.login-submit:disabled{opacity:.55;cursor:wait}.login-help{color:var(--quiet);font-size:11px;font-weight:400;letter-spacing:0;margin-top:28px}.login-bottom{color:var(--quiet);font-size:9px}.login-bottom span{color:var(--rust);padding:0 8px}.form-error{color:#9e3e35;font-size:12px;margin:9px 0 0}
.rsvp-main{padding-top:93px;padding-bottom:90px}.rsvp-intro{text-align:center}.rsvp-intro h1{margin:25px 0 16px}.rsvp-intro>p{margin:0 auto}.rsvp-deadline{color:var(--muted);margin-top:25px}.rsvp-deadline strong{color:var(--rust);font-weight:600;margin-left:8px}.rsvp-form-shell{max-width:850px;min-height:500px;border:1px solid var(--line);background:var(--white);margin:65px auto 0}.rsvp-placeholder{min-height:500px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:42px;text-align:center}.rsvp-placeholder h2,.form-heading h2{font:400 clamp(52px,6vw,80px)/.94 var(--serif);letter-spacing:-.04em;margin:22px 0 12px}.rsvp-placeholder h2 em,.form-heading h2 em{color:var(--rust);font-style:italic}.rsvp-placeholder p{max-width:350px;color:var(--muted);font-size:13px;line-height:1.75}.form-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid var(--line);padding:25px 32px}.form-heading h2{font-size:56px;margin:8px 0 0}.form-heading .underlink{white-space:nowrap}.rsvp-form-shell iframe{display:block;width:100%;height:1175px;border:0}.form-link-note{color:var(--muted);text-align:center;padding:70px 20px}.rsvp-footnote{max-width:850px;display:flex;justify-content:space-between;gap:20px;color:var(--quiet);margin:22px auto 0;font-size:10px}.rsvp-footnote a{color:var(--rust)}
@media(max-width:980px){.wrap{width:min(100% - 56px,1240px)}.hero{gap:36px}.hero h1{font-size:clamp(83px,10vw,115px)}.hero-art{height:465px}.intro-section{grid-template-columns:140px 1fr;gap:30px}.travel-details{padding:45px}.travel-details-heading{grid-template-columns:1fr 2fr}.travel-details-heading p{grid-column:2;max-width:320px}}
@media(max-width:700px){.wrap{width:min(100% - 36px,540px)}.announcement{min-height:29px;font-size:8px;letter-spacing:.1em;gap:8px}.site-header{height:84px;flex-wrap:wrap;gap:0;align-content:center}.wordmark{font-size:23px}.wordmark i{font-size:27px}.site-header nav{order:3;width:100%;justify-content:space-between;margin:9px 0 0;gap:10px}.site-header nav a{font-size:11px}.signout{margin-left:auto;padding-left:10px;border:0;font-size:10px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:42px;padding-top:59px;padding-bottom:77px}.eyebrow{font-size:9px;gap:11px}.eyebrow .line{width:20px}.hero h1{font-size:clamp(72px,17vw,105px);margin:39px 0 26px}.hero-intro{font-size:15px}.hero-actions{gap:22px;margin-top:30px}.hero-art{width:100%;height:auto;aspect-ratio:1.28}.art-caption{font-size:8px;bottom:-22px}.intro-section{display:block;padding:72px 0 58px}.intro-section h2{font-size:60px;margin-top:20px}.intro-section p{font-size:14px}.timeline-heading{font-size:9px}.day-card,.day-card.featured{grid-template-columns:61px minmax(0,1fr);gap:14px;padding:23px 10px 25px 0}.day-card.featured{padding-left:10px}.day-index strong{font-size:52px;margin-top:9px}.day-index span,.day-index small{font-size:9px}.day-top{flex-direction:column;align-items:flex-start;gap:8px}.pill,.time{font-size:8px;text-align:left}.day-body h3{font-size:31px;margin-top:14px}.day-body>p{font-size:12px}.day-events li{grid-template-columns:1fr;gap:2px;padding:10px 0}.day-events time{font-size:10px}.day-events li>span{font-size:12px}.day-events small{font-size:10px}.day-meta{display:block;margin-top:16px}.day-meta span{display:flex;flex-wrap:wrap;margin-top:7px;font-size:10px}.day-body>.arrival-note{font-size:11px;padding:10px 12px}.timeline-section{padding-bottom:77px}.travel-details{margin-top:58px;padding:31px 23px 38px}.travel-details-heading{display:block;padding-bottom:22px}.travel-details-heading h2{font-size:52px;margin-top:14px}.travel-details-heading p{margin-top:12px}.travel-detail-grid{display:block}.travel-detail-grid>article{padding:25px 0 27px}.travel-detail-grid h3{font-size:32px}.travel-detail-grid p{font-size:12px}.stay-options{display:block}.stay-option{padding:21px 18px 23px}.stay-option+.stay-option{margin-top:14px}.stay-option h4{font-size:29px}.lodging-rates li{align-items:center}.lodging-rates strong{font-size:20px}.lodging-rates span{font-size:10px}.rsvp-banner{min-height:345px;margin-top:55px;margin-bottom:55px}.rsvp-banner h2{font-size:59px}.site-footer{min-height:0;display:grid;gap:12px;padding:28px 0}.site-footer>span{font-size:9px}.login-layout{display:flex;flex-direction:column}.login-art{order:2;height:230px;padding:12px}.login-art-inner{min-height:0}.login-art-text{font-size:56px;margin-top:12px}.login-art-small{margin-top:17px;font-size:8px}.login-content{order:1;min-height:calc(100vh - 263px);padding:24px 24px 35px}.login-panel{padding:42px 0}.login-panel h1{font-size:80px}.login-panel>p{font-size:13px}.login-panel form{margin-top:30px}.login-bottom{text-align:center;font-size:8px}.rsvp-main{padding-top:63px;padding-bottom:60px}.rsvp-intro h1{font-size:77px}.rsvp-intro>p{font-size:13px}.rsvp-form-shell{min-height:435px;margin-top:43px}.rsvp-placeholder{min-height:435px}.rsvp-placeholder h2{font-size:56px}.form-heading{display:block;padding:23px}.form-heading h2{font-size:49px}.form-heading .underlink{margin-top:18px}.rsvp-form-shell iframe{height:1350px}.rsvp-footnote{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.packing-note{margin-top:20px;padding:18px 19px;background:#faf7f1;border-left:3px solid var(--rust)}.packing-note>span{display:block;color:var(--rust);font-size:9px;font-weight:700;letter-spacing:.13em;margin-bottom:8px}.travel-detail-grid .packing-note p{max-width:none;color:#4f514b;font-size:12px;line-height:1.6}.packing-note strong{color:var(--ink)}
.contact-list{border-top:1px solid #cbc5b9;margin:19px 0}.contact-list a{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #cbc5b9;padding:12px 0;font-size:12px}.contact-list a strong{font-weight:600}.contact-list a span{color:var(--rust);font-weight:600}.contact-list a:hover span{text-decoration:underline;text-underline-offset:3px}.travel-detail-grid p.transport-contact{color:#4e5d4e;font-weight:500}
.gurdwara-guide{margin-top:62px;padding:54px 59px 59px;background:#e9eee8;scroll-margin-top:24px}.gurdwara-guide-head{display:grid;grid-template-columns:190px 1fr;gap:35px;border-bottom:1px solid #cbd3c8;padding-bottom:30px}.gurdwara-guide-head .section-kicker{padding-top:10px;color:var(--green)}.gurdwara-guide h2{font:400 clamp(53px,5.8vw,76px)/.93 var(--serif);letter-spacing:-.04em;margin:0}.gurdwara-guide h2 em{color:var(--rust);font-style:italic}.gurdwara-guide-head p{max-width:630px;margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.gurdwara-rules{display:grid;grid-template-columns:1fr 1fr;column-gap:42px}.gurdwara-rules>div{display:grid;grid-template-columns:27px 1fr;column-gap:11px;border-bottom:1px solid #cbd3c8;padding:24px 0 25px}.gurdwara-rules>div>span{grid-row:1/3;color:var(--rust);font-size:10px;font-weight:700;letter-spacing:.12em;padding-top:7px}.gurdwara-rules h3{font:500 29px/1 var(--serif);margin:0 0 8px}.gurdwara-rules p{grid-column:2;margin:0;color:#5e655d;font-size:12px;line-height:1.7}
@media(max-width:700px){.gurdwara-guide{margin-top:42px;padding:31px 22px 35px}.gurdwara-guide-head{display:block;padding-bottom:23px}.gurdwara-guide h2{font-size:48px;margin-top:15px}.gurdwara-guide-head p{font-size:12px}.gurdwara-rules{display:block}.gurdwara-rules>div{padding:20px 0}.gurdwara-rules h3{font-size:27px}.gurdwara-rules p{font-size:11px}}
.day-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:17px}.day-links .location-link{margin-top:0}.etiquette-trigger{border:0;border-bottom:1px solid var(--rust);background:none;color:var(--rust);padding:0 0 4px;font-size:11px;font-weight:600}.etiquette-trigger:hover{text-decoration:underline;text-underline-offset:3px}.etiquette-dialog{width:min(900px,calc(100% - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #b7c2b5;background:#e9eee8;color:var(--ink);box-shadow:0 20px 70px #151c1780;overflow:auto}.etiquette-dialog::backdrop{background:rgba(19,28,22,.65)}.etiquette-dialog .gurdwara-guide{margin:0;padding:64px 50px 45px}.etiquette-dialog .gurdwara-address{margin-top:10px;color:var(--green);font-weight:700}.dialog-close{position:sticky;top:0;z-index:2;height:0;margin:0;text-align:right}.dialog-close button{margin:15px 16px 0 0;border:1px solid #b8c5b8;background:var(--white);padding:8px 12px;color:var(--ink);font-size:11px;font-weight:600}.dialog-close button span{font-size:16px;line-height:0;padding-left:8px}
@media(max-width:700px){.etiquette-dialog .gurdwara-guide{padding:65px 20px 27px}.day-links{gap:16px}}

/* Invitation RSVP and private dashboard */
.rsvp-lookup,.rsvp-roster{padding:44px 52px}.rsvp-lookup h2,.rsvp-roster h2,.admin-heading h1,.admin-login h2{font:400 clamp(48px,6vw,78px)/.95 var(--serif);letter-spacing:-.04em;margin:14px 0}.rsvp-lookup p,.rsvp-helper,.admin-heading p{color:var(--muted);font-size:13px;line-height:1.7}.rsvp-lookup form{display:flex;gap:10px;margin-top:28px}.rsvp-lookup input,.rsvp-name,.admin-login input,.admin-controls input,.admin-controls select,.admin-edit input,.admin-edit select{min-height:48px;border:1px solid #c9c4b8;border-radius:0;background:var(--white);color:var(--ink);padding:10px 13px;font:inherit;font-size:13px}.rsvp-lookup input{flex:1;min-width:0}.rsvp-person{border-top:1px solid var(--line);padding:25px 0}.rsvp-person-number{display:block;color:var(--rust);font-size:9px;font-weight:700;letter-spacing:.17em;margin-bottom:16px}.rsvp-name-label{display:block;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.rsvp-name{display:block;width:min(100%,430px);margin-top:8px;font-size:15px}.rsvp-events{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:23px}.rsvp-event{min-width:0;border:0;padding:0;margin:0}.rsvp-event legend{color:var(--ink);font-size:12px;font-weight:600;padding:0;margin-bottom:10px}.rsvp-choices{display:flex;gap:7px}.rsvp-choice{flex:1;cursor:pointer}.rsvp-choice input{position:absolute;opacity:0}.rsvp-choice span{display:block;border:1px solid #c9c4b8;padding:12px;text-align:center;font-size:12px}.rsvp-choice input:checked+span{background:var(--green);border-color:var(--green);color:var(--white)}.rsvp-choice input:focus-visible+span{outline:2px solid var(--rust);outline-offset:2px}.rsvp-status{min-height:20px;color:var(--green);font-size:12px}.rsvp-submit{margin-top:8px}.rsvp-submit:disabled,.admin-edit button:disabled{opacity:.55}.admin-main{padding:82px 0 100px}.admin-heading h1 em{color:var(--rust)}.admin-heading p{max-width:600px}.admin-login{max-width:540px;border:1px solid var(--line);background:var(--white);padding:40px;margin-top:45px}.admin-login label{display:block;margin:25px 0 10px;font-size:12px}.admin-login input{display:block;width:100%;margin-top:8px}.admin-login .button{margin-top:10px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}.admin-stat{background:var(--stone);padding:22px}.admin-stat strong{display:block;font:500 44px/1 var(--serif)}.admin-stat span{display:block;margin-top:12px;color:var(--quiet);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-controls{display:flex;gap:10px;margin:35px 0 20px}.admin-controls input{flex:1;min-width:0}.admin-controls .button{white-space:nowrap}.admin-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-invite{min-width:0;background:var(--white);border:1px solid var(--line);padding:23px}.admin-invite-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-invite h3,.admin-edit h3{font:500 27px/1 var(--serif);margin:0}.admin-invite-head p{font-size:11px;color:var(--muted);margin:8px 0 0}.admin-invite .underlink{background:none;white-space:nowrap;font-size:10px;padding:0 0 5px}.admin-people{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:19px 0 15px;padding:9px 0}.admin-person{display:flex;justify-content:space-between;gap:15px;padding:5px 0;font-size:11px}.admin-person strong{font-weight:600}.admin-person span{color:var(--quiet);text-align:right;text-transform:capitalize}.admin-invite-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--quiet);font-size:10px}.admin-invite-foot button{color:var(--rust);white-space:nowrap}.admin-edit{border-top:1px solid var(--line);margin-top:17px;padding-top:18px}.admin-edit-line{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:12px}.admin-edit-line input{width:100%}.admin-edit-line label{font-size:9px;color:var(--muted)}.admin-edit-line select{display:block;width:100%;margin-top:5px}.admin-edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px}.admin-empty{color:var(--muted);font-size:13px}
@media(max-width:800px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-list{grid-template-columns:1fr}}@media(max-width:700px){.rsvp-lookup,.rsvp-roster{padding:31px 22px}.rsvp-lookup form{display:block}.rsvp-lookup input,.rsvp-lookup button{width:100%}.rsvp-lookup button{margin-top:9px}.rsvp-events{grid-template-columns:1fr;gap:20px}.admin-main{padding:58px 0 75px}.admin-stats{gap:8px}.admin-stat{padding:15px}.admin-stat strong{font-size:33px}.admin-stat span{font-size:8px}.admin-controls{flex-wrap:wrap}.admin-controls input{flex-basis:100%}.admin-controls select,.admin-controls a{flex:1}.admin-invite-head{display:block}.admin-invite .underlink{margin-top:13px}.admin-edit-line{grid-template-columns:1fr 1fr}.admin-edit-line input{grid-column:1/-1}}
.rsvp-search-status{min-height:19px;margin:20px 0 10px;color:var(--green);font-size:12px}.rsvp-search-results{display:grid;gap:8px}.rsvp-search-result{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--line);padding:18px 20px;background:var(--paper);transition:border-color .2s,background .2s}.rsvp-search-result:hover,.rsvp-search-result:focus-visible{border-color:var(--rust);background:#f7f1e9}.rsvp-search-result strong{font:500 25px/1 var(--serif)}.rsvp-search-result span{max-width:55%;color:var(--muted);font-size:11px;line-height:1.5;text-align:right}@media(max-width:700px){.rsvp-search-result{display:block}.rsvp-search-result span{display:block;max-width:none;margin-top:7px;text-align:left}}
.admin-sheet-status{margin:18px 0 0;color:var(--green);font-size:11px}
.rsvp-dietary-label{display:block;margin-top:22px;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.rsvp-dietary{display:block;width:100%;min-height:70px;margin-top:8px;border:1px solid #c9c4b8;border-radius:0;background:var(--white);color:var(--ink);padding:12px 13px;font:13px/1.5 var(--sans);resize:vertical;letter-spacing:0;text-transform:none}.admin-dietary-note{margin:0 0 9px;color:var(--muted);font-size:11px}.admin-edit-line .admin-edit-dietary{grid-column:1/-1}.admin-edit-dietary input{display:block;width:100%;margin-top:5px}
.login-art-inner{position:relative;display:block;overflow:hidden;background:#414d43}
.login-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}
@media(max-width:700px){.login-art{order:1;height:300px}.login-content{order:2;min-height:0}.login-photo{object-position:60% 55%}}
.login-art{padding:0}
.login-art-inner{border:0}
.admin-overview-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:43px}.admin-overview-head h2{font:400 clamp(37px,4.2vw,55px)/1 var(--serif);letter-spacing:-.035em;margin:13px 0 10px}.admin-overview-head p,.admin-replies-head p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.admin-refresh{color:var(--rust);white-space:nowrap;padding:8px 0}.admin-refresh:disabled{opacity:.5}.admin-overview-head+.admin-stats{margin-top:25px}.admin-reply-progress{font-size:12px;color:var(--green);margin:15px 0 0}.admin-replies-head{border-top:1px solid var(--line);padding-top:35px;margin-top:38px}.admin-replies-head>div{font:400 42px/1 var(--serif);letter-spacing:-.035em}.admin-replies-head p{margin-top:9px}.admin-result-count{color:var(--quiet);font-size:11px;margin:-7px 0 16px}.admin-sheet-status{margin-top:15px}.admin-replies-head+.admin-sheet-status+.admin-controls{margin-top:22px}.admin-people .admin-person span{text-transform:none}
@media(max-width:700px){.admin-overview-head{display:block}.admin-overview-head h2{font-size:40px}.admin-refresh{margin-top:13px}.admin-replies-head>div{font-size:38px}.admin-reply-progress{line-height:1.5}}
.admin-phone-notice{background:#f4eae2;border-left:3px solid var(--rust);color:var(--ink);font-size:12px;line-height:1.6;padding:13px 17px;margin:20px 0 0}.admin-edit-phone{display:block;margin-top:20px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-edit-phone input{display:block;width:100%;margin-top:8px;letter-spacing:0;text-transform:none;font-weight:400}

.admin-messages{border-top:1px solid var(--line);margin-top:42px;padding-top:38px}.admin-messages-head h2{font:400 clamp(38px,4vw,52px)/1 var(--serif);letter-spacing:-.035em;margin:11px 0}.admin-messages-head p{color:var(--muted);font-size:12px;line-height:1.6;max-width:590px}.message-compose{background:var(--stone);padding:25px;margin-top:22px}.message-compose>label{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:18px}.message-compose textarea,.message-compose select{display:block;width:100%;border:1px solid #c9c4b8;border-radius:0;background:var(--white);color:var(--ink);padding:12px;font:13px/1.5 var(--sans);margin-top:8px;letter-spacing:0;text-transform:none}.message-compose textarea{resize:vertical;min-height:105px}.message-count{font-size:12px;color:var(--green);margin:3px 0 10px}.message-choose{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:280px;overflow:auto;margin-bottom:17px}.message-choice{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);padding:10px;font-size:12px;min-width:0}.message-choice input{accent-color:var(--green);flex:none}.message-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-choice small{margin-left:auto;color:var(--quiet);white-space:nowrap}.message-compose .button{margin-top:8px}.message-compose .button:disabled{opacity:.5}.message-history{margin-top:35px}.message-history h3{font:400 32px/1 var(--serif);margin:0 0 17px}.message-batch{border:1px solid var(--line);background:var(--white);margin-top:10px}.message-batch summary{display:flex;justify-content:space-between;gap:12px;padding:17px 20px;cursor:pointer;font-size:12px}.message-batch summary span{color:var(--quiet)}.message-body{white-space:pre-wrap;margin:0 20px 17px;padding:15px;background:var(--stone);font-size:13px;line-height:1.6}.message-recipient{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:14px 20px}.message-recipient strong,.message-recipient span{display:block}.message-recipient strong{font-size:13px}.message-recipient span{color:var(--quiet);font-size:11px;margin-top:4px}.message-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:13px}.message-actions .text-button{color:var(--rust);font-size:11px;white-space:nowrap}.message-actions button:disabled{opacity:.5}
@media(max-width:700px){.message-compose{padding:18px}.message-choose{grid-template-columns:1fr}.message-batch summary,.message-recipient{display:block}.message-batch summary span{display:block;margin-top:5px}.message-actions{justify-content:flex-start;margin-top:12px}}
.message-selection-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:3px 0 10px}.message-selection-bar .message-count{margin:0 auto 0 0}.message-selection-bar .text-button{color:var(--rust);font-size:11px;white-space:nowrap}
.message-choose{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.message-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px}.message-choice input{margin-top:3px}.message-choice .message-choice-details{display:block;min-width:0;white-space:normal;overflow:visible}.message-choice-details strong,.message-choice-details span,.message-choice-details small{display:block;white-space:normal;overflow:visible;text-overflow:clip}.message-choice-details strong{font-size:14px;font-weight:600;color:var(--ink)}.message-choice-details .message-choice-names{margin-top:5px;color:var(--quiet);font-size:11px;line-height:1.5}.message-choice-details small{margin:7px 0 0;font-size:10px}.message-batch-head{display:flex;justify-content:space-between;gap:12px;padding:17px 20px;font-size:12px}.message-batch-head span{color:var(--quiet)}.message-recipient .message-recipient-names{color:var(--ink);line-height:1.5}
@media(max-width:700px){.message-choose{grid-template-columns:1fr}.message-batch-head{display:block}.message-batch-head span{display:block;margin-top:5px}}
.admin-edit-invite{display:block;margin-top:19px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-edit-invite input{display:block;width:100%;margin-top:8px;letter-spacing:0;text-transform:none;font-weight:400}.admin-edit-name-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(95px,1fr) minmax(0,3fr);gap:8px}.admin-edit-name-row label{min-width:0}.admin-edit-name-row input{display:block;width:100%;margin-top:5px}.admin-edit-line .admin-edit-name-row input{grid-column:auto}

/* Dress guidance lives with each day's events. */
.attire-brief{display:flex;gap:20px;align-items:baseline;border-top:1px solid var(--line);margin-top:19px;padding-top:15px}.attire-kicker{flex:none;color:var(--rust);font-size:9px;font-weight:700;letter-spacing:.14em}.attire-brief p{margin:0;color:var(--ink);font-size:12px;line-height:1.65}.attire-brief strong{font-weight:600}.attire-brief i{color:var(--quiet);font-style:normal;margin:0 7px}.attire-guide{border:1px solid var(--line);border-left:3px solid var(--green);background:var(--white);margin-top:18px;padding:19px 22px}.attire-guide-evening{border-left-color:var(--rust);margin-top:10px}.attire-guide-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px}.attire-guide-head strong{font:500 25px/1.1 var(--serif)}.attire-guide-head span{color:var(--rust);font-size:10px;font-weight:600;white-space:nowrap}.attire-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.attire-columns p{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.attire-columns b{display:block;color:var(--green);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.attire-note{background:#f3eee7;color:var(--ink);font-size:11px;line-height:1.65;margin:16px 0 0;padding:11px 13px}.attire-note strong{color:var(--rust)}
@media(max-width:700px){.attire-brief{display:block}.attire-brief p{margin-top:7px}.attire-guide{padding:16px}.attire-guide-head{display:block}.attire-guide-head span{display:block;margin-top:6px}.attire-columns{grid-template-columns:1fr;gap:0}}
.packing-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;list-style:none;margin:17px 0 0;padding:0}.packing-list li{position:relative;padding-left:16px;color:var(--ink);font-size:12px;line-height:1.55}.packing-list li:before{content:'•';position:absolute;left:0;color:var(--rust)}
@media(max-width:700px){.packing-list{grid-template-columns:1fr}}

/* Our story follows this site's editorial typography and warm neutral palette. */
.about-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:9%;padding-top:75px;padding-bottom:105px}.about-hero-copy{padding:25px 0 45px}.about-hero h1{font:400 clamp(98px,10vw,150px)/.79 var(--serif);letter-spacing:-.065em;margin:45px 0 34px}.about-hero h1 em,.about-middle h2 em,.about-next h2 em{color:var(--rust);font-style:italic}.about-hero-copy>p{max-width:390px;color:var(--muted);font-size:18px;line-height:1.6;margin:0}.about-hero-rule{display:block;width:65px;height:1px;background:var(--rust);margin:39px 0 17px}.about-hero-date{color:var(--green);font-size:10px;font-weight:700;letter-spacing:.16em}.about-photo{min-width:0;margin:0}.about-photo img{display:block;width:100%;height:100%;object-fit:cover}.about-photo figcaption{color:var(--quiet);font-size:9px;font-weight:600;letter-spacing:.14em;margin-top:12px;text-align:right}.about-portrait{width:100%;height:min(640px,57vw)}.about-portrait img{object-position:center 36%}.about-letter{display:grid;grid-template-columns:1fr 2fr;gap:8%;border-top:1px solid var(--line);padding:83px 0 94px}.about-letter .section-kicker{padding-top:12px}.about-prose{max-width:710px}.about-prose p,.about-middle-copy>p,.about-ending-copy>p{color:var(--muted);font-size:15px;line-height:1.86;margin:0 0 19px}.about-prose .about-salutation{color:var(--ink);font:500 43px/1.1 var(--serif);margin-bottom:27px}.about-middle{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:10%;align-items:center;background:var(--stone);padding:70px 7%;width:min(1240px,calc(100% - 80px))}.about-adventure{height:620px}.about-adventure img{object-position:center 45%}.about-middle-copy{padding:25px 0}.about-middle h2{font:400 clamp(55px,5.8vw,81px)/.92 var(--serif);letter-spacing:-.045em;margin:28px 0 25px}.about-middle-copy .about-aside{color:var(--green);font:500 25px/1.25 var(--serif);margin-bottom:27px}.about-ending{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:12%;align-items:center;padding-top:115px;padding-bottom:115px}.about-ending-copy{max-width:520px}.about-ending-copy .section-kicker{display:block;margin-bottom:32px}.about-ending-copy>p{font-size:17px}.about-ending-copy .about-signoff{color:var(--ink);font:500 25px/1.4 var(--serif);margin:43px 0 0}.about-signoff span{display:inline-block;color:var(--rust);font:italic 44px/1 var(--serif);margin-top:13px}.about-families{height:610px}.about-families img{object-position:center 37%}.about-next{border-top:1px solid var(--line);text-align:center;padding-top:82px;padding-bottom:100px}.about-next h2{font:400 clamp(57px,6vw,82px)/.95 var(--serif);letter-spacing:-.045em;margin:20px 0 28px}.about-next>div{display:flex;align-items:center;justify-content:center;gap:27px}
@media(max-width:980px){.about-hero{gap:6%}.about-middle{gap:6%;padding:50px}.about-adventure{height:530px}.about-ending{gap:7%}.about-families{height:540px}}
@media(max-width:700px){.site-header nav{gap:7px}.site-header nav a{font-size:10px}.about-hero{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding-top:56px;padding-bottom:75px}.about-hero-copy{padding:0}.about-hero h1{font-size:clamp(82px,16vw,110px);margin:32px 0 23px}.about-hero-copy>p{font-size:15px}.about-hero-rule{margin:24px 0 14px}.about-portrait{height:auto;aspect-ratio:1.05}.about-portrait img{object-position:center 37%}.about-letter{display:block;padding:55px 0 60px}.about-letter .section-kicker{display:block;padding:0;margin-bottom:27px}.about-prose .about-salutation{font-size:36px}.about-prose p,.about-middle-copy>p,.about-ending-copy>p{font-size:13px}.about-middle{display:flex;flex-direction:column;gap:35px;width:min(100% - 36px,540px);padding:24px 24px 45px}.about-adventure{height:auto;aspect-ratio:1.02;width:100%}.about-middle-copy{padding:0}.about-middle h2{font-size:clamp(52px,11vw,69px);margin:19px 0}.about-middle-copy .about-aside{font-size:23px}.about-ending{display:flex;flex-direction:column;align-items:stretch;gap:45px;padding-top:70px;padding-bottom:75px}.about-ending-copy .section-kicker{margin-bottom:23px}.about-ending-copy>p{font-size:15px}.about-ending-copy .about-signoff{margin-top:30px}.about-signoff span{font-size:39px}.about-families{height:auto;aspect-ratio:1.05}.about-next{padding-top:61px;padding-bottom:75px}.about-next h2{font-size:60px}.about-next>div{flex-direction:column;gap:23px}}
