/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}}:root{--paper:#eee8dc;--ink:#2f3029;--cream:#f8f3e8}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#292a24}body{color:var(--ink);background:#292a24;margin:0;font-family:Segoe UI,Arial,sans-serif}button{font:inherit}img{max-width:100%;display:block}.site-shell{background-color:var(--paper);background-image:radial-gradient(#6f6a5b1c .7px,#0000 .7px);background-size:7px 7px;width:min(100%,460px);min-height:100vh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 90px #0007}.hero{color:#f7f1e6;background:linear-gradient(160deg,#66634f 0%,#4f4f3f 48%,#37392f 100%);flex-direction:column;align-items:center;min-height:100svh;padding:38px 24px 26px;display:flex;position:relative;overflow:hidden}.grain{opacity:.24;pointer-events:none;background-image:repeating-linear-gradient(27deg,#0000 0 3px,#ffffff08 3px 4px);position:absolute;inset:0}.eyebrow{letter-spacing:.3em;text-transform:uppercase;opacity:.76;z-index:1;margin:4px 0 12px;font-size:10px}.hero h1{z-index:1;letter-spacing:-.07em;align-items:center;gap:9px;margin:0;font:700 clamp(43px,13vw,61px)/.82 Georgia,serif;display:flex}.hero h1 span:last-child{transform:translateY(19px)}.hero h1 i{color:#d7b48c;font:italic 400 27px/1 Georgia,serif}.anniv{z-index:1;margin:27px 0 0;font:italic 16px/1 Georgia,serif}.anniv strong{color:#d8b07f;vertical-align:-10px;margin-right:5px;font:600 55px/.8 Georgia,serif}.date{z-index:1;letter-spacing:.22em;margin:13px 0 5px;font-size:9px}.hero-collage{z-index:1;flex:1;width:100%;min-height:390px;margin-top:6px;position:relative}.hero-photo{background:#f8f5ee;margin:0;padding:9px 9px 30px;position:absolute;box-shadow:0 15px 30px #18191266}.hero-photo img{object-fit:cover;filter:saturate(.84)contrast(.96);width:100%;height:100%}.hero-photo-back{width:57%;height:280px;top:55px;left:4%;transform:rotate(-7deg)}.hero-photo-main{z-index:2;width:64%;height:318px;top:26px;right:4%;transform:rotate(5deg)}.hero-photo-main figcaption{color:#454338;text-align:center;margin-top:8px;font:italic 12px Georgia,serif}.tape{z-index:5;background:#d8c49dbb;border-left:2px dotted #695d48aa;border-right:2px dotted #695d48aa;width:83px;height:26px;position:absolute}.tape-one{top:19px;right:24%;transform:rotate(-9deg)}.doodle-heart{color:#d4b88f;z-index:4;font:70px/1 Georgia,serif;position:absolute;top:304px;right:1%;transform:rotate(14deg)}.sticker{z-index:4;text-align:center;color:#3d4035;text-transform:uppercase;letter-spacing:.1em;background:#d0c49c;border-radius:50%;place-content:center;width:86px;height:86px;font:700 10px/1.35 Georgia,serif;display:grid;position:absolute;bottom:18px;left:0;transform:rotate(-9deg);box-shadow:inset 0 0 0 3px #ece5d1,0 6px 15px #1115}.start-story{z-index:2;color:#eee4d5;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:12px;font-size:9px}.start-story span{margin-left:6px;animation:1.7s infinite bounce;display:inline-block}.music-pill{z-index:40;color:#fff;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);cursor:pointer;background:#2d2f29db;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:8px;padding:7px 12px 9px 8px;display:flex;position:fixed;top:14px;right:max(14px,50vw - 216px);overflow:hidden;box-shadow:0 7px 20px #0004}.music-pill:after{content:"";width:var(--music-progress);background:#d4b284;height:2px;transition:width .25s linear;position:absolute;bottom:0;left:0}.music-pill small{opacity:.55;letter-spacing:.16em;text-transform:uppercase;font-size:7px;display:block}.music-pill span:last-child{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:105px;font-size:10px;overflow:hidden}.music-icon{color:#292a24;background:#d4b284;border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;display:grid}.music-pill.playing .music-icon{animation:1.6s ease-in-out infinite pulse}.intro{text-align:center;padding:92px 38px 78px;position:relative}.tiny-label{color:#82745e;font:italic 13px Georgia,serif}.intro blockquote{letter-spacing:-.025em;color:#454538;margin:18px auto;font:italic 28px/1.22 Georgia,serif}.intro>p:last-of-type{color:#68675f;max-width:310px;margin:0 auto;font-size:12px;line-height:1.7}.thread-line{color:#8a806e;letter-spacing:.14em;justify-content:center;align-items:center;gap:13px;margin:48px auto 0;font-size:9px;display:flex}.thread-line b{background:#9e947f;width:110px;height:1px;position:relative}.thread-line b:after{content:"♡";background:var(--paper);padding:0 8px;font:18px Georgia,serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}.chapter{border-top:1px solid #7f78682b;padding:86px 22px 100px;position:relative;overflow:hidden}.chapter:before{content:"";background:var(--accent);opacity:.13;border-radius:50%;width:210px;height:210px;position:absolute;top:90px;right:-105px}.rose{--accent:#9f5d62;--soft:#dbc0b8}.sand{--accent:#9a774b;--soft:#dcc8a8}.charcoal{--accent:#625b54;--soft:#cbbdae}.sage{--accent:#5f725e;--soft:#c3cdbb}.blue{--accent:#58717a;--soft:#bdcdd0}.honey{--accent:#9a792c;--soft:#ded0a3}.lilac{--accent:#776176;--soft:#d3c0d1}.olive{--accent:#536041;--soft:#c6cbae}.chapter-head{z-index:2;max-width:370px;margin:0 auto 52px;position:relative}.year-stamp{color:#f9f5eb;background:var(--accent);box-shadow:4px 4px 0 var(--soft);padding:8px 13px;font:700 16px/1 Georgia,serif;display:inline-block;transform:rotate(-3deg)}.chapter-head>p{text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin:23px 0 7px;font-size:8px}.chapter-head h2{letter-spacing:-.035em;color:#3d3d35;max-width:350px;margin:0;font:italic 31px/1.08 Georgia,serif}.story-note{border-left:3px solid var(--accent);background:#f7f1e6cc;gap:14px;margin:25px 2px 0 18px;padding:15px 18px;display:flex;transform:rotate(-1deg);box-shadow:0 8px 22px #5149340c}.story-note span{color:var(--accent);font:700 9px/1.5 Georgia,serif}.story-note p{color:#646158;margin:0;font:12px/1.65 Segoe UI,sans-serif}.photo-stack{max-width:390px;min-height:860px;margin:0 auto;position:relative}.polaroid{color:#3d3b34;text-align:left;width:61%;transform:rotate(var(--rotate));cursor:zoom-in;background:#fbf8f1;border:0;margin:0;padding:10px 10px 38px;transition:transform .25s,box-shadow .25s;animation:linear both reveal;animation-timeline:view();animation-range:entry 5% cover 25%;position:absolute;box-shadow:0 14px 26px #4c453321}:is(.polaroid:hover,.polaroid:focus-visible){outline:2px solid var(--accent);outline-offset:4px;transform:rotate(0)scale(1.035);box-shadow:0 18px 33px #4c45333b;z-index:8!important}.polaroid img{object-fit:cover;filter:saturate(.86)contrast(.96);width:100%;height:265px}.polaroid span{padding:10px 4px 0;font:italic 12px/1.25 Georgia,serif;display:block}.polaroid:first-child{z-index:2;top:0;left:2%}.polaroid:nth-child(2){z-index:3;top:265px;right:1%}.polaroid:nth-child(3){z-index:4;top:535px;left:5%}.photo-stack.four-up{min-height:1130px}.photo-stack.four-up .polaroid:nth-child(4){z-index:5;top:805px;right:1%}.polaroid.wide{width:75%}.polaroid.tall img{height:325px}.chapter-sticker{z-index:6;border:2px solid var(--accent);max-width:90px;color:var(--accent);text-align:center;text-transform:uppercase;letter-spacing:.08em;background:#f1ebdf;border-radius:50%;padding:10px 13px;font:800 9px/1.1 Georgia,serif;position:absolute;top:123px;right:7px;transform:rotate(8deg)}.chapter-sticker:after{content:"✦";margin-left:5px}.film-roll{color:#393a31;background:#d8d0c1;border-top:1px solid #706b5e38;padding:92px 14px 100px}.film-roll header{text-align:center;padding:0 18px 48px}.film-roll header>p{color:#77705f;letter-spacing:.24em;text-transform:uppercase;margin:0 0 15px;font-size:8px}.film-roll h2{letter-spacing:-.04em;margin:0;font:700 31px/1.05 Georgia,serif}.film-roll h2 i{color:#686653;font-weight:400}.film-roll header>span{color:#f6f0e5;letter-spacing:.1em;text-transform:uppercase;background:#565746;margin-top:20px;padding:7px 11px;font-size:8px;display:inline-block;transform:rotate(-1deg)}.masonry-gallery{column-count:2;column-gap:10px}.gallery-photo{break-inside:avoid;width:100%;transform:rotate(var(--gallery-rotate));cursor:zoom-in;background:#f7f3eb;border:0;margin:0 0 10px;padding:6px;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 7px 16px #4d473524}.gallery-photo:nth-child(5n){padding-bottom:20px}.gallery-photo img{object-fit:cover;filter:saturate(.88)contrast(.96);width:100%;height:auto;max-height:320px}:is(.gallery-photo:focus-visible,.gallery-photo:hover){z-index:3;outline-offset:3px;outline:2px solid #555743;position:relative;transform:rotate(0)scale(1.02);box-shadow:0 11px 22px #4d473540}.roll-end{text-align:center;color:#77705f;margin:45px 0 0;font:italic 12px Georgia,serif}.finale{text-align:center;color:#f5efe4;background:#45473a;min-height:100svh;padding:96px 30px 52px;position:relative;overflow:hidden}.finale:before{content:"";opacity:.14;background-image:radial-gradient(#fff .6px,#0000 .6px);background-size:6px 6px;position:absolute;inset:0}.finale figure{color:#48443a;background:#faf7ef;width:72%;margin:0 auto 58px;padding:10px 10px 37px;position:relative;transform:rotate(-4deg);box-shadow:0 20px 38px #12130f66}.finale figure img{aspect-ratio:4/5;object-fit:cover;width:100%}.finale figcaption{margin-top:9px;font:italic 12px Georgia,serif}.final-tape{z-index:3;background:#c9b78cc9;width:86px;height:27px;position:absolute;top:82px;left:50%;transform:translate(-50%)rotate(4deg)}.script{color:#d4c4a6;max-width:320px;margin:0 auto 24px;font:italic 16px/1.55 Georgia,serif;position:relative}.finale h2{letter-spacing:-.04em;margin:0;font:700 34px/1.05 Georgia,serif;position:relative}.signature{justify-content:center;align-items:center;gap:10px;margin:36px auto;font:700 20px Georgia,serif;display:flex;position:relative}.signature i{color:#cbb893;font:italic 400 9px Georgia,serif}.final-music{color:#f5efe4;letter-spacing:.08em;cursor:pointer;background:#ffffff0a;border:1px solid #d5c5a155;border-radius:99px;padding:13px 20px;font-size:10px;position:relative}.final-music span{color:#d4b47e;margin-left:7px}.footer-date{letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin:50px 0 0;font-size:8px;position:relative}.lightbox{z-index:99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#181913ef;place-items:center;padding:36px 20px;animation:.2s both fadeIn;display:grid;position:fixed;inset:0}.lightbox figure{color:#403d34;background:#fbf8f1;width:min(92vw,410px);max-height:86vh;margin:0;padding:12px 12px 42px;transform:rotate(-1deg);box-shadow:0 20px 60px #0009}.lightbox img{object-fit:contain;width:100%;max-height:calc(86vh - 70px)}.lightbox figcaption{padding:12px 5px 0;font:italic 14px Georgia,serif}.lightbox-close{z-index:2;color:#fff;cursor:pointer;background:#0004;border:1px solid #fff5;border-radius:50%;width:38px;height:38px;font-size:25px;position:fixed;top:16px;right:max(16px,50vw - 214px)}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes pulse{50%{opacity:.5}}@keyframes reveal{0%{opacity:0;translate:0 30px}to{opacity:1;translate:0}}@keyframes fadeIn{0%{opacity:0}}@media (max-width:360px){.hero{padding-inline:17px}.hero h1{font-size:43px}.chapter{padding-inline:14px}.story-note{margin-left:5px}.polaroid{padding:8px 8px 34px}.polaroid img{height:235px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
