.privacy{max-width:42rem;margin:0 auto;padding:2rem 1.25rem 4rem;text-align:left;line-height:1.6}.privacy__back{margin:0 0 1.5rem}.privacy__back a{color:inherit;opacity:.75}.privacy h1{font-size:clamp(1.75rem,4vw,2.25rem);margin:0 0 .75rem}.privacy h2{font-size:1.1rem;margin:1.75rem 0 .5rem}.privacy__lead,.privacy p,.privacy li{margin:0 0 .75rem;opacity:.92}.privacy__meta{font-size:.9rem;opacity:.7!important}.privacy ul{margin:0 0 .75rem;padding-left:1.2rem}.privacy__disclaimer{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);font-size:.88rem;opacity:.75}.legal-footer{display:flex;justify-content:center;gap:1rem;padding:1.5rem 1rem 2rem;font-size:.9rem}.legal-footer a{color:inherit;opacity:.7;text-decoration:underline;text-underline-offset:.2em}.legal-footer a:hover{opacity:1}:root{--rose: #c44569;--rose-dark: #8b2e4a;--rose-light: #fce4ec;--blush: #fff5f7;--gold: #d4a574;--gold-light: #f5e6d3;--text: #3d1f2b;--text-soft: #6b4a55;font-family:Segoe UI,system-ui,sans-serif;line-height:1.6;color:var(--text);background:var(--blush)}*,*:before,*:after{box-sizing:border-box}body{margin:0;overflow-x:hidden}.hearts-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.hearts-bg span{position:absolute;bottom:-2rem;font-size:clamp(.8rem,2vw,1.4rem);color:var(--rose);opacity:0;animation:float-up linear infinite}@keyframes float-up{0%{transform:translateY(0) rotate(0) scale(.6);opacity:0}10%{opacity:.35}90%{opacity:.15}to{transform:translateY(-105vh) rotate(360deg) scale(1);opacity:0}}.site{position:relative;z-index:1}section{padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,2.5rem)}.container{max-width:52rem;margin:0 auto}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(196,69,105,.18) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(212,165,116,.15) 0%,transparent 60%),linear-gradient(180deg,var(--blush) 0%,#fde8ef 50%,var(--gold-light) 100%);padding-top:2rem;padding-bottom:4rem}.hero__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:999px;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rose-dark);margin-bottom:1.5rem;animation:fade-down 1s ease both}.hero__title{font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,12vw,6.5rem);font-weight:400;margin:0;line-height:1.05;color:var(--rose-dark);animation:fade-up 1s ease .2s both}.hero__title em{font-style:italic;color:var(--rose)}.hero__subtitle{margin:1.25rem 0 0;font-size:clamp(1.1rem,3vw,1.5rem);color:var(--text-soft);max-width:28rem;animation:fade-up 1s ease .4s both}.hero__years{display:flex;align-items:baseline;gap:.5rem;margin-top:2.5rem;animation:fade-up 1s ease .6s both}.hero__number{font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,15vw,7rem);line-height:1;color:var(--rose);font-weight:400}.hero__years-label{font-size:clamp(1.2rem,3vw,1.8rem);color:var(--text-soft);text-align:left}.hero__years-label strong{display:block;color:var(--rose-dark);font-weight:600}.hero__scroll{margin-top:3rem;animation:fade-up 1s ease .8s both,bounce 2s ease 1.5s infinite;font-size:1.5rem;color:var(--rose);opacity:.6;text-decoration:none}@keyframes fade-up{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(.5rem)}}.section-title{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,5vw,2.75rem);text-align:center;margin:0 0 .5rem;color:var(--rose-dark);font-weight:400}.section-lead{text-align:center;margin:0 auto 2.5rem;max-width:32rem;color:var(--text-soft);font-size:1.05rem}.qualities{background:#fff}.qualities__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.quality-card{text-align:center;padding:1.75rem 1rem;border-radius:1.25rem;background:linear-gradient(145deg,var(--blush),#fff);border:1px solid rgba(196,69,105,.12);transition:transform .3s ease,box-shadow .3s ease}.quality-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #c445691f}.quality-card__icon{font-size:2rem;display:block;margin-bottom:.6rem}.quality-card__name{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;color:var(--rose-dark);margin:0 0 .35rem}.quality-card__desc{margin:0;font-size:.85rem;color:var(--text-soft);line-height:1.45}.timeline{background:linear-gradient(180deg,#fff 0%,var(--gold-light) 100%)}.timeline__track{display:flex;flex-direction:column;gap:0;position:relative;padding-left:2rem}.timeline__track:before{content:"";position:absolute;left:.45rem;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(180deg,var(--rose),var(--gold));border-radius:2px}.timeline__item{position:relative;padding:0 0 2rem 1.5rem}.timeline__item:last-child{padding-bottom:0}.timeline__dot{position:absolute;left:-2rem;top:.35rem;width:1rem;height:1rem;border-radius:50%;background:var(--rose);border:3px solid #fff;box-shadow:0 0 0 2px var(--rose-light)}.timeline__year{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;color:var(--gold);margin:0 0 .25rem}.timeline__text{margin:0;color:var(--text-soft);font-size:.95rem}.surprise{background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(196,69,105,.1) 0%,transparent 70%),var(--blush);text-align:center}.envelope{max-width:22rem;margin:0 auto;cursor:pointer;perspective:800px;-webkit-user-select:none;user-select:none}.envelope__hint{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-soft);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.envelope__body{position:relative;background:linear-gradient(160deg,#f8d7e0,#e8b4c0);border-radius:.5rem .5rem .25rem .25rem;padding:3rem 1.5rem 2rem;box-shadow:0 16px 48px #8b2e4a33;transition:transform .5s ease}.envelope:hover .envelope__body{transform:scale(1.02)}.envelope__flap{position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#dfa0b0,#e8b4c0);clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top center;transition:transform .8s cubic-bezier(.4,0,.2,1);z-index:2}.envelope__seal{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;background:var(--rose);border-radius:50%;display:grid;place-content:center;font-size:1.3rem;color:#fff;z-index:3;box-shadow:0 4px 12px #c4456966;transition:opacity .4s ease,transform .4s ease}.envelope__label{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;color:var(--rose-dark);margin:0}.letter{max-width:28rem;margin:2rem auto 0;padding:2rem 1.75rem;background:#fffef9;border-radius:.25rem;box-shadow:0 2px 8px #0000000f,0 16px 40px #c445691a;text-align:left;transform-origin:top center;animation:letter-reveal .8s cubic-bezier(.4,0,.2,1) both;border:1px solid rgba(212,165,116,.3)}@keyframes letter-reveal{0%{opacity:0;transform:translateY(-1rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.letter__greeting{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;color:var(--rose-dark);margin:0 0 1rem}.letter p{margin:0 0 .85rem;color:var(--text-soft);font-size:.98rem;line-height:1.7}.letter__sign{margin-top:1.5rem!important;font-family:Georgia,Times New Roman,serif;font-style:italic;color:var(--rose);font-size:1.1rem!important}.forever{text-align:center;background:linear-gradient(160deg,var(--rose-dark) 0%,var(--rose) 100%);color:#fff;padding-bottom:2rem}.forever .section-title{color:#fff}.forever__quote{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.3rem,4vw,2rem);font-style:italic;max-width:32rem;margin:0 auto 1rem;line-height:1.5;opacity:.95}.forever__heart{font-size:2.5rem;display:inline-block;animation:heartbeat 1.4s ease infinite}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}.forever .legal-footer a{color:#fff;opacity:.75}.forever .legal-footer a:hover{opacity:1}
