:root{--sr-ink:#333631;--sr-stone:#eee4d7;--sr-cream:#fbf5ec;--sr-champagne:#c7a580;--sr-line:#bca994;--sr-serif:'Cormorant Garamond',Georgia,serif;--sr-sans:'DM Sans',Arial,sans-serif}.sr-html{scroll-behavior:smooth}.sr-body{margin:0;overflow-x:hidden;background:#dfddd4;color:var(--sr-ink);font:400 15px/1.45 var(--sr-sans)}.sr-body.sr-opening-active{overflow:hidden}.sr-body *{box-sizing:border-box}.sr-body h1,.sr-body h2,.sr-body h3,.sr-body p{margin-top:0}.sr-body h1,.sr-body h2,.sr-body h3{font-family:var(--sr-serif);font-weight:400;line-height:1}.sr-body img{max-width:100%;display:block}.sr-body a{color:inherit;text-decoration:none}.sr-body button,.sr-body input,.sr-body select,.sr-body textarea{font:inherit}.sr-body button{cursor:pointer}.sr-body p,.sr-body span,.sr-body strong,.sr-body address,.sr-body h1,.sr-body h2,.sr-body h3{overflow-wrap:anywhere}.sr-body address{font-style:normal}.sr-scene{position:relative;isolation:isolate;scroll-margin-top:50px}.sr-eyebrow{display:block;font:500 10px/1.5 var(--sr-sans);letter-spacing:.3em;text-transform:uppercase}.sr-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;max-width:100%;border:1px solid #aa9279;border-radius:40px;background:linear-gradient(145deg,#fff8ec,#e3cbb5);color:#403831;padding:13px 23px;box-shadow:0 5px 18px #5f483736,inset 0 1px 2px #fff;font:500 11px/1.25 var(--sr-sans);letter-spacing:.12em;text-transform:uppercase;transition:transform .35s,box-shadow .35s,background .35s}.sr-button:hover,.sr-button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 25px #b0835e6e;background:#fff7ea}.sr-button span{font-size:18px;line-height:.7}.sr-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s,transform 1s cubic-bezier(.18,.72,.16,1)}.sr-reveal.sr-visible{opacity:1;transform:translateY(0)}.sr-photo{position:relative;overflow:hidden;background:#e1d1bd}.sr-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.sr-photo:hover img{transform:scale(1.07)}.sr-progress{height:2px;inset:0 0 auto;position:fixed;z-index:100;pointer-events:none}.sr-progress span{display:block;width:0;height:100%;background:#a88357;box-shadow:0 0 7px white}
/* A curtain of light opens toward the sea */
.sr-opening{position:fixed;inset:0;z-index:80;display:grid;place-items:center;overflow:hidden;background:#e9dfce;transition:opacity .9s,visibility .9s}.sr-opening.sr-leaving{opacity:0;visibility:hidden;pointer-events:none}.sr-opening__view{position:absolute;inset:0;background:linear-gradient(90deg,#e9ddca5c,#fffaf1a8,#e9ddca50),url('assets/sunrise-terrace.webp') center 54%/cover;animation:sr-establish 15s ease-out both}.sr-opening__content{position:relative;z-index:3;width:min(92vw,630px);max-height:calc(100dvh - 24px);overflow-y:auto;padding:28px clamp(20px,5vw,50px);text-align:center;background:#fff9efbd;border:1px solid #fff9f0;box-shadow:0 16px 55px #876e6059;backdrop-filter:blur(16px);border-radius:47% 47% 13px 13px /18% 18% 13px 13px;scrollbar-width:thin;scrollbar-color:#b5a18b transparent}.sr-opening__content h1{font-size:clamp(49px,8vw,94px);line-height:.88;margin:15px auto 11px;max-width:100%}.sr-opening__content h1 em{font-size:.67em;color:#997e62}.sr-opening__content>p{font:italic 21px/1.25 var(--sr-serif);max-width:500px;margin:0 auto 14px}.sr-opening__content time{display:block;font:500 10px var(--sr-sans);letter-spacing:.16em;text-transform:uppercase}.sr-opening__line{display:block;width:120px;height:1px;background:#b28e6d;margin:12px auto}.sr-opening__guest{padding:12px 18px;margin:18px auto;background:#f5e7d9d8;border:1px solid #b8a28a;max-width:480px;display:grid;gap:5px}.sr-opening__guest small{font:500 10px var(--sr-sans);letter-spacing:.15em}.sr-opening__guest strong{font:500 clamp(23px,4vw,34px)/1 var(--sr-serif)}.sr-opening__glow{position:absolute;inset:auto -15% -70%;height:95%;border-radius:50%;background:#fff9d5a3;filter:blur(50px);pointer-events:none;animation:sr-shimmer 8s ease-in-out infinite}.sr-opening .sr-button{position:relative;z-index:2}
.sr-header{position:absolute;top:0;left:0;right:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:18px clamp(22px,5vw,75px);background:linear-gradient(#fff9f0a0,transparent);color:#343832}.sr-header__brand{font:600 18px/1 var(--sr-serif);letter-spacing:.42em}.sr-header nav{display:flex;flex-wrap:wrap;gap:clamp(12px,2.6vw,42px);font:500 10px var(--sr-sans);letter-spacing:.16em;text-transform:uppercase}.sr-header nav a:hover{color:#92704d}.sr-header__mark{font:500 9px var(--sr-sans);letter-spacing:.16em;white-space:nowrap}
/* person-sized seaside aperture */
.sr-hero{height:min(740px,62vw);min-height:620px;max-height:830px;overflow:hidden;background:#f0e5d5}.sr-hero__land{position:absolute;inset:0;background:url('assets/sunrise-terrace.webp') center 50%/cover;animation:sr-establish 13s ease-out both}.sr-hero__land:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f7ede43d 0%,#fff8ef18 47%,#7d858153 100%)}.sr-hero__water{position:absolute;left:-10%;right:-10%;bottom:-5%;height:28%;border-top:2px solid #fff9eab3;border-radius:50% 50% 0 0/18% 18% 0 0;background:linear-gradient(180deg,#e6ede57d,#d5e0de75),url('assets/sunrise-terrace.webp') center 82%/cover;filter:brightness(.97);animation:sr-water 10s ease-in-out infinite alternate}.sr-hero__person{position:absolute;z-index:3;top:19%;width:26%;height:54%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.sr-hero__person--groom{left:2.5%}.sr-hero__person--bride{right:2.5%}.sr-hero__person .sr-photo{width:min(100%,330px);height:85%;aspect-ratio:3/5;border:4px solid #fffaf0d1;border-radius:49% 49% 6px 6px /20% 20% 6px 6px;box-shadow:0 18px 32px #503c2c7d,0 0 0 1px #aa9379a8;mask-image:linear-gradient(#000 0 87%,transparent 100%)}.sr-hero__person-name{display:block;text-align:center;font:500 clamp(19px,2.5vw,36px)/1 var(--sr-serif);max-width:95%;text-shadow:0 2px 6px #fff7e8,0 0 12px #fff}.sr-hero__title{position:absolute;z-index:4;top:15%;left:26%;width:48%;max-height:48%;overflow-y:auto;text-align:center;text-shadow:0 1px 12px #fff8ed,0 0 5px #fff}.sr-hero__title h1{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 .12em;font-size:clamp(65px,7.8vw,120px);line-height:.79;margin:20px 0 13px;letter-spacing:-.04em}.sr-hero__title h1 em{font:italic .72em var(--sr-serif);color:#b39379;white-space:nowrap}.sr-hero__title p{font:400 clamp(16px,1.8vw,25px)/1.1 var(--sr-serif);max-width:500px;margin:0 auto 13px}.sr-hero__date{display:inline-block;border-top:1px solid #7f817b;padding-top:12px;font:500 11px var(--sr-sans);letter-spacing:.18em;text-transform:uppercase}.sr-hero__scroll{position:absolute;z-index:6;bottom:6%;left:50%;transform:translateX(-50%);font:500 11px var(--sr-sans);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 6px #fff}.sr-hero__scroll span{font-size:19px;margin-left:8px;animation:sr-bob 4s ease-in-out infinite}
.sr-couple{background:linear-gradient(110deg,#dfd4c4,#f5eade 50%,#ddd3c7);border-top:1px solid #fff9ed;border-bottom:3px ridge #e8d1b6;padding:25px 0}.sr-couple__shell{max-width:1250px;margin:auto;padding:0 clamp(25px,7vw,100px);display:grid;grid-template-columns:1fr 70px 1fr;gap:25px;align-items:center}.sr-couple__person{text-align:center;min-width:0}.sr-couple__person>span{font:500 10px var(--sr-sans);letter-spacing:.2em}.sr-couple__person h2{font-size:clamp(29px,3.7vw,55px);margin:6px 0;line-height:.95}.sr-couple__person p{font:italic 18px/1.16 var(--sr-serif);margin:0}.sr-couple__axis{text-align:center;font:50px var(--sr-serif);color:#a27e61}.sr-couple__axis i{display:block;margin:auto;width:1px;height:50px;background:#ab9682}
/* floating stepping stones */
.sr-countdown{padding:35px 0 60px;text-align:center;background:linear-gradient(180deg,#dfdbd4b6,#ccd7d6a3),url('assets/sunrise-terrace.webp') center 75%/cover;overflow:hidden}.sr-countdown__shell{position:relative;z-index:2;max-width:1000px;margin:auto;padding:0 24px}.sr-countdown__stones{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2.4vw,30px);margin-top:16px}.sr-countdown__stone{aspect-ratio:1.65;min-height:110px;display:grid;align-content:center;justify-items:center;border:1px solid #e9d7c3;border-bottom:9px solid #c1ae96;border-radius:50% 47% 48% 46% /45% 49% 40% 41%;background:radial-gradient(ellipse at 45% 28%,#fff9eb,#e6d8c6 67%,#b8a58d);box-shadow:0 14px 20px #3c60636e,inset 0 2px 3px #fff;animation:sr-stone-float 6s ease-in-out infinite}.sr-countdown__stone:nth-child(even){animation-delay:-3s}.sr-countdown__stone strong{font:500 clamp(40px,5vw,75px)/.85 var(--sr-serif);font-variant-numeric:tabular-nums}.sr-countdown__stone span{font:500 10px var(--sr-sans);letter-spacing:.14em;text-transform:uppercase}.sr-countdown__status{font:italic 18px var(--sr-serif);min-height:20px;margin:16px 0 0}
/* two distinct rooms in one pavilion */
.sr-events{min-height:550px;padding:55px 0 75px;background:#e8dccb;overflow:hidden}.sr-events__land{position:absolute;inset:0;background:linear-gradient(180deg,#f1e2d2ab,#f9efe299 36%,#c1a58566),url('assets/stone-pavilion.webp') center 49%/cover;animation:sr-establish 16s ease-out both}.sr-events__shell{position:relative;max-width:1440px;margin:auto;padding:0 clamp(28px,6vw,90px)}.sr-events__heading{text-align:center;text-shadow:0 1px 6px #fff}.sr-events__heading h2{font-size:clamp(50px,6vw,90px);margin:3px 0 25px}.sr-events__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,13vw,190px)}.sr-event{min-width:0;padding:27px 30px;background:#fff9f0d9;border:1px solid #f6ede2;box-shadow:0 12px 26px #70584655;backdrop-filter:blur(9px);border-radius:50% 50% 12px 12px /18% 18% 12px 12px}.sr-event__kicker{font:500 10px var(--sr-sans);letter-spacing:.2em}.sr-event h3{font-size:clamp(45px,4vw,65px);margin:8px 0;line-height:.85}.sr-event time,.sr-event p,.sr-event strong,.sr-event address{display:block;font:500 12px/1.42 var(--sr-sans);margin:5px 0}.sr-event address{font-weight:400}.sr-event a{display:inline-block;font:500 10px var(--sr-sans);letter-spacing:.1em;border-bottom:1px solid #867667;margin:9px 0 0}.sr-events__quote{font:italic clamp(18px,2.4vw,32px)/1.05 var(--sr-serif);max-width:600px;margin:25px auto 0;padding:12px 20px;text-align:center;text-shadow:0 1px 6px #fff;background:#fff4e6b0}
/* an island promenade whose labels can grow */
.sr-story{padding:75px 0 90px;background:#deded6;min-height:490px;overflow:hidden}.sr-story__land{position:absolute;inset:0;background:linear-gradient(180deg,#faf4e5db 0%,#f6eee0a6 31%,#fff0df31 63%,#e1e8e641 100%),url('assets/island-path.webp') center 57%/cover}.sr-story__shell{position:relative;max-width:1450px;margin:auto;padding:0 clamp(26px,5vw,80px);z-index:3}.sr-story__intro{max-width:500px}.sr-story__intro h2{font-size:clamp(48px,5vw,78px);margin:7px 0}.sr-story__intro p{font:italic 20px var(--sr-serif)}.sr-story__chapters{display:flex;gap:clamp(12px,2vw,30px);align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 0 22px;margin:16px 0 0;scrollbar-color:#baa181 transparent}.sr-story__chapter{flex:1 0 150px;min-width:150px;max-width:280px;padding:14px 14px 18px;background:#fff9f0c2;border-top:1px solid #9b8471;backdrop-filter:blur(5px);scroll-snap-align:start;box-shadow:0 6px 16px #79675530}.sr-story__chapter small{font:500 11px var(--sr-sans);letter-spacing:.1em}.sr-story__chapter h3{font-size:clamp(25px,2.6vw,38px);margin:4px 0 6px}.sr-story__chapter p{font:15px/1.2 var(--sr-serif);margin:0}
/* picture apertures occupy a continuous limestone quay */
.sr-gallery{padding:70px 0 85px;background:linear-gradient(180deg,#e3d9cc,#f1e9dc 35%,#d7d2ca);border-top:8px ridge #e8d8c1;border-bottom:10px ridge #dfcbb2}.sr-gallery__shell{display:grid;grid-template-columns:250px 1fr;gap:30px;align-items:center;max-width:1520px;margin:auto;padding:0 clamp(25px,4vw,65px)}.sr-gallery__intro h2{font-size:clamp(49px,5vw,75px);line-height:.82;margin:15px 0}.sr-gallery__intro p{font:italic 18px/1.2 var(--sr-serif)}.sr-gallery__rail{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px;scrollbar-color:#baaa94 transparent}.sr-gallery__item{flex:0 0 clamp(170px,20vw,260px);aspect-ratio:4/3;border:8px solid #f8f0e4;box-shadow:0 6px 14px #74615167;padding:0;scroll-snap-align:center}.sr-gallery__item:nth-child(3n + 2){aspect-ratio:3/2}.sr-gallery__item:after{content:'';position:absolute;inset:0;border:1px solid #d2bfa9;pointer-events:none}.sr-gallery__item span{position:absolute;right:7px;bottom:5px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff7efdf;color:#514b43}
.sr-location{min-height:485px;padding:70px 0 100px;background:#dfdcd4;overflow:hidden}.sr-location__land{position:absolute;inset:0;background:linear-gradient(90deg,#fff9e9c4 0%,#fff9e68f 29%,transparent 70%),url('assets/island-path.webp') center 55%/cover}.sr-location__shell{position:relative;z-index:3;max-width:1400px;margin:auto;padding:0 clamp(28px,6vw,90px);display:grid;grid-template-columns:minmax(250px,35%) 1fr;gap:4%;align-items:center}.sr-location__content{padding:25px;background:#fff9e7d0;border:1px solid #f8edde;box-shadow:0 15px 25px #5a635d38;backdrop-filter:blur(6px)}.sr-location__content h2,.sr-gift__alcove h2,.sr-response__heading h2,.sr-wishes__heading h2{font-size:clamp(50px,5.3vw,80px);margin:10px 0 15px;line-height:.88}.sr-location__content p{font:500 20px/1.05 var(--sr-serif)}.sr-location__content address{font:14px/1.35 var(--sr-sans);margin:15px 0 20px}.sr-location__route{width:100%;height:250px;filter:drop-shadow(0 0 5px #ffefa9);animation:sr-route 12s ease-in-out infinite alternate}
.sr-gift{padding:85px 0;background:linear-gradient(140deg,#ded0bd,#efddcb);overflow:hidden}.sr-gift:before{content:'';position:absolute;inset:0 0 0 45%;background:url('assets/stone-pavilion.webp') center 60%/cover;opacity:.45}.sr-gift__shell{position:relative;max-width:1200px;margin:auto;padding:0 clamp(27px,6vw,90px)}.sr-gift__alcove{max-width:700px;background:#fff8ebeb;padding:clamp(28px,4vw,55px);border:12px ridge #ebd3b5;border-radius:45% 45% 12px 12px/10% 10% 12px 12px;box-shadow:0 20px 30px #7b6e6054,inset 0 0 30px #d8b99770}.sr-gift__alcove p{font:italic 22px/1.14 var(--sr-serif);max-width:550px}.sr-gift__address,.sr-gift__bank{display:grid;gap:4px;padding:12px 0;border-top:1px solid #baa38a}.sr-gift__address small,.sr-gift__bank small{font:500 10px var(--sr-sans);letter-spacing:.16em;text-transform:uppercase}.sr-gift__bank strong{font:500 28px var(--sr-serif)}.sr-gift__bank span,.sr-gift__address address{font:13px var(--sr-sans)}.sr-copy{width:max-content;max-width:100%;border:1px solid #b9a589;background:#f9f0e4;padding:8px 15px;border-radius:25px;color:#3e3b35;font:500 10px var(--sr-sans);letter-spacing:.09em}.sr-copy b{display:none}.sr-copy.sr-copied span{display:none}.sr-copy.sr-copied b{display:inline}
/* stable glass-salon forms */
.sr-response,.sr-wishes{padding:85px 0;background:linear-gradient(90deg,#e9e1d3bd,#e8dfd3af),url('assets/glass-salon.webp') center/cover}.sr-response__shell,.sr-wishes__shell{position:relative;z-index:2;max-width:1240px;margin:auto;padding:0 clamp(25px,6vw,90px);display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:center}.sr-response__heading h2{font-size:clamp(55px,6vw,91px)}.sr-response__heading p,.sr-wishes__heading p{font:italic 25px/1.15 var(--sr-serif)}.sr-form{padding:clamp(24px,3vw,44px);min-width:0;border:1px solid #fff;border-radius:45% 45% 18px 18px/8% 8% 18px 18px;background:#fff9f1e8;box-shadow:0 17px 35px #5f584969;backdrop-filter:blur(14px)}.sr-field{display:grid;gap:5px;margin-bottom:13px;font:500 10px var(--sr-sans);letter-spacing:.13em;text-transform:uppercase}.sr-field input,.sr-field select,.sr-field textarea{display:block;width:100%;max-width:100%;min-width:0;padding:12px 13px;border:1px solid #b7a695;border-radius:8px;color:#333;background:#fffdf6;outline:none;font:400 14px/1.3 var(--sr-sans);letter-spacing:normal;text-transform:none;transition:border-color .2s,box-shadow .2s}.sr-field input:focus,.sr-field select:focus,.sr-field textarea:focus{border-color:#85643b;box-shadow:0 0 0 3px #c5a78257}.sr-field textarea{resize:vertical;min-height:90px}.sr-form__row{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.sr-attendance{border:0;padding:0;margin:0 0 15px;display:flex;gap:7px;flex-wrap:wrap}.sr-attendance legend{font:500 10px var(--sr-sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.sr-attendance label{cursor:pointer}.sr-attendance input{position:absolute;opacity:0}.sr-attendance span{display:inline-block;padding:8px 10px;border:1px solid #b2a28f;border-radius:20px;font:400 11px var(--sr-sans)}.sr-attendance input:checked+span{background:#ba9d7e;color:white}.sr-attendance input:focus-visible+span{outline:2px solid #745736;outline-offset:2px}.sr-form-status{min-height:18px;font-size:12px;margin:10px 0 0}.sr-form-status.sr-error{color:#a84432}.sr-form-status.sr-success{color:#397848}.sr-submit.sr-loading{pointer-events:none;opacity:.6}.sr-wishes{background:linear-gradient(100deg,#f2e8d9db,#e9dccdb6),url('assets/glass-salon.webp') center 70%/cover}.sr-wishes__shell{display:block}.sr-wishes__heading{text-align:center;max-width:670px;margin:0 auto 24px}.sr-wishes__grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.sr-wishes .sr-form{border-radius:20px}.sr-wishes__list{display:grid;align-content:start;gap:10px;min-height:100px;max-height:460px;overflow:auto;padding:4px}.sr-wishes__list article{display:flex;gap:12px;padding:15px;border:1px solid #e4d2bc;background:#fff9f1e8;box-shadow:0 5px 13px #7359443f;backdrop-filter:blur(6px)}.sr-wish__avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d0b49b;color:#fff;font:25px var(--sr-serif)}.sr-wishes__list strong{font:600 17px var(--sr-serif)}.sr-wishes__list p{font:16px/1.15 var(--sr-serif);margin:3px 0 0}.sr-wishes__empty{font:italic 18px var(--sr-serif)}
.sr-closing{min-height:420px;display:grid;place-items:center;padding:95px 25px;background:linear-gradient(#f9eddb45,#e5e4deab),url('assets/sunrise-terrace.webp') center 62%/cover;text-align:center}.sr-closing__content{max-width:730px;padding:26px;background:#fff9e6a8;backdrop-filter:blur(7px);border:1px solid #fff9e4}.sr-closing__content h2{font-size:clamp(75px,9vw,132px);margin:11px 0}.sr-closing__content p{font:italic 23px/1.18 var(--sr-serif)}.sr-closing__content strong{display:block;font:500 clamp(35px,5vw,70px)/1 var(--sr-serif);margin:14px 0}.sr-closing__content strong i{font-weight:400;color:#ae9479}.sr-closing__content>span:last-child{font:500 11px var(--sr-sans);letter-spacing:.2em}
.sr-dock{position:fixed;z-index:30;left:50%;bottom:10px;transform:translate(-50%,130%);display:flex;gap:2px;padding:5px;max-width:calc(100vw - 20px);border:1px solid #e6d9c8;border-radius:40px;background:#fffaf1e9;backdrop-filter:blur(14px);box-shadow:0 8px 24px #594c3b55;transition:transform .6s}.sr-dock.sr-visible{transform:translate(-50%,0)}.sr-dock a{width:64px;padding:5px 2px;display:grid;gap:1px;text-align:center;border-radius:30px}.sr-dock a.sr-active{background:#cdb49a;color:#fff}.sr-dock a span{font:25px/1 var(--sr-serif)}.sr-dock a small{font:500 8px var(--sr-sans)}.sr-music{position:fixed;top:72px;right:20px;z-index:35;min-width:45px;height:45px;border:1px solid #fff;border-radius:40px;background:#fff9efed;box-shadow:0 7px 20px #78644870}.sr-music span{font-size:22px}.sr-music i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#82a09f;animation:sr-music-beat 1.5s ease-in-out infinite}.sr-music.sr-paused i{animation-play-state:paused;opacity:.4}.sr-lightbox[hidden]{display:none}.sr-lightbox{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:55px 20px 20px;background:#1e2422e8}.sr-lightbox img{max-height:85vh;max-width:100%;object-fit:contain;border:8px solid #fff9f0}.sr-lightbox button{position:absolute;top:14px;right:24px;border:0;background:none;color:#fff;font-size:40px}
/* Three coastal particle families; all non-interactive */
.sr-leaves,.sr-mist,.sr-particles{position:fixed;inset:0;z-index:13;overflow:hidden;pointer-events:none}.sr-leaf{position:absolute;top:-25px;background:linear-gradient(155deg,#f6f0da,#a7a990);border-radius:90% 3% 89% 9%;opacity:.4;animation:sr-leaf-drift 15s linear forwards}.sr-mist i{position:absolute;display:block;border-radius:50%;filter:blur(25px);background:#fff9e1a3;opacity:0;animation:sr-mist-drift 16s ease-out forwards}.sr-particle{position:absolute;top:-60px;left:var(--x);display:block;opacity:0;pointer-events:none;animation:sr-particle-drift var(--duration) linear var(--delay) infinite}.sr-particle--petal{width:var(--size);height:calc(var(--size)*.6);border-radius:90% 0 80% 5%;background:#fdf5e9cf;box-shadow:0 0 5px #fff}.sr-particle--glint{width:3px;height:3px;border-radius:50%;background:#fff9dc;box-shadow:0 0 7px 2px #fff5dd}.sr-particle--droplet{width:var(--size);height:calc(var(--size)*.65);border-radius:50%;border:1px solid #e6f3f2bd;background:#f9ffff53;box-shadow:inset 0 0 3px white}
@keyframes sr-establish{from{transform:scale(1.09)}to{transform:scale(1)}}@keyframes sr-water{to{background-position:center 85%;filter:brightness(1.08)}}@keyframes sr-shimmer{50%{opacity:.35;transform:translateY(-30px)}}@keyframes sr-bob{50%{translate:0 -9px}}@keyframes sr-stone-float{50%{transform:translateY(-8px) rotate(1deg)}}@keyframes sr-route{50%{filter:drop-shadow(0 0 13px #fff2aa)}}@keyframes sr-music-beat{50%{transform:scale(1.5)}}@keyframes sr-leaf-drift{to{opacity:0;transform:translate3d(var(--sr-drift),110vh,0) rotate(var(--sr-spin))}}@keyframes sr-mist-drift{20%{opacity:.2}to{opacity:0;transform:translateY(-400px)}}@keyframes sr-particle-drift{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}12%{opacity:var(--opacity)}85%{opacity:var(--opacity)}100%{opacity:0;transform:translate3d(var(--sway),110vh,0) rotate(var(--spin))}}
@media(max-width:950px){.sr-header__mark{display:none}.sr-hero{height:690px;max-height:none}.sr-hero__person{width:32%;height:50%;top:28%}.sr-hero__title{left:22%;width:56%;top:12%}.sr-hero__title h1{font-size:clamp(64px,9vw,110px)}.sr-events__grid{gap:24px}.sr-gallery__shell{grid-template-columns:210px 1fr}.sr-location__shell{grid-template-columns:minmax(250px,40%) 1fr}.sr-response__shell{grid-template-columns:1fr 1.25fr}}
@media(max-width:650px){.sr-header{min-height:50px;padding:15px 17px}.sr-header__brand{font-size:15px;letter-spacing:.25em}.sr-header nav{display:none}.sr-hero{height:770px;min-height:0}.sr-hero__land{background-position:50% center}.sr-hero__person{top:34%;height:39%;width:44%}.sr-hero__person--groom{left:1%}.sr-hero__person--bride{right:1%}.sr-hero__person .sr-photo{height:85%;border-width:3px}.sr-hero__person-name{font-size:23px}.sr-hero__title{top:11%;left:7%;width:86%;max-height:27%}.sr-hero__title h1{font-size:clamp(56px,15vw,87px);margin:8px 0}.sr-hero__title p{font-size:14px;margin-bottom:7px}.sr-hero__date{font-size:9px;padding-top:7px}.sr-hero__water{height:25%;bottom:0}.sr-hero__scroll{bottom:4%;font-size:9px;white-space:nowrap}.sr-couple__shell{grid-template-columns:1fr 20px 1fr;gap:7px;padding:0 15px}.sr-couple__person h2{font-size:clamp(24px,7vw,38px)}.sr-couple__person p{font-size:13px}.sr-couple__person>span{font-size:8px}.sr-couple__axis{font-size:24px}.sr-couple__axis i{height:30px}.sr-countdown{padding:32px 0 50px}.sr-countdown__shell{padding:0 15px}.sr-countdown__stones{gap:7px}.sr-countdown__stone{min-height:83px;aspect-ratio:1.05;border-bottom-width:5px}.sr-countdown__stone strong{font-size:clamp(30px,10vw,53px)}.sr-countdown__stone span{font-size:8px;letter-spacing:.04em}.sr-events{padding:45px 0 65px}.sr-events__land{background-position:49% center}.sr-events__shell{padding:0 18px}.sr-events__heading h2{font-size:53px}.sr-events__grid{grid-template-columns:1fr;gap:13px}.sr-event{padding:19px 22px;border-radius:35px 35px 10px 10px}.sr-event h3{font-size:45px}.sr-events__quote{font-size:22px;margin-top:15px}.sr-story{padding:55px 0 70px;min-height:0}.sr-story__land{background-position:57% center}.sr-story__shell{padding:0 19px}.sr-story__intro h2{font-size:52px}.sr-story__chapters{margin:20px -19px 0;padding:0 19px 15px}.sr-story__chapter{flex-basis:62%;min-width:170px}.sr-gallery{padding:48px 0 65px}.sr-gallery__shell{display:block;padding:0 19px}.sr-gallery__intro h2{font-size:58px}.sr-gallery__rail{margin:10px -19px 0;padding:10px 19px}.sr-gallery__item{flex-basis:61%;border-width:5px}.sr-location{padding:55px 0 75px;min-height:450px}.sr-location__land{background-position:55% center}.sr-location__shell{display:block;padding:0 19px}.sr-location__content{max-width:420px;padding:22px}.sr-location__content h2{font-size:55px}.sr-location__route{height:125px;margin-top:15px}.sr-gift{padding:65px 0}.sr-gift:before{inset:0;opacity:.25}.sr-gift__shell{padding:0 19px}.sr-gift__alcove{border-width:6px;border-radius:35px 35px 10px 10px;padding:26px}.sr-gift__alcove h2{font-size:57px}.sr-response,.sr-wishes{padding:65px 0}.sr-response__shell{display:block;padding:0 19px}.sr-response__heading{text-align:center;margin-bottom:23px}.sr-response__heading h2{font-size:55px}.sr-response__heading p{font-size:21px}.sr-form{padding:24px 19px;border-radius:25px}.sr-form__row{grid-template-columns:1fr}.sr-wishes__shell{padding:0 19px}.sr-wishes__grid{grid-template-columns:1fr}.sr-wishes__heading h2{font-size:61px}.sr-wishes__list{max-height:350px}.sr-closing{min-height:390px}.sr-closing__content h2{font-size:78px}.sr-closing__content p{font-size:20px}.sr-dock a{width:57px}.sr-music{top:12px;right:15px;min-width:35px;height:35px}.sr-opening__content h1{font-size:clamp(49px,12vw,68px)}}
@media(max-width:370px){.sr-hero__title h1{font-size:51px}.sr-event h3{font-size:39px}.sr-dock a{width:52px}.sr-countdown__stone strong{font-size:33px}.sr-hero__person-name{font-size:19px}}
@media(prefers-reduced-motion:reduce){.sr-body *, .sr-body *:before,.sr-body *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.sr-reveal{opacity:1;transform:none}.sr-leaves,.sr-mist,.sr-particles{display:none}}
.sr-hero__person .sr-photo{width:min(100%,23vw,240px);height:auto;aspect-ratio:3/4;flex:none}.sr-hero__person-name{max-height:calc(100% - 10px)}@media(max-width:650px){.sr-hero__person .sr-photo{width:min(100%,42vw);height:auto;aspect-ratio:3/4}}
