/*! 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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}}:root{--cream:#f8f1e9;--paper:#fffaf4;--ink:#392b2c;--muted:#806f6d;--rose:#b85f68;--rose-dark:#81414a;--wine:#482f34;--line:#53363924}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{color:inherit;font:inherit}button:focus-visible{outline-offset:4px;outline:3px solid #cd77807a}.site-shell{isolation:isolate;background:radial-gradient(circle at 18% 12%, #e2a9ab42, transparent 28%), radial-gradient(circle at 84% 88%, #c582892e, transparent 29%), var(--cream);place-items:center;min-height:100svh;padding:24px;display:grid;position:relative;overflow:hidden}.site-shell:before{content:"";border:1px solid var(--line);pointer-events:none;border-radius:30px;position:absolute;inset:18px}.ambient{z-index:-1;border:1px solid #b85f6829;border-radius:50%;width:180px;height:180px;position:absolute}.ambient:after{content:"";border-radius:inherit;border:1px solid #b85f681a;position:absolute;inset:22px}.ambient-one{top:-80px;left:-90px}.ambient-two{width:240px;height:240px;bottom:-60px;right:-110px}.welcome-card{text-align:center;flex-direction:column;align-items:center;width:min(100%,680px);animation:.7s cubic-bezier(.2,.8,.2,1) both arrive;display:flex}.eyebrow{color:var(--rose-dark);letter-spacing:.18em;text-transform:uppercase;font-size:.71rem;font-weight:750;display:inline-block}.heart-mark{width:58px;height:58px;color:var(--rose);border:1px solid #b85f6859;border-radius:50%;place-items:center;margin:34px auto 25px;font:2rem/1 Georgia,serif;display:grid;box-shadow:0 12px 40px #77434814}h1,h2,h3{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{font-size:clamp(3rem,10vw,5.8rem);line-height:.98}h2{font-size:clamp(2.6rem,6vw,4.5rem);line-height:1.02}h3{font-size:clamp(2rem,5vw,3.25rem);line-height:1.08}.welcome-card p{max-width:540px;color:var(--muted);margin:24px auto 0;font-size:clamp(1rem,3vw,1.1rem);line-height:1.75}.primary-button{background:var(--ink);color:#fffaf4;cursor:pointer;border:0;border-radius:999px;margin-top:34px;padding:15px 22px 15px 26px;font-weight:650;transition:transform .2s,background .2s;box-shadow:0 12px 24px #392b2c29}.primary-button span{margin-left:10px}.primary-button:hover{background:var(--rose-dark);transform:translateY(-2px)}.welcome-card small{color:#9e8f8c;letter-spacing:.08em;margin-top:18px;font-size:.72rem}.experience{background:var(--cream);min-height:100vh;overflow:clip}.experience-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf4d6;border:1px solid #59393d1f;border-radius:999px;justify-content:space-between;align-items:center;width:min(100% - 36px,1050px);min-height:56px;padding:8px 10px 8px 20px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #46303214}.wordmark{cursor:pointer;background:0 0;border:0;font-family:Georgia,serif;font-size:.95rem;font-style:italic}.experience-nav nav{gap:4px;display:flex}.experience-nav nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 13px;font-size:.72rem;font-weight:650}.experience-nav nav button:hover{color:var(--rose-dark);background:#b85f6817}.page-section{padding:112px 28px;scroll-margin-top:82px;position:relative}.section-inner{width:min(100%,1050px);margin:0 auto}.narrow-inner{width:min(100%,850px)}.hero-section{background:radial-gradient(circle at 75% 25%,#d7979d3d,#0000 25%);align-items:center;min-height:100svh;padding-top:145px;display:grid}.hero-inner{z-index:1;position:relative}.hero-inner h1{max-width:760px;margin-top:18px}.hero-inner>p{max-width:590px;color:var(--muted);margin:28px 0 0;font-size:1.08rem;line-height:1.75}.text-button{color:var(--rose-dark);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #81414a59;margin-top:30px;padding:0 0 6px;font-weight:700}.text-button span{margin-left:10px}.signature-line{color:#9a8784;align-items:center;gap:14px;margin-top:58px;font-family:Georgia,serif;font-size:.88rem;font-style:italic;display:flex}.signature-line span{background:#b85f6880;width:44px;height:1px}.hero-orbit{pointer-events:none;border:1px solid #b85f6821;border-radius:50%;position:absolute}.orbit-one{width:390px;height:390px;top:-170px;right:-80px}.orbit-two{width:210px;height:210px;bottom:-100px;left:-70px}.section-heading{align-items:flex-start;gap:22px;margin-bottom:48px;display:flex}.section-number{border:1px solid var(--line);height:42px;color:var(--rose-dark);border-radius:50%;flex:0 0 42px;place-items:center;font-size:.68rem;font-weight:750;display:grid}.section-heading h2{margin-top:10px}.questions-section{background:#f2e8df}.question-card{background:var(--paper);border:1px solid #5336391c;border-radius:34px;padding:clamp(26px,5vw,58px);animation:.45s both arrive;position:relative;box-shadow:0 24px 70px #4e313512}.question-progress{gap:6px;display:flex;position:absolute;top:0;left:28px;right:28px}.question-progress span{background:#e8dcd3;flex:1;height:3px}.question-progress span.active{background:var(--rose)}.question-count{color:var(--rose-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px;font-size:.7rem;font-weight:750}.card-hint{color:var(--muted);margin:12px 0 28px;font-size:.9rem}.answer-grid{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.answer-option{border:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-radius:16px;justify-content:space-between;align-items:center;min-height:58px;padding:15px 18px;transition:transform .18s,border .18s,background .18s;display:flex}.answer-option:hover{border-color:#b85f6873;transform:translateY(-2px)}.answer-option.selected{border-color:var(--rose);background:#b85f6814}.answer-option>span:last-child{color:#bea6a2}.answer-option.selected>span:last-child{color:var(--rose-dark)}.answer-reveal{color:var(--rose-dark);background:#f3e7e2;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:22px;padding:17px 18px;animation:.35s both arrive;display:grid}.answer-reveal>span{font:1.5rem Georgia,serif}.answer-reveal p{margin:0;line-height:1.55}.answer-reveal button{cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:.76rem;font-weight:750}.letters-section{color:#fdf5ee;background:var(--wine)}.light-heading .section-number{color:#eab6bb;border-color:#ffffff2e}.light-heading .eyebrow{color:#eab6bb}.section-intro{color:#fff5eea3;max-width:540px;margin:-30px 0 42px 64px;line-height:1.7}.letter-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.letter-card{color:#fff9f4;cursor:pointer;text-align:left;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:126px;padding:24px;transition:background .2s,transform .2s;display:grid}.letter-card:hover{background:#ffffff14;transform:translateY(-3px)}.envelope{border:1px solid #eab6bb94;border-radius:3px;width:54px;height:38px;position:relative}.envelope:before,.envelope:after{content:"";background:#eab6bb94;width:31px;height:1px;position:absolute;top:7px}.envelope:before{left:0;transform:rotate(31deg)}.envelope:after{right:0;transform:rotate(-31deg)}.envelope i{color:#eab6bb;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.letter-copy{flex-direction:column;gap:7px;display:flex}.letter-copy strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:400}.letter-copy small{color:#fff5ee85}.open-label{color:#eab6bb;font-size:.72rem;font-weight:700}.memories-section{background:#f8f1e9;padding-bottom:150px}.photo-row{grid-template-columns:repeat(4,1fr);align-items:center;gap:14px;padding:35px 6px 20px;display:grid}.photo-placeholder{background:#fffdf9;width:100%;margin:0;padding:10px 10px 38px;box-shadow:0 18px 36px #482f3424}.photo-window{aspect-ratio:4/5;background:linear-gradient(145deg,#e9d8d0,#f4e7df);overflow:hidden}.photo-window img{object-fit:cover;width:100%;height:100%;display:block}.photo-4 .photo-window img{object-position:64% center}.photo-placeholder figcaption{text-align:center;margin-top:18px;font-family:Georgia,serif;font-size:.9rem;font-style:italic}.photo-1{transform:rotate(-5deg)translateY(10px)}.photo-2{z-index:2;position:relative;transform:rotate(2deg)translateY(-10px)}.photo-3{transform:rotate(5deg)translateY(14px)}.photo-4{transform:rotate(-2deg)translateY(-4px)}.tibhirine-note{border:1px solid var(--line);text-align:center;background:#fffaf4b8;border-radius:28px;width:min(100%,760px);margin:70px auto 0;padding:clamp(30px,6vw,56px);position:relative;box-shadow:0 18px 55px #482f340f}.tibhirine-note:before{content:"♡";background:var(--cream);width:46px;height:46px;color:var(--rose);border:1px solid #b85f6840;border-radius:50%;place-items:center;font:1.5rem Georgia,serif;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.tibhirine-note h3{margin-top:12px}.tibhirine-note p{max-width:610px;color:var(--muted);margin:20px auto 0;font-family:Georgia,serif;font-size:1.04rem;line-height:1.75}.turnip-moment{width:min(100%,620px);margin:28px auto 0}.turnip-trigger{width:100%;color:var(--rose-dark);cursor:pointer;background:0 0;border:1px dashed #81414a47;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:13px 18px;font-size:.73rem;font-weight:700;display:flex}.turnip-trigger>span:first-child{background:#b85f681a;border-radius:50%;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:.85rem;display:grid}.turnip-reveal{background:var(--wine);color:#fff8f2;text-align:left;border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:20px;margin-top:13px;padding:24px;animation:.35s both arrive;display:grid}.turnip-stamp{color:#eab6bb;border:1px solid #eab6bb59;border-radius:50%;place-items:center;width:72px;height:72px;font-family:Georgia,serif;display:grid}.turnip-reveal h3{letter-spacing:-.02em;font-size:1.45rem}.turnip-reveal p{color:#fff8f2a3;margin:8px 0 0;font-size:.88rem;line-height:1.6}.hand-note{color:var(--muted);text-align:center;margin:36px 0 0;font-family:Georgia,serif;font-style:italic}.date-section{background:#e8d6cd}.date-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.date-card{cursor:pointer;text-align:left;background:#fffaf48c;border:1px solid #56383b21;border-radius:20px;grid-template-columns:48px 1fr 18px;align-items:center;gap:16px;min-height:116px;padding:22px;transition:background .2s,transform .2s;display:grid}.date-card:hover{background:#fffaf4c7;transform:translateY(-2px)}.date-card.chosen{border-color:var(--rose);background:var(--paper);box-shadow:inset 0 0 0 1px var(--rose)}.date-icon{width:46px;height:46px;color:var(--rose-dark);background:#b85f681c;border-radius:50%;place-items:center;display:grid}.date-card>span:nth-child(2){flex-direction:column;gap:7px;display:flex}.date-card strong{font-family:Georgia,serif;font-size:1.13rem;font-weight:400}.date-card small{color:var(--muted);line-height:1.45}.choice-dot{border:1px solid #b99c99;border-radius:50%;width:16px;height:16px}.chosen .choice-dot{border:4px solid var(--rose)}.date-confirmation{background:var(--wine);color:#fff9f4;border-radius:20px;flex-direction:column;gap:7px;margin-top:18px;padding:24px;animation:.35s both arrive;display:flex}.date-confirmation>span{color:#eab6bb;letter-spacing:.14em;text-transform:uppercase;font-size:.69rem;font-weight:750}.date-confirmation strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.date-confirmation small{color:#fff9f499}.surprise-section{color:#fff8f2;background:#2e2325;align-items:center;min-height:86svh;display:grid}.surprise-inner{text-align:center}.surprise-inner .eyebrow{color:#e7aab0}.surprise-inner h2{max-width:700px;margin:13px auto 0}.surprise-inner>p{color:#fff8f29e;margin:18px auto 0}.secret-heart{color:#e7aab0;cursor:pointer;background:#ffffff09;border:1px solid #e7aab06b;border-radius:50%;place-items:center;width:110px;height:110px;margin:38px auto 18px;transition:transform .15s,background .2s;display:grid;box-shadow:0 0 0 12px #e7aab009}.secret-heart:active{transform:scale(.91)}.secret-heart span{font:3.7rem/1 Georgia,serif}.tap-progress{justify-content:center;gap:7px;margin-bottom:10px;display:flex}.tap-progress span{border:1px solid #d49da3;border-radius:50%;width:5px;height:5px}.tap-progress .filled{background:#e7aab0}.surprise-inner>small{color:#fff8f26b;font-family:Georgia,serif;font-style:italic}.final-letter{width:min(100%,770px);margin:auto;animation:.75s both finalReveal}.final-mark{color:#e7aab0;border:1px solid #e7aab066;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 24px;font:2.4rem Georgia,serif;display:grid}.final-letter p{color:#fff8f2ba;margin:24px auto 0;font-family:Georgia,serif;font-size:clamp(1.1rem,3vw,1.35rem);line-height:1.75}.final-signature{color:#e7aab0;margin-top:34px;font-family:Georgia,serif;font-style:italic}.reaction-section{background:#f2e8df}.reaction-inner{text-align:center;width:min(100%,820px)}.reaction-inner h2{margin-top:12px}.reaction-inner>p{color:var(--muted);margin:18px auto 34px}.reaction-grid{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.reaction-option{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fffaf49e;border-radius:16px;justify-content:space-between;align-items:center;min-height:62px;padding:16px 19px;transition:transform .18s,border .18s,background .18s;display:flex}.reaction-option:hover{border-color:#b85f6873;transform:translateY(-2px)}.reaction-option span{color:#b99a98;font:1.3rem Georgia,serif}.reaction-option.selected{border-color:var(--rose);background:var(--paper);box-shadow:inset 0 0 0 1px var(--rose)}.reaction-option.selected span{color:var(--rose)}.reaction-send{background:var(--wine);color:#fff9f4;border-radius:20px;flex-direction:column;align-items:center;gap:15px;margin-top:24px;padding:24px;animation:.35s both arrive;display:flex}.reaction-send p{color:#fff9f4b8;margin:0}.reaction-send a{color:var(--wine);background:#fff8f1;border-radius:999px;align-items:center;gap:10px;padding:13px 18px;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-flex}footer{color:#8c7674;background:var(--cream);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:18px;min-height:90px;padding:20px;font-size:.69rem;display:flex}footer span:nth-child(2){color:var(--rose);font:1.2rem Georgia,serif}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e1416b3;place-items:center;padding:22px;animation:.2s both fadeIn;display:grid;position:fixed;inset:0}.note-modal{width:min(100%,560px);color:var(--ink);background:#fffaf0;border-radius:8px;padding:clamp(34px,7vw,62px);animation:.35s both arrive;position:relative;box-shadow:0 30px 100px #00000047}.note-modal:after{content:"";pointer-events:none;border:1px solid #b85f6829;position:absolute;inset:12px}.modal-close{z-index:2;cursor:pointer;background:0 0;border:0;border-radius:50%;width:36px;height:36px;font-size:1.5rem;position:absolute;top:16px;right:18px}.modal-kicker{color:var(--rose-dark);letter-spacing:.16em;text-transform:uppercase;font-size:.67rem;font-weight:750}.note-modal h2{margin-top:12px;font-size:clamp(2rem,6vw,3rem)}.note-rule{background:var(--rose);width:46px;height:1px;margin:24px 0}.note-modal p{color:#665456;margin:0;font-family:Georgia,serif;font-size:1.08rem;line-height:1.8}.note-signature{color:var(--rose-dark);margin-top:28px;font-family:Georgia,serif;font-style:italic}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes finalReveal{0%{opacity:0;filter:blur(4px);transform:scale(.97)}to{opacity:1;filter:blur();transform:scale(1)}}@media (width<=760px){.experience-nav{justify-content:center;width:auto;min-width:150px;padding:8px 18px}.experience-nav nav{display:none}.page-section{padding:90px 20px}.hero-section{padding-top:130px}.hero-inner h1{font-size:clamp(3.2rem,15vw,5rem)}.section-heading{gap:14px;margin-bottom:34px}.section-number{flex-basis:36px;height:36px}.answer-grid,.letter-grid,.date-grid,.reaction-grid{grid-template-columns:1fr}.answer-reveal{grid-template-columns:auto 1fr}.answer-reveal button{grid-column:2;justify-self:start;padding:8px 0}.section-intro{margin:-18px 0 32px 50px}.letter-card{grid-template-columns:54px 1fr}.open-label{grid-column:2}.photo-row{grid-template-columns:repeat(2,1fr);gap:8px;padding-inline:14px}.photo-placeholder{padding:7px 7px 28px}.photo-placeholder figcaption{margin-top:11px;font-size:.68rem}.photo-1{transform:rotate(-4deg)translateY(7px)}.photo-2{transform:rotate(2deg)translateY(-7px)}.photo-3{transform:rotate(3deg)translateY(8px)}.photo-4{transform:rotate(-2deg)translateY(-5px)}.tibhirine-note{margin-top:58px}.turnip-reveal{text-align:center;grid-template-columns:1fr}.turnip-stamp{margin:0 auto}.hand-note{margin-top:24px}footer{flex-direction:column;gap:7px}}@media (width<=430px){.site-shell{padding:34px}.site-shell:before{border-radius:24px;inset:10px}.welcome-card p{line-height:1.65}.question-card{border-radius:24px}.answer-option{min-height:54px}.letter-card{padding:19px}.date-card{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
