:root{--white:#fff;--ivory:#f9f8f6;--maroon:#6b1f2a;--wine:#7b2435;--gold:#c6a769;--champagne:#efe5d8;--ink:#251b1b;--muted:#746969;--serif:"Italiana", "Times New Roman", serif;--sans:"DM Sans", Arial, sans-serif;--script:"Parisienne", cursive;font-family:var(--sans);color:var(--ink);background:var(--ivory);font-synthesis:none;text-rendering:optimizelegibility;scroll-behavior:smooth}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--ivory);overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.section{padding:140px max(6vw,24px)}.eyebrow{color:var(--maroon);letter-spacing:.28em;text-transform:uppercase;align-items:center;gap:13px;margin:0 0 30px;font-size:10px;font-weight:600;display:flex}.eyebrow span{background:var(--gold);width:34px;height:1px;display:block}.eyebrow--light{color:var(--champagne)}h1,h2,h3,p{margin-top:0}h2{font-family:var(--serif);letter-spacing:-.035em;font-weight:400}h2 em{font-family:var(--script);color:var(--wine);font-weight:400}[data-reveal]{opacity:0;transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transform:translateY(34px)}[data-reveal].is-visible{opacity:1;transform:none}.site-header{z-index:20;color:#fff;border-bottom:1px solid #ffffff40;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:104px;padding:0 5.5vw;display:grid;position:absolute;top:0;left:0}.monogram{font:20px var(--serif);letter-spacing:-.08em;align-items:center;width:fit-content;display:inline-flex}.monogram span{color:var(--gold);font:18px var(--script);margin:0 3px}.monogram--light{color:#fff}.desktop-nav{align-items:center;gap:38px;display:flex}.desktop-nav a{letter-spacing:.18em;text-transform:uppercase;font-size:10px;position:relative}.desktop-nav a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .3s;position:absolute;bottom:-8px;left:0}.desktop-nav a:hover:after{width:100%}.nav-rsvp{letter-spacing:.2em;justify-self:end;align-items:center;gap:9px;font-size:10px;font-weight:600;display:inline-flex}.nav-rsvp svg{transition:transform .3s}.nav-rsvp:hover svg{transform:translate(4px)}.menu-button{color:#fff;background:0 0;border:0;justify-self:end;padding:10px;display:none}.mobile-menu{z-index:100;background:var(--maroon);color:#fff;opacity:0;visibility:hidden;place-items:center;transition:all .4s;display:grid;position:fixed;inset:0}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu>button{color:#fff;background:0 0;border:0;position:absolute;top:24px;right:24px}.mobile-menu nav{text-align:center;gap:20px;display:grid}.mobile-menu a{font:42px var(--serif);text-transform:capitalize}.mobile-menu small{font:9px var(--sans);color:var(--gold);letter-spacing:.25em;display:block}.hero{color:#fff;background:#39221e;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-photo,.countdown-photo,.footer-photo{background-image:url(../wedding-editorial.png);background-position:50% 55%;background-size:cover;animation:12s ease-out both heroBreathe;position:absolute;inset:0;transform:scale(1.03)}.hero-shade{background:linear-gradient(#140a087a 0%,#190a0c1f 45%,#1f080d9e 100%),linear-gradient(90deg,#1e0a0826,#0000,#1e0a0826);position:absolute;inset:0}.hero-copy{z-index:2;text-align:center;width:min(1100px,90vw);padding-top:72px;animation:1.25s .2s both introUp;position:relative}.hero-kicker{letter-spacing:.35em;text-transform:uppercase;margin-bottom:35px;font-size:10px}.hero h1{font-family:var(--serif);letter-spacing:-.055em;text-shadow:0 4px 30px #00000026;flex-direction:column;margin:0;font-size:clamp(58px,10vw,138px);font-weight:400;line-height:.73;display:flex}.hero h1 i{z-index:2;color:var(--gold);font:clamp(42px, 5vw, 72px) var(--script);margin:-2px 0 -7px}.hero-date{letter-spacing:.22em;text-transform:uppercase;justify-content:center;align-items:center;gap:28px;margin-top:45px;font-size:10px;display:flex}.hero-date b{border-left:1px solid #ffffff80;padding-left:28px;font-weight:500}.scroll-cue{z-index:3;letter-spacing:.28em;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;font-size:8px;display:flex;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.scroll-cue svg{animation:2s infinite bounce}.hero-index{z-index:2;letter-spacing:.2em;text-align:right;text-transform:uppercase;margin:0;font-size:8px;line-height:1.8;position:absolute;bottom:35px;right:5.5vw}.intro{background:var(--white);grid-template-columns:.7fr 2fr .7fr;align-items:center;min-height:750px;display:grid;position:relative}.intro-mark{color:var(--champagne);font:190px/1 var(--serif);align-self:start}.intro-body{text-align:center;justify-self:center;max-width:780px}.intro-body .eyebrow{justify-content:center}.intro h2{font-size:clamp(42px,5vw,72px);line-height:1.17}.intro-body>p{width:min(570px,100%);color:var(--muted);font:300 15px/2 var(--sans);margin:35px auto}.signature{color:var(--wine);font:31px var(--script)}.vertical-note{color:#9d9391;letter-spacing:.24em;text-transform:uppercase;writing-mode:vertical-rl;margin:0;font-size:8px;position:absolute;top:50%;right:4vw;transform:translateY(-50%)}.story{background:linear-gradient(135deg, #f3ede7, var(--ivory));grid-template-columns:minmax(280px,.95fr) minmax(330px,.8fr);align-items:center;gap:10vw;display:grid}.story-image{max-width:590px;position:relative}.story-image:before{content:"";z-index:0;border:1px solid #c6a7698c;position:absolute;inset:-22px 22px 22px -22px}.story-image img{z-index:1;aspect-ratio:4/5;object-fit:cover;object-position:center 80%;position:relative}.image-number{z-index:2;color:var(--wine);font:11px var(--serif);position:absolute;bottom:-30px;right:0}.story-copy{max-width:520px}.story-copy h2{font-size:clamp(45px,5.3vw,78px);line-height:1.08}.story-rule{background:var(--gold);width:60px;height:1px;margin:36px 0}.story-copy p{color:var(--muted);font-size:13px;font-weight:300;line-height:1.9}.story-copy .lead{color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.65}.story-place{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:8px;margin-top:35px;display:flex;color:var(--maroon)!important;font-size:9px!important}.celebration{background:var(--white);padding-bottom:160px}.celebration-heading{grid-template-columns:1.3fr 1fr;align-items:end;column-gap:9vw;max-width:1170px;margin:0 auto 85px;display:grid}.celebration-heading .eyebrow{grid-column:1/-1}.celebration-heading h2{margin-bottom:0;font-size:clamp(56px,7vw,96px);line-height:.95}.celebration-heading>p{max-width:400px;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:300;line-height:1.8}.event-grid{border:1px solid #ded5cb;grid-template-columns:repeat(3,1fr);max-width:1170px;margin:auto;display:grid}.event-card{text-align:center;border-right:1px solid #ded5cb;flex-direction:column;justify-content:center;align-items:center;min-height:380px;padding:45px 30px;transition:transform .4s,box-shadow .4s,background .4s;display:flex;position:relative}.event-card:last-child{border-right:0}.event-card:hover{z-index:2;background:#fff;transform:translateY(-8px);box-shadow:0 25px 55px #45201f1f}.event-card--feature{background:var(--maroon);color:#fff;border-color:var(--maroon);transform:scale(1.045);box-shadow:0 22px 45px #6b1f2a33}.event-card--feature:hover{background:var(--wine)}.event-number{color:var(--gold);font:10px var(--serif);position:absolute;top:25px;left:30px}.event-card>p{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin:34px 0 13px;font-size:9px}.event-card--feature>p{color:var(--champagne)}.event-card h3{font:29px var(--serif)}.event-meta{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:15px;margin-top:32px;font-size:9px;display:flex}.event-meta span+span{border-left:1px solid var(--gold);padding-left:15px}.event-script{color:var(--gold);font:33px var(--script)}.countdown-section{color:#fff;place-items:center;min-height:680px;display:grid;position:relative;overflow:hidden}.countdown-photo{filter:saturate(.65);background-position:50% 70%}.countdown-overlay{background:linear-gradient(90deg,#300b13e0,#300b139e),linear-gradient(#0000,#0f000059);position:absolute;inset:0}.countdown-content{z-index:2;text-align:center;width:min(900px,88vw);position:relative}.countdown-content .eyebrow{justify-content:center}.countdown-content h2{margin:0 0 60px;font-size:clamp(48px,7vw,88px)}.countdown{border-top:1px solid #ffffff59;border-bottom:1px solid #ffffff59;grid-template-columns:repeat(4,1fr);display:grid}.countdown>div{border-right:1px solid #ffffff40;padding:28px 20px}.countdown>div:last-child{border:0}.countdown strong{font:48px var(--serif);display:block}.countdown span{color:var(--champagne);letter-spacing:.22em;text-transform:uppercase;margin-top:8px;font-size:8px;display:block}.location{background:var(--ivory);grid-template-columns:.9fr 1.1fr;align-items:center;min-height:850px;padding-left:11vw;padding-right:10vw;display:grid}.location-copy h2{margin:15px 0 35px;font-size:clamp(60px,7vw,104px);line-height:.82}.location-coordinates{color:#a39590;letter-spacing:.2em;font-size:8px;line-height:1.8}.location-address{color:var(--muted);font-size:12px;line-height:1.9}.text-link{border-bottom:1px solid var(--gold);color:var(--maroon);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;margin-top:25px;padding-bottom:8px;font-size:9px;display:inline-flex}.location-visual{justify-self:end;width:min(480px,38vw);position:relative}.arch{border:1px solid #c6a769b3;border-radius:240px 240px 4px 4px;padding:14px}.arch-image{aspect-ratio:.75;filter:sepia(.1)saturate(.8);background:url(../wedding-editorial.png) 50% 68%/cover;border-radius:220px 220px 2px 2px}.location-seal{aspect-ratio:1;width:124px;color:var(--maroon);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#f9f8f6d1;border:1px solid #c6a769b3;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:58px;left:-62px}.location-seal:before{content:"";border:1px solid #c6a76973;border-radius:50%;position:absolute;inset:7px}.location-seal b{font:27px var(--serif)}.location-seal span{letter-spacing:.22em;text-transform:uppercase;font-size:7px}.guest-details{text-align:center;background:#fff}.guest-details>.eyebrow{justify-content:center}.details-grid{border-top:1px solid #ded5cb;grid-template-columns:repeat(3,1fr);max-width:1170px;margin:60px auto 0;display:grid}.details-grid article{border-right:1px solid #ded5cb;min-height:310px;padding:65px 50px 25px;position:relative}.details-grid article:last-child{border:0}.details-grid article>span:first-child{color:var(--gold);font:10px var(--serif)}.details-grid h3{font:28px var(--serif);margin:25px 0 18px}.details-grid p{color:var(--muted);font-size:12px;font-weight:300;line-height:1.8}.details-grid a{color:var(--maroon);letter-spacing:.15em;text-transform:uppercase;align-items:center;margin-top:15px;font-size:9px;font-weight:600;display:inline-flex}.swatches{justify-content:center;gap:8px;margin-top:22px;display:flex}.swatches i{background:#251b1b;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 1px #ddd}.swatches i:nth-child(2){background:var(--maroon)}.swatches i:nth-child(3){background:#857060}.swatches i:nth-child(4){background:var(--champagne)}.heart{color:var(--wine);margin-top:20px;display:block;font-size:25px!important}.editorial-break{background:var(--champagne);grid-template-columns:1fr .8fr 1fr;align-items:center;gap:6vw;display:grid}.editorial-crop{background-image:url(../wedding-editorial.png);background-size:cover;min-height:520px;position:relative;overflow:hidden}.crop-one{background-position:15% 40%}.crop-one:after{content:"";background:linear-gradient(#0000 30%,#2f0b11a6);position:absolute;inset:0}.crop-one span{z-index:2;color:#fff;font:38px/1 var(--serif);position:absolute;bottom:32px;left:35px}.crop-one em{color:var(--gold);font:41px var(--script)}.crop-two{background-position:85% 55%;min-height:400px}.crop-two span{color:#fff;letter-spacing:.2em;writing-mode:vertical-rl;font-size:8px;position:absolute;top:20px;right:15px}.editorial-quote{text-align:center;color:var(--maroon)}.editorial-quote svg{color:var(--gold)}.editorial-quote blockquote{font:28px/1.45 var(--serif);margin:28px 0}.editorial-quote p{letter-spacing:.2em;text-transform:uppercase;font-size:8px}.rsvp{background:var(--maroon);color:#fff;grid-template-columns:.85fr 1fr;align-items:center;gap:10vw;min-height:830px;padding-left:11vw;padding-right:11vw;display:grid}.rsvp h2{margin-bottom:25px;font-size:clamp(56px,6vw,86px);line-height:1}.rsvp-copy>p{color:var(--champagne);font-size:12px;line-height:1.9}.rsvp-date{border-left:1px solid var(--gold);flex-direction:column;margin-top:60px;padding-left:20px;display:flex}.rsvp-date span{letter-spacing:.2em;font-size:8px}.rsvp-date b{font:20px var(--serif);margin-top:8px}.form-wrap{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #efe5d859;padding:54px;box-shadow:0 30px 80px #1d020833}.form-wrap form{gap:27px;display:grid}.form-wrap label,.form-wrap legend{color:var(--champagne);letter-spacing:.17em;text-transform:uppercase;font-size:8px}.form-wrap input[type=text],.form-wrap select,.form-wrap textarea{color:#fff;letter-spacing:0;text-transform:none;resize:vertical;background:0 0;border:0;border-bottom:1px solid #fff6;border-radius:0;outline:none;width:100%;margin-top:10px;padding:11px 0;font-size:13px}.form-wrap input:focus,.form-wrap select:focus,.form-wrap textarea:focus{border-color:var(--gold)}.form-wrap input::placeholder,.form-wrap textarea::placeholder{color:#ffffff7a}.form-wrap select option{color:var(--ink)}.form-wrap fieldset{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;display:grid}.form-wrap legend{margin-bottom:13px}.radio{display:block;position:relative}.radio input{opacity:0;position:absolute}.radio span{color:#ffffffbf;text-align:center;cursor:pointer;border:1px solid #ffffff4d;padding:14px;transition:all .3s;display:block}.radio input:checked+span{border-color:var(--gold);background:var(--gold);color:#3c1820}.submit-button{border:1px solid var(--gold);background:var(--gold);color:#3d1921;letter-spacing:.19em;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:8px;padding:17px;font-size:9px;font-weight:600;transition:all .3s;display:flex}.submit-button:hover{color:#fff;background:0 0}.submit-button svg{transition:transform .3s}.submit-button:hover svg{transform:translate(4px)}.success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:390px;display:flex}.success>span{border:1px solid var(--gold);width:54px;height:54px;color:var(--gold);border-radius:50%;place-items:center;margin-bottom:25px;display:grid}.success h3{font:36px var(--serif);margin-bottom:15px}.success p{max-width:380px;color:var(--champagne);font-size:12px;line-height:1.8}.success button{color:var(--gold);border:0;border-bottom:1px solid var(--gold);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:20px;padding:8px;font-size:8px}.footer{color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:720px;display:flex;position:relative;overflow:hidden}.footer-photo{background-position:50% 62%}.footer-overlay{background:linear-gradient(#19040940,#190409d1),linear-gradient(90deg,#23070c40,#0000);position:absolute;inset:0}.footer-content{z-index:2;text-align:center;position:relative}.footer-content>p{letter-spacing:.3em;text-transform:uppercase;font-size:9px}.footer-content h2{margin:25px 0;font-size:clamp(48px,7vw,102px)}.footer-content h2 i{color:var(--gold);font:1em var(--script)}.footer-content>span{letter-spacing:.23em;text-transform:uppercase;font-size:9px}.footer-bottom{z-index:3;border-top:1px solid #ffffff40;grid-template-columns:1fr 1fr 1fr;align-items:center;height:90px;display:grid;position:absolute;bottom:0;left:5.5vw;right:5.5vw}.footer-bottom p{text-align:center;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:8px}.footer-bottom>a{letter-spacing:.16em;text-transform:uppercase;justify-self:end;font-size:8px}@keyframes heroBreathe{0%{transform:scale(1.09)}to{transform:scale(1.03)}}@keyframes introUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (width<=900px){.section{padding:100px max(6vw,24px)}.site-header{grid-template-columns:1fr 1fr;height:78px}.desktop-nav,.nav-rsvp{display:none}.menu-button{display:block}.hero h1{line-height:.85}.hero-index{display:none}.intro{grid-template-columns:1fr;min-height:680px}.intro-mark,.vertical-note{display:none}.story{gap:8vw}.celebration-heading{grid-template-columns:1fr}.celebration-heading h2{margin-bottom:35px}.event-card{min-height:330px;padding:30px 15px}.event-meta{flex-direction:column;gap:8px}.event-meta span+span{border-left:0;border-top:1px solid var(--gold);padding:8px 0 0}.location{padding-left:7vw;padding-right:7vw}.details-grid article{padding:50px 24px 20px}.editorial-break{gap:3vw}.rsvp{gap:6vw;padding-left:7vw;padding-right:7vw}.form-wrap{padding:35px}}@media (width<=680px){.section{padding:88px 22px}.hero-photo{background-position:55%}.hero-copy{padding-top:20px}.hero-kicker{margin-bottom:28px;font-size:8px}.hero h1{font-size:clamp(53px,17vw,80px);line-height:.84}.hero h1 i{margin:-4px 0 -2px;font-size:45px}.hero-date{flex-direction:column;gap:12px;margin-top:36px}.hero-date b{border-top:1px solid #ffffff80;border-left:0;padding:12px 0 0}.scroll-cue{bottom:24px}.intro{min-height:620px}.intro-body .eyebrow{margin-bottom:24px}.intro h2{font-size:39px}.desktop-break{display:none}.intro-body>p{font-size:13px;line-height:1.85}.story{grid-template-columns:1fr;gap:75px;padding-top:110px}.story-image{margin-left:15px}.story-copy h2{font-size:48px}.celebration-heading{margin-bottom:50px}.celebration-heading h2{font-size:58px}.event-grid{border:0;grid-template-columns:1fr;gap:14px}.event-card{border:1px solid #ded5cb;min-height:320px}.event-card:last-child{border-right:1px solid #ded5cb}.event-card--feature{border-color:var(--maroon);order:-1;transform:none}.countdown-section{min-height:620px}.countdown-content h2{margin-bottom:42px;font-size:45px}.countdown strong{font-size:30px}.countdown>div{padding:22px 8px}.countdown span{letter-spacing:.13em;font-size:6px}.location{text-align:center;grid-template-columns:1fr;gap:75px}.location .eyebrow{justify-content:center}.location-copy h2{font-size:70px}.location-visual{justify-self:center;width:min(380px,82vw)}.location-seal{width:100px;bottom:30px;left:-15px}.details-grid{grid-template-columns:1fr;margin-top:35px}.details-grid article{border-bottom:1px solid #ded5cb;border-right:0;min-height:auto;padding:50px 20px}.editorial-break{grid-template-columns:1fr;gap:50px}.editorial-crop{min-height:480px}.crop-two{display:none}.editorial-quote{padding:20px}.rsvp{text-align:center;grid-template-columns:1fr;gap:60px}.rsvp .eyebrow{justify-content:center}.rsvp h2{font-size:56px}.rsvp-date{border-left:0;border-top:1px solid var(--gold);align-items:center;padding:20px 0 0}.form-wrap{text-align:left;padding:35px 22px}.form-wrap fieldset{grid-template-columns:1fr}.footer{min-height:650px}.footer-content h2{flex-direction:column;font-size:57px;line-height:.8;display:flex}.footer-content h2 i{margin:8px 0}.footer-bottom{grid-template-columns:1fr 1fr;height:80px}.footer-bottom p{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}[data-reveal]{opacity:1;transform:none}}
