/*! 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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.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,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#461f36;--muted:#84566f;--pink:#eb5c91;--hot-pink:#d93b79;--rose:#f7a9c5;--blush:#ffe1ec;--powder:#fff4f8;--cream:#fffaf7;--white:#fff;--shadow:0 24px 80px #6e1e4529}*{box-sizing:border-box}html{background:#f9cfe0}body{color:var(--ink);background:#f9cfe0;margin:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;overflow-x:hidden}button,input{font:inherit}button{color:inherit}.love-site{isolation:isolate;background:radial-gradient(circle at 12% 18%,#fffffff0 0 2px,#0000 3px),radial-gradient(circle at 85% 14%,#fffc 0 2px,#0000 3px),radial-gradient(circle at 22% 82%,#ffffffb3 0 1.5px,#0000 2.5px),radial-gradient(circle at 80% 80%,#ffffffe6 0 1.5px,#0000 2.5px),linear-gradient(135deg,#ffdcea 0%,#f7bad1 44%,#ffdce8 100%);min-height:100svh;position:relative;overflow:hidden}.grain{pointer-events:none;z-index:20;opacity:.14;mix-blend-mode:soft-light;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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");position:fixed;inset:0}.floating-hearts{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-hearts i{background:#ffffff70;border-radius:50% 50% 46% 0;animation:linear infinite float-heart;position:absolute;bottom:-30px;transform:rotate(-45deg)}.floating-hearts i:before,.floating-hearts i:after{content:"";background:inherit;border-radius:50%;width:100%;height:100%;position:absolute}.floating-hearts i:before{top:-52%;left:0}.floating-hearts i:after{top:0;left:52%}@keyframes float-heart{0%{opacity:0;transform:translateY(0)rotate(-45deg)scale(.7)}12%{opacity:1}to{opacity:0;transform:translateY(-115vh)rotate(-20deg)scale(1.15)}}.story-stage{z-index:1;place-items:center;min-height:100svh;animation:.7s cubic-bezier(.2,.75,.2,1) both page-in;display:grid;position:relative}@keyframes page-in{0%{opacity:0;transform:translateY(12px)scale(.992)}to{opacity:1;transform:none}}.story-header{z-index:12;background:linear-gradient(#ffe4efeb,#0000);justify-content:space-between;align-items:center;height:84px;padding:18px clamp(20px,4vw,64px);display:flex;position:fixed;top:0;left:0;right:0}.monogram{letter-spacing:-.08em;cursor:pointer;background:0 0;border:0;font-family:Georgia,serif;font-size:20px;font-weight:700}.monogram span{color:var(--hot-pink);margin:0 3px;font-size:13px}.chapter-progress{letter-spacing:.16em;color:#461f368c;align-items:center;gap:12px;font-size:10px;font-weight:800;display:flex}.chapter-progress div{gap:5px;display:flex}.chapter-progress i{background:#ffffff8f;border-radius:99px;width:clamp(9px,1.4vw,20px);height:3px;transition:all .4s;display:block}.chapter-progress i.active{background:var(--hot-pink)}.round-button{cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff6b;border:1px solid #ffffffad;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 10px 30px #5815341a}.round-button svg{width:18px}.official-music-frame{opacity:.01;pointer-events:none;border:0;width:1px;height:1px;position:fixed;bottom:-10px;left:-10px}.now-playing{z-index:14;color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#fff8fbab;border:1px solid #ffffffb3;border-radius:99px;align-items:center;gap:10px;padding:9px 13px 9px 10px;transition:transform .2s,background .2s;display:flex;position:fixed;top:88px;left:clamp(16px,3vw,46px);box-shadow:0 10px 28px #5d1d3b1a}.now-playing:hover{background:#fffcfde0;transform:translateY(-2px)}.now-playing>span:last-child{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.now-playing strong{font:600 11px Georgia,serif}.now-playing small{color:#9c667e;letter-spacing:.06em;margin-top:3px;font-size:7px}.equalizer{background:linear-gradient(145deg,#ef76a2,#d63373);border-radius:50%;justify-content:center;align-items:center;gap:2px;width:28px;height:28px;display:flex}.equalizer i{transform-origin:50%;background:#fff;border-radius:99px;width:2px;height:10px;display:block;transform:scaleY(.25)}.now-playing.playing .equalizer i{animation:.75s ease-in-out infinite alternate music-bar}.now-playing.playing .equalizer i:nth-child(2){animation-delay:-.28s}.now-playing.playing .equalizer i:nth-child(3){animation-delay:-.5s}@keyframes music-bar{0%{transform:scaleY(.28)}to{transform:scaleY(1)}}.secret-page{place-items:center;width:100%;min-height:100svh;padding:48px 20px 118px;display:grid;position:relative}.secret-page:before,.secret-page:after{content:"";pointer-events:none;border:1px solid #ffffff85;border-radius:50%;position:absolute}.secret-page:before{width:70vw;max-width:870px;height:70vw;max-height:870px;top:-45vw;left:-28vw}.secret-page:after{width:46vw;max-width:580px;height:46vw;max-height:580px;bottom:-30vw;right:-18vw}.secret-card{text-align:center;width:min(680px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffafcb8;border:1px solid #ffffffdb;border-radius:44px 44px 110px;padding:clamp(30px,5vw,60px);position:relative}.secret-card:after{content:"♡";color:#d93b7947;font-family:Georgia,serif;font-size:40px;position:absolute;bottom:18px;right:25px;transform:rotate(-12deg)}.eyebrow{color:var(--hot-pink);text-transform:uppercase;letter-spacing:.24em;justify-content:center;align-items:center;gap:9px;font-size:10px;font-weight:800;display:flex}.eyebrow.left{justify-content:flex-start}.eyebrow svg{width:14px}.lock-seal{color:#fff;background:linear-gradient(145deg,#f27da7,#d83978);border-radius:50%;place-items:center;width:66px;height:66px;margin:25px auto 18px;display:grid;transform:rotate(-4deg);box-shadow:0 12px 32px #d93b7947,inset 0 1px #ffffff80}.lock-seal svg{width:25px}.tiny-script,.script-line,.love-note{font-family:Segoe Print,Bradley Hand,cursive}.tiny-script{color:#9a607d;margin:0 0 10px;font-size:13px;transform:rotate(-1deg)}.secret-card h1,.welcome-copy h1,.section-heading h1{letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-weight:500}.secret-card h1{margin:0;font-size:clamp(42px,7vw,72px);line-height:.99}.secret-card h1 em{color:var(--hot-pink);font-weight:400}.lead{color:var(--muted);margin:24px auto;font-size:clamp(14px,2vw,16px);line-height:1.75}.password-form{max-width:405px;margin:30px auto 0}.password-form label{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:#87536e;margin-bottom:9px;font-size:11px;font-weight:800;display:block}.password-control{background:#fff;border:1px solid #de548b33;border-radius:99px;gap:6px;height:60px;padding:6px;display:flex;box-shadow:0 10px 25px #53173514}.password-control input{min-width:0;color:var(--ink);letter-spacing:.2em;background:0 0;border:0;outline:none;flex:1;padding:0 16px 0 22px;font-weight:700}.password-control input::placeholder{color:#c89bb0;font-weight:500}.password-control button{color:#fff;cursor:pointer;background:var(--hot-pink);border:0;border-radius:50%;flex:0 0 48px;width:48px;transition:transform .2s}.password-control button:hover{transform:scale(1.06)rotate(-4deg)}.password-control svg{width:20px}.password-hint,.password-error{min-height:16px;margin:9px 0 0;font-size:11px}.password-hint{color:#9d748a}.password-error{color:#c52665;font-weight:700}.chapter-label{letter-spacing:.24em;color:#461f367a;font-size:9px;font-weight:800;position:absolute;bottom:30px}.bear-scene{justify-content:center;align-items:flex-end;width:210px;height:122px;display:flex;position:absolute;bottom:22px;right:max(5vw,16px)}.bear-scene__heart{z-index:3;color:#dc3e77;filter:drop-shadow(0 6px 8px #7514382e);font-size:28px;animation:1.5s ease-in-out infinite heart-beat;position:absolute;top:8px;left:50%;transform:translate(-50%)}.bear-scene__heart span{white-space:nowrap;color:#7e4762;font:11px Segoe Print,cursive;position:absolute;top:-10px;left:50%;transform:translate(-50%,-100%)rotate(-3deg)}@keyframes heart-beat{50%{transform:translate(-50%)scale(1.2)}}.bear{transform-origin:bottom;width:82px;height:94px;position:relative}.bear:first-of-type{margin-right:-12px;animation:2.4s ease-in-out infinite bear-sway-left}.bear:last-of-type{animation:2.4s ease-in-out infinite bear-sway-right}@keyframes bear-sway-left{50%{transform:rotate(4deg)translate(3px)}}@keyframes bear-sway-right{50%{transform:rotate(-4deg)translate(-3px)}}.bear__ear{z-index:0;background:var(--bear-ear,#b38261);border:2px solid #4d282814;border-radius:50%;width:25px;height:25px;position:absolute;top:8px}.bear__ear--left{left:10px}.bear__ear--right{right:10px}.bear__head{z-index:2;background:var(--bear-face,#f2c99f);border-radius:48% 48% 44% 44%;width:64px;height:57px;position:absolute;top:15px;left:9px;box-shadow:inset 0 -5px #7542340d}.bear__body{z-index:1;background:var(--bear-body,#e7b783);border-radius:48% 48% 35% 35%;width:49px;height:49px;position:absolute;bottom:0;left:17px}.bear__eye{z-index:3;background:#4d2b31;border-radius:50%;width:5px;height:7px;animation:4s infinite bear-blink;position:absolute;top:22px}.bear__eye--left{left:19px}.bear__eye--right{right:19px}@keyframes bear-blink{0%,45%,50%,to{transform:scaleY(1)}47%{transform:scaleY(.1)}}.bear__muzzle{z-index:3;background:#fff6ecbd;border-radius:50%;width:23px;height:16px;position:absolute;top:30px;left:21px}.bear__muzzle:before{content:"";background:#533039;border-radius:50%;width:6px;height:4px;position:absolute;top:3px;left:8px}.bear__muzzle i{border-bottom:1px solid #6d3f48;border-left:1px solid #6d3f48;border-radius:0 0 0 6px;width:7px;height:5px;position:absolute;top:7px;left:10px}.bear__blush{z-index:3;background:#ea5d8152;border-radius:50%;width:10px;height:5px;position:absolute;top:34px}.bear__blush--left{left:8px}.bear__blush--right{right:8px}.bear__arm{z-index:4;background:var(--bear-body,#e7b783);transform-origin:top;border-radius:99px;width:15px;height:37px;position:absolute;bottom:19px}.bear__arm--left{left:12px;transform:rotate(32deg)}.bear__arm--right{right:12px;transform:rotate(-32deg)}.bear--panda{--bear-face:#fff8ef;--bear-body:#4e4548;--bear-ear:#4e4548}.bear--panda .bear__patch{z-index:2;background:#4e4548;border-radius:50%;width:14px;height:18px;position:absolute;top:17px}.bear--panda .bear__patch--left{left:13px;transform:rotate(22deg)}.bear--panda .bear__patch--right{right:13px;transform:rotate(-22deg)}.page-shell{align-items:center;gap:clamp(34px,6vw,88px);width:min(1180px,100% - 40px);min-height:100svh;margin:0 auto;padding:118px 0 90px;display:grid}.welcome-page{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr)}.welcome-copy h1{margin:18px 0;font-size:clamp(58px,8vw,108px);line-height:.87}.welcome-copy h1 span{color:var(--hot-pink);font-style:italic;font-weight:400}.script-line{color:#a33e69;margin:22px 0;font-size:clamp(16px,2vw,21px);transform:rotate(-1deg)}.body-copy{color:#73445d;max-width:580px;font-size:clamp(15px,1.6vw,18px);line-height:1.85}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ee6c9b,#d63373);border:0;border-radius:99px;align-items:center;gap:16px;padding:15px 20px 15px 24px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 13px 32px #ad245b40}.primary-button:hover{transform:translateY(-3px);box-shadow:0 18px 38px #ad245b52}.primary-button svg{width:18px}.welcome-copy .primary-button{margin-top:16px}.welcome-collage{min-height:590px;position:relative}.photo-frame{background:#fffdfb;padding:12px 12px 17px;position:absolute;box-shadow:0 22px 60px #5c1f3c33}.photo-frame__blank{color:#b7708f;text-align:center;background:linear-gradient(145deg,#fff4f7,#f7dce6);border:1px dashed #e5a5bd;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:190px;display:flex}.photo-frame__image{object-fit:cover;background:#f8dce7;width:100%;height:calc(100% - 45px);display:block}.photo-frame__image--01{object-position:center 42%}.photo-frame__image--02{object-position:43% center}.photo-frame__image--03{object-position:center 30%}.photo-frame__image--04{object-position:center 44%}.photo-frame__blank svg{color:#d94a81;fill:#d94a811a;width:28px;margin-bottom:12px}.photo-frame__blank strong{letter-spacing:.18em;font-size:10px}.photo-frame__blank span{margin-top:6px;font-size:10px}.photo-frame>p{text-align:center;color:#77435d;margin:12px 4px 0;font:13px Segoe Print,cursive}.photo-frame__tape{background:#ffe2aca8;width:85px;height:28px;position:absolute;top:-15px;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 2px 5px #461e1914}.photo-frame--large{width:min(390px,64vw);height:470px;top:54px;left:4%;transform:rotate(-5deg)}.photo-frame--small{width:min(250px,42vw);height:315px;bottom:20px;right:2%;transform:rotate(7deg)}.photo-frame--large .photo-frame__blank{min-height:398px}.photo-frame--small .photo-frame__blank{min-height:245px}.doodle{z-index:3;color:#bd3e70;text-align:center;font:16px Segoe Print,cursive;position:absolute}.doodle--one{top:10px;right:4%;transform:rotate(7deg)}.doodle--two{bottom:5px;left:6%;transform:rotate(-7deg)}.vertical{flex-direction:column;justify-content:center;gap:30px;display:flex}.section-heading{text-align:center;max-width:880px;margin:0 auto}.section-heading h1{margin:16px 0 12px;font-size:clamp(36px,5.8vw,68px);line-height:1.03}.section-heading h1 em{color:var(--hot-pink);font-weight:400}.section-heading>p:last-child{color:var(--muted);line-height:1.7}.memory-layout{grid-template-columns:270px 1fr;align-items:stretch;gap:32px;width:100%;display:grid}.photo-frame--memory{width:100%;min-height:390px;position:relative;inset:auto;transform:rotate(-2deg)}.photo-frame--memory .photo-frame__blank{min-height:320px}.memory-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.memory-grid article{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:112px;animation:.5s cubic-bezier(.2,.75,.2,1) both memory-in;animation-delay:var(--delay);background:#fffafca3;border:1px solid #ffffffb8;border-radius:21px;gap:13px;padding:17px;display:flex;box-shadow:0 8px 22px #69214212}@keyframes memory-in{0%{opacity:0;transform:translateY(12px)}}.memory-grid article>span{color:var(--hot-pink);font:italic 12px Georgia,serif}.memory-grid h2{margin:0 0 5px;font:500 19px Georgia,serif}.memory-grid p{color:#85566d;margin:0;font-size:11px;line-height:1.5}.love-note{color:#9f3f69;text-align:center;margin:-4px 0 0;font-size:14px;transform:rotate(-.5deg)}.story-nav{z-index:15;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff8fbb8;border:1px solid #ffffffb8;border-radius:99px;align-items:center;gap:8px;padding:6px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #5e1c3c21}.story-nav>button:first-child{cursor:pointer;color:#80526a;background:0 0;border:0;padding:12px 18px;font-size:12px;font-weight:700}.story-nav .primary-button{padding:12px 16px 12px 19px}.distance-page{gap:24px}.distance-map{width:min(940px,100%);height:350px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffafcab;border:1px solid #ffffffd1;border-radius:38px;position:relative;overflow:hidden}.distance-map:before{content:"";opacity:.17;background-image:radial-gradient(#a9567a 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 95%);mask-image:linear-gradient(90deg,#000,#0000 95%)}.map-route{width:92%;height:250px;position:absolute;inset:46px 4% 28px;overflow:visible}.map-route path{fill:none;stroke-linecap:round}.route-shadow{stroke:#b43d6c1f;stroke-width:10px}.route-line{stroke:#df4c83;stroke-width:2px;stroke-dasharray:7 11;animation:18s linear infinite route-travel}@keyframes route-travel{to{stroke-dashoffset:-180px}}.map-place{z-index:2;cursor:pointer;text-align:left;color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:flex-start;transition:transform .2s;display:flex;position:absolute}.map-place:hover{transform:translateY(-5px)}.map-place i{background:var(--hot-pink);color:#fff;border-radius:50% 50% 50% 3px;place-items:center;width:34px;height:34px;margin-bottom:7px;font:700 9px Avenir,sans-serif;display:grid;transform:rotate(-45deg);box-shadow:0 9px 22px #b8316747}.map-place i:first-letter{transform:rotate(45deg)}.map-place span{font:600 22px Georgia,serif}.map-place small{color:var(--muted);margin-top:3px;font-size:10px}.map-place--india{bottom:36px;left:8%}.map-place--paris{top:84px;left:61%}.map-place--uk{top:26px;right:6%}.map-plane{color:#ad3e6c;animation:3s ease-in-out infinite plane-float;position:absolute;top:128px;left:43%;transform:rotate(-15deg)}@keyframes plane-float{50%{transform:translate(8px,-8px)rotate(-8deg)}}.map-heart{color:#e3437c;font-size:31px;animation:1.8s ease-in-out infinite heart-beat-center;position:absolute;top:215px;left:48%}@keyframes heart-beat-center{50%{transform:scale(1.25)}}.distance-caption{z-index:3;text-align:center;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.distance-caption span{letter-spacing:.2em;text-transform:uppercase;color:#a66b86;font-size:8px;font-weight:800;display:block}.distance-caption p{color:#9d3f67;min-width:330px;margin:5px 0 0;font:13px Segoe Print,cursive;animation:.35s both note-pop}@keyframes note-pop{0%{opacity:0;transform:translateY(5px)}}.promise-row{grid-template-columns:repeat(3,1fr);gap:12px;width:min(940px,100%);display:grid}.promise-row article{background:#fff7fa7a;border:1px solid #ffffffc2;border-radius:20px;padding:18px 20px;position:relative}.promise-row article>span{color:#d93b7959;font:italic 12px Georgia,serif;position:absolute;top:11px;right:14px}.promise-row h2{margin:0 0 7px;font:500 18px Georgia,serif}.promise-row p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.question-page{display:grid}.question-card{text-align:center;width:min(710px,100%);min-height:610px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffafcc2;border:1px solid #ffffffe0;border-radius:54px;padding:58px 54px 42px;position:relative}.question-card h1{letter-spacing:-.06em;margin:8px 0 10px;font:500 clamp(54px,8vw,92px)/.95 Georgia,serif}.question-card>p:not(.eyebrow):not(.tiny-script):not(.dodge-message){color:var(--muted)}.question-bears{place-items:center;height:128px;margin:16px auto -2px;display:grid}.question-bears .bear-scene{position:relative;bottom:auto;right:auto;transform:scale(1.02)}.question-actions{justify-content:center;align-items:center;gap:16px;min-height:108px;margin-top:22px;display:flex;position:relative}.yes-button{color:#fff;letter-spacing:.04em;cursor:pointer;background:linear-gradient(135deg,#ee6c9b,#d63373);border:0;border-radius:99px;padding:17px 25px;font-size:12px;font-weight:800;transition:transform .2s;box-shadow:0 13px 30px #ad245b40}.yes-button:hover{transform:translateY(-3px)rotate(-1deg)}.yes-button span{margin-left:8px}.no-button{color:#99637b;cursor:pointer;background:#ffffffc2;border:1px solid #9e4c703b;border-radius:99px;min-width:70px;padding:14px 20px;font-weight:700;transition:transform .18s}.dodge-message{color:#aa4b74;min-height:19px;margin:3px 0 0;font:11px Segoe Print,cursive}.love-modal{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#4e183361;place-items:center;padding:20px;animation:.35s both modal-in;display:grid;position:fixed;inset:0}@keyframes modal-in{0%{opacity:0}}.love-modal>div{text-align:center;background:#fff8fb;border-radius:40px;width:min(500px,100%);padding:50px 44px 42px;position:relative;box-shadow:0 28px 100px #42142a4d}.love-modal h2{margin:8px 0 12px;font:500 49px/.95 Georgia,serif}.love-modal p:not(.tiny-script){color:var(--muted);line-height:1.75}.love-modal .primary-button{margin-top:12px}.modal-close{color:#9b5b77;cursor:pointer;background:#f8e5ec;border:0;border-radius:50%;width:36px;height:36px;font-size:22px;position:absolute;top:15px;right:18px}.modal-heart{color:var(--hot-pink);font-size:52px;animation:1.4s infinite heart-beat;display:block}.compact-heading h1{font-size:clamp(37px,5.5vw,61px)}.heart-game-page{gap:18px}.heart-game-card{width:min(820px,100%);box-shadow:var(--shadow);background:#fffafcb3;border:1px solid #ffffffd9;border-radius:32px;padding:14px}.game-score{color:#936078;letter-spacing:.14em;justify-content:space-between;padding:2px 12px 12px;font-size:9px;font-weight:800;display:flex}.game-score strong{color:var(--hot-pink);margin-left:5px;font-size:13px}.heart-arena{background:radial-gradient(circle at 50% 40%,#ffeef4 0%,#f5bfd3 80%);border:1px solid #d9488021;border-radius:23px;height:365px;position:relative;overflow:hidden}.heart-arena:before{content:"";opacity:.6;background-image:radial-gradient(#fffc 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.game-intro,.game-result{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.game-intro>span{color:var(--hot-pink);font-size:58px;animation:1.5s infinite heart-beat-center}.game-intro h2,.game-result h2{margin:2px 0 6px;font:500 36px Georgia,serif}.game-intro p,.game-result p{color:var(--muted);margin:2px 0 18px}.catch-heart{z-index:3;color:#fff;cursor:pointer;background:linear-gradient(145deg,#f17aa4,#d52f70);border:0;border-radius:50%;width:66px;height:66px;font-size:34px;animation:.35s cubic-bezier(.2,1.8,.4,1) both heart-arrive,1.2s ease-in-out .35s infinite target-pulse;position:absolute;transform:translate(-50%,-50%);box-shadow:0 12px 35px #b02b6059,inset 0 1px #ffffff8c}@keyframes heart-arrive{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)rotate(-30deg)}}@keyframes target-pulse{50%{filter:brightness(1.12);box-shadow:0 15px 42px #b02b6080,inset 0 1px #ffffffa6}}.game-result>span{color:var(--hot-pink);font:italic 52px Georgia,serif}.game-result.win:after{content:"♡ ♡ ♡";color:#d93b7959;letter-spacing:.5em;margin-top:15px}.soft-button{color:#a13967;cursor:pointer;background:#ffffffb3;border:1px solid #bf437438;border-radius:99px;padding:13px 20px;font-size:11px;font-weight:800;transition:transform .2s,background .2s}.soft-button:hover{background:#fff;transform:translateY(-2px)}.game-whisper{text-align:center;color:#9e5474;margin:11px 0 0;font:11px Segoe Print,cursive}.match-page{gap:18px}.match-board{perspective:1000px;grid-template-columns:repeat(4,1fr);gap:12px;width:min(740px,100%);display:grid}.match-card{aspect-ratio:.84;cursor:pointer;transform-style:preserve-3d;background:0 0;border:0;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:relative}.match-card.open{transform:rotateY(180deg)}.match-card.matched{opacity:.82;transform:rotateY(180deg)scale(.94)}.match-card__back,.match-card__front{backface-visibility:hidden;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:0 12px 28px #5e1b3b1f}.match-card__back{color:#fff;background:linear-gradient(145deg,#ea6a9a,#ca2f6c);border:1px solid #ffffff8c;font:700 20px Georgia,serif}.match-card__back:before{content:"";border:1px solid #ffffff52;border-radius:16px;position:absolute;inset:9px}.match-card__back span{margin:2px;font-size:11px}.match-card__front{background:#fffaf7eb;border:1px solid #fffc;transform:rotateY(180deg)}.match-card__front i{font-size:clamp(32px,5vw,48px);font-style:normal}.match-card__front strong{margin-top:9px;font:500 clamp(13px,2vw,17px) Georgia,serif}.match-status{text-align:center;min-height:42px}.match-status>span{color:#9c5d79;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}.match-status p,.match-status strong{color:#a23d69;margin:6px 0 0;font:12px Segoe Print,cursive;display:block}.singh-page{grid-template-columns:.88fr 1.12fr}.singh-copy .tiny-script{margin-top:28px}.singh-copy h1{letter-spacing:-.055em;margin:10px 0 30px;font:500 clamp(43px,6vw,72px)/.98 Georgia,serif}.singh-copy h1 em{color:var(--hot-pink);font-weight:400}.singh-footnote{max-width:440px;color:var(--muted);margin-top:24px;font-size:12px;line-height:1.6}.singh-stage{background:radial-gradient(circle,#fff9fbd9,#ffffff26 65%,#0000 66%);border-radius:50% 45% 48% 40%;place-items:center;min-height:570px;display:grid;position:relative}.singh-stage:before,.singh-stage:after{content:"";border:1px solid #ffffff8c;border-radius:50%;position:absolute}.singh-stage:before{inset:6% 8% 7% 4%;transform:rotate(-8deg)}.singh-stage:after{inset:17% 2% 5% 17%;transform:rotate(13deg)}.singh-burst{z-index:3;text-align:center;flex-direction:column;align-items:center;display:flex;transform:rotate(-4deg)}.singh-burst span{color:#9f4d71;letter-spacing:.18em;font-size:clamp(14px,2vw,21px);font-weight:900}.singh-burst strong{color:var(--hot-pink);letter-spacing:-.08em;text-shadow:3px 3px #fff;font:800 clamp(50px,8vw,94px)/.86 Avenir,sans-serif}.singh-burst em{color:var(--ink);font:italic 500 clamp(62px,10vw,120px)/.8 Georgia,serif}.singh-burst.play{animation:.75s cubic-bezier(.18,1.7,.3,1) both singh-pop}@keyframes singh-pop{0%{opacity:0;transform:rotate(-18deg)scale(.15)}70%{transform:rotate(4deg)scale(1.12)}to{transform:rotate(-4deg)}}.dance-bears{z-index:4;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.dance-bears .bear-scene{position:relative;bottom:auto;right:auto}.dance-bears .bear{animation-duration:.55s}.compliment{z-index:4;color:#a5416b;background:#ffffffad;border-radius:99px;padding:8px 13px;font:11px Segoe Print,cursive;position:absolute;box-shadow:0 8px 20px #63203e14}.compliment--one{top:14%;left:4%;transform:rotate(-8deg)}.compliment--two{top:26%;right:2%;transform:rotate(7deg)}.compliment--three{bottom:22%;left:5%;transform:rotate(5deg)}.burst-stars{color:#de5d8e;letter-spacing:.5em;position:absolute;top:5%;left:50%;transform:translate(-50%)}.letter-page{justify-content:flex-start;overflow:visible}.envelope{cursor:pointer;background:#e9709c;border:0;border-radius:8px 8px 24px 24px;width:min(520px,88vw);height:310px;margin:18px auto 100px;animation:3s ease-in-out infinite envelope-glow;position:relative;box-shadow:0 30px 80px #671d4040}@keyframes envelope-glow{50%{filter:brightness(1.025);box-shadow:0 36px 95px #671d4052}}.envelope:before,.envelope:after{content:"";z-index:2;border-style:solid;width:0;height:0;position:absolute;bottom:0}.envelope:before{border-width:150px 0 0 260px;border-color:#0000 #0000 #0000 #dc5388;left:0}.envelope:after{border-width:150px 260px 0 0;border-color:#0000 #d94880 #0000 #0000;right:0}.envelope__flap{z-index:1;border-top:180px solid #f28aae;border-left:260px solid #0000;border-right:260px solid #0000;width:0;height:0;position:absolute;inset:0 0 auto}.envelope__paper{z-index:0;color:#a44970;letter-spacing:.2em;background:#fff9f7;width:88%;height:70%;padding-top:46px;font:500 22px Georgia,serif;position:absolute;top:-36px;left:6%;box-shadow:0 -5px 30px #5b1d3914}.envelope>i{z-index:5;color:#fff;background:#bb285f;border-radius:50%;place-items:center;width:56px;height:56px;font-size:25px;font-style:normal;display:grid;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 14px #5e183540}.envelope>strong{z-index:5;color:#8f5a71;text-transform:uppercase;letter-spacing:.18em;font-size:10px;position:absolute;bottom:-36px;left:0;right:0}.love-letter{background:#fffaf6;border-radius:4px;width:min(820px,100%);margin:12px auto 80px;padding:clamp(35px,6vw,72px);animation:.8s cubic-bezier(.2,.85,.2,1) both letter-open;position:relative;transform:rotate(-.4deg);box-shadow:0 28px 90px #571a3738}@keyframes letter-open{0%{opacity:0;transform:translateY(35px)scale(.94)rotate(-2deg)}}.love-letter:before{content:"";pointer-events:none;border:1px solid #f1cedb;position:absolute;inset:18px}.letter-date{text-align:center;color:#b45b81;letter-spacing:.22em;font-size:9px;font-weight:800;display:block}.love-letter h2{color:var(--hot-pink);margin:32px 0 24px;font:italic 500 clamp(38px,6vw,58px) Georgia,serif}.love-letter p{color:#664052;font:15px/1.85 Georgia,serif;position:relative}.love-letter p em{color:#c23c73}.letter-ending{text-align:center;margin-top:30px;font-size:17px!important;font-style:italic!important}.letter-ending strong{color:var(--hot-pink)}.love-letter footer{text-align:right;color:#775065;margin-top:35px;font:italic 16px Georgia,serif}.love-letter footer span{color:var(--hot-pink);font-size:24px}.final-page{display:grid}.proposal-card{text-align:center;width:min(820px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffafcc2;border:1px solid #ffffffe0;border-radius:58px;padding:56px 50px 64px;position:relative}.proposal-heart{color:var(--hot-pink);margin:18px 0 2px;font-size:46px;animation:1.5s infinite heart-beat-center;display:block}.proposal-card h1{letter-spacing:-.055em;margin:10px 0 16px;font:500 clamp(48px,7vw,80px)/.96 Georgia,serif}.proposal-card h1 em{color:var(--hot-pink);font-weight:400}.proposal-card>p:not(.eyebrow):not(.tiny-script){color:var(--muted)}.proposal-actions{justify-content:center;align-items:center;gap:12px;min-height:86px;margin-top:14px;display:flex}.proposal-bears{position:absolute;bottom:-40px;right:-68px}.proposal-bears .bear-scene{position:relative;bottom:auto;right:auto}.celebration-card{grid-template-columns:1fr .7fr;align-items:center;gap:clamp(35px,7vw,90px);width:100%;display:grid}.celebration-copy h1{letter-spacing:-.06em;margin:22px 0;font:500 clamp(54px,7vw,90px)/.89 Georgia,serif}.celebration-copy h1 em{color:var(--hot-pink);font-weight:400}.celebration-copy>p:not(.eyebrow):not(.final-script){max-width:600px;color:var(--muted);font-size:17px;line-height:1.75}.mini-promises{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.mini-promises span{color:#9e416a;background:#ffffff80;border:1px solid #c9407333;border-radius:99px;padding:9px 13px;font-size:10px;font-weight:800}.final-script{color:#aa3b6b;margin:20px 0;font:17px Segoe Print,cursive}.photo-frame--final{width:100%;min-height:510px;position:relative;inset:auto;transform:rotate(4deg)}.photo-frame--final .photo-frame__blank{min-height:435px}.confetti{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{left:var(--x);background:var(--colour);width:8px;height:14px;animation:confetti-fall 2.8s var(--delay) cubic-bezier(.2,.7,.3,1) both;border-radius:2px;position:absolute;top:-20px}@keyframes confetti-fall{to{transform:translate(calc((var(--x) - 50vw) * -.12), 110vh) rotate(var(--spin));opacity:.2}}@media (width<=900px){.welcome-page{text-align:center;grid-template-columns:1fr;padding-top:120px}.eyebrow.left{justify-content:center}.body-copy{margin-inline:auto}.welcome-collage{width:min(600px,100%);margin:-18px auto 0}.memory-layout{grid-template-columns:1fr}.photo-frame--memory{width:min(270px,80%);min-height:340px;margin:0 auto}.photo-frame--memory .photo-frame__blank{min-height:270px}.singh-page{text-align:center;grid-template-columns:1fr}.singh-copy .eyebrow.left{justify-content:center}.singh-footnote{margin-inline:auto}.singh-stage{width:min(670px,100%);min-height:520px;margin:-20px auto 0}.celebration-card{text-align:center;grid-template-columns:1fr}.celebration-copy .eyebrow.left{justify-content:center}.celebration-copy>p{margin-inline:auto}.mini-promises{justify-content:center}.photo-frame--final{width:min(360px,80%);margin:0 auto 50px}}@media (width<=680px){.story-header{height:72px;padding:14px 16px}.chapter-progress{gap:6px}.chapter-progress div{gap:3px}.chapter-progress i{width:7px}.round-button{width:40px;height:40px}.now-playing{padding:7px 10px 7px 7px;top:73px;left:13px}.equalizer{width:25px;height:25px}.now-playing small{display:none}.secret-page{padding:30px 14px 128px}.secret-card{border-radius:32px 32px 72px;padding:28px 20px 36px}.secret-card h1{font-size:43px}.lead br{display:none}.bear-scene{bottom:0;right:50%;transform:translate(50%)scale(.85)}.chapter-label{bottom:104px}.page-shell{width:min(100% - 28px,1180px);padding:94px 0 92px}.welcome-copy h1{font-size:58px}.welcome-collage{min-height:470px}.photo-frame--large{width:68vw;height:370px;left:2%}.photo-frame--large .photo-frame__blank{min-height:298px}.photo-frame--small{width:42vw;height:255px;right:0}.photo-frame--small .photo-frame__blank{min-height:185px}.memory-grid{grid-template-columns:1fr}.memory-grid article{min-height:auto}.story-nav{justify-content:space-between;width:calc(100% - 24px);bottom:12px}.story-nav>button:first-child{padding-inline:12px}.section-heading h1 br{display:none}.distance-page{padding-top:100px}.distance-map{height:430px}.map-route{width:96%;height:290px;inset:75px 2% 40px}.map-place span{font-size:17px}.map-place--india{bottom:70px;left:5%}.map-place--paris{top:105px;left:45%}.map-place--uk{top:34px;right:3%}.map-plane{top:190px;left:34%}.map-heart{top:248px;left:56%}.distance-caption{bottom:20px}.distance-caption p{min-width:280px;font-size:11px}.promise-row{grid-template-columns:1fr}.question-card{border-radius:34px;min-height:590px;padding:38px 20px 34px}.question-card h1{font-size:55px}.question-actions{gap:7px}.yes-button{padding:15px 18px}.no-button{min-width:58px;padding:13px}.love-modal>div{padding:45px 25px 34px}.heart-arena{height:390px}.match-board{grid-template-columns:repeat(2,1fr);max-width:430px}.match-card{aspect-ratio:1.18}.singh-copy h1 br{display:none}.singh-stage{min-height:440px}.compliment--one{top:6%}.compliment--two{top:14%}.compliment--three{bottom:17%}.singh-burst strong{font-size:52px}.singh-burst em{font-size:70px}.envelope{height:220px;margin-top:65px}.envelope:before{border-width:105px 0 0 44vw}.envelope:after{border-width:105px 44vw 0 0}.envelope__flap{border-top-width:125px;border-left-width:44vw;border-right-width:44vw}.love-letter{padding:42px 28px}.love-letter p{font-size:14px}.proposal-card{border-radius:38px;padding:45px 22px 80px}.proposal-card h1{font-size:52px}.proposal-actions{flex-direction:column}.proposal-bears{bottom:-58px;right:50%;transform:translate(50%)scale(.78)}.celebration-copy h1{font-size:56px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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}
