/*! 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)}.hidden{display:none}.table{display:table}}:root{--ink:#29231f;--espresso:#211b18;--paper:#f6f1e8;--paper-deep:#ede3d3;--taupe:#a79a8d;--olive:#74755e;--gold:#b49764;--line:#3d31282e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Avenir Next,Segoe UI,sans-serif}main{overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.footer-monogram{letter-spacing:.1em;font-family:Didot,Bodoni MT,Georgia,serif;font-size:1.45rem}.footer-monogram span{color:var(--gold);font-style:italic}.cover{isolation:isolate;text-align:center;background:#f5f0e7;justify-content:center;align-items:center;min-height:100svh;padding:7rem 1.5rem 4.7rem;display:flex;position:relative;overflow:hidden}.cover-scene{z-index:-2;position:absolute;inset:0}.cover-scene:after{content:"";pointer-events:none;background:radial-gradient(#0000 25%,#faf6ed1a 100%);position:absolute;inset:0}.cover-scene img{object-fit:cover;object-position:center;width:100%;height:100%}.cover-copy{color:var(--espresso);max-width:62rem;position:relative}.eyebrow{color:var(--olive);letter-spacing:.19em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.68rem;font-weight:600}.cover .eyebrow{color:#82745e}.cover-crest{mix-blend-mode:multiply;object-fit:contain;width:auto;height:clamp(5.75rem,10vw,8.3rem);margin:-.8rem auto .75rem;display:block}.cover h1,h2,h3,.gift-quote,.date-number,.date-month{font-family:Didot,Bodoni MT,Palatino Linotype,Georgia,serif;font-weight:400}.cover h1{letter-spacing:-.06em;margin:0;font-size:clamp(3.1rem,8vw,7.4rem);line-height:.84}.cover h1 i{color:var(--gold);vertical-align:.1em;padding:0 .08em;font-size:.56em;font-weight:400}.cover-rule{justify-content:center;align-items:center;gap:.5rem;margin:2.15rem auto 1.45rem;display:flex}.cover-rule:before,.cover-rule:after{background:var(--gold);content:"";width:5.5rem;height:1px}.cover-rule span{background:var(--gold);width:.38rem;height:.38rem;transform:rotate(45deg)}.cover-date{letter-spacing:.09em;text-transform:uppercase;margin:0 0 .65rem;font-family:Didot,Georgia,serif;font-size:clamp(1rem,2.3vw,1.45rem)}.cover-date b{color:var(--gold);padding:0 .3em;font-weight:400}.cover-hashtag{color:#75634c;letter-spacing:.045em;text-shadow:0 1px #ffffffa8;margin:0 0 1.65rem;font-family:Didot,Georgia,serif;font-size:clamp(.92rem,1.6vw,1.13rem)}.button{letter-spacing:.12em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;gap:1.35rem;min-height:3.45rem;padding:.9rem 1.3rem;font-size:.7rem;font-weight:650;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:disabled{cursor:wait;opacity:.72;transform:none}.button-paper{background:var(--espresso);color:#f6f1e8}.button-light{background:var(--paper);color:var(--espresso);width:100%}.button span{color:var(--gold);font-size:1.1rem;line-height:0}.section-shell{max-width:76rem;margin:auto;padding:clamp(5.5rem,10vw,9rem) clamp(1.3rem,5vw,4.5rem);scroll-margin-top:1rem}.welcome{text-align:center;max-width:60rem}.welcome h2,.section-heading h2,.attire h2,.rsvp h2{letter-spacing:-.045em;margin:0;font-size:clamp(2.65rem,5vw,4.5rem);line-height:.99}.intro-copy{max-width:41rem;margin:2rem auto 0;font-family:Didot,Palatino Linotype,Georgia,serif;font-size:clamp(1.15rem,2vw,1.42rem);line-height:1.55}.details{border-top:1px solid var(--line)}.section-heading{margin-bottom:2.6rem}.details-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr;gap:1px;display:grid}.detail-card{background:var(--paper);min-height:20rem;padding:2rem}.card-label{color:var(--olive);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:650}.date-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.date-number{color:var(--gold);letter-spacing:-.1em;margin:.7rem 0;font-size:6.7rem;line-height:.7}.date-month{text-transform:uppercase;margin:0;font-size:1.3rem;line-height:1.12}.card-line{background:var(--gold);width:2.5rem;height:1px;margin:1.6rem 0 1.2rem}.date-card>p:last-child{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.73rem}.venue-card{flex-direction:column;display:flex}.detail-card h3{letter-spacing:-.04em;margin:1rem 0 .5rem;font-size:2rem;line-height:1.05}.venue-place{color:var(--gold);margin:0 0 1.45rem;font-family:Didot,Georgia,serif;font-size:1.28rem}.address,.ceremony-card>p:last-child{margin:0;font-size:.88rem;line-height:1.7}.text-link{border-bottom:1px solid var(--gold);letter-spacing:.1em;text-transform:uppercase;width:fit-content;margin-top:auto;padding-bottom:.35rem;font-size:.68rem;font-weight:650}.text-link span{color:var(--gold);margin-left:.3rem;font-size:1.05rem}.ceremony-card{background:var(--olive);color:#f4efe5;flex-direction:column;justify-content:center;display:flex}.ceremony-card .card-label{color:#d9c697}.attire{background:var(--paper-deep);max-width:none;padding-left:max(1.3rem,50vw - 33.5rem);padding-right:max(1.3rem,50vw - 33.5rem)}.attire-overview{gap:3.25rem;display:grid}.attire-copy{max-width:37rem}.attire-copy>p:not(.eyebrow){margin:1.5rem 0 0;font-family:Didot,Georgia,serif;font-size:1.18rem;line-height:1.55}.attire-copy .attire-note{color:#6f635a;max-width:32rem;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.82rem;line-height:1.55}.attire-palette-wrap{align-self:end}.palette-label{color:var(--olive);letter-spacing:.15em;text-transform:uppercase;margin:0 0 1.1rem;font-size:.66rem;font-weight:650}.palette{grid-template-columns:repeat(5,1fr);gap:1.25rem .8rem;margin:0;display:grid}.palette>div{text-align:center;min-width:0}.swatch{aspect-ratio:1;border:1px solid #251f1b26;border-radius:50%;width:100%;max-width:7.2rem;margin:auto;display:block}.charcoal{background:#3b3c3d}.taupe{background:#a79b91}.silver{background:#c7c7c5}.stone{background:#dedbd4}.cream{background:#f4eee3}.palette p{letter-spacing:.08em;text-transform:uppercase;margin:.65rem auto 0;font-size:.62rem;line-height:1.35}.attire-lookbook{border-top:1px solid var(--line);margin-top:clamp(4rem,8vw,6.4rem);padding-top:clamp(3.7rem,7vw,5.6rem)}.attire-lookbook-heading{gap:1rem;max-width:36rem;display:grid}.attire-lookbook-heading .eyebrow{margin-bottom:0}.attire-lookbook-heading h3{letter-spacing:-.045em;margin:0;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(2.25rem,4vw,3.55rem);font-weight:400;line-height:.98}.attire-lookbook-heading>p:last-child{color:#6f635a;margin:0;font-family:Didot,Georgia,serif;font-size:1.04rem;line-height:1.5}.attire-lookbook-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:2.6rem;display:grid}.attire-look{background:var(--paper);border:1px solid #3d31282e;display:grid;overflow:hidden}.attire-look-image{object-fit:cover;background:#f4eee3;width:100%;height:auto;display:block}.attire-look-copy{flex-direction:column;padding:clamp(1.35rem,4vw,2rem);display:flex}.attire-look-copy h4{letter-spacing:-.04em;margin:.75rem 0 1rem;font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(1.8rem,3vw,2.45rem);font-weight:400;line-height:1}.attire-look-copy>p:not(.card-label){color:#665b51;margin:0;font-family:Didot,Georgia,serif;font-size:.98rem;line-height:1.45}.attire-role-list{border-top:1px solid var(--line);gap:0;margin:1.65rem 0 0;display:grid}.attire-role-list>div{border-bottom:1px solid var(--line);gap:.45rem;padding:.9rem 0;display:grid}.attire-role-list dt{color:var(--olive);letter-spacing:.13em;text-transform:uppercase;font-size:.64rem;font-weight:650}.attire-role-list dd{margin:0;font-size:.78rem;line-height:1.5}.gift{text-align:center;max-width:59rem}.gift-quote{letter-spacing:-.035em;max-width:42rem;margin:0 auto 1.25rem;font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.15}.gift>p:last-child{max-width:33rem;margin:auto;font-size:.95rem;line-height:1.6}.rsvp{background:var(--espresso);color:var(--paper);max-width:none;padding-left:max(1.3rem,50vw - 33.5rem);padding-right:max(1.3rem,50vw - 33.5rem)}.rsvp-panel{grid-template-columns:1fr;gap:3.8rem;max-width:68rem;margin:auto;display:grid;position:relative}.rsvp .eyebrow{color:#d5bf91}.rsvp-heading p:not(.eyebrow){color:#d7cec0;max-width:27rem;margin:1.4rem 0 0;font-family:Didot,Georgia,serif;font-size:1.08rem;line-height:1.55}.rsvp-heading b{color:var(--paper);font-weight:400}.guest-note{border-left:1px solid #c9a970;max-width:28rem;margin-top:2.8rem;padding-left:1.1rem}.rsvp-heading .guest-note p{color:#cfc3b3;max-width:none;margin:0;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.78rem;line-height:1.65}.rsvp-heading .guest-note .guest-note-title{color:#e2c895;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.55rem;font-size:.66rem;font-weight:650}.rsvp-form{flex-direction:column;gap:1rem;display:flex}.rsvp-form label{color:#d9d0c4;letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:.55rem;font-size:.67rem;font-weight:650;display:flex}.rsvp-form em{letter-spacing:0;text-transform:none;font-style:normal;font-weight:400}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{color:var(--paper);background:0 0;border:1px solid #f6f1e852;border-radius:0;outline-color:#d5bf91;min-height:3.25rem;padding:.8rem}.rsvp-form textarea{resize:vertical}.rsvp-form option{color:var(--ink)}.rsvp-form ::placeholder{color:#a99f93}.form-error{color:#f0b9a7;text-align:center;margin:0;font-size:.8rem;line-height:1.5}.contact-note{color:#d7cec0;letter-spacing:.02em;text-align:center;max-width:68rem;margin:3rem auto 0;font-size:.75rem}.contact-note a{color:var(--paper);border-bottom:1px solid #d5bf91;padding-bottom:.2rem}footer{background:var(--paper);text-align:center;padding:4.6rem 1.25rem}footer>p:nth-child(2){margin:1rem auto;font-family:Didot,Georgia,serif;font-size:clamp(1.55rem,3vw,2.25rem)}.footer-hashtag{color:var(--taupe);letter-spacing:.08em;margin:0;font-size:.85rem}.thank-you-overlay{z-index:20;background:#211b18a3;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.thank-you-modal{background:radial-gradient(circle at 83% 9%, #b497642e, transparent 11rem), var(--paper);text-align:center;border:1px solid #b49764a3;width:min(100%,31rem);max-width:31rem;padding:clamp(2.3rem,7vw,4rem) clamp(1.4rem,6vw,3.4rem);position:relative;box-shadow:0 1.4rem 4rem #140f0c59}.thank-you-modal:before{content:"";pointer-events:none;border:1px solid #b4976473;position:absolute;inset:.55rem}.thank-you-modal .eyebrow{color:#82745e;margin-bottom:1rem;position:relative}.thank-you-modal h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,7vw,3.5rem);line-height:.94;position:relative}.thank-you-modal>p:not(.eyebrow){max-width:22rem;margin:1.35rem auto 2rem;font-family:Didot,Georgia,serif;font-size:1.06rem;line-height:1.55;position:relative}.thank-you-modal .button{position:relative}@media (max-width:639px){.cover{padding-top:6.75rem;padding-bottom:5.6rem}.cover-copy{top:-1.2rem}.cover-crest{height:5.6rem;margin-bottom:.55rem}.cover h1{font-size:clamp(3rem,14vw,4.3rem)}.cover-rule{margin:1.65rem auto 1.2rem}.cover-date{font-size:.94rem}.cover-hashtag{margin-bottom:1.4rem}}@media (min-width:640px){.details-grid{grid-template-columns:.78fr 1.25fr .97fr}.detail-card{min-height:25rem;padding:2.4rem}.rsvp-panel{grid-template-columns:.88fr 1.12fr}}@media (min-width:900px){.cover h1{white-space:nowrap}.attire-overview{grid-template-columns:.9fr 1.1fr;align-items:end;gap:8rem}.attire-lookbook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attire-look-image{aspect-ratio:3/2}}@media (prefers-reduced-motion:no-preference){.cover-scene img{animation:1.45s cubic-bezier(.16,1,.3,1) both scene-settle}.cover-copy{animation:1.1s cubic-bezier(.16,1,.3,1) .45s both cover-reveal}.thank-you-overlay{animation:.26s both overlay-in}.thank-you-modal{animation:.7s cubic-bezier(.16,1,.3,1) both thank-you-in}[data-reveal]{opacity:0;filter:blur(8px);transform:perspective(950px)translateY(74px)rotateX(8deg)scale(.96)}[data-reveal].is-visible{animation:.88s cubic-bezier(.16,1,.3,1) both scene-arrive}.is-visible .reveal-stagger>*{animation:.72s cubic-bezier(.16,1,.3,1) both card-rush}.is-visible .reveal-stagger>:nth-child(2){animation-delay:.12s}.is-visible .reveal-stagger>:nth-child(3){animation-delay:.24s}}@keyframes scene-settle{0%{filter:brightness(.91);transform:scale(1.07)}to{filter:brightness();transform:scale(1)}}@keyframes cover-reveal{0%{clip-path:inset(0 0 100%);opacity:0;transform:translateY(4rem)}to{clip-path:inset(0);opacity:1;transform:translateY(0)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes thank-you-in{0%{clip-path:inset(50%);opacity:0;transform:translateY(2.5rem)scale(.88)rotateX(12deg)}70%{opacity:1;transform:translateY(-.35rem)scale(1.015)rotateX(-1deg)}to{clip-path:inset(0);opacity:1;transform:translateY(0)scale(1)rotateX(0)}}@keyframes scene-arrive{0%{clip-path:inset(0 0 30%);opacity:0;filter:blur(8px);transform:perspective(950px)translateY(74px)rotateX(8deg)scale(.96)}62%{opacity:1;filter:blur();transform:perspective(950px)translateY(-7px)rotateX(-1deg)scale(1.01)}to{clip-path:inset(0);opacity:1;filter:blur();transform:perspective(950px)translateY(0)rotateX(0)scale(1)}}@keyframes card-rush{0%{clip-path:inset(0 0 100%);opacity:0;transform:translateY(52px)scale(.94)}70%{opacity:1;transform:translateY(-5px)scale(1.01)}to{clip-path:inset(0);opacity:1;transform:translateY(0)scale(1)}}
