
@font-face{font-family:InviteBaskerville;src:url('assets/baskerville.ttf') format('truetype');font-display:swap}
:root{--navy:#14253e;--ivory:#eee5d1;--line:#eee5d13d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--navy);color:var(--ivory);font-family:Baskerville,'Baskerville Old Face',Georgia,serif}a{color:inherit}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}.skip{position:absolute;left:20px;top:-80px;z-index:10;background:var(--ivory);color:var(--navy);padding:16px}.skip:focus{top:10px}header{position:absolute;z-index:3;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:28px 5vw}.monogram{text-decoration:none;font-size:23px;letter-spacing:4px}nav{display:flex;gap:32px}nav a,.eyebrow,.date,h3,.button,footer{font-family:InviteBaskerville,Baskerville,Georgia,serif;text-transform:uppercase}nav a{text-decoration:none;font-size:14px;letter-spacing:2px;padding:12px 0}nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 24px 65px}.hero:before{content:'';position:absolute;z-index:-2;inset:-15%;background:url('assets/florals.jpg') center 44%/cover no-repeat;transform:rotate(-12deg) scale(1.12);filter:grayscale(1)}.hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#14253eaa,#14253ec2 50%,#14253eb8 82%,#14253e)}.hero-copy{width:100%;max-width:1050px}.eyebrow{font-size:14px;line-height:2.1;letter-spacing:4px;margin:0 0 30px}.star{width:44px;height:58px;fill:currentColor;display:block;margin:0 auto 24px}h1{margin:0 auto 25px;max-width:810px;font-size:0}h1 img{width:100%;height:auto;display:block}.date{font-size:17px;letter-spacing:5px;line-height:1.7;margin:24px 0 8px}.place{font-size:18px;letter-spacing:2px;margin:0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:16px 27px;border:1px solid #eee5d18c;text-decoration:none;letter-spacing:2px;font-size:14px;transition:background .2s,color .2s}.button:hover{background:var(--ivory);color:var(--navy)}.hero .button{margin-top:35px}.details{position:relative;padding:100px 6vw 110px;text-align:center;background:#14253e}.details:before{content:'';display:block;width:1px;height:60px;background:var(--line);margin:0 auto 48px}.details h2{font-size:clamp(40px,5vw,65px);font-weight:400;font-style:italic;margin:0 0 60px}.detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:1150px;margin:auto}.detail-grid article{padding:12px 30px 25px}.detail-grid article+article{border-left:1px solid var(--line)}h3{font-size:14px;letter-spacing:3px;font-weight:400;margin:0 0 24px}.large{font-size:30px;line-height:1.4;margin:0 0 16px}.small{font-size:18px;line-height:1.8;margin:0}.text-link{display:inline-block;margin-top:24px;text-underline-offset:7px;font-size:16px}.rsvp{position:relative;isolation:isolate;overflow:hidden;padding:100px 25px 120px;margin:auto;text-align:center;border-top:1px solid var(--line)}.rsvp:before{content:'';position:absolute;inset:-80% -35%;z-index:-2;background:url('assets/florals.jpg') 45% 73%/cover;transform:rotate(38deg);filter:grayscale(1)}.rsvp:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#14253ef5,#14253ebd 55%,#14253ec5)}.rsvp .star{width:34px;height:42px;margin-bottom:30px}.rsvp h2{font-size:clamp(42px,5vw,65px);font-style:italic;font-weight:400;margin:0 0 24px}.rsvp p{font-size:20px;line-height:1.8;max-width:540px;margin:0 auto}.rsvp .eyebrow{font-size:14px;margin-bottom:20px}.rsvp time{white-space:nowrap}.rsvp details{max-width:560px;margin:38px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.rsvp summary{font-size:18px;cursor:pointer;padding:22px 0}.rsvp details p{font-size:18px;line-height:1.8;padding:0 0 24px}footer{display:flex;justify-content:space-between;padding:30px 5vw;font-size:12px;letter-spacing:2px;border-top:1px solid var(--line)}footer a{text-decoration:none}@media(min-width:1600px){.hero{min-height:1000px}}@media(max-width:760px){header{padding:20px 6vw}.monogram{font-size:20px}nav{gap:20px}nav a{font-size:12px;letter-spacing:1.5px}.hero{min-height:850px;min-height:100svh;padding:130px 18px 65px}.hero:before{inset:-8% -40%;background-position:45% 48%;transform:rotate(-9deg) scale(1.12)}.eyebrow{font-size:13px;letter-spacing:3px;margin-bottom:34px}.hero .star{width:35px;height:50px;margin-bottom:36px}h1{margin-bottom:42px;width:100%}.date{font-size:15px;letter-spacing:3px}.place{font-size:16px;letter-spacing:1px}.hero .button{margin-top:30px}.details{padding:36px 24px 60px}.details:before{height:40px;margin-bottom:40px}.details h2{margin-bottom:26px}.detail-grid{grid-template-columns:1fr}.detail-grid article{padding:30px 10px}.detail-grid article+article{border-left:0;border-top:1px solid var(--line)}.rsvp{padding:75px 22px 85px}.rsvp:before{inset:-30% -110%;background-position:45% 60%}.rsvp h2{font-size:42px}.rsvp p{font-size:18px}footer{font-size:11px;letter-spacing:1px;gap:16px;flex-wrap:wrap}.button{font-size:13px;padding:16px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:8px}
.event-time{font-size:20px;line-height:1.6;margin:14px 0 0}.venue-line{line-height:1.6}
.page-header{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:160px 24px 75px;border-bottom:1px solid var(--line)}.page-header:before{content:'';position:absolute;inset:-100% -20%;background:url('assets/florals.jpg') center 58%/cover;filter:grayscale(1);transform:rotate(-20deg);z-index:-2}.page-header:after{content:'';position:absolute;inset:0;background:#14253ec9;z-index:-1}.page-header .eyebrow{margin-bottom:22px}.page-title{font-size:clamp(54px,7vw,88px);font-style:italic;font-weight:400;line-height:1.15;margin:0 auto 22px}.page-intro{font-size:21px;line-height:1.7;max-width:620px;margin:0 auto}.content-section{max-width:1080px;margin:auto;padding:75px 32px 95px}.hotel-card{max-width:760px;margin:auto;border:1px solid var(--line);padding:55px 45px;text-align:center;position:relative}.hotel-card h2,.travel-venue h2,.story-chapter h2{font-size:clamp(36px,4vw,49px);font-weight:400;font-style:italic;margin:0 0 24px}.hotel-card p,.travel-venue p,.story-chapter p,.person-card p{font-size:19px;line-height:1.8}.hotel-card .eyebrow{font-size:13px;margin-bottom:18px}.hotel-card .small-note{font-size:17px;margin:24px auto 0;max-width:500px}.travel-venue{text-align:center;max-width:720px;margin:65px auto 0}.travel-venue h3{margin-bottom:22px}.travel-venue .text-link{margin-top:12px}.people{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:900px;margin:auto}.person-card{text-align:center;border:1px solid var(--line);padding:42px 30px 35px;position:relative}.person-card:nth-child(1){transform:rotate(-2deg)}.person-card:nth-child(2){transform:rotate(2deg)}.initial{height:100px;width:100px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:64px;font-style:italic;margin:0 auto 26px}.person-card h2{font-size:36px;font-weight:400;margin:0 0 16px}.person-card p{margin:0}.story-chapter{text-align:center;max-width:680px;margin:78px auto 0;padding-top:45px;border-top:1px solid var(--line)}.story-chapter .eyebrow{font-size:14px;margin-bottom:22px}.story-chapter .star{width:30px;height:40px;margin-top:35px}.story-chapter .text-link{margin-top:5px}
@media(max-width:760px){header{flex-direction:column;gap:12px;padding:20px 16px}nav{width:100%;justify-content:center;gap:clamp(12px,4vw,24px);flex-wrap:wrap}nav a{font-size:12px;letter-spacing:1.1px;min-height:40px}.hero{padding-top:160px}.page-header{padding:165px 22px 55px}.page-intro{font-size:19px}.content-section{padding:48px 24px 65px}.hotel-card{padding:35px 24px}.people{grid-template-columns:1fr;gap:32px;max-width:480px}.person-card{padding:35px 24px}.story-chapter{margin-top:60px}.event-time{font-size:19px}}

.story-moments{margin:40px auto;text-align:left;border-left:1px solid var(--line);padding-left:30px}.story-moments section+section{margin-top:36px}.story-moments h3{line-height:1.8;margin-bottom:12px}.story-moments p{margin:0}.story-ending{font-style:italic;font-size:25px!important}@media(max-width:760px){.story-moments{padding-left:22px}.story-ending{font-size:23px!important}}

.rsvp-action{display:flex;justify-content:center;margin:32px 0 34px}.plus-one-note{max-width:560px;margin:0 auto;padding:27px 0 0;border-top:1px solid var(--line)}.plus-one-note h3{margin-bottom:15px;line-height:1.7}.rsvp .plus-one-note p{font-size:18px;line-height:1.8}
.story-page{--navy:#480e10;--line:#eee5d140;background:#480e10 url('assets/story-red.png') center top / cover fixed;color:var(--ivory)}.story-page .page-header{background:transparent}.story-page .page-header:before,.story-page .page-header:after{display:none}.story-page .person-card{background:#480e10a6}.story-page .content-section{position:relative}.story-page .story-chapter{background:#480e10c7;border:1px solid var(--line);padding:48px 40px;margin-top:80px;max-width:760px}.story-page footer{background:#480e10bb}.story-page .initial{background:#480e1066}.story-page .page-intro,.story-page .page-title{text-shadow:0 2px 15px #2c080855}@media(max-width:760px){.story-page{background-attachment:scroll;background-size:auto 1500px;background-repeat:repeat-y}.story-page .story-chapter{padding:35px 23px;margin-top:60px}.rsvp .plus-one-note p{font-size:17px}}

.story-page .person-card,.story-page .story-chapter{border:0;background:transparent;transform:none;box-shadow:none}.story-page .story-chapter{padding:35px 20px;margin-top:45px}.story-page .initial{background:transparent;border:0;font-size:76px}.story-page .story-moments{border:0;padding-left:0}.story-page .people{gap:65px}.parking{padding-top:45px;border-top:1px solid var(--line)}.registry-copy{margin:0 auto;min-height:210px}
.editor-toolbar{position:fixed;z-index:100;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:#eee5d1;color:#14253e;box-shadow:0 6px 35px #0005;border-radius:4px;font:16px Georgia,serif}.editor-toolbar[hidden]{display:none}.editor-toolbar button{font:inherit;padding:10px 16px;border:1px solid #14253e;background:transparent;color:inherit;cursor:pointer;border-radius:2px;min-height:44px}.editor-toolbar button:hover{background:#14253e;color:#eee5d1}.editor-toolbar button:disabled{opacity:.5;cursor:wait}.editor-status{max-width:460px;line-height:1.4}.editing [data-edit]{outline:1px dashed #eee5d199;outline-offset:6px;cursor:text}.editing [data-edit]:focus{outline:2px solid var(--ivory)}.editing{padding-bottom:125px}[data-edit]{white-space:pre-line}.edit-site-link{display:block;margin:0 auto 24px;background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:5px;font:15px Georgia,serif;cursor:pointer;min-height:44px}.edit-site-link[hidden]{display:none}.content-load-notice{text-align:center;padding:12px;font-size:16px}.content-load-notice[hidden]{display:none}@media(max-width:760px){nav{gap:10px 17px}nav a{font-size:12px}.story-page .people{gap:20px}.editor-toolbar{width:calc(100% - 24px);bottom:12px}.editor-status{width:100%;font-size:14px;text-align:center}.story-page .story-chapter{padding-left:0;padding-right:0}}

.venue-link{text-decoration-thickness:1px;text-underline-offset:6px}.venue-link:hover{opacity:.8}

.couple-photo{max-width:760px;margin:0 auto 5rem;text-align:center}.couple-photo img{display:block;width:100%;max-height:760px;object-fit:contain}.couple-photo img[hidden],.photo-controls[hidden],.photo-placeholder[hidden]{display:none}.photo-placeholder{padding:4rem 1.5rem;background:rgba(238,229,209,.045)}.photo-placeholder>span{font-size:3rem}.photo-placeholder p{font-size:1.6rem;margin:1rem 0 .5rem}.photo-placeholder small{opacity:.75}.photo-controls{padding:1.5rem 0;text-align:left}.photo-controls label{display:block;margin-bottom:.8rem}.photo-controls input{max-width:100%;font:inherit;color:inherit}.photo-controls p{font-size:.9rem;line-height:1.5}.photo-controls input::file-selector-button{padding:.6rem 1rem;margin-right:.7rem;border:1px solid currentColor;background:#eee5d1;color:#480e10;cursor:pointer}
