/*! tailwindcss v4.2.1 | 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)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@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)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--ivory:#f8f5ee;--paper:#fffdf8;--ink:#25251f;--muted:#746f65;--gold:#bc8a4d;--gold-light:#ddc39a;--sage:#758370;--line:#bc8a4d4d;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "Times New Roman", serif;--sans:"Avenir Next", Avenir, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.wedding-page{background:radial-gradient(circle at 50% 0%, #fffffff2, transparent 28rem), var(--ivory);min-height:100vh;overflow:hidden}.hero{background:radial-gradient(circle at 20% 18%,#d6c0991f,#0000 18rem),linear-gradient(#fff 0%,#fbfaf6 72%,#f8f5ee 100%);border:1px solid #bc8a4d2e;min-height:100svh;padding:24px 22px 48px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";border:1px solid #bc8a4d24;border-radius:42% 58% 48% 52%;width:310px;height:310px;position:absolute;transform:rotate(28deg)}.hero:before{top:-190px;left:-160px}.hero:after{bottom:-205px;right:-165px}.corner-ornament{z-index:1;color:#bc8a4d33;font-size:84px;line-height:1;position:absolute}.corner-ornament--left{top:84px;left:-12px;transform:rotate(45deg)}.corner-ornament--right{bottom:92px;right:-10px;transform:rotate(-45deg)}.language-switch{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #bc8a4d42;border-radius:999px;gap:3px;padding:4px;display:inline-flex;position:absolute;top:22px;right:22px;box-shadow:0 10px 30px #4a381c0f}.language-switch button{color:#8b7d67;cursor:pointer;letter-spacing:.13em;background:0 0;border:0;border-radius:999px;min-width:45px;padding:8px 10px;font-size:10px;font-weight:700;transition:all .18s}.language-switch button.active{background:var(--ink);color:#fffaf0}.hero__content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,780px);min-height:calc(100svh - 74px);margin:0 auto;display:flex;position:relative}.ornament-mark{width:72px;height:72px;color:var(--gold);place-items:center;margin-bottom:26px;display:grid;position:relative}.ornament-mark:before,.ornament-mark:after{content:"";border:1px solid var(--gold);position:absolute;inset:10px;transform:rotate(45deg)}.ornament-mark:after{background:#bc8a4d14;inset:21px}.ornament-mark span{z-index:1;font-size:19px;position:relative}.ornament-mark--small{width:50px;height:50px;margin:0 auto 25px}.ornament-mark--small:before{inset:7px}.ornament-mark--small:after{inset:15px}.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.25em;text-align:center;margin:0;font-size:11px;font-weight:700;line-height:1.7}.ornament-rule{width:min(100%,310px);color:var(--gold);align-items:center;margin:18px auto 22px;display:flex}.ornament-rule span{background:linear-gradient(90deg, transparent, var(--line));flex:1;height:1px}.ornament-rule span:last-child{background:linear-gradient(90deg, var(--line), transparent)}.ornament-rule i{margin:0 10px;font-size:14px;font-style:normal}.hero__invitation{max-width:520px;font-family:var(--serif);margin:0 0 34px;font-size:clamp(19px,3vw,27px);line-height:1.55}.hero__portrait{aspect-ratio:1;width:min(72vw,380px);box-shadow:0 28px 70px #4331192b, 0 0 0 1px var(--gold);border:8px solid #fff;border-radius:50%;margin:0 auto 27px;position:relative;overflow:visible}.hero__portrait:before,.hero__portrait:after{z-index:-1;content:"";border:1px solid #bc8a4d33;width:62%;height:62%;position:absolute;transform:rotate(45deg)}.hero__portrait:before{top:18%;left:-28%}.hero__portrait:after{bottom:18%;right:-28%}.hero__portrait-ring{pointer-events:none;border:1px solid #bc8a4d33;border-radius:50%;position:absolute;inset:-18px}.photo-quadrant{background-repeat:no-repeat;background-size:200% 200%}.photo-quadrant--one{background-position:0 0}.photo-quadrant--two{background-position:100% 0}.photo-quadrant--three{background-position:0 100%}.photo-quadrant--four{background-position:100% 100%}.hero__label{color:var(--gold);letter-spacing:.28em;margin:0 0 2px;font-size:10px;font-weight:700}.couple-names{color:var(--ink);font-family:var(--serif);letter-spacing:-.045em;align-items:center;margin:0;font-size:clamp(46px,8vw,86px);font-weight:400;line-height:.95;display:flex}.couple-names b{color:var(--gold);margin:0 .22em;font-size:.38em;font-style:italic;font-weight:400}.scroll-cue{border:1px solid var(--gold);width:44px;height:44px;color:var(--gold);border-radius:50%;place-items:center;margin-top:28px;text-decoration:none;transition:background .18s,color .18s;display:grid}.scroll-cue:hover{background:var(--gold);color:#fff}.scroll-cue span{font-size:24px;animation:1.8s ease-in-out infinite bob;transform:translateY(-3px)}@keyframes bob{50%{transform:translateY(2px)}}.section-shell{width:min(100% - 36px,1020px);margin:0 auto}.date-section{text-align:center;padding:110px 0 100px;position:relative}.date-section:before{content:"";pointer-events:none;border:1px solid #bc8a4d14;border-radius:50%;width:520px;height:220px;position:absolute;top:255px;left:50%;transform:translate(-50%,-50%)}.date-lockup{z-index:1;background:#fffdf8e6;border:1px solid #bc8a4d38;border-radius:10px;justify-content:center;align-items:center;min-width:min(100%,470px);margin:34px auto 25px;padding:34px 44px;display:inline-flex;position:relative;box-shadow:0 22px 60px #49371c12}.date-lockup__day{color:var(--gold);font-family:var(--serif);letter-spacing:-.07em;font-size:clamp(88px,15vw,126px);line-height:.72}.date-lockup__divider{background:linear-gradient(transparent, var(--gold-light), transparent);width:1px;height:92px;margin:0 34px}.date-lockup__details{text-align:left;flex-direction:column;align-items:flex-start;min-width:175px;display:flex}.date-lockup__month{color:var(--ink);letter-spacing:.16em;font-size:clamp(20px,4vw,29px);font-weight:650;line-height:1.2}.date-lockup__year{border-top:1px solid var(--line);width:100%;color:var(--gold);font-family:var(--serif);letter-spacing:.12em;margin-top:14px;padding-top:12px;font-size:26px;font-weight:400;line-height:1;display:block}.date-meta{z-index:1;background:var(--ink);color:#fffaf0;letter-spacing:.2em;border-radius:999px;justify-content:center;align-items:center;min-height:43px;padding:0 24px;font-size:11px;font-weight:700;display:inline-flex;position:relative;box-shadow:0 12px 30px #25251f21}.date-meta i{color:var(--gold-light);margin:0 17px;font-size:11px;font-style:normal}.countdown-block{z-index:1;background:#fffdf8cc;border:1px solid #bc8a4d3d;width:min(100%,650px);margin:70px auto 0;padding:30px 26px 27px;position:relative;box-shadow:0 24px 70px #49371c0f}.countdown-block>p{color:var(--gold);font-family:var(--serif);margin:0 0 23px;font-size:20px;font-style:italic}.countdown{grid-template-columns:repeat(4,1fr);display:grid}.countdown__item{padding:0 10px;position:relative}.countdown__item:not(:last-child):after{content:"";background:var(--gold);border-radius:50%;width:3px;height:3px;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.countdown__item strong{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:clamp(29px,8vw,46px);font-weight:400;line-height:1;display:block}.countdown__item span{color:var(--muted);letter-spacing:.14em;margin-top:10px;font-size:8px;font-weight:700;display:block}.location-section{padding:0 0 105px}.location-card{color:#f9f4e8;text-align:center;background:linear-gradient(#23241eed,#23241ef5),url(/couple-field.png) 50%/cover;border-radius:260px 260px 18px 18px;padding:74px 30px 38px;position:relative;overflow:hidden;box-shadow:0 28px 70px #29251d2e}.location-card:before,.location-card:after{content:"";border:1px solid #ddc39a21;width:240px;height:240px;position:absolute;transform:rotate(45deg)}.location-card:before{top:-130px;left:-110px}.location-card:after{bottom:-160px;right:-110px}.location-card__pin{width:54px;height:54px;color:var(--gold-light);border:1px solid #ddc39aa6;border-radius:50%;place-items:center;margin:0 auto 25px;font-size:24px;display:grid}.location-card h2,.gallery-section h2,.rsvp-card h2,.comments-section h2,.rsvp-modal h2{font-family:var(--serif);letter-spacing:-.035em;margin:13px 0 0;font-size:clamp(38px,7vw,62px);font-weight:400}.location-card h3{color:#fff;font-family:var(--serif);margin:0 0 12px;font-size:clamp(26px,5vw,36px);font-weight:400}.location-card address{color:#f9f4e8b3;margin-bottom:31px;font-size:14px;font-style:normal;line-height:1.6}.button{cursor:pointer;letter-spacing:.1em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:14px 23px;font-size:12px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:disabled{cursor:wait;opacity:.65;transform:none}.button--gold{background:var(--gold);color:#fff}.button--dark{background:var(--ink);color:#fff}.button--ghost{color:var(--ink);background:0 0;border-color:#25251f2e}.timeline{z-index:1;text-align:left;background:#ffffff09;border:1px solid #ddc39a2e;border-radius:14px;width:min(100%,620px);margin:50px auto 0;padding:28px;position:relative}.timeline>p{color:var(--gold-light);letter-spacing:.2em;text-align:center;text-transform:uppercase;margin:0 0 20px;font-size:10px;font-weight:700}.timeline__row{border-top:1px solid #ddc39a21;grid-template-columns:82px 1fr;align-items:center;padding:16px 0;display:grid}.timeline__row strong{color:var(--gold-light);font-family:var(--serif);font-size:21px;font-weight:400}.timeline__row span{color:#f9f4e8cc;font-size:13px}.gallery-section{text-align:center;padding:20px 0 110px}.gallery-grid{grid-template-rows:repeat(2,260px);grid-template-columns:1.3fr .7fr;gap:12px;margin-top:45px;display:grid}.gallery-photo{border-radius:6px;transition:transform .3s;overflow:hidden;box-shadow:0 16px 45px #362b1c1c}.gallery-photo:hover{transform:scale(.99)}.gallery-photo--wide{grid-row:1/3}.rsvp-card{border:1px solid var(--line);background:var(--paper);text-align:center;padding:75px 34px;position:relative;overflow:hidden;box-shadow:0 30px 90px #48351914}.rsvp-card:before,.rsvp-card:after{content:"";border:1px solid #bc8a4d1f;width:180px;height:180px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.rsvp-card__flourish{color:var(--gold);font-family:var(--serif);margin-bottom:25px;font-size:42px;display:block}.rsvp-card__body{max-width:520px;color:var(--muted);font-family:var(--serif);margin:22px auto 30px;font-size:18px;line-height:1.65}.attendee-count{color:var(--muted);margin:24px 0 0;font-size:12px}.comments-section{text-align:center;padding-bottom:120px}.comments-list{text-align:left;gap:13px;width:min(100%,760px);margin:42px auto 0;display:grid}.comment-card{background:#fffdf8d9;border:1px solid #bc8a4d29;border-radius:12px;gap:17px;padding:24px;display:flex;box-shadow:0 12px 40px #4835190a}.comment-card__avatar{border:1px solid var(--line);width:44px;height:44px;color:var(--gold);font-family:var(--serif);background:#f6efe1;border-radius:50%;flex:0 0 44px;place-items:center;font-size:20px;display:grid}.comment-card__content{flex:1;min-width:0}.comment-card__header{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.comment-card h3{font-family:var(--serif);margin:0;font-size:19px;font-weight:500}.comment-card time{color:#a0998c;font-size:10px}.comment-card p{color:#5f5a51;font-family:var(--serif);white-space:pre-wrap;word-break:break-word;margin:8px 0 16px;font-size:16px;line-height:1.55}.reactions{flex-wrap:wrap;gap:7px;display:flex}.reactions button{color:#827766;cursor:pointer;background:#fff;border:1px solid #bc8a4d33;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-width:38px;height:31px;padding:0 10px;transition:all .16s;display:inline-flex}.reactions button:hover,.reactions button.active{color:#a66f31;background:#f8ead3;border-color:#bc8a4d73}.reactions button:disabled{cursor:wait;opacity:.6}.reactions b{font-size:10px;font-weight:700}.comments-empty{width:min(100%,620px);color:var(--muted);cursor:pointer;font-family:var(--serif);background:#fffdf8a6;border:1px dashed #bc8a4d59;border-radius:12px;flex-direction:column;align-items:center;gap:12px;margin:40px auto 0;padding:32px;font-size:16px;line-height:1.5;display:flex}.comments-empty span{color:var(--gold)}.footer{background:var(--ink);color:#f9f4e8;text-align:center;padding:75px 24px 90px}.footer p{max-width:500px;font-family:var(--serif);margin:0 auto 17px;font-size:clamp(25px,5vw,38px);line-height:1.3}.footer>span{color:#f9f4e88c;letter-spacing:.12em;font-size:11px;display:block}.footer>b{color:var(--gold-light);font-family:var(--serif);letter-spacing:.08em;margin-top:33px;font-size:18px;font-weight:400;display:block}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c1b17b8;place-items:center;padding:20px;animation:.18s fadeIn;display:grid;position:fixed;inset:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}}.rsvp-modal{background:var(--paper);border-radius:18px;width:min(100%,600px);padding:48px;animation:.25s modalIn;position:relative;box-shadow:0 35px 100px #0a0a0852}@keyframes modalIn{0%{opacity:0;transform:translateY(18px)scale(.98)}}.rsvp-modal h2{text-align:center;font-size:clamp(36px,7vw,50px)}.modal-close{width:36px;height:36px;color:var(--ink);cursor:pointer;background:#f2ecdf;border:0;border-radius:50%;place-items:center;font-size:24px;line-height:1;display:grid;position:absolute;top:15px;right:15px}.modal-description{max-width:440px;color:var(--muted);font-family:var(--serif);text-align:center;margin:13px auto 29px;font-size:16px;line-height:1.55}.rsvp-modal form{gap:20px;display:grid}.rsvp-modal label{gap:8px;display:grid}.rsvp-modal label>span{letter-spacing:.05em;font-size:11px;font-weight:700}.rsvp-modal input,.rsvp-modal textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #25251f29;border-radius:9px;transition:border-color .16s}.rsvp-modal input{height:52px;padding:0 16px}.rsvp-modal textarea{resize:vertical;padding:14px 16px}.rsvp-modal input:focus,.rsvp-modal textarea:focus{border-color:var(--gold);outline:none}.rsvp-modal input::placeholder,.rsvp-modal textarea::placeholder{color:#aaa296}.public-hint{color:#8b8377;align-items:flex-start;gap:8px;margin:-5px 0 0;font-size:11px;line-height:1.5;display:flex}.public-hint span{color:var(--gold);font-size:9px}.form-error{color:#a94a3e;margin:0;font-size:12px}.form-actions{justify-content:flex-end;gap:9px;margin-top:5px;display:flex}.success-state{text-align:center;padding:15px 0}.success-state>span{width:68px;height:68px;color:var(--sage);background:#edf1e8;border-radius:50%;place-items:center;margin:0 auto 25px;font-size:28px;display:grid}.success-state p{color:var(--muted);font-family:var(--serif);margin:15px auto 28px;font-size:17px}@media (width<=640px){.hero{padding:20px 18px 42px}.hero__content{padding-top:55px}.ornament-mark{width:58px;height:58px;margin-bottom:21px}.hero__invitation{margin-bottom:26px}.hero__portrait{border-width:6px;width:min(76vw,315px);margin-bottom:25px}.couple-names{flex-direction:column;font-size:clamp(47px,15vw,68px);line-height:.84}.couple-names b{margin:.2em 0;font-size:.32em}.scroll-cue{margin-top:23px}.date-section{padding:90px 0 85px}.date-section:before{width:360px;height:190px;top:235px}.date-lockup{width:min(100%,355px);min-width:0;padding:31px 25px}.date-lockup__day{font-size:91px}.date-lockup__divider{height:76px;margin:0 22px}.date-lockup__details{min-width:0}.date-lockup__month{letter-spacing:.13em;font-size:19px}.date-lockup__year{margin-top:11px;padding-top:10px;font-size:22px}.countdown-block{margin-top:55px;padding:25px 10px 23px}.countdown__item{padding:0 5px}.location-card{border-radius:160px 160px 14px 14px;padding:60px 20px 25px}.timeline{padding:20px}.gallery-grid{grid-template-rows:300px 180px;grid-template-columns:1fr 1fr}.gallery-photo--wide{grid-area:auto/1/auto/3}.rsvp-card{padding:60px 23px}.comment-card{gap:12px;padding:19px 16px}.comment-card__avatar{flex-basis:38px;width:38px;height:38px}.comment-card__header{flex-direction:column;align-items:flex-start;gap:3px}.rsvp-modal{padding:45px 21px 24px}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--ivory:#f3eee4;--paper:#fffdf8;--ink:#1c241f;--muted:#706d64;--gold:#b98546;--gold-deep:#94632d;--gold-light:#e7d2ac;--sage:#6f7c6c;--forest:#17241d;--forest-soft:#24342b;--line:#b9854647;--serif:"Bodoni 72", Didot, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "Times New Roman", serif;--sans:"Avenir Next", Avenir, "Segoe UI", Arial, sans-serif}::selection{color:var(--ink);background:#b985463d}body{background:var(--ivory)}.wedding-page{isolation:isolate;background:radial-gradient(circle at 12% 31%,#ffffffeb,#0000 24rem),radial-gradient(circle at 88% 59%,#d2bd972b,#0000 30rem),linear-gradient(#f7f2e9 0%,#f3eee4 48%,#f7f3ea 100%);position:relative}.wedding-page:before{z-index:-1;content:"";opacity:.3;pointer-events:none;background-image:linear-gradient(#79603906 1px,#0000 1px),linear-gradient(90deg,#79603906 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.page-progress{z-index:150;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0;overflow:hidden}.page-progress span{background:linear-gradient(90deg, #f5deb8, var(--gold), #fff0cb);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 18px #b98546cc}.music-control{z-index:90;min-height:50px;color:var(--forest);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;background:#fffdf8b8;border:1px solid #3439311f;border-radius:999px;align-items:center;gap:11px;padding:7px 17px 7px 13px;transition:background .26s,border-color .26s,box-shadow .26s,transform .26s;animation:.7s .9s both heroFadeDown;display:inline-flex;position:fixed;top:28px;left:clamp(22px,4.5vw,72px);box-shadow:0 12px 38px #40332017,inset 0 1px #ffffffbf}.music-control:hover{background:#fffdf8e6;border-color:#b985465c;transform:translateY(-2px);box-shadow:0 16px 44px #40332021,inset 0 1px #ffffffd9}.music-control:disabled{cursor:not-allowed;opacity:.55;transform:none}.music-control__equalizer{background:var(--forest);border-radius:50%;justify-content:center;align-items:flex-end;gap:3px;width:27px;height:27px;display:flex;box-shadow:0 7px 18px #17241d26}.music-control__equalizer i{background:var(--gold-light);transform-origin:bottom;border-radius:999px;width:2px;height:12px;transition:transform .22s;transform:scaleY(.38)}.music-control__equalizer i:nth-child(2){height:16px;transform:scaleY(.56)}.music-control__equalizer i:nth-child(3){height:10px;transform:scaleY(.72)}.music-control.is-playing .music-control__equalizer i{animation:.76s ease-in-out infinite alternate equalizer}.music-control.is-playing .music-control__equalizer i:nth-child(2){animation-duration:.62s;animation-delay:-360ms}.music-control.is-playing .music-control__equalizer i:nth-child(3){animation-duration:.88s;animation-delay:-180ms}.music-control__copy{flex-direction:column;align-items:flex-start;gap:1px;line-height:1;display:flex}.music-control__copy small{color:#867a67;letter-spacing:.17em;font-size:7px;font-weight:700}.music-control__copy b{color:var(--forest);letter-spacing:.1em;font-size:9px;font-weight:750}.floating-rsvp{z-index:80;color:#fff9ed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;letter-spacing:.12em;opacity:0;pointer-events:none;background:#18231de6;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:10px;min-height:54px;padding:0 24px;font-size:11px;font-weight:700;transition:opacity .32s,transform .42s cubic-bezier(.2,.8,.2,1),background .18s;display:inline-flex;position:fixed;bottom:clamp(18px,3vw,38px);right:clamp(18px,3vw,42px);transform:translateY(18px)scale(.94);box-shadow:0 18px 50px #111c1640,inset 0 1px #ffffff1a}.floating-rsvp span{color:var(--gold-light);animation:2.2s ease-in-out infinite starPulse}.floating-rsvp.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.floating-rsvp:hover{background:var(--gold-deep);transform:translateY(-3px)scale(1.01)}.reveal-ready [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.2,.75,.25,1),transform .9s cubic-bezier(.2,.75,.25,1);transform:translateY(34px)}.reveal-ready [data-reveal].is-revealed{opacity:1;transform:translateY(0)}.reveal-ready .gallery-photo[data-reveal]{transform:translateY(30px)scale(.975)}.reveal-ready .gallery-photo[data-reveal].is-revealed{transform:translateY(0)scale(1)}.reveal-ready .gallery-photo:nth-child(2){transition-delay:.1s}.reveal-ready .gallery-photo:nth-child(3){transition-delay:.19s}.hero{--pointer-x:0px;--pointer-y:0px;background:radial-gradient(circle at 14% 22%,#fffffff2,#0000 25rem),linear-gradient(135deg,#f9f5ed 0%,#f2eadc 48%,#e8ddca 100%);border:0;min-height:100svh;padding:clamp(92px,10vh,124px) clamp(24px,5vw,82px) 56px}.hero:before{z-index:0;border:1px solid #b985461a;border-radius:50%;width:580px;height:580px;animation:14s ease-in-out infinite orbitFloat;top:-290px;left:-235px;transform:none}.hero:after{z-index:0;border:1px solid #b985461f;border-radius:50%;width:650px;height:650px;animation:17s ease-in-out -5s infinite reverse orbitFloat;bottom:-330px;right:-250px;transform:none}.hero__wash{z-index:0;opacity:.85;pointer-events:none;transform:translate(var(--pointer-x), var(--pointer-y));background:radial-gradient(circle at 72% 44%,#ffffffe6,#0000 23rem),radial-gradient(circle at 42% 82%,#bb955b1a,#0000 27rem);transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.hero__orbit{z-index:0;pointer-events:none;border:1px solid #b9854629;border-radius:50%;position:absolute}.hero__orbit:before,.hero__orbit:after{content:"";background:#f5ebda;border:1px solid #b9854699;width:7px;height:7px;position:absolute;transform:rotate(45deg)}.hero__orbit:before{top:8%;left:20%}.hero__orbit:after{bottom:19%;right:12%}.hero__orbit--one{aspect-ratio:1;width:min(48vw,700px);animation:42s linear infinite slowSpin;top:13%;right:5%}.hero__orbit--two{aspect-ratio:1;opacity:.55;border-style:dashed;width:min(34vw,500px);animation:55s linear infinite reverse slowSpin;bottom:7%;right:12%}.hero__sparkles{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero__sparkles span{background:var(--gold);opacity:0;border-radius:50%;width:5px;height:5px;animation:5.5s ease-in-out infinite sparkleDrift;position:absolute;box-shadow:0 0 14px #b98546a6}.hero__sparkles span:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-light), transparent);width:15px;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.hero__sparkles span:first-child{animation-delay:-1.4s;top:18%;left:7%}.hero__sparkles span:nth-child(2){animation-delay:-3.1s;top:27%;left:52%}.hero__sparkles span:nth-child(3){animation-delay:-4.6s;top:72%;left:6%}.hero__sparkles span:nth-child(4){animation-delay:-.5s;top:12%;right:9%}.hero__sparkles span:nth-child(5){animation-delay:-2.5s;bottom:22%;right:4%}.hero__sparkles span:nth-child(6){animation-delay:-3.8s;bottom:8%;right:45%}.corner-ornament{z-index:2;color:#94632d29;font-family:var(--serif);filter:blur(.2px);font-size:clamp(84px,11vw,170px)}.corner-ornament--left{top:auto;bottom:-26px;left:-10px;transform:rotate(-22deg)}.corner-ornament--right{top:60px;bottom:auto;right:-12px;transform:rotate(158deg)}.language-switch{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8a8;border-color:#3439311f;gap:2px;padding:5px;animation:.7s .9s both heroFadeDown;top:28px;right:clamp(22px,4.5vw,72px);box-shadow:0 12px 38px #40332014,inset 0 1px #ffffffb3}.language-switch button{color:#756b5b;min-width:49px;min-height:36px;font-size:9px;transition:background .26s,color .26s,transform .26s}.language-switch button:hover{transform:translateY(-1px)}.language-switch button.active{background:var(--forest);color:#fff8e9;box-shadow:0 7px 18px #17241d29}.hero__content{text-align:left;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);align-items:center;gap:clamp(48px,7vw,112px);width:min(100%,1320px);min-height:calc(100svh - clamp(148px,17vh,200px));display:grid}.hero__copy{z-index:4;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.hero__intro{flex-direction:column;align-items:center;display:flex}.hero__intro>*,.hero__copy>.hero__invitation,.hero__copy>.hero__actions{opacity:0;animation:.85s cubic-bezier(.2,.75,.25,1) forwards heroElementIn}.hero__intro>:first-child{animation-delay:.15s}.hero__intro>:nth-child(2){animation-delay:.25s}.hero__intro>:nth-child(3){animation-delay:.34s}.hero__intro>:nth-child(4){animation-delay:.42s}.hero__intro>:nth-child(5){animation-delay:.5s}.hero__intro>:nth-child(6){animation-delay:.57s}.hero__copy>.hero__invitation{animation-delay:.67s}.hero__copy>.hero__actions{animation-delay:.76s}.hero__date-line{color:var(--gold-deep);font-family:var(--serif);letter-spacing:.24em;align-items:center;gap:13px;margin-bottom:clamp(20px,3vh,34px);font-size:13px;display:inline-flex}.hero__date-line i{background:var(--gold);border-radius:50%;width:3px;height:3px}.hero .ornament-mark{width:64px;height:64px;margin-bottom:24px}.hero .ornament-mark:before{border-color:#b98546bf;animation:4s ease-in-out infinite markBreath;inset:12px}.hero .ornament-mark:after{background:#b985461f;inset:23px}.hero .eyebrow{color:#866d4b;letter-spacing:.3em;max-width:520px;font-size:clamp(9px,.9vw,11px)}.hero .ornament-rule{width:min(100%,350px);margin:17px auto 22px}.hero__label{color:var(--gold-deep);letter-spacing:.38em;margin:0 0 13px;font-size:9px}.couple-names{color:var(--forest);letter-spacing:-.055em;text-align:center;text-wrap:balance;flex-direction:column;align-items:center;font-size:clamp(62px,7.3vw,108px);line-height:.78;display:flex}.couple-names span{text-shadow:0 14px 34px #2c342d12;display:block}.couple-names b{z-index:1;color:var(--gold);margin:.24em 0 .28em;font-size:.28em;position:relative}.couple-names b:before,.couple-names b:after{content:"";background:linear-gradient(90deg,#0000,#b9854699);width:clamp(42px,5vw,72px);height:1px;position:absolute;top:50%}.couple-names b:before{right:calc(100% + 15px)}.couple-names b:after{left:calc(100% + 15px);transform:rotate(180deg)}.hero__invitation{color:#4e504a;max-width:560px;font-family:var(--serif);text-wrap:balance;margin:clamp(28px,4vh,43px) 0 0;font-size:clamp(17px,1.55vw,22px);line-height:1.65}.hero__actions{color:#8d826f;letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:13px;margin-top:clamp(26px,4vh,42px);font-size:9px;font-weight:700;display:flex}.scroll-cue{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf894;border-color:#b98546b3;width:46px;height:46px;margin:0;box-shadow:0 11px 30px #64482314}.scroll-cue:hover{border-color:var(--gold);background:var(--gold);transform:translateY(2px);box-shadow:0 14px 34px #94632d33}.hero__visual{z-index:4;width:min(39vw,545px);transform:translate(var(--pointer-x), var(--pointer-y));margin:0 auto;transition:transform .7s cubic-bezier(.2,.8,.2,1);animation:1.15s cubic-bezier(.18,.75,.2,1) .25s both portraitIn;position:relative}.hero__portrait-frame{z-index:2;aspect-ratio:.79;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffdf894;border:1px solid #b985468c;border-radius:48% 48% 28px 28px;width:100%;padding:9px;position:relative;overflow:hidden;box-shadow:0 45px 100px #4c3a2230,0 10px 25px #4c3a2217,inset 0 0 0 1px #fffc}.hero__portrait{width:100%;height:100%;box-shadow:none;background-position:50% 28%;background-size:cover;border:0;border-radius:calc(48% - 7px) calc(48% - 7px) 20px 20px;margin:0;animation:13s ease-in-out 1.3s infinite alternate portraitBreath;position:relative;transform:scale(1.012)}.hero__portrait:before,.hero__portrait:after{display:none}.hero__portrait-light{z-index:3;pointer-events:none;background:linear-gradient(120deg,#ffffff52,#0000 23% 70%,#e4c49126),linear-gradient(#0000 74%,#1e25202e);border-radius:calc(48% - 7px) calc(48% - 7px) 20px 20px;position:absolute;inset:9px;overflow:hidden}.hero__portrait-ring{z-index:1;pointer-events:none;border:1px solid #b9854640;border-radius:50%;position:absolute;inset:auto}.hero__portrait-ring--outer{aspect-ratio:1;width:122%;animation:11s ease-in-out infinite ringDrift;top:2%;left:-11%}.hero__portrait-ring--inner{aspect-ratio:1;opacity:.55;border-style:dashed;width:108%;animation:46s linear infinite slowSpin;top:10%;left:-4%}.hero__seal{z-index:5;width:90px;height:90px;color:var(--forest);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffbf2d6;border:1px solid #b985468c;border-radius:50%;justify-content:center;align-items:center;gap:5px;animation:4.6s ease-in-out infinite sealFloat;display:flex;position:absolute;bottom:13%;right:-34px;box-shadow:0 20px 45px #3c2f1d29,inset 0 0 0 6px #b9854614}.hero__seal small{font-family:var(--serif);font-size:22px}.hero__seal i{color:var(--gold);font-size:9px;font-style:normal}.hero__photo-caption{z-index:5;color:#fbf4e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);letter-spacing:.13em;background:#18231de0;border:1px solid #ffffff3d;border-radius:999px;justify-content:center;align-items:center;gap:13px;min-width:235px;min-height:48px;margin:0;padding:0 20px;font-size:9px;font-weight:700;display:inline-flex;position:absolute;bottom:-22px;left:50%;transform:translate(-50%);box-shadow:0 16px 35px #141f1933}.hero__photo-caption i{color:var(--gold-light);font-style:normal}.section-shell{width:min(100% - clamp(34px,7vw,96px),1180px)}.date-section{padding:clamp(115px,12vw,175px) 0 clamp(105px,11vw,150px)}.date-section:before{border-color:#b9854614;width:min(78vw,880px);height:min(78vw,880px);top:49%;box-shadow:0 0 0 80px #b9854606,0 0 0 160px #b9854605}.date-section:after{content:"";background:linear-gradient(#0000,#b9854680);width:1px;height:58px;position:absolute;top:6%;left:50%}.date-section>.section-kicker{color:var(--gold-deep);letter-spacing:.28em;font-size:10px}.date-lockup{background:linear-gradient(135deg, #ffffffd9, #fffbf2a8), var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#b9854640;border-radius:28px;min-width:min(100%,510px);margin:42px auto 28px;padding:42px 52px;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;box-shadow:0 30px 80px #4b392017,inset 0 1px #ffffffe6}.date-lockup:hover{transform:translateY(-5px);box-shadow:0 38px 95px #4b392021,inset 0 1px #ffffffe6}.date-lockup__day{color:var(--forest);text-shadow:0 13px 35px #2c342d14;font-size:clamp(96px,12vw,138px)}.date-lockup__divider{background:linear-gradient(transparent, var(--gold), transparent);height:105px;margin:0 39px}.date-lockup__month{color:var(--gold-deep)}.date-lockup__year{color:var(--forest);border-color:#b9854640}.date-meta{background:var(--forest);min-height:46px;padding:0 28px;box-shadow:0 14px 32px #17241d29}.countdown-block{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf5b3;border-color:#b9854633;border-radius:28px;width:min(100%,720px);margin-top:78px;padding:35px 34px 32px;overflow:hidden;box-shadow:0 30px 80px #4b39200f,inset 0 1px #fffc}.countdown-block:before{content:"";filter:blur(50px);background:#dcb97e2b;border-radius:50%;width:260px;height:150px;position:absolute;top:-80px;left:50%;transform:translate(-50%)}.countdown-block>p{color:var(--gold-deep);margin-bottom:28px;font-size:21px;position:relative}.countdown__item strong{color:var(--forest);text-shadow:0 10px 25px #30383112;font-size:clamp(35px,6vw,52px)}.countdown__item span{color:#847d70;letter-spacing:.2em;font-size:8px}.countdown__item:not(:last-child):after{width:4px;height:4px;box-shadow:0 0 12px #b9854673}.location-section{padding-bottom:clamp(110px,12vw,165px)}.location-card{isolation:isolate;background-image:linear-gradient(#14211a6e,#121e18ed 72%),linear-gradient(90deg,#14211a47,#0000,#14211a47),url(/couple-field.png);background-position:50%;background-size:cover;border:1px solid #e7d2ac45;border-radius:min(18vw,220px) min(18vw,220px) 36px 36px;flex-direction:column;justify-content:center;align-items:center;min-height:min(78vw,760px);padding:clamp(85px,9vw,120px) clamp(28px,6vw,80px) 48px;display:flex;box-shadow:0 50px 110px #2028223d,inset 0 1px #ffffff1f}.location-card:before{z-index:-1;border-radius:inherit;pointer-events:none;border:1px solid #e7d2ac30;width:calc(100% - 56px);height:calc(100% - 56px);top:28px;left:28px;transform:none}.location-card:after{z-index:-1;border:1px solid #e7d2ac1c;border-radius:50%;width:460px;height:460px;bottom:-180px;right:-160px;transform:none;box-shadow:0 0 0 70px #e7d2ac06}.location-card__glow{z-index:-1;filter:blur(90px);opacity:.7;background:#f0d09930;border-radius:50%;width:70%;height:52%;animation:7s ease-in-out infinite glowBreath;position:absolute;top:-20%;left:50%;transform:translate(-50%)}.location-card__pin{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border-color:#e7d2aca6;width:62px;height:62px;animation:3.8s ease-in-out infinite pinFloat;box-shadow:0 12px 32px #050e0929,inset 0 1px #ffffff14}.location-card .section-kicker{color:var(--gold-light)}.location-card h2{color:#fffaf0;text-shadow:0 12px 35px #00000038;margin-top:16px;font-size:clamp(48px,7vw,76px)}.location-card .ornament-rule{margin:21px auto 31px}.location-card h3{font-size:clamp(29px,4vw,40px)}.location-card address{color:#fff9edbd;font-size:14px}.button{min-height:55px;padding:15px 27px;font-size:11px;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .24s,color .24s,border-color .24s,box-shadow .3s;overflow:hidden;box-shadow:0 12px 30px #141c171a}.button:hover{transform:translateY(-3px);box-shadow:0 18px 38px #141c172b}.button--gold{background:linear-gradient(135deg,#c89555,#a76f32);box-shadow:0 15px 35px #6a461f40}.button--gold:hover{background:linear-gradient(135deg,#d1a266,#ac7334)}.button--dark{background:var(--forest)}.timeline{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d181257;border-color:#e7d2ac38;border-radius:24px;width:min(100%,680px);margin-top:58px;padding:18px 30px 24px;box-shadow:inset 0 1px #ffffff0f}.timeline>p{margin:3px 0 11px}.timeline__row{border-color:#e7d2ac21;grid-template-columns:100px 1fr;min-height:70px;padding:17px 6px}.timeline__row strong{font-size:25px}.timeline__row span{font-size:14px}.gallery-section{padding:0 0 clamp(115px,12vw,165px)}.gallery-section h2,.rsvp-card h2,.comments-section h2{color:var(--forest);text-wrap:balance;font-size:clamp(47px,7vw,76px)}.gallery-grid{grid-template-rows:repeat(2,clamp(250px,29vw,360px));grid-template-columns:1.22fr .78fr;gap:clamp(12px,1.5vw,20px);margin-top:58px}.gallery-photo{isolation:isolate;background-position:50%;background-size:cover;border:1px solid #ffffffb8;border-radius:30px;transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s,filter .7s;position:relative;box-shadow:0 26px 65px #3a2f1f24,inset 0 0 0 1px #b985461f}.gallery-photo:after{z-index:1;content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#0000 60%,#141e1824);position:absolute;inset:0}.gallery-photo--wide{background-position:50% 48%;border-radius:46% 46% 30px 30px}.gallery-photo:hover{z-index:2;filter:saturate(1.04)contrast(1.02);transform:translateY(-7px)scale(1.01);box-shadow:0 35px 80px #3a2f1f33,inset 0 0 0 1px #b9854629}.gallery-photo__shine{z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff38,#0000);width:50%;height:160%;transition:left 1.1s cubic-bezier(.2,.8,.2,1);position:absolute;top:-30%;left:-80%;transform:rotate(16deg)}.gallery-photo:hover .gallery-photo__shine{left:130%}.photo-quadrant--one{background-image:url(/couple-portrait.png)}.photo-quadrant--two{background-image:url(/bouquet.png)}.photo-quadrant--three{background-image:url(/couple-field.png)}.photo-quadrant--four{background-image:url(/couple-close.png)}.rsvp-section{padding-bottom:clamp(115px,12vw,165px)}.rsvp-card{isolation:isolate;background:radial-gradient(circle at 50% -10%,#dcb77933,#0000 35%),radial-gradient(circle at 105% 70%,#7a957f33,#0000 28%),linear-gradient(145deg,#1c2b23,#132019);border-color:#e7d2ac33;border-radius:44px;flex-direction:column;justify-content:center;align-items:center;min-height:580px;padding:clamp(88px,10vw,130px) clamp(26px,7vw,90px);display:flex;box-shadow:0 45px 110px #19241d38,inset 0 1px #ffffff14}.rsvp-card:before,.rsvp-card:after{z-index:-1;border-color:#e7d2ac1c;border-radius:50%;width:min(42vw,420px);height:min(42vw,420px);top:50%}.rsvp-card:before{left:-26%}.rsvp-card:after{right:-26%}.rsvp-card__glow{z-index:-1;filter:blur(85px);background:#cb9e5829;border-radius:50%;width:420px;height:240px;animation:6s ease-in-out infinite glowBreath;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rsvp-card__flourish{color:var(--gold-light);margin-bottom:28px;font-size:58px;animation:4s ease-in-out infinite flourishFloat}.rsvp-card .section-kicker{color:var(--gold-light)}.rsvp-card h2{color:#fff9ee;text-shadow:0 15px 40px #00000029;max-width:820px}.rsvp-card__body{color:#fff9eeb8;max-width:620px;margin:27px auto 36px;font-size:clamp(17px,2vw,20px)}.rsvp-card .button--dark{color:#fff;background:linear-gradient(135deg,#c89555,#a76f32);box-shadow:0 15px 35px #050e0947}.rsvp-card .button--dark:hover{background:linear-gradient(135deg,#d2a466,#b27a3a)}.attendee-count{color:#fff9ee94}.attendee-count strong{color:var(--gold-light)}.comments-section{padding-bottom:clamp(115px,12vw,165px)}.comments-list{gap:15px;width:min(100%,830px);margin-top:52px}.comment-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8b8;border-color:#b985462b;border-radius:22px;gap:19px;padding:27px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s;box-shadow:0 16px 45px #4835190d,inset 0 1px #fffc}.comment-card:hover{border-color:#b985464d;transform:translateY(-3px);box-shadow:0 24px 60px #48351917,inset 0 1px #ffffffe6}.comment-card__avatar{background:linear-gradient(145deg,#fbf3e5,#efe1c9);border-color:#b9854640;flex-basis:48px;width:48px;height:48px;box-shadow:inset 0 1px #ffffffe6}.reactions button{background:#ffffffc7;border-color:#b985462e}.reactions button:hover,.reactions button.active{background:#f5e4c8}.comments-empty{background:#fffdf899;border-radius:24px;margin-top:50px;padding:42px;transition:transform .3s,background .3s,border-color .3s;box-shadow:inset 0 1px #ffffffbf}.comments-empty:hover{background:#fffdf8e6;border-color:#b985468c;transform:translateY(-3px)}.footer{background:radial-gradient(circle at 50% 0,#b985462b,#0000 30rem),linear-gradient(145deg,#1b2921,#111b15);padding:105px 24px 115px;position:relative;overflow:hidden}.footer:before,.footer:after{content:"";border:1px solid #e7d2ac14;border-radius:50%;width:340px;height:340px;position:absolute}.footer:before{top:-230px;left:-160px}.footer:after{bottom:-250px;right:-190px}.footer .ornament-mark{color:var(--gold-light)}.footer .ornament-mark:before{border-color:#e7d2ac73}.footer p{font-size:clamp(28px,4.5vw,44px)}.footer>span{color:#f9f4e894}.footer>b{color:var(--gold-light);font-size:21px}.modal-backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d1711bf}.rsvp-modal{background:radial-gradient(circle at 50% -20%, #dcb97e33, transparent 40%), var(--paper);border:1px solid #b985463d;border-radius:28px;padding:54px;overflow:hidden;box-shadow:0 45px 120px #070f0a6b}.rsvp-modal:before{content:"";pointer-events:none;border:1px solid #b985461f;border-radius:50%;width:250px;height:250px;position:absolute;top:-100px;right:-100px}.rsvp-modal h2{color:var(--forest)}.modal-close{background:#efe5d2cc;width:39px;height:39px;transition:transform .22s,background .22s;top:18px;right:18px}.modal-close:hover{background:#ead9bb;transform:rotate(8deg)}.rsvp-modal input,.rsvp-modal textarea{background:#ffffffbd;border-color:#1c241f24;border-radius:12px}.rsvp-modal input:focus,.rsvp-modal textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #b985461a}.success-state>span{animation:1.8s ease-in-out infinite successPulse;box-shadow:0 0 0 10px #6f7c6c14}@keyframes heroElementIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFadeDown{0%{opacity:0;transform:translateY(-12px)}}@keyframes portraitIn{0%{opacity:0;transform:translateY(36px)scale(.965)}}@keyframes portraitBreath{to{transform:scale(1.055)}}@keyframes sparkleDrift{0%,to{opacity:0;transform:translateY(12px)scale(.6)rotate(0)}35%,65%{opacity:.85}50%{transform:translateY(-12px)scale(1)rotate(90deg)}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes orbitFloat{50%{transform:translate(20px,14px)scale(1.04)}}@keyframes ringDrift{50%{transform:translate(9px,-7px)scale(1.015)}}@keyframes markBreath{50%{opacity:.65;transform:rotate(135deg)scale(1.08)}}@keyframes sealFloat{50%{transform:translateY(-8px)rotate(2deg)}}@keyframes pinFloat{50%{transform:translateY(-6px);box-shadow:0 19px 38px #050e0933,inset 0 1px #ffffff14}}@keyframes glowBreath{50%{opacity:1;scale:1.16}}@keyframes flourishFloat{50%{transform:translateY(-7px)rotate(4deg)}}@keyframes starPulse{50%{opacity:.5;transform:scale(.8)rotate(45deg)}}@keyframes equalizer{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}@keyframes successPulse{50%{transform:scale(1.04);box-shadow:0 0 0 16px #6f7c6c08}}@media (width<=980px){.hero{padding-top:88px}.hero__content{grid-template-columns:1fr;gap:0;min-height:auto}.hero__copy{display:contents}.hero__intro{z-index:4;order:1}.hero__visual{order:2;width:min(72vw,520px);margin-top:52px}.hero__invitation{z-index:4;text-align:center;order:3;margin:68px auto 0}.hero__actions{z-index:4;order:4;margin:30px auto 0}.couple-names{font-size:clamp(67px,12vw,102px)}.hero__orbit--one{width:85vw;top:45%;right:-10%}.hero__orbit--two{width:62vw;bottom:2%;right:38%}.location-card{min-height:730px}}@media (width<=640px){.music-control{gap:8px;min-height:46px;padding:6px 13px 6px 10px;top:18px;left:14px}.music-control__equalizer{width:25px;height:25px}.music-control__copy small{font-size:6px}.music-control__copy b{font-size:8px}.language-switch{top:18px;right:14px}.floating-rsvp{min-height:50px;padding:0 18px;font-size:9px;bottom:14px;right:14px}.hero{min-height:auto;padding:72px 18px 66px}.hero__content{gap:0}.hero__date-line{margin-bottom:20px;font-size:11px}.hero .ornament-mark{width:54px;height:54px;margin-bottom:20px}.hero .eyebrow{letter-spacing:.24em;max-width:340px;font-size:8px}.hero .ornament-rule{margin:13px auto 18px}.hero__label{margin-bottom:9px}.couple-names{font-size:clamp(52px,17vw,75px);line-height:.8}.couple-names b{margin:.24em 0 .3em}.couple-names b:before,.couple-names b:after{width:38px}.hero__invitation{max-width:360px;margin-top:52px;font-size:17px;line-height:1.55}.hero__actions{margin-top:24px}.hero__visual{width:min(82vw,390px);margin-top:28px}.hero__portrait-frame{aspect-ratio:.9;border-radius:48% 48% 23px 23px;padding:7px}.hero__portrait,.hero__portrait-light{border-radius:calc(48% - 5px) calc(48% - 5px) 17px 17px}.hero__portrait-light{inset:7px}.hero__seal{width:72px;height:72px;bottom:11%;right:-7px}.hero__seal small{font-size:18px}.hero__photo-caption{min-width:218px;min-height:44px;bottom:-19px}.hero__orbit--one{width:100vw;top:52%}.hero__sparkles span:nth-child(2),.hero__sparkles span:nth-child(6){display:none}.corner-ornament{font-size:95px}.section-shell{width:min(100% - 28px,1180px)}.date-section{padding:112px 0 100px}.date-section:before{width:380px;height:380px;top:46%;box-shadow:0 0 0 52px #b9854606,0 0 0 104px #b9854605}.date-lockup{border-radius:22px;width:min(100%,365px);margin-top:34px;padding:32px 22px}.date-lockup__day{font-size:88px}.date-lockup__divider{height:74px;margin:0 21px}.date-lockup__month{font-size:18px}.date-lockup__year{font-size:21px}.date-meta{min-height:43px;padding:0 22px;font-size:10px}.countdown-block{border-radius:22px;margin-top:58px;padding:27px 8px 25px}.countdown-block>p{margin-bottom:23px;font-size:19px}.countdown__item strong{font-size:clamp(29px,10vw,41px)}.countdown__item span{letter-spacing:.12em;font-size:7px}.location-section{width:calc(100% - 20px)}.location-card{background-position:55%;border-radius:130px 130px 28px 28px;min-height:720px;padding:80px 20px 26px}.location-card:before{width:calc(100% - 26px);height:calc(100% - 26px);top:13px;left:13px}.location-card h2{font-size:clamp(43px,13vw,58px)}.location-card h3{font-size:27px}.location-card address{max-width:270px;margin-left:auto;margin-right:auto}.timeline{border-radius:20px;margin-top:44px;padding:15px 17px 20px}.timeline__row{grid-template-columns:82px 1fr;min-height:66px;padding:15px 3px}.timeline__row strong{font-size:22px}.timeline__row span{font-size:12px}.gallery-section h2,.rsvp-card h2,.comments-section h2{font-size:clamp(43px,13vw,57px)}.gallery-grid{grid-template-rows:360px 190px;gap:10px;margin-top:40px}.gallery-photo{border-radius:20px}.gallery-photo--wide{border-radius:44% 44% 22px 22px}.rsvp-card{border-radius:30px;min-height:560px;padding:75px 22px}.rsvp-card__flourish{font-size:50px}.rsvp-card__body{margin:23px auto 31px;font-size:17px}.comment-card{border-radius:18px;padding:20px 16px}.comments-empty{border-radius:20px;padding:32px 22px}.footer{padding:90px 24px 100px}.rsvp-modal{border-radius:24px;padding:49px 22px 25px}}@media (width<=390px){.hero{padding-left:14px;padding-right:14px}.couple-names{font-size:52px}.date-lockup__day{font-size:78px}.date-lockup__divider{margin:0 16px}.date-lockup__month{font-size:16px}.location-card{border-radius:100px 100px 24px 24px}}@media (prefers-reduced-motion:reduce){.reveal-ready [data-reveal]{opacity:1;transform:none}.hero__visual,.hero__wash{transform:none}}@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}
