.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{opacity:0;z-index:var(--yarl__portal_zindex,9999);transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);pointer-events:auto;position:fixed;inset:0;overflow:hidden}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));-webkit-user-select:none;user-select:none;touch-action:var(--yarl__controller_touch_action,none);overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);outline:none;position:absolute;inset:0;overflow:hidden}.yarl__carousel{height:100%;width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px,0)*1px + var(--yarl__carousel_spacing_percent,0)*1%));transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));opacity:var(--yarl__pull_opacity,1);flex:none;place-content:center;align-items:stretch;display:flex}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%)}.yarl__flex_center{place-content:center;align-items:center;display:flex}.yarl__slide{padding:calc(var(--yarl__carousel_padding_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_padding_percent,0)*1%);flex:1;position:relative;overflow:hidden}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;max-height:100%}.yarl__slide_image_cover{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d;-webkit-transform:translateZ(0)}}.yarl__slide_placeholder{line-height:0;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,#fffc));animation:1s linear yarl__delayed_fadein}.yarl__slide_loading line{animation:1s linear infinite yarl__stroke_opacity}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{width:var(--yarl__slide_icon_error_size,48px);height:var(--yarl__slide_icon_error_size,48px);color:var(--yarl__slide_icon_error_color,red)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{padding:var(--yarl__toolbar_padding,8px);justify-content:flex-end;display:flex;position:absolute;inset:0 0 auto auto}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{width:var(--yarl__icon_size,32px);height:var(--yarl__icon_size,32px)}.yarl__button{cursor:pointer;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);margin:var(--yarl__button_margin,0);padding:var(--yarl__button_padding,8px);color:var(--yarl__color_button,#fffc);filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px #000c));-webkit-tap-highlight-color:transparent;outline:none;line-height:0}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,#fffc)}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,#fff6);cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%)rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%)rotate(180deg)}.yarl__no_scroll{overscroll-behavior:none;height:100%;overflow:hidden}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}
.yarl__slide_captions_container{left:var(--yarl__slide_captions_container_left,0);right:var(--yarl__slide_captions_container_right,0);padding:var(--yarl__slide_captions_container_padding,16px);background:var(--yarl__slide_captions_container_background,#00000080);position:absolute;-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width,0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);text-align:var(--yarl__slide_description_text_align,start);color:var(--yarl__slide_description_color,#fff);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.visible{visibility:visible}.block{display:block}.resize{resize:both}.scroll-smooth{scroll-behavior:smooth}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--cream:#fff5ec;--paper:#fffdfb;--blush:#ffdbd5;--rose:#bb565d;--rose-dark:#7d353b;--gold:#d19d59;--ink:#3b251f;--muted:#755d54;--line:#debcab;--serif:Georgia, "Times New Roman", serif;--sans:"Avenir Next", Avenir, "Segoe UI", sans-serif}@supports (color:lab(0% 0 0)){:root{--cream:lab(97.0737% 2.88358 6.12992);--paper:lab(99.4245% .915319 2.88098);--blush:lab(90.3248% 13.5022 8.30226);--rose:lab(49.894% 41.8437 16.8612);--rose-dark:lab(32.8125% 32.19 13.0161);--gold:lab(68.5842% 14.5245 42.6401);--ink:lab(17.3817% 9.73231 8.7701);--muted:lab(41.7793% 9.06381 9.28184);--line:lab(78.8964% 10.5069 13.1569)}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--rose)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in oklch, var(--rose) 55%, white)}}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px}.eyebrow{color:var(--rose);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0 0 .8rem;font-size:.76rem;font-weight:800;display:inline-flex}.hero{isolation:isolate;background:radial-gradient(circle at 15% 20%, #fffaf4 0 18%, transparent 45%), radial-gradient(circle at 85% 15%, var(--blush), transparent 38%), linear-gradient(160deg, var(--cream), #f5ddd9 120%);place-items:center;min-height:100svh;padding:4rem 1rem 7rem;display:grid;position:relative;overflow:hidden}.hero:after{content:"";z-index:-2;opacity:.23;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{text-align:center;width:min(100%,760px)}.hero h1,.section-heading h2,.login-card h1,.letter h2{font-family:var(--serif);letter-spacing:-.035em;font-weight:500}.hero h1{color:var(--rose-dark);text-wrap:balance;margin:0;font-size:clamp(3rem,13vw,6.6rem);line-height:.92}.hero-subtitle{max-width:590px;color:var(--muted);font-family:var(--serif);margin:1.4rem auto 2rem;font-size:clamp(1.05rem,3.5vw,1.3rem);line-height:1.65}.hero-orbit{z-index:-1;border:1px solid var(--rose);position:absolute}@supports (color:color-mix(in lab, red, red)){.hero-orbit{border:1px solid color-mix(in oklch, var(--rose) 18%, transparent)}}.hero-orbit{border-radius:50%}.hero-orbit-one{width:27rem;height:27rem;top:-13rem;right:-13rem}.hero-orbit-two{width:18rem;height:18rem;bottom:-10rem;left:-8rem}.counter{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 auto;display:grid}.counter-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff8c;border:1px solid #ffffffb3;border-radius:1.15rem;min-width:0;padding:.9rem .25rem;box-shadow:0 12px 40px #69413c14}.counter-card strong{color:var(--rose-dark);font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:clamp(1.55rem,7vw,2.7rem);display:block}.counter-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem;font-size:clamp(.57rem,2.5vw,.72rem);font-weight:800;display:block}.counter-caption{color:var(--muted);font-family:var(--serif);margin:.9rem 0 0;font-size:.92rem;font-style:italic}.scroll-cue{min-height:44px;color:var(--rose-dark);flex-direction:column;align-items:center;gap:.2rem;margin-top:2rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.scroll-cue svg{animation:1.8s ease-in-out infinite bob}.section{padding:5.5rem 1rem;position:relative}.section-heading{text-align:center;max-width:640px;margin:0 auto 3rem}.section-heading h2{color:var(--rose-dark);margin:0 0 .75rem;font-size:clamp(2.3rem,9vw,4rem);line-height:1}.section-heading>p:last-child{color:var(--muted);margin:0;line-height:1.7}.story-section{background:#fffaf4}.timeline{max-width:720px;margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(var(--rose), var(--gold));opacity:.45;width:1px;position:absolute;top:1rem;bottom:1rem;left:1rem}.timeline-item{padding:0 0 2.2rem 3rem;position:relative}.timeline-dot{z-index:1;background:var(--rose);color:#fff;width:2rem;height:2rem;box-shadow:0 0 0 1px var(--line);border:4px solid #fffaf4;border-radius:50%;place-items:center;font-size:.7rem;display:grid;position:absolute;top:1.1rem;left:.05rem}.memory-card{background:var(--paper);border:1px solid #9a665b21;border-radius:1.6rem;overflow:hidden;box-shadow:0 18px 55px #58373014}.memory-image{aspect-ratio:16/10;background:var(--blush);position:relative;overflow:hidden}.memory-image img{object-fit:cover;transition:transform .6s}.memory-card:hover .memory-image img{transform:scale(1.025)}.memory-copy{padding:1.35rem}.memory-date{letter-spacing:.11em;text-transform:uppercase;font-size:.73rem;font-weight:800;color:var(--rose)!important;margin:0 0 .45rem!important}.memory-copy h3{font-family:var(--serif);margin:0 0 .65rem;font-size:1.55rem;font-weight:500}.memory-copy p{color:var(--muted);margin:0;line-height:1.65}.location{color:var(--rose-dark);align-items:center;gap:.35rem;margin-top:1rem;font-size:.78rem;font-weight:700;display:flex}.photo-section{background:linear-gradient(180deg, var(--cream), #f4e1d8);overflow:hidden}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;max-width:1120px;margin:0 auto;display:grid}.polaroid{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fffdf8;border:0;padding:.48rem .48rem 1rem;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 25px #4f2f2824}.polaroid-1{transform:rotate(-2deg)}.polaroid-2{transform:rotate(2deg)}.polaroid-3{transform:rotate(1deg)}.polaroid-4{transform:rotate(-1.5deg)}.polaroid:hover,.polaroid:focus-visible{z-index:2;transform:rotate(0)translateY(-4px);box-shadow:0 18px 35px #4f2f282e}.polaroid-image{aspect-ratio:4/5;background:var(--blush);display:block;position:relative;overflow:hidden}.polaroid-image img{object-fit:cover}.polaroid strong{font-family:var(--serif);margin:.8rem .25rem .2rem;font-size:clamp(.95rem,4vw,1.25rem);font-weight:500;line-height:1.15;display:block}.polaroid small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0 .25rem;font-size:.68rem;line-height:1.35;display:block;overflow:hidden}.yarl__container{--yarl__color_backdrop:#261817f5}.surprise-section{background:#fffaf4;min-height:75vh}.surprise-grid{gap:1rem;max-width:760px;margin:0 auto;display:grid}.envelope-card,.secret-card{border:1px solid var(--rose);align-items:center;gap:1rem;width:100%;min-height:118px;padding:1.4rem;display:flex}@supports (color:color-mix(in lab, red, red)){.envelope-card,.secret-card{border:1px solid color-mix(in oklch, var(--rose) 18%, white)}}.envelope-card,.secret-card{background:var(--paper);color:var(--rose-dark);text-align:left;cursor:pointer;border-radius:1.35rem;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 35px #58373012}.envelope-card:hover,.secret-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px #5837301f}.envelope-card>svg,.secret-card>svg{flex:none}.envelope-card span,.secret-card span{gap:.25rem;display:grid}.envelope-card strong,.secret-card strong{font-family:var(--serif);font-size:1.3rem;font-weight:500}.envelope-card small,.secret-card small{color:var(--muted)}.secret-card{background:linear-gradient(135deg, var(--blush), #f9eee7)}.secret-card.revealed{color:var(--rose)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#2c1b199e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.letter{background:#fffaf0;border-radius:1rem;width:min(100%,620px);max-height:88svh;padding:2.2rem 1.5rem;position:relative;overflow-y:auto;box-shadow:0 30px 90px #1e0f0c59}.letter:before{content:"";pointer-events:none;border:1px solid var(--line);border-radius:.65rem;position:absolute;inset:.6rem}.letter h2{color:var(--rose-dark);margin:0 0 1.25rem;font-size:2rem}.letter>p:not(.eyebrow,.signature){color:var(--muted);font-family:var(--serif);font-size:1.05rem;line-height:1.75}.signature{color:var(--rose);font-family:var(--serif);margin-top:1.5rem;font-size:1.25rem;font-style:italic}.close-button{z-index:1;float:right;background:var(--blush);width:44px;height:44px;color:var(--rose-dark);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:sticky;top:0}footer{background:var(--rose-dark);color:#fff5ef;text-align:center;flex-direction:column;align-items:center;padding:4rem 1rem 7rem;display:flex}footer p{font-family:var(--serif);margin:.8rem 0 .35rem;font-size:1.15rem}footer span{color:#fff5efb3;font-size:.78rem}.floating-canvas{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-canvas span{color:var(--rose);position:absolute;bottom:-3rem}@supports (color:color-mix(in lab, red, red)){.floating-canvas span{color:color-mix(in oklch, var(--rose) 22%, transparent)}}.floating-canvas span{animation:linear infinite float-up}main{z-index:1;position:relative}.music-player{top:max(1rem, env(safe-area-inset-top));z-index:30;color:var(--rose-dark);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf4d1;border:1px solid #fffc;border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .5rem .45rem .8rem;font-size:.75rem;font-weight:700;display:flex;position:fixed;right:1rem;box-shadow:0 8px 30px #4628221f}.music-player button{background:var(--rose);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.mobile-nav{right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf4e6;border:1px solid #fffc;border-radius:1.2rem;grid-template-columns:repeat(4,1fr);max-width:470px;margin:0 auto;padding:.38rem;display:grid;position:fixed;left:.75rem;box-shadow:0 12px 45px #4127232e}.mobile-nav a{min-height:48px;color:var(--muted);border-radius:.9rem;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.61rem;font-weight:700;text-decoration:none;display:flex}.mobile-nav a:hover{background:var(--blush);color:var(--rose-dark)}.login-page{background:linear-gradient(145deg,#fffaf4,#f3d8d7);place-items:center;min-height:100svh;padding:1rem;display:grid;position:relative;overflow:hidden}.login-card{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8cc;border:1px solid #ffffffd9;border-radius:1.8rem;width:min(100%,430px);padding:3.3rem 1.5rem 1.6rem;position:relative;box-shadow:0 24px 80px #5a343029}.login-seal{background:var(--rose);color:#fff;border:5px solid #f8e8e2;border-radius:50%;place-items:center;width:4.3rem;height:4.3rem;display:grid;position:absolute;top:-2rem;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #69323833}.login-card h1{color:var(--rose-dark);margin:0;font-size:2.6rem}.login-copy{color:var(--muted);margin:.7rem 0 1.7rem;line-height:1.6}.login-card label{color:var(--ink);margin-bottom:.45rem;font-size:.76rem;font-weight:800;display:block}.login-card input{border:1px solid var(--line);width:100%;height:52px;color:var(--ink);background:#fffc;border-radius:.85rem;padding:0 1rem}.login-card input::placeholder{color:#a88f87}.login-card button[type=submit]{background:var(--rose);color:#fff;cursor:pointer;border:0;border-radius:.85rem;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:52px;margin-top:1rem;font-weight:800;display:flex;box-shadow:0 10px 25px #893f4c38}.login-card button:disabled{cursor:wait;opacity:.7}.hint{color:var(--muted);text-align:center;margin:1rem 0 0;font-size:.7rem}.form-error{color:#a23045;margin:.7rem 0 0;font-size:.8rem;line-height:1.4}.login-glow{filter:blur(4px);border-radius:50%;position:absolute}.login-glow-one{background:#ca748033;width:18rem;height:18rem;top:-8rem;right:-7rem}.login-glow-two{background:#e2b06938;width:14rem;height:14rem;bottom:-6rem;left:-5rem}@keyframes float-up{0%{opacity:0;transform:translateY(0)rotate(0)}15%{opacity:1}85%{opacity:.8}to{opacity:0;transform:translateY(-115vh)rotate(40deg)}}@keyframes bob{50%{transform:translateY(6px)}}@media (min-width:700px){.section{padding:7.5rem 2rem}.timeline:before{left:50%}.timeline-item{width:50%;padding:0 2.7rem 3.4rem 0}.timeline-item:nth-child(2n){margin-left:50%;padding-left:2.7rem;padding-right:0}.timeline-dot{left:auto;right:-1rem}.timeline-item:nth-child(2n) .timeline-dot{left:-1rem;right:auto}.photo-grid{grid-template-columns:repeat(4,1fr);gap:1.2rem}.polaroid{padding:.7rem .7rem 1.35rem}.surprise-grid{grid-template-columns:1fr 1fr}.letter{padding:3.2rem}.mobile-nav{width:420px;inset:1rem 50% auto auto;transform:translate(50%)}.mobile-nav a{flex-direction:row;gap:.4rem;font-size:.72rem}footer{padding-bottom:4rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.floating-canvas{display:none}}
