@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&family=Fraunces:wght@400;600;700;900&family=Manrope:wght@300;400;500;600;700&family=Great+Vibes&display=swap";:root{--font-main: "Inter", sans-serif;--font-heading: "Outfit", sans-serif;--bg-primary: #050505;--bg-secondary: #0f0f12;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #6366f1;--accent-secondary: #a855f7;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(12px);--font-bday-title: "Fraunces", serif;--font-bday-body: "Manrope", sans-serif;--font-bday-script: "Great Vibes", cursive}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.premium-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:24px;padding:2rem;transition:all .4s cubic-bezier(.23,1,.32,1)}.premium-card:hover{transform:translateY(-8px);border-color:#6366f14d;box-shadow:0 20px 40px #0006}.btn-primary{background:var(--accent-gradient);color:#fff;padding:.8rem 2.5rem;border-radius:99px;border:none;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;font-family:var(--font-heading)}.btn-primary:hover{transform:scale(1.05);box-shadow:0 0 25px #6366f166}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.floating{animation:float 6s ease-in-out infinite}.birthday-page{min-height:100vh;background:radial-gradient(1000px at 10% 10%,rgba(255,199,176,.6),transparent 60%),radial-gradient(900px at 90% 20%,rgba(140,214,255,.45),transparent 60%),radial-gradient(800px at 40% 90%,rgba(255,178,205,.45),transparent 60%),linear-gradient(160deg,#fff4ee,#ffe9f1,#f2fbff);color:#2b1d1b;position:relative;overflow:hidden;font-family:var(--font-bday-body);padding-bottom:80px}.birthday-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1px),radial-gradient(rgba(255,255,255,.4) 1px,transparent 1px);background-size:32px 32px,48px 48px;background-position:0 0,16px 16px;opacity:.35;pointer-events:none;z-index:0}.bday-orb{position:absolute;border-radius:50%;filter:blur(40px);z-index:0}.bday-orb--one{width:320px;height:320px;background:#ff8e8e59;top:-80px;left:-40px}.bday-orb--two{width:380px;height:380px;background:#8bd2ff59;right:-120px;top:120px}.bday-orb--three{width:260px;height:260px;background:#ffb7d666;bottom:-60px;left:35%}.bday-hero{max-width:1200px;margin:0 auto;padding:120px 2rem 80px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;align-items:center;position:relative;z-index:1}.bday-hero-content{display:grid;gap:1.5rem}.bday-chip{display:inline-flex;align-items:center;gap:.5rem;background:#ffffffb3;border:1px solid rgba(255,150,150,.3);padding:.45rem .9rem;border-radius:999px;font-weight:600;font-size:.9rem;width:fit-content;color:#7a3a3a;box-shadow:0 12px 20px #ffb4b433}.bday-title{font-family:var(--font-bday-title);font-size:clamp(2.8rem,7vw,4.8rem);line-height:1.05;color:#3b1d2c}.bday-title span{font-family:var(--font-bday-script)}.bday-subtitle{font-size:1.15rem;line-height:1.7;color:#5b3c3c;max-width:520px}.bday-date{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;color:#8b4f4f;font-size:.95rem;background:#ffffffb3;padding:.4rem .9rem;border-radius:999px;width:fit-content}.bday-actions{display:flex;flex-wrap:wrap;gap:1rem}.bday-button{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.8rem;border-radius:999px;border:none;background:linear-gradient(120deg,#ff9b87,#ff7ab6);color:#fff;font-weight:600;font-family:var(--font-bday-body);cursor:pointer;text-decoration:none;box-shadow:0 16px 30px #ff85a859;transition:transform .2s ease,box-shadow .2s ease}.bday-button:hover{transform:translateY(-2px);box-shadow:0 20px 38px #ff85a866}.bday-button--ghost{background:#ffffffb3;color:#7a3a3a;border:1px solid rgba(255,150,150,.3);box-shadow:none}.bday-button--ghost:hover{box-shadow:0 12px 24px #ff969640}.bday-signature{font-family:var(--font-bday-script);font-size:1.8rem;color:#c05b7d}.bday-signature--animate{position:relative;display:inline-block;padding-bottom:.3rem}.bday-signature--animate:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,#ff9b87,#ff7ab6);animation:signature 2.8s ease forwards}.bday-hero-collage{position:relative;display:grid;gap:1.5rem;justify-items:center}.bday-stack{position:relative;width:min(360px,90vw);height:420px}.bday-stack-card{position:absolute;inset:0;background:#fff;border-radius:26px;padding:12px;box-shadow:0 25px 45px #4224242e;transform:rotate(var(--rotate))}.bday-stack-card img{width:100%;height:100%;object-fit:cover;border-radius:20px}.bday-stack-card:nth-child(1){transform:rotate(var(--rotate)) translate(-20px,10px)}.bday-stack-card:nth-child(2){transform:rotate(var(--rotate)) translate(20px,-10px)}.bday-stack-card:nth-child(3){transform:rotate(var(--rotate))}.bday-note{display:inline-flex;align-items:center;gap:.7rem;background:#fffc;border-radius:16px;padding:.85rem 1.2rem;font-weight:600;color:#7a3a3a;box-shadow:0 12px 24px #ffb4b440}.bday-collage-section{padding:60px 2rem 40px;max-width:1200px;margin:0 auto;position:relative;z-index:1}.bday-dedication{padding:40px 2rem 10px;max-width:1000px;margin:0 auto;display:grid;gap:1.5rem;position:relative;z-index:1}.bday-polaroids{padding:50px 2rem 20px;max-width:1200px;margin:0 auto;position:relative;z-index:1}.bday-polaroid-line{height:2px;background:#ffbcbc99;margin:1.5rem 0 2.5rem;border-radius:999px;position:relative}.bday-polaroid-line:after{content:"";position:absolute;right:8%;top:-4px;width:10px;height:10px;border-radius:50%;background:#ffbcbce6}.bday-polaroid-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem}.bday-polaroid-card{background:#fffaf6;border-radius:20px;padding:12px 12px 26px;box-shadow:0 20px 36px #3c1e1e29;border:none;cursor:pointer;transform:rotate(-2deg);transition:transform .25s ease,box-shadow .25s ease;position:relative}.bday-polaroid-card:nth-child(2n){transform:rotate(2deg)}.bday-polaroid-card:hover{transform:translateY(-6px) rotate(0);box-shadow:0 26px 44px #3c1e1e33}.bday-polaroid-card img{width:100%;height:180px;object-fit:cover;border-radius:16px}.bday-polaroid-clip{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:34px;height:20px;border-radius:8px;background:linear-gradient(135deg,#ffd7d7,#ffe7f2);box-shadow:0 6px 12px #3c1e1e2e}.bday-album{padding:40px 2rem 20px;max-width:1200px;margin:0 auto;position:relative;z-index:1}.bday-album-viewer{margin-top:2rem;display:grid;grid-template-columns:auto minmax(240px,560px) auto;align-items:center;gap:1rem;justify-content:center}.bday-album-frame{background:#fff;border-radius:28px;padding:14px;box-shadow:0 20px 40px #3c1e1e2e}.bday-album-open{border:none;padding:0;background:transparent;cursor:pointer;display:block;width:100%}.bday-album-open img{width:100%;height:420px;object-fit:cover;border-radius:20px}.bday-album-btn{width:44px;height:44px;border-radius:50%;border:none;background:#ffffffd9;color:#7a3a3a;font-size:2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 24px #3c1e1e26;transition:transform .2s ease,box-shadow .2s ease}.bday-album-btn:hover{transform:translateY(-2px);box-shadow:0 16px 28px #3c1e1e33}.bday-album-meta{margin-top:.8rem;text-align:center;color:#7a3a3a;font-weight:600}.bday-album-thumbs{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.75rem}.bday-album-thumb{border:2px solid transparent;border-radius:14px;padding:4px;background:#ffffffb3;cursor:pointer;transition:transform .2s ease,border-color .2s ease}.bday-album-thumb img{width:100%;height:64px;object-fit:cover;border-radius:10px}.bday-album-thumb.is-active{border-color:#ff7aaacc;transform:translateY(-2px)}.bday-section-header{display:grid;gap:.6rem;margin-bottom:2.5rem}.bday-section-header h2{font-family:var(--font-bday-title);font-size:clamp(2rem,5vw,3rem);color:#3b1d2c}.bday-section-header p{color:#6b4b4b}.bday-collage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-auto-rows:140px;grid-auto-flow:dense;gap:16px}.bday-photo{background:transparent;border-radius:20px;padding:4px;border:1px solid rgba(255,255,255,.7);box-shadow:0 14px 30px #3c1e1e1f,0 6px 12px #ffa5b426;transform:rotate(var(--rotate));transition:transform .25s ease,box-shadow .25s ease;cursor:pointer;outline:none}.bday-photo:hover{transform:translateY(-6px) rotate(var(--rotate));box-shadow:0 18px 36px #3c1e1e29,0 10px 18px #ffa5b433}.bday-photo img{width:100%;height:100%;border-radius:16px;object-fit:cover}.bday-photo--wide{grid-column:span 2}.bday-photo--tall{grid-row:span 2}.bday-photo--large{grid-column:span 2;grid-row:span 2}.bday-notes{max-width:1100px;margin:40px auto 0;padding:0 2rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));position:relative;z-index:1}.bday-note-card{background:#fffc;border-radius:24px;padding:1.5rem;display:grid;gap:.75rem;box-shadow:0 18px 36px #3c1e1e24}.bday-note-card h3{font-family:var(--font-bday-title);color:#3b1d2c;font-size:1.4rem}.bday-note-card p{color:#5b3c3c;line-height:1.6}.bday-footer{margin-top:60px;display:grid;gap:.6rem;justify-items:center;text-align:center;color:#7a3a3a;position:relative;z-index:1}.bday-button--footer{background:linear-gradient(120deg,#ff9b87,#ffa3d7)}.bday-modal{position:fixed;inset:0;background:#1c1212a6;display:grid;place-items:center;z-index:999;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bday-modal-content{position:relative;background:#fff;border-radius:28px;padding:18px;max-width:920px;width:min(92vw,920px);box-shadow:0 30px 60px #2814144d;display:grid;place-items:center}.bday-modal-content img{width:100%;max-height:70vh;object-fit:contain;border-radius:20px}.bday-modal-close{position:absolute;top:12px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffffe6;font-size:1.6rem;cursor:pointer;color:#7a3a3a;box-shadow:0 10px 20px #28141433}.bday-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;background:#ffffffe6;font-size:1.8rem;cursor:pointer;color:#7a3a3a;box-shadow:0 10px 20px #28141433}.bday-modal-nav--prev{left:-18px}.bday-modal-nav--next{right:-18px}.bday-modal-meta{margin-top:.75rem;color:#7a3a3a;font-weight:600}@media(max-width:700px){.bday-hero{padding-top:100px}.bday-stack{height:360px}.bday-photo--wide,.bday-photo--large{grid-column:span 1}.bday-photo--tall,.bday-photo--large{grid-row:span 1}.bday-album-viewer{grid-template-columns:1fr}.bday-album-btn{justify-self:center}.bday-album-frame img{height:300px}.bday-polaroid-card img{height:160px}.bday-modal-nav--prev{left:12px;right:auto}.bday-modal-nav--next{right:12px;left:auto}}@keyframes signature{0%{width:0}to{width:100%}}
