@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-ext-wght-normal-Bg62sWL9.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-wght-normal-BWCqVJN0.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-vietnamese-wght-normal-CDLFB6hb.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-ext-wght-normal-ltf1AbuM.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-wght-normal-CUoBjw-S.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--bg: #fbf6f0;--bg-deep: #f4ebde;--ink: #2b2420;--ink-muted: #6b5e55;--sage: #9cae96;--sage-deep: #7d9078;--peach: #e8c9b0;--serif: "Cormorant Garamond Variable", "Cormorant Garamond", Georgia, serif;--sans: "Inter Variable", "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth}body{font-family:var(--serif);color:var(--ink);background:radial-gradient(ellipse at 50% -10%,#fff8ed 0%,transparent 60%),radial-gradient(ellipse at 80% 110%,#f3e6d4 0%,transparent 55%),var(--bg);background-attachment:fixed;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}main{display:block}.hero{min-height:100svh;display:grid;place-items:center;padding:2rem 1.5rem;position:relative}.hero__inner{text-align:center;max-width:min(56ch,92vw);display:flex;flex-direction:column;align-items:center;gap:1.25rem;opacity:0;transform:translateY(12px);animation:hero-in 1.6s .2s cubic-bezier(.2,.7,.2,1) forwards}@keyframes hero-in{to{opacity:1;transform:translateY(0)}}.overline{font-family:var(--sans);font-weight:300;font-size:.78rem;letter-spacing:.36em;text-transform:uppercase;color:var(--ink-muted);margin:0}.hero__title{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(3rem,11vw,7.5rem);line-height:.95;letter-spacing:-.012em;margin:0}.hero__subtitle{font-family:var(--serif);font-weight:300;font-size:clamp(1.05rem,2.2vw,1.45rem);color:var(--ink-muted);margin:0}.hero__trigger{position:relative;margin-top:2.5rem;width:clamp(150px,24vw,188px);aspect-ratio:10 / 9;background:transparent;border:0;padding:0;cursor:pointer;display:grid;place-items:center;isolation:isolate;transition:transform .4s ease,opacity .5s ease}.hero__trigger:hover{opacity:.94}.hero__trigger:active{transform:scale(.96)}.hero__trigger:focus-visible{outline:1px solid var(--ink);outline-offset:10px;border-radius:12px}.hero__heart{position:absolute;inset:0;width:100%;height:100%;fill:var(--peach);stroke:var(--ink);stroke-width:.6;filter:drop-shadow(0 6px 14px rgba(43,36,32,.16));transform-origin:50% 55%;animation:heartbeat 1.6s ease-in-out infinite;z-index:0}.hero__trigger-label{position:relative;z-index:1;font-family:var(--sans);font-weight:400;letter-spacing:.32em;text-transform:uppercase;font-size:clamp(.7rem,1.6vw,.82rem);color:var(--ink);transform:translateY(-6%);pointer-events:none}@keyframes heartbeat{0%,60%,to{transform:scale(1)}10%{transform:scale(1.07)}20%{transform:scale(1)}30%{transform:scale(1.05)}40%{transform:scale(1)}}.bloom{position:relative;height:240vh}.bloom__sticky{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}.bloom__stage{width:min(92vw,640px);aspect-ratio:1 / 1;display:grid;place-items:center;will-change:transform,opacity}.tulip{display:block;overflow:visible}.tulip__petal,.tulip__leaf{transform-box:fill-box}.messages{display:flex;flex-direction:column}.message{min-height:80svh;display:grid;place-items:center;padding:4rem 1.5rem;position:relative}.message__text{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.55rem,4.4vw,2.65rem);line-height:1.32;text-align:center;max-width:min(28ch,92vw);margin:0;color:var(--ink);opacity:0;transform:translateY(40px);will-change:opacity,transform}.message__text.is-visible{opacity:1;transform:translateY(0);transition:opacity 1.6s ease-out,transform 1.6s ease-out}.message__rule{position:absolute;bottom:0;left:50%;width:1px;height:56px;background:var(--peach);transform:translate(-50%) scaleY(0);transform-origin:top;opacity:.6}.message__rule.is-visible{transform:translate(-50%) scaleY(1);transition:transform 1.4s .4s ease-out}.closing{min-height:100svh;display:grid;place-items:center;padding:4rem 1.5rem 6rem}.closing__inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2.25rem;max-width:38ch}.closing__line{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.35rem,3vw,1.95rem);color:var(--ink);margin:0;opacity:0;transform:translateY(20px);transition:opacity 1.6s ease-out,transform 1.6s ease-out}.closing__line.is-visible{opacity:1;transform:translateY(0)}.closing__glyph{width:36px;height:36px;color:var(--sage-deep);opacity:0;transform:translateY(8px);transition:opacity 1.4s .3s ease-out,transform 1.4s .3s ease-out}.closing__glyph.is-visible{opacity:1;transform:translateY(0)}.closing__signature{font-family:var(--sans);font-weight:300;letter-spacing:.22em;font-size:.78rem;color:var(--ink-muted);margin:0;text-transform:uppercase;opacity:0;transition:opacity 1.4s .6s ease-out}.closing__signature.is-visible{opacity:1}@media (prefers-reduced-motion: reduce){.hero__heart,.hero__inner{animation:none!important}.hero__inner{opacity:1;transform:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.4s!important;scroll-behavior:auto!important}}
