/*! 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,::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{.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#071744;--blue:#3f69f4;--page-pad:clamp(1.25rem, 5.3vw, 3.2rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f8fcff}body{color:var(--ink);font-family:var(--font-geist), Arial, sans-serif;background:#f8fcff;margin:0}a{color:inherit;text-decoration:none}.love-page{isolation:isolate;background:radial-gradient(circle at 93% 4%,#92d3ff47,#0000 24%),radial-gradient(circle at 6% 33%,#9dd8ff40,#0000 28%),radial-gradient(circle at 73% 55%,#f9ebb038,#0000 28%),#fff;width:min(100%,59rem);min-height:100svh;margin:0 auto;position:relative;overflow:hidden}.letter-page{isolation:isolate;background:radial-gradient(circle at 93% 4%,#92d3ff47,#0000 24%),radial-gradient(circle at 7% 42%,#9dd8ff3b,#0000 25%),radial-gradient(circle at 93% 66%,#9dd8ff33,#0000 22%),#fff;width:min(100%,59rem);min-height:100svh;margin:0 auto;position:relative;overflow:hidden}.final-page{isolation:isolate;background:radial-gradient(circle at 91% 4%,#92d3ff45,#0000 24%),radial-gradient(circle at 5% 35%,#9dd8ff33,#0000 28%),radial-gradient(circle at 92% 65%,#9dd8ff33,#0000 24%),#fff;width:min(100%,59rem);min-height:100svh;margin:0 auto;position:relative;overflow:hidden}.site-header{padding:clamp(1.25rem, 5.1vw, 3rem) var(--page-pad) 0;justify-content:space-between;align-items:center;display:flex}.brand{color:var(--blue);letter-spacing:.22em;align-items:center;gap:clamp(.65rem,2.8vw,1.65rem);font-size:clamp(.72rem,2.15vw,1.22rem);display:flex}.heart{font-family:Arial,sans-serif;font-size:clamp(2rem,5.2vw,3.1rem);font-weight:200;line-height:1;transform:translateY(-.08em)}.menu{align-content:center;gap:clamp(.4rem,1vw,.62rem);width:clamp(2rem,5.1vw,3rem);height:clamp(2rem,5.1vw,3rem);display:grid}.menu span{background:var(--ink);width:100%;height:1.5px;display:block}.hero{padding:clamp(2.1rem, 6.2vw, 4rem) var(--page-pad) clamp(1rem, 3vw, 2rem);text-align:center}.hero h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.55rem,8.6vw,5.15rem);font-weight:400;line-height:.97}.hero h1 span{white-space:nowrap;display:block}.hero p{color:#4874ee;letter-spacing:-.015em;margin:clamp(1rem,2.8vw,1.65rem) 0 0;font-size:clamp(.78rem,2.55vw,1.47rem);line-height:1.45}.letter-hero{padding:clamp(1.3rem, 4.1vw, 2.5rem) var(--page-pad) clamp(.75rem, 2vw, 1.4rem);text-align:center}.letter-hero h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,8.8vw,5.2rem);font-weight:400;line-height:1}.title-ornament{color:#4a83e9;justify-content:center;align-items:center;gap:clamp(1.2rem,4.2vw,2.5rem);margin-top:clamp(.55rem,1.6vw,1rem);display:flex}.title-ornament span{background:currentColor;width:clamp(3.25rem,8vw,4.5rem);height:1.5px}.title-ornament b{font-family:Arial,sans-serif;font-size:clamp(1.8rem,4.2vw,2.5rem);font-weight:300;line-height:1}.final-hero{padding:clamp(1.5rem, 4.5vw, 2.8rem) var(--page-pad) clamp(1rem, 2.8vw, 1.7rem);text-align:center}.final-hero h1{letter-spacing:-.05em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.55rem,7.2vw,4.35rem);font-weight:400;line-height:1.08}.final-hero h1 span{white-space:nowrap;display:block}.final-hero p{color:#4b7cea;letter-spacing:.1em;margin:clamp(.8rem,2vw,1.2rem) 0 0;font-size:clamp(.78rem,2vw,1.15rem)}.final-collage{z-index:2;width:calc(100% - (var(--page-pad) * 1.35));aspect-ratio:.83;margin:0 auto;position:relative}.final-photo{background:#dceaf4;border:clamp(.28rem,.85vw,.5rem) solid #fffffff5;border-radius:clamp(1rem,3vw,1.8rem);margin:0;position:absolute;overflow:hidden;box-shadow:0 .8rem 2.3rem #2c6da021}.final-photo img{object-fit:cover;width:100%;height:100%;display:block}.final-photo-main{z-index:1;width:92%;height:54%;top:0;left:4%;transform:rotate(3.5deg)}.final-photo-main img{object-position:50% 52%}.final-photo-left{z-index:3;width:52%;height:49%;bottom:2%;left:1%;transform:rotate(-5deg)}.final-photo-left img{object-position:52% 50%}.final-photo-right{z-index:2;width:50%;height:48%;bottom:4%;right:1%;transform:rotate(6deg)}.final-photo-right img{object-position:50% 49%}.letter-scene{padding:0 var(--page-pad);position:relative}.letter-card{z-index:2;color:#40527a;background:#ffffffed;border-radius:clamp(1rem,2.5vw,1.55rem);width:min(63%,32rem);margin:0 auto;padding:clamp(1.25rem,3.2vw,2rem) clamp(1.15rem,3vw,1.85rem);font-size:clamp(.68rem,1.72vw,.98rem);line-height:1.28;position:relative;box-shadow:0 .75rem 2.5rem #4082b926}.letter-card p{margin:0 0 .82em}.letter-card p:last-child{margin-bottom:0}.letter-photo{z-index:1;aspect-ratio:.72;background-color:#d9e9f4;background-position:50%;background-size:cover;border:clamp(.3rem,1vw,.6rem) solid #ffffffeb;border-radius:clamp(.8rem,2.4vw,1.4rem);width:24%;margin:0;position:absolute;overflow:hidden;box-shadow:0 .7rem 1.8rem #2c6da01f}.letter-photo:before{content:"";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#e4f2fc47;position:absolute;inset:-10%}.letter-photo img{z-index:1;object-fit:contain;width:100%;height:100%;display:block;position:relative}.slot-left-one{top:2%;left:-3.5%;transform:rotate(-8deg)}.slot-left-two{top:31%;left:-4%;transform:rotate(8deg)}.slot-left-three{top:68%;left:-3%;transform:rotate(-5deg)}.slot-right-one{top:1%;right:-3.5%;transform:rotate(7deg)}.slot-right-two{top:34%;right:-4%;transform:rotate(-7deg)}.slot-right-three{top:70%;right:-3%;transform:rotate(7deg)}.photo-grid{width:calc(100% - (var(--page-pad) * 2));aspect-ratio:1.045;grid-template-rows:1fr .8fr;grid-template-columns:1.21fr .98fr;gap:clamp(.48rem,1.9vw,1.1rem);margin:0 auto;display:grid}.photo{background:#dce9f2;border-radius:clamp(1.15rem,3.4vw,2rem);margin:0;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo-main{grid-row:1/3}.photo-main img{object-position:50% 50%}.photo-top img{object-position:50% 72%}.photo-bottom img{object-position:50% 56%}.cta-area{z-index:2;padding:clamp(3.4rem, 10vw, 6rem) var(--page-pad) clamp(5.8rem, 15vw, 9rem);position:relative}.letter-actions{z-index:2;padding:clamp(2.8rem, 8vw, 4.8rem) var(--page-pad) clamp(5.8rem, 15vw, 9rem);position:relative}.letter-continue{width:45%;min-width:12rem}.final-footer{z-index:2;padding:clamp(2rem, 5vw, 3rem) var(--page-pad) clamp(6.5rem, 16vw, 9.5rem);position:relative}.cta{color:#fff;background:linear-gradient(100deg,#56b3f5,#4aa9ef);border-radius:999px;justify-content:center;align-items:center;gap:clamp(1rem,4.6vw,2.75rem);width:73%;min-height:clamp(4.2rem,10.9vw,6.45rem);margin:0 auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,5vw,3rem);transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 0 2.4rem #45a9f36b}.cta:hover,.cta:focus-visible{transform:translateY(-2px);box-shadow:0 0 3rem #45a9f394}.arrow{font-family:Arial,sans-serif;font-size:1.15em;font-weight:200}.signature{color:var(--blue);justify-content:center;align-items:center;gap:clamp(1rem,3.4vw,2rem);margin-top:clamp(3rem,8.6vw,5.2rem);display:flex}.signature span{background:currentColor;width:10%;height:1.5px}.signature p{letter-spacing:.32em;white-space:nowrap;margin:0;font-size:clamp(.64rem,2vw,1.15rem)}.waves{z-index:1;height:clamp(8rem,20vw,12rem);position:absolute;inset:auto -14% -1px;overflow:hidden}.waves i,.waves b{background:#ceebffc7;border-radius:50% 50% 0 0/35% 35% 0 0;width:104%;height:150%;position:absolute;left:-2%}.waves i{top:40%;transform:rotate(5deg)}.waves b{background:#b9e0fca6;top:58%;transform:rotate(-4deg)}@media (width<=520px){.letter-card{width:74%}.letter-photo{width:31%}.slot-left-one,.slot-left-two,.slot-left-three{left:-10%}.slot-right-one,.slot-right-two,.slot-right-three{right:-10%}}@media (width<=350px){.hero h1{font-size:2.35rem}.hero p br{display:none}.letter-card{font-size:.65rem}.final-hero h1{font-size:2.2rem}}@media (width>=60rem){body{padding:2rem 0}.love-page,.letter-page,.final-page{border-radius:1.5rem;box-shadow:0 1.5rem 5rem #205d8c1f}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}
