@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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,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:where(:not(iframe)){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{.visible{visibility:visible}.block{display:block}.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{color-scheme:light;--ink:#23160e;--ink-soft:#544334;--muted:#786656;--paper:#f8f1e6;--paper-2:#fffaf4;--glass:#fffaf4eb;--glass-strong:#fff9f1f7;--gold:#af7a30;--gold-deep:#7a4f1f;--gold-soft:#dfc48f;--rose:#cfb5a7;--sage:#657256;--line:#76512538;--line-strong:#825c2857;--shadow:0 24px 80px #4a2f1629;--radius:30px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 2%,#e0bc7854,#0000 28rem),radial-gradient(circle at 100% 20%,#cca27029,#0000 32rem),linear-gradient(#fbf6ef,#f2e8d9);margin:0;line-height:1.65;overflow-x:hidden}button,a,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{color:#25170f;background:#dfc48f}h1,h2,h3,blockquote{color:var(--ink);font-family:Georgia,Times New Roman,serif}.page-shell{isolation:isolate;min-height:100vh;position:relative;overflow:clip}.content-layer{z-index:2;width:min(1120px,100% - 28px);margin:auto;padding:clamp(34px,7vw,88px) 0 110px;position:relative}.eyebrow{color:var(--gold-deep);letter-spacing:.17em;text-transform:uppercase;font-size:.82rem;font-weight:900;display:inline-block}.section-nav{z-index:50;-webkit-backdrop-filter:blur(12px);background:#fffbf6c7;border:1px solid #ffffffbd;border-radius:24px;gap:8px;padding:10px;display:grid;position:fixed;top:50%;right:12px;transform:translateY(-50%);box-shadow:0 12px 36px #472e131f}.section-nav button{color:var(--ink-soft);background:0 0;border:0;border-radius:16px;align-items:center;gap:8px;padding:6px 8px;transition:all .2s;display:flex}.section-nav button small{letter-spacing:.04em;font-size:.72rem;font-weight:800}.nav-dot{background:linear-gradient(#efe1c0,#b17b31);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 3px #b17b3124}.section-nav button.is-active{color:var(--ink);background:#b07a311a}.section-nav button.is-active .nav-dot{transform:scale(1.18)}.glass-card{border-radius:var(--radius);border:1px solid var(--line-strong);box-shadow:var(--shadow),inset 0 1px #ffffffeb,inset 0 0 0 1px #fff8eca6;-webkit-backdrop-filter:blur(16px)saturate(1.06);background:linear-gradient(#fffcf8f2,#fef8f0eb);padding:30px;position:relative;overflow:hidden}.glass-card:before,.glass-card:after{content:"";pointer-events:none;border-radius:inherit;position:absolute}.glass-card:before{background:linear-gradient(#ffffff7a,#0000 34%,#ffffff1a);inset:0}.reveal-on-view{opacity:0;animation:both reveal;animation-timeline:view();animation-range:entry 18% cover 34%;transform:translateY(30px)scale(.985)}@keyframes reveal{to{opacity:1;transform:none}}.hero-section{align-items:end;gap:24px;min-height:83svh;padding:56px 0 28px;display:grid;position:relative}.hero-section:before{content:"";background:linear-gradient(90deg,#0000,#a5753147,#0000);height:1px;position:absolute;inset:auto 0 0}.hero-copy{text-align:center;padding-top:10px}.hero-copy h1{letter-spacing:-.05em;text-wrap:balance;margin:.12em 0 .16em;font-size:clamp(3.8rem,10vw,6rem);font-weight:540;line-height:.94}.hero-subtitle{max-width:820px;color:var(--ink-soft);margin:0 auto 18px;font-size:1.18rem;line-height:1.72}.hero-chips{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.date-chip{color:var(--ink-soft);background:#fffcf8bf;border:1px solid #a7753140;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-weight:820;display:inline-flex;box-shadow:0 10px 24px #4e361b14}.countdown-card{text-align:center;max-width:900px;margin:0 auto;padding:24px 20px 18px}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.countdown>div{background:#ffffff85;border:1px solid #a878352b;border-radius:22px;padding:18px 8px}.countdown strong{color:var(--ink);font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3rem);line-height:1;display:block}.countdown span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:.88rem;font-weight:800;display:block}.main-grid,.access-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.guest-card h2,.tribute-card h2,.story-card h2,.rsvp-card h2,.itinerary-card h2,.qr-card h2,.actions-card h2,.closing-card blockquote{margin:.18em 0;font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.08}.guest-card p,.tribute-card p,.story-card p,.rsvp-card p,.itinerary-card p,.actions-card p,.closing-card p{color:var(--ink-soft);font-size:1.02rem}.guest-facts,.anniversary-badges{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.guest-facts>div,.anniversary-badges span{background:#ffffff73;border:1px solid #a878352e;border-radius:18px;flex:1 1 0;padding:14px 16px}.guest-facts span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:800;display:block}.guest-facts strong{margin-top:5px;font-family:Georgia,serif;font-size:2rem;line-height:1.1;display:block}.tribute-card{background:linear-gradient(#fff9f0f5,#f7ecddf5)}.section-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.section-heading h2{margin:.14em 0;font-size:clamp(2rem,3vw,2.8rem)}.section-heading p{max-width:420px}.story-card{margin-top:18px}.milestones-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.milestone-card{background:linear-gradient(#ffffff8c,#fbf5ead1);border:1px solid #a878352e;border-radius:22px;padding:22px 20px;box-shadow:inset 0 1px #fffc}.milestone-card small{color:var(--gold-deep);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-weight:900;display:block}.milestone-card h3{margin:0 0 10px;font-size:1.6rem;line-height:1.1}.milestone-card p{color:var(--ink-soft);margin:0}.itinerary-card{margin-top:18px}.locations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.location-card{background:#ffffff85;border:1px solid #a8783542;border-radius:24px;grid-template-rows:auto 1fr;display:grid;overflow:hidden;box-shadow:0 12px 32px #4c32161a}.location-image-wrap{aspect-ratio:1.35;background:#eee;overflow:hidden}.location-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.location-copy{padding:18px}.location-copy>span{color:var(--gold-deep);letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:900;display:inline-block}.location-copy>strong{margin:.16em 0 .12em;font-family:Georgia,serif;font-size:2rem;line-height:1;display:block}.location-copy h3{margin:0 0 8px;font-size:1.6rem;line-height:1.12}.location-copy p{min-height:84px;color:var(--ink-soft);margin:0 0 14px}.location-copy a{background:#fff;border:1px solid #a8783552;border-radius:999px;align-items:center;gap:8px;padding:12px 16px;font-weight:850;display:inline-flex;box-shadow:0 8px 18px #4a311414}.rsvp-card{margin-top:18px}.people-select{background:#ffffff7a;border:1px solid #a8783533;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:16px 18px;font-weight:800;display:flex}.people-select select{min-width:92px;color:var(--ink);background:#fff;border:1px solid #a878354d;border-radius:14px;padding:10px 14px;font-weight:800}.rsvp-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.primary-action,.secondary-action{letter-spacing:.01em;border-radius:18px;min-height:60px;padding:14px 16px;font-size:1.06rem;font-weight:900}.primary-action{color:#fff;background:linear-gradient(#b27d33,#8e6125);border:1px solid #88581d;box-shadow:0 12px 26px #5b3a1533}.secondary-action{color:var(--ink);background:#fff;border:1px solid #a8783559}.rsvp-result{background:#fff9;border:1px solid #a8783533;border-radius:20px;gap:10px;margin-top:18px;padding:18px;display:grid}.rsvp-result strong{font-size:1.16rem}.rsvp-result button{background:#fff;border:1px solid #a8783559;border-radius:12px;justify-self:start;padding:10px 14px;font-weight:800}.qr-card,.actions-card{min-height:100%}.qr-wrap{background:#ffffff8c;border:1px dashed #a8783559;border-radius:24px;place-items:center;width:max-content;max-width:100%;margin-top:10px;padding:18px;display:grid}.qr-name{margin-top:16px;font-family:Georgia,serif;font-size:1.4rem;display:block}.utilities{gap:12px;margin-top:12px;display:grid}.utility-button{text-align:left;background:#ffffff8a;border:1px solid #a878352e;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;display:flex;box-shadow:inset 0 1px #fffc}.utility-button .utility-icon{width:42px;height:42px;color:var(--gold-deep);background:#fff;border:1px solid #a878352e;border-radius:12px;place-items:center;font-weight:900;display:grid}.utility-button strong{font-size:1rem;line-height:1.2;display:block}.utility-button small{color:var(--ink-soft);margin-top:2px;font-size:.88rem;display:block}.utility-button b{color:var(--gold-deep);font-size:1.4rem}.closing-card{text-align:center;margin-top:18px;padding:34px}.closing-card blockquote{max-width:760px;margin:.24em auto .26em;font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.18}.text-button{color:var(--gold-deep);text-underline-offset:3px;background:0 0;border:0;font-size:1rem;font-weight:900;text-decoration:underline}.floral-motion-layer{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floral-traveler{opacity:.4;filter:drop-shadow(0 10px 18px #3e29161f);width:160px;height:160px;position:absolute}.floral-a{top:0;left:0}.floral-b{top:10%;right:0}.floral-c{opacity:.28;width:120px;height:120px;bottom:0;left:12%}.gold-ribbon{border:6px solid #b7883d2e;border-radius:50%;position:absolute;transform:rotate(18deg)}.ribbon-one{width:380px;height:380px;top:-120px;left:-160px}.ribbon-two{width:320px;height:320px;top:18vh;right:-120px}.ribbon-three{width:260px;height:260px;bottom:-100px;left:70vw;transform:rotate(-18deg)}.petal{color:#ad7f3957;text-shadow:0 2px 10px #ffffffb3;font-size:18px;position:absolute}.petal-one{top:14%;left:18%}.petal-two{top:48%;right:20%}.petal-three{bottom:18%;left:26%}.petal-four{bottom:24%;right:12%}.native-scroll-motion .floral-a{animation:linear both driftA;animation-timeline:scroll(root)}.native-scroll-motion .floral-b{animation:linear both driftB;animation-timeline:scroll(root)}.native-scroll-motion .floral-c{animation:linear both driftC;animation-timeline:scroll(root)}@keyframes driftA{0%{transform:translate(2vw,-4vh)rotate(-18deg)scale(1)}to{transform:translate(67vw,84vh)rotate(36deg)scale(1.08)}}@keyframes driftB{0%{transform:translate(76vw,18vh)rotate(-12deg)scale(.92)}to{transform:translate(14vw,76vh)rotate(-48deg)scale(1.03)}}@keyframes driftC{0%{transform:translate(10vw,92vh)rotate(8deg)scale(.74)}to{transform:translate(48vw,18vh)rotate(62deg)scale(.85)}}.envelope-stage{z-index:120;touch-action:none;--open-p:0;background:radial-gradient(circle at 50% 32%,#fffaf2,#f5e8d1 46%,#e8d3b2);place-items:center;padding:clamp(22px,4vw,40px);display:grid;position:fixed;inset:0;overflow:hidden}.intro-aura{aspect-ratio:1;filter:blur(10px);background:radial-gradient(circle,#fffffff2,#f3d39a2e 56%,#0000 74%);border-radius:50%;width:min(102vw,720px);position:absolute}.intro-flower{opacity:.65;width:190px;height:190px;position:absolute}.intro-flower-left{top:80px;left:-20px;transform:rotate(-12deg)}.intro-flower-right{bottom:140px;right:-8px;transform:rotate(168deg)}.envelope-header{top:max(20px,calc(env(safe-area-inset-top) + 8px));text-align:center;z-index:4;position:absolute;left:20px;right:20px}.envelope-header>span{color:var(--gold-deep);letter-spacing:.2em;text-transform:uppercase;font-size:.74rem;font-weight:900;display:block}.envelope-header strong{margin-top:2px;font-size:clamp(1.65rem,5vw,2.4rem);font-weight:520;display:block}.envelope-header small{color:var(--ink-soft);margin-top:2px;font-size:.9rem;display:block}.envelope-scene{z-index:3;aspect-ratio:1.44;width:min(90vw,520px);transform-style:preserve-3d;transform:translateY(calc(var(--open-p) * -18px)) scale(calc(1 + var(--open-p) * .012));transition:transform .18s ease-out;position:relative}.envelope-back{background:linear-gradient(150deg,#dfcfb4,#f2e6d2 48%,#d6c0a1);border:1px solid #72502533;border-radius:14px 14px 26px 26px;position:absolute;inset:0;box-shadow:0 34px 76px #452d1533,inset 0 1px #fffc}.envelope-side,.envelope-bottom{position:absolute;inset:0}.envelope-side.left{clip-path:polygon(0 0,53% 53%,0 100%);background:linear-gradient(110deg,#efe3d0,#dac4a4)}.envelope-side.right{clip-path:polygon(100% 0,47% 53%,100% 100%);background:linear-gradient(250deg,#efe3d0,#d7c1a1)}.envelope-bottom{clip-path:polygon(0 100%,50% 48%,100% 100%);background:linear-gradient(#f0e3cf,#dfccb0);border-radius:0 0 26px 26px}.envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;height:59%;transform:rotateX(calc(var(--open-p) * -65deg));filter:drop-shadow(0 8px 8px #4d361c14);backface-visibility:hidden;background:linear-gradient(#f3e8d6,#dac4a3);transition:transform .18s ease-out;position:absolute;top:0;left:0;right:0}.letter-card{z-index:2;text-align:center;min-height:81%;transform:translateY(calc(var(--open-p) * -62px));background:linear-gradient(#fffdf8,#f8f0e3);border:1px solid #9c6f314d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:24px 18px;transition:transform .18s ease-out;display:flex;position:absolute;top:5%;left:8%;right:8%;box-shadow:0 8px 23px #442f171f}.letter-card:before,.letter-card:after{content:"❦";color:#976b2d85;font-size:24px;position:absolute}.letter-card:before{top:10px;left:13px;transform:rotate(-28deg)}.letter-card:after{bottom:10px;right:13px;transform:rotate(152deg)}.letter-kicker{color:var(--gold-deep);letter-spacing:.19em;text-transform:uppercase;font-size:.68rem;font-weight:900}.letter-card strong{margin:9px 0;font-size:clamp(1.95rem,7vw,3rem);font-weight:520;line-height:1}.letter-card i{max-width:320px;color:var(--ink-soft);font-size:clamp(.98rem,3.2vw,1.15rem)}.letter-card b{color:var(--ink);margin-top:14px;font-size:.96rem}.wax-seal{z-index:8;width:88px;height:88px;transform:translate(-50%,-50%) scale(calc(1 - var(--open-p) * .08));color:#f8dfad;background:radial-gradient(circle at 35% 27%,#c08b4b 0 11%,#98602d 38%,#74431f 74%,#5d3219);border:1px solid #492a1147;border-radius:50%;place-items:center;transition:transform .18s ease-out,opacity .25s;display:grid;position:absolute;top:49%;left:50%;box-shadow:0 9px 19px #44271147,inset 0 2px 2px #ffe3b13d,inset 0 -5px 8px #331b0e4d}.wax-seal:before{content:"";border:1px solid #f9deb047;border-radius:50%;position:absolute;inset:8px}.wax-seal svg{width:48px;height:48px}.guest-banner{z-index:5;left:18px;right:18px;bottom:max(106px,calc(env(safe-area-inset-bottom) + 94px));text-align:center;position:absolute}.guest-banner small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:900;display:block}.guest-banner h1{color:var(--ink);text-wrap:balance;margin:4px 0 8px;font-size:clamp(2.2rem,9vw,3.6rem);font-weight:540;line-height:1}.guest-banner>div{color:var(--ink-soft);justify-content:center;gap:11px;font-size:.98rem;font-weight:900;display:flex}.open-invite-button{z-index:5;bottom:max(42px,calc(env(safe-area-inset-bottom) + 30px));color:#fff;background:linear-gradient(#ba8540,#8a5c22);border:1px solid #80551e;border-radius:999px;width:min(90vw,430px);min-height:56px;font-weight:900;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #5b3a1533}.open-invite-button span{margin-left:8px}.swipe-copy{z-index:5;bottom:max(12px,env(safe-area-inset-bottom));text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800;position:absolute;left:18px;right:18px}.envelope-stage[data-phase=opening] .envelope-flap{transition:transform .6s cubic-bezier(.18,.78,.18,1);transform:rotateX(-176deg)}.envelope-stage[data-phase=opening] .wax-seal{opacity:0;transition:opacity .2s,transform .25s;transform:translate(-50%,-50%)scale(.7)}.envelope-stage[data-phase=opening] .letter-card{transition:transform 1.1s cubic-bezier(.18,.78,.18,1) .34s;transform:translateY(-58vh)scale(1.05)}.envelope-stage[data-phase=opening] .envelope-scene{transition:transform 1s cubic-bezier(.2,.75,.2,1) .28s;transform:translateY(18vh)scale(.91)}.envelope-stage[data-phase=opening] .guest-banner,.envelope-stage[data-phase=opening] .envelope-header,.envelope-stage[data-phase=opening] .open-invite-button,.envelope-stage[data-phase=opening] .swipe-copy,.envelope-stage[data-phase=opening] .intro-flower{opacity:0;transition:opacity .24s}.envelope-stage[data-phase=opening]{animation:1.55s forwards intro-fade}@keyframes intro-fade{0%,76%{opacity:1}to{opacity:0;visibility:hidden}}.modal-backdrop{z-index:150;-webkit-backdrop-filter:blur(13px);background:#23181073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.wallet-modal{background:#fbf5ea;border:1px solid #ffffffb3;border-radius:28px;width:min(460px,100%);padding:28px;position:relative;box-shadow:0 30px 100px #25180d47}.modal-close{border:1px solid var(--line);background:#fff;border-radius:50%;width:42px;height:42px;font-size:1.5rem;position:absolute;top:13px;right:13px}.wallet-modal h2{margin:.2em 0 .45em;font-size:2.4rem}.wallet-modal>p{color:var(--ink-soft);font-size:.9rem}.pass-preview{background:linear-gradient(145deg,#e7cf9d,#f8f0df);border:1px solid #68481e47;border-radius:24px;gap:10px;padding:22px;display:grid}.pass-preview>small{text-transform:uppercase;letter-spacing:.14em;color:var(--gold-deep);font-weight:900}.pass-preview>strong{font-size:2rem}.pass-preview>div{color:var(--ink-soft);justify-content:space-between;gap:12px;font-weight:760;display:flex}.pass-preview svg{background:#fff;border-radius:14px;margin:8px auto 0;padding:9px}@media(max-width:980px){.milestones-grid,.locations-grid,.main-grid,.access-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading p{max-width:none;margin-top:10px}}@media(max-width:760px){body{font-size:17px}.content-layer{width:min(100% - 18px,720px);padding-top:28px}.section-nav{top:auto;left:10px;right:10px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px));border-radius:22px;grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;padding:8px 10px;overflow:auto;transform:none}.section-nav button{justify-content:center;padding:8px 10px}.section-nav button small{font-size:.68rem}.hero-section{gap:20px;min-height:75svh;padding:40px 0 18px}.hero-copy h1{font-size:clamp(3.2rem,17vw,4.9rem)}.hero-subtitle{font-size:1.1rem;line-height:1.7}.hero-chips{gap:8px}.date-chip{padding:10px 14px;font-size:.92rem}.countdown-card{padding:18px 12px}.countdown{gap:8px}.countdown>div{border-radius:16px;padding:14px 5px}.countdown strong{font-size:clamp(1.74rem,9vw,2.4rem)}.countdown span{font-size:.72rem}.glass-card{border-radius:24px;padding:22px 18px}.location-copy p{min-height:auto}.location-copy>strong{font-size:1.8rem}.location-copy h3{font-size:1.36rem}.guest-card h2,.tribute-card h2,.story-card h2,.rsvp-card h2,.itinerary-card h2,.qr-card h2,.actions-card h2{font-size:2rem}.floral-traveler{opacity:.3;width:120px;height:120px}.floral-c{width:84px;height:84px}.gold-ribbon{opacity:.46;border-width:5px}.intro-flower{opacity:.54;width:150px;height:150px}.intro-flower-left{top:110px;left:-30px}.intro-flower-right{bottom:170px;right:-28px}.envelope-header strong{font-size:clamp(1.5rem,7vw,2rem)}.envelope-header small{font-size:.79rem}.envelope-scene{width:min(94vw,470px);margin-top:-8px}.wax-seal{width:78px;height:78px}.guest-banner{bottom:max(114px,calc(env(safe-area-inset-bottom) + 98px))}.guest-banner h1{font-size:clamp(2.05rem,9.6vw,3.1rem)}}@media(max-width:390px){.guest-banner h1{font-size:2rem}.letter-card strong{font-size:1.82rem}.letter-card i{font-size:.88rem}.letter-card b{font-size:.84rem}.envelope-scene{margin-top:-16px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.floral-motion-layer{display:none!important}.reveal-on-view{opacity:1!important;transform:none!important}}.glass-card{border:2px solid #a9742a85;box-shadow:0 26px 80px #492f1629,inset 0 0 0 1px #fffffff2,inset 0 0 0 5px #e5ca9738,inset 0 0 30px #deb87114}.glass-card:after{border:1px solid #8c5b1c7a;inset:9px;box-shadow:inset 0 0 0 1px #fff5e2d9,0 0 0 1px #ffffff73}.glass-card:before{background:radial-gradient(circle at 8% 7%,#ffffffa3,#0000 16rem),linear-gradient(#ffffff5c,#0000 32%,#debb790a)}.golden-50{color:#fff9ed;text-align:center;background:radial-gradient(circle at 34% 25%,#e5bc72 0 10%,#b67c2e 36%,#8c5a1d,#6b3f14);border:2px solid #f1d39b;border-radius:50%;align-content:center;place-items:center;width:154px;height:154px;margin:0 auto 18px;line-height:1;display:grid;position:relative;box-shadow:0 22px 50px #744a1a40,inset 0 2px 4px #ffeec673,inset 0 -10px 22px #43240a38,0 0 0 7px #e2c2881f}.golden-50:before,.golden-50:after{content:"❦";color:#f3d79e;font-size:25px;position:absolute;top:50%;transform:translateY(-50%)}.golden-50:before{left:13px;transform:translateY(-50%)rotate(-32deg)}.golden-50:after{right:13px;transform:translateY(-50%)rotate(32deg)}.golden-50 small{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:800}.golden-50 strong{font:600 4rem/.84 Georgia,serif}.golden-50 span{font:500 1.05rem Georgia,serif}.golden-50 i{letter-spacing:.1em;opacity:.88;margin-top:6px;font-size:.58rem;font-style:normal}.floral-divider{z-index:3;justify-content:center;align-items:center;height:135px;margin:8px 0 0;display:flex;position:relative;overflow:visible}.divider-line{width:min(560px,64vw);color:var(--gold-deep);align-items:center;gap:12px;display:flex}.divider-line:before,.divider-line:after{content:"";background:linear-gradient(90deg,#0000,#bd8d49 45%,#7b5020);flex:1;height:1px}.divider-line:after{background:linear-gradient(90deg,#7b5020,#bd8d49 55%,#0000)}.divider-line small{white-space:nowrap;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:900}.divider-line span{color:#b17d32}.divider-flower{opacity:.78;filter:drop-shadow(0 10px 17px #412a151f);width:120px;height:120px;position:absolute}.divider-flower.left{left:2%;transform:rotate(-24deg)}.divider-flower.right{right:2%;transform:rotate(154deg)}.path-flower{opacity:.34;filter:drop-shadow(0 9px 18px #462d131f);will-change:offset-distance,transform;width:120px;height:120px;position:absolute}.native-scroll-motion .path-flower-one{offset-path:path("M -120 120 C 180 40, 320 520, 720 360 S 1180 80, 1380 720");animation:linear both pathTravelOne;animation-timeline:scroll(root)}.native-scroll-motion .path-flower-two{offset-path:path("M 1320 60 C 1000 240, 1160 520, 760 760 S 280 940, -100 560");animation:linear both pathTravelTwo;animation-timeline:scroll(root)}@keyframes pathTravelOne{0%{offset-distance:0%;transform:rotate(-14deg)scale(.78)}to{offset-distance:100%;transform:rotate(38deg)scale(1.02)}}@keyframes pathTravelTwo{0%{offset-distance:0%;transform:rotate(18deg)scale(.7)}to{offset-distance:100%;transform:rotate(-32deg)scale(.96)}}.legacy-scroll-motion .path-flower{display:none}.anniversary-medal{z-index:7;top:calc(max(20px,env(safe-area-inset-top)) + 76px);color:#fff;background:linear-gradient(145deg,#d5a650,#8d5b1f);border:1px solid #f2d8a1;border-radius:50%;align-content:center;place-items:center;width:72px;height:72px;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #53321033,inset 0 1px #ffffff73}.anniversary-medal span{font:600 2.2rem/.8 Georgia,serif}.anniversary-medal small{text-transform:uppercase;letter-spacing:.12em;margin-top:5px;font-size:.56rem;font-weight:900}.envelope-gate{z-index:7;backface-visibility:hidden;color:#9a692d52;background:linear-gradient(145deg,#f3e8d7,#e8d6bb);border:1px solid #8e5f2430;place-items:center;width:50.2%;font-size:70px;transition:transform .22s ease-out;display:grid;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 45px #b181400d}.envelope-gate:before{content:"";background:radial-gradient(circle at 26% 20%,#ffffff7a,#0000 18rem);border:1px solid #af7f3d21;position:absolute;inset:10px}.gate-left{transform-origin:0;border-radius:14px 0 0 24px;left:0}.gate-right{transform-origin:100%;border-radius:0 14px 24px 0;right:0}.gate-right span{transform:rotate(180deg)}.envelope-stage[data-phase=opening] .gate-left{transition:transform .78s cubic-bezier(.18,.78,.18,1) 80ms;transform:perspective(900px)rotateY(-118deg)}.envelope-stage[data-phase=opening] .gate-right{transition:transform .78s cubic-bezier(.18,.78,.18,1) 80ms;transform:perspective(900px)rotateY(118deg)}.envelope-stage[data-phase=opening] .anniversary-medal{opacity:0;transition:all .25s;transform:translate(-50%)translateY(-12px)scale(.8)}.hero-section{background:radial-gradient(circle at 50% 23%,#e8c37f2e,#0000 30rem)}.hero-copy h1{text-shadow:0 1px #fff,0 12px 36px #64401617}.story-card,.itinerary-card,.rsvp-card,.closing-card{scroll-margin-top:24px}.location-card{border:2px solid #a26d2961;box-shadow:0 18px 42px #4d31141f,inset 0 0 0 5px #e9d2a71f}.location-image-wrap{border-bottom:1px solid #99672a42}.location-copy>strong{color:#6f451a}@media(max-width:760px){.golden-50{width:128px;height:128px}.golden-50 strong{font-size:3.3rem}.floral-divider{height:108px}.divider-flower{opacity:.7;width:92px;height:92px}.divider-flower.left{left:-26px}.divider-flower.right{right:-26px}.divider-line{width:74vw}.divider-line small{font-size:.58rem}.anniversary-medal{top:calc(max(18px,env(safe-area-inset-top)) + 64px);width:62px;height:62px}.anniversary-medal span{font-size:1.85rem}.envelope-gate{font-size:52px}.glass-card{border-width:2px;box-shadow:0 18px 48px #492f1624,inset 0 0 0 1px #fffffff2,inset 0 0 0 4px #e5ca9738}}.ambient-decor-layer{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-ring{border:5px solid #b2843e1a;border-radius:50%;position:absolute}.ambient-ring-one{width:420px;height:420px;top:-180px;left:-220px}.ambient-ring-two{width:360px;height:360px;bottom:5vh;right:-210px}.ambient-spark{color:#af7f3933;font-size:16px;position:absolute}.spark-one{top:22%;left:12%}.spark-two{top:57%;right:15%}.spark-three{bottom:10%;left:24%}.floral-motion-layer{display:none!important}.glass-card{view-timeline-name:--card-flora;view-timeline-axis:block;isolation:isolate}.card-content{z-index:4;position:relative}.section-flora{z-index:1;pointer-events:none;border-radius:inherit;position:absolute;inset:-1px;overflow:hidden}.section-flora:after{content:"";pointer-events:none;background:linear-gradient(#0000 35%,#fffbf514);position:absolute;inset:0}.flora-piece{will-change:transform,opacity;filter:drop-shadow(0 14px 22px #422b141f);opacity:0;position:absolute}.flora-piece svg{width:100%;height:100%;display:block}.flora-primary{width:190px;height:190px}.flora-secondary{width:126px;height:126px}.flora-ribbon{opacity:0;will-change:transform,opacity;border:7px solid #ba883b33;border-color:#ba883b33 #ba883b33 #0000 #0000;border-radius:50%;width:310px;height:210px;position:absolute}.flora-glint{color:#b5813470;opacity:0;will-change:transform,opacity;position:absolute}.flora-blossom .flora-primary{transform-origin:50%;top:8%;left:-78px}.flora-blossom .flora-secondary{bottom:8%;right:-45px;transform:rotate(165deg)}.flora-blossom .flora-ribbon{bottom:-80px;left:-100px;transform:rotate(12deg)}.flora-blossom .glint-a{top:14%;left:18%}.flora-blossom .glint-b{bottom:18%;right:17%}.flora-rose .flora-primary{width:220px;height:190px;top:2%;right:-90px}.flora-rose .flora-secondary{bottom:5%;left:-46px;transform:rotate(-26deg)}.flora-rose .flora-ribbon{bottom:-75px;right:-90px;transform:rotate(-24deg)}.flora-rose .glint-a{top:18%;right:22%}.flora-rose .glint-b{bottom:13%;left:16%}.flora-gold .flora-primary{width:205px;height:175px;bottom:3%;left:-75px}.flora-gold .flora-secondary{top:5%;right:-50px;transform:rotate(150deg)}.flora-gold .flora-ribbon{top:-90px;right:-120px;transform:rotate(25deg)}.flora-gold .glint-a{bottom:20%;left:21%}.flora-gold .glint-b{top:20%;right:18%}@supports (animation-timeline:view()){.section-flora .flora-piece,.section-flora .flora-ribbon,.section-flora .flora-glint{animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--card-flora;animation-range:entry exit 0%}.flora-blossom .flora-primary{animation-name:floraBlossomPrimary}.flora-blossom .flora-secondary{animation-name:floraBlossomSecondary}.flora-blossom .flora-ribbon{animation-name:floraRibbonLeft}.flora-rose .flora-primary{animation-name:floraRosePrimary}.flora-rose .flora-secondary{animation-name:floraRoseSecondary}.flora-rose .flora-ribbon{animation-name:floraRibbonRight}.flora-gold .flora-primary{animation-name:floraGoldPrimary}.flora-gold .flora-secondary{animation-name:floraGoldSecondary}.flora-gold .flora-ribbon{animation-name:floraRibbonGold}.section-flora .glint-a{animation-name:floraGlintA}.section-flora .glint-b{animation-name:floraGlintB}}@keyframes floraBlossomPrimary{0%{opacity:0;transform:translate(-95px,46px)rotate(-28deg)scale(.72)}18%{opacity:.75;transform:translate(38px,10px)rotate(-10deg)scale(.94)}48%{opacity:.64;transform:translate(72px,56px)rotate(10deg)scale(1.02)}72%{opacity:.52;transform:translate(118px,112px)rotate(27deg)scale(.98)}to{opacity:0;transform:translate(235px,176px)rotate(52deg)scale(.76)}}@keyframes floraBlossomSecondary{0%{opacity:0;transform:translate(95px,65px)rotate(180deg)scale(.68)}24%{opacity:.52;transform:translate(-20px,-12px)rotate(160deg)scale(.9)}58%{opacity:.42;transform:translate(-46px,-46px)rotate(145deg)scale(.96)}to{opacity:0;transform:translate(-160px,-105px)rotate(118deg)scale(.72)}}@keyframes floraRosePrimary{0%{opacity:0;transform:translate(120px,-75px)rotate(34deg)scale(.7)}20%{opacity:.72;transform:translate(-18px,20px)rotate(10deg)scale(.94)}50%{opacity:.66;transform:translate(-70px,72px)rotate(-7deg)scale(1)}76%{opacity:.44;transform:translate(-122px,128px)rotate(-23deg)scale(.94)}to{opacity:0;transform:translate(-220px,210px)rotate(-48deg)scale(.72)}}@keyframes floraRoseSecondary{0%{opacity:0;transform:translate(-100px,85px)rotate(-52deg)scale(.7)}26%{opacity:.5;transform:translate(12px,-5px)rotate(-24deg)scale(.9)}62%{opacity:.43;transform:translate(55px,-55px)rotate(-5deg)scale(.96)}to{opacity:0;transform:translate(170px,-150px)rotate(30deg)scale(.72)}}@keyframes floraGoldPrimary{0%{opacity:0;transform:translate(-115px,110px)rotate(-42deg)scale(.72)}20%{opacity:.65;transform:translate(20px,-6px)rotate(-18deg)scale(.94)}52%{opacity:.58;transform:translate(84px,-52px)rotate(4deg)scale(1.02)}78%{opacity:.4;transform:translate(132px,-90px)rotate(22deg)scale(.93)}to{opacity:0;transform:translate(230px,-160px)rotate(45deg)scale(.72)}}@keyframes floraGoldSecondary{0%{opacity:0;transform:translate(105px,-100px)rotate(170deg)scale(.68)}25%{opacity:.5;transform:translate(-12px,12px)rotate(150deg)scale(.88)}65%{opacity:.38;transform:translate(-68px,65px)rotate(132deg)scale(.93)}to{opacity:0;transform:translate(-170px,165px)rotate(102deg)scale(.7)}}@keyframes floraRibbonLeft{0%{opacity:0;transform:translate(-120px,80px)rotate(2deg)scale(.8)}25%{opacity:.38;transform:translate(20px)rotate(18deg)scale(1)}70%{opacity:.25;transform:translate(85px,-45px)rotate(32deg)scale(1.06)}to{opacity:0;transform:translate(180px,-120px)rotate(49deg)scale(.9)}}@keyframes floraRibbonRight{0%{opacity:0;transform:translate(120px,-60px)rotate(-14deg)scale(.8)}25%{opacity:.34;transform:translate(-12px,16px)rotate(-28deg)scale(1)}70%{opacity:.24;transform:translate(-85px,72px)rotate(-42deg)scale(1.04)}to{opacity:0;transform:translate(-190px,145px)rotate(-58deg)scale(.9)}}@keyframes floraRibbonGold{0%{opacity:0;transform:translate(120px,-100px)rotate(35deg)scale(.8)}28%{opacity:.32;transform:translate(-10px,10px)rotate(22deg)scale(1)}72%{opacity:.22;transform:translate(-85px,72px)rotate(8deg)scale(1.05)}to{opacity:0;transform:translate(-190px,165px)rotate(-16deg)scale(.88)}}@keyframes floraGlintA{0%,8%{opacity:0;transform:scale(.4)rotate(0)}28%{opacity:.75;transform:scale(1)rotate(70deg)}68%{opacity:.35;transform:scale(.8)rotate(150deg)}to{opacity:0;transform:scale(.3)rotate(230deg)}}@keyframes floraGlintB{0%,18%{opacity:0;transform:scale(.3)rotate(0)}42%{opacity:.58;transform:scale(.9)rotate(-50deg)}76%{opacity:.3;transform:scale(.7)rotate(-130deg)}to{opacity:0;transform:scale(.2)rotate(-210deg)}}@supports not (animation-timeline:view()){.section-flora .flora-primary{opacity:.2;transform:translate(0)scale(.82)}.section-flora .flora-secondary{opacity:.12}.section-flora .flora-ribbon{opacity:.1}.section-flora .flora-glint{display:none}}@media(max-width:760px){.flora-primary{width:145px!important;height:145px!important}.flora-secondary{width:92px;height:92px}.flora-ribbon{border-width:5px;width:240px;height:165px}.section-flora{opacity:.92}}@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}
