
:root{--paper:#f7f3ec;--ink:#343831;--muted:#65695f;--gold:#9c8154;--line:#d9d1c2;--soft:#eee8dc;--white:#fffcf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;width:100%;height:auto}p{font:16px/1.85 Arial,sans-serif;color:var(--muted)}h1,h2,h3,p{margin-top:0}h2{font-weight:400;font-size:clamp(40px,5vw,65px);line-height:1.1;letter-spacing:-2px}h3{font-weight:400;font-size:28px;line-height:1.2}em{font-weight:400}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}.skip{position:absolute;top:-70px;left:16px;background:var(--ink);color:white;padding:15px;z-index:100}.skip:focus{top:12px}.header{height:88px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(247,243,236,.96);backdrop-filter:blur(12px)}.monogram{text-decoration:none;font-size:30px;letter-spacing:-4px;white-space:nowrap}.monogram span{font-style:italic;color:var(--gold);font-size:25px;padding:0 5px}.nav{display:flex;gap:29px;align-items:center}.nav a{font:10px Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;padding:12px 0}.nav a:hover{color:var(--gold)}.nav .nav-rsvp{border:1px solid var(--gold);padding:13px 22px}.menu{display:none;border:0;background:none;padding:12px;color:var(--ink);font:12px Arial,sans-serif;letter-spacing:1px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:740px;max-width:1440px;margin:auto;position:relative}.hero-copy{padding:77px 7% 50px 12%;align-self:center}.hero-copy .eyebrow{margin-bottom:33px}.hero h1{font-size:clamp(80px,8.5vw,130px);font-weight:400;line-height:.84;letter-spacing:-5px;margin:0 0 35px}.hero h1 .and{font-size:.53em;font-style:italic;color:var(--gold);display:block;line-height:1.05;margin:8px 0 5px 60px}.hero-date{font-size:20px;letter-spacing:2px;margin-bottom:12px}.hero-place{font:11px/1.7 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:48px;padding:17px 25px;background:var(--ink);color:var(--paper);text-decoration:none;border:1px solid var(--ink);font:10px/1.4 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer}.button:hover{background:#515648;border-color:#515648}.text-link{font:11px/1.4 Arial,sans-serif;letter-spacing:1px}.hero-photo{padding:44px 10% 45px 2%;position:relative;display:flex;flex-direction:column;justify-content:center}.photo-frame{position:relative;border:1px solid var(--gold);padding:12px}.hero-photo img{height:596px;object-fit:cover;object-position:50% 43%}.photo-caption{display:flex;justify-content:space-between;margin-top:15px;font:9px/1.5 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.seal{position:absolute;bottom:81px;left:-29px;background:var(--paper);width:100px;height:100px;border:1px solid var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:0 0 0 7px var(--paper);font-size:23px}.seal small{font:8px/1.8 Arial,sans-serif;letter-spacing:2px}.ribbon{display:flex;justify-content:center;gap:40px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 20px;font:10px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:2px}.ribbon .star{color:var(--gold);font-size:18px}.section{max-width:1200px;margin:auto;padding:105px 55px}.welcome{text-align:center;max-width:890px;padding:105px 40px}.welcome .ornament{color:var(--gold);font-size:28px;margin-bottom:23px}.welcome h2{font-size:clamp(40px,4.7vw,62px);margin:20px 0 25px}.welcome p{max-width:665px;margin:0 auto 20px}.signature{font-style:italic;font-size:27px;color:var(--ink);margin-top:25px}.weekend-wrap{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.section-heading h2{margin:15px 0 0}.section-heading p{max-width:330px;font-size:14px;margin-bottom:2px}.schedule{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px}.event{border-top:1px solid var(--gold);padding-top:22px}.event .date{font-size:45px;font-weight:400;letter-spacing:-1px;margin:0 0 30px}.event .date span{font:10px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;display:block;margin-top:7px}.event h3{font-size:25px;margin-bottom:13px}.event p{font-size:14px;line-height:1.8}.event .time{font:10px/1.8 Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin-bottom:18px}.event.featured{background:var(--paper);padding:25px 28px 10px;margin-top:0;border:1px solid var(--gold)}.event.featured .date{display:flex;align-items:center;justify-content:space-between;gap:15px}.event.featured .date span{max-width:90px;line-height:1.8}.schedule-tail{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:36px;border-top:1px solid var(--line);padding-top:27px}.schedule-tail h3{font-size:20px;margin-bottom:8px}.schedule-tail p{font-size:13px;margin:0}.schedule-note{font-size:12px;margin:28px 0 0}.story{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.story figure{margin:0;position:relative}.story figure img{aspect-ratio:4/5;object-fit:cover}.story figure:before{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}.story figcaption{font:9px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-top:31px}.story h2{margin:17px 0 27px}.story p{font-size:14px}.story details{margin-top:22px}.story summary{font:11px Arial,sans-serif;letter-spacing:1px;cursor:pointer;text-decoration:underline;text-underline-offset:5px;margin-bottom:20px}.story details p{font-size:14px}.quote{background:var(--ink);color:var(--paper);text-align:center;padding:77px 25px}.quote blockquote{font-size:clamp(29px,3.3vw,45px);line-height:1.35;font-style:italic;max-width:820px;margin:0 auto 25px}.quote .eyebrow{color:#d5cabb}.travel{display:grid;grid-template-columns:1fr 1fr;gap:75px}.travel h2{margin:16px 0 25px}.travel p{font-size:14px}.hotel-line{border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.hotel-line h3{font-size:24px;margin-bottom:10px}.travel-card{border:1px solid var(--gold);padding:38px;background:var(--white);align-self:start}.travel-card h3{font-size:33px;margin:17px 0 8px}.travel-card .button{width:100%;margin:15px 0}.contact-links{display:flex;flex-direction:column;gap:12px;font:13px Arial,sans-serif;margin:20px 0}.travel-card .hours{font-size:12px;border-top:1px solid var(--line);padding-top:17px;margin-top:23px}.explore{padding-top:0}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:30px}.explore-item{border-top:1px solid var(--line);padding-top:23px}.explore-item .number{color:var(--gold);font-style:italic;font-size:20px}.explore-item h3{font-size:23px;margin:14px 0}.explore-item p{font-size:13px}.faq-wrap{border-top:1px solid var(--line);background:var(--soft)}.faq{display:grid;grid-template-columns:1fr 1.55fr;gap:65px}.faq h2{margin-top:15px}.faq details{border-bottom:1px solid #cfc7b8;padding:21px 0}.faq details:first-child{border-top:1px solid #cfc7b8}.faq summary{font-size:20px;line-height:1.4;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font:22px Georgia;color:var(--gold)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;margin:18px 20px 2px 0}.rsvp{text-align:center;padding:100px 25px;position:relative}.rsvp:before{content:'';display:block;width:1px;height:52px;background:var(--gold);margin:0 auto 28px}.rsvp h2{margin:16px 0 23px}.rsvp p{max-width:480px;margin:0 auto 25px;font-size:14px}.rsvp-state{border:1px solid var(--gold);display:inline-block;padding:15px 28px;font:10px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;margin:5px 0 15px}.footer{border-top:1px solid var(--line);padding:38px 5.5%;display:flex;justify-content:space-between;gap:24px;align-items:center}.footer .names{font-size:24px;font-style:italic}.footer .eyebrow{font-size:9px;letter-spacing:1.4px}.footer a{font:10px Arial,sans-serif;letter-spacing:1px}.float-date{font-style:italic;color:var(--gold)}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:780px}}@media(max-width:1000px){.nav{gap:18px}.hero-copy{padding-left:10%}.hero-photo{padding-right:8%}.hero-photo img{height:550px}.hero{min-height:680px}.hero h1{font-size:90px}.section{padding:80px 35px}.story{gap:50px}.travel{gap:35px}.travel-card{padding:27px}.schedule{gap:18px}.event.featured{padding:24px 20px 10px}.faq{gap:35px}.explore{padding-top:0}.seal{left:-21px;width:83px;height:83px;font-size:20px}}@media(max-width:740px){html{scroll-padding-top:76px}.header{height:74px;padding:0 6%}.monogram{font-size:28px}.menu{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;padding:18px 6% 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:5px;align-items:stretch}.nav.open{display:flex}.nav a{padding:13px}.nav .nav-rsvp{text-align:center;margin-top:8px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:53px 8% 36px;text-align:center}.hero-copy .eyebrow{margin-bottom:30px;font-size:9px;letter-spacing:2px}.hero h1{font-size:83px;letter-spacing:-4px;margin-bottom:28px}.hero h1 .and{display:inline;margin:0 5px;font-size:.55em;line-height:1}.hero h1 .name{display:block}.hero-date{font-size:18px}.hero-place{font-size:10px;letter-spacing:1.5px}.hero-actions{justify-content:center;gap:22px;margin-top:27px}.button{padding:15px 21px;letter-spacing:1.6px}.hero-photo{padding:0 8% 35px}.photo-frame{padding:9px}.hero-photo img{height:auto;aspect-ratio:4/4.7;object-position:50% 40%}.seal{left:auto;right:3%;bottom:53px;width:75px;height:75px;font-size:19px}.seal small{font-size:7px}.photo-caption{font-size:8px;letter-spacing:1.4px;padding-right:32px}.ribbon{gap:13px;padding:18px 10px;font-size:8px;letter-spacing:1.2px;flex-wrap:wrap}.ribbon .star{font-size:12px}.section{padding:66px 7%}.welcome{padding:70px 7%}.welcome h2{font-size:41px;letter-spacing:-1.5px}.welcome p{font-size:14px}.section-heading{display:block;margin-bottom:34px}.section-heading p{margin-top:23px;max-width:none}.section-heading h2{font-size:45px}.schedule{grid-template-columns:1fr;gap:30px}.event{padding-top:20px}.event .date{font-size:36px;margin-bottom:23px;display:flex;align-items:center;justify-content:space-between}.event .date span{font-size:10px}.event.featured{padding:26px}.event.featured .date span{max-width:none}.schedule-tail{grid-template-columns:1fr;gap:26px}.story{grid-template-columns:1fr;gap:45px}.story figure{margin-right:13px}.story figure img{aspect-ratio:4/4.3}.story h2{font-size:45px}.quote{padding:60px 7%}.quote blockquote{font-size:31px}.travel{grid-template-columns:1fr;gap:30px}.travel h2{font-size:46px}.travel-card{padding:28px}.explore{padding-top:0}.explore-grid{grid-template-columns:1fr;gap:20px}.explore-item{padding-top:22px}.explore-item h3{margin-top:10px}.faq{grid-template-columns:1fr;gap:20px}.faq h2{font-size:43px}.faq summary{font-size:19px}.rsvp{padding:72px 7%}.rsvp h2{font-size:47px}.footer{padding:32px 7%;flex-direction:column;text-align:center;gap:18px}.footer .eyebrow{line-height:2}.text-link{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media print{.header,.hero-actions,.menu,.rsvp,.footer a{display:none}.section{padding:35px}.hero{min-height:0}.hero-photo img{height:400px}.hero-copy{padding:30px}.hero h1{font-size:70px}body{background:white}details>*{display:block!important}}
