*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{margin:0;min-height:100%}body{font-family:Cormorant Garamond,Georgia,serif;background:#050505;color:#f2f2f2;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}.page{position:relative;z-index:1;min-height:100vh}.main{max-width:1120px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem}.script{font-family:Permanent Marker,cursive}.site-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,4vw,2rem);background:#050505;border-bottom:1px solid rgba(255,255,255,.06)}.site-nav-logo{font-size:1.25rem;letter-spacing:.02em}.site-nav-brand{display:inline-flex;align-items:center;gap:.5rem}.site-nav-logo-img{width:36px;height:36px;object-fit:contain}.site-nav-links{display:flex;flex-wrap:wrap;gap:.35rem 1rem;justify-content:flex-end}.site-nav-link{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;transition:color .2s}.site-nav-link:hover{color:#fff}.site-nav-link-hot{color:gold}.hero{padding:clamp(2rem,6vw,4rem) 0 clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid rgba(255,255,255,.06)}.hero-grid{display:grid;gap:2.5rem;align-items:center}@media(min-width:900px){.hero-grid{grid-template-columns:.95fr 1.05fr;gap:3rem}}.hero-art-frame{position:relative;max-width:440px;margin:0 auto}.hero-art-frame:before{content:"";position:absolute;top:8%;right:-6%;bottom:-8%;left:6%;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);z-index:-1}.hero-art-frame img{width:100%;display:block;box-shadow:0 28px 90px #000000b3}.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.25rem}.hero-eyebrow{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff73}.hero-title{font-size:clamp(4rem,14vw,8rem);font-weight:400;line-height:.9;margin:0;letter-spacing:.02em}.hero-hand{margin:.75rem 0 1rem}.hero-lead{font-size:clamp(1.15rem,2.5vw,1.45rem);color:#ffffffd1;margin:0 0 .75rem;line-height:1.35}.hero-meta{margin:0 0 1.5rem;max-width:36ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.section{padding:clamp(2.5rem,5vw,3.5rem) 0;border-bottom:1px solid rgba(255,255,255,.06)}.section-connect{border-bottom:none;padding-bottom:1rem}.section-head{margin-bottom:1.5rem}.section-eyebrow{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffff6b}.section-title{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:400}.section-desc{margin:0;max-width:48ch}.stream-row-compact{margin-top:.25rem}.stream-grid{display:flex;flex-wrap:wrap;gap:.5rem}.stream-pill{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.14);font-size:.78rem;letter-spacing:.06em;color:#ffffffc7;transition:background .2s,border-color .2s,color .2s}.stream-pill:hover{background:#fff;color:#050505;border-color:#fff}.release-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.release-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:120px;padding:1rem;background:#0d0d0d;border:1px solid rgba(255,255,255,.08);transition:border-color .2s,transform .2s}.release-card:hover{border-color:#ffffff47;transform:translateY(-2px)}.release-card-featured{grid-column:span 1;background:#111;border-color:#ffffff2e}@media(min-width:600px){.release-card-featured{grid-column:span 2;min-height:140px}}.release-type{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#fff6;margin-bottom:.35rem}.release-title{margin:0;font-size:1.05rem;font-weight:500;line-height:1.2}.release-year{margin-top:.35rem;font-size:.8rem;color:#ffffff73}.release-badge{position:absolute;top:.75rem;right:.75rem;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .45rem;border:1px solid rgba(255,255,255,.35)}.invite-grid{display:grid;gap:2rem;align-items:start}@media(min-width:900px){.invite-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}.invite-lead{font-size:1.05rem;max-width:40ch;margin:0 0 1.25rem}.invite-details{margin-bottom:1.25rem}.invite-detail-row+.invite-detail-row{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.invite-detail-row p{margin:.25rem 0 0;color:#ffffffe0;line-height:1.45}.invite-scribble{margin:0}.rsvp-title{margin:0 0 .35rem;font-size:1.65rem;font-weight:400}.rsvp-sub{margin:0 0 1.25rem}.site-footer{padding:2rem clamp(1rem,4vw,2rem) 2.5rem;border-top:1px solid rgba(255,255,255,.06);background:#080808}.footer-grid{display:grid;gap:1.5rem;max-width:1120px;margin:0 auto 1.5rem}@media(min-width:768px){.footer-grid{grid-template-columns:1.2fr .8fr 1fr}}.footer-logo{font-size:1.35rem;margin:0 0 .35rem}.footer-link{display:block;font-size:.88rem;color:#ffffff9e;margin-top:.35rem;transition:color .2s}.footer-link:hover{color:#fff}.footer-socials{display:flex;flex-direction:column}.footer-fine{max-width:1120px;margin:0 auto;font-size:.72rem;text-align:center}.card{background:#0d0d0d;border:1px solid rgba(255,255,255,.08);border-radius:2px;padding:1.5rem}.label{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;margin-bottom:.35rem}.field{width:100%;background:#111;border:1px solid rgba(255,255,255,.12);color:#fff;padding:.75rem .85rem;border-radius:2px;margin-bottom:1rem}.field:focus{outline:none;border-color:#ffffff59}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.5rem;background:#fff;color:#050505;border:none;border-radius:2px;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;transition:opacity .2s}.btn-lg{min-height:52px;padding:.85rem 1.75rem}.btn:hover:not(:disabled){opacity:.88}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25)}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.chip{padding:.55rem .85rem;border:1px solid rgba(255,255,255,.15);background:transparent;color:#ffffffbf;cursor:pointer;font-size:.85rem;border-radius:2px}.chip.active{background:#fff;color:#050505;border-color:#fff}.amount-presets .chip-amount{min-width:4.25rem;justify-content:center;font-weight:600;font-variant-numeric:tabular-nums}.note{font-size:.9rem;color:#ffffff8c;line-height:1.5}.error{color:#ff6b6b;font-size:.9rem;margin-bottom:1rem}.success{color:#8fd48f;font-size:.95rem}.hand{font-family:Permanent Marker,cursive;font-size:.95rem;color:#ffffff73;transform:rotate(-2deg)}.sticker{display:inline-block;border:1px dashed rgba(255,255,255,.35);padding:.35rem .6rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid rgba(255,255,255,.08)}.admin-table th{color:#ffffff73;font-weight:400;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.badge-paid{color:#8fd48f}.badge-pending{color:#f0c674}.badge-na{color:#ffffff59}.birthday-hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#1a1208,#050505 55%,#050505);border-bottom:1px solid rgba(255,215,0,.15)}.fireworks-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.confetti-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-10%;left:calc((var(--i) * 4.2%) + 1%);width:8px;height:14px;background:hsl(calc(var(--i) * 14),85%,58%);opacity:.75;animation:confetti-fall calc(4s + (var(--i) * .15s)) linear infinite;animation-delay:calc(var(--i) * -.25s);transform:rotate(45deg)}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:0}10%{opacity:.9}to{transform:translateY(110vh) rotate(720deg);opacity:.2}}.birthday-content{position:relative;z-index:2;text-align:center;padding:5rem 1.25rem 4rem;max-width:720px}.birthday-eyebrow{margin:0 0 .5rem;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:gold}.birthday-age{margin:0;line-height:.85}.birthday-age-num{display:inline-block;font-size:clamp(5rem,22vw,11rem);background:linear-gradient(180deg,#fff,gold 45%,#c9a227);-webkit-background-clip:text;background-clip:text;color:transparent;animation:birthday-glow 2.5s ease-in-out infinite;filter:drop-shadow(0 0 40px rgba(255,215,0,.35))}@keyframes birthday-glow{0%,to{filter:drop-shadow(0 0 30px rgba(255,215,0,.25))}50%{filter:drop-shadow(0 0 55px rgba(255,215,0,.55))}}.birthday-name{margin:.25rem 0 0;font-size:clamp(1.5rem,4vw,2.25rem);letter-spacing:.35em;text-transform:uppercase}.birthday-tag{margin:.75rem 0 1.5rem}.birthday-cta-block{background:#0d0d0dbf;border:1px solid rgba(255,215,0,.22);padding:1.5rem 1.25rem;margin-top:.5rem}.birthday-hook{margin:0 0 1.25rem;font-size:1.1rem;line-height:1.5;color:#ffffffe0}.birthday-hook strong{color:gold}.birthday-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:.75rem}.birthday-fine{margin:0;font-size:.82rem}.btn-gold{background:linear-gradient(135deg,gold,#e8b923);color:#1a1000;font-weight:600}.btn-xl{min-height:56px;padding:1rem 2rem;font-size:.85rem}.pulse-cta{animation:pulse-gold 2s ease-in-out infinite;box-shadow:0 0 #ffd70073}@keyframes pulse-gold{0%,to{box-shadow:0 0 #ffd70059}50%{box-shadow:0 0 0 12px #ffd70000}}.scroll-hint{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:2;color:#ffffff73;font-size:1.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}.invite-section-hot{padding-top:0;border-bottom:none}.invite-banner{text-align:center;padding:2rem 1rem 1.5rem;background:linear-gradient(180deg,rgba(255,75,75,.12) 0%,transparent 100%);border-bottom:1px solid rgba(255,75,75,.2);margin:0 calc(-1*clamp(1rem,4vw,2rem)) 2rem}.invite-banner-tag{display:inline-block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#ff6b6b;border:1px solid rgba(255,107,107,.4);padding:.3rem .65rem;margin-bottom:.75rem}.invite-banner-title{margin:0 0 .35rem;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:400}.invite-banner-sub{margin:0;color:#fff9}.invite-details-glow{border-color:#ffd70026;box-shadow:0 0 40px #ffd7000f}.rsvp-card{border-color:#ffd70033}.videos-section{background:linear-gradient(180deg,transparent 0%,rgba(108,92,231,.06) 50%,transparent 100%)}.video-scroll{display:flex;gap:.85rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.video-card{flex:0 0 200px;scroll-snap-align:start;min-height:140px;padding:1.25rem 1rem;background:linear-gradient(145deg,#141414,#0a0a0a);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s,border-color .2s}.video-card:hover{transform:translateY(-4px);border-color:#ff4b4b73}.video-card-channel{border-color:#ffd70040;background:linear-gradient(145deg,#1a1508,#0a0a0a)}.video-card-play{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:.85rem;margin-bottom:auto;color:#ff4b4b}.video-card-title{margin:0 0 .25rem;font-size:1.05rem;font-weight:500}.video-card-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffff73}.catalog-section{background:linear-gradient(180deg,transparent 0%,rgba(0,184,148,.04) 100%)}.release-grid-visual{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.release-card-visual{position:relative;display:block;overflow:hidden;background:#0d0d0d;border:1px solid rgba(255,255,255,.08);transition:transform .25s,box-shadow .25s}.release-card-visual:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 40px #00000080,0 0 0 1px var(--accent, #fff)}.release-card-visual.release-card-featured{grid-column:span 2}@media(min-width:700px){.release-card-visual.release-card-featured{grid-column:span 2;grid-row:span 2}}.release-art{aspect-ratio:1;overflow:hidden;background:#111}.release-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.release-card-visual:hover .release-art img{transform:scale(1.06)}.release-art-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--accent, #333);color:#050505;font-weight:700}.release-meta{padding:.75rem .85rem 1rem;position:relative}.release-card-visual .release-type{display:block;margin-bottom:.2rem}.release-card-visual .release-title{font-size:.95rem}.release-card-visual .release-badge{top:auto;bottom:.85rem;background:gold;color:#050505;border:none;font-weight:600}@media(max-width:599px){.site-nav-links{display:none}.release-card-visual.release-card-featured{grid-column:span 2}}
