@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#faf7ef;--ink:#243d31;--green:#254c3b;--orange:#a7472d;--muted:#646a60;--line:#dedfd3;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b35d36;outline-offset:4px}img{max-width:100%;display:block}.wrap{max-width:1256px;margin:auto;padding-left:48px;padding-right:48px}.header{max-width:1400px;margin:auto;padding:26px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;line-height:1.2}.brand strong{display:block;font-size:17px;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:7px}.brand-mark{font-size:47px;line-height:1;color:var(--orange)}nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:500}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;border:1px solid var(--green);background:var(--green);color:white;border-radius:5px;padding:15px 23px;font-weight:600;font-size:14px;line-height:1.5;transition:background .2s,transform .2s}.button:hover:not(:disabled){background:#173a2a;transform:translateY(-1px)}.button.small{font-size:12px;padding:12px 18px;gap:18px}.button span{font-size:19px}.menu-toggle{display:none}.hero{padding-top:66px;padding-bottom:58px;display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:44px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;line-height:1.65;margin:0 0 19px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:7px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-1.6px}h1{font-size:clamp(60px,6.3vw,87px);margin-bottom:26px}em{font-family:var(--serif);font-weight:400;color:var(--orange)}.lead{font-size:16px;max-width:405px;color:var(--muted);line-height:1.85;margin-bottom:30px}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:4px;font-weight:600;white-space:nowrap}.hero-location{font-size:12px;margin:34px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero-location>span:first-child{font-size:25px}.location-note{color:var(--muted);font-size:10px;border-left:1px solid var(--line);margin-left:5px;padding-left:12px}.hero-art{position:relative}.hero-art img{border-radius:48% 48% 4px 4px;width:100%;height:470px;object-fit:cover}.art-stamp{position:absolute;bottom:40px;right:-19px;width:119px;height:119px;border-radius:50%;background:#f3cf85;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);outline:1px dashed #8b753f;outline-offset:-7px}.art-stamp span{font-size:7px;letter-spacing:1.7px;font-weight:700}.art-stamp strong{font-family:var(--serif);font-size:28px;line-height:.96;text-align:center;margin:9px 0}.art-caption{font-size:10px;color:var(--muted);margin:14px 0 0;text-align:center}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0f0e5}.facts-inner{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;align-items:center;padding-top:26px;padding-bottom:26px;gap:25px}.facts .eyebrow{display:block;font-size:9px;margin:0 0 5px}.facts strong{display:block;font-size:17px;font-weight:500}.facts small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.facts-inner>div+div{border-left:1px solid #d5dacd;padding-left:32px}.calendar-button{border:1px solid #bcc6b5;border-radius:5px;background:transparent;color:var(--ink);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;font-size:13px;font-weight:600}.calendar-button>span:first-child{font-size:25px}.calendar-button:hover{background:#e3e7d8}.section{padding-top:83px;padding-bottom:83px}h2{font-size:49px;margin:0 0 20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:32px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:12px;color:var(--muted);margin-bottom:4px;line-height:1.9}.section-heading>p strong{font-weight:500}.agenda{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.day-card{padding:28px 23px 10px 0}.day-card+.day-card{border-left:1px solid var(--line);padding-left:23px}.date-tag{display:flex;align-items:center;gap:12px;margin-bottom:25px}.date-tag strong{font-family:var(--serif);font-size:45px;font-weight:400;line-height:1}.date-tag span{font-size:9px;font-weight:700;letter-spacing:1.5px}.date-tag small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted)}.day-card h3{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.2;margin-bottom:15px}.day-card .activity{font-size:12px;font-weight:600;min-height:40px;margin-bottom:10px}.day-card p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:22px}.status{font-size:8px;letter-spacing:1px;font-weight:700;display:inline-block;padding:5px 9px;background:#eeebdf;border-radius:3px}.section-footnote{font-size:10px;color:var(--muted);margin:24px 0 0}.welcome-band{background:var(--green);color:var(--cream);padding:36px 0}.welcome-inner{display:flex;align-items:center;gap:29px;justify-content:space-between}.sun-symbol{color:#efcc8c;font-size:80px;line-height:1}.welcome-inner h2{font-size:32px;margin:0;letter-spacing:-.5px;line-height:1.2}.welcome-inner em{color:#ecd6ae}.band-note{font-size:11px;line-height:1.9;color:#d2dccf}.travel{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.travel-heading .eyebrow{max-width:240px}.travel h2{font-size:65px}.travel-heading>p:not(.eyebrow){max-width:305px;font-size:14px;color:var(--muted);margin:25px 0}.map-note{display:block;font-size:9px;color:var(--muted);margin-top:14px}.travel-details article{display:flex;gap:23px;padding:23px 0;border-bottom:1px solid var(--line)}.travel-details article:first-child{padding-top:0}.travel-number{font-family:var(--serif);font-size:25px;color:var(--orange)}h3{font-size:19px;font-weight:500;margin-bottom:10px}.travel-details p{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:12px}.rsvp-section{background:#e8eddf;padding:76px 0}.rsvp-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:start}.rsvp-copy{padding-top:16px}.rsvp-copy h2{font-size:61px}.rsvp-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:330px}.rsvp-note{border-left:2px solid #8b9c7c;padding-left:19px;margin:35px 0 20px;max-width:335px}.rsvp-note strong{font-size:12px}.rsvp-note p{font-size:11px;color:#4f5b4c;line-height:1.85;margin:7px 0}.tiny{font-size:10px!important;color:var(--muted);line-height:1.7;margin:15px 0 0}.form-card{background:#fffdf7;border:1px solid #dce1d2;padding:32px;border-radius:8px;box-shadow:0 8px 25px #1a382308}.form-card h3{font-family:var(--serif);font-size:30px;margin:0}.form-intro{font-size:11px;color:var(--muted);margin:5px 0 25px}.form-card label{display:block;font-size:11px;font-weight:600;margin-bottom:17px}.form-card input:not([type=checkbox]),select{display:block;width:100%;background:#fffef9;border:1px solid #cdd2c4;border-radius:4px;padding:12px;color:var(--ink);margin-top:7px;min-height:46px;font-size:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.household-total{font-size:11px;color:var(--muted);margin:-5px 0 19px}fieldset{border:0;padding:0;margin:0 0 21px;min-width:0}legend{font-size:11px;font-weight:600;margin-bottom:10px}.day-options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.day-options label{margin:0;position:relative;cursor:pointer}.day-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.day-options span{display:block;text-align:center;border:1px solid #cdd2c4;padding:8px;border-radius:4px;font-size:10px}.day-options strong{display:block;font-size:17px;font-weight:500}.day-options input:checked+span{background:var(--green);color:white;border-color:var(--green)}.day-options input:focus-visible+span{outline:3px solid var(--orange);outline-offset:3px}.consent{display:flex!important;align-items:flex-start;gap:10px;font-size:10px!important;font-weight:400!important;line-height:1.6}.consent input{accent-color:var(--green);margin:3px 0;flex-shrink:0;width:16px;height:16px}.full{width:100%;justify-content:space-between}.form-status{font-size:12px;margin:15px 0 0}.form-status:empty{display:none}.draft-actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.draft-actions[hidden]{display:none}.draft-actions button{border:0;border-bottom:1px solid var(--ink);padding:5px 0;background:none;font-size:11px;color:var(--ink)}.giving-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.giving-card{border:1px solid var(--line);border-radius:6px;padding:33px 35px;background:#f0f1e7}.giving-card.donation{background:#f5ece1}.card-index{font-size:9px;letter-spacing:1.6px;font-weight:600}.giving-card h3{font-family:var(--serif);font-size:35px;font-weight:400;margin:20px 0 12px}.giving-card>p{font-size:13px;max-width:390px;color:var(--muted);min-height:65px}.payment-state{font-size:10px;font-weight:600;margin:23px 0 15px}.payment-state .dot{width:5px;height:5px;background:#70795f}.secondary{background:transparent;color:#59654e;border-color:#c6ccbb;font-size:11px;padding:12px 18px}.giving-card small{display:block;font-size:9px;margin-top:13px;color:var(--muted)}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-section>div>p:not(.eyebrow){color:var(--muted);font-size:13px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:13px;font-weight:500;padding:20px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;line-height:1;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:12px;line-height:1.9;color:var(--muted);padding-right:35px;margin:0 0 22px}.contact-section{background:#eadfcd;padding:55px 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact-inner h2{font-size:43px;margin:0}.contact-inner>div>p:not(.eyebrow){font-size:13px;max-width:390px}.contact-placeholder{font-weight:600;border-bottom:1px solid #c5b9a5;padding-bottom:10px}.footer{padding-top:35px;padding-bottom:35px;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer .brand strong{font-size:14px}.footer .brand small{font-size:8px}.footer p{margin:0;font-size:10px;color:var(--muted)}.prototype-label{font-size:8px;letter-spacing:1px;color:var(--muted)}.skip{position:fixed;top:-80px;left:15px;background:var(--green);color:white;padding:12px;z-index:100}.skip:focus{top:12px}
@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:80px}.hero-art img{height:510px}}@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}.header{padding:23px 32px}nav{gap:17px;font-size:11px}.hero{gap:27px}.hero-art img{height:440px}h1{font-size:64px}.hero-actions{gap:17px}.hero-actions .button{font-size:12px;padding:14px 17px}.travel,.rsvp-layout{gap:55px}.section-heading{align-items:flex-start}.section-heading>p{max-width:280px}.day-card h3{font-size:24px}.day-card{padding-right:15px}.day-card+.day-card{padding-left:15px}.welcome-inner h2{font-size:28px}.band-note{display:none}.rsvp-copy h2{font-size:55px}.field-grid{grid-template-columns:1fr}.form-card{padding:26px}.facts strong{font-size:15px}.facts-inner>div+div{padding-left:22px}.calendar-button{padding:14px;font-size:11px}.footer p{display:none}}
@media(max-width:900px){html{scroll-padding-top:24px}.wrap{padding-left:23px;padding-right:23px}.header{padding:20px 23px;position:relative;flex-wrap:wrap;gap:15px}.brand strong{font-size:15px}.brand small{font-size:8px}.brand-mark{font-size:39px}.menu-toggle{display:flex;gap:12px;align-items:center;border:1px solid #ccd1c3;background:transparent;border-radius:4px;color:var(--ink);padding:10px 12px;font-size:12px}.header nav{display:none;width:100%;padding:12px 0 2px;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav>a{padding:13px 5px;font-size:14px}.header nav .button{margin-top:10px}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:32px;gap:30px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}h1{font-size:65px;letter-spacing:-1.5px;margin-bottom:20px}.lead{font-size:14px;max-width:350px;line-height:1.8;margin-bottom:22px}.hero-actions{gap:20px}.hero-actions .button{font-size:11px;padding:14px 15px;gap:12px}.text-link{font-size:11px}.hero-location{margin-top:23px;font-size:11px;gap:5px}.location-note{font-size:9px;padding-left:8px;margin-left:3px}.hero-art{max-width:460px;width:100%;margin:auto;padding-right:7px}.hero-art img{height:auto;aspect-ratio:1.16;object-position:center 54%;border-radius:47% 47% 4px 4px}.art-stamp{width:104px;height:104px;right:0;bottom:33px}.art-stamp strong{font-size:25px}.art-stamp span{font-size:6px}.art-caption{font-size:8px;margin-top:12px}.facts-inner{grid-template-columns:1fr 1fr;gap:20px 10px;padding-top:23px;padding-bottom:23px}.facts strong{font-size:12px}.facts .eyebrow{font-size:7px;letter-spacing:1.1px}.facts small{font-size:9px}.facts-inner>div+div{padding-left:15px}.calendar-button{grid-column:1/-1;padding:12px 15px;font-size:12px;justify-content:flex-start}.calendar-button>span:last-child{margin-left:auto}.calendar-button small{display:none}.section{padding-top:51px;padding-bottom:51px}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:14px}h2{font-size:40px;letter-spacing:-.9px}.section-heading{display:block;margin-bottom:24px}.section-heading>p{max-width:100%;font-size:11px;margin-top:17px}.agenda{grid-template-columns:1fr 1fr}.day-card{padding:22px 16px 18px 0;border-bottom:1px solid var(--line)}.day-card+.day-card{padding-left:16px}.day-card:nth-child(3){border-left:0;padding-left:0}.date-tag{margin-bottom:19px}.date-tag strong{font-size:39px}.date-tag span,.date-tag small{font-size:8px}.day-card h3{font-size:25px;min-height:58px;margin-bottom:12px}.day-card .activity{font-size:11px;min-height:37px}.day-card p{font-size:11px;line-height:1.7;margin-bottom:15px}.section-footnote{font-size:9px;margin-top:18px}.welcome-band{padding:29px 0}.welcome-inner{gap:15px}.sun-symbol{font-size:43px}.welcome-inner h2{font-size:23px;line-height:1.3}.travel{grid-template-columns:1fr;gap:34px}.travel-heading h2{font-size:54px}.travel-heading h2 br{display:none}.travel-heading>p:not(.eyebrow){max-width:100%;margin:17px 0}.travel-details article{gap:17px}.travel-details p{font-size:12px}.rsvp-section{padding:46px 0}.rsvp-layout{grid-template-columns:1fr;gap:29px}.rsvp-copy{padding:0}.rsvp-copy h2{font-size:49px}.rsvp-copy h2 br{display:none}.rsvp-copy>p:not(.eyebrow){max-width:100%;font-size:13px}.rsvp-note{max-width:100%;margin-top:23px}.form-card{padding:24px 20px}.field-grid{grid-template-columns:1fr 1fr;gap:12px}.field-grid:first-of-type{grid-template-columns:1fr;gap:0}.form-card input:not([type=checkbox]),select{font-size:16px}.giving-grid{grid-template-columns:1fr;gap:17px}.giving-card{padding:28px}.giving-card h3{font-size:32px;margin-top:15px}.giving-card>p{min-height:0;font-size:12px}.giving-card small{font-size:8px}.faq-section{grid-template-columns:1fr;gap:10px}.faq-section h2 br{display:none}.faq-section>div>p:not(.eyebrow){font-size:12px}.faq-section>div>p br{display:none}.faq-list summary{font-size:12px;gap:15px}.faq-list p{font-size:11px;padding-right:15px}.contact-section{padding:40px 0}.contact-inner{grid-template-columns:1fr;gap:25px}.contact-inner h2{font-size:36px}.footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px;gap:20px}.prototype-label{font-size:7px}.footer .brand strong{font-size:12px}.footer .brand-mark{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}@media(max-width:360px){h1{font-size:56px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.facts strong{font-size:11px}.day-card h3{font-size:23px}}
