@charset "UTF-8";
:root{--paper:#f7f3eb;--ink:#30392c;--olive:#4c5846;--muted:#6d7064;--line:#dcded0;--rust:#96583f;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}figure,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0;letter-spacing:-1.9px}h2{font-size:clamp(38px,4vw,57px)}h3{font-size:29px;letter-spacing:-.8px}em{font-weight:400;color:var(--rust)}.wrap{width:min(1180px,calc(100% - 104px));margin-inline:auto}.section{padding-block:105px}.eyebrow{text-transform:uppercase;letter-spacing:2.4px;font-size:10px;font-weight:600;line-height:1.5;margin-bottom:22px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:17px 24px;background:var(--olive);color:white;border:1px solid var(--olive);border-radius:3px;font-size:13px;line-height:1.6;transition:background .2s,transform .2s}.button:hover{background:#354130;transform:translateY(-2px)}.button span[aria-hidden]{font-size:20px;line-height:1}.button:disabled{cursor:wait;opacity:.65;transform:none}.quiet-link{display:block;width:fit-content;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:5px}.quiet-link span{margin-left:18px}.skip-link{position:fixed;top:8px;left:12px;transform:translateY(-160%);z-index:100;background:var(--ink);color:white;padding:10px 18px}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--rust);outline-offset:5px}.site-header{height:96px;width:min(1300px,calc(100% - 80px));margin:auto;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line)}.brand{font:36px var(--serif);letter-spacing:-3px;flex-shrink:0}.brand span{font-size:27px;font-style:italic;margin:0 2px}.brand .brand-dot{color:var(--rust);margin-left:4px}.header-date{font-size:10px;letter-spacing:.9px;color:var(--muted)}.header-date span{margin:0 8px}nav{display:flex;gap:31px;align-items:center;margin-left:auto;font-size:12px}nav a:hover{color:var(--rust)}nav .nav-rsvp{border:1px solid #a8ad9e;padding:9px 19px;border-radius:2px}nav .nav-rsvp span{margin-left:14px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:center;padding-block:65px 76px;min-height:690px}.hero-copy{padding-bottom:8px}.tiny-line{display:inline-block;width:27px;height:1px;background:var(--rust);vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(48px,5.5vw,78px);letter-spacing:-3.3px;line-height:1.06}.hero-intro{font-size:14px;color:var(--muted);margin:29px 0 30px;line-height:1.9}.hero .quiet-link{margin-top:22px}.hero-visual{position:relative;margin-right:15px;padding:0 10px 16px}.photo-arch{border-radius:245px 245px 6px 6px;overflow:hidden;aspect-ratio:.89;background:#d4d4bd;outline:1px solid #b6bbaa;outline-offset:10px}.photo-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.photo-caption{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.8px;margin-top:26px;text-align:center;color:var(--muted)}.date-seal{position:absolute;right:-42px;bottom:38px;background:var(--paper);width:142px;height:142px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 7px var(--paper),0 0 0 8px #b6bbaa;transform:rotate(8deg)}.date-seal span{text-transform:uppercase;font-size:8px;letter-spacing:1.7px}.date-seal strong{font:60px/1.06 var(--serif);letter-spacing:-3px}.date-seal i{font-size:18px;line-height:1.1;color:var(--rust);font-style:normal}.hero-sprig{position:absolute;width:125px;left:-65px;bottom:-4px;color:var(--olive);transform:rotate(-17deg)}.date-ribbon{border-block:1px solid var(--line)}.ribbon-inner{display:flex;justify-content:space-between;align-items:center;padding-block:28px}.ribbon-inner>span{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.ribbon-inner strong{font:31px var(--serif);letter-spacing:3px}.ribbon-inner i{font-style:italic;color:#b5b7a6;margin:0 17px}.countdown span{color:var(--rust);font-size:20px;margin-left:10px;vertical-align:middle}.story{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;align-items:center;padding-block:120px 145px}.story-photos{position:relative;padding-right:55px;padding-bottom:22px}.story-main{transform:rotate(-4deg);background:#fffcf6;padding:12px 12px 0;box-shadow:0 6px 18px #39402a12}.story-main img{width:100%;aspect-ratio:1.25;object-fit:cover}.story-main figcaption{font:italic 15px var(--serif);text-align:center;padding:15px 0 19px}.story-small{position:absolute;width:36%;right:-40px;bottom:-36px;background:#fffcf6;padding:8px;transform:rotate(7deg);box-shadow:0 6px 18px #39402a1c}
.story-small img{width:100%;aspect-ratio:.8;object-fit:cover}
.handwritten{position:absolute;bottom:-45px;left:7px;font:italic 23px var(--serif);color:var(--rust);transform:rotate(-7deg)}.story-copy h2{margin-bottom:28px}.story-copy>p:not(.eyebrow):not(.signature){color:var(--muted);font-size:14px;margin-top:17px}.signature{font:italic 24px var(--serif);margin-top:30px}.signature span{display:block;font-size:18px;margin-top:8px;color:var(--rust)}.day-section{background:var(--olive);color:var(--paper);position:relative}.section-heading{text-align:center}.day-section em{color:#dbc2a6}.section-heading>p:last-child{font-size:14px;opacity:.8;margin-top:23px}.timeline{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:58px 0 0;gap:48px}.timeline li{position:relative;border-top:1px solid #d3dcc244;padding-top:30px}.step-number{position:absolute;right:0;top:18px;font:italic 36px var(--serif);color:#bdc4ae}.timeline .eyebrow{font-size:9px;margin-bottom:15px;color:#e5d7bd}.timeline h3{font-size:29px;letter-spacing:-.5px}.timeline li>p:not(.eyebrow){font-size:13px;opacity:.8;margin-top:17px}.timeline a{font-size:11px;display:inline-block;margin-top:26px;border-bottom:1px solid #bdc4ae5a;padding-bottom:5px}.timeline a span{margin-left:14px}.schedule-note{text-align:center;font-size:11px;letter-spacing:.3px;opacity:.8;margin-top:45px}.schedule-note span{font-size:17px;vertical-align:middle;margin-right:8px}.locations-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.locations-heading>p{font-size:14px;color:var(--muted);padding-bottom:6px}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.location-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fbf9f3;scroll-margin-top:30px;display:flex;flex-direction:column}.location-art{height:180px;position:relative;overflow:hidden;background:#ece9de}.art-colline{background:#e6e9dc}.art-castello{background:#eee3d6}.location-art img{width:100%;height:100%;object-fit:cover}.art-number{position:absolute;top:14px;left:20px;font:italic 21px var(--serif);color:var(--muted)}.location-body{padding:27px 26px 23px;display:flex;flex-direction:column;flex:1}.location-body .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:13px}.location-body h3{font-size:29px}.place{font-size:11px;margin-top:10px;color:var(--rust);font-weight:600}.location-description{font-size:12px;line-height:1.85;color:var(--muted);margin-top:19px;margin-bottom:25px}.address{font-size:10px;line-height:1.8;margin-top:auto;color:var(--muted)}.address span{font-size:18px;vertical-align:middle;margin-right:4px}.location-links{border-top:1px solid var(--line);margin-top:17px;padding-top:16px;display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:10px}.location-links a:first-child{font-weight:600}.location-links a:last-child{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.location-links a:hover{color:var(--rust)}.location-links span{margin-left:8px}.locations-note{font-size:11px;color:var(--muted);text-align:center;margin-top:25px}.rsvp-section{background:#e9e1d3;border-block:1px solid #ddd2c0}.rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.rsvp-copy h2{font-size:clamp(39px,4.2vw,59px)}.rsvp-copy>p:not(.eyebrow){font-size:14px;margin-top:29px;color:var(--muted)}.rsvp-flourish{font:70px var(--serif);color:var(--rust);display:block;margin-top:25px;line-height:1}.rsvp-copy .rsvp-signature{font:italic 20px/1.6 var(--serif);color:var(--ink);margin-top:16px}.form-panel{background:#fbf9f3;padding:42px;border:1px solid #dcd4c5;border-radius:5px;box-shadow:0 10px 40px #57503b08}.form-panel .eyebrow{font-size:9px;margin-bottom:15px}.form-panel h3{font-size:31px}.form-intro{font-size:12px;color:var(--muted);margin-top:12px;margin-bottom:28px}.field{margin:0 0 21px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field input,.field select{width:100%;border:1px solid #d4d5c6;border-radius:3px;background:#fffcf6;padding:13px 14px;color:var(--ink);font-size:13px;min-height:49px}.field input::placeholder{color:#797e70}.field input:focus,.field select:focus{border-color:var(--olive)}.field [aria-invalid=true]{border-color:#a84435}.select-wrap{position:relative}.select-wrap select{appearance:none;padding-right:34px}.select-wrap>span{position:absolute;right:15px;top:10px;pointer-events:none;color:var(--muted)}.field-hint{font-size:10px;line-height:1.7;color:var(--muted);display:block;margin-top:8px}.field-error{display:block;color:#9e332c;font-size:11px;margin-top:6px}.field-error:empty{display:none}.check-field{display:flex;gap:10px;align-items:start;font-size:10px;line-height:1.8;cursor:pointer;color:var(--muted)}.check-field input{accent-color:var(--olive);width:16px;height:16px;flex-shrink:0;margin:2px 0}.check-field a{text-decoration:underline;text-underline-offset:2px}.button-full{width:100%;margin-top:23px;gap:12px;font-size:12px}.form-note{font-size:9px;color:var(--muted);text-align:center;margin-top:14px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-alert{padding:15px 17px;font-size:12px;margin-bottom:24px;border-radius:3px;border:1px solid}.form-alert.error{background:#faece5;border-color:#cc8e72;color:#7c3228}.form-alert.success{background:#e5edde;border-color:#95aa7e;color:#374e2c}.practical{display:grid;grid-template-columns:.9fr 1.3fr;gap:90px}.calendar-link{margin-top:27px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:13px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:21px;font-weight:300;color:var(--rust);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;color:var(--muted);padding:0 28px 23px 0}.site-footer{border-top:1px solid var(--line);padding:65px 0 0;text-align:center;background:#efeee4}.site-footer .eyebrow{font-size:9px;margin-bottom:20px}.footer-names{font:clamp(40px,5vw,66px) var(--serif);letter-spacing:-2px}.footer-names em{font-size:.8em}.footer-family{font-size:12px;color:var(--muted);margin-top:14px}.footer-family span{color:var(--rust);margin-left:4px}.footer-bottom{border-top:1px solid #d5d9c8;display:flex;justify-content:space-between;gap:18px;font-size:9px;letter-spacing:.4px;margin-top:49px;padding:22px 0;color:var(--muted)}
img{height:auto}.photo-arch img,.location-art img{height:100%}
@media(min-width:1600px){.hero{padding-block:85px 95px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.site-header{width:calc(100% - 60px);gap:22px}.header-date{font-size:9px}nav{gap:20px}.hero{gap:44px;min-height:600px}.hero h1{font-size:61px}.date-seal{width:119px;height:119px;right:-22px}.date-seal strong{font-size:51px}.hero-sprig{width:100px;left:-50px}.story{gap:55px}.rsvp-grid{gap:55px}.form-panel{padding:32px}.location-body{padding:23px 19px}.location-body h3{font-size:26px}.practical{gap:50px}}
@media(max-width:820px){.header-date{display:none}.hero{gap:30px}.hero h1{font-size:48px;letter-spacing:-2px}.hero-intro{font-size:13px}.hero .eyebrow{font-size:8px}.button{gap:18px;padding:15px 18px;font-size:12px}.photo-caption{font-size:7px}.date-seal{width:100px;height:100px;right:-15px}.date-seal strong{font-size:42px}.date-seal span{font-size:6px}.hero-sprig{width:80px;left:-40px}.ribbon-inner>span{font-size:8px}.ribbon-inner strong{font-size:25px}.ribbon-inner i{margin:0 7px}.story{gap:40px}.story-copy h2{font-size:38px}.story-copy>p:not(.eyebrow):not(.signature){font-size:12px}.story-photos{padding-right:25px}.handwritten{font-size:18px}.location-grid{gap:14px}.location-art{height:145px}.location-body{padding:20px 16px}.location-body h3{font-size:23px}.location-description{font-size:11px}.location-links{flex-wrap:wrap}.rsvp-grid{gap:35px}.form-panel{padding:26px}.form-panel h3{font-size:27px}.rsvp-copy h2{font-size:40px}.timeline{gap:25px}.timeline h3{font-size:24px}.timeline a{font-size:10px}}
@media(max-width:640px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.section{padding-block:68px}.site-header{width:calc(100% - 40px);height:77px;position:relative;gap:0}.brand{font-size:32px}.menu-toggle{display:flex;margin-left:auto;gap:16px;align-items:center;padding:10px 0 10px 15px;background:none;border:0;color:var(--ink);font-size:12px}.menu-toggle span{font-size:19px}nav{display:none;position:absolute;left:-20px;right:-20px;top:76px;background:var(--paper);z-index:20;padding:25px 25px 28px;box-shadow:0 12px 15px #30392c0c;border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:25px}nav.is-open{display:flex}nav .nav-rsvp{padding:7px 14px}.hero{display:flex;flex-direction:column;gap:52px;padding-block:45px 45px;min-height:auto}.hero-copy{align-self:start;padding:0}.hero .eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:23px}.hero h1{font-size:clamp(46px,10.5vw,65px);line-height:1.06}.hero-intro{font-size:13px;margin:24px 0}.desktop-break{display:none}.hero .quiet-link{margin-top:19px}.hero-visual{width:83%;max-width:390px;margin-right:10px;padding:0 5px 13px}.photo-arch{aspect-ratio:.92;outline-offset:8px}.photo-caption{font-size:7px;margin-top:22px;letter-spacing:1.3px}.date-seal{width:108px;height:108px;right:-31px;bottom:39px}.date-seal strong{font-size:46px}.date-seal span{font-size:7px}.hero-sprig{width:88px;left:-37px;bottom:-6px}.ribbon-inner{flex-wrap:wrap;gap:13px;justify-content:center;padding-block:23px}.ribbon-inner>span:first-child{width:100%;text-align:center}.ribbon-inner strong{font-size:26px}.ribbon-inner .countdown{width:100%;text-align:center}.countdown span{font-size:17px}.story{display:flex;flex-direction:column-reverse;gap:45px;padding-bottom:103px}.story-copy h2{font-size:40px}.story-copy>p:not(.eyebrow):not(.signature){font-size:13px}.story-photos{width:95%;padding-right:36px;align-self:start}.story-main img{aspect-ratio:1.25}.story-small{width:32%}.handwritten{bottom:-44px;font-size:20px}.story-main figcaption{font-size:12px}.signature{font-size:23px}.section-heading h2{font-size:36px}.section-heading>p:last-child{font-size:12px}.timeline{display:block;margin-top:38px}.timeline li{padding:25px 0 27px}.timeline li:last-child{padding-bottom:0}.timeline .eyebrow{margin-bottom:12px}.timeline h3{font-size:28px}.timeline li>p:not(.eyebrow){font-size:13px;margin-top:12px}.timeline a{margin-top:17px;font-size:11px}.step-number{font-size:40px;top:18px}.schedule-note{font-size:10px;margin-top:32px}.locations-heading{display:block;margin-bottom:30px}.locations-heading h2{font-size:40px}.locations-heading>p{margin-top:22px;font-size:13px}.location-grid{display:block}.location-card{margin-top:22px}.location-art{height:174px}.location-body{padding:25px}.location-body h3{font-size:30px}.location-description{font-size:12px;margin-bottom:20px}.location-body .eyebrow{font-size:9px}.address{font-size:11px}.location-links{font-size:11px}.locations-note{font-size:10px}.rsvp-grid{display:block}.rsvp-copy h2{font-size:42px}.rsvp-copy>p:not(.eyebrow){font-size:13px;margin-top:22px}.rsvp-copy .rsvp-signature{font-size:19px;margin-top:12px}.rsvp-flourish{font-size:55px;margin-top:20px}.form-panel{margin-top:35px;padding:27px 23px}.form-panel h3{font-size:29px}.button-full{padding-block:16px}.form-note{font-size:9px}.check-field{font-size:10px}.practical{display:block}.practical h2{font-size:40px}.faq-list{margin-top:36px}.faq-list summary{font-size:12px}.faq-list details p{font-size:12px}.site-footer{padding-top:49px}.footer-names{font-size:40px;letter-spacing:-1.5px}.footer-bottom{flex-wrap:wrap;justify-content:center;font-size:9px;margin-top:35px;gap:12px}.footer-bottom>span:first-child{width:100%}}
.hero{width:min(1320px,calc(100% - 104px));grid-template-columns:.85fr 1.15fr;gap:62px;padding-block:50px 65px}.hero h1{font-size:clamp(48px,4.8vw,70px)}.hero-visual{margin-right:10px}.photo-arch{border-radius:18px;aspect-ratio:auto;outline-offset:8px}.photo-arch img{height:auto;object-fit:contain}.date-seal{right:-18px;bottom:39px}.hero-sprig{left:-38px;width:105px}.hero-aside{font:italic 13px/1.7 var(--serif);color:var(--muted);max-width:300px;margin-top:27px}.speech-notice{display:flex;gap:25px;max-width:920px;margin:48px auto 0;padding:30px 34px;background:#414d3b;border:1px solid #b5bda44d;border-radius:5px}.speech-symbol{font:90px/1 var(--serif);color:#dbc2a6}.speech-notice .eyebrow{font-size:9px;color:#e5d7bd;margin-bottom:12px}.speech-notice h3{font-size:29px;color:#f7f3eb}.speech-notice p:not(.eyebrow){font-size:13px;line-height:1.9;color:#e0e3d7;margin-top:16px}.speech-footnote{display:block;font:italic 17px/1.6 var(--serif);color:#dbc2a6;margin-top:16px}
@media(max-width:1100px) and (min-width:641px){.hero{width:calc(100% - 72px);gap:40px}.hero h1{font-size:54px}.hero-sprig{width:85px;left:-27px}}
@media(max-width:820px) and (min-width:641px){.hero{gap:28px}.hero h1{font-size:41px;letter-spacing:-1.8px}.hero .button{gap:12px;padding-inline:15px;font-size:11px}}
@media(max-width:640px){.hero{width:calc(100% - 40px);gap:35px;padding-block:39px 35px}.hero h1{font-size:clamp(42px,10.5vw,65px)}.hero-aside{font-size:12px;margin-top:20px}.hero-visual{width:100%;max-width:440px;margin:0;padding:0 8px 12px}.photo-arch{border-radius:12px;outline-offset:6px}.date-seal{width:100px;height:100px;right:-7px;bottom:43px}.date-seal strong{font-size:43px}.hero-sprig{width:68px;left:-12px;bottom:3px}.photo-caption{font-size:7px;letter-spacing:1.2px;padding-inline:5px}.speech-notice{margin-top:35px;padding:24px 21px;gap:14px}.speech-symbol{font-size:53px}.speech-notice h3{font-size:24px}.speech-notice .eyebrow{font-size:8px;letter-spacing:1.6px}.speech-notice p:not(.eyebrow){font-size:12px}.speech-footnote{font-size:15px}}
.site-header{height:116px}.brand{display:flex;align-items:center;line-height:1}.brand-image{width:92px;height:92px;object-fit:contain;border-radius:8px}
@media(max-width:640px){.site-header{height:96px}.brand-image{width:80px;height:80px}nav{top:95px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
