@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/024ead497118aa23-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_589abc{font-family:Cormorant Garamond,Cormorant Garamond Fallback}.__variable_589abc{--font-cormorant:"Cormorant Garamond","Cormorant Garamond Fallback"}@font-face{font-family:Jost;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/b8c37bb59076c047-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Jost;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/5bbac197f803cc34-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Jost;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/9dd75fadc5b3df29-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/b8c37bb59076c047-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/5bbac197f803cc34-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/9dd75fadc5b3df29-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b8c37bb59076c047-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5bbac197f803cc34-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9dd75fadc5b3df29-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Jost Fallback;src:local("Arial");ascent-override:111.45%;descent-override:39.06%;line-gap-override:0.00%;size-adjust:96.01%}.__className_87dbc1{font-family:Jost,Jost Fallback;font-style:normal}.__variable_87dbc1{--font-jost:"Jost","Jost Fallback"}@font-face{font-family:petitFormalScript;src:url(/_next/static/media/b32c32a0d885e041-s.p.ttf) format("truetype");font-display:swap}@font-face{font-family:petitFormalScript Fallback;src:local("Arial");ascent-override:132.50%;descent-override:48.46%;line-gap-override:0.00%;size-adjust:62.98%}.__className_857197{font-family:petitFormalScript,petitFormalScript Fallback}.__variable_857197{--font-petit-formal-script:"petitFormalScript","petitFormalScript Fallback"}:root{--rose:#e8698a;--rose-light:#f4a7bb;--rose-pale:#fce4ec;--blush:#ffd6e0;--cream:#fff8f3;--gold:#f7c873;--white:#fff;--text-dark:#4a2535;--text-mid:#7a4055;--text-soft:#b07890;--glass-bg:#ffffff0d;--glass-border:#ff96b426;--shadow:#00000080;--glow:#b4325a59;--dark-wine:#0e0208;--dark-crimson:#1a0510;--dark-rose:#2e0a1e;--mid-rose:#4a1230;--text-light:#ffdcebeb;--text-muted:#c896aab3;--ff-display:var(--font-cormorant),serif;--ff-script:var(--font-petit-formal-script),cursive;--ff-body:var(--font-jost),sans-serif;--text-hero:clamp(3rem,8vw,6rem);--text-xl:clamp(2rem,5vw,4rem);--text-lg:clamp(1.25rem,2.5vw,1.75rem);--text-base:1.05rem;--text-sm:.85rem;--text-xs:.75rem;--background:#0e0208;--foreground:#ffdcebeb;--card:#ffffff0d;--card-foreground:#ffdcebf2;--popover:#1a0510;--popover-foreground:#ffdcebf2;--primary:#e8698a;--primary-foreground:#0e0208;--secondary:#ffffff0d;--secondary-foreground:#ffdcebeb;--muted:#1a0510;--muted-foreground:#c896aab3;--accent:#f4a7bb;--accent-foreground:#ffdcebf2;--destructive:#c0392b;--border:#ff96b426;--input:#ff96b41a;--ring:#f4a7bb;--radius:1.5rem;--color-success:#4a7c59;--color-error:#c0392b}.hidden{display:none!important}.italic{font-style:italic}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0e0208}::-webkit-scrollbar-thumb{background:#a0325a80;border-radius:10px}.glass{-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);border-radius:24px;transition:transform .4s,box-shadow .4s,border-color .4s;background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;box-shadow:0 8px 40px #00000080,inset 0 1px #ffc8dc14!important}.glass:hover{border-color:#ff96b459!important;box-shadow:0 20px 60px #dc82a033,0 0 40px #f8b6d226,inset 0 1px #ffc8dc24!important}#global-bg-layer{z-index:-10;pointer-events:none;background:linear-gradient(160deg,#0e0208,#1a0510 15%,#230818 30%,#1a0510 45%,#2a0c1c 60%,#1a0510 75%,#200714 90%,#0e0208);position:fixed;inset:0}#global-bg-layer:before{content:"";background:radial-gradient(50% 35% at 20% 20%,#8c1e462e 0,#0000 55%),radial-gradient(45% 30% at 80% 15%,#64143724 0,#0000 50%),radial-gradient(55% 35% at 15% 80%,#78193c24 0,#0000 50%),radial-gradient(50% 35% at 85% 85%,#5a0f2d29 0,#0000 50%);animation:bg-breathe 12s ease-in-out infinite alternate;position:absolute;inset:0}#global-bg-layer:after{content:"";pointer-events:none;background:radial-gradient(90% 35% at 50% 0,#b4325a1f 0,#0000 65%),radial-gradient(80% 30% at 50% 100%,#78193c24 0,#0000 65%);position:absolute;inset:0}.cinematic-vignette{z-index:3;background:radial-gradient(100% 100%,#0000 0,#06010680 100%)}#falling-petals,.cinematic-vignette{pointer-events:none;position:fixed;inset:0}#falling-petals{z-index:4;overflow:hidden}.falling-petal{opacity:.7;font-size:1.2rem;animation:fall-main linear infinite;position:absolute;top:-30px}.navbar-root{z-index:100;-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);background:#0e020899;border-bottom:1px solid #ff96b414;padding:12px 20px;transition:background .4s,border-color .4s,box-shadow .4s;position:fixed;top:0;left:0;right:0}.navbar-scrolled{background:#0e0208e0;border-bottom-color:#ff96b426;box-shadow:0 4px 30px #0006}.navbar-inner{justify-content:space-between;max-width:1100px;margin:0 auto}.navbar-inner,.navbar-logo{align-items:center;display:flex}.navbar-logo{gap:8px;text-decoration:none;transition:opacity .3s}.navbar-logo:hover{opacity:.85}.navbar-logo-icon{font-size:1.4rem}.navbar-logo-text{font-family:var(--ff-script);color:var(--rose);letter-spacing:.03em;font-size:1.4rem}.navbar-link,.navbar-links{align-items:center;gap:6px;display:flex}.navbar-link{font-family:var(--ff-body);color:#c896aacc;white-space:nowrap;border-radius:9999px;padding:8px 16px;font-size:.88rem;font-weight:300;text-decoration:none;transition:all .3s}.navbar-link:hover{color:#ffdcebeb;background:#ffffff0f}.navbar-link-active{font-weight:400;color:#0e0208!important;background:#e8698a!important}.navbar-link-icon{font-size:.95rem}.navbar-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.hamburger-line{background:var(--rose);border-radius:2px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.line1-open{transform:translateY(7px)rotate(45deg)}.line2-open{opacity:0}.line3-open{transform:translateY(-7px)rotate(-45deg)}.navbar-mobile{max-height:0;padding:0;transition:max-height .4s,padding .3s;overflow:hidden}.navbar-mobile-open{max-height:320px;padding:12px 0 8px}.navbar-mobile-link{font-family:var(--ff-body);color:#c896aacc;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;font-weight:300;text-decoration:none;transition:all .25s;display:flex}.navbar-mobile-link:hover{color:#ffdcebeb;background:#ffffff0d}.navbar-mobile-link-active{font-weight:400;color:#e8698a!important;background:#e8698a1a!important}@media (max-width:768px){.navbar-links{display:none}.navbar-hamburger{display:flex}}@media (min-width:769px){.navbar-mobile{display:none}}body:has(.navbar-root) main{padding-top:70px}#main-site{background:0 0;min-height:100vh;position:relative}section{z-index:15;padding:100px 20px;position:relative;background:0 0!important}.section-inner{text-align:center;max-width:1100px;margin:0 auto}.section-eyebrow{font-family:var(--ff-script);color:#ff8cb4e6;letter-spacing:.05em;opacity:.85;margin-bottom:12px;font-size:2.2rem}.section-title{font-family:var(--ff-display);color:#ffe1ebf2;margin-bottom:50px;font-size:clamp(2.4rem,5vw,4rem);font-weight:300;line-height:1.15}.section-title em{color:#ff96b9e6;font-style:italic}section+section:before{content:"";background:linear-gradient(90deg,#0000,#b43c6440,#0000);width:180px;height:1px;margin:0 auto -60px;display:block}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float-flower{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-12px)rotate(5deg)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(1)}42%{transform:scale(1.12)}}@keyframes fall-main{0%{opacity:.8;transform:translateY(0)rotate(0)translate(0)}50%{opacity:.5;transform:translateY(50vh)rotate(180deg)translate(30px)}to{opacity:0;transform:translateY(105vh)rotate(1turn)translate(-20px)}}@keyframes drift{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(15px,-20px)rotate(15deg)}66%{transform:translate(-10px,10px)rotate(-10deg)}}@keyframes bounce-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes floatHeart{0%{opacity:1;transform:translateY(0)rotate(-10deg)}to{opacity:0;transform:translateY(-100vh)rotate(10deg)}}@keyframes bg-breathe{0%{opacity:.7}to{opacity:1}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #e8698a33,0 0 40px #e8698a0d}50%{box-shadow:0 0 40px #e8698a66,0 0 80px #e8698a26}}@keyframes gift-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-4deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}@keyframes lid-fly{0%{opacity:1;transform:translateY(0)rotateX(0)rotate(0)scale(1)}35%{opacity:1;transform:translateY(-100px)rotateX(-15deg)rotate(-20deg)scale(1.05)}70%{opacity:.7;transform:translateY(-220px)rotateX(-30deg)rotate(-40deg)scale(.7)}to{opacity:0;transform:translateY(-340px)rotateX(-45deg)rotate(-55deg)scale(.3)}}@keyframes bloom-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(0)}40%{opacity:1;transform:translate(var(--tx),var(--ty)) scale(1.2) rotate(var(--rot))}80%{opacity:.9;transform:translate(var(--tx2),var(--ty2)) scale(1) rotate(var(--rot2))}to{opacity:0;transform:translate(var(--tx3),var(--ty3)) scale(.8) rotate(var(--rot3))}}@keyframes fall-petal{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.3;transform:translateY(110vh)rotate(1turn)}}@keyframes pulse-hint{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes gift-float-3d{0%{transform:translateY(0)rotateX(4deg)rotateY(-3deg)}33%{transform:translateY(-10px)rotateX(2deg)rotateY(3deg)}66%{transform:translateY(-6px)rotateX(5deg)rotateY(-2deg)}to{transform:translateY(0)rotateX(4deg)rotateY(-3deg)}}#intro-scene{z-index:1000;background:linear-gradient(135deg,#1a0510,#3d0f25 40%,#1e0815);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}#gift-wrapper{z-index:10;perspective:900px;perspective-origin:50% 40%;position:relative}#gift-container,#gift-wrapper{flex-direction:column;align-items:center;display:flex}#gift-container{cursor:pointer;transform-style:preserve-3d;gap:20px;transition:transform .3s}#gift-container:hover{transform:scale(1.05)}#gift-container:hover #gift-box{filter:drop-shadow(0 28px 22px #0009)drop-shadow(0 8px 10px #00000073)drop-shadow(0 0 45px #ff8cb4bf)}#gift-container:after{content:"";filter:blur(4px);pointer-events:none;background:radial-gradient(#00000059 0,#0000 70%);border-radius:50%;width:120px;height:18px;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}#gift-box{width:160px;height:160px;filter:drop-shadow(0 22px 18px #0000008c)drop-shadow(0 6px 8px #0006)drop-shadow(0 0 28px #ff78a073);transition:filter .4s;animation:gift-float-3d 5s ease-in-out infinite;position:relative}#gift-box,.gift-lid{transform-style:preserve-3d}.gift-lid{z-index:2;transform-origin:top;width:176px;height:55px;border-radius:8px 8px 0 0;justify-content:center;align-items:center;transition:transform .8s cubic-bezier(.34,1.56,.64,1),opacity .5s;display:flex;position:absolute;top:0;left:-8px;box-shadow:inset 0 2px #ffffff59,inset 0 -2px #00000040;background:linear-gradient(165deg,#f28aa8,#e8698a 25%,#c0304a 65%,#a02040)!important}.gift-lid:after{content:"";transform-origin:0;background:linear-gradient(#8a1a2e,#6a0f22);border-radius:0 4px 4px 0;width:10px;height:calc(100% - 4px);position:absolute;top:4px;right:-10px;box-shadow:inset -2px 0 4px #0000004d}.gift-lid:before{content:"";transform-origin:top;filter:blur(1px);background:linear-gradient(#0000004d,#00000014);border-radius:0 0 4px 4px;width:calc(100% - 8px);height:8px;position:absolute;bottom:-8px;left:4px;transform:rotateX(-90deg)}.gift-body{width:160px;height:115px;transform-style:preserve-3d;border-radius:0 0 12px 12px;position:absolute;bottom:0;left:0;overflow:hidden;box-shadow:inset 0 2px #ffffff2e,inset 0 -3px #0000004d,inset 2px 0 #ffffff14;background:linear-gradient(165deg,#e05678,#d44a6a 30%,#b03050 70%,#8a1a35)!important}.gift-body:after{content:"";background:linear-gradient(#7a1228,#5a0c1e);border-radius:0 0 4px;width:10px;height:100%;position:absolute;top:0;right:-10px;box-shadow:inset -2px 0 4px #0006}.gift-body:before{content:"";filter:blur(2px);background:linear-gradient(#00000059,#0000);border-radius:0 0 8px 8px;width:calc(100% - 12px);height:10px;position:absolute;bottom:-10px;left:6px}.ribbon-h{background:linear-gradient(90deg,#f7c873,#f4a840,#f7c873);width:100%;height:14px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:inset 0 2px #ffffff80,inset 0 -2px #0003,0 0 8px #f7c87366}.ribbon-v{background:linear-gradient(#f7c873,#f4a840,#f7c873);width:14px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:inset 2px 0 #fff6,inset -2px 0 #00000026,0 0 6px #f7c87359}.ribbon-body-h,.ribbon-body-v{background:linear-gradient(90deg,#f7c873,#f4a840,#f7c873);position:absolute}.ribbon-body-h{width:100%;height:12px;top:50%;left:0;transform:translateY(-50%);box-shadow:inset 0 2px #ffffff80,inset 0 -2px #0003,0 0 8px #f7c87366}.ribbon-body-v{width:12px;height:100%;top:0;box-shadow:inset 2px 0 #fff6,inset -2px 0 #00000026,0 0 6px #f7c87359}.bow,.ribbon-body-v{left:50%;transform:translate(-50%)}.bow{position:absolute;top:-18px}.bow-left,.bow-right{border-radius:50%;width:32px;height:22px;position:absolute;top:0;box-shadow:inset 0 2px 4px #ffffff80,inset 0 -2px 3px #0000004d,0 2px 8px #b4780066;background:linear-gradient(135deg,#ffe066,#f7c430 40%,#d4920a 80%,#b87800)!important}.bow-left{left:-28px;transform:rotate(-20deg)}.bow-right{left:12px;transform:rotate(20deg)}.bow-center{z-index:1;border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:-2px;box-shadow:0 0 10px #f7c873b3,inset 0 1px 2px #fff9;background:radial-gradient(circle at 35% 35%,#ffe87a,#f0ab10)!important}.gift-hint{color:#ffc8dcbf;font-family:var(--ff-body);letter-spacing:.12em;text-align:center;font-size:.85rem;font-weight:200;animation:pulse-hint 2s ease-in-out infinite}#bloom-container{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bloom-flower{opacity:0;font-size:3rem;transition:none;position:absolute;transform:translate(-50%,-50%)scale(0)}#petal-rain-intro{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.intro-petal{opacity:0;font-size:1.4rem;animation:fall-petal linear forwards;position:absolute;top:-40px}#intro-overlay{opacity:0;pointer-events:none;z-index:20;background:#0e0208;transition:opacity 1.2s;position:absolute;inset:0}#intro-overlay.fade-in{opacity:1}#hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:80px 20px;display:flex;overflow:hidden}.hero-content{z-index:3;max-width:800px;margin:0 auto;position:relative}.hero-eyebrow{font-family:var(--ff-script);color:#ffa0bed9;opacity:0;margin-bottom:20px;font-size:2.4rem;animation:fade-up 1s .3s forwards}.hero-title{font-family:var(--ff-display);color:#ffebf0f2;margin-bottom:24px;font-size:clamp(3rem,8vw,6rem);font-weight:300;line-height:1.1}.hero-title .line1{opacity:0;animation:fade-up 1s .6s forwards;display:block}.hero-title .line2{color:#ffa0bee6;opacity:0;font-style:italic;animation:fade-up 1s .9s forwards;display:block}.hero-sub{color:#c896aacc;letter-spacing:.04em;opacity:0;max-width:540px;margin:0 auto 40px;font-size:1.1rem;font-weight:200;animation:fade-up 1s 1.2s forwards}.hero-flowers{opacity:0;margin-bottom:40px;animation:fade-up 1s 1.4s forwards}.hero-flower{filter:drop-shadow(0 0 16px #ff96b499);width:100px;height:100px;animation:spin-slow 12s linear infinite}.petal{filter:drop-shadow(0 2px 6px #dc50784d)}.flower-group{transform-origin:50px 50px}.scroll-btn{color:#b47896b3;letter-spacing:.15em;text-transform:uppercase;opacity:0;flex-direction:column;align-items:center;gap:8px;font-size:.8rem;font-weight:300;text-decoration:none;transition:color .3s;animation:fade-up 1s 1.8s forwards;display:inline-flex}.scroll-btn:hover{color:var(--rose)}.scroll-arrow{font-size:1.2rem;animation:bounce-arrow 2s ease-in-out infinite}#message{background:0 0!important}.message-card{text-align:center;z-index:2;max-width:750px;margin:0 auto;padding:60px 50px;position:relative;background:#ffffff0e!important;border-color:#ffb4c826!important;box-shadow:0 8px 60px #0000008c,0 0 50px #a0285a1a,inset 0 1px #ffc8dc1a!important}.card-flowers-top{justify-content:center;gap:12px;margin-bottom:20px;font-size:2rem;display:flex}.inline-flower{animation:float-flower 3s ease-in-out infinite;display:inline-block}.inline-flower.delay1{animation-delay:.5s}.inline-flower.delay2{animation-delay:1s}.msg-label{font-family:var(--ff-script);color:var(--rose);margin-bottom:16px;font-size:1.4rem}.msg-title{font-family:var(--ff-display);color:#ffebf0f2;margin-bottom:30px;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:300;line-height:1.2}.msg-title em{color:var(--rose);font-style:italic}.msg-body{color:#c8a0afd9;letter-spacing:.02em;margin-bottom:20px;font-size:1.05rem;font-weight:200;line-height:1.85}.msg-signature{font-family:var(--ff-script);color:var(--rose);margin-top:30px;font-size:1.8rem}.section-petals{pointer-events:none;position:absolute;inset:0;overflow:hidden}.s-petal{opacity:.4;font-size:2rem;animation:drift ease-in-out infinite;position:absolute}.sp1{animation-duration:6s;animation-delay:0s;top:10%;left:5%}.sp2{animation-duration:7s;animation-delay:1s;top:30%;right:8%}.sp3{animation-duration:5s;animation-delay:2s;top:60%;left:12%}.sp4{animation-duration:8s;animation-delay:.5s;bottom:20%;right:15%}.sp5{animation-duration:6s;animation-delay:3s;bottom:10%;left:40%}#reasons{padding:80px 20px}.reasons-grid{z-index:2;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:20px;display:grid;position:relative}.reason-card{text-align:center;cursor:default;padding:40px 30px;transition:transform .4s,box-shadow .4s;background:#ffffff0b!important;border-color:#ff96b41f!important;box-shadow:0 4px 30px #00000073,inset 0 1px #ffb4c814!important}.reason-card:hover{transform:translateY(-10px)scale(1.02);box-shadow:0 20px 60px #dc82a040,0 0 40px #f8b6d233!important}.reason-icon{margin-bottom:16px;font-size:2.8rem;animation:float-flower 4s ease-in-out infinite;display:block}.reason-card h3{font-family:var(--ff-display);color:#ffe1ebf2;margin-bottom:12px;font-size:1.5rem;font-weight:400}.reason-card p{color:#be91a5cc;font-size:.95rem;font-weight:200;line-height:1.7}.reveal-card{opacity:0;transition:opacity .7s,transform .7s,box-shadow .4s;transform:translateY(40px)}.reveal-card.visible{opacity:1;transform:translateY(0)}.reveal-card.delay1{transition-delay:.1s}.reveal-card.delay2{transition-delay:.2s}.reveal-card.delay3{transition-delay:.3s}.reveal-card.delay4{transition-delay:.4s}.reveal-card.delay5{transition-delay:.5s}#garden{padding:100px 20px 140px;position:relative;overflow:hidden}.garden-bg{background:linear-gradient(#0000,#3c0a1e40 30%,#460f2833 70%,#0000);position:absolute;inset:0}.garden-title em{color:#ff96b9e6}.flower-garden{z-index:2;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:20px;padding:40px 0}.flower-garden,.garden-flower{display:flex;position:relative}.garden-flower{cursor:pointer;flex-direction:column;align-items:center}.gf-bloom{filter:drop-shadow(0 4px 12px #c850784d);font-size:3.5rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1),filter .4s;animation:sway 3s ease-in-out infinite}.garden-flower:nth-child(odd) .gf-bloom{animation-delay:.5s}.garden-flower:nth-child(3) .gf-bloom{animation-delay:1s}.garden-flower:nth-child(5) .gf-bloom{animation-delay:1.5s}.garden-flower:hover .gf-bloom{filter:drop-shadow(0 8px 24px #c850788c);transform:scale(1.3)rotate(0)!important}.gf-stem{background:linear-gradient(#7ab648,#4a8c20);border-radius:0 0 3px 3px;width:3px;height:clamp(50px,8vw,90px)}.gf-tooltip{text-align:center;opacity:0;pointer-events:none;min-width:130px;padding:10px 16px;font-size:.8rem;transition:all .3s;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)translateY(8px)}.gf-tooltip strong{color:#ffe1ebf2;font-family:var(--ff-display);font-size:1rem;font-weight:500;display:block}.gf-tooltip span{color:#b4829bb3;font-weight:200}.garden-flower:hover .gf-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.gf1 .gf-stem{height:80px}.gf2 .gf-stem{height:65px}.gf3 .gf-stem{height:90px}.gf4 .gf-stem{height:70px}.gf5 .gf-stem{height:55px}.gf6 .gf-stem{height:75px}.gf7 .gf-stem{height:85px}.garden-note{font-family:var(--ff-script);color:#b4829bb3;opacity:.8;z-index:2;margin-top:30px;font-size:1rem;position:relative}#memories{padding:80px 20px}.gallery-grid{z-index:2;grid-template-columns:repeat(2,1fr);gap:20px;max-width:900px;margin:0 auto;display:grid;position:relative}.gallery-card{cursor:pointer;grid-template-rows:1fr auto;min-height:220px;transition:transform .4s,box-shadow .4s;background:#ffffff0f!important;border-color:#ff96b426!important;padding:0!important;display:grid!important;position:relative!important;overflow:hidden!important;box-shadow:0 6px 35px #00000080,inset 0 1px #ffc8dc14!important}.gallery-card:hover{z-index:10;transform:scale(1.04)rotate(0)!important;box-shadow:0 20px 60px #dc82a033!important}.gc1{border-radius:24px 24px 12px}.gc2{border-radius:24px 24px 24px 12px}.gc3{border-radius:12px 24px 24px}.gc4{border-radius:24px 12px 24px 24px}.gallery-img{object-fit:cover;border-radius:inherit;grid-row:1;width:100%;height:100%;min-height:200px;display:block}.gallery-card .gallery-caption{font-family:var(--ff-script);text-align:center;background:#00000073;grid-row:2;padding:10px 16px;font-size:1rem;color:#ffe1ebf2!important;position:relative!important;bottom:auto!important}.gallery-placeholder{background:linear-gradient(135deg,#460f2380,#28081973);flex-direction:column;flex:1;grid-row:1;justify-content:center;align-items:center;gap:10px;display:flex}.gp-icon{font-size:2.8rem}.gallery-placeholder p{color:#b4829bb3;font-size:.85rem;font-weight:300}#finale{min-height:80vh;padding:100px 20px;display:block;position:relative;overflow:hidden;background:0 0!important}.finale-inner{z-index:2;text-align:center;box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:700px;margin-left:auto;margin-right:auto;padding:0 20px;display:flex;position:relative}.finale-flowers{justify-content:center;gap:14px;margin-bottom:30px;font-size:2.5rem;display:flex}.ff{animation:float-flower 3s ease-in-out infinite;display:inline-block}.ff.delay1{animation-delay:.3s}.ff.delay2{animation-delay:.6s}.ff.delay3{animation-delay:.9s}.ff.delay4{animation-delay:1.2s}.finale-eyebrow{font-family:var(--ff-script);color:#ffa0bed9;opacity:.85;text-align:center;margin-bottom:16px;font-size:1.2rem;display:block}.finale-title{font-family:var(--ff-display);color:var(--white);text-align:center;margin-bottom:30px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;line-height:1.15}.finale-title em{color:var(--rose-light);font-style:italic}.finale-body{color:#ffe6ebcc;letter-spacing:.02em;max-width:620px;margin:0 auto 40px;font-size:1.05rem;font-weight:200;line-height:1.9}.finale-heart{margin-bottom:30px}.heart-pulse{font-size:4rem;animation:heartbeat 1.5s ease-in-out infinite;display:inline-block}.finale-sig{color:#ffb6c1d9;font-size:1.4rem}.finale-sig,footer{font-family:var(--ff-script)}footer{text-align:center;color:#ffb6c199;z-index:15;border-top:1px solid #a0325a26;padding:30px 20px;font-size:1.1rem;position:relative;background:#08020cf2!important}#cp-toggle-btn{z-index:9999;cursor:pointer;-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);will-change:transform;-webkit-user-select:none;user-select:none;background:#14050fe0;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s,background .3s;animation:cp-toggle-float 5s ease-in-out infinite;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 8px 32px #0009,inset 0 0 0 1px #ff96b42e,0 0 20px #b4325a26}@keyframes cp-toggle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}#cp-toggle-btn:hover{background:#280a19f2;animation-play-state:paused;box-shadow:0 12px 40px #000000b3,inset 0 0 0 1px #ff96b44d,0 0 30px #c83c6440}#cp-toggle-btn:active{transform:scale(.93)}#cp-toggle-btn.cp-is-playing:after{content:"";border:1.5px solid #ff82aa66;border-radius:50%;animation:cp-ring-pulse 2.5s ease-out infinite;position:absolute;inset:-4px}@keyframes cp-ring-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}.cp-toggle-icon{color:#ffbed7e6;width:22px;height:22px;transition:transform .35s cubic-bezier(.23,1,.32,1),opacity .2s;position:absolute}.cp-toggle-icon.cp-icon-close{opacity:0;transform:rotate(-90deg)scale(.6)}#cp-toggle-btn.cp-panel-open .cp-icon-note{opacity:0;transform:rotate(90deg)scale(.6)}#cp-toggle-btn.cp-panel-open .cp-icon-close{opacity:1;transform:rotate(0)scale(1)}#cp-root{z-index:9998;-webkit-backdrop-filter:blur(28px)saturate(1.6);backdrop-filter:blur(28px)saturate(1.6);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:100% 100%;background:#08020ed9;border-radius:20px;width:230px;transition:opacity .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1);position:fixed;bottom:92px;right:28px;overflow:hidden;transform:translateY(20px)scale(.96);box-shadow:0 24px 64px #000000b3,inset 0 0 0 1px #ff96b424,0 0 40px #78143c1f}#cp-root.cp-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.cp-card{z-index:3;flex-direction:column;gap:12px;padding:18px 16px 16px}.cp-card,.cp-cover-wrap{align-items:center;display:flex;position:relative}.cp-cover-wrap{aspect-ratio:1;background:linear-gradient(135deg,#460f2380,#28081973);border-radius:12px;flex-shrink:0;justify-content:center;width:100%;font-size:4rem;overflow:hidden;box-shadow:0 8px 32px #0000008c,inset 0 0 0 1px #ff96b41a}.cp-body{flex-direction:column;gap:10px;width:100%;display:flex}.cp-info{text-align:center}.cp-title{font-family:var(--ff-display);color:#ffebf5f2;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;overflow:hidden}.cp-artist{font-family:var(--ff-body);color:#ffa0be80;letter-spacing:.08em;text-transform:uppercase;margin:2px 0 0;font-size:10px;font-weight:300}.cp-progress-wrap{width:100%}.cp-progress-track{background:#ff96b41f;border-radius:2px;height:3px;position:relative;overflow:visible}.cp-progress-fill{background:linear-gradient(90deg,var(--rose),var(--rose-light));border-radius:2px;width:0;height:100%;transition:width .3s linear}.cp-progress-dot{background:var(--rose-light);border-radius:50%;width:8px;height:8px;transition:left .3s linear;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);box-shadow:0 0 8px #ff96b499}.cp-times{color:#c896aa80;justify-content:space-between;margin-top:4px;font-size:9px;font-weight:300;display:flex}.cp-controls{justify-content:center;align-items:center;gap:16px;display:flex}.cp-btn{color:#ffbed7cc;cursor:pointer;background:0 0;border:none;padding:6px;transition:color .2s,transform .2s}.cp-btn:hover{color:var(--rose-light);transform:scale(1.1)}.cp-btn svg{width:22px;height:22px}.cp-play-btn svg{width:28px;height:28px}.cp-hidden{display:none!important}.cp-mini-btn{color:#ff96b480;cursor:pointer;z-index:10;background:0 0;border:none;padding:4px;transition:color .2s;position:absolute;top:8px;right:8px}.cp-mini-btn:hover{color:var(--rose-light)}.cp-mini-btn svg{width:16px;height:16px}#finale:after,#garden:after,#memories:after,#message:after,#reasons:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(100% 40% at 50% 100%,#500f281f 0,#0000 70%);position:absolute;inset:0}.recent-shoutouts-scroll{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:24px;padding:8px 4px 16px;display:flex;overflow-x:auto}.recent-shoutouts-scroll::-webkit-scrollbar{height:4px}.recent-shoutouts-scroll::-webkit-scrollbar-track{background:0 0}.recent-shoutouts-scroll::-webkit-scrollbar-thumb{background:#a0325a4d;border-radius:10px}.recent-shoutout-item{scroll-snap-align:start;flex:none;width:320px}.recent-shoutout-item>div{break-inside:auto!important;margin-bottom:0!important}.recent-scroll-btn{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:40px;height:40px;color:var(--rose);cursor:pointer;opacity:0;pointer-events:none;background:#0e0208cc;border:1px solid #ff96b433;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.recent-scroll-btn-visible{opacity:1;pointer-events:auto}.recent-scroll-btn:hover{background:var(--rose);color:#0e0208;border-color:var(--rose);box-shadow:0 0 20px #e8698a66}.recent-scroll-btn-left{left:-16px}.recent-scroll-btn-right{right:-16px}@media (max-width:768px){.recent-shoutout-item{width:280px}.recent-scroll-btn-left{left:4px}.recent-scroll-btn-right{right:4px}}#galaxy-shoutouts{padding:80px 0 60px;overflow:hidden}#galaxy-shoutouts .section-inner{margin-bottom:24px;padding:0 20px}.galaxy-hint{font-family:var(--ff-body);color:var(--text-muted);text-align:center;margin-top:-32px;margin-bottom:16px;font-size:.9rem;font-weight:300}.galaxy-canvas-wrap{position:relative;width:100%;aspect-ratio:16/9;min-height:300px;max-height:520px;height:auto;overflow:hidden;background:#000008}.galaxy-node-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.galaxy-mount{cursor:grab;touch-action:none;width:100%;height:100%}.galaxy-mount:active{cursor:grabbing}.galaxy-loading{color:var(--text-muted);font-family:var(--ff-body);z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.9rem;display:flex;position:absolute;inset:0}.galaxy-loading-spinner{border:2px solid #e8698a33;border-top:2px solid var(--rose);border-radius:50%;width:32px;height:32px;animation:spin-slow 1s linear infinite}.galaxy-node{cursor:pointer;flex-direction:column;align-items:center;gap:4px;transition:transform .2s;display:flex}.galaxy-node:hover{transform:scale(1.15)}.galaxy-node:hover .galaxy-node-initial{box-shadow:0 0 0 3px #e8698a99,0 0 20px #e8698a66}.galaxy-node-initial{width:52px;height:52px;font-family:var(--ff-display);color:#ffdcebf2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 35% 35%,#ffb4d259,#500028e6);border:2px solid #e8698a99;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;font-weight:600;transition:box-shadow .2s;display:flex;box-shadow:0 0 12px #e8698a4d,inset 0 1px #ffc8dc33}.galaxy-node-name{font-family:var(--ff-body);color:#ffc8e1d9;white-space:nowrap;letter-spacing:.04em;text-overflow:ellipsis;background:#00000899;border-radius:8px;max-width:80px;padding:2px 6px;font-size:.65rem;font-weight:300;overflow:hidden}.galaxy-node-icon{opacity:.7;font-size:.7rem}.galaxy-node[data-type=photo] .galaxy-node-initial{background:radial-gradient(circle at 35% 35%,#b496ff59,#280050e6);border-color:#9664ff99}.galaxy-node[data-type=video] .galaxy-node-initial{background:radial-gradient(circle at 35% 35%,#ffdc8c4d,#3c1e00e6);border-color:#f7c87399}@media (max-width:768px){.galaxy-node-initial{width:44px;height:44px;font-size:1.2rem}}.shoutout-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:fade-up .25s;display:flex;position:fixed;inset:0}.shoutout-modal-card{text-align:center;width:100%;max-width:480px;padding:48px 40px 40px;animation:fade-up .3s;position:relative}@media (max-width:520px){.shoutout-modal-card{padding:40px 24px 32px}}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.1rem;transition:color .2s;position:absolute;top:16px;right:20px}.modal-close:hover{color:var(--rose-light)}.modal-avatar{width:72px;height:72px;color:#ffdcebf2;background:radial-gradient(circle at 35% 35%,#ffb4d259,#500028e6);border:2px solid #e8698a80;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:2rem;display:flex;box-shadow:0 0 20px #e8698a4d}.modal-avatar,.modal-sender{font-family:var(--ff-display)}.modal-sender{color:var(--text-light);margin-bottom:4px;font-size:1.5rem;font-weight:400}.modal-timestamp{font-family:var(--ff-body);color:var(--text-muted);margin-bottom:28px;font-size:.75rem}.modal-message{font-family:var(--ff-body);color:var(--text-light);border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:20px 0;font-size:1rem;font-style:italic;font-weight:300;line-height:1.8}.modal-media-img{object-fit:cover;border:1px solid var(--glass-border);border-radius:12px;width:100%;max-height:360px}.modal-media-video{border-radius:12px;width:100%;max-height:300px}.modal-youtube-wrap{border-radius:12px;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.modal-youtube{border:none;width:100%;height:100%;position:absolute;inset:0}.modal-flower{opacity:.6;margin-top:20px;font-size:1.4rem}.view-toggle-wrap{justify-content:center;gap:8px;margin-bottom:28px;display:flex}.view-toggle-btn{font-family:var(--ff-body);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #e8698a40;border-radius:999px;padding:10px 22px;font-size:.85rem;font-weight:300;transition:all .2s}.view-toggle-btn:hover{color:var(--text-light);border-color:#e8698a80}.view-toggle-btn.active{color:var(--rose-light);background:#e8698a2e;border-color:#e8698a99}.type-filter-row{display:flex;justify-content:center;gap:8px;margin-top:16px;margin-bottom:28px;flex-wrap:wrap}.type-filter-btn{font-family:var(--ff-body);font-size:.8rem;font-weight:300;padding:7px 18px;border-radius:999px;border:1px solid rgba(232,105,138,.2);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s ease;letter-spacing:.03em}.type-filter-btn:hover{border-color:rgba(232,105,138,.45);color:var(--text-light)}.type-filter-btn.active{background:rgba(232,105,138,.15);border-color:rgba(232,105,138,.55);color:var(--rose-light)}.shoutouts-normal-wrap{max-width:1100px;margin:0 auto;padding:0 20px}.shoutouts-grid-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.shoutouts-grid-compact{grid-template-columns:repeat(3,1fr);max-width:1000px;margin:0 auto}@media (max-width:768px){.shoutouts-grid-cards,.shoutouts-grid-compact{grid-template-columns:1fr}.shoutouts-grid-compact{max-width:480px}}@media (min-width:769px) and (max-width:1024px){.shoutouts-grid-compact{grid-template-columns:repeat(2,1fr)}}.shoutouts-grid-cards .glass{margin-bottom:0}.shoutouts-grid-skeleton{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.skeleton-card{border-radius:16px;height:180px;animation:pulse-glass 1.5s ease-in-out infinite}@keyframes pulse-glass{0%,to{opacity:.4}50%{opacity:.7}}.shoutouts-grid-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.shoutouts-grid-empty-icon{font-size:3.5rem;animation:bounce 2s infinite}.shoutouts-grid-empty p{font-family:var(--ff-display);color:var(--text-light);margin-top:16px;font-size:1.2rem}.shoutouts-grid-loadmore{text-align:center;margin-top:32px}.shoutouts-grid-loadmore-btn{font-family:var(--ff-body);color:var(--rose-light);cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #e8698a59;border-radius:999px;padding:12px 32px;font-size:.9rem;font-weight:300;transition:all .2s}.shoutouts-grid-loadmore-btn:hover{background:#e8698a1f;border-color:#e8698a99}.shoutouts-grid-loadmore-btn:disabled{opacity:.5;cursor:not-allowed}.shoutouts-grid-see-all{text-align:center;margin-top:24px}#recent-shoutouts{padding:60px 20px 40px}#recent-shoutouts .section-inner{margin-bottom:32px}.recent-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto;display:grid}@media (max-width:768px){.recent-grid{grid-template-columns:1fr;max-width:480px}}@media (min-width:769px) and (max-width:1024px){.recent-grid{grid-template-columns:repeat(2,1fr)}}.recent-grid .glass{margin-bottom:0}.recent-cta{text-align:center;margin-top:32px}.recent-cta-link{font-family:var(--ff-body);color:var(--rose-light);letter-spacing:.04em;opacity:.8;border-bottom:1px solid #e8698a4d;padding-bottom:2px;font-size:.9rem;font-weight:300;text-decoration:none;transition:opacity .2s}.recent-cta-link:hover{opacity:1;border-color:var(--rose-light)}.shoutout-card--compact{padding:20px}.shoutout-card--compact .card-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shoutout-card--compact .card-media{height:140px}.galaxy-node-pfp,.modal-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.shoutout-card-content{max-height:120px;transition:max-height .4s cubic-bezier(.23,1,.32,1);overflow:hidden}.shoutout-card-content--expanded{max-height:2000px}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (max-width:700px){.message-card{padding:40px 24px}.gallery-grid{grid-template-columns:1fr}.flower-garden{gap:12px}.gf-bloom{font-size:2.5rem}#gift-box{width:130px;height:130px}.gift-lid{width:146px}.reasons-grid{grid-template-columns:1fr}.finale-flowers{gap:10px;font-size:2rem}}@media (max-width:480px){section{padding:70px 16px}.hero-title{font-size:2.6rem}.section-title{font-size:2rem}}.envelope-card{background:#ffffff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.12);cursor:pointer;overflow:visible;transition:transform .2s ease,box-shadow .2s ease;position:relative}.envelope-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(0,0,0,.18)}.envelope-flap{width:100%;height:60px;background:rgba(232,105,138,.22);clip-path:polygon(0 0,100% 0,50% 100%);position:relative;border-radius:16px 16px 0 0}.flap-heart{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:28px;color:#c0392b;line-height:1;pointer-events:none;z-index:2;user-select:none}.envelope-body{padding:28px 20px 20px}.envelope-sender{font-family:var(--ff-script);font-size:1.8rem;color:#8B1A1A;margin-bottom:-6px;font-style:italic;line-height:1}.envelope-divider{border:none;border-top:1px solid rgba(139,26,26,.2);margin:0 0 10px}.envelope-preview{font-style:italic;font-size:.9rem;color:#2c1a0e;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.envelope-inner{overflow:hidden;border-radius:0 0 16px 16px;background:#ffffff}.letter-modal-overlay{inset:0;background:rgba(0,0,0,.75);z-index:1000;padding:20px;animation:fade-up .2s ease}.letter-modal-close,.letter-modal-overlay{position:fixed;display:flex;align-items:center;justify-content:center}.letter-modal-close{top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.6);border:none;color:#ffffff;font-size:1.1rem;cursor:pointer;z-index:1001;transition:background .2s}.letter-modal-close:hover{background:rgba(0,0,0,.85)}.letter-card{background:#fdf8f5;border-radius:12px;max-width:600px;width:90vw;padding:40px 44px 48px;box-shadow:0 20px 60px rgba(0,0,0,.4);position:relative;max-height:90vh;overflow-y:auto;animation:fade-up .3s ease}@media (max-width:520px){.letter-card{padding:32px 24px 40px}}.letter-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.letter-date-block{flex:1}.letter-date{font-family:var(--ff-script);font-size:1.7rem;color:#8B1A1A;display:block;margin-bottom:-6px;line-height:1}.letter-date-line{position:relative;height:1px;background:rgba(139,26,26,.25);max-width:180px}.letter-date-line:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#c0392b;clip-path:polygon(50% 0,100% 35%,80% 100%,50% 75%,20% 100%,0 35%)}.letter-stamp{width:80px;height:80px;border:2px dashed #8b1a1a;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.letter-stamp img{width:100%;height:100%;object-fit:cover;display:block}.letter-stamp-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px}.letter-stamp-heart{font-size:24px;color:#8B1A1A;line-height:1}.letter-stamp-text{font-family:var(--ff-body);font-size:.6rem;font-weight:400;letter-spacing:.15em;color:#8B1A1A;text-transform:uppercase}.letter-body{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:1.05rem;line-height:2;color:#2c1a0e;background-image:repeating-linear-gradient(180deg,transparent,transparent 31px,rgba(139,26,26,.1) 0,rgba(139,26,26,.1) 32px);padding-top:4px;min-height:96px}.letter-media-img,.letter-media-video{width:100%;border-radius:8px;margin-top:20px;display:block}.letter-youtube-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;margin-top:20px}.letter-youtube-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.letter-rule{border:none;border-top:1px solid rgba(139,26,26,.2);margin:28px 0 20px}.letter-signature{text-align:right}.letter-signature-from{font-size:1.7rem;line-height:1;margin-bottom:-6px}.letter-signature-from,.letter-signature-name{font-family:var(--ff-script);color:#8B1A1A;display:block}.letter-signature-name{font-size:1.8rem;font-weight:400;margin-top:0}.letter-ornament{position:absolute;color:rgba(139,26,26,.12);pointer-events:none}.letter-ornament-tl{top:12px;left:12px}.letter-ornament-bl{bottom:12px;left:12px;transform:scaleY(-1)}