/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--background:#dff4ff;--foreground:#1c3251;--paper:#ff6f9f;--paper-deep:#ee477f;--gold:#ffd166;--cream:#fffaf1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans), sans-serif;margin:0}button{font:inherit}.gift-scene{isolation:isolate;background:radial-gradient(circle at 50% 38%,#fffffff5,#fff0 32%),linear-gradient(155deg,#c8edff 0%,#e8f8ff 52%,#ffe8f0 100%);place-items:center;min-height:100svh;padding:3rem 1.25rem;display:grid;position:relative;overflow:hidden}.gift-scene:before{content:"";opacity:.2;z-index:-1;background-image:radial-gradient(#ffffffe6 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.glow{aspect-ratio:1;filter:blur(60px);opacity:.36;z-index:-1;border-radius:50%;width:26rem;position:absolute}.glow-one{background:#7dd8ff;top:-12rem;left:-10rem}.glow-two{background:#ff9cbc;bottom:-13rem;right:-12rem}.gift-stage{aspect-ratio:.78;filter:drop-shadow(0 1.8rem 2rem #3257823d);border-radius:2rem;width:min(78vw,25rem);animation:3s ease-in-out infinite gift-float;position:relative}.photo-frame,.paper{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.photo-frame{opacity:0;background:#fff;padding:.65rem;transition:transform .75s cubic-bezier(.2,1.4,.4,1),opacity .3s .25s;transform:scale(.88)rotate(-2deg)}.photo-frame img{object-fit:cover;border-radius:1.5rem;width:100%;height:100%;display:block}.paper{background:linear-gradient(135deg, #ffffff40, transparent 42%), repeating-linear-gradient(45deg, transparent 0 20px, #ffffff1f 20px 22px), var(--paper);border:1px solid #ffffff80;transition:transform .9s cubic-bezier(.75,-.05,.24,1),opacity .65s .2s}.paper-left{clip-path:inset(0 50% 0 0 round 2rem);transform-origin:0}.paper-right{clip-path:inset(0 0 0 50% round 2rem);transform-origin:100%}.ribbon{z-index:3;background:linear-gradient(90deg, #e5a829, var(--gold), #fff0a6, var(--gold));transition:transform .7s,opacity .45s .15s;position:absolute;box-shadow:0 .2rem .65rem #784c0033}.ribbon-vertical{width:3.7rem;top:0;bottom:0;left:calc(50% - 1.85rem)}.ribbon-horizontal{background:linear-gradient(#e5a829, var(--gold), #fff0a6, var(--gold));height:3.7rem;top:calc(50% - 1.85rem);left:0;right:0}.bow{z-index:4;width:9rem;height:5rem;transition:transform .65s cubic-bezier(.5,0,.9,.5),opacity .3s .18s;position:absolute;top:50%;left:50%;translate:-50% -50%}.bow span{border:1.05rem solid var(--gold);border-radius:55% 45% 52% 48%;width:4.6rem;height:3.4rem;position:absolute;top:.8rem}.bow span:first-child{left:0;rotate:12deg}.bow span:nth-child(2){right:0;rotate:-12deg}.bow b{background:#ffe18a;border-radius:50%;width:2.8rem;height:2.8rem;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:inset 0 -.35rem .5rem #9f61002e}.open-gift{z-index:5;color:#762343;cursor:pointer;background:#ffffffeb;border:1px solid #ffffffbf;border-radius:999px;min-width:9.5rem;padding:.78rem 1.35rem;transition:transform .2s,box-shadow .2s,opacity .3s;position:absolute;bottom:1.45rem;left:50%;translate:-50%;box-shadow:0 .6rem 1.2rem #69193a2e}.open-gift:hover{transform:translateY(-3px);box-shadow:0 .85rem 1.5rem #69193a3b}.open-gift:focus-visible{outline-offset:4px;outline:3px solid #315b8a}.birthday-copy{text-align:center;opacity:0;pointer-events:none;transition:opacity .55s .65s,transform .65s .65s;position:absolute;inset:auto 1.25rem 4vh;transform:translateY(1.5rem)}.birthday-copy p{letter-spacing:.18em;text-transform:uppercase;color:#51709a;margin:0 0 .15rem;font-size:.75rem;font-weight:700}.birthday-copy h1{font-family:var(--font-display), serif;color:#c92f6b;text-wrap:balance;margin:0;font-size:clamp(2.25rem,7vw,5.25rem);line-height:.95}.birthday-copy a{color:#627795;pointer-events:auto;margin-top:.7rem;font-size:.85rem;text-decoration:none;display:inline-block}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:.15rem;width:.58rem;height:.95rem;position:absolute;top:43%}.is-open .paper-left{opacity:0;transform:translate(-120%)rotate(-13deg)}.is-open .paper-right{opacity:0;transform:translate(120%)rotate(13deg)}.is-open .ribbon-vertical{opacity:0;transform:translateY(-130%)rotate(7deg)}.is-open .ribbon-horizontal{opacity:0;transform:translate(120%)rotate(7deg)}.is-open .bow{opacity:0;transform:scale(1.7)rotate(30deg)}.is-open .open-gift{opacity:0;pointer-events:none}.is-open .photo-frame{opacity:1;transform:scale(1)rotate(1.5deg)translateY(-4.5vh)}.is-open .birthday-copy{opacity:1;transform:translateY(0)}.is-open .confetti i{animation-name:confetti-pop;animation-timing-function:cubic-bezier(.1,.65,.32,1);animation-fill-mode:forwards}.wishes-section{background:var(--cream);min-height:100svh;padding:clamp(5rem,10vw,9rem) max(1.25rem,50vw - 36rem);position:relative;overflow:hidden}.wishes-section:after{content:"";background:#ff84ae29;border-radius:50%;width:28rem;height:28rem;position:absolute;top:-10rem;right:-14rem}.section-heading{z-index:1;max-width:48rem;position:relative}.section-heading>span,.eyebrow{color:#c92f6b;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:800}.section-heading h2,.little-things h2,.final-wish h2{font-family:var(--font-display), serif;letter-spacing:-.035em;text-wrap:balance;font-weight:700}.section-heading h2{color:#263c5b;max-width:44rem;margin:.65rem 0 3.5rem;font-size:clamp(3rem,7vw,6.7rem);line-height:.9}.wish-cards{z-index:1;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid;position:relative}.wish-cards article{background:#ffffffb8;border:1px solid #263c5b1f;border-radius:1.6rem;flex-direction:column;justify-content:flex-end;min-height:19rem;padding:1.5rem;transition:transform .3s,background .3s;display:flex;box-shadow:0 1.2rem 3rem #43516b14}.wish-cards article:nth-child(2){background:#ffe6ef;transform:translateY(2.5rem)}.wish-cards article:hover{background:#fff;transform:translateY(-.5rem)}.wish-cards article:nth-child(2):hover{transform:translateY(2rem)}.wish-cards article>span{color:#c92f6b;margin-bottom:auto;font-size:.78rem;font-weight:800}.wish-cards h3{font-family:var(--font-display), serif;color:#263c5b;margin:0;font-size:2.5rem}.wish-cards p{color:#63728a;margin:.5rem 0 0;font-size:.93rem;line-height:1.65}.little-things{color:#fff;background:#213a5b;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(3rem,8vw,8rem);min-height:95svh;padding:clamp(5rem,10vw,9rem) max(1.25rem,50vw - 35rem);display:grid}.little-things h2{margin:.45rem 0 1rem;font-size:clamp(3.6rem,7vw,6.8rem);line-height:.88}.little-things-copy p{color:#bfd3ea;max-width:28rem;margin:0;line-height:1.8}.little-things ol{border-top:1px solid #ffffff2e;margin:0;padding:0;list-style:none}.little-things li{border-bottom:1px solid #ffffff2e;align-items:center;gap:1.35rem;padding:1.55rem 0;display:flex}.little-things li b{color:#ff8eb5;font-size:.75rem}.little-things li span{font-family:var(--font-display), serif;font-size:clamp(1.45rem,3vw,2.2rem)}.final-wish{text-align:center;background:linear-gradient(145deg,#f7cfe0,#d9f2ff 56%,#fff6d6);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:5rem 1.25rem 2rem;display:flex;position:relative;overflow:hidden}.final-wish>p{color:#8d5572;letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.final-wish h2{color:#b32d63;max-width:50rem;margin:.8rem 0 2rem;font-size:clamp(3.2rem,8vw,7rem);line-height:.88;transition:transform .45s}.final-wish button{color:#fff;cursor:pointer;background:#213a5b;border:0;border-radius:999px;padding:1rem 2.1rem;font-weight:800;transition:transform .2s,background .2s;box-shadow:0 .9rem 2rem #213a5b3b}.final-wish button:hover:not(:disabled){background:#c92f6b;transform:translateY(-3px)}.final-wish button:focus-visible{outline-offset:4px;outline:3px solid #fff}.final-wish button:disabled{cursor:default;opacity:.8}.final-wish footer{color:#627795;font-size:.83rem;position:absolute;bottom:2rem}.final-wish footer span{color:#d23870}.wish-sparkles{pointer-events:none;position:absolute;inset:0}.wish-sparkles i{opacity:0;background:#fff;border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:50%;left:50%}.wish-made h2{transform:scale(1.04)}.wish-made .wish-sparkles i{animation:1.8s ease-out forwards wish-sparkle}.wish-made .wish-sparkles i:nth-child(3n){background:#ff4f8b}.wish-made .wish-sparkles i:nth-child(3n+1){background:#ffd166}.wish-made .wish-sparkles i:first-child{--x:-39vw;--y:-30vh}.wish-made .wish-sparkles i:nth-child(2){--x:-22vw;--y:-39vh;animation-delay:80ms}.wish-made .wish-sparkles i:nth-child(3){--x:-5vw;--y:-31vh;animation-delay:.16s}.wish-made .wish-sparkles i:nth-child(4){--x:19vw;--y:-35vh;animation-delay:30ms}.wish-made .wish-sparkles i:nth-child(5){--x:38vw;--y:-24vh;animation-delay:.12s}.wish-made .wish-sparkles i:nth-child(6){--x:-43vw;--y:-5vh;animation-delay:.19s}.wish-made .wish-sparkles i:nth-child(7){--x:-28vw;--y:15vh;animation-delay:50ms}.wish-made .wish-sparkles i:nth-child(8){--x:-11vw;--y:34vh;animation-delay:.14s}.wish-made .wish-sparkles i:nth-child(9){--x:11vw;--y:30vh;animation-delay:.23s}.wish-made .wish-sparkles i:nth-child(10){--x:31vw;--y:18vh;animation-delay:90ms}.wish-made .wish-sparkles i:nth-child(11){--x:43vw;--y:1vh;animation-delay:.18s}.wish-made .wish-sparkles i:nth-child(12){--x:28vw;--y:-16vh;animation-delay:.26s}.wish-made .wish-sparkles i:nth-child(13){--x:-34vw;--y:31vh;animation-delay:.11s}.wish-made .wish-sparkles i:nth-child(14){--x:-17vw;--y:-19vh;animation-delay:.2s}.wish-made .wish-sparkles i:nth-child(15){--x:4vw;--y:-42vh;animation-delay:70ms}.wish-made .wish-sparkles i:nth-child(16){--x:17vw;--y:38vh;animation-delay:.16s}.wish-made .wish-sparkles i:nth-child(17){--x:39vw;--y:33vh;animation-delay:.25s}.wish-made .wish-sparkles i:nth-child(18){--x:-42vw;--y:14vh;animation-delay:.13s}@keyframes gift-float{0%,to{transform:translateY(0)rotate(-.3deg)}50%{transform:translateY(-.65rem)rotate(.3deg)}}@keyframes confetti-pop{0%{opacity:0;transform:translateY(0)scale(.3)}12%{opacity:1}to{opacity:0;transform:translateY(45vh)rotate(680deg)scale(1)}}@keyframes wish-sparkle{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(var(--x), var(--y)) scale(2.1)}}@media (max-height:720px){.gift-stage{width:min(54vh,21rem)}.birthday-copy{bottom:1.5vh}}@media (max-width:760px){.wishes-section{padding-bottom:7rem}.wish-cards{grid-template-columns:1fr}.wish-cards article{min-height:15rem}.wish-cards article:nth-child(2){transform:none}.wish-cards article:nth-child(2):hover{transform:translateY(-.5rem)}.little-things{grid-template-columns:1fr;align-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
