@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#354437;background:#f8f7f2;--forest:#364c3b;--ivory:#f8f7f2;--gold:#957d4e;--ink:#354437;--line:#d9ddd2;--warm-white:#fffefa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;line-height:1.08;margin:0}p{line-height:1.8}svg{flex-shrink:0}a{text-underline-offset:4px}::selection{background:#d9ddc9}:focus-visible{outline:3px solid #9a7434;outline-offset:5px}.eyebrow,.section-header>span{font-size:10px;letter-spacing:2.5px;font-weight:600;text-transform:uppercase;color:#718167}.primary-button,.secondary-button,.button-row a{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:17px 25px;min-height:48px;text-decoration:none;border:1px solid var(--forest);border-radius:2px;font-size:12px;font-weight:500;transition:background .2s,transform .2s}.primary-button{background:var(--forest);color:#fff}.primary-button:hover{background:#243a29;transform:translateY(-2px)}.secondary-button,.button-row a{background:transparent;color:var(--forest)}.secondary-button:hover,.button-row a:hover{background:#e5e8dd}.primary-button svg,.secondary-button svg{width:16px;height:16px}.cover{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:linear-gradient(90deg,#142c24a8,#142c2475),url(/photos/wedding.jpg) center 48%/cover;padding:24px;overflow:auto}.cover-frame{text-align:center;color:#f8f7f2;width:min(660px,100%);border:1px solid #ffffff55;padding:40px 28px;background:#1d352a22;animation:reveal .8s both}.cover-brand{font-family:Georgia,serif;font-size:23px;letter-spacing:6px;display:block;margin-bottom:30px}.cover-brand small{display:block;font:8px Arial;letter-spacing:4px;margin-top:8px}.cover .eyebrow{color:#f1e9d9;font-size:9px}.initials{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:35px;border:1px solid #e8e9d577;border-radius:50%;width:80px;height:80px;display:grid;place-items:center;margin:25px auto}.cover h1{font-size:clamp(45px,7vw,74px)}.cover-date{font-size:10px;letter-spacing:4px;margin:25px 0}.cover .primary-button{background:#f5f2e7;color:#344b3b;border-color:#f5f2e7}.cover-note{font-size:8px;letter-spacing:1.8px;margin-top:30px;opacity:.7}.demo-bar{height:29px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:8px;letter-spacing:2px;color:#ebeee5;background:var(--forest)}.demo-bar span{opacity:.5}.site-nav{height:84px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--ivory);position:sticky;top:0;z-index:10}.monogram{text-decoration:none;font:30px Cormorant Garamond,Georgia,serif;letter-spacing:-2px}.monogram span{font-style:italic;color:#8f9c81;padding:0 3px}.site-nav nav{display:flex;gap:32px}.site-nav nav a{text-decoration:none;font-size:11px;color:#657060}.site-nav nav a:hover{color:#172c1c}.nav-rsvp{display:flex;align-items:center;gap:14px;font-size:11px;text-decoration:none;border-bottom:1px solid #a6b19c;padding-bottom:6px}.hero-section{display:grid;grid-template-columns:1fr 1fr;column-gap:6%;padding:30px 6% 0;max-width:1600px;margin:auto}.hero-issue{grid-column:1/-1;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.7px;color:#818574;padding-bottom:27px}.hero-copy{align-self:center;padding:30px 0 25px}.tiny-line{display:inline-block;width:26px;height:1px;background:#8c9a80;vertical-align:middle;margin-right:12px}.hero-copy h1{font-size:clamp(68px,7.7vw,120px);letter-spacing:-4px;line-height:.93;margin-top:28px;position:relative}.hero-copy h1 em{font-size:.66em;color:#a4ad94;font-weight:400}.hero-star{position:absolute;font-family:Georgia,serif;font-size:54px;color:#9aa789;right:15px;bottom:5px;font-weight:400}.hero-copy>p{max-width:310px;color:#78806e;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:23px;line-height:1.5;margin:28px 0}.hero-date{display:flex;gap:17px;align-items:center;margin:25px 0 30px}.hero-date>span{font:49px Cormorant Garamond,Georgia,serif;border-right:1px solid #cbd2c2;padding-right:17px;line-height:1}.hero-date>div{font-size:11px;letter-spacing:2px;line-height:1.6}.hero-date small{display:block;font-size:8px;letter-spacing:1px;color:#7e8475;margin-top:4px}.calendar-link{display:flex;align-items:center;gap:9px;border:0;background:none;padding:15px 0;font-size:10px;color:#78816e}.hero-image{position:relative;min-height:550px;max-height:680px;overflow:hidden;border-radius:230px 230px 2px 2px;margin:0 0 15px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:35px 25px 23px;background:linear-gradient(transparent,#142c24a6);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.8px}.hero-bottom{grid-column:1/-1;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:25px 0 30px;color:#7e8775;font-size:8px;letter-spacing:1.5px}.hero-bottom a{display:flex;align-items:center;gap:12px;text-decoration:none}.countdown-band{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1400px;margin:auto;padding:42px 6%;border-bottom:1px solid var(--line)}.countdown-intro h2{font-size:32px;margin-top:9px}.countdown-grid{display:grid;grid-template-columns:repeat(4,80px);gap:15px;text-align:center}.countdown-item strong{display:block;font:43px Cormorant Garamond,Georgia,serif;line-height:1.1}.countdown-item span{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#79846e}.countdown-heart{color:#a3ad93}.content-section{width:min(1120px,88%);margin:auto;padding:90px 0}.content-section.narrow{width:min(700px,88%);text-align:center}.section-header{margin-bottom:28px}.section-header h2{font-size:clamp(37px,4.2vw,58px);margin-top:16px;max-width:660px;letter-spacing:-1px}.narrow .section-header h2{margin-left:auto;margin-right:auto}.lead{font-size:14px;line-height:1.95;color:#6a7664;margin:0}.invitation-message>svg{color:#8c9d7b;margin-bottom:20px}.invitation-message .section-header h2{font-size:48px}.signature{font:italic 25px Cormorant Garamond,Georgia,serif;margin-top:24px;color:#657b55}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.story-card img{width:100%;height:270px;object-fit:cover;filter:saturate(.65)}.story-card:nth-child(2){padding-top:45px}.story-card:nth-child(3){padding-top:90px}.story-card>div{padding:24px 0}.story-card span{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#7c8b6c}.story-card h3{font-size:29px;margin-top:13px}.story-card p{font-size:12px;color:#748068;line-height:1.85}.helper-text{font-size:11px;color:#78816e;line-height:1.8}.places-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.place-card{padding:36px;border:1px solid var(--line);background:#f1f2e9}.place-icon{color:#7e8d6c;margin-bottom:18px}.place-icon svg{width:27px;height:27px;stroke-width:1}.place-card h3{font-size:37px}.place-time{display:flex;align-items:center;gap:10px;font-size:12px}.place-time svg{width:15px}.place-card .venue{font-size:16px;color:#40533b}.place-card p{font-size:12px;color:#6e7b63}.button-row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.button-row a{font-size:10px;min-height:40px;padding:12px 20px;border-color:#bfc9b4}.content-section.muted{width:100%;background:#e9eddf;padding:70px max(6%,calc((100% - 1120px)/2))}.timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-top:45px}.timeline-item{border-top:1px solid #b5c0a5;padding:28px 18px 0 0;position:relative}.timeline-item:before{content:"";height:7px;width:7px;position:absolute;top:-4px;border-radius:50%;background:#7b8d65}.timeline-item time{font-size:10px;color:#6c7e5a}.timeline-item h3{font-size:27px;margin-top:15px}.timeline-item p{font-size:11px;color:#748265}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.palette{display:flex;gap:20px;text-align:center}.swatch{flex:1}.swatch>span{display:block;border-radius:50%;width:55px;height:55px;margin:auto}.swatch p{font-size:9px;color:#7b856f}.gallery-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:20px;margin-top:30px;align-items:center}.gallery-item{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}.gallery-item img{height:340px;width:100%;object-fit:cover;filter:saturate(.7);transition:transform .4s}.gallery-item:nth-child(2) img{height:420px}.gallery-item:hover img{transform:scale(1.04)}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:65px;background:#132319ed}.lightbox img{max-height:82vh;max-width:85vw;object-fit:contain}.icon-button{position:fixed;width:45px;height:45px;border:1px solid #ffffff66;border-radius:50%;display:grid;place-items:center;background:#273d2f;color:#fff}.icon-button.close{top:20px;right:20px}.icon-button.previous{left:18px;top:50%}.icon-button.next{right:18px;top:50%}.rsvp-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.rsvp-section .section-header h2{font-size:65px}.demo-explanation{font-size:10px;line-height:1.8;color:#7b8470;border-left:2px solid #b7c2a9;padding-left:15px;margin-top:35px;max-width:340px}.rsvp-form{display:grid;gap:18px;background:#f0f2e9;padding:30px}.rsvp-form label{display:grid;gap:9px;font-size:10px;letter-spacing:.3px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;min-height:45px;background:#fafbf7;border:1px solid #d3d9c9;border-radius:0;padding:12px;font-size:12px;color:#344b3b}.rsvp-form textarea{resize:vertical;min-height:85px}.rsvp-form input:disabled{opacity:.4}.form-error{font-size:12px;color:#a02d2d}.message-preview{padding:20px;background:#fffefa;font-size:12px;border:1px solid #bdc9ad}.message-preview pre{font:11px/1.9 DM Sans,Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.message-preview small{display:block;font-size:9px;margin-top:12px;color:#758267}.gift-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.gift-list article{border:1px solid var(--line);padding:24px}.gift-list h3{font-size:27px}.gift-list p{font-size:12px;color:#718062}.gifts>svg{color:#8a9b75;width:28px;margin-bottom:15px}.closing{background:var(--forest);color:#f5f3e9;text-align:center;padding:75px 20px 30px;display:grid;justify-items:center;gap:20px}.closing>p{font-size:11px;letter-spacing:1px;color:#c0cab4}.closing h2{font-size:clamp(43px,6vw,80px)}.closing>span{font-size:10px;letter-spacing:1.6px;color:#c0cab4}.closing .secondary-button{color:#eff1e6;border-color:#819273;margin-top:10px}.closing .secondary-button:hover{background:#4b6143}.brand-footer{width:min(1120px,100%);border-top:1px solid #ffffff25;margin-top:45px;padding-top:35px;font:22px Georgia,serif;letter-spacing:5px}.brand-footer small{display:block;font:7px Arial;letter-spacing:3px;margin-top:7px}.brand-footer p{font:11px Cormorant Garamond,Georgia,serif;letter-spacing:.3px;margin:14px 0 24px;color:#c1cbb5}.brand-footer>span{font:7px Arial;letter-spacing:1.5px;color:#b0bda3}.music-control{position:fixed;bottom:20px;right:20px;z-index:15}.music-control button{display:flex;align-items:center;gap:9px;padding:13px 17px;border:1px solid #d3dac9;border-radius:30px;color:#405536;background:#fafbf4ed;box-shadow:0 5px 15px #24332c15;font-size:10px}.music-control svg{width:15px;height:15px}.music-control>span{display:block;max-width:200px;background:#fff;font-size:10px}.image-fallback{min-height:240px;display:grid;place-items:center;background:#dce3cf}.not-found{padding:15vh 8%;text-align:center}.not-found h1{font-size:50px}.main-content{animation:reveal .7s both}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.hero-image{height:650px}.hero-copy h1{font-size:125px}}@media(max-width:1000px){.hero-copy h1{font-size:80px}.hero-star{display:none}.hero-image{min-height:500px}.hero-issue{font-size:7px}.countdown-heart{display:none}.countdown-grid{grid-template-columns:repeat(4,60px)}.two-column,.rsvp-section{gap:35px}.story-grid{gap:20px}.story-card img{height:230px}.palette{gap:10px}.swatch>span{width:45px;height:45px}.timeline{grid-template-columns:repeat(5,1fr)}}@media(max-width:700px){html{scroll-padding-top:80px}.demo-bar{font-size:6px;letter-spacing:1.3px;height:25px}.site-nav{height:68px;padding:0 6%}.site-nav nav{gap:15px}.site-nav nav a{font-size:9px}.site-nav nav a:first-child{display:none}.nav-rsvp{font-size:9px;gap:5px}.monogram{font-size:26px}.hero-section{grid-template-columns:1fr;padding-top:23px;gap:0}.hero-issue{padding-bottom:10px;font-size:6px;letter-spacing:1px}.hero-copy{padding:25px 0 10px}.hero-copy h1{font-size:clamp(72px,16vw,100px);line-height:.9;margin-top:23px;letter-spacing:-3px}.hero-copy>p{font-size:22px;margin:23px 0;max-width:280px}.hero-date{margin:20px 0}.hero-date>span{font-size:43px}.hero-copy .primary-button{padding:15px 23px}.calendar-link{padding:15px 0 22px}.hero-image{min-height:0;height:430px;margin-top:0;border-radius:200px 200px 0 0}.hero-bottom{padding:20px 0;font-size:6px;letter-spacing:.8px}.countdown-band{flex-direction:column;gap:24px;padding:35px 6%}.countdown-intro{text-align:center}.countdown-intro h2{font-size:30px}.countdown-grid{grid-template-columns:repeat(4,60px);gap:15px}.countdown-item strong{font-size:38px}.content-section{padding:60px 0}.section-header h2{font-size:39px;letter-spacing:-.5px}.section-header>span{font-size:8px;letter-spacing:2px}.invitation-message .section-header h2{font-size:41px}.story-grid{grid-template-columns:1fr;gap:25px}.story-card:nth-child(n){padding-top:0}.story-card{display:grid;grid-template-columns:40% 1fr;gap:22px;align-items:center}.story-card img{height:210px}.story-card>div{padding:0}.story-card h3{font-size:28px}.story-card span{font-size:8px;letter-spacing:1px}.story-card p{font-size:11px;line-height:1.7}.places-grid,.two-column,.rsvp-section{grid-template-columns:1fr}.place-card{padding:30px}.content-section.muted{padding:55px 6%}.timeline{grid-template-columns:1fr;margin-top:30px;gap:0}.timeline-item{display:grid;grid-template-columns:75px 1fr;border-top:0;border-left:1px solid #b5c0a5;padding:0 0 30px 25px;gap:15px}.timeline-item:before{top:4px;left:-4px}.timeline-item time{padding-top:5px}.timeline-item h3{margin-top:0}.timeline-item p{margin-bottom:0}.two-column{gap:30px}.palette{gap:15px}.swatch>span{width:50px;height:50px}.gallery-grid{gap:9px;grid-template-columns:1fr 1fr}.gallery-item img,.gallery-item:nth-child(2) img{height:240px}.gallery-item:last-child{grid-column:1/-1}.gallery-item:last-child img{height:260px}.rsvp-section{gap:30px}.rsvp-section .section-header h2{font-size:50px}.rsvp-form{padding:22px}.demo-explanation{margin-top:20px}.gift-list{grid-template-columns:1fr}.closing{padding-top:60px}.music-control{bottom:15px;right:12px}.music-control span{display:none}.music-control button{padding:14px}.cover-frame{padding:28px 20px}.cover-brand{margin-bottom:25px}.cover h1{font-size:46px}.lightbox{padding:65px 25px}.lightbox img{max-width:90vw;max-height:75vh}.icon-button.previous,.icon-button.next{top:auto;bottom:20px}.lead{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
