/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;--container-6xl:72rem;--blur-md:12px;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.z-20{z-index:20}.mx-auto{margin-inline:auto}.h-4{height:calc(var(--spacing) * 4)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-start{align-items:flex-start}.border{border-style:var(--tw-border-style);border-width:1px}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}:root{--terracotta:#a65e47;--terracotta-dark:#753f32;--clay:#c78568;--sage:#66705d;--sage-dark:#3f493d;--cream:#f7f0e7;--paper:#efe3d6;--ink:#3f3732;--white:#fffaf3;--serif:"Bodoni 72","Didot","Iowan Old Style","Times New Roman",serif;--sans:"Avenir Next","Helvetica Neue",Arial,sans-serif;--script:"Snell Roundhand","URW Chancery L","Brush Script MT",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;font-weight:300}body.envelope-locked,body.special-letter-open{overflow:hidden}button,input,textarea{font:inherit}.envelope-gate{opacity:1;visibility:visible;z-index:100;background:radial-gradient(circle at 50% 34%,#ffffffb3,#0000 31%),linear-gradient(145deg,#d8c1ae,#b66d56 56%,#754337);justify-content:center;align-items:center;transition:opacity 1s 1.3s,visibility 1s 1.3s;display:flex;position:fixed;inset:0;overflow:hidden}.envelope-gate:before{content:"";opacity:.35;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='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");position:absolute;inset:0}.envelope-gate.is-open{opacity:0;pointer-events:none;visibility:hidden}.envelope-scene{text-align:center;width:min(88vw,620px);position:relative}.envelope-scene>.eyebrow{color:var(--white);margin-bottom:2.4rem}.envelope{cursor:pointer;perspective:1400px;background:0 0;border:0;width:100%;height:min(54vw,350px);min-height:230px;padding:0;position:relative}.envelope-back,.envelope-flap,.envelope-front{position:absolute;inset:0}.envelope-back{background:#e5c8a5;box-shadow:0 35px 80px #3a1c1457}.letter{z-index:2;background:#f8efe3;flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:transform 1s .45s;display:flex;position:absolute;inset:7% 8% 5%;box-shadow:0 8px 22px #4b291f29}.letter:before{content:"";border:1px solid #a65e476b;position:absolute;inset:14px}.letter em,.letter small{color:var(--terracotta-dark);letter-spacing:.2em;text-transform:uppercase;font-size:.67rem;font-style:normal}.monogram{color:var(--terracotta-dark);font-family:var(--serif);font-size:clamp(2rem,7vw,4.5rem);line-height:1.3;display:block}.monogram i{font-family:var(--script);font-size:.82em;font-weight:400}.envelope-front{z-index:3;background:#d8ad80}.envelope-front,.envelope-front:after{clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}.envelope-front:after{content:"";background:#cf9e6e;position:absolute;inset:1px}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 61%);transform-origin:top;z-index:4;background:#ebccaa;transition:transform .7s}.wax-seal{color:#f4d7bd;font-family:var(--serif);z-index:5;background:radial-gradient(circle at 34% 27%,#c36c54,#873f31 72%);border:3px double #ffd7bc73;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:opacity .25s .15s,transform .45s;display:flex;position:absolute;left:calc(50% - 32px);box-shadow:0 5px 10px #49251b4d}.is-open .envelope-flap{z-index:1;transform:rotateX(180deg)}.is-open .wax-seal{opacity:0;transform:scale(.5)}.is-open .letter{transform:translateY(-66%)}.open-label{color:var(--white);cursor:pointer;letter-spacing:.22em;text-transform:uppercase;background:0 0;border:0;margin-top:2.5rem;font-size:.7rem}.music-player{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--terracotta-dark);z-index:20;background:#f7f0e7e6;border:1px solid #753f3229;border-radius:4px;align-items:center;gap:.75rem;width:230px;max-width:calc(100vw - 40px);padding:.65rem .8rem;display:flex;position:fixed;bottom:20px;left:20px;box-shadow:0 4px 16px #3026202e}.music-player>button{background:var(--terracotta);color:var(--white);cursor:pointer;border:0;border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;height:38px;padding-left:3px;font-size:.72rem;display:flex}.track-info{flex:1;min-width:0;display:grid}.track-info span{letter-spacing:.14em;text-transform:uppercase;font-size:.46rem}.track-info strong{font-family:var(--serif);font-weight:400;line-height:1.1}.track-info small{color:var(--sage);font-size:.56rem}.track-info input[type=range]{accent-color:var(--terracotta);width:100%;height:8px;margin-top:.25rem}.track-info em{color:var(--terracotta);margin-top:.22rem;font-size:.54rem}.hero{color:var(--white);text-align:center;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{filter:saturate(.75)contrast(1.03);transform:scale(1.01);background:url(/ermita-watercolor.png) 50% 64%/cover no-repeat!important}.hero-shade{background:linear-gradient(#31272082,#0000 25%),linear-gradient(#3d31290f,#46352c38 38%,#2d3429c7)}.hero-copy{text-shadow:0 2px 24px #271d196b;z-index:2;margin-top:-8vh;padding:2rem;position:relative}.eyebrow{letter-spacing:.32em;text-transform:uppercase;font-size:.8rem;font-weight:700}.hero h1{font-family:var(--serif);margin:1.8rem 0;font-size:clamp(3.5rem,13vw,8.5rem);font-weight:400;line-height:.82}.hero h1 span{font-family:var(--script);font-size:.7em;font-weight:400;line-height:.7;display:block}.fine-line{opacity:.65;background:currentColor;width:64px;height:1px;margin:0 auto 1.4rem}.date-line,.place-line{font-family:var(--serif);letter-spacing:.2em}.date-line{font-size:.82rem}.place-line{font-size:1.15rem;font-style:italic}.scroll-cue{color:inherit;letter-spacing:.2em;text-transform:uppercase;flex-direction:column;margin-top:4rem;font-size:.62rem;text-decoration:none;display:flex}.scroll-cue i{margin-top:.6rem;font-size:1.4rem;font-style:normal;animation:float 1.8s infinite}.section{text-align:center;min-height:70vh;padding:clamp(5rem,10vw,9rem) max(6vw,50vw - 590px);position:relative;overflow:hidden}.paper{background:linear-gradient(#f7f0e7e8,#f7f0e7e8),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='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}.terracotta{color:var(--terracotta)}.terracotta.bold{font-weight:700!important}.section h2{font-family:var(--serif);margin:1rem 0 1.5rem;font-size:clamp(2.7rem,7vw,5.2rem);font-weight:400;line-height:1}.lead{max-width:580px;font-size:clamp(1.15rem,2vw,1.5rem)}.lead,.lead-small{font-family:var(--serif);margin:0 auto;font-style:italic;line-height:1.7}.lead-small{text-align:justify;font-size:clamp(1.3rem,1.8vw,1.2rem)}.botanical{fill:#a65e4724;stroke:#66705d61;stroke-linecap:round;stroke-width:1.2px;width:min(25vw,190px);position:absolute;top:-25px;left:-35px}.botanical-right{left:auto;right:-35px;transform:scaleX(-1)}.countdown{grid-template-columns:repeat(4,1fr);gap:0;max-width:720px;margin:3.5rem auto;display:grid}.countdown div{border-right:1px solid #753f3240;padding:0 1rem}.countdown div:last-child{border:0}.countdown strong{color:var(--terracotta-dark);font-family:var(--serif);font-size:clamp(2rem,6vw,4rem);font-weight:400;display:block}.countdown span{letter-spacing:.16em;text-transform:uppercase;font-size:.58rem}.countdown-placeholder{height:120px}.button{background:var(--terracotta);border:1px solid var(--terracotta);color:var(--white);letter-spacing:.18em;text-transform:uppercase;padding:1rem 1.6rem;font-size:.66rem;text-decoration:none;transition:background .25s,color .25s;display:inline-block}.button:hover{color:var(--terracotta);background:0 0}.quote-section{color:var(--white);background:linear-gradient(#374234d6,#374234e8),url(/ermita-watercolor.png) 50% 74%/cover;justify-content:center;align-items:center;display:flex}.quote-card{border:1px solid #fffaf380;max-width:680px;padding:clamp(2.5rem,7vw,5rem);position:relative}.quote-card:before{content:"";border:1px solid #fffaf340;position:absolute;inset:8px}.quote-card .monogram{color:var(--white);font-size:2.2rem}blockquote{font-family:var(--serif);margin:2rem 0;font-size:clamp(1.6rem,4vw,2.7rem);font-style:italic;line-height:1.45}.ornament{opacity:.7}.venue{text-align:left;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(2rem,6vw,6rem);display:grid}.venue-art{min-height:650px;position:relative;overflow:hidden;box-shadow:0 25px 55px #4732262e}.venue-art:after{content:"";border:1px solid #fffaf3cc;position:absolute;inset:18px}.venue-art img{object-fit:cover;width:100%;height:100%}.venue-copy{align-self:center;padding:2rem 0}.venue-copy h2{color:var(--terracotta-dark)}.venue-copy>p:not(.eyebrow,.script,.time){max-width:520px;line-height:1.8}.script{color:#c99e94;font-family:var(--script);margin:-.6rem 0 1.6rem;font-size:2rem}.venue-details{text-align:center;border-top:1px solid #3f373238;border-bottom:1px solid #3f373238;grid-template-columns:1fr auto 1fr;align-items:center;max-width:520px;margin:2.3rem 0 1.4rem;padding:1rem 0;display:grid}.venue-details span{letter-spacing:.14em;text-transform:uppercase;font-size:.64rem}.venue-details strong{color:var(--terracotta);font-family:var(--serif);padding:0 1.2rem;font-size:3.8rem;font-weight:400}.time{font-family:var(--serif);margin-bottom:2rem;font-size:1.3rem}.itinerary{background:var(--sage-dark);color:var(--white)}.timeline{max-width:650px;margin:4rem auto 0}.timeline-item{grid-template-columns:1fr 64px 1fr;align-items:center;min-height:100px;display:grid}.timeline-item time{font-family:var(--serif);text-align:right;padding-right:2rem;font-size:1.6rem}.timeline-item p{letter-spacing:.14em;text-align:left;text-transform:uppercase;padding-left:2rem;font-size:.7rem}.timeline-icon{font-family:var(--serif);border:1px solid #fffaf373;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;display:flex;position:relative}.timeline-icon:after{content:"";background:#fffaf359;width:1px;height:52px;position:absolute;top:48px;left:23px}.timeline-item:last-child .timeline-icon:after{display:none}.detail-grid{grid-template-columns:repeat(3,1fr);gap:1px;max-width:1100px;margin:4rem auto 3rem;display:grid}.detail-grid article{border:1px solid #753f322e;min-height:390px;padding:3rem 2rem}.detail-number{color:var(--clay);font-family:var(--serif);font-size:.8rem}.detail-grid h3{font-family:var(--serif);font-size:1.7rem;font-weight:400}.detail-grid .script{font-size:1.55rem}.detail-grid p:not(.script){font-size:.86rem;line-height:1.8}.detail-grid small{color:var(--terracotta-dark);margin-top:1.2rem;font-size:.7rem;font-style:italic;line-height:1.6;display:block}.palette{justify-content:center;display:flex}.palette span{border:3px solid var(--cream);border-radius:50%;width:38px;height:38px;margin-left:-5px}.rsvp{color:var(--white);background:linear-gradient(#8e4736e8,#753f32f2),url(/ermita-watercolor.png) 50%/cover}.rsvp-inner{max-width:680px;margin:0 auto}.rsvp-inner>p{line-height:1.7}.rsvp-form{text-align:left;gap:1.4rem;margin-top:3rem;display:grid}.rsvp-form label,.rsvp-form legend{letter-spacing:.13em;text-transform:uppercase;font-size:.65rem}.rsvp-form input,.rsvp-form textarea{color:var(--white);resize:vertical;background:#fffaf314;border:0;border-bottom:1px solid #fffaf399;border-radius:0;outline:none;width:100%;margin-top:.5rem;padding:.8rem .2rem;display:block}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#fffaf38c}.rsvp-form fieldset{border:0;gap:2rem;margin:0;padding:0;display:flex}.rsvp-form legend{margin-bottom:1rem}.rsvp-form .radio{letter-spacing:0;text-transform:none;align-items:center;display:flex}.rsvp-form .radio input{accent-color:var(--sage-dark);width:auto;margin:0 .6rem 0 0;display:inline-block}.button-light{background:var(--white);border-color:var(--white);color:var(--terracotta-dark);cursor:pointer;justify-self:center;margin-top:1rem}.button-light:hover{border-color:var(--white);color:var(--white)}.button:disabled{cursor:wait;opacity:.65}.form-message{text-align:center;border:1px solid #fff6;padding:1rem;font-size:.82rem}footer{background:var(--cream);text-align:center;min-height:52vh;padding:8rem 2rem;position:relative;overflow:hidden}footer p{font-family:var(--script);margin:0;font-size:1.6rem}footer h2{color:var(--terracotta-dark);font-family:var(--serif);margin:1rem;font-size:clamp(3rem,8vw,6rem);font-weight:400}footer>span{letter-spacing:.25em;font-size:.65rem}@keyframes float{50%{transform:translateY(8px)}}@media (max-width:760px){.envelope{height:250px}.hero h1{font-size:clamp(3.4rem,19vw,5.5rem)}.section{padding-left:7vw;padding-right:7vw}.countdown div{padding:0 .3rem}.countdown strong{font-size:2.1rem}.countdown span{letter-spacing:.07em;font-size:.48rem}.venue{text-align:center;display:block}.venue-art{min-height:480px}.venue-copy>p,.venue-details{margin-left:auto;margin-right:auto}.detail-grid{display:block}.detail-grid article{min-height:0}.rsvp-form fieldset{flex-direction:column;gap:.8rem}.timeline-item{grid-template-columns:1fr 54px 1fr}.timeline-item time{padding-right:1rem;font-size:1.25rem}.timeline-item p{padding-left:1rem;font-size:.58rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}[data-reveal]{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(42px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-parallax]{transform:translate3d(0,var(--parallax-y,0),0) scale(1.08);will-change:transform}.envelope-gate{background:radial-gradient(circle at 50% 42%,#fff0dc61,#0000 26%),radial-gradient(circle at 20% 10%,#ffffff26,#0000 34%),linear-gradient(145deg,#4f5b4a,#96705f 50%,#6c3e35)}.gate-orbit{border:1px solid #fff6e926;border-radius:50%;width:75vw;max-width:900px;height:75vw;max-height:900px;position:absolute}.orbit-one{animation:orbit 24s linear infinite}.orbit-two{border-style:dashed;width:58vw;max-width:700px;height:58vw;max-height:700px;animation:orbit 34s linear infinite reverse}.envelope-scene{z-index:2}.envelope{filter:drop-shadow(0 40px 45px #23151159)}.envelope-back{background:linear-gradient(135deg,#ffffff3d,#0000 45%),#dcb98f;border-radius:4px;box-shadow:inset 0 0 35px #6e422b1f}.letter{background:linear-gradient(#fffaf3f0,#fffaf3f0),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='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");border-radius:2px;transition:transform 1.05s cubic-bezier(.2,.75,.18,1) .4s}.letter b{color:var(--sage);font-family:var(--serif);max-width:85%;margin-top:.8rem;font-size:.72rem;font-style:italic;font-weight:400;line-height:1.4}.envelope-front{background:0 0}.envelope-front:after{display:none}.envelope-front-left{clip-path:polygon(0 0,53% 58%,53% 100%,0 100%);z-index:4;background:linear-gradient(35deg,#c99367,#dfb589)}.envelope-front-right{clip-path:polygon(100% 0,47% 58%,47% 100%,100% 100%);z-index:4;background:linear-gradient(-35deg,#c58d62,#ddb184)}.envelope-bottom{clip-path:polygon(0 100%,50% 34%,100% 100%);z-index:4;background:linear-gradient(175deg,#e1b98d,#c99166);width:100%;height:72%;position:absolute;bottom:0;left:0}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 67%);background:linear-gradient(165deg,#ffffff2e,#0000 45%),#e7c39b;transition:transform .85s cubic-bezier(.5,.05,.25,1)}.wax-seal{background:radial-gradient(circle at 35% 28%,#d57d63,#933f32 64%,#6f2f28);border:0;width:72px;height:72px;top:47%;left:calc(50% - 36px);box-shadow:0 8px 15px #4c231b57,inset 0 0 0 3px #ffd5b538,inset 0 0 0 7px #742a223d}.wax-seal span{letter-spacing:.08em;border:1px solid #ffdcbf73;border-radius:50%;justify-content:center;align-items:center;width:47px;height:47px;display:flex}.open-label{border-bottom:1px solid #ffffff61;padding:0 0 .55rem}.gate-status{color:#ffffffb8;font-family:var(--serif);margin:1rem 0 0;font-size:.8rem}.gate-status.error{color:#ffe1d8}.special-letter-modal{z-index:140;justify-content:center;align-items:center;padding:clamp(1.1rem,4vw,3rem);display:flex;position:fixed;inset:0}.special-letter-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 44%,#fffaf333,#0000 34%),#281f1b94;position:absolute;inset:0}.special-letter-card{color:var(--ink);text-align:center;background:linear-gradient(#fffaf3f2,#fffaf3f5),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='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");border:1px solid #753f3238;width:min(100%,640px);max-width:640px;max-height:min(88svh,760px);padding:clamp(2.3rem,7vw,5rem) clamp(1.6rem,6vw,4.3rem);animation:letterArrival .7s cubic-bezier(.2,.76,.2,1) both;position:relative;overflow:hidden auto;box-shadow:0 34px 90px #2d1f1852}.special-letter-card:after,.special-letter-card:before{content:"";pointer-events:none;position:absolute}.special-letter-card:before{border:1px solid #a65e4747;inset:16px}.special-letter-card:after{background:linear-gradient(90deg,#0000,#a65e4747,#0000),linear-gradient(90deg,#0000,#66705d38,#0000);width:64%;height:2px;top:35px;left:18%}.special-letter-card .botanical{opacity:.78;top:-18px}.special-letter-close{color:var(--terracotta-dark);cursor:pointer;z-index:2;background:#753f3214;border:1px solid #753f3238;width:34px;height:34px;line-height:1;position:absolute;top:24px;right:24px}.special-letter-close,.special-letter-seal{font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;display:flex}.special-letter-seal{color:#f8e1cc;background:radial-gradient(circle at 35% 28%,#d57d63,#933f32 64%,#6f2f28);width:82px;height:82px;margin:0 auto 1.4rem;position:relative;box-shadow:0 10px 24px #753f3247,inset 0 0 0 5px #ffd5b52e}.special-letter-seal span{letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffdcbf80;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:.72rem;display:flex}.special-letter-card h2{color:var(--terracotta-dark);font-family:var(--serif);margin:.8rem 0 1.1rem;font-size:clamp(2.4rem,7vw,4.4rem);font-weight:400;line-height:.95}.special-letter-card>p:not(.eyebrow,.script,.special-letter-closing){max-width:500px;margin:0 auto;font-size:.98rem;line-height:1.9}.special-letter-role{border-top:1px solid #753f322e;border-bottom:1px solid #753f322e;gap:.45rem;max-width:390px;margin:2rem auto 1.5rem;padding:1.1rem 0;display:grid}.special-letter-role span{color:var(--sage);letter-spacing:.18em;text-transform:uppercase;font-size:.62rem;font-weight:500}.special-letter-role strong{color:var(--terracotta);font-family:var(--serif);font-size:clamp(2rem,6vw,3.2rem);font-weight:400}.special-letter-meeting{text-align:left;background:#e8ddd180;border:1px solid #753f3229;gap:.5rem;max-width:470px;margin:0 auto 1.5rem;padding:1rem;display:grid}.special-letter-meeting strong{color:var(--terracotta-dark);font-family:var(--serif);font-size:1rem;font-weight:400}.special-letter-meeting span{color:var(--sage-dark);font-size:.72rem;line-height:1.5}.special-letter-meeting div{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.special-letter-meeting a{color:var(--terracotta-dark);letter-spacing:.08em;text-transform:uppercase;background:#fffaf3;border:1px solid #753f3238;padding:.65rem .75rem;font-size:.62rem;text-decoration:none}.special-letter-closing{color:var(--sage-dark);font-family:var(--serif);max-width:430px;margin:0 auto 2rem;font-size:1.15rem;font-style:italic;line-height:1.6}.special-letter-modal.for-gentleman .special-letter-seal{background:radial-gradient(circle at 35% 28%,#9a8066,#58634f 64%,#3f493d)}.special-letter-modal.for-gentleman .special-letter-role strong{color:var(--sage-dark)}.special-guest-section{color:#fffaf3;background:linear-gradient(#3f493deb,#3f493de6),url(/images/DSC_0014.JPG) 50%/cover;padding:clamp(4rem,8vw,7rem) clamp(1.2rem,5vw,4rem)}.special-guest-section.for-lady{background:linear-gradient(#753f32e6,#753f32e0),url(/images/DSC_0014.JPG) 50%/cover}.special-guest-inner{grid-template-columns:minmax(0,1fr) minmax(300px,460px);align-items:center;gap:clamp(2rem,5vw,4rem);max-width:1120px;margin:0 auto;display:grid}.special-guest-inner h2{color:#fffaf3;font-family:var(--serif);margin:.8rem 0;font-size:clamp(3rem,8vw,6.6rem);font-weight:400;line-height:.9}.special-guest-inner p:not(.eyebrow,.script){opacity:.86;max-width:570px;margin:1.2rem 0 0;line-height:1.9}.special-guest-card{color:var(--ink);background:#fffaf3f5;border:1px solid #ffffff59;gap:.8rem;padding:clamp(1.4rem,4vw,2.4rem);display:grid;box-shadow:0 24px 70px #1e181442}.special-guest-card span{color:var(--terracotta-dark);font-family:var(--serif);font-size:1.3rem;line-height:1.25}.special-guest-card strong{color:var(--sage-dark);font-size:.95rem;font-weight:500;line-height:1.5}.special-guest-card small{color:#746a63;font-size:.74rem}.special-guest-card div{gap:.6rem;margin-top:.8rem;display:grid}.special-guest-card a{color:#fff;letter-spacing:.08em;text-align:center;text-transform:uppercase;background:#8e4736;padding:.85rem 1rem;font-size:.68rem;text-decoration:none}.special-guest-section.for-gentleman .special-guest-card a{background:#3f493d}.music-player{background:linear-gradient(135deg,#fffcf7f7,#efe1d3f2);border:1px solid #753f322e;border-radius:26px;gap:.8rem;width:min(440px,100vw - 28px);padding:.65rem .8rem .65rem .65rem;transition:width .35s,padding .35s,border-radius .35s;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #30221b38}.music-player .vinyl{color:#e8c3a4;font-family:var(--serif);background:radial-gradient(circle,#d6a47f 0 9%,#2e2926 10% 17%,#171513 18% 100%);border-radius:50%;flex:0 0 48px;justify-content:center;align-items:center;height:48px;font-size:.48rem;display:flex}.vinyl.spinning{animation:spin 4s linear infinite}.music-player>.player-toggle{background:linear-gradient(145deg,#ad6550,#844333);flex-basis:42px;height:42px;box-shadow:0 7px 18px #753f324d}.track-info strong{font-size:1rem;display:block}.track-heading{justify-content:space-between;align-items:center;display:flex}.track-heading small{color:var(--sage);margin-top:.12rem;font-size:.55rem;display:block}.player-collapse{color:var(--terracotta-dark);cursor:pointer;background:0 0;border:0;padding:.2rem .35rem;font-size:1.1rem}.player-controls{gap:.3rem;display:grid}.track-progress{align-items:center;gap:.5rem;display:flex}.track-progress small{white-space:nowrap;font-size:.48rem}.volume-control{align-items:center;gap:.4rem;display:flex}.volume-control button{color:var(--terracotta-dark);cursor:pointer;font-family:var(--serif);background:0 0;border:0;width:18px;padding:0}.volume-control input{accent-color:var(--sage);width:78px;height:5px;margin:0}.music-player.is-compact{border-radius:999px;width:168px;padding-right:.65rem}.music-player.is-compact .player-controls,.music-player.is-compact .track-heading small,.music-player.is-compact .track-info>em,.music-player.is-compact .vinyl{display:none}.music-player.is-compact .track-heading strong{font-size:.85rem}.hero{min-height:105svh}.hero-image{inset:-12%}.hero-copy{margin-top:-3vh}.personal-welcome{color:#94503e;font-family:var(--script);margin:1rem 0 -.5rem;font-size:clamp(1.5rem,3vw,2.2rem)}.hero-flower{color:#ffffff40;z-index:1;font-size:12rem;position:absolute}.flower-one{top:15%;left:4%}.flower-two{font-size:7rem;bottom:12%;right:8%}.story-section{text-align:left;background:#f0e5d9;grid-template-columns:minmax(300px,1fr) minmax(300px,.85fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.story-image-wrap{height:min(70vh,720px);position:relative;overflow:hidden}.story-image{background:linear-gradient(#4632270d,#4632272e),url(/images/DSC_0159.JPG) 50%/cover;position:absolute;inset:-12%}.story-date{background:var(--terracotta);color:#fff;font-family:var(--serif);padding:1.2rem 2rem;font-style:italic;position:absolute;bottom:0;left:0}.story-copy>p:not(.eyebrow,.script){max-width:510px;line-height:1.9}.story-signature{color:#a65e471f;font-family:var(--script);margin-top:0;font-size:5rem;font-weight:600}.love-portraits{background:linear-gradient(#f7f0e7eb,#f7f0e7eb),radial-gradient(circle at 12% 18%,#66705d29,#0000 24%),radial-gradient(circle at 90% 80%,#c785682e,#0000 28%)}.portraits-heading{max-width:760px;margin:0 auto 4rem}.portrait-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2rem);display:grid}.portrait-card{text-align:left;margin:0}.portrait-card:nth-child(2){margin-top:4rem}.portrait-photo{aspect-ratio:4/5.35;position:relative;overflow:hidden;box-shadow:0 24px 55px #47322629}.portrait-photo:after{content:"";border:1px solid #fffaf3d1;position:absolute;inset:12px}.memory-photo img,.portrait-photo img{object-fit:cover;width:100%;height:100%}.portrait-photo span{color:var(--white);letter-spacing:.16em;text-transform:uppercase;z-index:1;background:#753f32d1;padding:.8rem 1rem;font-size:.58rem;position:absolute;bottom:0;left:0}.portrait-card figcaption{align-items:baseline;gap:1rem;padding:1.3rem .4rem 0;display:flex}.portrait-card small{color:var(--clay);font-family:var(--serif)}.portrait-card p{font-family:var(--serif);margin:0;font-size:clamp(1.15rem,2vw,1.55rem);font-style:italic;line-height:1.35}.quote-section{background:var(--sage-dark)}.quote-backdrop{background:linear-gradient(#374234d1,#374234eb),url(/ermita-watercolor.png) 50%/cover;position:absolute;inset:-15%}.memory-gallery{color:var(--white);text-align:left;background:linear-gradient(#543a31e6,#3f493df0),url(/our-story.jpg) 50%/cover}.memory-heading{grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);align-items:end;gap:3rem;margin-bottom:3.5rem;display:grid}.memory-heading h2{max-width:680px;margin-bottom:0}.memory-heading>p{opacity:.78;margin:0;line-height:1.8}.memory-grid{grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.memory-card{background:#fffaf314;border:1px solid #fffaf333;min-height:440px}.memory-photo{aspect-ratio:1/1.08;position:relative;overflow:hidden}.memory-card>div:last-child{padding:1.5rem}.memory-card h3{font-family:var(--serif);margin:0 0 .8rem;font-size:1.55rem;font-weight:400}.memory-card p{opacity:.78;margin:0;font-size:.78rem;line-height:1.7}.guest-guide{background:radial-gradient(circle at 85% 8%,#c7856833,transparent 24%),var(--sage-dark);color:var(--white);text-align:left}.guest-guide-heading{border-bottom:1px solid #fff3;grid-template-columns:1.15fr .85fr;align-items:end;gap:3rem;padding-bottom:3rem;display:grid}.guest-guide-heading h2{max-width:720px;margin-bottom:0}.guest-guide-heading>p{opacity:.75;margin:0;line-height:1.8}.guest-guide-grid{grid-template-columns:repeat(3,1fr);display:grid}.guest-guide-card{border-bottom:1px solid #ffffff29;border-right:1px solid #ffffff29;min-height:330px;padding:clamp(2rem,4vw,3.2rem)}.guest-guide-card:nth-child(3n){border-right:0}.guest-guide-card>span{color:var(--clay);font-family:var(--serif);font-size:.78rem}.guest-guide-card h3{font-family:var(--serif);margin:2.4rem 0 1rem;font-size:1.65rem;font-weight:400}.guest-guide-card p{opacity:.82;font-size:.82rem;line-height:1.8}.guest-guide-card small{color:#e8c3a4;font-family:var(--serif);margin-top:1.4rem;font-style:italic;line-height:1.5;display:block}.guest-response-list{border-bottom:1px solid #ffffff40!important;gap:.8rem!important;padding-bottom:1.4rem!important;display:grid!important}.guest-response-list legend{margin-bottom:.4rem}.guest-response-row{border:1px solid #ffffff3d;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem;display:grid}.guest-response-row>span{font-family:var(--serif);font-size:1rem}.guest-response-row div{gap:.45rem;display:flex}.guest-response-row label{cursor:pointer;letter-spacing:0;text-transform:none;border:1px solid #ffffff40;padding:.55rem .7rem;font-size:.58rem}.guest-response-row label.selected{background:#ffffff29;border-color:#ffffffd1}.guest-response-row input{opacity:0;width:0;height:0;margin:0;padding:0;position:absolute}.rsvp-existing{text-align:center;border:1px solid #ffffff52;margin:0;padding:1rem;font-size:.95rem}.rsvp-existing,.rsvp-placeholder{font-family:var(--serif);font-style:italic}.rsvp-placeholder{border:1px solid #fff6;margin-top:2rem;padding:1.5rem}footer{min-height:62vh}.footer-mark{color:#a65e471a;font-family:var(--serif);white-space:nowrap;font-size:clamp(8rem,25vw,19rem);line-height:1;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}footer>:not(.botanical,.footer-mark){z-index:1;position:relative}.footer-links{justify-content:center;gap:2rem;margin:3rem 0;display:flex}.footer-links a{border-bottom:1px solid var(--terracotta);color:var(--terracotta-dark);letter-spacing:.14em;text-transform:uppercase;padding-bottom:.4rem;font-size:.68rem;text-decoration:none}footer small{color:var(--sage);font-family:var(--serif);font-style:italic}.closed-invitation{text-align:center;background:linear-gradient(#f7f0e7e6,#f7f0e7f0),url(/ermita-watercolor.png) 50%/cover;justify-content:center;align-items:center;min-height:100svh;padding:2rem;display:flex}.closed-card{background:#fffaf3e0;border:1px solid #753f3238;max-width:560px;padding:clamp(3rem,8vw,6rem);box-shadow:0 25px 80px #392b222e}.closed-card h1{color:var(--terracotta-dark);font-family:var(--serif);font-size:clamp(2.5rem,7vw,4.5rem);font-weight:400}.admin-login,.admin-shell{color:#332e2a;background:#ece3d8;min-height:100svh}.admin-login{background:linear-gradient(120deg,#31392ded,#704135db),url(/ermita-watercolor.png) 50%/cover;justify-content:center;align-items:center;padding:2rem;display:flex}.admin-login-card{background:#f8f1e8;width:100%;max-width:480px;padding:clamp(2.5rem,7vw,5rem);box-shadow:0 30px 80px #2019154d}.admin-monogram{color:#9e5743;font-family:var(--serif);font-size:1.5rem}.admin-kicker{color:#a65e47;letter-spacing:.22em;text-transform:uppercase;font-size:.62rem;font-weight:600}.admin-card h2,.admin-hero h1,.admin-login h1{font-family:var(--serif);font-weight:400}.admin-login h1{margin-bottom:1rem;font-size:2.7rem}.admin-login-card>p{line-height:1.7}.admin-create form,.admin-login form{gap:1.3rem;margin-top:2rem;display:grid}.admin-login input,.admin-shell input,.admin-shell select,.admin-shell textarea{color:#332e2a;background:#fffaf3;border:1px solid #3f373233;outline:none;width:100%;margin-top:.5rem;padding:.85rem 1rem;display:block}.admin-login label,.admin-shell label{letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:600}.admin-primary{color:#fff;cursor:pointer;letter-spacing:.14em;text-transform:uppercase;background:#9e5743;border:0;padding:1rem 1.4rem;font-size:.68rem}.admin-error,.admin-feedback.error{color:#9d392f}.admin-feedback.success{color:#496245}.admin-header{border-bottom:1px solid #3f373224;justify-content:space-between;align-items:center;padding:1.2rem max(5vw,50vw - 675px);display:flex}.admin-header p{font-family:var(--serif);margin-left:1rem;display:inline}.admin-header button{color:#753f32;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;font-size:.68rem}.admin-hero{color:#fff;background:#3f493d;padding:clamp(4rem,8vw,7rem) max(5vw,50vw - 675px);position:relative}.admin-hero:after{color:#ffffff0e;content:"O&A";font-family:var(--serif);font-size:min(24vw,20rem);position:absolute;top:50%;right:5vw;transform:translateY(-50%)}.admin-hero h1{z-index:1;margin:1.5rem 0;font-size:clamp(3rem,7vw,6rem);line-height:.96;position:relative}.admin-hero>p:not(.admin-kicker){max-width:520px;line-height:1.7}.admin-created-code{background:#ffffff1a;margin-top:1rem;padding:.7rem 1rem;font-size:.78rem;display:inline-block}.admin-dashboard{max-width:1450px;margin:0 auto;padding:clamp(2rem,5vw,5rem) clamp(1.2rem,5vw,5rem) 0}.admin-dashboard-heading{border-bottom:1px solid #3f373229;justify-content:space-between;align-items:end;margin-bottom:1.2rem;padding-bottom:1rem;display:flex}.admin-dashboard-heading h2{font-family:var(--serif);margin:.2rem 0 0;font-size:clamp(2rem,4vw,3.4rem);font-weight:400}.admin-dashboard-heading>span{color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#3f493d;padding:.7rem .9rem;font-size:.62rem}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.admin-stat-card{color:inherit;cursor:pointer;text-align:left;background:#f8f1e8;border:1px solid #3f37321f;gap:.45rem;min-height:150px;padding:1.3rem;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 12px 34px #4333290f}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px #4333291a}.admin-stat-card small,.admin-stat-card span{color:#746a63;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem}.admin-stat-card strong{color:#332e2a;font-family:var(--serif);font-size:clamp(2.3rem,4vw,4rem);font-weight:400;line-height:.95}.admin-stat-card.total{border-top:4px solid #3f493d}.admin-stat-card.confirmed{border-top:4px solid #6f8a65}.admin-stat-card.bride{border-top:4px solid #a65e47}.admin-stat-card.groom{border-top:4px solid #466476}.admin-owner-panel{background:#fffaf3;border:1px solid #3f37321f;margin-top:.8rem;padding:1rem}.admin-owner-track{background:#e1d6ca;height:14px;display:flex;overflow:hidden}.admin-owner-segment{min-width:0;display:block}.admin-owner-legend i.bride,.admin-owner-segment.bride{background:#a65e47}.admin-owner-legend i.groom,.admin-owner-segment.groom{background:#466476}.admin-owner-legend i.shared,.admin-owner-segment.shared{background:#9b8d55}.admin-owner-legend{flex-wrap:wrap;gap:.8rem 1.2rem;margin-top:.8rem;display:flex}.admin-owner-legend span{color:#685a50;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.admin-owner-legend i{width:10px;height:10px;display:inline-block}.admin-grid{grid-template-columns:minmax(350px,.8fr) minmax(500px,1.2fr);gap:2rem;max-width:1450px;margin:0 auto;padding:clamp(2rem,5vw,5rem);display:grid}.admin-card{background:#f8f1e8;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 16px 45px #43332914}.admin-section-heading{border-bottom:1px solid #3f373229;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.4rem;display:flex}.admin-section-heading h2{margin:.4rem 0 0;font-size:2.3rem}.admin-step{color:#a65e4747;font-family:var(--serif);font-size:2.6rem}.admin-type-switch{background:#e8ddd1;grid-template-columns:1fr 1fr;padding:.3rem;display:grid}.admin-type-switch button{cursor:pointer;background:0 0;border:0;padding:.8rem}.admin-type-switch button.active{color:#8e4736;background:#fffaf3;box-shadow:0 3px 12px #43332914}.admin-link-mode-switch{cursor:pointer;background:#f3eadf;border:1px solid #3f37321f;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;padding:.85rem;display:grid}.admin-link-mode-switch.compact{max-width:360px;margin:.85rem 0 .2rem}.admin-link-mode-switch input{appearance:none;cursor:pointer;background:#d6cabc;border:0;border-radius:999px;width:48px;height:26px;margin:0;padding:3px;transition:background .2s;position:relative}.admin-link-mode-switch input:before{content:"";background:#fffaf3;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 7px #43332933}.admin-link-mode-switch input:checked{background:#3f493d}.admin-link-mode-switch input:checked:before{transform:translate(22px)}.admin-link-mode-switch input:disabled{cursor:not-allowed;opacity:.55}.admin-link-mode-switch span{gap:.25rem;display:grid}.admin-link-mode-switch strong{color:#403832;letter-spacing:.09em;text-transform:uppercase;font-size:.68rem}.admin-link-mode-switch small{color:#746a63;font-size:.68rem;line-height:1.45}.admin-guests-heading{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.68rem;font-weight:600;display:flex}.admin-guests-heading button{color:#9e5743;cursor:pointer;text-transform:uppercase;background:0 0;border:0}.admin-guest-list{gap:.7rem;display:grid}.admin-guest-row{grid-template-columns:28px 1.3fr .72fr .8fr 30px;align-items:center;gap:.6rem;display:grid}.admin-guest-row>span{color:#a65e47;font-family:var(--serif)}.admin-guest-row input,.admin-guest-row select{margin:0}.admin-remove{color:#a65e47;cursor:pointer;background:0 0;border:0;font-size:1.5rem}.admin-search{grid-template-columns:1fr auto;margin-bottom:1.5rem;display:grid}.admin-search input{margin:0}.admin-search button{color:#fff;cursor:pointer;background:#3f493d;border:0;padding:0 1.4rem}.admin-results{gap:.9rem;display:grid}.admin-empty{color:#746a63;font-family:var(--serif);text-align:center;padding:2rem;font-style:italic}.admin-invitation{background:#fffaf3;border:1px solid #3f37321f;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:1.4rem;display:grid}.admin-status{letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.35rem .65rem;font-size:.54rem;display:inline-block}.admin-status.pending{color:#7e5c27;background:#eee0c4}.admin-status.answered{color:#3f633e;background:#dce6d9}.admin-invitation h3{font-family:var(--serif);margin:.7rem 0 .2rem;font-size:1.5rem;font-weight:400}.admin-invitation p,.admin-invitation small{color:#746a63;font-size:.72rem}.admin-member-chips{flex-wrap:wrap;gap:.35rem;margin:.8rem 0;display:flex}.admin-people-count{background:#f3eadf;gap:.35rem;max-width:300px;margin:.9rem 0 .2rem;padding:.65rem;font-size:.62rem;display:grid}.admin-people-count label{color:#403832;letter-spacing:.11em;text-transform:uppercase;font-weight:700}.admin-people-count div{grid-template-columns:minmax(72px,.7fr) minmax(92px,1fr);gap:.45rem;display:grid}.admin-people-count input{background:#fffaf3;min-height:34px;margin:0;padding:.35rem .45rem}.admin-people-count button{color:#fffaf3;cursor:pointer;letter-spacing:.11em;text-transform:uppercase;background:#9f5543;border:1px solid #9f5543;min-height:34px;padding:.45rem .7rem;font-size:.62rem}.admin-people-count button:disabled{cursor:not-allowed;opacity:.55}.admin-people-count small{line-height:1.4}.admin-member-chip{background:#eee5da;grid-template-columns:minmax(180px,1fr) minmax(90px,auto) minmax(120px,auto);gap:.45rem;padding:.35rem .55rem;font-size:.62rem;display:grid}.admin-member-chip span{align-self:center}.admin-member-chip select{color:#685a50;background:#fffaf3;border:1px solid #3f373224;min-height:30px;margin:0;padding:.25rem .35rem;font-size:.62rem}.admin-invitation-actions{justify-items:end;gap:.8rem;display:grid}.admin-invitation-actions code{color:#8e4736;font-size:.68rem}.admin-invitation-actions button{color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#9e5743;border:0;padding:.75rem 1rem;font-size:.6rem}.admin-invitation-actions button:disabled{cursor:not-allowed;background:#c7bdb4}.admin-guest-links{justify-items:end;gap:.45rem;display:grid}.admin-guest-links button{overflow-wrap:anywhere;text-align:right;max-width:220px}.admin-invitation-actions .admin-delete-button{color:#8e4736;background:0 0;border:1px solid #8e473661}.admin-invitation-actions .admin-delete-button:hover{color:#fff;background:#8e4736}.admin-directory-message{color:#685a50;text-align:center;background:#eee5da;margin:0;padding:.8rem 1rem;font-size:.72rem}.admin-responses-page{max-width:1450px;margin:0 auto;padding:clamp(2rem,5vw,5rem)}.admin-back-button,.admin-response-filters button{color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#3f493d;border:0;padding:.75rem 1rem;font-size:.62rem}.admin-response-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;display:flex}.admin-response-filters button{color:#685a50;background:#e8ddd1}.admin-response-filters button.active{color:#fff;background:#3f493d}.admin-response-list{gap:.9rem;display:grid}.admin-response-card{background:#fffaf3;border:1px solid #3f37321f;grid-template-columns:minmax(220px,.9fr) minmax(180px,.7fr) minmax(260px,1.2fr);align-items:start;gap:1.2rem;padding:1.35rem;display:grid}.admin-response-card h3{font-family:var(--serif);margin:.65rem 0 .2rem;font-size:1.45rem;font-weight:400}.admin-response-card blockquote,.admin-response-card p,.admin-response-card span{color:#746a63;font-size:.72rem}.admin-response-contact{gap:.25rem;display:grid}.admin-response-contact strong{color:#3f3732;font-size:.82rem}.admin-response-card blockquote{font-family:var(--serif);border-left:3px solid #a65e47;margin:0;padding-left:1rem;font-size:1rem;line-height:1.45}@keyframes spin{to{transform:rotate(1turn)}}@keyframes orbit{to{transform:rotate(1turn)}}@keyframes letterArrival{0%{opacity:0;transform:translateY(34px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:900px){.admin-grid,.admin-stat-grid,.story-section{grid-template-columns:1fr}.story-section{text-align:center}.guest-guide-heading{grid-template-columns:1fr}.guest-guide-grid{grid-template-columns:repeat(2,1fr)}.memory-heading,.portrait-grid{grid-template-columns:1fr}.portrait-card:nth-child(2){margin-top:0}.memory-grid{grid-template-columns:repeat(2,1fr)}.guest-guide-card:nth-child(3n){border-right:1px solid #ffffff29}.guest-guide-card:nth-child(2n){border-right:0}.story-copy>p:not(.eyebrow,.script){font-family:var(--serif);margin-left:auto;margin-right:auto}.admin-grid{padding:1.2rem}.admin-dashboard{padding:1.2rem 1.2rem 0}}@media (max-width:620px){.letter b{display:none}.special-letter-modal{align-items:flex-end;padding:.9rem}.special-letter-card{max-height:86svh;padding:3.5rem 1.35rem 2rem}.special-letter-card:before{inset:10px}.special-letter-close{top:18px;right:18px}.special-letter-seal{width:70px;height:70px}.special-letter-seal span{width:48px;height:48px}.special-letter-card .script{font-size:1.55rem}.special-guest-inner{grid-template-columns:1fr}.special-guest-inner h2{font-size:3rem}.music-player .vinyl{display:none}.music-player{width:min(380px,100vw - 20px)}.music-player.is-compact{width:150px}.story-image-wrap{height:55vh}.guest-guide-grid,.memory-grid{grid-template-columns:1fr}.memory-card{min-height:0}.guest-guide-card,.guest-guide-card:nth-child(2n),.guest-guide-card:nth-child(3n){border-right:0;min-height:0}.guest-response-row{grid-template-columns:1fr}.guest-response-row div{grid-template-columns:1fr 1fr;display:grid}.admin-header p,.admin-hero:after{display:none}.admin-guest-row{grid-template-columns:24px 1fr 30px}.admin-guest-row select{grid-column:2}.admin-dashboard-heading,.admin-member-chip{grid-template-columns:1fr}.admin-dashboard-heading{align-items:start;gap:1rem;display:grid}.admin-invitation,.admin-response-card{grid-template-columns:1fr}.admin-invitation-actions{justify-items:stretch}.admin-invitation-actions button{width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}