@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&family=Manrope:wght@400;500;600&display=swap";
:root{--night:#05080d;--navy:#09111d;--panel:#0d1724;--gold:#d6ad63;--gold-light:#f2d69d;--cream:#f4efe5;--muted:#9da5ae;--line:#dcbe8433}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--night);color:var(--cream);margin:0;font-family:Manrope,sans-serif}button,input,textarea{font:inherit}a{color:inherit}.birthday-page{background:var(--night);opacity:.4;min-height:100svh;transition:opacity 1.2s;overflow:hidden}.birthday-page.is-visible{opacity:1}.ambient{pointer-events:none;z-index:20;mix-blend-mode:screen;background:radial-gradient(circle at 80% 12%,#b8843017,#0000 30%),radial-gradient(circle at 10% 76%,#1a4a6c1f,#0000 32%);position:fixed;inset:0}.youtube-player{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:fixed;bottom:-10px;left:-10px}.surprise-cover{z-index:100;text-align:center;background:radial-gradient(circle at 50% 45%,#172233 0,#090e16 38%,#030507 75%);flex-direction:column;justify-content:center;align-items:center;transition:opacity 1s,visibility 1s;display:flex;position:fixed;inset:0}.surprise-cover.is-open{opacity:0;visibility:hidden;pointer-events:none}.cover-glow{aspect-ratio:1;filter:blur(10px);background:radial-gradient(circle,#d5ab601c,#0000 65%);border-radius:50%;width:min(68vw,760px);animation:4s ease-in-out infinite breathe;position:absolute}.surprise-cover>p{color:var(--gold);letter-spacing:.34em;text-transform:uppercase;margin:0 0 25px;font-size:12px;position:relative}.surprise-cover h2{letter-spacing:-.045em;margin:0;font-family:Italiana,serif;font-size:clamp(64px,10vw,150px);font-weight:400;line-height:.83;position:relative}.surprise-cover h2 em{color:var(--gold);font-weight:400}.open-button{width:182px;height:56px;color:var(--cream);cursor:pointer;background:0 0;border:1px solid #f2d69d80;border-radius:999px;justify-content:space-between;align-items:center;margin-top:55px;padding:5px 7px 5px 25px;transition:all .3s;display:flex;position:relative}.open-button span{text-transform:uppercase;letter-spacing:.14em;font-size:11px}.open-button i{background:var(--gold);color:#101010;border-radius:50%;place-items:center;width:43px;height:43px;font-style:normal;transition:all .35s;display:grid}.open-button:hover,.open-button:focus-visible{border-color:var(--gold);transform:translateY(-3px)}.open-button:hover i{transform:rotate(90deg)}.surprise-cover small{color:#747d87;margin-top:18px;font-size:11px;position:relative}.site-header{z-index:30;border-bottom:1px solid #ffffff29;grid-template-columns:1fr auto 1fr;align-items:center;height:94px;display:grid;position:absolute;top:0;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px)}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand>span{border:1px solid var(--gold);width:39px;height:39px;color:var(--gold-light);border-radius:50%;place-items:center;font-family:Italiana,serif;font-size:20px;display:grid}.brand p{letter-spacing:.16em;text-transform:uppercase;color:#c5c8ca;margin:0;font-size:9px;line-height:1.45}.site-header nav{gap:36px;display:flex}.site-header nav a{text-transform:uppercase;letter-spacing:.17em;color:#c5c8ca;font-size:10px;text-decoration:none;transition:all .2s}.site-header nav a:hover{color:var(--gold-light)}.music-button{color:#d9dcdd;cursor:pointer;text-transform:uppercase;letter-spacing:.16em;background:0 0;border:0;justify-self:end;align-items:center;gap:10px;padding:10px;font-size:9px;display:flex}.equalizer{border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;gap:2px;width:28px;height:28px;display:flex}.equalizer i{background:var(--gold);width:2px;height:5px;animation:.8s ease-in-out infinite alternate paused eq;display:block}.equalizer i:nth-child(2){height:9px;animation-delay:-.3s}.equalizer i:nth-child(3){height:6px;animation-delay:-.55s}.music-button.is-playing .equalizer i{animation-play-state:running}.hero{isolation:isolate;place-items:center start;min-height:100svh;padding:150px clamp(24px,8.7vw,140px) 90px;display:grid;position:relative}.hero-image{z-index:-2;background:url(/hasan-midnight-birthday-hero.png) 50%/cover no-repeat;animation:14s ease-out both heroZoom;position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,#03060af5 0%,#04080dd1 30%,#04080d40 66%,#03060a40),linear-gradient(#0000 65%,#03060abf);position:absolute;inset:0}.hero-copy{width:min(660px,58vw)}.eyebrow{color:#c7cbd0;text-transform:uppercase;letter-spacing:.21em;align-items:center;gap:14px;margin:0 0 35px;font-size:10px;display:flex}.eyebrow span{color:var(--gold-light)}.eyebrow i{background:var(--gold);width:34px;height:1px}.hero h1{letter-spacing:-.055em;text-shadow:0 8px 45px #00000047;margin:0;font-family:Italiana,serif;font-size:clamp(82px,9vw,148px);font-weight:400;line-height:.73}.hero h1 em{color:var(--gold);font-weight:400}.hero-note{border-left:1px solid var(--gold);color:#c7cbd0;width:min(430px,100%);margin:42px 0 38px;padding-left:26px;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.8}.text-link{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:18px;font-size:10px;text-decoration:none;display:inline-flex}.text-link span{border-bottom:1px solid #fff6;padding-bottom:8px}.text-link i{border:1px solid #ffffff47;border-radius:50%;place-items:center;width:38px;height:38px;font-style:normal;transition:all .25s;display:grid}.text-link:hover i{background:var(--gold);color:#111;border-color:var(--gold);transform:translateY(3px)}.hero-index{letter-spacing:.13em;color:#c9cbd0;align-items:center;gap:10px;font-size:9px;display:flex;position:absolute;bottom:42px;right:clamp(24px,5vw,80px)}.hero-index i{background:linear-gradient(90deg,var(--gold) 33%,#ffffff38 33%);width:80px;height:1px;display:block}.letter-section{grid-template-columns:260px 1fr;gap:clamp(45px,8vw,125px);max-width:1500px;margin:auto;padding:clamp(110px,13vw,205px) clamp(24px,8vw,125px);display:grid;position:relative}.letter-section:before{content:"H";color:#d6ad6306;pointer-events:none;font-family:Italiana,serif;font-size:48vw;line-height:1;position:absolute;top:3%;right:-2vw}.section-label{height:max-content;color:var(--gold);align-items:center;gap:15px;display:flex}.section-label span{font-family:Italiana,serif;font-size:25px}.section-label p{border-left:1px solid var(--line);letter-spacing:.2em;text-transform:uppercase;color:#8f98a2;margin:0;padding-left:15px;font-size:9px}.letter-copy{z-index:1;max-width:900px;position:relative}.salutation{color:var(--gold);margin:0 0 24px;font-family:Italiana,serif;font-size:25px;font-style:italic}.letter-copy h2,.guestbook-intro h2{letter-spacing:-.04em;margin:0;font-family:Italiana,serif;font-size:clamp(52px,6vw,92px);font-weight:400;line-height:.98}.letter-copy h2 em,.guestbook-intro h2 em{color:var(--gold);font-weight:400}.letter-body{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:55px;margin:58px 0 55px;padding-top:35px;display:grid}.letter-body p{color:#aeb5bc;margin:0;font-size:15px;line-height:1.85}.signature{align-items:center;gap:18px;display:flex}.signature>i{border:1px solid var(--gold);width:50px;height:50px;color:var(--gold);border-radius:50%;place-items:center;font-style:normal;display:grid}.signature p{margin:0;font-family:Italiana,serif;font-size:22px;line-height:1.35}.signature p span{color:var(--gold)}.wishes{grid-template-columns:repeat(3,1fr);max-width:1500px;margin:0 auto clamp(110px,12vw,190px);padding:0 clamp(24px,8vw,125px);display:grid}.wishes article{border:1px solid var(--line);background:linear-gradient(145deg,#ffffff05,#0000);flex-direction:column;justify-content:flex-end;min-height:390px;padding:32px;transition:all .35s;display:flex;position:relative}.wishes article+article{border-left:0}.wishes article:hover{background:#101a27;border-color:#d6ad637a;transform:translateY(-8px)}.wishes article>span{color:#717b85;letter-spacing:.15em;font-size:9px;position:absolute;top:28px;left:30px}.wishes article>i{color:var(--gold);font-family:Italiana,serif;font-size:54px;font-style:normal;font-weight:400;position:absolute;top:42px;right:35px}.wishes h3{margin:0 0 16px;font-family:Italiana,serif;font-size:35px;font-weight:400}.wishes p{color:#919aa4;max-width:300px;margin:0;font-size:13px;line-height:1.75}.guestbook-section{border-top:1px solid var(--line);background:radial-gradient(circle at 80%,#c3934214,#0000 38%);grid-template-columns:minmax(0,.85fr) minmax(380px,.65fr);align-items:center;gap:clamp(55px,10vw,150px);max-width:1500px;margin:0 auto;padding:clamp(85px,10vw,150px) clamp(24px,8vw,125px);display:grid}.guestbook-intro .section-label{margin-bottom:45px}.guestbook-intro>p{color:#9ea7b0;max-width:490px;margin:38px 0 28px;font-size:15px;line-height:1.85}.guestbook-intro>a{letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);border-bottom:1px solid var(--gold);gap:12px;padding-bottom:7px;font-size:9px;text-decoration:none;display:inline-flex}.note-form{background:var(--cream);color:#111821;padding:clamp(30px,4vw,55px);transform:rotate(1deg);box-shadow:25px 25px #d6ad6314}.form-heading{border-bottom:1px solid #18202a;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:26px;display:flex}.form-heading span{letter-spacing:.18em;text-transform:uppercase;font-size:10px}.form-heading i{border:1px solid #18202a;border-radius:50%;place-items:center;width:43px;height:43px;font-family:Italiana,serif;font-size:22px;font-style:normal;display:grid}.note-form>label{text-transform:uppercase;letter-spacing:.14em;justify-content:space-between;margin-top:22px;font-size:9px;display:flex}.note-form label small{color:#777;font-size:8px}.note-form>input,.note-form textarea{color:#101720;background:0 0;border:0;border-bottom:1px solid #11182159;outline:none;width:100%}.note-form>input{padding:14px 2px;font-family:Italiana,serif;font-size:20px}.note-form textarea{resize:vertical;background:repeating-linear-gradient(#0000 0 30px,#1118211f 30px 31px);min-height:150px;padding:15px 2px;font-family:Italiana,serif;font-size:21px;line-height:31px}.note-form ::placeholder{color:#94908a}.form-actions{justify-content:space-between;align-items:center;gap:18px;margin-top:28px;display:flex}.anonymous{text-transform:uppercase;letter-spacing:.09em;cursor:pointer;align-items:center;gap:8px;font-size:9px;display:flex}.anonymous input{opacity:0;position:absolute}.anonymous span{border:1px solid #15202a;width:17px;height:17px}.anonymous input:checked+span{background:var(--gold);box-shadow:inset 0 0 0 3px var(--cream)}.submit-button{color:var(--cream);cursor:pointer;background:#0c1420;border:0;align-items:stretch;padding:0;transition:all .25s;display:flex}.submit-button>span{text-transform:uppercase;letter-spacing:.12em;padding:14px 18px;font-size:9px}.submit-button>i{border-left:1px solid #fff3;place-items:center;width:43px;font-style:normal;display:grid}.submit-button:hover{background:#9d7435;transform:translateY(-2px)}.submit-button:disabled{opacity:.55;cursor:wait}.form-status{text-align:right;min-height:20px;margin:14px 0 -14px;font-size:11px}.form-status.sent{color:#52763f}.form-status.error{color:#9d3232}.honey{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important}footer{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:150px;margin:0 clamp(24px,5vw,80px);display:grid}footer>div{align-items:center;gap:12px;display:flex}footer>div>span{border:1px solid var(--gold);width:39px;height:39px;color:var(--gold);border-radius:50%;place-items:center;font-family:Italiana,serif;display:grid}footer>div p{text-transform:uppercase;letter-spacing:.13em;color:#8e969f;margin:0;font-size:8px;line-height:1.5}footer>p{text-align:center;font-family:Italiana,serif;font-size:18px;line-height:1.35}footer>p em{color:var(--gold);font-style:normal}footer>small{letter-spacing:.15em;color:#838c94;justify-self:end;font-size:8px}.confetti{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{left:var(--x);background:var(--gold);opacity:0;width:4px;height:11px;animation:fall var(--duration) linear var(--delay) infinite;position:absolute;top:-20px}.is-visible .confetti i{opacity:.35}.confetti i:nth-child(3n){background:#6f8599;width:3px}.confetti i:nth-child(2n){border-radius:50%;height:6px}.admin-shell{background:var(--night);min-height:100svh;color:var(--cream);padding:clamp(24px,6vw,80px)}.login-card{background:var(--cream);color:#111821;max-width:430px;margin:8vh auto;padding:44px;box-shadow:12px 12px #d6ad6373}.login-card>a,.notes-shell a{text-transform:uppercase;letter-spacing:.12em;font-size:9px}.login-card>p,.notes-shell header p{text-transform:uppercase;letter-spacing:.18em;color:#8b7350;margin:38px 0 4px;font-size:9px}.login-card h1,.notes-shell h1{margin:0 0 34px;font-family:Italiana,serif;font-size:52px;font-weight:400}.login-card label{text-transform:uppercase;letter-spacing:.12em;font-size:9px;display:block}.login-card input{background:0 0;border:0;border-bottom:1px solid #111821;outline:none;width:100%;margin-bottom:25px;padding:13px 2px}.login-card button,.notes-shell button{background:var(--gold);color:#111821;cursor:pointer;border:0;padding:14px 18px}.login-card button{width:100%}.login-card>span{color:#a33939;text-align:center;margin-top:15px;font-size:12px;display:block}.notes-shell{max-width:1280px;margin:auto}.notes-shell header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.notes-shell header h1{margin:4px 0 25px}.notes-shell h1 em{background:var(--gold);color:#111821;border-radius:50%;place-items:center;width:38px;height:38px;font-family:Manrope;font-size:14px;font-style:normal;display:inline-grid}.notes-shell header>div:last-child{align-items:center;gap:20px;margin-bottom:25px;display:flex}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;display:grid}.notes-grid article{background:var(--panel);border:1px solid var(--line);min-height:190px;padding:28px;box-shadow:7px 7px #d6ad631f}.notes-grid article>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding-bottom:16px;display:flex}.notes-grid article span{font-size:13px;font-weight:600}.notes-grid time{color:#8f99a2;text-align:right;font-size:9px}.notes-grid article>p{white-space:pre-wrap;font-family:Italiana,serif;font-size:22px;line-height:1.45}.empty{text-align:center;grid-column:1/-1;padding:80px;font-family:Italiana,serif;font-size:24px}@keyframes breathe{50%{opacity:.65;transform:scale(1.12)}}@keyframes heroZoom{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes eq{0%{transform:scaleY(.45)}to{transform:scaleY(1.35)}}@keyframes fall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}12%{opacity:.45}to{opacity:0;transform:translate(35px,110vh)rotate(520deg)}}@media (max-width:900px){.site-header{grid-template-columns:1fr 1fr}.site-header nav{display:none}.hero-copy{width:min(620px,85vw)}.hero-shade{background:linear-gradient(90deg,#03060aeb,#03060a66),linear-gradient(#0000 55%,#03060ab8)}.letter-section,.wishes{grid-template-columns:1fr}.wishes article{min-height:280px}.wishes article+article{border-left:1px solid var(--line);border-top:0}.guestbook-section{grid-template-columns:1fr}.note-form{max-width:620px}.footer{grid-template-columns:1fr}}@media (max-width:600px){.site-header{height:76px;left:18px;right:18px}.brand p,.music-button>span:last-child{display:none}.hero{align-items:end;padding:125px 22px 75px}.hero-image{background-position:62%}.hero-shade{background:linear-gradient(#03060a59,#03060a87 35%,#03060afa 100%)}.hero-copy{width:100%}.hero h1{font-size:20vw;line-height:.78}.eyebrow{margin-bottom:25px;font-size:8px}.hero-note{margin:28px 0;font-size:14px}.hero-index{display:none}.letter-section,.guestbook-section{padding-left:22px;padding-right:22px}.letter-body{grid-template-columns:1fr;gap:22px}.wishes{padding:0 22px}.wishes article{min-height:270px;padding:26px}.guestbook-intro h2{font-size:16vw}.note-form{padding:28px 22px;transform:none}.form-actions{flex-direction:column;align-items:stretch}.submit-button{justify-content:space-between;width:100%}.surprise-cover h2{font-size:20vw}footer{grid-template-columns:1fr;gap:28px;margin:0 22px;padding:35px 0}footer>p{text-align:left}footer>small{justify-self:start}.login-card{padding:30px}.notes-shell header{flex-direction:column;align-items:flex-start}.notes-shell header>div:last-child{margin-bottom:20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.birthday-page{opacity:1}}.surprise-cover{overflow:hidden}.cover-eyes{opacity:.14;filter:grayscale()contrast(1.4);background:linear-gradient(90deg,#04070c 0%,#0000 22% 78%,#04070c 100%),linear-gradient(#04070c 3%,#0000 34% 66%,#04070c 97%),url(/hasan-eyes.jpg) 50%/cover no-repeat;animation:7s ease-in-out infinite alternate watching;position:absolute;inset:0;transform:scale(1.08)}.surprise-cover h2{text-shadow:0 8px 40px #000c}.open-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05080d6b}.surprise-cover small{color:#8e969f}.memory-card{border:1px solid var(--line);background:#080e16;grid-template-columns:minmax(280px,1.35fr) minmax(210px,.65fr);align-items:stretch;margin:80px 0 0;display:grid;transform:rotate(-1deg);box-shadow:18px 18px #d6ad630e}.memory-photo{min-height:260px;position:relative;overflow:hidden}.memory-photo:after{content:"";background:linear-gradient(90deg,#0000 65%,#080e16);position:absolute;inset:0}.memory-photo img{object-fit:cover;filter:grayscale(.25)contrast(1.1);width:100%;height:100%;transition:transform .6s;transform:scale(1.03)}.memory-card:hover .memory-photo img{transform:scale(1.08)}.memory-card figcaption{flex-direction:column;justify-content:flex-end;padding:34px 30px;display:flex}.memory-card figcaption span{color:var(--gold);letter-spacing:.17em;text-transform:uppercase;font-size:12px}.memory-card figcaption p{color:var(--cream);margin:18px 0 0;font-family:Italiana,serif;font-size:25px;line-height:1.25}@keyframes watching{0%{transform:scale(1.08)translate(-.7%)}to{transform:scale(1.13)translate(.7%)}}@media (max-width:600px){.memory-card{grid-template-columns:1fr;margin-top:55px;transform:none}.memory-photo{min-height:190px}.memory-photo:after{background:linear-gradient(#0000 52%,#080e16)}.memory-card figcaption{padding:25px}.cover-eyes{opacity:.18;background-size:auto 100%}}.voice-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle,#d6ad6317,#0000 38%),#060a10;place-items:center;min-height:84svh;padding:clamp(90px,11vw,170px) clamp(24px,8vw,125px);scroll-margin-top:0;display:grid;position:relative}.voice-waiting{text-align:center;max-width:950px}.voice-seal{border:1px solid var(--gold);width:60px;height:60px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 34px;font-size:19px;animation:3s ease-in-out infinite breathe;display:grid}.voice-waiting>p{color:var(--gold);text-transform:uppercase;letter-spacing:.25em;margin:0 0 20px;font-size:12px}.voice-waiting h2,.voice-heading h2{letter-spacing:-.045em;margin:0;font-family:Italiana,serif;font-size:clamp(54px,7vw,108px);font-weight:400;line-height:.94}.voice-waiting h2 em,.voice-heading h2 em{color:var(--gold);font-weight:400}.voice-waiting button{color:var(--cream);letter-spacing:.09em;cursor:pointer;background:0 0;border:1px solid #f2d69d6b;border-radius:999px;align-items:center;gap:18px;margin:48px auto 0;padding:16px 22px;font-size:12px;transition:all .25s;display:flex}.voice-waiting button:hover{background:var(--gold);border-color:var(--gold);color:#111821;transform:translateY(-2px)}.voice-experience{grid-template-columns:minmax(300px,.72fr) minmax(460px,1fr);align-items:start;gap:clamp(55px,9vw,130px);width:min(1260px,100%);display:grid}.voice-heading .section-label{margin-bottom:40px}.voice-heading h2{font-size:clamp(48px,5.4vw,82px)}.voice-heading>p{color:#98a1aa;border-left:1px solid var(--gold);max-width:470px;margin:35px 0 0;padding-left:22px;font-size:15px;line-height:1.8}.voice-list{gap:14px;display:grid}.voice-card{border:1px solid var(--line);background:#0c141fd1;grid-template-columns:minmax(190px,1fr) minmax(120px,.75fr) 52px;align-items:center;gap:24px;padding:22px 22px 22px 24px;transition:all .3s;display:grid;position:relative}.voice-card.is-active{background:#101b29;border-color:#d6ad63a6;transform:translate(-8px);box-shadow:10px 10px #d6ad630f}.voice-card.is-complete:not(.is-active){border-color:#7a9a7052}.voice-card.is-locked{opacity:.38}.voice-person{align-items:center;gap:15px;min-width:0;display:flex}.voice-person>span{width:48px;height:48px;color:var(--gold-light);border:1px solid #d6ad6380;border-radius:50%;flex:0 0 48px;place-items:center;font-family:Italiana,serif;font-size:20px;display:grid}.voice-person p{text-transform:uppercase;letter-spacing:.13em;color:#78838e;margin:0 0 4px;font-size:11px}.voice-person h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Italiana,serif;font-size:25px;font-weight:400;overflow:hidden}.voice-person small{color:#89939d;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;display:block;overflow:hidden}.waveform{align-items:center;gap:3px;height:40px;display:flex}.waveform i{width:2px;height:var(--height);background:#53606b;border-radius:2px;min-height:4px;transition:background .15s}.waveform i.is-past{background:var(--gold)}.voice-play{width:48px;height:48px;color:var(--gold-light);cursor:pointer;background:0 0;border:1px solid #d6ad638c;border-radius:50%;place-items:center;transition:all .25s;display:grid}.voice-play:hover:not(:disabled){background:var(--gold);color:#111821;transform:scale(1.05)}.voice-play:disabled{cursor:not-allowed}.voice-play span{font-size:13px}.voice-finale{text-align:center;border:1px solid var(--gold);background:linear-gradient(135deg,#d6ad631f,#0000);margin-top:16px;padding:40px 28px}.voice-finale>span{color:var(--gold);font-size:22px}.voice-finale p{text-transform:uppercase;letter-spacing:.14em;color:#9ba3aa;margin:18px 0 7px;font-size:13px}.voice-finale h3{color:var(--gold-light);margin:0;font-family:Italiana,serif;font-size:38px;font-weight:400}@media (max-width:900px){.voice-experience{grid-template-columns:1fr}.voice-heading{max-width:680px}.voice-card{grid-template-columns:minmax(190px,1fr) minmax(100px,.7fr) 48px}}@media (max-width:600px){.voice-section{min-height:78svh;padding-left:20px;padding-right:20px}.voice-waiting h2{font-size:15vw}.voice-waiting button{font-size:11px}.voice-experience{gap:48px}.voice-card{grid-template-columns:1fr 46px;gap:16px;padding:18px}.waveform{grid-area:2/1/auto/-1}.voice-person>span{flex-basis:43px;width:43px;height:43px}.voice-person h3{font-size:22px}.voice-play{width:44px;height:44px}.voice-heading h2{font-size:14vw}}.surprise-cover{background:radial-gradient(circle at 50% 42%,#8052be4d 0%,#42266733 28%,#0000 58%),linear-gradient(145deg,#090610 0%,#12091f 46%,#050309 100%)}.cover-glow{background:radial-gradient(circle,#a870de33,#6f419d14 42%,#0000 68%)}.life-counter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 48%,#8952c229,#0000 35%);grid-template-columns:1fr auto;align-items:end;gap:60px;max-width:1500px;margin:0 auto clamp(90px,10vw,155px);padding:clamp(58px,7vw,95px) clamp(24px,8vw,125px);display:grid}.life-counter>div:first-child>span{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin-bottom:20px;font-size:10px;display:block}.life-counter h2{letter-spacing:-.04em;margin:0;font-family:Italiana,serif;font-size:clamp(45px,5.6vw,82px);font-weight:400;line-height:.95}.life-counter h2 em{color:var(--gold);font-weight:400}.elapsed-time{align-items:center;gap:clamp(18px,3vw,42px);display:flex}.elapsed-time p{text-align:center;margin:0;display:grid}.elapsed-time strong{color:var(--gold-light);font-variant-numeric:tabular-nums;font-family:Italiana,serif;font-size:clamp(58px,7vw,108px);font-weight:400;line-height:.8}.elapsed-time span{letter-spacing:.2em;text-transform:uppercase;color:#8f98a2;margin-top:17px;font-size:10px}.elapsed-time i{color:#d6ad6361;font-family:Italiana,serif;font-size:50px;font-style:normal}.birthday-finale{z-index:150;text-align:center;background:radial-gradient(circle at 50% 48%,#713ba07a,#0000 42%),linear-gradient(145deg,#06030b,#180d29 52%,#050208);place-items:center;padding:24px;animation:.8s both finaleReveal;display:grid;position:fixed;inset:0;overflow:hidden}.birthday-finale:before{content:"";aspect-ratio:1;border:1px solid #d6ad6326;border-radius:50%;width:min(78vw,850px);animation:4s ease-in-out infinite finalePulse;position:absolute;box-shadow:0 0 0 90px #d6ad6306,0 0 0 180px #d6ad6305}.finale-content{z-index:2;position:relative}.finale-star{border:1px solid var(--gold);width:58px;height:58px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 28px;font-size:18px;display:grid}.finale-content>p{color:var(--gold-light);letter-spacing:.28em;text-transform:uppercase;margin:0 0 18px;font-size:10px}.finale-content h2{letter-spacing:-.055em;margin:0;font-family:Italiana,serif;font-size:clamp(68px,11vw,164px);font-weight:400;line-height:.78}.finale-content h2 em{color:var(--gold);font-weight:400}.finale-age{color:#aeb2ba;justify-content:center;align-items:baseline;gap:12px;margin:42px 0 34px;display:flex}.finale-age strong{color:var(--cream);font-family:Italiana,serif;font-size:35px;font-weight:400}.finale-age span{letter-spacing:.08em;font-size:12px}.finale-content button{color:var(--cream);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;background:#05030959;border:1px solid #f2d69d73;border-radius:999px;padding:15px 20px 15px 24px;font-size:10px;transition:all .25s}.finale-content button span{background:var(--gold);color:#17101f;border-radius:50%;place-items:center;width:28px;height:28px;margin-left:14px;display:inline-grid}.finale-content button:hover{border-color:var(--gold);transform:translateY(-2px)}.finale-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.finale-confetti i{left:var(--x);background:var(--gold);width:7px;height:16px;animation:finaleFall var(--duration) linear var(--delay) infinite;position:absolute;top:-24px}.finale-confetti i:nth-child(3n){background:#9b67c9;border-radius:50%;height:8px}.finale-confetti i:nth-child(4n){background:var(--cream);width:4px;height:12px}.finale-confetti i:nth-child(5n){background:#cf9b46;transform:rotate(45deg)}.birthday-finale[hidden],.voice-finale[hidden]{display:none}@keyframes finaleReveal{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes finalePulse{50%{opacity:.65;transform:scale(1.06)}}@keyframes finaleFall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}10%{opacity:.9}to{transform:translate3d(var(--drift),112vh,0) rotate(720deg);opacity:.15}}@media (max-width:850px){.life-counter{grid-template-columns:1fr;align-items:start}.elapsed-time{justify-content:flex-start}.birthday-finale{padding:20px}.finale-age{flex-direction:column;align-items:center;gap:5px}}@media (max-width:520px){.life-counter{padding-left:22px;padding-right:22px}.elapsed-time{justify-content:space-between;width:100%}.elapsed-time strong{font-size:17vw}.elapsed-time i{font-size:36px}.finale-content h2{font-size:20vw}.finale-age{margin-top:34px}.finale-age strong{font-size:30px}}.cover-password{width:min(430px,100vw - 40px);margin-top:42px;position:relative}.cover-password>label{color:#b9afc7;letter-spacing:.18em;text-transform:uppercase;margin-bottom:11px;font-size:10px;display:block}.cover-password>div{background:#0c06139e;border:1px solid #d8b8ee66;border-radius:999px;grid-template-columns:1fr auto;height:58px;padding:5px;display:grid;box-shadow:0 18px 60px #00000038}.cover-password input{min-width:0;color:var(--cream);background:0 0;border:0;outline:0;padding:0 18px;font-size:14px}.cover-password input::placeholder{color:#756c80}.cover-password .open-button{background:linear-gradient(135deg,#7f46ac,#a76bd0);border:0;width:145px;height:46px;margin:0;padding-left:19px}.cover-password .open-button i{background:var(--gold);width:36px;height:36px}.cover-password>small{color:#8d8498;margin-top:12px;font-size:11px;display:block}.cover-password>small.is-error{color:#e4a3aa}.nostalgia-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 18% 35%,#8046a62b,#0000 38%),linear-gradient(135deg,#080b12,#0c0712);max-width:1500px;margin:0 auto clamp(110px,12vw,190px);padding:clamp(90px,10vw,150px) clamp(24px,8vw,125px);position:relative;overflow:hidden}.nostalgia-year{letter-spacing:-.12em;color:#d6ad630b;pointer-events:none;gap:0;font-family:Italiana,serif;font-size:clamp(130px,22vw,340px);line-height:.75;display:flex;position:absolute;top:24px;right:clamp(16px,5vw,75px)}.nostalgia-year span:last-child{color:#975bc514}.nostalgia-heading{z-index:1;max-width:780px;position:relative}.nostalgia-heading .section-label{margin-bottom:55px}.nostalgia-kicker{color:var(--gold);letter-spacing:.23em;text-transform:uppercase;margin:0 0 15px;font-size:10px}.nostalgia-heading h2{letter-spacing:-.045em;margin:0;font-family:Italiana,serif;font-size:clamp(54px,7vw,105px);font-weight:400;line-height:.9}.nostalgia-heading h2 em{color:#b77bdd;font-weight:400}.nostalgia-grid{z-index:1;grid-template-columns:repeat(3,1fr);margin-top:80px;display:grid;position:relative}.nostalgia-grid article{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08080e61;border:1px solid #ffffff1f;min-height:285px;padding:30px}.nostalgia-grid article+article{border-left:0}.nostalgia-grid article>span{color:#9e75bb;letter-spacing:.16em;text-transform:uppercase;font-size:10px;display:block}.nostalgia-grid h3{color:var(--gold-light);margin:65px 0 17px;font-family:Italiana,serif;font-size:29px;font-weight:400;line-height:1.08}.nostalgia-grid p{color:#969daa;margin:0;font-size:14px;line-height:1.75}.cake-finale{z-index:145;background:radial-gradient(circle at 70% 48%,#884cb452,#0000 40%),linear-gradient(145deg,#06030a,#160b22 55%,#050307);grid-template-columns:minmax(300px,.7fr) minmax(420px,1fr);align-items:center;gap:clamp(20px,5vw,80px);padding:clamp(24px,7vw,110px);animation:.7s both finaleReveal;display:grid;position:fixed;inset:0;overflow:hidden}.cake-finale:before{content:"20";color:#d6ad6309;pointer-events:none;font-family:Italiana,serif;font-size:min(55vw,720px);line-height:1;position:absolute;bottom:-12vh;left:-3vw}.cake-copy{z-index:2;position:relative}.cake-copy>span{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;margin-bottom:24px;font-size:10px;display:block}.cake-copy h2{letter-spacing:-.05em;margin:0;font-family:Italiana,serif;font-size:clamp(55px,7.2vw,112px);font-weight:400;line-height:.88}.cake-copy h2 em{color:#b87add;font-weight:400}.cake-copy>p{border-left:1px solid var(--gold);color:#aaa3b3;margin:30px 0 0;padding-left:20px;font-size:14px}.cake-visual{z-index:2;filter:drop-shadow(0 34px 55px #0000006b);justify-self:center;width:min(46vw,660px);position:relative}.cake-visual>img{width:100%;height:auto;display:block}.candle-flame{z-index:3;left:var(--flame-x);top:var(--flame-y);color:#ffd77b;cursor:pointer;filter:drop-shadow(0 0 7px #ffb632)drop-shadow(0 0 18px #ff932ae6);background:0 0;border:0;place-items:center;width:42px;height:52px;line-height:1;transition:opacity .35s,transform .35s;animation:.7s ease-in-out infinite alternate flameDance;display:grid;position:absolute;transform:translate(-50%,-50%)}.candle-flame span{font-size:30px;line-height:1}.candle-flame:hover{color:#fff0b7}.candle-flame.is-out{opacity:0;pointer-events:none;animation:none;transform:translate(-50%,-50%)scale(.15)}.candle-count{color:#817888;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:10px;position:absolute;bottom:34px;right:clamp(25px,7vw,110px)}.candle-count strong{color:var(--gold-light);margin-right:7px;font-family:Italiana,serif;font-size:24px;font-weight:400}.cake-finale[hidden]{display:none}@keyframes flameDance{0%{transform:translate(-50%,-50%)scale(.9)rotate(-4deg)}to{transform:translate(-50%,-50%)scale(1.08)rotate(4deg)}}@media (max-width:900px){.nostalgia-grid{grid-template-columns:1fr}.nostalgia-grid article+article{border-top:0;border-left:1px solid #ffffff1f}.nostalgia-grid h3{margin-top:35px}.cake-finale{text-align:center;grid-template-columns:1fr;gap:8px;padding-top:36px}.cake-copy>span{margin-bottom:13px}.cake-copy h2{font-size:clamp(45px,11vw,72px)}.cake-copy>p{border-left:0;margin-top:16px;padding-left:0;display:inline-block}.cake-visual{width:min(75vw,510px);margin-top:-10px}.candle-count{white-space:nowrap;bottom:16px;right:50%;transform:translate(50%)}}@media (max-width:520px){.cover-password .open-button{width:123px}.cover-password input{padding-left:14px}.nostalgia-section{padding-left:22px;padding-right:22px}.nostalgia-year{top:55px}.nostalgia-grid{margin-top:50px}.nostalgia-grid article{min-height:230px;padding:25px}.cake-finale{padding-left:18px;padding-right:18px}.cake-copy>span{font-size:9px}.cake-copy h2{font-size:12.5vw}.cake-copy>p{font-size:12px}.cake-visual{width:min(92vw,470px)}.candle-flame{width:34px;height:44px}.candle-flame span{font-size:24px}}
