:root{--ink:#273b34;--olive:#626d53;--cream:#f6f2e9;--sand:#eae3d5;--white:#fffcf7;--muted:#6a7168;--line:#d6d3c9;--serif:"Playfair Display",Georgia,serif;--display:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h2{font:400 clamp(44px,5.5vw,88px)/1.13 var(--serif);letter-spacing:-.055em}h2 em,h3 em,.quote-band em{font-weight:400}p{line-height:1.8}.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.24em;color:var(--olive);text-transform:uppercase}.eyebrow.light{color:#e6e0cd}.announcement{height:29px;background:var(--ink);color:#f6f1e8;text-align:center;font-size:9px;letter-spacing:.19em;display:flex;justify-content:center;align-items:center;gap:14px}.announcement span{opacity:.6}.header{height:81px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;z-index:20;position:relative}.brand{font:42px/.9 var(--display);letter-spacing:-.08em}.brand span{font:italic 22px var(--serif);padding:0 3px}.nav{display:flex;gap:27px;align-items:center}.nav a{font-size:10px;letter-spacing:.085em;text-transform:uppercase;transition:opacity .2s}.nav a:hover{opacity:.55}.nav .nav-rsvp{border:1px solid var(--ink);padding:15px 19px}.nav-toggle{display:none}.hero{height:min(820px,calc(100svh - 110px));min-height:600px;color:#fbf5e8;position:relative;overflow:hidden}.hero-backdrop,.hero-tint,.hero-photo{position:absolute;top:0;right:0;bottom:0;left:0}.hero-backdrop{background:#778376}.hero-photo{background:linear-gradient(128deg,#819487,#647d73 39%,#b5ad93 62%,#526b60);background-position:center;background-size:cover;transform:scale(1.02)}.hero-photo.has-image{background-position:center 47%}.hero-tint{background:linear-gradient(180deg,#16231d5e,#14262021 35%,#17221e59)}.hero-inner{height:100%;position:relative;padding:34px 5.5% 26px;display:flex;flex-direction:column;justify-content:space-between}.hero-topline,.hero-bottom{display:flex;justify-content:space-between;font-size:9px;font-weight:600;letter-spacing:.2em}.hero-content{text-align:center;margin-top:-10px}.hero-content h1{font:400 clamp(95px,15vw,225px)/.79 var(--display);letter-spacing:-.06em;margin:32px 0 45px;text-shadow:0 2px 25px rgba(0,0,0,.06)}.hero-content h1 span{display:block}.hero-content h1 i{font:italic 400 clamp(42px,6vw,85px)/.65 var(--serif);display:block;letter-spacing:0;margin:7px 0 21px}.hero-date{font-size:12px;letter-spacing:.29em}.hero-date span{margin:0 13px}.hero-scroll{display:inline-flex;gap:30px;align-items:center;margin-top:35px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:10px;font-size:10px;letter-spacing:.18em}.hero-scroll span{font-size:18px}.section-pad{padding:125px max(7%,calc((100vw - 1330px)/2))}.welcome{text-align:center;max-width:1000px;margin:auto;padding-top:150px;padding-bottom:145px}.tiny-mark{font-size:23px;margin-bottom:32px;color:var(--olive)}.welcome h2{margin:20px 0 32px}.welcome>p:not(.eyebrow){max-width:550px;margin:0 auto;font-size:14px;color:#61695f}.date-divider{display:flex;justify-content:center;align-items:center;margin:58px auto 0;gap:25px;color:var(--ink)}.date-divider span:first-child{font:80px/.9 var(--display)}.date-divider span:nth-child(2){font-size:11px;letter-spacing:.14em;text-align:left;line-height:1.7;padding-right:25px;border-right:1px solid var(--line)}.date-divider span:last-child{font-size:11px;letter-spacing:.13em}.split{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.story{background:#e8e5d9}.story-art{position:relative;min-height:650px;padding:70px 13%;display:flex;align-items:center}.photo{background-position:center;background-size:cover;position:relative;overflow:hidden}.photo-placeholder{font-size:10px;letter-spacing:.22em;color:#f5f1e9;border:1px solid #ffffff75;padding:13px 19px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;text-align:center}.has-image .photo-placeholder{display:none}.story-photo{height:560px;width:100%;background:linear-gradient(145deg,#abb2a2,#7a887c 46%,#475b4c);box-shadow:20px 22px #d9d6c9}.story-stamp{position:absolute;bottom:63px;right:10%;border-radius:50%;width:120px;height:120px;background:var(--cream);border:1px solid #b2b6a6;display:flex;align-items:center;justify-content:center;font:53px var(--display);letter-spacing:-.12em;transform:rotate(-12deg)}.story-stamp span{font:italic 22px var(--serif);margin:0 5px}.story-copy{display:flex;flex-direction:column;justify-content:center;padding:95px 13% 100px 9%;max-width:670px}.story-copy h2{margin:22px 0 34px}.story-copy>p:not(.eyebrow){color:#5f675e;font-size:14px;max-width:470px;margin-bottom:20px}.signature{margin-top:32px;font:italic 26px var(--serif)}.quote-band{background:var(--ink);color:var(--cream);text-align:center;padding:95px 20px 75px}.quote-band p{font:400 clamp(27px,3.2vw,47px)/1.5 var(--serif);margin:0 0 30px}.quote-band span{font:10px var(--sans);letter-spacing:.3em;color:#c9c9b6}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}.section-head h2{margin:20px 0 0}.section-head>p{font-size:14px;color:var(--muted);max-width:280px;margin-bottom:9px}.event{background:var(--white)}.event-layout{display:grid;grid-template-columns:1.4fr .8fr;background:var(--sand)}.event-photo-wrap{padding:30px}.event-photo{height:540px;background:linear-gradient(135deg,#879988,#556f62 40%,#afa995);background-position:center;background-size:cover}.event-info{display:flex;flex-direction:column;justify-content:center;padding:60px 10%}.event-date{display:flex;align-items:center;gap:17px;margin-bottom:32px}.event-date strong{font:110px/.85 var(--display)}.event-date span{font-size:12px;line-height:1.9;letter-spacing:.16em}.event-info h3{font:46px/1.1 var(--serif);margin-bottom:10px}.event-info p{font-size:14px;color:#586157}.event-info .event-time{margin-top:20px}.text-link{border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;gap:50px;align-items:center;width:max-content;max-width:100%;padding-bottom:12px;font-size:10px;font-weight:700;letter-spacing:.18em;margin-top:17px}.timeline{margin-top:110px}.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:25px;border-top:1px solid var(--line)}.timeline-item{padding:27px 26px 14px 0;position:relative}.timeline-item:not(:last-child){border-right:1px solid var(--line);margin-right:25px}.timeline-index{color:#879083;font:11px var(--sans)}.timeline-time{display:block;font:italic 27px var(--serif);margin:24px 0 14px}.timeline-item h3{font:25px var(--serif);margin-bottom:10px}.timeline-item p{font-size:13px;color:#646d62;max-width:300px}.travel{background:#e7e9dd}.travel-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 11% 110px 14%}.travel-copy h2{margin:17px 0 30px}.travel-copy>p:not(.eyebrow){font-size:14px;color:#5e695f;max-width:460px}.travel-details{width:100%;margin:20px 0 22px}.travel-details>div{display:flex;gap:15px;border-top:1px solid #c6cec1;padding:17px 0}.travel-details span{min-width:100px;font-size:10px;letter-spacing:.15em}.travel-details strong{font-size:13px;line-height:1.6;font-weight:400}.outline-button{display:inline-block;border:1px solid var(--ink);padding:17px 24px;margin-top:12px;font-size:10px;letter-spacing:.16em;transition:background .2s,color .2s}.outline-button:hover{background:var(--ink);color:#fff}.travel-art{min-height:720px;position:relative;padding:70px 10% 80px 7%;display:flex}.travel-photo{flex:1;background:linear-gradient(155deg,#b3bfab,#829a94 40%,#446c6f 80%)}.travel-caption{position:absolute;left:0;bottom:100px;background:var(--cream);padding:15px 27px;font-size:10px;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg)}.travel-caption span{margin:20px 0}.details{background:var(--white)}.accordion{max-width:900px;margin:auto}.accordion details{border-bottom:1px solid var(--line);padding:0 5px}.accordion details:first-child{border-top:1px solid var(--line)}.accordion summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:24px 0;font:22px var(--serif)}.accordion summary::-webkit-details-marker{display:none}.accordion .plus{font:26px var(--sans);font-weight:300}.accordion details[open] .plus{transform:rotate(45deg)}.accordion details p{max-width:710px;font-size:14px;color:var(--muted);margin:0 0 30px}.gift{background:#34483e;color:#f8f4e8;text-align:center;padding:112px 20px 118px}.gift-line{font-size:25px;margin-bottom:25px}.gift h2{margin:20px auto 30px}.gift>p:not(.eyebrow){font-size:14px;max-width:480px;margin:0 auto 35px;color:#e0e3d8}.gift-coming{font-size:10px;letter-spacing:.2em;border-bottom:1px solid #cbd0c2;padding:12px}.cream-button{display:inline-block;padding:20px 28px;background:var(--cream);color:var(--ink);font-size:10px;letter-spacing:.16em}.rsvp{text-align:center;max-width:1050px;margin:auto}.rsvp-ornament{font:37px var(--display);letter-spacing:.04em;color:var(--olive);margin-bottom:20px}.rsvp-ornament i{font:italic 26px var(--serif)}.rsvp h2{margin:13px 0 25px}.rsvp-intro{font-size:14px;color:var(--muted)}.rsvp-deadline{font-size:12px}.rsvp form{text-align:left;max-width:660px;margin:52px auto 0}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.field label,fieldset legend{font-size:11px;font-weight:700;letter-spacing:.06em}.field input,.field textarea{width:100%;border:1px solid #d0d2c8;border-radius:0;background:transparent;color:var(--ink);outline:none;padding:15px 16px;font-size:14px;transition:border .2s}.field input:focus,.field textarea:focus{border-color:var(--olive)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}fieldset{border:0;padding:0;margin:4px 0 25px}fieldset legend{margin-bottom:15px}.radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;margin-right:25px;margin-bottom:10px}.radio input{accent-color:var(--ink)}.privacy-note{font-size:11px;color:#72776e;margin:10px 0 24px}.solid-button{width:100%;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--ink);color:var(--cream);background:var(--ink);padding:20px 25px;font-size:11px;letter-spacing:.17em;transition:opacity .2s}.solid-button:hover{opacity:.85}.solid-button:disabled{opacity:.6;cursor:wait}.form-status{font-size:13px;text-align:center;margin-top:19px}.form-status.success{color:#336941}.form-status.error{color:#a13b39}.honeypot{position:absolute;left:-9999px;opacity:0}.footer{padding:65px 6% 26px;background:var(--sand)}.footer-top{text-align:center;display:flex;align-items:center;flex-direction:column;gap:15px}.footer-top>span{font-size:10px;letter-spacing:.2em}.footer-top strong{font:56px var(--display);letter-spacing:-.04em}.footer-top strong i{font:italic 25px var(--serif)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:60px;padding-top:24px;border-top:1px solid #cbd0c4;font-size:9px;letter-spacing:.12em}.footer-bottom a{text-decoration:underline;text-underline-offset:5px}::selection{background:#c6cbb8;color:var(--ink)}@media(max-width:1050px){.nav{gap:13px}.nav a{font-size:9px}.header{padding:0 4%}.section-pad{padding:90px 6%}.story-copy{padding:75px 9%}.story-art{padding:50px 10%}.event-info{padding:45px 7%}.event-photo{height:480px}.travel-copy{padding:70px 9%}.travel-art{min-height:630px}.split{min-height:640px}}@media(max-width:760px){.announcement{font-size:8px;gap:8px}.header{height:69px;padding:0 6%}.brand{font-size:37px}.nav-toggle{display:flex;border:0;background:transparent;flex-direction:column;gap:7px;padding:12px}.nav-toggle span{width:27px;height:1px;background:var(--ink)}.nav{display:none;position:absolute;top:69px;left:0;right:0;padding:25px 6% 35px;background:var(--cream);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 20px #1e342119}.nav-open .nav{display:flex}.nav a{font-size:12px;padding:16px 0;border-bottom:1px solid var(--line)}.nav .nav-rsvp{margin-top:16px;text-align:center;padding:16px}.hero{min-height:590px;height:calc(100svh - 98px);max-height:800px}.hero-inner{padding:25px 6% 22px}.hero-topline,.hero-bottom{font-size:8px;letter-spacing:.1em}.hero-topline span:last-child,.hero-bottom span:last-child{display:none}.hero-content h1{font-size:clamp(89px,19vw,160px);margin:25px 0 42px}.hero-content h1 i{font-size:50px}.hero-date{font-size:10px;letter-spacing:.13em}.hero-scroll{margin-top:25px}.section-pad{padding:78px 7%}.welcome{padding-top:100px;padding-bottom:90px}.welcome h2{font-size:clamp(42px,9vw,70px)}.welcome>p:not(.eyebrow){font-size:13px}.date-divider{gap:14px}.date-divider span:first-child{font-size:65px}.date-divider span:nth-child(2),.date-divider span:last-child{font-size:9px}.date-divider span:nth-child(2){padding-right:15px}.split{display:flex;flex-direction:column}.story-art{min-height:540px;padding:45px 15% 60px}.story-photo{height:450px;box-shadow:14px 16px #d9d6c9}.story-stamp{right:8%;bottom:40px;width:95px;height:95px;font-size:43px}.story-copy{padding:65px 9% 85px}.story-copy h2{font-size:clamp(43px,9vw,70px)}.quote-band{padding:75px 7% 70px}.quote-band p{font-size:30px}.section-head{display:block;margin-bottom:35px}.section-head h2{font-size:clamp(41px,9vw,66px);margin-bottom:18px}.section-head>p{max-width:500px}.event-layout{grid-template-columns:1fr}.event-photo-wrap{padding:15px}.event-photo{height:370px}.event-info{padding:40px 9% 45px}.event-date strong{font-size:92px}.event-info h3{font-size:38px}.timeline{margin-top:70px}.timeline-grid{grid-template-columns:1fr}.timeline-item{border-right:0!important;margin-right:0!important;border-bottom:1px solid var(--line);padding:24px 0}.timeline-time{margin:14px 0 10px}.travel-copy{padding:75px 9% 70px}.travel-art{min-height:530px;padding:0 7% 70px}.travel-photo{min-height:470px}.travel-caption{bottom:85px;left:0}.accordion summary{font-size:19px}.gift{padding:90px 8%}.gift h2{font-size:clamp(45px,9vw,70px)}.rsvp h2{font-size:clamp(46px,9vw,70px)}.field-row{grid-template-columns:1fr;gap:0}.footer-top strong{font-size:45px}.footer-bottom{flex-wrap:wrap;justify-content:center;text-align:center;line-height:1.7}.footer-bottom span:first-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}[hidden]{display:none!important}.countdown{background:#e8e9df;text-align:center}.countdown h2{margin:14px 0 45px}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:810px;margin:0 auto 35px}.count-grid>div{padding:12px;border-right:1px solid #b9c3b5}.count-grid>div:last-child{border:0}.count-grid strong{display:block;font:clamp(40px,6vw,90px)/1.1 var(--display);font-weight:400}.count-grid span{display:block;font-size:10px;letter-spacing:.15em;margin-top:14px}.countdown>p:last-child{font-size:13px}.guest-choice{padding:15px 0!important;border-top:1px solid #d9ddcf;margin-top:15px}.guest-choice legend{font:22px var(--serif);padding-top:10px}.rsvp #lookup-form{margin-top:30px}.rsvp #rsvp-form{margin-top:25px}.admin-page{max-width:1200px;margin:auto;padding:40px 5% 100px}.admin-heading{text-align:center;margin:60px 0 30px}.admin-heading h1{font:clamp(44px,6vw,82px) var(--display);margin:14px 0}.admin-heading h1 em{font:italic .75em var(--serif)}.admin-login{max-width:450px;margin:auto}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:35px 0}.admin-stats>div{background:#e8e9df;padding:26px 12px;text-align:center}.admin-stats strong{display:block;font:52px var(--display)}.admin-stats span{font-size:10px;letter-spacing:.1em}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-actions button{cursor:pointer}.admin-panel{border-top:1px solid #c9cfc3;padding:35px 0}.admin-panel h2{font:35px var(--serif);margin-bottom:15px}.admin-panel p{font-size:13px;color:#5e695f;margin-bottom:20px}.admin-table-wrap{overflow-x:auto}.admin-panel table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.admin-panel th,.admin-panel td{padding:13px 10px;border-bottom:1px solid #d9ddcf}.answer-pill{white-space:nowrap}.admin-panel textarea{font:14px/1.7 monospace}.admin-panel .solid-button{max-width:380px;cursor:pointer}@media(max-width:760px){.count-grid strong{font-size:37px}.count-grid span{font-size:8px}.admin-stats{grid-template-columns:repeat(2,1fr)}}.hotel-film{background:var(--cream);text-align:center}.hotel-film-heading{max-width:690px;margin:0 auto 36px}.hotel-film-heading h2{margin:16px 0 18px}.hotel-film-heading>p:last-child{font-size:14px;color:var(--muted)}.hotel-film-frame{position:relative;aspect-ratio:16/9;width:min(100%,1000px);margin:0 auto;background:#253d32;overflow:hidden}.hotel-film-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.hotel-film-link{display:inline-flex;margin-top:25px;gap:15px;align-items:center}@media(max-width:760px){.hotel-film-heading{margin-bottom:22px}.hotel-film-frame{width:100%}}.monogram{display:block;max-width:100%;object-fit:contain}.brand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.monogram-header{width:58px;height:58px}.monogram-welcome{height:88px;width:95px;margin:0 auto}.tiny-mark{margin-bottom:25px}.story-stamp{transform:rotate(-8deg)}.monogram-stamp{width:83%;height:83%}.monogram-footer{width:110px;height:103px;margin-bottom:14px}.monogram-admin{width:95px;height:88px;margin:0 auto 16px}@media(max-width:760px){.monogram-header{width:49px;height:49px}.monogram-welcome{height:70px;width:75px}.monogram-footer{width:90px;height:85px}}.event-photo-wrap{min-width:0}.event-map{display:block;width:100%;height:100%;min-height:540px;border:0;background:#d5ded3}.event-photo-wrap{display:flex;align-items:stretch}.event-photo-wrap>.event-map{flex:1}@media(max-width:760px){.event-map{min-height:370px}}.hotel-film-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#253d32}.hotel-film-frame video[hidden]{display:none}.hotel-film-pending{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;background:linear-gradient(135deg,#3f5c4c,#88998a);color:#fff}.hotel-film-pending p{max-width:360px;margin-top:15px;font:italic clamp(20px,3vw,34px) var(--serif);line-height:1.3}.hotel-film-pending[hidden]{display:none}.story-slideshow{position:relative;isolation:isolate;overflow:hidden;box-shadow:20px 22px #d9d6c9}.story-slides{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#abb2a2,#7a887c 46%,#475b4c)}.story-slide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .85s ease;pointer-events:none}.story-slide.is-active{opacity:1;z-index:1}.story-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;color:#fff9;font-size:11px;letter-spacing:.22em;text-align:center;padding:20px}.story-slide-actions{position:absolute;bottom:23px;left:22px;right:22px;z-index:4;display:flex;align-items:center;justify-content:space-between;color:#fff;text-shadow:0 1px 5px #0007;font-size:11px;letter-spacing:.12em}.story-slide-actions[hidden]{display:none}.story-slide-actions button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #fff9;background:#24382b88;color:#fff;border-radius:50%;font-size:29px;line-height:1;transition:background .2s}.story-slide-actions button:hover{background:#24382b}.story-slide-dots{position:absolute;bottom:76px;left:0;right:0;z-index:4;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding:0 25px}.story-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#fff9;transition:transform .2s,background .2s}.story-dot[aria-current=true]{background:#fff;transform:scale(1.4)}@media(max-width:760px){.story-slideshow{box-shadow:14px 16px #d9d6c9}}@media(prefers-reduced-motion:reduce){.story-slide{transition:none}}.story-single-photo{position:relative;overflow:hidden;box-shadow:20px 22px #d9d6c9;background:linear-gradient(145deg,#abb2a2,#7a887c 46%,#475b4c)}.story-single-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:760px){.story-single-photo{box-shadow:14px 16px #d9d6c9}}
