*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.sepia{--tw-sepia:sepia(100%);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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{font-family:var(--font-body), sans-serif;color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;scroll-behavior:smooth;font-weight:400}*{scrollbar-width:none}::-webkit-scrollbar{display:none}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}::selection{color:var(--color-background);background:var(--color-primary)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.invitation-app{--font-heading:"Cormorant Garamond", Georgia, serif;--font-accent:"Great Vibes", cursive;background:var(--color-background);min-height:100vh;color:var(--color-text);font-family:var(--font-body);transition:background-color .3s,color .3s;overflow:hidden}.invitation-page{background:var(--color-background);width:min(100%,1600px);margin-inline:auto}.site-header{z-index:2;border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:76px;padding:0 clamp(24px,6vw,92px);display:grid;position:relative}.wordmark{width:fit-content;font-family:var(--font-heading);letter-spacing:.04em;font-size:27px;font-weight:600;text-decoration:none}.wordmark span{color:var(--color-primary);padding-inline:2px;font-size:17px;font-style:italic}.header-nav{align-items:center;gap:clamp(15px,2.5vw,38px);display:flex}.header-nav a,.header-rsvp{color:var(--color-muted);letter-spacing:.09em;text-transform:uppercase;font-size:11px;text-decoration:none;transition:color .18s}.header-nav a:hover,.header-rsvp:hover{color:var(--color-primary)}.header-rsvp{color:var(--color-primary);justify-self:end}.header-rsvp span{margin-left:6px}.theme-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:center;align-items:center;gap:18px;padding:13px 20px;display:flex}.theme-toolbar .theme-selector{overflow-x:auto}.theme-toolbar-label{color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.theme-selector{justify-content:center;gap:9px;display:flex}.theme-option{color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:30px;align-items:center;gap:8px;padding:7px 12px 7px 8px;font-size:11px;transition:border-color .18s,background-color .18s;display:inline-flex}.theme-option:hover,.theme-option[aria-pressed=true]{border-color:var(--color-border);background:var(--color-background)}.theme-swatch{border:1px solid #0000001a;border-radius:50%;flex:none;width:15px;height:15px}.opening-cover{width:min(100%, var(--cover-width));min-height:100svh;padding:25px 25px max(22px, env(safe-area-inset-bottom));color:var(--color-text);background-color:var(--color-background);background-image:var(--cover-texture);box-shadow:var(--photo-shadow);flex-direction:column;justify-content:space-between;margin-inline:auto;display:flex;position:relative;overflow:hidden}.opening-cover:after{z-index:0;border:3px var(--cover-border-style) color-mix(in srgb, var(--color-accent), transparent 48%);content:"";pointer-events:none;position:absolute;inset:13px}.opening-cover{border-radius:var(--cover-radius,0)}.opening-cover:before{z-index:0;background:linear-gradient(90deg, transparent, var(--color-border), transparent);content:"";height:1px;position:absolute;top:36px;left:24px;right:24px}.cover-floral{z-index:0;background-color:var(--color-accent);width:68px;height:118px;-webkit-mask:var(--ornament-image) center / contain no-repeat;-webkit-mask:var(--ornament-image) center / contain no-repeat;mask:var(--ornament-image) center / contain no-repeat;opacity:var(--ornament-opacity);pointer-events:none;position:absolute}.wedding-illustration{filter:var(--cover-art-filter)}.opening-top,.opening-content,.opening-bottom{z-index:1;position:relative}.opening-top,.opening-bottom{color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:9px;display:flex}.opening-brand{font-family:var(--font-heading);letter-spacing:.11em;font-size:16px;font-weight:600}.opening-content{text-align:center;width:min(100%,390px);margin:15px auto}.opening-eyebrow{color:var(--color-muted);font-family:var(--font-body);letter-spacing:.17em;text-transform:uppercase;margin:0 0 6px;font-size:9px;line-height:1.5}.opening-kicker{color:var(--color-primary);font-family:var(--font-heading);margin:0;font-size:21px;font-style:italic;line-height:1.1}.eyebrow{color:var(--color-primary);letter-spacing:.2em;text-transform:uppercase;margin:0 0 19px;font-size:10px;line-height:1.5}.wedding-illustration{z-index:1;width:min(100%,270px);height:auto;max-height:184px;margin:2px auto -1px;display:block;position:relative}.opening-artwork{width:min(100%,340px);margin:3px auto -1px;position:relative}.artwork-floral{z-index:0;background-color:var(--color-accent);width:74px;height:122px;-webkit-mask:var(--ornament-image) center / contain no-repeat;-webkit-mask:var(--ornament-image) center / contain no-repeat;mask:var(--ornament-image) center / contain no-repeat;opacity:calc(var(--ornament-opacity) + .3);pointer-events:none;position:absolute;bottom:3px}.artwork-floral-left{left:0;transform:rotate(-10deg)}.artwork-floral-right{right:0;transform:scaleX(-1)rotate(-10deg)}.opening-names{color:var(--color-primary);font-family:var(--font-accent);justify-content:center;align-items:baseline;gap:.1em;margin:0;font-size:clamp(54px,15vw,74px);font-weight:400;line-height:1.02;display:flex}.opening-name-connector{color:var(--color-primary);font-family:var(--font-heading);font-size:.38em;font-style:italic}.opening-invite{color:var(--color-muted);margin:7px 0 0;font-size:11px;line-height:1.6}.opening-guest{color:var(--color-muted);letter-spacing:.02em;margin:8px 0 0;font-size:11px}.opening-guest strong{color:var(--color-primary);font-family:var(--font-heading);margin-top:3px;font-size:16px;font-weight:600;display:block}.opening-date{color:var(--color-text);font-family:var(--font-heading);margin:12px 0 0;font-size:16px;font-weight:600}.open-button{border:1px solid var(--color-primary);border-radius:var(--button-radius);background:var(--color-primary);min-height:48px;color:var(--color-background);cursor:pointer;letter-spacing:.13em;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;margin-top:17px;padding:0 27px;font-size:10px;transition:color .2s,background-color .2s;display:inline-flex}.opening-bottom span:last-child{align-items:center;gap:10px;display:flex}.opening-bottom>span:first-child{font-family:var(--font-heading);letter-spacing:.04em;text-transform:none;font-size:12px}.opening-bottom .theme-selector{gap:4px}.opening-bottom .theme-option{color:var(--color-text);gap:0;padding:5px}.opening-bottom .theme-option:hover,.opening-bottom .theme-option[aria-pressed=true]{border-color:var(--color-border);background:var(--color-surface)}.opening-bottom .theme-option .theme-name{display:none}.event-countdown-compact{background:0 0;border:0;gap:7px;width:min(100%,294px);margin:10px auto 0}.event-countdown-compact .countdown-unit{background:var(--color-primary);border-radius:7px;min-width:0;padding:9px 4px 8px}.event-countdown-compact .countdown-unit strong{color:var(--color-background);font-family:var(--font-heading);font-size:25px;font-weight:600}.event-countdown-compact .countdown-unit span{color:var(--color-background);letter-spacing:.05em;margin-top:3px;font-size:8px}.bottom-navigation{display:none}.section-pad{padding:var(--section-spacing) clamp(24px, 9vw, 144px);background-image:var(--section-texture)}.section-heading{text-align:center;max-width:760px;margin:0 auto clamp(38px,5vw,58px)}.section-title{color:var(--color-primary);font-family:var(--font-heading);letter-spacing:-.035em;margin:0;font-size:clamp(39px,5.8vw,72px);font-weight:400;line-height:.98}.floral-divider{width:min(220px,54%);height:41px;color:var(--color-accent);margin:13px auto 0;transition:width .25s,opacity .25s,transform .25s;display:block}.section-description{max-width:550px;color:var(--color-muted);margin:17px auto 0;font-size:14px;line-height:1.9}.couple-section{padding-top:var(--section-spacing);padding-bottom:var(--section-spacing);background:var(--color-background)}.couple-portrait{border:var(--photo-border);border-radius:var(--photo-radius);background:var(--color-surface);width:min(100%,850px);height:clamp(310px,59vw,650px);box-shadow:var(--photo-shadow);margin:0 auto 42px;position:relative;overflow:hidden}.couple-portrait img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 48%;object-position:center 48%;border-radius:inherit;width:100%;height:100%}.couple-portrait:after{border:1px solid color-mix(in srgb, var(--color-accent) 58%, transparent);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:9px}.couple-intro-copy{text-align:center;max-width:750px;margin:0 auto}.couple-names{color:var(--color-primary);font-family:var(--font-accent);letter-spacing:-.035em;margin:0;font-size:clamp(45px,7vw,88px);font-weight:400;line-height:1}.couple-names span{color:var(--color-primary);padding-inline:10px;font-size:.7em;font-style:italic}.couple-quote{max-width:490px;color:var(--color-muted);font-family:var(--font-heading);margin:25px auto 0;font-size:clamp(18px,2.6vw,23px);font-style:italic;line-height:1.55}.couple-quote cite{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;margin-top:12px;font-size:9px;font-style:normal;display:block}.party-section{background:var(--color-surface)}.party-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,7vw,94px);max-width:920px;margin:0 auto;display:grid}.party-card{text-align:center}.party-photo{aspect-ratio:.82;border:var(--photo-border);border-radius:var(--photo-radius);background:var(--color-background);width:min(100%,350px);box-shadow:var(--photo-shadow);margin:0 auto 22px;overflow:hidden}.party-photo img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%}.party-card h3{color:var(--color-primary);font-family:var(--font-heading);margin:0;font-size:clamp(30px,4vw,42px);font-weight:400}.party-card p{color:var(--color-muted);margin:9px 0 0;font-size:12px;line-height:1.8}.party-card .parent-names{color:var(--color-text);font-family:var(--font-heading);font-size:18px}.event-section{color:var(--color-text);background:var(--color-background)}.event-countdown{border-block:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);width:min(100%,570px);margin:0 auto 58px;display:grid}.countdown-unit{text-align:center;padding:19px 9px}.countdown-unit strong{color:var(--color-primary);font-family:var(--font-heading);font-size:clamp(32px,5vw,48px);font-weight:400;line-height:1;display:block}.countdown-unit span{color:var(--color-muted);letter-spacing:.13em;text-transform:uppercase;margin-top:8px;font-size:9px;display:block}.event-grid{background:var(--color-border);border:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:950px;margin:0 auto;display:grid}.event-card{background:var(--color-background);text-align:center;padding:clamp(25px,5vw,54px)}.event-card h3{color:var(--color-primary);font-family:var(--font-heading);margin:0 0 14px;font-size:35px;font-weight:400}.event-card time,.event-card p{color:var(--color-muted);margin:0;font-size:13px;line-height:1.9;display:block}.event-card .event-date{color:var(--color-text);font-family:var(--font-heading);margin-bottom:13px;font-size:19px}.map-link,.text-button{border:0;border-bottom:1px solid var(--color-accent);color:var(--color-primary);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;align-items:center;gap:8px;margin-top:21px;padding:0 0 5px;font-size:10px;text-decoration:none;display:inline-flex}.story-section{background:var(--color-surface)}.story-list{gap:0;max-width:760px;margin:0 auto;display:grid;position:relative}.story-list:before{background:var(--color-border);content:"";width:1px;position:absolute;top:0;bottom:0;left:13px}.story-entry{grid-template-columns:28px 105px 1fr;gap:18px;padding:0 0 34px;display:grid;position:relative}.story-entry:last-child{padding-bottom:0}.story-dot{z-index:1;border:1px solid var(--color-accent);background:var(--color-surface);border-radius:50%;width:9px;height:9px;margin:7px 0 0 9px;position:relative}.story-date{color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;font-size:10px;line-height:1.7}.story-entry h3{color:var(--color-text);font-family:var(--font-heading);margin:0 0 6px;font-size:25px;font-weight:500}.story-entry p{max-width:480px;color:var(--color-muted);font-size:13px;line-height:1.8}.gallery-section{background:var(--color-background)}.gallery-grid{gap:var(--gallery-gap,14px);grid-template-columns:repeat(3,minmax(0,1fr));max-width:1100px;margin:0 auto;display:grid}.gallery-card{aspect-ratio:.78;border:var(--gallery-border,var(--photo-border));border-radius:var(--gallery-radius,var(--photo-radius));min-width:0;padding:var(--gallery-inset,0);background:var(--color-surface);cursor:zoom-in;box-shadow:var(--gallery-shadow,none);overflow:hidden}.gallery-card:nth-child(2){margin-top:35px}.gallery-card:nth-child(3){margin-top:70px}.gallery-card img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.gallery-card:hover img{transform:scale(1.04)}.gallery-controls{color:var(--color-muted);letter-spacing:.12em;justify-content:center;align-items:center;gap:17px;margin-top:32px;font-size:11px;display:flex}.gallery-controls button,.lightbox-close,.lightbox-arrow{border:1px solid var(--color-border);background:var(--color-background);width:40px;height:40px;color:var(--color-primary);cursor:pointer;border-radius:50%;place-items:center;transition:border-color .18s,background-color .18s;display:grid}.gallery-controls button:hover{border-color:var(--color-primary);background:var(--color-surface)}.lightbox{z-index:10;background:#121110f0;justify-content:center;align-items:center;gap:20px;padding:28px;display:flex;position:fixed;inset:0}.lightbox img{-o-object-fit:contain;object-fit:contain;width:min(100%,960px);max-height:82vh}.lightbox-close{color:#fff;background:0 0;border-color:#fff6;position:absolute;top:22px;right:22px}.lightbox-arrow{color:#fff;background:0 0;border-color:#fff6;flex:none}.rsvp-section{background:var(--color-surface)}.rsvp-form{gap:17px;width:min(100%,590px);margin:0 auto;display:grid}.form-field{gap:8px;display:grid}.form-field label{color:var(--color-text);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-text);border-radius:0;padding:13px 14px;font-size:14px}.form-field textarea{resize:vertical;min-height:125px}.primary-button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:49px;color:var(--color-background);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;padding:0 24px;font-size:10px;transition:color .18s,background-color .18s;display:inline-flex}.form-notice{border-left:2px solid var(--color-accent);color:var(--color-text);background:var(--color-background);margin:0;padding:11px 14px;font-size:12px;line-height:1.7}.demo-note{max-width:590px;color:var(--color-muted);text-align:center;margin:18px auto 0;font-size:11px;line-height:1.7}.guestbook-section{background:var(--color-background)}.guestbook-form{margin-bottom:44px}.guestbook-empty{border-block:1px solid var(--color-border);max-width:590px;color:var(--color-muted);font-family:var(--font-heading);text-align:center;margin:0 auto;padding:25px 18px;font-size:22px;font-style:italic}.gift-section{background:var(--color-surface)}.gift-inner{text-align:center;max-width:620px;margin:0 auto}.gift-inner .section-title{font-size:clamp(38px,5vw,61px)}.gift-details{border-block:1px solid var(--color-border);width:min(100%,400px);color:var(--color-muted);justify-items:center;gap:9px;margin:35px auto 0;padding:23px 18px;font-size:12px;display:grid}.gift-details strong{color:var(--color-primary);font-family:var(--font-heading);letter-spacing:.06em;font-size:32px;font-weight:500}.gift-address{color:var(--color-muted);margin-top:18px;font-size:12px;line-height:1.8}.gift-copy-status{color:var(--color-muted);text-align:center;font-size:11px}.music-control{z-index:5;position:fixed;bottom:20px;right:20px}.music-button{border:1px solid var(--color-border);background:var(--color-surface);min-height:42px;color:var(--color-primary);cursor:pointer;letter-spacing:.05em;align-items:center;gap:8px;padding:0 13px;font-size:10px;display:inline-flex}.music-error{border:1px solid var(--color-border);background:var(--color-background);max-width:250px;color:var(--color-text);margin:8px 0 0;padding:9px;font-size:11px;line-height:1.6}.closing-section{background:var(--color-primary);min-height:420px;color:var(--color-background);text-align:center;place-items:center;padding:90px 24px;display:grid;position:relative;overflow:hidden}.closing-kawung{width:clamp(125px,20vw,250px);color:var(--color-accent);opacity:.12;pointer-events:none;position:absolute}.closing-kawung-left{top:8%;left:4%;transform:rotate(-15deg)}.closing-kawung-right{bottom:8%;right:4%;transform:rotate(15deg)}.closing-section:before,.closing-section:after{content:"";border:1px solid #ffffff26;border-radius:50%;width:220px;height:220px;position:absolute}.closing-section:before{top:-150px;left:-100px}.closing-section:after{bottom:-155px;right:-100px}.closing-inner{z-index:1;position:relative}.closing-title{font-family:var(--font-heading);letter-spacing:-.04em;margin:0;font-size:clamp(48px,9vw,104px);font-weight:400;line-height:.92}.closing-inner .floral-divider{color:var(--color-accent)}.closing-inner p:not(.eyebrow){max-width:460px;color:color-mix(in srgb, var(--color-background), transparent 20%);font-family:var(--font-heading);margin:24px auto 0;font-size:20px;font-style:italic;line-height:1.6}.closing-signature{color:var(--color-background);font-family:var(--font-heading);margin-top:30px;font-size:25px}.site-footer{color:var(--color-muted);letter-spacing:.06em;justify-content:space-between;gap:15px;padding:19px clamp(24px,6vw,92px);font-size:10px;display:flex}.event-card{border-radius:var(--card-radius,0)}.primary-button,.music-button{border-radius:var(--button-radius)}.invitation-app[data-theme=burgundy-elegance] .section-heading{text-align:left}.invitation-app[data-theme=burgundy-elegance] .section-heading .floral-divider{margin-left:0}.invitation-app[data-cover-style=editorial] .opening-cover:after,.invitation-app[data-cover-style=royal] .opening-cover:after,.invitation-app[data-cover-style=ornamental] .opening-cover:after{inset:16px}.invitation-app[data-cover-style=botanical] .opening-cover:after{border-radius:170px 170px 6px 6px;inset:19px}.invitation-app[data-cover-style=botanical] .opening-kicker,.invitation-app[data-cover-style=botanical] .opening-invite{font-style:italic}.invitation-app[data-cover-style=romantic] .opening-cover:after{border-radius:180px 180px 12px 12px;inset:20px}.invitation-app[data-cover-style=romantic] .opening-names{font-size:clamp(58px,15vw,80px)}.invitation-app[data-cover-style=royal] .opening-cover{color:var(--color-background);background-color:var(--color-secondary);background-image:linear-gradient(145deg, var(--color-secondary), var(--color-primary) 56%, var(--color-secondary))}.invitation-app[data-cover-style=royal] .opening-top,.invitation-app[data-cover-style=royal] .opening-bottom,.invitation-app[data-cover-style=royal] .opening-eyebrow,.invitation-app[data-cover-style=royal] .opening-invite,.invitation-app[data-cover-style=royal] .opening-guest{color:color-mix(in srgb, var(--color-background) 78%, transparent)}.invitation-app[data-cover-style=royal] .opening-kicker,.invitation-app[data-cover-style=royal] .opening-names,.invitation-app[data-cover-style=royal] .opening-date,.invitation-app[data-cover-style=royal] .opening-guest strong{color:var(--color-background)}.invitation-app[data-cover-style=royal] .opening-cover:after{border-color:color-mix(in srgb, var(--color-accent) 58%, transparent)}.invitation-app[data-cover-style=royal] .opening-cover:before{background:linear-gradient(90deg, transparent, var(--color-accent), transparent)}.invitation-app[data-cover-style=royal] .cover-floral,.invitation-app[data-cover-style=royal] .artwork-floral{opacity:.58}.invitation-app[data-cover-style=royal] .event-countdown-compact .countdown-unit{border:1px solid color-mix(in srgb, var(--color-accent) 68%, transparent);background:color-mix(in srgb, var(--color-accent) 12%, transparent);border-radius:0}.invitation-app[data-cover-style=royal] .event-countdown-compact .countdown-unit strong{color:var(--color-background)}.invitation-app[data-cover-style=royal] .event-countdown-compact .countdown-unit span{color:color-mix(in srgb, var(--color-background) 76%, var(--color-accent))}.invitation-app[data-cover-style=royal] .open-button{border-color:color-mix(in srgb, var(--color-accent) 76%, transparent);color:var(--color-background);background:0 0}.invitation-app[data-cover-style=royal] .open-button:hover{background:color-mix(in srgb, var(--color-accent) 20%, transparent)}.invitation-app[data-cover-style=royal] .opening-bottom .theme-option{color:var(--color-background)}.invitation-app[data-cover-style=royal] .opening-bottom .theme-option:hover,.invitation-app[data-cover-style=royal] .opening-bottom .theme-option[aria-pressed=true]{border-color:color-mix(in srgb, var(--color-background) 48%, transparent);background:color-mix(in srgb, var(--color-background) 12%, transparent)}.invitation-app[data-cover-style=organic] .opening-cover:after{border-radius:5px 54px;inset:18px}.invitation-app[data-cover-style=organic] .opening-kicker,.invitation-app[data-cover-style=organic] .section-title{font-variation-settings:"SOFT" 35, "WONK" 1}.invitation-app[data-cover-style=ornamental] .opening-cover:after{border-width:3px;inset:17px}.invitation-app[data-divider-style=leaf] .floral-divider{width:158px;transform:rotate(-5deg)}.invitation-app[data-divider-style=petal] .floral-divider{width:200px;height:46px}.invitation-app[data-divider-style=deco] .floral-divider{width:142px;height:35px}.invitation-app[data-divider-style=branch] .floral-divider{opacity:.8;width:155px;height:34px;transform:rotate(-7deg)}.invitation-app[data-divider-style=ornate] .floral-divider{width:210px;height:45px}.invitation-app[data-photo-frame=arch] .couple-portrait,.invitation-app[data-photo-frame=soft] .couple-portrait,.invitation-app[data-photo-frame=oval] .couple-portrait{aspect-ratio:.9;width:min(100%,640px);height:auto}.invitation-app[data-photo-frame=arch] .party-photo{aspect-ratio:.78}.invitation-app[data-photo-frame=gilt] .couple-portrait:after,.invitation-app[data-photo-frame=gilt] .party-photo{border-style:double}.invitation-app[data-photo-frame=soft] .couple-portrait:after{inset:13px}.invitation-app[data-photo-frame=organic] .couple-portrait{transform:rotate(-1deg)}.invitation-app[data-photo-frame=organic] .couple-portrait img{transform:rotate(1deg)scale(1.025)}.invitation-app[data-photo-frame=oval] .couple-portrait{aspect-ratio:.82;width:min(100%,540px)}.invitation-app[data-photo-frame=oval] .party-photo{aspect-ratio:.88}.invitation-app[data-gallery-style=editorial]{--gallery-radius:0;--gallery-border:1px solid var(--color-border)}.invitation-app[data-gallery-style=garden]{--gallery-radius:45% 45% 4px 4px;--gallery-border:4px solid var(--color-background)}.invitation-app[data-gallery-style=garden] .gallery-card:nth-child(2){margin-top:58px}.invitation-app[data-gallery-style=romantic]{--gallery-radius:48% 48% 8px 8px;--gallery-border:5px solid var(--color-background)}.invitation-app[data-gallery-style=romantic] .gallery-card:nth-child(2){margin-top:53px}.invitation-app[data-gallery-style=formal]{--gallery-radius:0;--gallery-border:6px double var(--color-accent);--gallery-inset:5px}.invitation-app[data-gallery-style=formal] .gallery-card:nth-child(2),.invitation-app[data-gallery-style=formal] .gallery-card:nth-child(3){margin-top:0}.invitation-app[data-gallery-style=polaroid]{--gallery-radius:2px;--gallery-border:1px solid var(--color-border);--gallery-shadow:0 12px 24px #45372f24}.invitation-app[data-gallery-style=polaroid] .gallery-card:nth-child(2){margin-top:54px;transform:rotate(2deg)}.invitation-app[data-gallery-style=polaroid] .gallery-card:nth-child(3){margin-top:12px;transform:rotate(-1.5deg)}.invitation-app[data-gallery-style=floating]{--gallery-radius:45% 45% 4px 4px;--gallery-border:1px solid var(--color-border)}.invitation-app[data-gallery-style=floating] .gallery-card:nth-child(2){margin-top:52px;transform:rotate(2deg)}.invitation-app[data-gallery-style=floating] .gallery-card:nth-child(3){margin-top:0;transform:rotate(-2deg)}.invitation-app[data-theme=sage-serenity] .section-heading{text-align:left}.invitation-app[data-theme=sage-serenity] .section-heading .eyebrow{border-left:2px solid var(--color-accent);padding-left:10px}.invitation-app[data-theme=sage-serenity] .section-heading .floral-divider{margin-left:0}.invitation-app[data-theme=dusty-romance] .section-title{font-style:italic}.invitation-app[data-theme=dusty-romance] .couple-names{font-size:clamp(51px,8vw,96px)}.invitation-app[data-theme=midnight-royal] .section-heading .eyebrow,.invitation-app[data-theme=midnight-royal] .story-date{letter-spacing:.22em}.invitation-app[data-theme=midnight-royal] .event-grid{border-color:var(--color-accent);background:var(--color-accent);gap:2px}.invitation-app[data-theme=midnight-royal] .event-card{border:4px double var(--color-accent)}.invitation-app[data-theme=mocha-classic] .section-title{font-variation-settings:"SOFT" 35, "WONK" 1}.invitation-app[data-theme=mocha-classic] .story-list:before{background:color-mix(in srgb, var(--color-accent) 55%, transparent);width:2px}.invitation-app[data-theme=mocha-classic] .gallery-card:nth-child(2) img{transform:rotate(-1deg)}.invitation-app[data-theme=lavender-grace] .section-heading{max-width:620px}.invitation-app[data-theme=lavender-grace] .section-title{letter-spacing:.005em}.invitation-app[data-theme=lavender-grace] .event-card{border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent)}.invitation-app[data-ornament-style=botanical] .cover-floral-top{transform:scaleX(-1)rotate(-12deg)}.invitation-app[data-ornament-style=botanical] .artwork-floral-left{transform:rotate(10deg)scale(.92)}.invitation-app[data-ornament-style=botanical] .artwork-floral-right{transform:scaleX(-1)rotate(10deg)scale(.92)}.invitation-app[data-ornament-style=blossom] .cover-floral-top{top:48px;transform:rotate(42deg)scale(.86)}.invitation-app[data-ornament-style=blossom] .cover-floral-bottom{transform:rotate(220deg)scale(.86)}.invitation-app[data-ornament-style=blossom] .artwork-floral{opacity:.68;bottom:-3px}.invitation-app[data-ornament-style=deco] .cover-floral-top{top:37px;transform:rotate(86deg)scale(.82)}.invitation-app[data-ornament-style=deco] .cover-floral-bottom{transform:rotate(266deg)scale(.82)}.invitation-app[data-ornament-style=deco] .artwork-floral-left{transform:rotate(-28deg)scale(.78)}.invitation-app[data-ornament-style=deco] .artwork-floral-right{transform:scaleX(-1)rotate(-28deg)scale(.78)}.invitation-app[data-ornament-style=wildflower] .cover-floral-top{transform:rotate(-12deg)scale(1.12)}.invitation-app[data-ornament-style=wildflower] .cover-floral-bottom{transform:rotate(192deg)scale(1.1)}.invitation-app[data-ornament-style=wildflower] .artwork-floral-left{transform:rotate(-18deg)scale(1.08)}.invitation-app[data-ornament-style=wildflower] .artwork-floral-right{transform:scaleX(-1)rotate(-18deg)scale(1.08)}.invitation-app[data-ornament-style=ornamental] .cover-floral-top{top:35px;transform:rotate(55deg)scale(.88)}.invitation-app[data-ornament-style=ornamental] .cover-floral-bottom{transform:rotate(235deg)scale(.88)}.invitation-app[data-ornament-style=ornamental] .artwork-floral-left{transform:rotate(-35deg)scale(.88)}.invitation-app[data-ornament-style=ornamental] .artwork-floral-right{transform:scaleX(-1)rotate(-35deg)scale(.88)}@media (width<=760px){.invitation-page{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.bottom-navigation{z-index:6;min-height:calc(62px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);padding:5px 8px env(safe-area-inset-bottom);background:color-mix(in srgb, var(--color-background), transparent 3%);grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #28201c0f}.bottom-navigation a{min-width:0;color:var(--color-muted);justify-items:center;gap:4px;padding:5px 2px;font-size:9px;text-decoration:none;display:grid}.bottom-navigation a:focus,.bottom-navigation a:hover{color:var(--color-primary)}.site-header{grid-template-columns:auto 1fr auto;min-height:64px;padding-inline:20px}.header-nav{justify-content:center;gap:clamp(10px,3vw,20px)}.header-nav a{letter-spacing:.04em;font-size:9px}.header-rsvp{letter-spacing:.03em;font-size:9px}.header-rsvp span{display:none}.theme-toolbar{justify-content:flex-start;gap:10px;padding-inline:18px;overflow-x:auto}.theme-selector{justify-content:flex-start;min-width:max-content}.theme-option{gap:6px;padding:6px 9px 6px 7px;font-size:10px}.opening-cover{min-height:100svh;padding:24px 22px max(20px, env(safe-area-inset-bottom))}.opening-cover:after{inset:10px}.opening-top .opening-brand{font-size:14px}.opening-bottom{align-items:center}.opening-bottom .theme-selector{flex-wrap:nowrap;justify-content:flex-end;gap:3px;max-width:60%}.opening-bottom .theme-option{padding:5px}.opening-content{margin-block:9px}.opening-names{font-size:clamp(54px,15vw,74px)}.section-pad{padding:76px 22px}.section-heading{margin-bottom:37px}.couple-portrait{margin-bottom:34px}.party-grid{gap:16px}.party-card h3{font-size:30px}.party-card p{font-size:11px}.party-card .parent-names{font-size:15px}.event-countdown{margin-bottom:36px}.event-grid{grid-template-columns:1fr}.event-card{padding:29px 20px}.story-entry{grid-template-columns:25px 77px 1fr;gap:10px}.story-date{letter-spacing:.06em;font-size:9px}.story-entry h3{font-size:22px}.story-entry p{font-size:12px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-card:nth-child(2){margin-top:24px}.gallery-card:nth-child(3){display:none}.lightbox{gap:8px;padding:12px}.lightbox-arrow{width:34px;height:34px}.site-footer{text-align:center;flex-direction:column}}@media (width<=420px){.site-header{grid-template-columns:auto 1fr}.header-nav{grid-area:2/1/auto/-1;justify-content:space-between;padding:0 0 12px}.header-rsvp{grid-area:1/2}.opening-bottom>span:last-child{flex-wrap:wrap;justify-content:flex-end;max-width:70%}.opening-bottom .theme-selector{max-width:100%}}.invitation-app{background-color:var(--color-background);background-image:var(--paper-texture);min-height:100vh;color:var(--color-text)}.invitation-page{background-color:var(--color-background);background-image:var(--paper-texture);width:min(100%,1440px)}.site-header{border-color:color-mix(in srgb, var(--color-accent) 32%, transparent);background-color:color-mix(in srgb, var(--color-background) 90%, transparent);background-image:var(--paper-texture);min-height:82px}.wordmark,.opening-brand{color:var(--color-primary)}.theme-toolbar{border-color:var(--color-border);background:color-mix(in srgb, var(--color-surface) 82%, var(--color-background))}.opening-cover{width:min(100%,560px);min-height:100svh;padding:clamp(28px, 5vh, 50px) clamp(26px, 7vw, 54px) max(26px, env(safe-area-inset-bottom));background-color:var(--color-background);background-image:var(--paper-texture), var(--cover-texture);border-radius:2px;justify-content:space-between;box-shadow:0 18px 60px #1e252a1f}.opening-cover:before{top:43px}.opening-cover:after{border:1px solid color-mix(in srgb, var(--color-accent) 58%, transparent);inset:17px}.opening-top,.opening-bottom{color:var(--color-muted)}.opening-brand{font-family:var(--font-heading);letter-spacing:.17em;font-size:15px}.opening-content{width:min(100%,420px);margin-block:25px}.opening-eyebrow,.opening-invite{color:var(--color-muted);letter-spacing:.12em}.opening-kicker{color:var(--color-primary);font-size:22px}.opening-artwork{width:min(100%,360px);margin-block:11px 0}.wedding-illustration{filter:none;width:min(100%,300px);max-height:208px}.opening-names{color:var(--color-primary);font-size:clamp(64px,16vw,88px);line-height:.95}.opening-name-connector{color:var(--color-accent)}.opening-guest strong,.opening-date{color:var(--color-primary)}.open-button{border-color:var(--color-primary);border-radius:var(--button-radius);background:var(--color-primary);min-height:50px;color:var(--color-background);margin-top:20px}.open-button:hover{color:var(--color-primary);background:0 0}.opening-bottom>span:first-child{color:var(--color-primary)}.cover-floral{opacity:.56;background:0 0;width:clamp(138px,32vw,190px);height:clamp(190px,36vh,255px)}.cover-floral-top{top:-42px;right:-38px;transform:rotate(13deg)}.cover-floral-top-left{top:-42px;left:-38px;right:auto;transform:scaleX(-1)rotate(-10deg)}.cover-floral-bottom{bottom:-68px;left:-36px;transform:rotate(190deg)}.cover-floral-bottom-right{bottom:-68px;left:auto;right:-36px;transform:scaleX(-1)rotate(172deg)}.floral-decoration{pointer-events:none;display:block;overflow:hidden}.floral-decoration-linework{z-index:1;background-color:var(--color-foliage);opacity:.22;-webkit-mask:var(--ornament-image) center / contain no-repeat;-webkit-mask:var(--ornament-image) center / contain no-repeat;mask:var(--ornament-image) center / contain no-repeat;display:block;position:absolute;inset:0}.floral-decoration-artwork{z-index:0;-o-object-fit:cover;object-fit:cover;opacity:.88;mix-blend-mode:multiply;width:100%;height:100%;-webkit-mask:var(--ornament-image) center / contain no-repeat;-webkit-mask:var(--ornament-image) center / contain no-repeat;mask:var(--ornament-image) center / contain no-repeat;display:block;position:absolute;inset:0}.cover-floral .floral-decoration-artwork{-o-object-position:center 44%;object-position:center 44%}.artwork-floral{opacity:.72;background:0 0}.artwork-floral .floral-decoration-linework{background-color:color-mix(in srgb, var(--color-floral) 74%, var(--color-foliage));opacity:.18}.artwork-floral .floral-decoration-artwork{-o-object-position:center 52%;object-position:center 52%}.event-countdown-compact .countdown-unit{border:1px solid color-mix(in srgb, var(--color-accent) 65%, transparent);background:var(--color-primary);border-radius:0}.event-countdown-compact .countdown-unit strong{color:var(--color-background)}.event-countdown-compact .countdown-unit span{color:color-mix(in srgb, var(--color-background) 78%, transparent)}.section-pad{isolation:isolate;padding:var(--section-spacing) clamp(26px, 9vw, 144px);background-color:var(--color-background);background-image:var(--paper-texture), var(--section-texture);position:relative}.section-pad>.section-heading,.section-pad>.couple-photo-composition,.section-pad>.couple-intro-copy,.section-pad>.party-grid,.section-pad>.event-countdown,.section-pad>.event-grid,.section-pad>.gallery-carousel,.section-pad>.story-list,.section-pad>.gallery-controls,.section-pad>.gallery-indicators,.section-pad>.rsvp-form,.section-pad>.guestbook-empty,.section-pad>.demo-note,.section-pad>.gift-inner,.section-pad>.guestbook-form{z-index:1;position:relative}.section-heading{max-width:680px;margin-bottom:clamp(43px,6vw,70px)}.section-heading .eyebrow{color:var(--color-accent);letter-spacing:.23em;margin-bottom:14px;font-size:10px}.section-title{color:var(--color-primary);letter-spacing:-.025em;font-size:clamp(40px,6vw,76px);line-height:1.05}.floral-divider{width:min(235px,56%);height:43px;color:var(--color-floral);margin-top:14px}.floral-divider path:first-child{stroke:color-mix(in srgb, var(--color-accent) 32%, transparent)}.floral-divider path:not(:first-child),.floral-divider ellipse{stroke:var(--color-foliage)}.section-description{color:var(--color-muted);margin-top:16px;font-size:14px;line-height:1.9}.section-botanical{z-index:0;opacity:.26;pointer-events:none;width:clamp(190px,28vw,360px);height:clamp(245px,38vw,450px);position:absolute}.section-botanical--top-left{top:-68px;left:-72px;transform:rotate(-17deg)}.section-botanical--top-right{top:-68px;right:-72px;transform:scaleX(-1)rotate(-17deg)}.section-botanical--bottom-left{bottom:-105px;left:-82px;transform:scaleX(-1)rotate(12deg)}.section-botanical--bottom-right{bottom:-105px;right:-82px;transform:rotate(12deg)}.section-botanical .floral-decoration-artwork{-o-object-position:center 38%;object-position:center 38%}.section-botanical--line{opacity:.17;width:clamp(190px,28vw,370px);height:clamp(200px,31vw,375px)}.couple-section,.event-section,.story-section,.gallery-section,.guestbook-section,.rsvp-section,.gift-section{background-color:var(--color-background)}.couple-photo-composition{z-index:1;isolation:isolate;width:min(78vw,330px);max-width:100%;margin:0 auto clamp(68px,8vw,82px);position:relative}.invitation-app[data-photo-frame] .couple-portrait{z-index:1;aspect-ratio:4/5;border:1px solid color-mix(in srgb, var(--color-accent) 82%, transparent);border-radius:var(--photo-radius);background:var(--color-background);width:100%;height:auto;box-shadow:0 0 0 5px var(--color-background), 0 0 0 6px color-mix(in srgb, var(--color-accent) 50%, transparent), 0 16px 38px #352b2621;padding:7px;position:relative;overflow:hidden}.couple-portrait img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 48%;object-position:center 48%;border-radius:inherit;width:100%;height:100%;display:block}.couple-portrait:after{border-color:color-mix(in srgb, var(--color-accent) 48%, transparent);border-radius:inherit;border-style:solid;inset:9px}.couple-photo-floral{z-index:2;opacity:.82;width:clamp(82px,25vw,108px);height:clamp(102px,31vw,132px);position:absolute;overflow:hidden}.couple-photo-floral--top-left{top:clamp(-24px,-5vw,-15px);left:clamp(-34px,-4vw,-12px);transform:rotate(-11deg)}.couple-photo-floral--bottom-right{bottom:clamp(-58px,-14vw,-36px);right:clamp(-34px,-4vw,-12px);transform:scaleX(-1)rotate(169deg)}.couple-photo-floral--bottom-center{z-index:0;opacity:.76;width:clamp(132px,44vw,180px);height:clamp(72px,22vw,96px);bottom:-37px;left:50%;transform:translate(-50%)rotate(180deg)}.couple-photo-floral .floral-decoration-artwork{-o-object-position:center 42%;object-position:center 42%}.couple-photo-floral .floral-decoration-linework{opacity:.15}.couple-intro-copy{max-width:780px;margin-top:0}.couple-names{color:var(--color-primary);font-size:clamp(55px,9vw,104px)}.couple-names span{color:var(--color-accent)}.couple-quote{color:var(--color-muted)}.party-section,.rsvp-section,.gift-section{background-color:color-mix(in srgb, var(--color-surface) 76%, var(--color-background));background-image:var(--paper-texture), var(--section-texture)}.party-grid{z-index:1;flex-direction:column;align-items:center;gap:0;width:min(100%,500px);max-width:850px;display:flex;position:relative}.party-card{isolation:isolate;border:1px solid color-mix(in srgb, var(--color-accent) 30%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 82%, transparent);text-align:center;width:min(84%,420px);padding:clamp(24px,5vw,38px) clamp(20px,5vw,38px) 28px;position:relative;box-shadow:0 12px 30px #262e341a}.party-photo{z-index:1;aspect-ratio:3/4;border:2px solid color-mix(in srgb, var(--color-accent) 72%, var(--color-border));background:var(--color-background);width:clamp(158px,52vw,210px);box-shadow:0 0 0 5px color-mix(in srgb, var(--color-background) 74%, transparent);border-radius:50%/38%;margin:0 auto 22px;padding:4px;position:relative;overflow:hidden}.invitation-app[data-photo-frame] .party-photo{aspect-ratio:3/4}.party-photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 38%;object-position:center 38%;border-radius:inherit;width:100%;height:100%;display:block}.party-card h3{z-index:1;color:var(--color-primary);font-family:var(--font-heading);overflow-wrap:anywhere;margin:0;font-size:clamp(27px,5vw,39px);font-weight:400;line-height:1.2;position:relative}.party-card p{z-index:1;max-width:360px;color:var(--color-muted);overflow-wrap:anywhere;margin:10px auto 0;font-size:clamp(12px,2.3vw,14px);line-height:1.7;position:relative}.party-card>a{z-index:1;color:var(--color-primary);-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent) 65%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent) 65%, transparent);text-underline-offset:4px;margin-top:14px;font-size:12px;display:inline-block;position:relative}.party-card-floral{z-index:2;opacity:.64;pointer-events:none;width:clamp(82px,22vw,104px);height:clamp(104px,28vw,132px);position:absolute;top:-34px;overflow:hidden}.party-card-floral--left{left:-24px;transform:rotate(-9deg)}.party-card-floral--right{right:-24px;transform:scaleX(-1)rotate(-9deg)}.party-card-floral .floral-decoration-artwork{-o-object-position:center 42%;object-position:center 42%}.party-card-floral .floral-decoration-linework{opacity:.1}.couple-divider{width:min(76%,310px);color:var(--color-accent);justify-content:center;align-items:center;gap:16px;margin:clamp(42px,7vw,58px) auto;display:flex}.couple-divider>span{background:color-mix(in srgb, var(--color-accent) 55%, var(--color-border));flex:1;height:1px}.couple-divider-heart{width:clamp(33px,9vw,44px);height:auto;color:var(--color-accent);flex:none}@media (width<=480px){.party-card{width:min(86%,420px)}.party-card-floral{opacity:.6;width:78px;height:98px;top:-27px}.party-card-floral--left{left:-19px}.party-card-floral--right{right:-19px}}.event-section,.closing-section{color:var(--color-background);background-color:var(--color-dark);background-image:radial-gradient(ellipse at 8% 8%, color-mix(in srgb, var(--color-floral) 15%, transparent), transparent 38%), radial-gradient(ellipse at 92% 90%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent 40%)}.event-section .section-heading .eyebrow,.event-section .section-title,.event-section .section-description{color:var(--color-background)}.event-section .section-heading .eyebrow{color:color-mix(in srgb, var(--color-floral) 83%, var(--color-background))}.event-section .floral-divider{color:var(--color-floral)}.event-section .floral-divider path:first-child{stroke:color-mix(in srgb, var(--color-background) 46%, transparent)}.event-section .floral-divider path:not(:first-child),.event-section .floral-divider ellipse{stroke:color-mix(in srgb, var(--color-floral) 82%, var(--color-background))}.event-section .section-description{color:color-mix(in srgb, var(--color-background) 82%, transparent)}.event-section .event-countdown{border-color:color-mix(in srgb, var(--color-floral) 52%, transparent);margin-bottom:clamp(42px,6vw,68px)}.event-section .countdown-unit strong{color:var(--color-background)}.event-section .countdown-unit span{color:color-mix(in srgb, var(--color-background) 74%, transparent)}.event-section .event-grid{border:1px solid color-mix(in srgb, var(--color-floral) 42%, transparent);background:color-mix(in srgb, var(--color-floral) 36%, var(--color-dark));gap:2px}.event-section .event-card{background:color-mix(in srgb, var(--color-background) 5%, var(--color-dark));border:0;padding:clamp(28px,5vw,54px)}.event-section .event-card h3,.event-section .event-card .event-date{color:var(--color-background)}.event-section .event-card p{color:color-mix(in srgb, var(--color-background) 75%, transparent)}.event-section .map-link{border-color:var(--color-floral);color:var(--color-background)}.event-section .section-botanical--line .floral-decoration-linework,.closing-floral .floral-decoration-linework{background-color:color-mix(in srgb, var(--color-background) 78%, var(--color-floral));opacity:.74}.event-section .floral-decoration-artwork,.closing-floral .floral-decoration-artwork{mix-blend-mode:screen;opacity:.68}.event-section .section-botanical--line{opacity:.42}.rsvp-section .section-botanical--top-left{top:clamp(285px,34vw,370px);left:-112px}.rsvp-section .section-botanical--bottom-right{bottom:-92px;right:-112px}.rsvp-section .section-botanical{opacity:.3}.story-section{background-color:var(--color-background)}.story-list{max-width:780px;padding-block:6px}.story-list:before{background:color-mix(in srgb, var(--color-accent) 52%, transparent);width:1px;left:13px}.story-entry{grid-template-columns:28px 112px 1fr;gap:19px;padding-bottom:42px}.story-dot{border-color:var(--color-foliage);background:var(--color-background);width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-floral) 34%, transparent);margin-left:8px}.story-date{color:var(--color-accent)}.story-entry h3{color:var(--color-primary);font-size:27px}.gallery-carousel{border:1px solid color-mix(in srgb, var(--color-accent) 56%, var(--color-border));background:var(--color-accent);touch-action:pan-y;width:min(100%,520px);margin:0 auto;overflow:hidden}.gallery-track{width:500%;display:flex}.gallery-slide{aspect-ratio:4/5;background:color-mix(in srgb, var(--color-accent) 78%, var(--color-background));flex:0 0 20%;grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"a b b b""a b b b""c b b b""d d d e""d d d e""d d d e";gap:2px;width:20%;min-width:0;display:grid}.gallery-slide--portrait{grid-template-areas:"a a b c""a a b c""a a d d""e e d d""e e d d""e e d d"}.gallery-slide--horizontal{grid-template-rows:repeat(5,minmax(0,1fr));grid-template-areas:"a a a a""a a a a""b b c c""d d c c""d d e e"}.gallery-slide--portrait-focus{grid-template-areas:"a a b c""a a b c""a a d d""a a e e""a a e e""a a e e"}.gallery-slide--finale{grid-template-areas:"a a a b""a a a b""c c d b""c c d e""c c d e""c c d e"}.invitation-app .gallery-slide .gallery-card,.invitation-app .gallery-slide .gallery-card:nth-child(n){aspect-ratio:auto;background:var(--color-background);min-width:0;min-height:0;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;display:block;overflow:hidden;transform:none}.gallery-card--a{grid-area:a}.gallery-card--b{grid-area:b}.gallery-card--c{grid-area:c}.gallery-card--d{grid-area:d}.gallery-card--e{grid-area:e}.invitation-app .gallery-slide .gallery-card img{-o-object-fit:cover;object-fit:cover;border-radius:0;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1);display:block}.invitation-app .gallery-slide .gallery-card:hover img{transform:scale(1.035)}.gallery-controls{color:var(--color-muted)}.gallery-indicators{justify-content:center;align-items:center;gap:9px;margin:14px auto 0;display:flex}.gallery-indicators button{background:color-mix(in srgb, var(--color-muted) 42%, transparent);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:width .18s,border-radius .18s,background-color .18s}.gallery-indicators button.is-active{background:var(--color-primary);border-radius:5px;width:22px}.gallery-carousel:focus-visible,.gallery-indicators button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.gallery-controls button,.lightbox-close,.lightbox-arrow{border-color:color-mix(in srgb, var(--color-accent) 48%, transparent)}.rsvp-form{width:min(100%,610px)}.rsvp-section .rsvp-form{border:1px solid color-mix(in srgb, var(--color-floral) 55%, transparent);background:var(--color-dark);padding:clamp(24px,5vw,42px);box-shadow:0 18px 48px #181e2224}.rsvp-section .form-field label,.rsvp-section .form-notice{color:var(--color-background)}.rsvp-section .primary-button{border-color:var(--color-background);color:var(--color-background);background:0 0}.rsvp-section .primary-button:hover{background:var(--color-background);color:var(--color-dark)}.form-field input,.form-field textarea,.form-field select{border-color:color-mix(in srgb, var(--color-accent) 42%, var(--color-border));background:color-mix(in srgb, var(--color-background) 92%, white);border-radius:0}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--color-primary)}.primary-button{border-color:var(--color-primary);border-radius:var(--button-radius);background:var(--color-primary)}.primary-button:hover{color:var(--color-primary);background:0 0}.guestbook-empty{border-color:color-mix(in srgb, var(--color-accent) 38%, transparent);color:var(--color-muted)}.gift-section .gift-details{border-block-color:color-mix(in srgb, var(--color-accent) 46%, transparent)}.gift-details strong{color:var(--color-primary)}.closing-section{background-color:var(--color-dark);min-height:520px;padding:112px 24px}.closing-floral{z-index:0;opacity:.24;width:clamp(220px,30vw,390px);height:clamp(270px,39vw,470px);position:absolute;top:-30%}.closing-floral-left{left:-17%;transform:rotate(-24deg)}.closing-floral-right{top:auto;bottom:-30%;right:-17%;transform:scaleX(-1)rotate(-24deg)}.closing-inner{max-width:640px}.closing-inner .eyebrow{color:var(--color-floral)}.closing-title,.closing-signature{color:var(--color-background)}.closing-signature{font-family:var(--font-accent);font-size:clamp(38px,6vw,58px)}.site-footer{background:var(--color-dark);color:color-mix(in srgb, var(--color-background) 73%, transparent)}.music-button{border-color:color-mix(in srgb, var(--color-accent) 58%, transparent);border-radius:var(--button-radius);background:var(--color-background)}@media (width<=760px){.site-header{background-image:var(--paper-texture)}.opening-cover{padding-inline:25px}.opening-content{margin-block:12px}.cover-floral{opacity:.54;width:132px;height:178px}.cover-floral-top{top:-42px;right:-36px}.cover-floral-top-left{top:-42px;left:-36px;right:auto}.cover-floral-bottom{bottom:-69px;left:-36px}.cover-floral-bottom-right{bottom:-69px;left:auto;right:-36px}.section-pad{padding:88px 24px}.section-botanical{opacity:.27;width:160px;height:226px}.section-botanical--top-left{top:-76px;left:-95px}.section-botanical--top-right{top:-76px;right:-95px}.section-botanical--bottom-left{bottom:-86px;left:-95px}.section-botanical--bottom-right{bottom:-86px;right:-95px}.section-botanical--line{opacity:.34;width:182px;height:210px}.event-section .section-botanical--line{opacity:.48}.rsvp-section .section-botanical--top-left{top:330px;left:-95px}.rsvp-section .section-botanical--bottom-right{bottom:-86px;right:-95px}.rsvp-section .section-botanical{opacity:.33}.story-entry{grid-template-columns:24px 78px minmax(0,1fr);gap:11px;padding-bottom:34px}.story-entry h3{font-size:22px}.closing-section{min-height:440px;padding:92px 22px}.closing-floral{width:170px;height:230px}.closing-section .closing-floral{opacity:.24}.closing-floral-left{top:-10%;left:-33%}.closing-floral-right{bottom:-12%;right:-33%}.section-title{font-size:clamp(35px,9.6vw,43px)}}@media (width<=420px){.opening-top,.opening-bottom{font-size:8px}.opening-content{width:100%}.wedding-illustration{width:min(100%,270px)}.opening-names{font-size:clamp(58px,16vw,70px)}.section-pad,.event-section .event-card{padding-inline:21px}}
