:root{--paper:#F7F1E6;--ink:#3C4030;--olive:#77795A;--sage:#A4A084;--gold:#B99A65;--line:#D8C5A8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:65px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}body.sealed{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}.eyebrow,.reference,.tiny,.cover-date,.text-button,header,.scroll-link,.surnames,.date-display>span,.countdown span,.outline-button,.photo-arch small,.pending,footer>span,footer button{font-family:Arial,sans-serif}.eyebrow{font-size:10px;letter-spacing:3px;line-height:1.8}.cover{position:fixed;inset:0;z-index:10;overflow:auto;background:radial-gradient(ellipse at 50% 45%,#EADCC5,#D8C5A8);display:grid;place-items:center;text-align:center;transition:opacity .9s,visibility .9s}.cover:before,.cover:after{content:'';position:fixed;width:34vw;height:80vh;border:1px solid #A4A08460;border-radius:50%;transform:rotate(-35deg);pointer-events:none;left:-25vw;top:-15vh}.cover:after{left:auto;right:-25vw;top:auto;bottom:-15vh}.cover-inner{padding:35px 22px;width:100%;max-width:730px}.cover h1{font-size:clamp(36px,6vw,60px);font-weight:400;margin:22px 0 18px}.cover h1 i,footer i,.brand i{color:var(--gold);font-weight:400}.cover-date{font-size:10px;letter-spacing:4px}.envelope{position:relative;display:block;width:min(440px,85vw);aspect-ratio:1.6;margin:55px auto 32px;border:0;background:#D0B68F;box-shadow:0 20px 45px #4d403629;perspective:1000px;padding:0}.letter{position:absolute;inset:10% 8%;background:#F7F1E6;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px;transition:transform .7s .45s}.monogram{font-size:45px;color:var(--olive);font-weight:400}.monogram i{font-size:28px;color:var(--gold)}.letter>span:last-child{font-style:italic}.pocket{position:absolute;inset:0;background:linear-gradient(30deg,#CDB18A,#E2CBA8);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:3}.pocket:after{content:'';position:absolute;inset:0;background:#DBC19C;clip-path:polygon(0 100%,50% 40%,100% 100%)}.flap{position:absolute;inset:0;background:linear-gradient(#E6D1B1,#CCAF84);clip-path:polygon(0 0,100% 0,50% 56%);transform-origin:top;transition:transform .8s;z-index:4;backface-visibility:hidden}.seal{position:absolute;left:calc(50% - 31px);top:43%;width:62px;height:62px;border-radius:50%;background:linear-gradient(145deg,#B99A65,#8A693C);border:4px double #D8C5A8;box-shadow:0 3px 5px #53432140;display:flex;align-items:center;justify-content:center;color:#F7F1E6;font-size:22px;z-index:5;transition:opacity .3s}.seal span{font-size:13px;margin:0 2px}.opening .flap{transform:rotateX(180deg)}.opening .seal{opacity:0}.opening .letter{transform:translateY(-45%)}.cover.gone{opacity:0;visibility:hidden}.for-you{font-size:18px;font-style:italic;margin-top:35px}.text-button{border:0;background:none;font-size:9px;letter-spacing:2px;color:var(--ink);padding:12px}.text-button span{margin-left:8px}.tiny{font-size:10px;color:#635F4C;margin-top:25px}header{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #A4A08440;font-size:9px;letter-spacing:2px;background:#F7F1E6ee;position:sticky;top:0;z-index:6}.brand{font:23px Georgia;letter-spacing:0}header button{background:none;border:0;font-size:10px;color:var(--ink)}.section{position:relative;min-height:85svh;display:grid;place-items:center;text-align:center;padding:90px 25px}.hero{min-height:calc(100svh - 65px);overflow:hidden;padding:75px 22px 40px}.arch{position:absolute;width:min(650px,90%);height:95%;top:35px;border:1px solid #A4A08488;border-radius:48% 48% 0 0}.arch:after{content:'';position:absolute;inset:12px;border:1px solid #A4A08444;border-radius:inherit}.hero-content{z-index:1}.small-serif{font-size:17px;font-style:italic;margin:10px 0 30px;color:#5E604A}.hero h2{font-size:clamp(43px,7vw,76px);line-height:1.08;font-weight:400;margin:20px 0}.amp{display:block;color:var(--gold);font-size:40px;font-style:italic;margin:5px 0}.surnames{font-size:10px;letter-spacing:1px;line-height:2}.surnames span{margin:0 8px}.fine-line{height:1px;background:var(--line);width:65px;margin:32px auto}.date{font-size:20px}.time{font-size:17px;font-style:italic;color:#5E604A}.scroll-link{display:block;font-size:8px;letter-spacing:2px;margin-top:48px}.scroll-link span{display:block;font-size:24px;margin-top:12px}.verse{background:#E6E3D4;min-height:80svh}.ornament{font-size:35px;color:var(--gold);display:block;margin:25px auto}blockquote{font-size:clamp(29px,4vw,46px);line-height:1.45;font-weight:400;font-style:italic;margin:25px 0}.reference{font-size:8px;letter-spacing:2px;line-height:1.8}.body-copy{font-size:16px;line-height:1.85;color:#53553F}.photo-section{padding:70px 25px;background:#E6E3D4}.photo-placeholder{max-width:760px;min-height:450px;margin:auto;display:grid;place-items:center;background:linear-gradient(145deg,#A4A084,#E6E3D4);padding:40px}.photo-arch{border:1px solid #F7F1E6a0;border-radius:160px 160px 0 0;min-height:365px;width:270px;max-width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.photo-arch p{font-style:italic;font-size:27px;line-height:1.4}.photo-arch small{font-size:8px;letter-spacing:2px;color:#53553F}h2{font-size:clamp(36px,5vw,50px);font-weight:400;margin:20px 0}h3{font-size:25px;font-weight:400}.date-display{display:flex;align-items:center;justify-content:center;gap:25px;margin:25px auto}.date-display strong{font-weight:400;font-size:100px;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 25px}.date-display>span{font-size:9px;letter-spacing:2px;line-height:1.8}.countdown{display:flex;justify-content:center;gap:25px;margin:40px 0}.countdown b{display:block;font-size:31px;font-weight:400;min-width:42px;font-variant-numeric:tabular-nums}.countdown span{font-size:8px;letter-spacing:2px;display:block;margin-top:8px}.outline-button{border:1px solid var(--olive);color:var(--ink);background:transparent;padding:18px 24px;font-size:9px;letter-spacing:2px}.outline-button:hover{background:#E6E3D4}.outline-button span{margin-left:15px}.location{border-top:1px solid #D8C5A860;margin-top:65px;padding-top:15px}.location p{color:#53553F;line-height:1.7}.details{background:#E6E3D4}.dress-icon{font-size:55px;color:var(--olive);margin-top:30px}.pending{font-size:10px;display:inline-block;border-bottom:1px solid var(--sage);padding:15px 0;color:#53553F}footer{text-align:center;background:#77795A;color:#F7F1E6;padding:65px 20px}footer p{font-style:italic;color:#F7F1E6}footer>span{font-size:9px;letter-spacing:4px}footer button{display:block;margin:40px auto 0;border:0;background:none;color:#F7F1E6;font-size:8px;letter-spacing:2px}.dots{position:fixed;right:18px;top:45%;z-index:5;display:grid;gap:15px}.dots a{width:7px;height:7px;border:1px solid #77795A;border-radius:50%;background:var(--paper)}.reveal{opacity:0;transform:translateY(25px);transition:opacity 1s,transform 1s}.reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}@media(max-width:600px){.eyebrow{font-size:8px;letter-spacing:2px}.cover-inner{padding:30px 20px}.envelope{margin-top:50px}.section{padding:65px 23px}.hero{padding-top:65px;padding-bottom:35px}.surnames{font-size:8px;letter-spacing:.5px}.hero h2{font-size:46px}.date{font-size:17px}.dots{right:8px}.photo-section{padding:25px 22px 60px}.photo-placeholder{min-height:400px;padding:20px}.countdown{gap:19px}.date-display{gap:15px}.date-display strong{padding:0 18px;font-size:85px}.body-copy{font-size:15px}header{padding:0 22px}.cover h1{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

.couple-photo{margin:0 auto;max-width:650px;text-align:center}.couple-photo img{display:block;width:100%;height:auto;border-radius:300px 300px 0 0}.couple-photo figcaption{font-size:23px;font-style:italic;padding:25px 10px;color:#53553F}.map-link{display:inline-block;margin-top:15px}#passes{font-size:18px;color:#53553F}
