@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{--cream:#f5f0e4;--paper:#fffdf6;--lemon:#edcc48;--lemon-soft:#f6e89e;--olive:#536244;--deep:#263729;--sage:#8b9877;--ink:#34352d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#e9e4d8;margin:0;font-family:Noto Serif SC,Songti SC,STSong,Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}main{background:var(--cream);width:min(100%,520px);margin:0 auto;overflow:hidden;box-shadow:0 0 60px #2b32251f}.page-section{position:relative}.section-kicker{color:var(--olive);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font:italic 500 13px/1.2 Georgia,serif}.hero{isolation:isolate;background:radial-gradient(circle at 50% 35%,#ffffffeb,#fffced7a 37%,#0000 62%),linear-gradient(145deg,#f5edcf 0%,#fffdf5 45%,#e6eacb 100%);place-items:center;min-height:100svh;padding:58px 24px 72px;display:grid}.paper-noise,.hero:after{content:"";pointer-events:none;position:absolute;inset:0}.paper-noise{opacity:.2;mix-blend-mode:multiply;background-image:repeating-radial-gradient(circle at 0 0,#0000 0,#536244 1px,#0000 1.6px);background-size:8px 8px}.hero:after{z-index:-1;border:1px solid #53624447;inset:18px}.hero-copy{z-index:2;text-align:center}.eyebrow{letter-spacing:.14em;color:var(--olive);margin:0 0 10px;font:italic 16px/1.2 Georgia,serif}.date-top{letter-spacing:.22em;color:#69715d;margin:0 0 45px;font:9px/1.2 Arial,sans-serif}.monogram{width:116px;height:116px;color:var(--deep);letter-spacing:.04em;border:1px solid #53624473;border-radius:50%;place-items:center;margin:0 auto 26px;font:34px/1 Georgia,serif;display:grid;transform:rotate(-3deg)}.monogram:before{content:"";border:1px dotted #53624473;border-radius:50%;width:104px;height:104px;position:absolute}.monogram i{color:#b89522;font-size:18px}.hero h1{color:var(--deep);letter-spacing:.08em;justify-content:center;align-items:center;gap:14px;margin:0;font-size:clamp(28px,8vw,40px);font-weight:500;display:flex}.hero h1 em{color:#bea131;font:italic 28px/1 Georgia,serif}.date-lockup{color:var(--olive);justify-content:center;align-items:center;gap:16px;margin:28px 0 20px;display:flex}.date-lockup strong{letter-spacing:.08em;border-inline:1px solid #9ea588;padding:0 16px;font:28px/1 Georgia,serif}.date-lockup span{letter-spacing:.18em;font-size:10px}.hero-note{letter-spacing:.12em;color:#5f6655;margin:0;font-size:13px}.scroll-hint{letter-spacing:.16em;color:#7b806e;flex-direction:column;align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.scroll-hint span{transform-origin:top;background:#8b927b;width:1px;height:24px;animation:1.8s ease-in-out infinite scroll}.lemon-branch{z-index:1;filter:drop-shadow(0 10px 12px #30372414);width:230px;position:absolute;bottom:-1%;left:-78px;transform:rotate(-10deg)}.lemon-branch.right{inset:-2% -92px auto auto;transform:scaleX(-1)rotate(-17deg)}.lemon-branch img{width:100%;height:auto;display:block}.music-button{z-index:20;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#424e36b8;border:1px solid #ffffff9e;border-radius:50%;width:48px;height:48px;position:fixed;top:18px;right:max(18px,50vw - 242px)}.music-button span{font-size:15px;display:block}.music-button small{text-overflow:ellipsis;letter-spacing:.05em;max-width:40px;margin:1px auto 0;font:7px/1 Arial,sans-serif;display:block;overflow:hidden}.music-button.is-playing span{animation:1.4s ease-in-out infinite music-pulse}.toast{z-index:30;color:#fff;white-space:nowrap;background:#273428e6;border-radius:30px;padding:11px 18px;font-size:12px;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.invitation{text-align:center;background:var(--paper);padding:110px 42px 105px}.invitation h2,.gallery h2,.details h2,.venue h2,.rsvp h2{color:var(--deep);letter-spacing:.08em;margin:0;font-weight:500}.invitation h2{font-size:24px}.invitation-copy{letter-spacing:.08em;color:#4e5147;margin-top:42px;font-size:14px;line-height:2.25}.invitation-copy p{margin:0 0 24px}.signature{color:#9b7b1f;letter-spacing:.18em;margin:42px 0 10px;font-style:italic}.tiny-flower{color:#9caa85;font-size:22px}.postcard-stamp{color:#748064;letter-spacing:.12em;opacity:.7;border:1px solid #9ca38b;border-radius:50%;place-items:center;width:76px;height:76px;font:8px/1.6 Arial,sans-serif;display:grid;position:absolute;top:35px;right:24px;transform:rotate(12deg)}.postcard-stamp:after{content:"";border-top:1px solid #9ca38b;border-bottom:1px solid #9ca38b;width:88px;height:28px;position:absolute;transform:rotate(-18deg)}.gallery{background:#dfe5cd;min-height:730px;padding:78px 28px}.gallery-title{text-align:center}.gallery-title h2{font-size:22px}.collage{height:515px;margin-top:35px;position:relative}.memory-photo{background:#fffaf0;border:8px solid #fffaf0;margin:0;position:absolute;overflow:hidden;box-shadow:0 16px 32px #363f2f2b}.memory-photo img{object-fit:cover;width:100%;height:100%;display:block}.photo-one{width:80%;height:322px;top:8px;left:8px;transform:rotate(-3deg)}.photo-one img{object-position:55% center}.photo-two{width:49%;height:292px;bottom:6px;right:-4px;transform:rotate(4deg)}.photo-two img{object-position:center top}.photo-three{z-index:2;width:37%;height:175px;bottom:18px;left:2px;transform:rotate(-6deg)}.photo-three img{object-position:center 44%}.tape{z-index:3;background:#f5e28bb8;width:64px;height:18px;position:absolute}.tape-one{top:0;left:42%;transform:rotate(4deg)}.tape-two{bottom:284px;right:14%;transform:rotate(-8deg)}.hand-note{color:#526047;font:italic 13px/1.5 Georgia,serif;position:absolute;bottom:16px;left:42%;transform:rotate(-5deg)}.details{background:#f7d957 radial-gradient(#ffffff59 1px,#0000 1px) 0 0/6px 6px;padding:92px 24px}.details-card{text-align:center;background:#fffdf4f2;border:1px solid #444f3852;padding:58px 26px;box-shadow:0 20px 50px #62521429}.details-card h2{font-size:30px}.calendar-line{color:var(--olive);justify-content:center;align-items:center;gap:22px;margin:35px auto 7px;display:flex}.calendar-line strong{color:#bea127;border-inline:1px solid #a7ab97;padding:0 20px;font:54px/.9 Georgia,serif}.calendar-line span{letter-spacing:.14em;font-size:12px}.year{letter-spacing:.3em;margin:12px 0 30px;font-size:11px}.rule{color:#a9ad98;align-items:center;gap:12px;display:flex}.rule:before,.rule:after{content:"";background:#c9cbbd;flex:1;height:1px}.time-row{grid-template-columns:.7fr 1.3fr;margin:30px 0 24px;display:grid}.time-row p{margin:0;padding:0 12px}.time-row p+p{border-left:1px solid #ced0c2}.time-row small{color:#838776;letter-spacing:.18em;margin-bottom:9px;font-size:10px;display:block}.time-row strong{color:var(--deep);font-size:18px;font-weight:500;display:block}.address{color:#6f7366;margin:0 0 28px;font-size:12px;line-height:1.8}.outline-button{border:1px solid var(--olive);color:var(--olive);letter-spacing:.1em;align-items:center;gap:18px;padding:13px 22px;font-size:12px;text-decoration:none;transition:all .2s;display:inline-flex}.outline-button:active{color:#fff;background:var(--olive)}.venue{background:#f8f4e9;padding:82px 26px 96px}.venue-photos{height:510px;position:relative}.venue-photo{border:10px solid #fffaf0;margin:0;position:absolute;overflow:hidden;box-shadow:0 16px 32px #363f2f2b}.venue-photo img{object-fit:cover;width:100%;height:100%;display:block}.hotel-photo{width:88%;height:345px;top:0;left:0;transform:rotate(-1.5deg)}.hotel-photo img{object-position:center}.ballroom-photo{width:66%;height:245px;bottom:0;right:-3px;transform:rotate(3deg)}.ballroom-photo img{object-position:center}.venue-caption{text-align:center;background:var(--paper);width:88%;margin:-35px auto 0;padding:28px 18px;position:relative;box-shadow:0 12px 26px #343b2d24}.venue-caption span{color:#aa8d2e;letter-spacing:.15em;font:italic 13px Georgia,serif}.venue-caption h2{margin:10px 0;font-size:21px}.venue-caption p{color:#6b6d63;margin:0;font-size:12px;line-height:1.8}.rsvp{color:#f8f1db;background:var(--deep);text-align:center;padding:100px 28px}.rsvp:before,.rsvp:after{content:"";border:1px solid #efcc4840;border-radius:50%;width:130px;height:130px;position:absolute}.rsvp:before{top:44px;left:-65px}.rsvp:after{bottom:35px;right:-60px}.rsvp-inner{z-index:1;border:1px solid #f5ebc359;padding:48px 18px;position:relative}.rsvp-number{color:var(--lemon);letter-spacing:.08em;margin-bottom:32px;font:42px/1 Georgia,serif;display:block}.rsvp .section-kicker{color:#d8c875}.rsvp h2{color:#fff9e9;font-size:28px}.rsvp p{color:#dbddce;letter-spacing:.08em;margin:22px 0 26px;font-size:13px;line-height:2}.rsvp-form{text-align:left;gap:13px;display:grid}.rsvp-form label{gap:7px;display:grid}.rsvp-form label>span{color:#d9d8c4;letter-spacing:.14em;font-size:10px}.rsvp-form input,.rsvp-form select{color:#fdf9ea;background:#ffffff14;border:1px solid #f5ebc36b;border-radius:0;outline:none;width:100%;min-height:42px;padding:0 12px;font:14px Noto Serif SC,serif}.rsvp-form input::placeholder{color:#aeb7a9}.rsvp-form select option{color:#263729}.guest-counts{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rsvp-button{color:#263729;background:var(--lemon);letter-spacing:.15em;cursor:pointer;border:0;width:min(260px,100%);padding:15px;font:14px Noto Serif SC,serif}.rsvp-button:disabled{cursor:wait;opacity:.7}.rsvp-form .rsvp-button{width:100%;margin-top:8px}.rsvp-note{color:#9eaa94;letter-spacing:.14em;margin-top:15px;font-size:10px;display:block}.rsvp-success{color:#f9f1d9;border:1px solid #efcc4873;gap:11px;padding:28px 12px;display:grid}.rsvp-success span{color:var(--lemon);font-size:24px}.rsvp-success strong{letter-spacing:.08em;font-size:16px;font-weight:500}.rsvp-success small{color:#b7c1b1;letter-spacing:.14em;margin:0;font-size:10px}footer{text-align:center;background:#f9f5e8;min-height:520px;padding:120px 30px 80px;overflow:hidden}footer .lemon-branch{opacity:.92;width:250px;top:-126px;bottom:auto;left:50%;transform:translate(-50%)rotate(72deg)scale(.72)}footer h2{color:var(--deep);letter-spacing:.08em;margin:28px 0 13px;font-size:28px;font-weight:500}footer h2 i{color:#b79a2c;font-family:Georgia,serif}footer>p:not(.section-kicker){color:#7e826f;letter-spacing:.2em;font:16px Georgia,serif}.footer-line{background:#aeb19e;width:70px;height:1px;margin:50px auto 22px;display:block}footer small{color:#6f7363;letter-spacing:.18em;font-size:12px}@keyframes scroll{0%,to{opacity:.35;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}@keyframes music-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-hint span{animation:none}}@media (min-width:700px){body{padding:28px 0}main{border-radius:3px}}
