:root{--paper:#fff7f5;--blush:#f8d8d4;--blush2:#fce8e5;--cream:#fffaf4;--rose:#d94759;--red:#ae1e35;--deep:#45252c;--ink:#432e31;--muted:#816a6d;--mauve:#b784a7;--line:#e9bfc0;--shadow:0 22px 60px #77313b18}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}.hidden,[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(circle at 0 12%,#ffe9e6 0,transparent 37%),radial-gradient(circle at 100% 73%,#f8dfeb 0,transparent 38%),#fff8f5}.ambient-orb{position:absolute;border-radius:50%;filter:blur(50px);opacity:.28;animation:float-orb 17s ease-in-out infinite alternate}.orb-one{width:300px;height:300px;left:-120px;top:20%;background:#f2aebb}.orb-two{width:400px;height:400px;right:-170px;top:52%;background:#d8c8f1;animation-delay:-6s}@keyframes float-orb{to{transform:translate(35px,-20px) scale(1.12)}}#particle-layer{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.particle{position:absolute;bottom:-20px;color:var(--red);font-size:18px;animation:float-up var(--duration,4s) ease-out forwards;text-shadow:0 4px 15px #d9475933}@keyframes float-up{12%{opacity:.8}to{transform:translateY(-110vh) rotate(35deg);opacity:0}}
.password-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:linear-gradient(#fff6f4e8,#fff6f4e8),repeating-linear-gradient(0deg,transparent 0 17px,#eac6c533 18px 19px),repeating-linear-gradient(90deg,transparent 0 17px,#eac6c533 18px 19px)}.gate-card{width:min(100%,490px);padding:clamp(30px,7vw,54px);text-align:center;background:#fffaf4ef;border:1px solid #fff;box-shadow:0 30px 90px #a73a4b20;border-radius:6px;position:relative;animation:appear .8s ease both}.gate-card:before{content:"";position:absolute;inset:8px;border:1px solid #ecc9c8;pointer-events:none}.gate-seal{width:72px;height:72px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e96975,#a20f2a 72%);box-shadow:inset 0 3px 5px #fff6,0 8px 16px #9a203044;color:#ffe3e3;font-size:35px;transform:rotate(-12deg)}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.19em;font-size:.65rem;font-weight:600;color:var(--red)}.gate-card h1{font:500 clamp(2.8rem,8vw,4.1rem)/1.04 "Playfair Display",serif;letter-spacing:-.04em;margin:0}.gate-card h1 em,.section-intro h2 em,.hero h1 em,.surprise-inner h2 em{color:var(--red);font-weight:500}.gate-copy{max-width:330px;margin:20px auto 24px;color:var(--muted);line-height:1.8;font-size:.9rem}#password-form{display:grid;gap:11px}#password-input{width:100%;padding:15px 16px;text-align:center;letter-spacing:.2em;border:1px solid #e6c4c3;background:#fffdf9;outline:none;border-radius:2px;color:var(--deep)}#password-input:focus{border-color:var(--red);box-shadow:0 0 0 3px #d9475916}#password-message{min-height:17px;font-size:.75rem;color:#9a7b7d;margin:3px 0 0}#password-message.error{color:#ad1730;animation:shake .25s ease}.gate-signature{font:1.55rem Caveat,cursive;color:var(--red);margin:22px 0 0}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{25%,75%{transform:translateX(-4px)}50%{transform:translateX(4px)}}
.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 22px;text-decoration:none;text-transform:none;font-weight:600;font-size:.8rem;letter-spacing:.01em;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #cf5264;outline-offset:4px}.button-red{background:var(--red);color:white;box-shadow:0 9px 20px #ae1e3527}.button-red:hover{background:#97182c;box-shadow:0 12px 25px #ae1e3535}.button-red span{font-size:1.1rem}.button-cream{background:#fff7f0;color:var(--red);box-shadow:0 8px 24px #5e152015}
.site{width:100%;max-width:1800px;margin:auto}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(20px,6vw,70px);background:#fff8f6ed;border-bottom:1px solid #efd6d4;position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.brand{white-space:nowrap;font:1.2rem "Playfair Display",serif;text-decoration:none;color:var(--red)}.brand-heart{font-family:Arial,sans-serif;margin-right:7px;font-size:1.35rem}.main-nav{display:flex;align-items:center;gap:clamp(10px,1.8vw,26px)}.main-nav a{font-size:.69rem;text-decoration:none;color:#69575a;white-space:nowrap;transition:color .2s}.main-nav a span{color:#d68d92;margin-right:5px}.main-nav a:hover{color:var(--red)}.header-script{font:italic 1.2rem Caveat,cursive;color:var(--red);white-space:nowrap}.mobile-menu-button{display:none;border:1px solid #ecc6c7;background:#fff7f4;color:var(--red);padding:8px 11px}
.hero{min-height:650px;padding:56px clamp(24px,6vw,70px) 52px;position:relative;display:grid;grid-template-columns:minmax(300px,.95fr) minmax(350px,1.05fr);gap:20px;overflow:hidden;background:linear-gradient(100deg,#fbe8e3f5,#f9dcd8ee);background-image:repeating-linear-gradient(0deg,transparent 0 18px,#c65d6610 19px 20px),repeating-linear-gradient(90deg,transparent 0 18px,#c65d6610 19px 20px),linear-gradient(100deg,#fceae6,#f8d9d6)}.hero-copy{position:relative;z-index:2;align-self:center;max-width:590px}.eyebrow-line{display:flex;align-items:center;gap:12px}.eyebrow-line:before{content:"";height:1px;width:32px;background:var(--red)}.hero h1{margin:35px 0 22px;font:500 clamp(4.2rem,8.2vw,7.4rem)/.91 "Playfair Display",serif;letter-spacing:-.065em;color:#492d30}.hero h1 em{font:italic 500 clamp(4rem,8vw,7rem)/1 "Caveat",cursive;display:inline-block;letter-spacing:-.04em;margin-top:8px}.hero-subtitle{max-width:360px;color:#594143;font:1.05rem/1.85 "Playfair Display",serif;margin:25px 0 28px}.names-line{display:flex;align-items:center;gap:10px;font-size:.78rem;color:#70575b;margin:0 0 30px}.names-line>span:first-child{font-size:1.15rem;color:var(--red)}.names-line b{font-weight:400;color:#c18b8f}.handwritten{font:1.35rem Caveat,cursive;color:var(--red)}.hero-note{margin:16px 0 24px;transform:rotate(-2deg)}.counter-wrap{border-top:1px solid #d78c8f66;padding-top:14px;max-width:520px}.counter-kicker{font:1.1rem Caveat,cursive;color:#9e454f;margin:0 0 9px}.counter{display:flex;gap:clamp(10px,2vw,25px);flex-wrap:wrap}.counter div{display:flex;flex-direction:column;gap:4px;min-width:42px}.counter strong{font:500 1.55rem "Playfair Display",serif;color:#712b36;font-variant-numeric:tabular-nums}.counter span{font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:#8a6669}.hero-art{position:relative;min-height:480px;align-self:stretch;isolation:isolate}.grid-paper{position:absolute;inset:0;opacity:.25;background:repeating-linear-gradient(0deg,transparent 0 17px,#c74e5a23 18px 19px),repeating-linear-gradient(90deg,transparent 0 17px,#c74e5a23 18px 19px)}.ribbon{position:absolute;z-index:4;pointer-events:none}.ribbon-back{width:72%;height:160%;top:-27%;left:18%;border:24px solid #9f0e27;border-bottom-color:transparent;border-left-color:#b51b31;border-radius:48%;transform:rotate(27deg);filter:drop-shadow(0 6px 4px #7e0f1e33)}.ribbon-front{width:85%;height:120px;bottom:1%;left:4%;border-bottom:25px solid #a9112b;border-radius:50%;transform:rotate(-16deg);filter:drop-shadow(0 7px 4px #7e0f1e33)}.snapshot{position:absolute;width:36%;height:47%;background:#fffdf6;padding:10px 10px 34px;box-shadow:0 18px 32px #8a252323;border:1px solid #fff;z-index:1}.snapshot:before{content:"";position:absolute;inset:10px 10px 35px;background:linear-gradient(145deg,#eedad2,#f6e8de 42%,#d8b3ab);border:1px solid #f0e0d9}.snapshot span{position:absolute;bottom:11px;left:0;right:0;text-align:center;font:1.05rem Caveat,cursive;color:#8a4449}.snapshot-back{left:7%;bottom:5%;transform:rotate(-11deg)}.snapshot-front{right:2%;bottom:0;transform:rotate(9deg);z-index:2}.envelope-illustration{position:absolute;width:min(93%,520px);height:390px;top:7%;right:0;z-index:3;filter:drop-shadow(0 16px 16px #70232c20);transform:rotate(5deg)}.envelope-back{position:absolute;inset:7% 4% 6%;background:#dec8b7;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.envelope-paper{position:absolute;width:83%;height:95%;top:-6%;left:9%;background:linear-gradient(135deg,#fffaf0,#f4e7d8);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);box-shadow:0 0 8px #a48673}.envelope-body{position:absolute;inset:13% 4% 7%;background:linear-gradient(125deg,#fff8e9,#ead9c5);clip-path:polygon(0 0,50% 47%,100% 0,100% 100%,0 100%);border:1px solid #d7bfaa}.envelope-flap{position:absolute;inset:7% 4% auto;height:65%;background:linear-gradient(155deg,#fff9eb,#e9d7c3);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 5px 3px #a88a7250)}.wax-seal{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);width:76px;height:76px;border-radius:50%;display:grid;place-items:center;color:#ffe6df;font-size:41px;background:radial-gradient(circle at 30% 25%,#f0646c,#bb142c 60%,#850d20);border:3px solid #d34750;box-shadow:inset 0 3px 3px #ffd5ce99,0 5px 11px #6e0e203d;z-index:5}.art-sparkle{position:absolute;color:#a72a3b;z-index:5}.sparkle-one{top:15%;left:7%;font-size:2rem}.sparkle-two{right:4%;bottom:17%;font-size:2.5rem}.art-caption{position:absolute;right:2%;top:3%;z-index:5;transform:rotate(8deg);font-size:1.6rem}.hero-bottomline{position:absolute;bottom:16px;left:clamp(24px,6vw,70px);right:clamp(24px,6vw,70px);display:flex;justify-content:space-between;gap:15px;color:#a96f73;font-size:.57rem;letter-spacing:.13em}
.section{padding:105px clamp(24px,8vw,110px)}.story-section{background:#fffaf6}.section-intro{max-width:740px;margin:0 auto 54px}.section-intro.centered{text-align:center}.section-intro h2{font:500 clamp(2.8rem,5.5vw,5rem)/1.03 "Playfair Display",serif;letter-spacing:-.05em;margin:15px 0 18px;color:#492e32}.section-intro>p:last-child{max-width:590px;color:var(--muted);font-size:.9rem;line-height:1.9}.section-intro.centered>p:last-child{margin-inline:auto}.timeline{max-width:900px;margin:auto;display:grid;gap:15px;position:relative}.timeline:before{content:"";position:absolute;left:25px;top:25px;bottom:25px;width:1px;background:#e8b7b8}.timeline-card{display:grid;grid-template-columns:52px 1fr 40px;gap:17px;align-items:start;border:1px solid #f0ded9;background:#fffefa;padding:24px 26px;border-radius:3px;box-shadow:0 9px 28px #853a3b08;position:relative}.timeline-index{width:43px;height:43px;border:1px solid #e8b7b8;border-radius:50%;display:grid;place-items:center;background:#fff7f3;color:var(--red);font:1rem "Playfair Display",serif;position:relative;z-index:1}.timeline-date{font-size:.61rem;letter-spacing:.16em;color:#c56b74;margin:0 0 7px;font-weight:700}.timeline-card h3{font:500 1.65rem "Playfair Display",serif;color:#4a3033;margin:0 0 8px}.timeline-card p:not(.timeline-date){font-size:.85rem;line-height:1.8;color:#796469;margin:0}.editable-hint{display:inline-block;color:#ba8a8e;font:1.1rem Caveat,cursive;margin-top:12px}.timeline-doodle{font-size:1.65rem;color:#cf6772;text-align:right}
.memories-section{background:#f9e5e1;background-image:repeating-linear-gradient(0deg,transparent 0 19px,#c65d6610 20px 21px),repeating-linear-gradient(90deg,transparent 0 19px,#c65d6610 20px 21px)}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1100px;margin:auto;align-items:start}.polaroid{border:0;padding:11px 11px 17px;background:#fffdfa;box-shadow:0 15px 32px #853a3b18;text-align:center;min-width:0;transform:rotate(-2deg);transition:transform .25s,box-shadow .25s}.polaroid-two{transform:rotate(2.5deg);margin-top:28px}.polaroid-three{transform:rotate(-1deg);margin-top:6px}.polaroid-four{transform:rotate(3deg);margin-top:32px}.polaroid:hover{transform:translateY(-8px) rotate(0deg);box-shadow:0 22px 40px #853a3b2a}.photo-window{display:block;position:relative;aspect-ratio:4/4.6;background:linear-gradient(135deg,#f2d4d0,#eadbe7);overflow:hidden}.photo-window img{width:100%;height:100%;object-fit:cover;display:block}.empty-photo{display:grid;place-items:center;background:linear-gradient(140deg,#f4d5ce,#f1e3df 48%,#e5d6e9)}.photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#a64b58;pointer-events:none}.photo-placeholder b{font:2.6rem "Playfair Display",serif;opacity:.75}.photo-placeholder small{text-transform:uppercase;font-size:.55rem;letter-spacing:.12em;max-width:90px;line-height:1.5}.photo-caption{display:block;padding-top:12px;font:1.25rem Caveat,cursive;color:#79464d}.gallery-instruction{color:#8d6467;text-align:center;font-size:.75rem;margin:34px 0 0}.gallery-instruction>span{color:var(--red);margin-right:8px}code{padding:2px 5px;background:#fff5ef;border:1px solid #efd5ce;color:#a33343;border-radius:2px;font-size:.9em}
.letter-section{background:#fff9f5;text-align:center}.letter-envelope{position:relative;display:block;width:min(370px,88vw);height:240px;margin:10px auto 38px;border:0;background:transparent;transition:transform .25s;isolation:isolate}.letter-envelope:hover{transform:translateY(-4px) rotate(-1deg)}.letter-envelope-back{position:absolute;inset:15px 0 0;background:#e6c6bd;clip-path:polygon(0 0,50% 45%,100% 0,100% 100%,0 100%);box-shadow:var(--shadow)}.letter-envelope-front{position:absolute;inset:15px 0 0;background:linear-gradient(145deg,#f4d7d0,#e9c3ba);clip-path:polygon(0 100%,0 0,50% 55%,100% 0,100% 100%);z-index:3}.letter-envelope-flap{position:absolute;top:15px;left:0;right:0;height:65%;background:linear-gradient(155deg,#fff1e8,#e8c5bb);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .55s ease;z-index:4}.letter-paper-peek{position:absolute;top:0;left:10%;right:10%;height:85%;display:grid;place-items:center;background:#fffdf7;border:1px solid #ead6cb;font:1.4rem Caveat,cursive;color:var(--red);z-index:1;transition:transform .5s}.letter-wax{position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);z-index:5;width:63px;height:63px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 20%,#ef626c,#b6122b 70%);border:2px solid #d54b53;color:#ffe9e4;font-size:35px;box-shadow:0 4px 10px #8c243333}.letter-envelope.opened .letter-envelope-flap{transform:rotateX(180deg);opacity:.55}.letter-envelope.opened .letter-paper-peek{transform:translateY(-42px);z-index:4}.letter-envelope.opened .letter-wax{opacity:0;transition:opacity .2s}.letter-envelope-prompt{position:absolute;bottom:-27px;left:0;right:0;z-index:6}.love-letter{width:min(700px,100%);margin:20px auto 0;padding:clamp(25px,6vw,55px);text-align:left;border:1px solid #f0d8ce;background:repeating-linear-gradient(#fffdf8 0 35px,#eeded6 36px 37px);box-shadow:var(--shadow);font:1.08rem/1.95 "Playfair Display",serif;color:#685055;animation:appear .5s ease both}.love-letter h3{font:500 2rem "Playfair Display",serif;color:#482d32;margin:14px 0}.love-letter p{margin:15px 0}.letter-date{font:700 .65rem "DM Sans",sans-serif;letter-spacing:.14em;color:#b65b66;text-transform:uppercase}.letter-signoff span{font:1.9rem Caveat,cursive;color:var(--red)}.letter-customize{border-top:1px dashed #ddbcb6;padding-top:13px;color:#a38787;font: .7rem/1.6 "DM Sans",sans-serif;margin-top:26px!important}
.reasons-section{background:#fbe9e6;background-image:radial-gradient(#c4656c13 .7px,transparent .7px);background-size:12px 12px}.reasons-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.reason-card{position:relative;min-height:225px;padding:25px 20px;border:1px solid #edd4d1;background:#fffaf6;text-align:center;display:flex;align-items:center;flex-direction:column;gap:10px;box-shadow:0 8px 24px #803d3d08;transition:transform .25s,background .25s,box-shadow .25s}.reason-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.reason-number{position:absolute;top:12px;left:14px;font-size:.58rem;letter-spacing:.13em;color:#ce9293}.reason-icon{width:51px;height:51px;border-radius:50%;display:grid;place-items:center;background:#f9e0dc;color:var(--red);font-size:1.55rem}.reason-card strong{font:500 1.3rem "Playfair Display",serif;color:#4a3033}.reason-detail{display:none;font-size:.8rem;line-height:1.7;color:#80676a}.reason-card[aria-expanded="true"]{background:#fff1ec;border-color:#e5afb0}.reason-card[aria-expanded="true"] .reason-detail{display:block;animation:appear .25s ease both}.reason-card[aria-expanded="true"] .reason-icon{background:var(--red);color:white}
.surprise-section{position:relative;overflow:hidden;background:#a51d33;color:#fff5ed;text-align:center;padding:100px 24px 110px;background-image:radial-gradient(circle at 18% 30%,#db697348 0,transparent 30%),radial-gradient(circle at 90% 75%,#e7a3b02f 0,transparent 35%)}.surprise-section:before,.surprise-section:after{content:"";position:absolute;width:60vw;height:60vw;border:1px solid #ffffff18;border-radius:50%;top:-35vw;left:-13vw}.surprise-section:after{top:auto;left:auto;right:-20vw;bottom:-42vw}.surprise-ribbon{position:absolute;top:-50px;right:20%;width:35px;height:160%;background:#d74355;transform:rotate(25deg);opacity:.45;box-shadow:0 0 0 1px #ffffff12}.surprise-inner{position:relative;z-index:1;max-width:730px;margin:auto}.surprise-inner .eyebrow{color:#ffd8d4}.surprise-stamp{width:83px;height:83px;border:1px solid #ffb6b8;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;font-size:.6rem;line-height:1.5;letter-spacing:.12em;transform:rotate(-12deg);color:#ffe2db}.surprise-inner h2{font:500 clamp(3.2rem,7vw,6rem)/.98 "Playfair Display",serif;letter-spacing:-.05em;margin:20px 0}.surprise-inner h2 em{color:#ffd0d1}.surprise-inner>p:not(.eyebrow){color:#f4cfcc;font-size:.9rem;margin:20px 0 27px}.surprise-message{max-width:630px;margin:32px auto 0;padding:27px 24px;border:1px solid #f8c6c45a;background:#7e1026a8;animation:appear .6s ease both}.surprise-heart{font-size:3rem;color:#ffd2dc;animation:heartbeat 1.8s infinite}.surprise-message p{font:1.5rem/1.65 "Playfair Display",serif}.surprise-message p em{color:#ffc5d4}.surprise-message>span{font:1.4rem/1.6 Caveat,cursive;color:#ffdbd9}@keyframes heartbeat{0%,100%{transform:scale(1)}12%{transform:scale(1.1)}24%{transform:scale(1)}}.site-footer{background:#fff8f6;padding:38px 20px 45px;text-align:center;color:#9b777b}.footer-heart{color:var(--red);font-size:1.4rem}.site-footer p{font:1.3rem Caveat,cursive;margin:7px 0}.site-footer>span:last-child{font-size:.61rem;letter-spacing:.13em}.music-pill{position:fixed;right:22px;bottom:20px;z-index:25;display:flex;align-items:center;gap:11px;border:1px solid #ffffffaa;border-radius:999px;padding:9px 14px 9px 9px;background:#a61f35;color:white;box-shadow:0 10px 30px #8d1c3038;text-align:left}.music-disc{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#fff2eb;color:#a61f35;font-size:1.25rem}.music-pill b,.music-pill small{display:block}.music-pill b{font-size:.73rem}.music-pill small{font-size:.62rem;color:#ffdfe0;margin-top:2px}.music-pill #music-symbol{font-size:.8rem;margin-left:4px}.music-pill[aria-pressed="true"] .music-disc{animation:spin 4s linear infinite}.lightbox{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:55px 20px 25px;background:#2b101cf2}.lightbox img{max-width:90vw;max-height:74vh;object-fit:contain;border:8px solid #fffaf4;box-shadow:0 20px 70px #0005}.lightbox p{font:1.5rem Caveat,cursive;color:#fff0ec;margin:0}.lightbox button{position:absolute;top:15px;right:22px;border:0;background:transparent;color:white;font-size:2.6rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1040px){.site-header{padding-inline:24px}.header-script{display:none}.main-nav{gap:12px}.hero{grid-template-columns:1fr 1fr;padding-inline:35px}.hero h1{font-size:clamp(4rem,7vw,6rem)}.envelope-illustration{height:350px}.gallery{gap:15px}}
@media(max-width:760px){.site-header{height:auto;min-height:69px;flex-wrap:wrap;padding:14px 18px}.brand{font-size:1.07rem}.mobile-menu-button{display:block;margin-left:auto}.main-nav{display:none;order:4;width:100%;padding:10px 0 3px;flex-wrap:wrap;justify-content:center;border-top:1px solid #efd6d4}.main-nav.open{display:flex}.main-nav a{font-size:.72rem}.hero{display:flex;flex-direction:column;align-items:stretch;padding:50px 25px 56px;gap:0}.hero-copy{max-width:100%}.hero h1{font-size:clamp(4.3rem,13vw,6.8rem)}.hero h1 em{font-size:clamp(4rem,13vw,6.4rem)}.hero-art{min-height:390px;margin:25px -8px 15px}.envelope-illustration{width:85%;height:325px;right:5%}.ribbon-back{left:12%;width:72%}.hero-bottomline{left:25px;right:25px;bottom:14px;flex-wrap:wrap}.hero-bottomline span:nth-child(2){display:none}.counter{gap:16px}.section{padding:78px 22px}.timeline-card{grid-template-columns:45px 1fr;gap:13px;padding:20px 17px}.timeline-doodle{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;max-width:550px}.polaroid-two,.polaroid-four{margin-top:20px}.reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reason-card{min-height:205px}.surprise-section{padding:80px 22px 90px}.music-pill{right:12px;bottom:12px}.letter-envelope{margin-bottom:34px}}
@media(max-width:430px){.hero h1{font-size:3.75rem}.hero h1 em{font-size:3.7rem}.hero-art{min-height:310px}.envelope-illustration{height:275px}.wax-seal{width:62px;height:62px;font-size:34px}.snapshot{width:38%;height:44%;padding:7px 7px 26px}.snapshot:before{inset:7px 7px 27px}.snapshot span{font-size:.88rem}.art-caption{font-size:1.25rem}.counter strong{font-size:1.25rem}.counter{gap:12px}.section-intro h2{font-size:2.7rem}.timeline-card h3{font-size:1.4rem}.gallery{gap:12px}.polaroid{padding:8px 8px 12px}.photo-caption{font-size:1.08rem}.reason-card{padding:22px 11px;min-height:190px}.reason-card strong{font-size:1.12rem}.music-pill{padding:7px 10px 7px 7px}.music-disc{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
