/* Reference composition: centered photo hero, paper invitation, countdown. */
:root{--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif;--script:'Mrs Saint Delafield','Snell Roundhand',cursive}
body{font-weight:300}.script{font-family:var(--script);font-weight:400}.intro-copy h1{font-family:Georgia,serif}.hero{height:100svh;min-height:740px}.hero-photo{object-position:center 45%}.hero-shade{background:linear-gradient(#151d1066,#151d104d 50%,#151d1080)}.hero-copy{width:100%;padding:60px 24px 95px;justify-content:center}.oval-monogram{width:93px;height:132px;border:1px solid var(--ivory);border-radius:50%;outline:1px solid var(--ivory);outline-offset:5px;position:relative;font-family:var(--serif);font-weight:300;margin:0 0 42px}.oval-monogram span{position:absolute;left:19px;top:16px;font-size:48px;line-height:1}.oval-monogram i{position:absolute;left:34px;top:41px;font-family:var(--script);font-size:54px;font-weight:400;line-height:1}.oval-monogram b{position:absolute;right:13px;bottom:17px;font-size:46px;font-weight:300;line-height:1}.hero-copy h2{font-size:clamp(66px,6.4vw,90px);line-height:.88;letter-spacing:-.045em;font-weight:300}.couple-names{font-family:var(--script);font-size:clamp(55px,6vw,85px);line-height:1;margin-top:30px;letter-spacing:0;transform:rotate(-3deg)}.hero-scroll{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font-size:10px;letter-spacing:.2em}.hero-scroll b{font-size:21px;font-weight:300}
.paper-section{background-color:#f4f1e7;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23765B2E' opacity='.07' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.date-section{max-width:1180px;margin:auto;padding:140px 55px 80px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;text-align:left}.date-section h2{font-size:clamp(40px,4.7vw,65px);font-weight:300;letter-spacing:-.055em;line-height:1.02;margin:0 0 20px}.section-intro{font-family:var(--sans);font-size:19px;color:var(--forest);line-height:1.55}.date-facts{display:flex;align-items:stretch;margin:55px 0 40px;max-width:410px}.date-facts>div{width:50%;text-align:center;padding:0 16px}.date-facts>div+div{border-left:1px solid var(--bronze)}.date-facts svg{fill:none;stroke:var(--bronze);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;width:49px;height:49px;margin-bottom:14px}.date-facts p{font-size:16px;line-height:1.45;letter-spacing:.02em}.date-facts>div+div p{font-size:13px;line-height:1.65}.calendar-button{background:var(--green);color:var(--ivory);font-family:var(--serif);font-size:21px;letter-spacing:-.025em;min-height:46px;padding:12px 20px;border:1px solid var(--green)}.calendar-button:hover{background:var(--forest)}.photo-stack{position:relative;isolation:isolate;margin:65px 0 0;transform:rotate(4deg)}.photo-back{position:absolute;inset:20px -22px -20px 20px;background:linear-gradient(var(--green) 0 78%,#faf7f0 78%);border:1px solid #765b2e50;transform:rotate(-5deg);z-index:-1}.polaroid{background:#faf8f1;padding:18px 18px 10px;margin:0;box-shadow:-1px 1px 0 #765b2e88,0 8px 25px #151d1012}.polaroid img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:83% center;display:block}.polaroid figcaption{font-size:clamp(30px,3.2vw,46px);text-align:center;white-space:nowrap;padding:16px 0 4px;line-height:1}.paperclip{position:absolute;right:22px;top:-15px;width:20px;height:92px;border:3px solid #aaa79f;border-radius:16px;transform:rotate(-1deg);box-shadow:1px 1px 1px #fff}.paperclip:after{content:'';position:absolute;inset:16px 3px 3px;border:2px solid #b5b2aa;border-radius:10px}
.invitation-section{padding:75px 24px 100px}.invitation-section h2{font-size:clamp(42px,4.9vw,65px);font-weight:300;line-height:.98;letter-spacing:-.045em;margin:0 0 24px}.invitation-section>p:not(.eyebrow){font-size:18px;line-height:1.5;color:var(--forest)}.invitation-envelope{width:min(640px,90vw);aspect-ratio:1.85;display:block;position:relative;isolation:isolate;overflow:hidden;background:var(--green);border:0;padding:0;margin:36px auto 0;box-shadow:0 3px 4px #151d1040;transition:transform .3s}.invitation-envelope:hover{transform:translateY(-5px)}.envelope-base{position:absolute;inset:0;background:linear-gradient(125deg,#ffffff12,#00000020)}.envelope-fold{position:absolute;inset:0;clip-path:polygon(0 100%,50% 25%,100% 100%);background:linear-gradient(0deg,#243c25,#344b31);filter:drop-shadow(0 -2px 1px #0005)}.envelope-top{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 79%);background:linear-gradient(155deg,#3b5739,#233c25);filter:drop-shadow(0 2px 1px #0008)}.envelope-top:after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' opacity='.12' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}.envelope-cta{position:absolute;z-index:2;top:14%;left:10%;right:10%;font-size:clamp(28px,4.1vw,54px);line-height:.9;transform:rotate(-7deg);color:var(--ivory);font-weight:400}.small-seal{position:absolute;z-index:3;left:50%;top:65%;transform:translateX(-50%) rotate(-4deg);width:55px;height:66px;border-radius:47% 50% 46% 49%;background:linear-gradient(120deg,#d1b57d,#b88f58 40%,#e2c992 65%,#aa8249);border:4px double #d7b477;box-shadow:1px 3px 4px #0005,inset 0 0 0 2px #765b2e44;font-family:var(--serif);font-size:36px;color:#765b2e;text-shadow:1px 1px 0 #ead7ae;display:grid;place-items:center}
.countdown-section{background:var(--forest);padding:75px 24px 65px}.countdown-section:before{display:none}.lovebirds{width:115px;height:70px;color:var(--stone);margin-bottom:27px}.countdown-section h2{font-size:clamp(43px,4.8vw,64px);line-height:.98;font-weight:300;letter-spacing:-.04em;margin:0 0 42px}.countdown{gap:6px}.countdown>div{width:77px}.countdown strong{font-family:var(--sans);font-size:42px;font-weight:400;color:var(--ivory);line-height:1.2}.countdown i{font-family:var(--sans);font-size:39px;font-style:normal;color:var(--ivory);line-height:1.1}.countdown span{font-size:9px;letter-spacing:0;margin-top:7px}.sign-off{margin-top:65px}.sign-off .script{font-size:74px;line-height:.8;transform:rotate(-4deg)}.sign-off>p+p{font-family:var(--sans);font-size:16px;letter-spacing:.07em;margin-top:19px}.closing-photo{position:relative;height:440px;overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--ivory);background:var(--forest)}.closing-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:brightness(.42)}.closing-photo>div{position:relative;padding:25px}.closing-photo h2{font-size:clamp(35px,4.3vw,56px);line-height:1;letter-spacing:-.025em}.closing-photo p{font-size:14px;margin-top:25px}footer{background:var(--ivory)}footer p{font-family:var(--script);font-size:31px}dialog h2{font-size:40px}dialog h2 em{font-style:normal}dialog .button{font-weight:400}
@media(max-width:700px){.hero{height:100svh;min-height:680px}.hero-photo{object-position:70% center}.hero-shade{background:#151d1070}.hero-copy{justify-content:center;padding:55px 20px 85px}.oval-monogram{width:76px;height:108px;margin-bottom:38px}.oval-monogram span{left:14px;top:10px;font-size:42px}.oval-monogram i{left:25px;top:34px;font-size:48px}.oval-monogram b{font-size:39px;right:9px;bottom:11px}.hero-copy h2{font-size:70px;line-height:.89}.couple-names{font-size:61px;margin-top:26px}.hero-scroll{bottom:28px;font-size:9px}.date-section{display:flex;flex-direction:column;gap:35px;padding:70px 30px 30px;text-align:center}.date-section h2{font-size:42px;line-height:1.02}.section-intro{font-size:15px}.date-facts{margin:35px auto 30px;max-width:340px}.date-facts p{font-size:15px}.date-facts>div+div p{font-size:11px}.calendar-button{font-size:19px}.photo-stack{width:80%;max-width:350px;margin:10px auto 20px}.polaroid{padding:13px 13px 10px}.polaroid figcaption{font-size:35px}.paperclip{width:16px;height:70px;border-width:2px}.invitation-section{padding:65px 20px 65px}.invitation-section h2{font-size:43px}.invitation-section>p:not(.eyebrow){font-size:14px}.invitation-envelope{width:min(100%,520px);margin-top:28px}.envelope-cta{font-size:34px}.small-seal{width:38px;height:47px;font-size:25px;border-width:3px}.countdown-section{padding:55px 20px}.countdown-section h2{font-size:42px}.countdown strong{font-size:32px}.countdown>div{width:61px}.countdown i{font-size:28px}.sign-off{margin-top:50px}.sign-off .script{font-size:66px}.sign-off>p+p{font-size:14px}.closing-photo{height:340px}.closing-photo>img{object-position:72% center}.closing-photo p{font-size:12px}}
@media(max-width:380px){.hero-copy h2{font-size:61px}.couple-names{font-size:53px}.date-section{padding-left:20px;padding-right:20px}.date-section h2{font-size:38px}.envelope-cta{font-size:30px}.countdown{gap:3px}.countdown>div{width:57px}}
