@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@300;400;500;600&display=swap";:root{color:#fbf3f6;font-synthesis:none;text-rendering:optimizelegibility;--bg:#0c0610;--rose:#f3a7bd;--rose-light:#ffd9e3;--rose-deep:#d36b8a;--wine:#8f2d56;--plum:#4a1a37;--gold:#e7c08a;--gold-light:#f5d9aa;--gold-deep:#b8884a;--champagne:#f4e3c2;--muted:#d6c4cc;--muted-strong:#ebd9e1;--glass-bg:#ffffff0e;--glass-bg-strong:#ffffff16;--glass-border:#ffffff24;--glass-border-strong:#ffffff38;--glass-gold-edge:#e7c08a73;--glass-blur:22px;--glass-shadow:0 24px 60px -20px #0000008c, 0 2px 8px #00000040, inset 0 1px 0 #ffffff1f;background:#0c0610;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(at 50% -10%,#8f2d5673,#0000 55%),linear-gradient(#14081a 0%,#0a050d 60%,#0c0610 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}main{isolation:isolate;position:relative;overflow:hidden}h1,h2,h3,blockquote,.letter-intro,.signature{font-family:Cormorant Garamond,serif}.aurora{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.aurora-blob{filter:blur(90px);opacity:.55;mix-blend-mode:screen;will-change:transform;border-radius:50%;display:block;position:absolute}.blob-rose{background:radial-gradient(circle,#f3a7bd 0%,#f3a7bd00 70%);width:46vmax;height:46vmax;animation:28s ease-in-out infinite alternate drift-a;top:-10vmax;left:-10vmax}.blob-gold{opacity:.38;background:radial-gradient(circle,#e7c08a 0%,#e7c08a00 70%);width:38vmax;height:38vmax;animation:34s ease-in-out infinite alternate drift-b;top:30vh;right:-12vmax}.blob-wine{opacity:.55;background:radial-gradient(circle,#8f2d56 0%,#8f2d5600 70%);width:50vmax;height:50vmax;animation:40s ease-in-out infinite alternate drift-c;bottom:-18vmax;left:15%}.blob-plum{opacity:.6;background:radial-gradient(circle,#4a1a37 0%,#4a1a3700 70%);width:32vmax;height:32vmax;animation:32s ease-in-out infinite alternate drift-d;top:55vh;left:5%}.noise-layer{z-index:0;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}.hero{isolation:isolate;place-items:center;min-height:100svh;padding:7rem 1.5rem 5rem;display:grid;position:relative}.hero:after{content:"";background:linear-gradient(90deg, transparent, var(--glass-gold-edge), transparent);opacity:.7;height:1px;position:absolute;inset:auto 12% 0}.hero-content{z-index:2;text-align:center;width:min(880px,100%);position:relative}.eyebrow{background:linear-gradient(90deg, var(--gold-deep), var(--gold-light), var(--gold-deep));color:#0000;text-transform:uppercase;letter-spacing:.28em;-webkit-background-clip:text;background-clip:text;margin:0 0 1.25rem;font-size:.72rem;font-weight:600}.hero h1{letter-spacing:-.055em;background:linear-gradient(#fff8fb 0%,#ffd9e3 60%,#e7c08a 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(4.2rem,12vw,9rem);font-weight:500;line-height:.9}.hero h1 span{background:linear-gradient(#f3a7bd 0%,#d36b8a 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:400}.hero-number{color:#0000;background:linear-gradient(#fff8fb99 0%,#f3a7bd8c 50%,#e7c08a73 100%);-webkit-text-stroke:1.5px #f5d9aa66;filter:drop-shadow(0 0 80px #f3a7bd8c)drop-shadow(0 0 160px #e7c08a59);pointer-events:none;-webkit-background-clip:text;background-clip:text;margin:1rem 0 -.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(20rem,68vw,52rem);font-weight:700;line-height:.78}.hero-subtitle{color:var(--rose-light);text-shadow:0 0 40px #f3a7bd59;z-index:3;margin:clamp(-14rem,-11vw,-3rem) 0 1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,5vw,4rem);font-style:italic;position:relative}.hero-copy{width:min(650px,100%);color:var(--muted-strong);margin:0 auto 2.4rem;font-size:clamp(.95rem,2vw,1.1rem);line-height:1.8}.primary-button{color:#fff5e6;-webkit-backdrop-filter:blur(14px);letter-spacing:.01em;background:linear-gradient(135deg,#f5d9aa38,#f3a7bd2e);border:1px solid #f5d9aa73;border-radius:999px;align-items:center;gap:1rem;padding:1rem 1.5rem 1rem 1.75rem;font-weight:600;transition:transform .25s,box-shadow .25s,border-color .25s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 14px 45px #8f2d5647,inset 0 1px #ffffff40,inset 0 -1px #00000026}.primary-button:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,#0000 30%,#ffffff59 50%,#0000 70%);transition:transform .8s;position:absolute;inset:0;transform:translate(-120%)}.primary-button:hover:before{transform:translate(120%)}.primary-button:hover{border-color:#f5d9aab3;transform:translateY(-3px);box-shadow:0 20px 55px #8f2d5659,inset 0 1px #ffffff4d,inset 0 -1px #00000026}.primary-button:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.primary-button span{width:2rem;height:2rem;color:var(--gold-light);background:#1408108c;border:1px solid #f5d9aa4d;border-radius:50%;place-items:center;display:grid}.hero-glow,.final-glow{display:none}.scroll-indicator{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border:1px solid #f5d9aa59;border-radius:999px;width:1.5rem;height:2.5rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-indicator span{background:var(--gold-light);border-radius:999px;width:.25rem;height:.5rem;animation:2s ease-in-out infinite scrollDot;position:absolute;top:.45rem;left:50%;transform:translate(-50%)}.section{z-index:1;width:min(1120px,100% - 3rem);margin:0 auto;padding:7rem 0;position:relative}.section-heading{width:min(700px,100%);margin-bottom:3.5rem}.section-heading h2,.glass-card h2,.achievement-card h2,.final-content h2{background:linear-gradient(#fff8fb 0%,#ffd9e3 75%,#e7c08a 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;font-size:clamp(2.8rem,7vw,5rem);font-weight:500;line-height:.95}.section-heading>p:last-child,.glass-card>p,.achievement-card p,.letter p{color:var(--muted-strong);line-height:1.85}.timeline-card,.quality-card,.glass-card,.achievement-card,.love-modal,.sound-toggle{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);position:relative}.timeline-card:before,.quality-card:before,.glass-card:before,.achievement-card:before,.love-modal:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff73 0%,#ffffff14 20%,#0000 50%,#e7c08a40 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.timeline{gap:1.5rem;padding-left:2rem;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, transparent, var(--gold) 15%, var(--rose) 50%, var(--wine) 85%, transparent);opacity:.6;width:1px;position:absolute;top:0;bottom:0;left:.45rem}.timeline-card{border-radius:1.4rem;padding:1.8rem 2rem;transition:transform .35s cubic-bezier(.2,.65,.25,1),border-color .35s,background .35s}.timeline-card:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);transform:translate(.6rem)}.timeline-dot{background:linear-gradient(135deg, var(--gold-light), var(--rose));border:2px solid #140810e6;border-radius:50%;width:.95rem;height:.95rem;position:absolute;top:2rem;left:-2.05rem;box-shadow:0 0 0 1px #f5d9aa73,0 0 14px #f3a7bd8c}.timeline-date{background:linear-gradient(90deg, var(--gold-deep), var(--gold-light));color:#0000;text-transform:uppercase;letter-spacing:.18em;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.timeline-card h3{color:var(--rose-light);margin:0 0 .7rem;font-size:2rem;font-weight:600}.timeline-card>p:last-child{color:var(--muted-strong);margin:0;line-height:1.75}.quote-section{padding-top:3rem;padding-bottom:3rem}blockquote{text-align:center;color:#fff9fb;margin:0;padding:4.5rem 2rem;font-size:clamp(2.2rem,6vw,4.8rem);font-style:italic;line-height:1.15;position:relative}blockquote:before,blockquote:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.7;width:min(14rem,45%);height:1px;position:absolute;left:50%;transform:translate(-50%)}blockquote:before{top:0}blockquote:after{bottom:0}blockquote strong{background:linear-gradient(90deg, var(--rose-light), var(--gold-light));color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:.8rem;font-weight:500;display:block}.qualities-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.quality-card{border-radius:1.4rem;flex-direction:column;justify-content:space-between;min-height:160px;padding:1.6rem;transition:transform .32s cubic-bezier(.2,.65,.25,1),background .32s,border-color .32s;display:flex}.quality-card:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);transform:translateY(-6px)}.quality-card span{width:2.4rem;height:2.4rem;color:var(--rose-light);background:linear-gradient(135deg,#f3a7bd2e,#e7c08a2e);border:1px solid #f3a7bd4d;border-radius:50%;place-items:center;font-size:1.1rem;display:grid}.quality-card p{color:var(--muted-strong);margin:0;font-family:Cormorant Garamond,serif;font-size:1.7rem;line-height:1.2}.family-section{width:min(1240px,100% - 2rem)}.glass-card{background:radial-gradient(circle at top right, #f3a7bd24, transparent 40%), radial-gradient(circle at bottom left, #e7c08a1a, transparent 45%), var(--glass-bg);border-radius:2rem;padding:clamp(2rem,7vw,5rem);overflow:hidden}.glass-card>p{width:min(760px,100%)}.family-names{color:var(--rose-light);flex-wrap:wrap;align-items:center;gap:.8rem 1rem;margin-top:2.2rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,4vw,3rem);display:flex}.family-names span:nth-child(2n){color:var(--gold);font-size:1.1rem}.achievement-card{background:radial-gradient(circle at top left, #e7c08a2e, transparent 50%), var(--glass-bg);border-color:#e7c08a40;border-radius:2rem;grid-template-columns:auto 1fr;gap:2rem;padding:clamp(2rem,6vw,4rem);display:grid}.achievement-icon{color:#2a1612;background:linear-gradient(135deg, var(--champagne), var(--gold));border-radius:50%;place-items:center;width:4.5rem;height:4.5rem;font-size:1.8rem;font-weight:700;display:grid;box-shadow:0 14px 45px #e7c08a4d,inset 0 2px #ffffff80,inset 0 -2px #b8884a4d}.letter-section{position:relative}.letter{color:#332229;background:linear-gradient(#fff7f2f7,#fff4eff7),repeating-linear-gradient(0deg,#0000 0 31px,#8f2d5614 32px);border:1px solid #8f2d562e;border-radius:.4rem 2rem;width:min(780px,100%);margin:0 auto;padding:clamp(2rem,6vw,4rem);position:relative;transform:rotate(-.5deg);box-shadow:0 40px 90px #00000073,0 0 0 1px #e7c08a26,0 0 60px #f3a7bd1f}.letter p{color:#604e55;font-size:1.02rem;line-height:1.85}.letter-intro{font-style:italic;color:#522033!important;font-size:2rem!important}.signature{text-align:right;font-style:italic;color:var(--wine)!important;margin-top:2rem!important;font-size:2.8rem!important}.poem-section{width:min(820px,100% - 3rem);padding-top:4rem;padding-bottom:4rem}.poem-heading{text-align:center;margin-bottom:4rem}.poem-heading h2{background:linear-gradient(#fff8fb 0%,#ffd9e3 70%,#e7c08a 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;font-size:clamp(2.6rem,6vw,4.5rem);font-weight:500;line-height:1.05}.poem-dedication{color:var(--rose-light);letter-spacing:.02em;margin:0;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-style:italic}.poem-body{flex-direction:column;align-items:center;gap:1.6rem;display:flex;position:relative}.poem-stanza{width:100%;max-width:640px;color:var(--muted-strong);white-space:pre-line;text-align:center;text-wrap:balance;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.75}.poem-divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.5;width:min(8rem,30%);height:1px;margin:1.5rem 0}.poem-emphasis{text-align:center;background:linear-gradient(90deg, var(--rose-light), var(--gold-light), var(--rose-light));color:#0000;text-shadow:0 0 40px #f3a7bd26;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin:1.5rem 0;padding:1.25rem 2rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,4vw,2.8rem);font-style:italic;font-weight:500;line-height:1.2;animation:8s ease-in-out infinite shimmer}.poem-thanks{background:var(--glass-bg);width:100%;max-width:620px;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:1.5rem;flex-direction:column;gap:.85rem;margin:1.5rem 0;padding:2rem 2.25rem;list-style:none;display:flex}.poem-thanks li{color:var(--rose-light);padding-left:1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:500;line-height:1.5;position:relative}.poem-thanks li:before{content:"♥";color:var(--gold);font-size:.85em;position:absolute;top:.05em;left:0}.poem-finale{text-align:center;background:linear-gradient(#fff8fb 0%,#ffd9e3 60%,#e7c08a 100%);color:#0000;filter:drop-shadow(0 0 30px #f3a7bd59);text-wrap:balance;-webkit-background-clip:text;background-clip:text;margin:2.5rem 0 0;padding:2.5rem 1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,5.5vw,4rem);font-style:italic;font-weight:500;line-height:1.15}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}.final-section{z-index:1;text-align:center;place-items:center;min-height:80svh;padding:8rem 1.5rem;display:grid;position:relative}.final-content{z-index:2;width:min(900px,100%);position:relative}.final-content h2{font-size:clamp(3.4rem,10vw,7rem)}.answer-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.2rem;display:flex}.answer-buttons button{color:#fff5e6;-webkit-backdrop-filter:blur(14px);letter-spacing:.01em;background:linear-gradient(135deg,#f5d9aa38,#f3a7bd33);border:1px solid #f5d9aa73;border-radius:999px;padding:1rem 1.75rem;font-weight:600;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden;box-shadow:0 15px 45px #8f2d5647,inset 0 1px #ffffff40}.answer-buttons button:hover{border-color:#f5d9aab3;transform:translateY(-3px)}.answer-buttons button:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.answer-buttons .secondary-answer{color:#fff5f8;background:#ffffff0d;border:1px solid #ffffff2e;box-shadow:inset 0 1px #ffffff1f}.hearts-layer{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-heart{color:var(--rose);font-size:inherit;filter:blur(.15px)drop-shadow(0 0 6px #f3a7bd66);animation-name:floatHeart;animation-timing-function:linear;animation-iteration-count:infinite;display:block;position:absolute;bottom:-3rem}.sound-toggle{z-index:20;color:#fff6f9;letter-spacing:.02em;background:#14081080;border:1px solid #f5d9aa40;border-radius:999px;padding:.65rem 1rem;font-size:.85rem;font-weight:500;transition:background .25s,border-color .25s,transform .25s;position:fixed;top:1rem;right:1rem}.sound-toggle:hover{border-color:#f5d9aa80;transform:translateY(-1px)}.sound-toggle:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.sound-toggle.active{background:linear-gradient(135deg,#8f2d5680,#e7c08a40);border-color:#f5d9aa8c}.ambient-pulse{z-index:0;pointer-events:none;background:radial-gradient(circle,#f3a7bd0d,#0000 50%);animation:4s ease-in-out infinite breathe;position:fixed;inset:0}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.65,.25,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(14px);background:#080408b3;place-items:center;padding:1.5rem;animation:.25s fadeIn;display:grid;position:fixed;inset:0}.love-modal{text-align:center;background:radial-gradient(circle at top,#f3a7bd38,#0000 50%),radial-gradient(circle at bottom,#e7c08a1f,#0000 60%),#21121da6;border-radius:2rem;width:min(470px,100%);padding:2.75rem 2.5rem;animation:.42s cubic-bezier(.2,.9,.25,1.15) modalIn}.modal-heart{color:var(--rose);filter:drop-shadow(0 0 12px #f3a7bd8c);font-size:3rem;animation:1.5s ease-in-out infinite heartbeat}.love-modal h3{background:linear-gradient(#fff8fb 0%,#ffd9e3 70%,#e7c08a 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:.6rem 0;font-size:2.8rem}.love-modal p{color:var(--muted-strong);line-height:1.75}.love-modal strong{background:linear-gradient(90deg, var(--rose-light), var(--gold-light));color:#0000;-webkit-background-clip:text;background-clip:text;margin:1rem 0 1.5rem;display:block}.love-modal button{color:#2b111d;background:linear-gradient(135deg, var(--champagne), var(--rose));border:1px solid #f5d9aa80;border-radius:999px;padding:.85rem 1.4rem;font-weight:600;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 30px #8f2d564d}.love-modal button:hover{transform:translateY(-2px);box-shadow:0 14px 38px #8f2d5666}.love-modal button:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}@keyframes floatHeart{0%{transform:translate(0,0)rotate(0)}25%{transform:translate(24px,-28vh)rotate(8deg)}50%{transform:translate(-18px,-56vh)rotate(-8deg)}75%{transform:translate(18px,-84vh)rotate(9deg)}to{transform:translate(-10px,-120vh)rotate(-5deg)}}@keyframes scrollDot{0%,to{opacity:.25;transform:translate(-50%)}50%{opacity:1;transform:translate(-50%,.85rem)}}@keyframes drift-a{0%{transform:translate(0,0)scale(1)}to{transform:translate(8vmax,6vmax)scale(1.12)}}@keyframes drift-b{0%{transform:translate(0,0)scale(1)}to{transform:translate(-6vmax,4vmax)scale(1.15)}}@keyframes drift-c{0%{transform:translate(0,0)scale(1)}to{transform:translate(5vmax,-8vmax)scale(1.1)}}@keyframes drift-d{0%{transform:translate(0,0)scale(1)}to{transform:translate(-4vmax,-5vmax)scale(1.08)}}@keyframes breathe{0%,to{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.12)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(20px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=780px){.hero{padding-top:6rem}.hero-number{margin-top:1rem}.hero-subtitle{margin-top:-2rem}.section{width:min(100% - 2rem,1120px);padding:5rem 0}.qualities-grid{grid-template-columns:1fr 1fr}.achievement-card{grid-template-columns:1fr}.achievement-icon{width:3.8rem;height:3.8rem}}@media (width<=520px){.hero h1{font-size:4rem}.hero-number{font-size:18rem}.hero-subtitle{margin-top:-5rem;font-size:2.1rem}.qualities-grid{grid-template-columns:1fr}.timeline{padding-left:1.55rem}.timeline-dot{left:-1.58rem}.family-names{gap:.45rem .7rem}.answer-buttons{flex-direction:column}.answer-buttons button{width:100%;min-height:48px}.primary-button{min-height:48px}.sound-toggle{min-height:44px;font-size:.78rem;top:.75rem;right:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.aurora-blob,.floating-heart,.ambient-pulse{animation:none!important}}
