/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--night:#120408;--wine:#280711;--wine-light:#4a0b1c;--rose:#df2549;--rose-deep:#75091f;--blush:#f3bdc5;--cream:#fff7ed;--gold:#e9bd74}*{box-sizing:border-box}html{background:var(--night);scroll-behavior:smooth}body{color:var(--cream);background:var(--night);overscroll-behavior-y:none;margin:0;font-family:Songti SC,STSong,Noto Serif SC,Georgia,serif}button{color:inherit;font:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.love-page{background:radial-gradient(circle at 72% 18%,#8a122d3b,#0000 30%),radial-gradient(circle at 14% 76%,#7609233d,#0000 32%),linear-gradient(145deg,#110307 0%,#280711 48%,#100306 100%);min-height:100vh;overflow:hidden}.particle-field{z-index:12;pointer-events:none;position:fixed;inset:0}.heart-rain{z-index:14;pointer-events:none;position:fixed;inset:-60px 0 0;overflow:hidden}.heart-rain span{left:var(--left);color:#ff5978;font-size:var(--size);text-shadow:0 0 12px #ff466bd9;animation:heart-fall 3.6s cubic-bezier(.25,.62,.45,.95) var(--delay) both;position:absolute;top:-40px}.heart-rain span:nth-child(4n){color:var(--gold)}.intro{z-index:10;isolation:isolate;background:linear-gradient(90deg,#0000 49.9%,#e9bd741a 50%,#0000 50.1%),radial-gradient(circle at 72% 39%,#c7183c33,#0000 28%),linear-gradient(135deg,#130408 0%,#330914 60%,#130408 100%);grid-template-columns:minmax(300px,.95fr) minmax(400px,1.05fr);align-items:center;gap:2vw;min-height:100svh;padding:clamp(38px,6.5vw,104px);transition:visibility 0s linear 1s,opacity .9s;display:grid;position:fixed;inset:0;overflow:hidden}.intro:before,.intro:after{content:"";z-index:-1;border:1px solid #e9bd7421;border-radius:50%;position:absolute}.intro:before{width:70vw;height:70vw;top:-35vw;right:-28vw}.intro:after{width:45vw;height:45vw;bottom:-28vw;left:-28vw}.intro-done{opacity:0;visibility:hidden;pointer-events:none}.skip-intro{z-index:4;color:#fff7ed80;letter-spacing:.15em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #fff3;min-width:70px;min-height:44px;padding:8px 4px;font-size:11px;position:absolute;top:26px;right:30px}.intro-copy{z-index:3;max-width:660px;transition:transform 1s,opacity .7s;position:relative}.eyebrow{color:var(--gold);letter-spacing:.45em;margin:0 0 20px;font:11px/1.5 ui-sans-serif,system-ui,sans-serif}.intro h1{letter-spacing:-.065em;margin:0;font-size:clamp(48px,6.5vw,96px);font-weight:400;line-height:1.02}.intro h1 em{color:var(--blush);font-style:normal;display:block}.intro-wish{color:#fff7ed9e;letter-spacing:.06em;max-width:500px;margin:28px 0 34px;font-size:clamp(14px,1.25vw,17px);line-height:1.95}.firework-hint{color:#fff7ed59;letter-spacing:.12em;margin:13px 0 0 10px;font:9px ui-sans-serif,system-ui,sans-serif}.receive-button{color:#260912;background:var(--gold);letter-spacing:.08em;cursor:pointer;border:1px solid #ffefd273;border-radius:999px;justify-content:space-between;align-items:center;width:224px;min-height:52px;padding:15px 18px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 40px #0000003d}.receive-button:before{content:"";background:linear-gradient(105deg,#0000 25%,#fff9 50%,#0000 75%);transition:transform .65s;position:absolute;inset:0;transform:translate(-120%)}.receive-button:hover{transform:translateY(-3px);box-shadow:0 18px 48px #00000059}.receive-button:hover:before{transform:translate(120%)}.receive-button span{z-index:1;position:relative}.gift-bouquet{z-index:2;aspect-ratio:.84;perspective:1000px;width:min(42vw,590px);transform-style:preserve-3d;filter:drop-shadow(0 45px 42px #00000094);justify-self:center;transition:transform 1.2s cubic-bezier(.2,.76,.2,1),filter 1.2s,opacity .8s;animation:5s ease-in-out infinite bouquet-breathe;position:relative;transform:translateY(2%)rotate(3deg)rotateY(-4deg)}.bouquet-aura{z-index:-1;transform-style:preserve-3d;pointer-events:none;position:absolute;inset:-8% -12% 19%}.bouquet-aura i{border:1px solid #e9bd743d;border-radius:50%;animation:12s linear infinite aura-spin;position:absolute;inset:8%;box-shadow:inset 0 0 30px #e730531a,0 0 24px #e7305314}.bouquet-aura i:nth-child(2){border-style:dashed;border-color:#f4bec638;animation-duration:9s;animation-direction:reverse;inset:19%}.bouquet-aura i:nth-child(3){border-color:#ffffff21;animation-duration:7s;inset:31%}.orbit-star{color:var(--gold);text-shadow:0 0 14px var(--gold);animation:1.8s ease-in-out infinite alternate star-pulse;position:absolute}.orbit-star-one{font-size:20px;top:24%;left:9%}.orbit-star-two{font-size:28px;animation-delay:.5s;top:42%;right:8%}.orbit-star-three{font-size:15px;animation-delay:1s;bottom:7%;left:27%}.bouquet-flowers{transform-style:preserve-3d;z-index:5;position:absolute;inset:0 0 30%}.rose-3d{--rose-size:clamp(45px, 6.2vw, 84px);left:var(--x);top:var(--y);width:var(--rose-size);height:var(--rose-size);transform-style:preserve-3d;transform:translate(-50%, -50%) translateZ(var(--depth)) scale(0) rotateZ(var(--turn));animation:.95s cubic-bezier(.2,.88,.25,1.35) forwards rose-bloom;animation-delay:var(--delay);position:absolute}.rose-3d:after{content:"";z-index:-2;background:#4f091a;border-radius:50%;position:absolute;inset:2%;box-shadow:0 8px 18px #00000080,inset 0 0 14px #e33252}.petal{transform-origin:50% 82%;backface-visibility:visible;background:radial-gradient(circle at 35% 20%,#ff7184 0,#d71e43 38%,#8f0d28 76%,#5c0619 100%);border-radius:56% 44% 58% 42%/68% 62% 38% 32%;width:48%;height:60%;margin:-30% 0 0 -24%;position:absolute;top:50%;left:50%;box-shadow:inset 4px 3px 8px #ff959e3d,inset -5px -6px 8px #3b000d4d,0 2px 5px #32000d4d}.petal-1{transform:rotate(0)rotateX(60deg)translateY(-22%)}.petal-2{transform:rotate(60deg)rotateX(62deg)translateY(-21%)}.petal-3{transform:rotate(120deg)rotateX(58deg)translateY(-23%)}.petal-4{transform:rotate(180deg)rotateX(64deg)translateY(-20%)}.petal-5{transform:rotate(240deg)rotateX(59deg)translateY(-22%)}.petal-6{transform:rotate(300deg)rotateX(63deg)translateY(-21%)}.petal-7{background:linear-gradient(145deg,#eb3152,#73071f);width:33%;height:48%;margin:-24% 0 0 -16.5%;transform:rotate(28deg)rotateX(42deg)translateZ(9px)}.petal-8{background:linear-gradient(145deg,#cb153a,#5a0619);width:29%;height:44%;margin:-22% 0 0 -14.5%;transform:rotate(-36deg)rotateX(38deg)translateZ(13px)}.rose-heart{z-index:4;background:#4f0313;border-radius:60% 40%;width:17%;height:20%;position:absolute;top:38%;left:42%;transform:translateZ(20px)rotate(28deg);box-shadow:0 0 9px #ff5069b3}.bouquet-stems{z-index:1;width:53%;height:47%;transform-style:preserve-3d;position:absolute;top:51%;left:24%}.bouquet-stems i{transform-origin:top;background:linear-gradient(90deg,#112816,#47723f,#193a23);border-radius:100%;width:4px;height:100%;position:absolute;top:0;left:50%}.bouquet-stems i:first-child{transform:rotate(17deg)}.bouquet-stems i:nth-child(2){transform:rotate(-17deg)}.bouquet-stems i:nth-child(3){transform:rotate(11deg)}.bouquet-stems i:nth-child(4){transform:rotate(-10deg)}.bouquet-stems i:nth-child(5){transform:rotate(6deg)}.bouquet-stems i:nth-child(6){transform:rotate(-5deg)}.bouquet-stems i:nth-child(7){transform:rotate(22deg)}.bouquet-stems i:nth-child(8){transform:rotate(-23deg)}.bouquet-stems i:nth-child(9){transform:rotate(2deg)}.bouquet-stems i:nth-child(10){transform:rotate(14deg)}.bouquet-stems i:nth-child(11){transform:rotate(-13deg)}.bouquet-paper{z-index:2;background:linear-gradient(140deg,#ffecd1f5,#ad7350f0);width:52%;height:45%;position:absolute;bottom:0;box-shadow:inset 0 0 25px #703a2b4d}.paper-left{clip-path:polygon(0 0,100% 24%,79% 100%,38% 92%);left:14%;transform:rotate(2deg)}.paper-right{clip-path:polygon(0 18%,100% 0,67% 92%,25% 100%);background:linear-gradient(220deg,#eccfa9,#a16b4f);right:13%;transform:rotate(-3deg)}.bouquet-ribbon{z-index:7;background:linear-gradient(90deg,#6b0a22,#a91838 50%,#60081e);place-items:center;width:35%;height:11%;display:grid;position:absolute;bottom:16%;left:35%;transform:rotate(-4deg);box-shadow:0 7px 15px #00000052}.bouquet-ribbon:before,.bouquet-ribbon:after{content:"";clip-path:polygon(0 0,100% 0,74% 100%,46% 72%,18% 100%);background:#740b25;width:44%;height:170%;position:absolute;bottom:-140%}.bouquet-ribbon:before{left:10%;transform:rotate(12deg)}.bouquet-ribbon:after{right:9%;transform:rotate(-15deg)}.bouquet-ribbon span{z-index:1;color:#efc2b9;letter-spacing:.08em;font:italic clamp(12px,1.4vw,18px) Georgia,serif}.opening-message{z-index:7;opacity:0;color:#fff6e9;letter-spacing:.13em;white-space:nowrap;text-shadow:0 5px 24px #1d0008,0 0 35px #ff4d7073;margin:0;font-size:clamp(22px,3.5vw,52px);position:absolute;top:47%;left:50%;transform:translate(-50%,20px)scale(.94)}.opening-message strong{color:var(--gold);font-weight:400}.intro-opening .gift-bouquet{animation:2.85s cubic-bezier(.2,.76,.2,1) forwards bouquet-launch}.intro-opening .intro-copy{animation:1s .38s forwards copy-depart}.intro-opening .opening-message{animation:2.1s .7s both message-reveal}.scroll-hint{color:#ffffff61;letter-spacing:.24em;align-items:center;gap:12px;font:9px ui-sans-serif,system-ui,sans-serif;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scroll-hint span{background:#ffffff4d;width:35px;height:1px}.memory-world{opacity:0;min-height:100vh;transition:opacity 1.1s .15s,transform 1.1s .15s;position:relative;transform:scale(.985)}.memory-world.is-visible{opacity:1;transform:none}.topline{z-index:3;color:#fff7ed70;letter-spacing:.28em;justify-content:space-between;align-items:center;padding:26px clamp(24px,5vw,74px);font:9px ui-sans-serif,system-ui,sans-serif;display:flex;position:absolute;top:0;left:0;right:0}.topline-heart{width:44px;height:44px;color:var(--rose);cursor:pointer;background:0 0;border:1px solid #df254933;border-radius:50%;padding:0;font-size:12px;animation:1.5s ease-in-out infinite tiny-heart}.gallery-section{height:120svh;min-height:820px;position:relative;overflow:clip}.gallery-section:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:88px 88px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}.gallery-sticky{grid-template-columns:minmax(300px,.86fr) minmax(520px,1.14fr);align-items:center;column-gap:clamp(8px,2vw,34px);min-height:100svh;padding:62px clamp(24px,5vw,74px) 34px;display:grid;position:sticky;top:0;overflow:hidden}.gallery-header{z-index:2;align-self:center;max-width:510px;position:relative}.gallery-header h2{letter-spacing:-.055em;margin:0;font-size:clamp(44px,5vw,74px);font-weight:400;line-height:1.08}.gallery-header h2 em{color:var(--blush);font-style:normal}.gallery-header>p:not(.eyebrow){color:#fff7ed80;letter-spacing:.08em;max-width:370px;margin:27px 0 0;font-size:14px;line-height:1.9}.firework-button{color:#fff7edbf;letter-spacing:.09em;cursor:pointer;background:#e9bd740f;border:1px solid #e9bd7445;border-radius:999px;align-items:center;gap:10px;min-height:46px;margin-top:26px;padding:12px 17px;font:11px ui-sans-serif,system-ui,sans-serif;transition:transform .25s,background .25s,border-color .25s;display:inline-flex}.firework-button span{color:var(--gold);text-shadow:0 0 12px var(--gold)}.firework-button:hover{background:#e9bd741f;border-color:#e9bd7494;transform:translateY(-2px)}.carousel-stage{--radius:var(--radius-desktop);z-index:2;perspective:1350px;perspective-origin:50% 45%;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;justify-self:center;width:min(52vw,735px);height:min(58vh,560px);position:relative}.carousel-stage:active{cursor:grabbing}.photo-ring{width:190px;height:280px;transform-style:preserve-3d;will-change:transform;margin:-140px 0 0 -95px;transition:transform .12s cubic-bezier(.22,.72,.2,1);position:absolute;top:47%;left:50%}.carousel-stage:active .photo-ring{transition:none}.photo-card{transform:rotateY(var(--angle)) translateZ(var(--radius));transform-style:preserve-3d;backface-visibility:hidden;cursor:pointer;background:#21070e;border:1px solid #ffffff36;padding:0;transition:border-color .3s,filter .3s;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 22px 45px #00000080}.photo-card:after{content:"";pointer-events:none;background:linear-gradient(#0000 65%,#0c000494);position:absolute;inset:0}.photo-card:hover,.photo-card.is-active{filter:brightness(1.09)saturate(1.04);border-color:#e9bd74eb;box-shadow:0 22px 55px #00000094,0 0 0 1px #e9bd744d,0 0 36px #df25492b}.photo-card img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.photo-card span{z-index:2;color:#ffffffbf;letter-spacing:.2em;font:9px ui-sans-serif,system-ui,sans-serif;position:absolute;bottom:11px;left:13px}.carousel-glow{filter:blur(65px);background:#ad113338;border-radius:50%;width:60%;height:35%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scroll-orbit{z-index:4;color:#fff7ed61;letter-spacing:.2em;white-space:nowrap;align-items:center;gap:12px;font:9px ui-sans-serif,system-ui,sans-serif;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.scroll-orbit-label{color:var(--gold);opacity:.76}.scroll-orbit i{background:#ffffff24;width:112px;height:1px;display:block;overflow:hidden}.scroll-orbit i b{transform-origin:0;background:linear-gradient(90deg, var(--rose), var(--gold));width:100%;height:100%;transition:transform .18s ease-out;display:block;box-shadow:0 0 12px #e9bd74b3}.gallery-controls{z-index:4;align-items:center;gap:18px;display:flex;position:absolute;bottom:52px;right:clamp(24px,8vw,120px)}.gallery-controls button{width:45px;height:45px;color:var(--gold);cursor:pointer;background:#19040a99;border:1px solid #e9bd7452;border-radius:50%;padding:0;transition:background .25s,transform .25s}.gallery-controls button:hover{background:#e9bd7429;transform:scale(1.07)}.counter{color:#ffffff61;align-items:center;gap:9px;font:10px ui-sans-serif,system-ui,sans-serif;display:flex}.counter strong{color:var(--cream);font-size:14px;font-weight:400}.counter i{background:#ffffff38;width:36px;height:1px;display:block}.interaction-tip{z-index:3;color:#ffffff40;letter-spacing:.16em;margin:0;font:9px ui-sans-serif,system-ui,sans-serif;position:absolute;bottom:34px;left:clamp(24px,5vw,74px)}.love-note{text-align:center;background:radial-gradient(circle,#9c14313b,#0000 34%);flex-direction:column;justify-content:center;align-items:center;min-height:72vh;padding:90px 24px;display:flex;position:relative}.love-note:before{content:"♥";color:var(--rose);font-size:19px;position:absolute;top:8%}.love-note>p{color:var(--gold);letter-spacing:.45em;margin:0 0 30px;font:10px ui-sans-serif,system-ui,sans-serif}.love-note blockquote{letter-spacing:-.04em;margin:0;font-size:clamp(32px,5vw,66px);font-weight:400;line-height:1.42}.love-note>span{color:#fff7ed7a;letter-spacing:.16em;margin-top:34px;font-size:14px}.love-meter-wrap{flex-direction:column;align-items:center;gap:10px;width:min(440px,88vw);margin-top:40px;display:flex}.love-meter{width:100%;height:55px;color:var(--cream);letter-spacing:.08em;cursor:pointer;isolation:isolate;background:#0f02078c;border:1px solid #e9bd7457;border-radius:999px;justify-content:space-between;align-items:center;padding:0 18px;font:12px ui-sans-serif,system-ui,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #ffffff06}.love-meter-fill{z-index:-1;width:var(--love);border-radius:inherit;background:linear-gradient(90deg,#8e0b2a,#e82f54);transition:width .55s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0;box-shadow:0 0 30px #e82f5473}.love-meter b{color:var(--gold);font-size:16px;animation:1.2s ease-in-out infinite tiny-heart}.love-meter-wrap small{color:#ffffff47;letter-spacing:.11em;font:9px ui-sans-serif,system-ui,sans-serif}.secret-wish{text-shadow:0 0 18px #e9bd7459;animation:.7s cubic-bezier(.2,.8,.2,1) both secret-reveal;color:var(--gold)!important;letter-spacing:.16em!important;margin:22px 0 -12px!important;font:13px/1.6 ui-sans-serif,system-ui,sans-serif!important}footer{color:#ffffff40;letter-spacing:.28em;border-top:1px solid #ffffff0f;justify-content:center;align-items:center;gap:15px;padding:28px;font:9px ui-sans-serif,system-ui,sans-serif;display:flex}footer span{color:var(--gold);font:17px Georgia,serif}.lightbox{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#090104e6;place-items:center;padding:40px 80px;animation:.35s both lightbox-in;display:grid;position:fixed;inset:0}.lightbox-backdrop{z-index:0;cursor:zoom-out;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.lightbox figure{z-index:1;flex-direction:column;align-items:center;max-width:min(84vw,1080px);max-height:88vh;margin:0;display:flex;position:relative}.lightbox figure img{object-fit:contain;max-width:100%;max-height:78vh;display:block;box-shadow:0 35px 70px #0000008c}.lightbox figcaption{color:#fff7ed8c;letter-spacing:.12em;gap:28px;margin-top:18px;font-size:12px;display:flex}.lightbox figcaption span{color:var(--gold);font-family:ui-sans-serif,system-ui,sans-serif}.lightbox-close{z-index:2;cursor:pointer;background:#0f020761;border:1px solid #fff3;border-radius:50%;width:44px;height:44px;font:25px/1 ui-sans-serif,system-ui,sans-serif;position:absolute;top:24px;right:30px}.lightbox-arrow{z-index:2;width:48px;height:48px;color:var(--gold);cursor:pointer;background:#28050e80;border:1px solid #e9bd744d;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:24px}.lightbox-next{right:24px}@keyframes rose-bloom{0%{transform:translate(-50%,-50%) translateZ(var(--depth)) scale(0) rotateZ(calc(var(--turn) - 25deg))}72%{transform:translate(-50%,-50%) translateZ(var(--depth)) scale(calc(var(--scale) * 1.08)) rotateZ(var(--turn))}to{transform:translate(-50%,-50%) translateZ(var(--depth)) scale(var(--scale)) rotateZ(var(--turn))}}@keyframes bouquet-breathe{0%,to{transform:translateY(2%)rotate(3deg)rotateY(-4deg)}50%{transform:translateY(-1%)rotate(1deg)rotateY(3deg)}}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes aura-spin{to{transform:rotate(360deg)rotateX(8deg)}}@keyframes star-pulse{0%{opacity:.35;transform:scale(.7)rotate(0)}to{opacity:1;transform:scale(1.25)rotate(35deg)}}@keyframes tiny-heart{0%,to{transform:scale(.9)}50%{transform:scale(1.13)}}@keyframes heart-fall{0%{opacity:0;transform:translateY(-6vh)rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),108vh,0) rotate(460deg)}}@keyframes bouquet-launch{0%{opacity:1;filter:drop-shadow(0 45px 42px #00000094);transform:translateY(2%)rotate(3deg)rotateY(-4deg)scale(1)}28%{opacity:1;transform:translateY(-2%)rotate(-3deg)rotateY(8deg)scale(1.1)}58%{opacity:1;filter:drop-shadow(0 30px 65px #ff2b5280);transform:translateY(-5%)rotate(4deg)rotateY(-7deg)scale(.98)}to{opacity:0;filter:blur(8px)drop-shadow(0 60px 70px #ff2b5247);transform:translateY(-16%)rotate(13deg)scale(1.75)}}@keyframes copy-depart{to{opacity:0;transform:translate(-70px)}}@keyframes message-reveal{0%{opacity:0;transform:translate(-50%,24px)scale(.92)}24%,72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-20px)scale(1.04)}}@keyframes secret-reveal{0%{opacity:0;letter-spacing:.28em;transform:translateY(10px)}to{opacity:1;letter-spacing:.16em;transform:translateY(0)}}@media (width<=980px){.intro{text-align:center;grid-template-columns:1fr;align-content:start;justify-items:center;padding:66px 24px 24px}.intro-copy{max-width:630px}.intro h1{font-size:clamp(44px,10vw,75px)}.intro-wish{margin:20px auto 24px}.receive-button{margin-inline:auto}.gift-bouquet{width:min(73vw,460px);margin-top:10px}.gallery-section{height:122svh;min-height:820px}.gallery-sticky{text-align:center;grid-template-columns:1fr;align-content:start;padding-top:74px}.gallery-header{justify-self:center;max-width:680px}.gallery-header>p:not(.eyebrow){margin-inline:auto}.carousel-stage{--radius:var(--radius-tablet);width:94vw;height:min(55vh,530px);margin-top:14px}.photo-ring{width:160px;height:235px;margin:-117px 0 0 -80px}.interaction-tip{display:none}.scroll-orbit{bottom:23px}}@media (width<=640px){.intro{padding:max(54px, env(safe-area-inset-top)) 18px 14px;overflow-y:auto}.skip-intro{top:max(8px, env(safe-area-inset-top));color:#fff7edad;right:14px}.eyebrow{letter-spacing:.34em;margin-bottom:14px}.intro h1{letter-spacing:-.055em;font-size:clamp(35px,10vw,42px);line-height:1.08}.intro h1 em{white-space:nowrap}.intro-wish{max-width:340px;margin:16px auto 18px;font-size:12.5px;line-height:1.7}.firework-hint{margin-top:9px}.gift-bouquet{width:min(76vw,310px);margin-top:-2px}.rose-3d{--rose-size:clamp(38px, 12.5vw, 56px)}.scroll-hint{display:none}.opening-message{font-size:25px}.topline{padding:22px 18px}.gallery-section{height:120svh;min-height:760px}.gallery-sticky{min-height:100svh;padding:max(58px, env(safe-area-inset-top)) 18px max(52px, env(safe-area-inset-bottom))}.gallery-header h2{font-size:clamp(37px,11vw,50px)}.gallery-header>p:not(.eyebrow){margin-top:18px;font-size:12px}.carousel-stage{--radius:var(--radius-mobile);width:100vw;height:43vh;min-height:300px;margin-top:0}.photo-ring{width:135px;height:200px;margin:-100px 0 0 -67.5px;top:48%}.gallery-controls{bottom:27px;left:50%;right:auto;transform:translate(-50%)}.gallery-controls button{width:41px;height:41px}.scroll-orbit{letter-spacing:.12em;gap:8px;font-size:8px;bottom:79px}.scroll-orbit i{width:72px}.love-note{min-height:66vh}.love-note blockquote{font-size:clamp(30px,9vw,43px)}.lightbox{padding:55px 15px 90px}.lightbox-arrow{top:auto;bottom:25px}.lightbox-prev{left:calc(50% - 62px)}.lightbox-next{right:calc(50% - 62px)}.lightbox figcaption{text-align:center;flex-direction:column;gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.gallery-section{height:105svh;min-height:720px}.photo-ring{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
