/*! 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}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--wine:#641f32;--wine-dark:#3d1420;--rose:#b97775;--gold:#c69a50;--ink:#302625;--paper:#f8f0e5;--cream:#fffaf2;--line:#3d142029}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), sans-serif;margin:0;font-size:16px;line-height:1.75;overflow-x:hidden}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,.signature,.names,.seal{font-family:var(--font-display), serif;font-weight:500}.hero{min-height:100svh;color:var(--cream);text-align:center;background:radial-gradient(circle at 50% 48%,#b9777557,#0000 28%),linear-gradient(145deg,#531729,#731f38 55%,#43121f);place-items:center;padding:72px 24px 54px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;border:1px solid #c69a508c;position:absolute;inset:18px}.heroInner{z-index:2;width:min(980px,100%);position:relative}.eyebrow,.kicker{color:var(--gold);letter-spacing:.28em;text-transform:uppercase;margin-bottom:24px;font-size:.69rem;font-weight:700}.rings{width:68px;height:40px;margin:0 auto 25px;position:relative}.rings span{border:1.5px solid var(--gold);border-radius:50%;width:38px;height:38px;position:absolute}.rings span:first-child{left:4px}.rings span:last-child{right:4px}.hero h1{color:var(--cream);letter-spacing:-.055em;margin-bottom:38px;font-size:clamp(4.6rem,12vw,10.2rem);line-height:.76}.heroLead{color:#fffaf2c7;font-family:var(--font-display), serif;margin-bottom:38px;font-size:clamp(1.25rem,2.5vw,1.7rem);font-style:italic;line-height:1.4}.openLetter{letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid #fffaf27a;padding-bottom:5px;font-size:.66rem;font-weight:700;text-decoration:none}.openLetter span{margin-left:12px;animation:1.8s ease-in-out infinite drift;display:inline-block}.confetti{border:1px solid #c69a5080;border-radius:50%;width:13px;height:72px;position:absolute;transform:rotate(37deg)}.confetti:before,.confetti:after{content:"";background:#fffaf27a;border-radius:50%;width:8px;height:8px;position:absolute}.confetti:before{top:-65px;left:40px}.confetti:after{background:var(--gold);bottom:-76px;right:33px}.confettiOne{top:19%;left:10%}.confettiTwo{bottom:22%;right:13%;transform:rotate(-34deg)scale(.8)}.confettiThree{top:10%;right:25%;transform:rotate(67deg)scale(.55)}@keyframes drift{50%{transform:translateY(5px)}}.section{padding:clamp(94px,12vw,168px) max(24px,50vw - 580px)}.section h2{color:var(--wine-dark);letter-spacing:-.04em;margin-bottom:28px;font-size:clamp(2.9rem,6.5vw,5.6rem);line-height:.95}.letterSection{background:radial-gradient(circle at 15% 10%, #c69a5021, transparent 22%), var(--paper)}.letter{border:1px solid var(--line);background:var(--cream);text-align:center;width:min(900px,100%);margin:0 auto;padding:clamp(42px,7vw,86px);position:relative;box-shadow:0 34px 90px #3d142017}.letter:before{content:"";pointer-events:none;border:1px solid #c69a5047;position:absolute;inset:10px}.letterTop{color:#3026258a;letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;margin-bottom:58px;font-size:.59rem;font-weight:700;display:flex}.letterTop p{margin-bottom:0}.seal{background:var(--wine);width:72px;height:72px;color:var(--paper);white-space:nowrap;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 42px;font-size:1.45rem;line-height:1;display:flex;box-shadow:0 5px #4b1626,0 9px 22px #3d14202e}.seal span{color:var(--gold);margin:0 2px;font-size:.7em}.letter h2{max-width:700px;margin-left:auto;margin-right:auto}.letterText{color:#302625c7;text-align:left;max-width:660px;margin:42px auto 0;font-size:1.02rem}.letterText p{margin-bottom:24px}.letterText p:first-child:first-letter{float:left;color:var(--wine);font-family:var(--font-display), serif;margin:10px 8px 0 0;font-size:4.5rem;line-height:.65}.signature{color:var(--wine);margin:44px 0 0;font-size:1.75rem;font-style:italic}.wishes{background:#eadccf}.sectionHeading{max-width:790px;margin-bottom:72px}.wishGrid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.wish{border-right:1px solid var(--line);padding:34px clamp(18px,3vw,42px) 12px}.wish:first-child{padding-left:0}.wish:last-child{border-right:0;padding-right:0}.wish>span{color:var(--gold);font-family:var(--font-display), serif;font-size:1.25rem}.wish h3{color:var(--wine-dark);margin:25px 0 14px;font-size:2rem;line-height:1}.wish p{color:#302625ad;font-size:.92rem}.toast{background:var(--wine-dark);color:var(--cream);text-align:center;position:relative;overflow:hidden}.toast .kicker{color:var(--gold)}.toast h2{color:var(--cream);margin-bottom:30px;font-size:clamp(7rem,19vw,16rem);line-height:.7}.toastText{color:#fffaf2b8;font-family:var(--font-display), serif;font-size:clamp(1.2rem,2.3vw,1.65rem);font-style:italic;line-height:1.6}.glasses{width:190px;height:180px;margin:44px auto 0;position:relative}.glass{border:1.5px solid var(--gold);transform-origin:bottom;border-radius:5px 5px 30px 30px;width:64px;height:96px;position:absolute;top:4px}.glass:before{content:"";background:var(--gold);width:1px;height:58px;position:absolute;top:94px;left:50%}.glass:after{content:"";background:var(--gold);width:58px;height:1px;position:absolute;top:151px;left:50%;transform:translate(-50%)}.glass span{background:linear-gradient(#c69a5026,#c69a509e);border-radius:0 0 25px 25px;position:absolute;inset:44px 4px 4px}.glassLeft{left:30px;transform:rotate(19deg)}.glassRight{right:30px;transform:rotate(-19deg)}.sparkles i{background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute}.sparkles i:first-child{top:25%;left:15%}.sparkles i:nth-child(2){width:8px;height:8px;top:20%;right:18%}.sparkles i:nth-child(3){bottom:25%;left:25%}.sparkles i:nth-child(4){bottom:18%;right:29%}.sparkles i:nth-child(5){width:3px;height:3px;top:12%;left:50%}.finale{text-align:center}.finale h2{max-width:800px;margin-left:auto;margin-right:auto}.finale>p:not(.kicker):not(.names){color:#302625ad}.heart{color:var(--wine);margin:50px 0 32px;font-size:1.4rem}.names{color:var(--wine-dark);margin-bottom:0;font-size:clamp(3rem,7vw,6rem);line-height:1}.names span{color:var(--gold);font-size:.6em;font-style:italic}footer{background:var(--wine-dark);color:#fffaf299;letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;padding:24px max(24px,50vw - 580px);font-size:.61rem;font-weight:700;display:flex}footer p{margin:0}.openLetter:focus-visible{outline:2px solid var(--gold);outline-offset:6px}@media (width<=760px){.hero{padding-top:84px}.hero:before{inset:11px}.hero h1{font-size:clamp(4.25rem,22vw,6.7rem)}.letterTop{flex-direction:column;align-items:center;gap:4px}.letterText{font-size:.96rem}.wishGrid{grid-template-columns:1fr}.wish,.wish:first-child,.wish:last-child{border-right:0;border-bottom:1px solid var(--line);padding:30px 0}.wish:last-child{border-bottom:0}.toast h2{font-size:8.5rem}footer{text-align:center;flex-direction:column;align-items:center;gap:5px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.openLetter span{animation:none}}
