/*! 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;-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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#17120f;--cream:#f3ecdf;--paper:#fffaf0;--gold:#c49a4b;--wine:#6b1824}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit}.site{background:var(--cream);overflow:hidden}.opening{min-height:100svh;color:var(--paper);isolation:isolate;background:radial-gradient(circle at 50% 36%,#4a2624 0,#221512 42%,#100c0b 100%);align-content:center;place-items:center;gap:28px;display:grid;position:relative}.opening:before,.opening:after{content:"";z-index:-1;border:1px solid #c49a4b38;border-radius:50%;width:40vw;height:70vh;position:absolute;transform:rotate(25deg)}.opening:after{width:55vw;height:45vh;transform:rotate(-38deg)}.grain{opacity:.11;pointer-events:none;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='.5'/%3E%3C/svg%3E");position:absolute;inset:0}.eyebrow,.kicker,.section-number,.footer-note{text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:700}.envelope{aspect-ratio:1.55;cursor:pointer;perspective:1000px;filter:drop-shadow(0 28px 35px #00000059);background:0 0;border:0;width:min(78vw,440px);position:relative}.envelope-back,.envelope-front,.envelope-flap{background:#e9ddc6;position:absolute;inset:0}.envelope-back{border-radius:3px}.envelope-front{clip-path:polygon(0 32%,50% 73%,100% 32%,100% 100%,0 100%);z-index:3;background:linear-gradient(145deg,#f5ead5,#d9c6a6)}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 68%);transform-origin:top;z-index:4;background:#f1e5ce;transition:transform .75s cubic-bezier(.2,.7,.1,1),z-index .2s .35s}.letter{background:var(--paper);height:88%;color:var(--ink);z-index:2;flex-direction:column;align-items:center;padding:28px 12px;transition:transform .9s cubic-bezier(.17,.85,.26,1) .35s;display:flex;position:absolute;top:6%;left:6%;right:6%}.monogram{border:1px solid var(--gold);border-radius:50%;place-items:center;width:50px;height:50px;font-family:Georgia,serif;display:grid}.letter-title{margin-top:18px;font-family:Georgia,serif;font-size:clamp(20px,4vw,30px);font-style:italic}.letter-date{color:#786d5e;letter-spacing:.22em;margin-top:12px;font-size:10px}.seal{z-index:5;background:var(--wine);color:#efd9a8;border-radius:50%;place-items:center;width:54px;height:54px;font:italic 25px Georgia,serif;transition:opacity .2s .15s;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px #3d0c13,inset 0 0 0 5px #ffffff14}.is-open .envelope-flap{z-index:1;transform:rotateX(180deg)}.is-open .letter{transform:translateY(-62%)}.is-open .seal{opacity:0}.open-label{color:var(--paper);text-transform:uppercase;letter-spacing:.2em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff73;padding:0 0 7px;font-size:10px}.sparkles i{--angle:calc(var(--i) * 12.86deg);background:hsl(calc(24 + var(--i) * 2) 68% 58%);opacity:0;border-radius:2px;width:7px;height:12px;position:absolute;top:51%;left:50%}.is-open .sparkles i{animation:burst 1.5s calc(var(--i) * 18ms) ease-out forwards}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-43vh) rotate(210deg)}}.hero{background:var(--paper);grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.hero-photo{min-height:720px;position:relative;overflow:hidden}.hero-photo:after{content:"";background:linear-gradient(90deg,#0000 75%,#fffaf08c);position:absolute;inset:0}.hero-photo img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.year-mark{color:#ffffffb8;letter-spacing:-.08em;font:clamp(70px,11vw,170px)/1 Georgia,serif;position:absolute;bottom:15px;left:24px}.hero-copy{flex-direction:column;justify-content:center;padding:8vw 7vw;display:flex}.kicker{color:var(--wine)}.hero h1{letter-spacing:-.07em;margin:28px 0 22px;font:clamp(64px,8vw,128px)/.78 Georgia,serif}.hero h1 em,.story h2 em{color:var(--wine);font-weight:400}.intro{color:#635950;max-width:390px;line-height:1.7}.hero h2{margin:14px 0 28px;font:italic 400 clamp(28px,3.4vw,52px)/1.08 Georgia,serif}.event-date{text-transform:uppercase;letter-spacing:.16em;border-block:1px solid #ccbfa9;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:15px 0;font-size:10px;display:grid}.event-date strong{color:var(--wine);font:52px Georgia,serif}.event-date span:last-child{text-align:right}.quote{color:#756a5f;margin:32px 0 0;font:italic 16px/1.7 Georgia,serif}.story{background:var(--cream);padding:9vw 7vw 10vw}.section-number{color:var(--wine);border-bottom:1px solid #c9bba6;padding-bottom:18px}.story-heading{grid-template-columns:1.3fr .7fr;align-items:end;gap:8vw;margin:65px 0 80px;display:grid}.story-heading h2,.finale h2{letter-spacing:-.05em;margin:0;font:clamp(46px,7vw,100px)/.96 Georgia,serif}.story-heading p{color:#625950;margin:0;line-height:1.85}.photo-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:24px;display:grid}.photo-card{margin:0}.photo-card img{object-fit:cover;filter:saturate(.88)contrast(1.03);width:100%;height:100%;display:block}.photo-card figcaption{text-transform:uppercase;letter-spacing:.2em;margin-top:11px;font-size:9px}.photo-1{grid-column:1/6}.photo-1 img{aspect-ratio:4/5}.photo-2{grid-column:7/13;margin-top:120px}.photo-2 img{aspect-ratio:4/5}.photo-3{grid-column:2/8;margin-top:-50px}.photo-3 img{aspect-ratio:1.25}.photo-4{grid-column:9/13;margin-top:80px}.photo-4 img{aspect-ratio:3/4}.finale{text-align:center;min-height:95vh;color:var(--paper);background:radial-gradient(circle at 50% 40%,#51292a,#1a1110 65%);flex-direction:column;align-items:center;padding:8vw 7vw 5vw;display:flex}.finale .section-number{color:#d9b66e;border-color:#fff3;width:100%}.finale h2{max-width:1000px;margin:11vh 0 30px}.finale>p:not(.section-number):not(.footer-note){color:#cbbfb2;max-width:600px;line-height:1.75}.share-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.16em;background:0 0;border:1px solid #d6ba79;border-radius:99px;margin:35px 0;padding:17px 20px 17px 27px;font-size:10px}.share-button span{color:#251714;background:#d6ba79;border-radius:50%;place-items:center;width:35px;height:35px;margin-left:18px;font-size:18px;display:inline-grid}.signature{color:#dfc381;margin-top:auto;font:italic clamp(42px,6vw,86px) Georgia,serif}.footer-note{opacity:.65;margin-top:30px}@media (max-width:760px){.opening{gap:22px}.hero{grid-template-columns:1fr}.hero-photo{min-height:72vh}.hero-photo:after{background:linear-gradient(0deg,var(--paper),transparent 20%)}.hero-copy{padding:70px 7vw 85px}.hero h1{font-size:19vw}.story{padding-top:75px}.story-heading{grid-template-columns:1fr;margin:45px 0 55px}.story-heading h2,.finale h2{font-size:13vw}.photo-grid{gap:13px}.photo-1{grid-column:1/8}.photo-2{grid-column:8/13;margin-top:70px}.photo-3{grid-column:2/13;margin-top:18px}.photo-4{grid-column:5/13;margin-top:18px}.finale{min-height:100svh;padding-top:70px}.finale h2{margin-top:10vh}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
