@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Marcellus&family=Parisienne&display=swap";@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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.resize{resize:both}}:root{--ivory:#f8f4ec;--ivory-deep:#eee7db;--midnight:#17324d;--midnight-dark:#0e2237;--steel:#5c86a8;--dusty:#b7cbda;--gold:#c9a667;--gold-dark:#9b783d}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ivory)}body{background:var(--ivory);color:var(--midnight);text-rendering:optimizelegibility;margin:0;font-family:Cormorant Garamond,Georgia,serif}body.intro-locked{height:100dvh;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.paper-grain{pointer-events:none;opacity:.23;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:absolute;inset:0}.envelope-stage{z-index:100;background:var(--ivory);perspective:1400px;touch-action:none;grid-template-rows:auto 1fr auto;justify-items:center;width:100%;min-height:100dvh;padding:clamp(24px,5vh,60px) 20px 26px;transition:opacity .48s .86s,visibility .48s .86s;display:grid;position:fixed;inset:0;overflow:hidden}.envelope-stage.is-open{opacity:0;visibility:hidden;pointer-events:none}.contour{fill:none;stroke:var(--steel);stroke-width:1px;opacity:.13;position:absolute}.contour--left{width:min(28vw,330px);height:100%;top:0;left:-44px}.intro-heading{z-index:3;text-align:center;transition:opacity .3s;position:relative}.is-open .intro-heading{opacity:0}.intro-names{letter-spacing:-.035em;margin:0;font-size:clamp(2.8rem,5.2vw,5.4rem);font-style:italic;font-weight:500;line-height:.95}.intro-names span{color:var(--gold);padding:0 .1em;font-size:.7em;font-style:normal}.tracked-date,.eyebrow{text-transform:uppercase;letter-spacing:.34em;margin:20px 0 0;font-family:Marcellus,Georgia,serif;font-size:clamp(.67rem,1.3vw,.88rem)}.envelope-button{z-index:4;aspect-ratio:1.82;cursor:pointer;filter:drop-shadow(0 20px 20px #13273a3b);width:min(78vw,820px);transform-style:preserve-3d;background:0 0;border:0;align-self:center;padding:0;transition:transform .35s,filter .35s;position:relative}.envelope-button:hover{filter:drop-shadow(0 28px 24px #13273a45);transform:translateY(-5px)}.envelope-button:focus-visible{outline:2px solid var(--gold);outline-offset:14px;border-radius:4px}.envelope-body{z-index:3;transform-style:preserve-3d;position:absolute;inset:0}.envelope-back{background:#1a3857;border-radius:3px;position:absolute;inset:0}.envelope-pocket-left,.envelope-pocket-right{z-index:5;position:absolute;inset:0;overflow:hidden}.envelope-pocket-left:before{content:"";background:#173451;border-top:1px solid #b7cbda24;width:72%;height:118%;position:absolute;bottom:-54%;left:-22%;transform:rotate(36deg)}.envelope-pocket-right:before{content:"";background:#193955;border-top:1px solid #b7cbda24;width:72%;height:118%;position:absolute;bottom:-54%;right:-22%;transform:rotate(-36deg)}.envelope-flap{z-index:7;transform-origin:50% 0;background:var(--midnight-dark);clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden;border-top:1px solid #ffffff0d;height:58%;transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .25s .55s;position:absolute;inset:0 0 auto}.is-open .envelope-flap{opacity:.25;transform:rotateX(176deg)}.invitation-card{z-index:2;background:var(--ivory);box-shadow:inset 0 0 0 9px var(--ivory), inset 0 0 0 10px #c9a66754;border:1px solid #c9a6678f;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:transform 1.02s cubic-bezier(.22,1,.36,1) .24s;display:flex;position:absolute;inset:6% 6% 5%;overflow:hidden}.invitation-card:after{content:"";background:radial-gradient(circle at 20% 10%,#fffc,#0000 50%);position:absolute;inset:0}.monogram{z-index:2;color:var(--midnight);align-items:center;gap:.18em;font-size:clamp(2.2rem,5vw,4.4rem);font-weight:500;display:inline-flex;position:relative}.monogram__infinity{color:var(--gold);font-size:.78em;font-weight:400}.monogram--compact{color:#6f501f;gap:.08em;font-size:clamp(.86rem,2vw,1.25rem)}.card-date{z-index:2;text-transform:uppercase;letter-spacing:.22em;font-family:Marcellus,serif;font-size:.76rem;position:relative}.wax-seal{z-index:9;aspect-ratio:1;background:radial-gradient(circle at 35% 28%, #e0c27c 0 5%, var(--gold) 27%, #a68143 70%, #765526 100%);border-radius:48% 52% 44% 56%/53% 43% 57% 47%;place-items:center;width:clamp(64px,8vw,92px);transition:transform .28s,opacity .24s;display:grid;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);box-shadow:0 7px 12px #04101d61,inset 0 0 0 5px #71501e3d,inset 0 0 0 7px #f7dd9e38}.is-open .wax-seal{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(-10deg)}.open-cue{z-index:5;cursor:pointer;text-transform:uppercase;letter-spacing:.25em;background:0 0;border:0;flex-direction:column;align-items:center;gap:9px;padding:8px;font-family:Marcellus,serif;font-size:.67rem;transition:opacity .25s;display:flex;position:relative}.is-open .open-cue{opacity:0}.open-cue__infinity{color:var(--gold);font-family:Georgia,serif;font-size:1.4rem;animation:2.4s ease-in-out infinite breathe}.open-cue__line{background:var(--gold);width:1px;height:18px;position:relative}.open-cue__line:after{content:"";border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);width:7px;height:7px;position:absolute;bottom:0;left:-3px;transform:rotate(45deg)}.skip-intro{letter-spacing:.08em;cursor:pointer;opacity:.62;background:0 0;border:0;border-bottom:1px solid #17324d47;font:500 .72rem/1 Marcellus,serif;position:absolute;bottom:16px;right:20px}.hero{background:var(--ivory);grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:clamp(32px,6vw,110px);min-height:100svh;padding:clamp(84px,10vw,150px) max(6vw,30px);display:grid;position:relative;overflow:hidden}.hero-route{fill:none;width:100%;height:100%;stroke:var(--steel);stroke-width:2px;stroke-linecap:round;stroke-dasharray:3 15;opacity:.23;position:absolute;inset:0}.hero-copy{z-index:2;max-width:780px;position:relative}.eyebrow{color:var(--gold-dark);margin:0 0 27px;font-size:.72rem}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(4rem,8vw,8.2rem);font-style:italic;font-weight:500;line-height:.82}.hero h1 span{color:var(--gold);padding:0 .04em;font-size:.62em;font-style:normal;display:inline-block;transform:translateY(-.08em)}.hero-date{letter-spacing:.31em;align-items:center;gap:18px;margin:32px 0 52px;font:400 .78rem/1 Marcellus,serif;display:flex}.hero-date span{background:var(--gold);width:clamp(32px,5vw,76px);height:1px}.hero-lead{max-width:570px;margin:0 0 12px;font-size:clamp(1.7rem,2.8vw,3rem);font-weight:500;line-height:1.08}.hero-sub{color:#35536d;margin:0;font-size:clamp(1.2rem,1.9vw,1.58rem)}.portrait-placeholder{z-index:2;aspect-ratio:.864;justify-self:center;place-items:center;width:min(38.4vw,516px);display:grid;position:relative}.portrait-placeholder__inner{border:1px solid var(--gold);width:82%;height:82%;color:var(--ivory);background:linear-gradient(145deg,#203f5e,#7697af);border-radius:50% 50% 48% 48%/40% 40% 60% 60%;position:relative;overflow:hidden;box-shadow:0 28px 60px #17324d2e}.portrait-placeholder__inner:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#ffffff1f,#0000 34%,#0e223714);position:absolute;inset:0;box-shadow:inset 0 0 0 9px #f8f4ec0d}.portrait-placeholder__inner img{object-fit:cover;object-position:50% 24%;width:100%;height:100%;display:block}.portrait-placeholder__inner .monogram{color:var(--ivory);font-size:clamp(2.4rem,5vw,4.6rem)}.portrait-placeholder__inner>span:last-child{z-index:2;text-transform:uppercase;letter-spacing:.26em;opacity:.72;margin-top:13px;font:.65rem/1 Marcellus,serif;position:relative}.portrait-orbit{pointer-events:none;border:1px solid #c9a6677a;border-radius:50%;position:absolute}.portrait-orbit--one{inset:2% 9%;transform:rotate(8deg)}.portrait-orbit--two{border-color:#5c86a86e;inset:6% 2%;transform:rotate(-9deg)}.scroll-note{z-index:2;letter-spacing:.22em;text-transform:uppercase;opacity:.66;flex-direction:column;align-items:center;gap:8px;font:.6rem/1 Marcellus,serif;display:flex;position:absolute;bottom:23px;left:50%;transform:translate(-50%)}.scroll-note i{background:var(--gold);transform-origin:top;width:1px;height:28px;animation:2.2s ease-in-out infinite scrollLine}@keyframes breathe{50%{opacity:.62;transform:scale(1.12)}}@keyframes scrollLine{0%,to{opacity:.4;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}@media (width<=760px){.envelope-stage{padding-top:8vh}.intro-names{font-size:clamp(2.4rem,12vw,3.6rem)}.tracked-date{margin-top:14px}.envelope-button{width:min(92vw,520px)}.envelope-button:hover{transform:none}.open-cue{margin-bottom:9vh}.skip-intro{font-size:.62rem}.hero{text-align:center;grid-template-columns:1fr;gap:48px;min-height:auto;padding:94px 24px 100px}.hero-copy{flex-direction:column;align-items:center;display:flex}.hero h1{font-size:clamp(4rem,19vw,6.1rem)}.hero h1 span{margin:.08em 0;display:block}.hero-date{margin:30px 0 38px}.hero-lead{font-size:clamp(1.75rem,8vw,2.25rem)}.hero-sub{max-width:310px}.portrait-placeholder{order:2;width:min(86.4vw,420px)}.scroll-note{display:none}}@media (height<=680px) and (width>=761px){.envelope-stage{padding-top:26px}.intro-names{font-size:3rem}.tracked-date{margin-top:10px}.envelope-button{width:min(64vw,650px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.envelope-flap,.invitation-card,.wax-seal,.envelope-stage{transition-duration:.15s!important;transition-delay:0s!important}}.section-number{color:var(--gold-dark);letter-spacing:.28em;text-transform:uppercase;margin:0 0 22px;font-family:Marcellus,Georgia,serif;font-size:.68rem}.section-heading{z-index:2;text-align:center;max-width:760px;margin:0 auto clamp(50px,7vw,90px);position:relative}.section-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(3.3rem,6vw,6.4rem);font-style:italic;font-weight:500;line-height:.92}.section-heading>p:last-child{color:#4f6a80;margin:24px 0 0;font-size:clamp(1.15rem,1.8vw,1.45rem)}.section-heading--left{text-align:left;margin-inline:0}.reveal{opacity:0;transition:opacity .8s,transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.route-progress{z-index:80;opacity:0;pointer-events:none;width:28px;height:min(56vh,520px);transition:opacity .6s;position:fixed;top:50%;right:max(14px,1.7vw);transform:translateY(-50%)}.route-progress.is-shown{opacity:.8}.route-progress__line{border-left:1px dashed #5c86a894;position:absolute;top:5%;bottom:5%;left:50%}.route-progress__marker{aspect-ratio:1;width:24px;color:var(--midnight-dark);background:var(--gold);border-radius:50%;place-items:center;font:.8rem/1 Georgia,serif;transition:top .1s linear;display:grid;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 10px #0919282e}.music-toggle{z-index:81;aspect-ratio:1;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8f4ece8;border:1px solid #c9a667a6;border-radius:50%;place-items:center;width:46px;font:1.2rem/1 Georgia,serif;transition:transform .25s,background .25s,color .25s,border-color .25s;display:grid;position:fixed;bottom:max(18px,2vw);right:max(18px,2vw);box-shadow:0 9px 25px #0e223721}.music-toggle:hover{background:#fffaf1;transform:translateY(-3px)}.music-toggle:focus-visible{outline:2px solid var(--gold-dark);outline-offset:5px}.music-toggle__icon{z-index:2;position:relative;transform:translateY(-1px)}.music-toggle__slash{z-index:3;opacity:0;background:currentColor;border-radius:99px;width:22px;height:1.5px;transition:transform .24s,opacity .24s;position:absolute;transform:rotate(-45deg)scaleX(0)}.music-toggle.is-muted{color:#718394;border-color:#5c86a87a}.music-toggle.is-muted .music-toggle__slash{opacity:.9;transform:rotate(-45deg)scaleX(1)}.music-toggle.is-replay{color:var(--gold-dark);background:#fffaf1f5}.music-toggle.is-replay .music-toggle__icon{font-size:1.35rem;transform:translateY(-1px)}.music-toggle.is-playing{color:var(--midnight);background:#fffaf1f5}.music-toggle.is-playing:before{content:"";border-radius:inherit;border:1px solid #c9a667b3;animation:2.8s ease-out infinite musicPulse;position:absolute;inset:-1px}@keyframes musicPulse{0%,24%{opacity:.58;transform:scale(1)}72%,to{opacity:0;transform:scale(1.34)}}.invitation-copy{background:var(--dusty);min-height:78vh;color:var(--midnight-dark);grid-template-columns:.45fr minmax(300px,1.1fr) .35fr;align-items:center;gap:8vw;display:grid;position:relative;overflow:hidden}.invitation-copy:before{content:"";background:linear-gradient(135deg,#fff3,#0000 55%);position:absolute;inset:0}.invitation-copy__text{z-index:2;max-width:760px;position:relative}.invitation-copy__text h2{letter-spacing:-.04em;margin:0 0 38px;font-size:clamp(3rem,5.4vw,5.9rem);font-style:italic;font-weight:500;line-height:.98}.invitation-copy__text>p:last-child{max-width:640px;margin:0;font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.65}.compass-wrap{justify-self:center}.compass{fill:none;width:clamp(90px,12vw,170px);stroke:var(--midnight);stroke-width:.75px;opacity:.72;overflow:visible}.compass text{fill:var(--midnight);stroke:none;text-anchor:middle;font:10px Marcellus,serif}.compass-fill{fill:var(--gold);stroke:var(--gold)}.invitation-copy>.monogram{opacity:.36;place-self:end}.photo-moment{color:#fffaf2;place-items:center;min-height:92vh;display:grid;position:relative;overflow:hidden}.photo-placeholder-bg{background:linear-gradient(125deg,#6e8799,#1a3857 46%,#0e2338);position:absolute;inset:0}.photo-placeholder-bg:before{content:"";opacity:.22;background:repeating-radial-gradient(circle at 14% 82%,#0000 0 49px,#f8f4ec52 50px 51px),radial-gradient(circle at 70% 25%,#b7cbda40,#0000 30%);position:absolute;inset:0}.photo-moment__overlay{background:linear-gradient(#09192814,#09192873);position:absolute;inset:0}.photo-moment__content{z-index:2;text-align:center;width:min(880px,86vw);position:relative}.tiny-label{color:#fffdf8;letter-spacing:.28em;text-transform:uppercase;opacity:.96;font:.72rem/1 Marcellus,serif}.photo-moment blockquote{letter-spacing:-.04em;margin:32px auto;font-size:clamp(2.7rem,5.6vw,6rem);font-style:italic;line-height:1.02}.drawn-infinity{color:var(--gold);font:clamp(2rem,4vw,3.8rem)/1 Georgia,serif;display:block}.event-cards{border-top:1px solid #17324d33;border-bottom:1px solid #17324d33;grid-template-columns:repeat(2,1fr);width:min(1100px,100%);margin:0 auto clamp(50px,7vw,85px);display:grid}.event-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:410px;padding:clamp(45px,6vw,80px);display:flex;position:relative}.event-card+.event-card{border-left:1px solid #17324d33}.event-card>p{letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 12px;font:.7rem/1 Marcellus,serif}.event-card time{margin-bottom:25px;font-size:clamp(3.1rem,5vw,5rem);font-style:italic;line-height:1}.event-card h3{max-width:430px;margin:0 0 10px;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:500;line-height:1.08}.event-card>span:last-child{color:#5d7183;font-size:1.05rem}.button{border:1px solid var(--midnight);min-width:280px;color:var(--midnight);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:48px;padding:20px 22px 18px 27px;font:.72rem/1 Marcellus,serif;transition:background .3s,color .3s,transform .3s;display:flex}.button--primary{background:var(--midnight);color:var(--ivory);margin:0 auto}.button i{font-family:Georgia,serif;font-size:1rem;font-style:normal;transition:transform .3s}.button:hover{color:var(--ivory);background:#254867;transform:translateY(-3px)}.button:hover i{transform:translate(2px,-2px)}.dress{text-align:center;background:#f0e9df;place-items:center;display:grid;position:relative}.dress:before,.dress:after{content:"";background:linear-gradient(#0000,#c9a6678c,#0000);width:1px;position:absolute;top:0;bottom:0}.dress:before{left:12%}.dress:after{right:12%}.dress-ornament{align-items:center;gap:22px;margin-bottom:42px;display:flex}.dress-ornament>span{background:var(--gold);width:clamp(48px,8vw,110px);height:1px}.dress .section-heading{margin-bottom:26px}.dress-note{z-index:2;color:#294962;border-top:1px solid #c9a66794;border-bottom:1px solid #c9a66794;width:min(650px,96%);margin:0 auto 32px;padding:15px clamp(18px,2.6vw,28px);font-size:clamp(1.03rem,1.3vw,1.17rem);font-style:italic;font-weight:500;line-height:1.48;position:relative}.dress-links{justify-content:center;gap:clamp(24px,4vw,60px);display:flex}.dress-links a,.text-link{color:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #17324d73;padding:9px 0;font:500 1.05rem/1.2 Cormorant Garamond,serif;text-decoration:none}.dress-links span,.text-link span{color:var(--gold-dark);margin-left:8px}.locations{background:var(--ivory);grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(50px,9vw,150px);min-height:90vh;display:grid;overflow:hidden}.locations-art{background:var(--midnight);place-items:center;min-height:580px;display:grid;position:relative}.locations-art:before{content:"";border:1px solid #c9a66761;position:absolute;inset:16px}.locations-art .compass{width:80px;stroke:var(--gold);position:absolute;top:44px;right:42px}.locations-art .compass text{fill:var(--gold)}.map-mark{fill:none;stroke:#f8f4ec45;stroke-width:1px;width:88%}.map-mark circle{fill:var(--gold);stroke:var(--gold)}.map-mark .map-route{stroke:var(--gold);stroke-width:2px;stroke-dasharray:4 10}.locations-content{max-width:720px}.location-list{border-top:1px solid #17324d2e}.location-item{border-bottom:1px solid #17324d2e;grid-template-columns:1fr auto;align-items:end;gap:30px;padding:34px 0;display:grid}.location-item p{color:var(--gold-dark);letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;font:.65rem/1 Marcellus,serif}.location-item h3{margin:0 0 6px;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:500}.location-item>div>span{color:#607588}.location-actions{gap:18px;display:flex}.location-actions a{color:var(--midnight);white-space:nowrap;border-bottom:1px solid #17324d4d;font-size:.92rem;text-decoration:none}.gift{background:var(--dusty);min-height:72vh;color:var(--midnight-dark);grid-template-columns:minmax(260px,.8fr) minmax(300px,1fr);align-items:center;gap:10vw;display:grid}.gift-envelope{aspect-ratio:1.65;background:var(--midnight);filter:drop-shadow(0 22px 26px #122f4838);justify-self:end;width:min(480px,100%);position:relative}.gift-envelope:before,.gift-envelope:after{content:"";clip-path:polygon(0 0,50% 56%,0 100%);background:#1d4160;position:absolute;inset:0}.gift-envelope:after{background:#183a58;transform:scaleX(-1)}.gift-envelope__flap{z-index:3;background:var(--midnight-dark);clip-path:polygon(0 0,100% 0,50% 100%);height:62%;position:absolute;inset:0 0 auto}.gift-envelope__seal{z-index:4;aspect-ratio:1;background:radial-gradient(circle at 35% 25%, #e2c680, var(--gold) 50%, #8c672f);border-radius:50%;place-items:center;width:72px;display:grid;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 14px #09192859}.wax-seal .monogram__infinity,.gift-envelope__seal .monogram__infinity,.footer-seal .monogram__infinity{color:#74521f}.gift-copy{max-width:650px}.gift-copy h2{letter-spacing:-.04em;margin:0 0 22px;font-size:clamp(3rem,5vw,5.6rem);font-style:italic;font-weight:500;line-height:.98}.gift-copy>p:not(.section-number){color:#132b43;margin:0 0 28px;font-size:1.38rem}.countdown{background:var(--midnight-dark);min-height:85vh;color:var(--ivory);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.countdown:before{content:"";aspect-ratio:1;border:1px solid #c9a66721;border-radius:50%;width:68vw;position:absolute}.stars{opacity:.42;background-image:radial-gradient(circle, var(--gold) 0 1px, transparent 1.5px), radial-gradient(circle, var(--dusty) 0 1px, transparent 1.5px);background-position:0 0,52px 65px;background-size:130px 140px,180px 170px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.countdown-copy{z-index:2;position:relative}.countdown-copy p{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;margin:0;font:.68rem/1 Marcellus,serif}.countdown-copy{margin-bottom:clamp(34px,5vw,58px)}.countdown-after{z-index:2;margin:clamp(38px,5vw,64px) 0 0;font-size:clamp(2.9rem,5vw,5.2rem);font-style:italic;font-weight:500;position:relative}.countdown-grid{z-index:2;grid-template-columns:repeat(4,minmax(120px,1fr));display:grid;position:relative}.countdown-unit{border-right:1px solid #f8f4ec38;min-width:150px;padding:0 clamp(18px,3.4vw,50px)}.countdown-unit:last-child{border:0}.countdown-unit strong{font-variant-numeric:tabular-nums;font-size:clamp(4rem,8vw,8rem);font-weight:400;line-height:.8;display:block}.countdown-unit span{color:#e4edf3;letter-spacing:.2em;text-transform:uppercase;margin-top:22px;font:.7rem/1 Marcellus,serif;display:block}.countdown-date{z-index:2;color:var(--gold);letter-spacing:.3em;text-transform:uppercase;margin:62px 0 0;font:.66rem/1 Marcellus,serif;position:relative}.rsvp{background:var(--ivory);min-height:auto;position:relative;overflow:hidden}.rsvp-layout{z-index:2;grid-template-columns:minmax(330px,.84fr) minmax(420px,1.16fr);align-items:center;gap:clamp(42px,5.2vw,76px);width:min(1210px,100%);margin:0 auto;display:grid;position:relative}.rsvp-content{text-align:center;min-width:0}.rsvp .section-heading{margin-bottom:38px}.rsvp-companion{border-right:1px solid #c9a6678c;justify-content:center;align-self:stretch;align-items:flex-end;min-height:500px;display:flex;position:relative}.rsvp-companion:after{content:"✦";aspect-ratio:1;background:var(--ivory);width:34px;color:var(--gold-dark);border:1px solid #c9a667ad;border-radius:50%;place-items:center;font:.72rem/1 Georgia,serif;display:grid;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.rsvp-companion__halo{aspect-ratio:.96;background:radial-gradient(circle at 50% 43%,#fffffff5,#eee7db6e 62%,#0000 63%);border:1px solid #c9a667a8;border-radius:48% 52% 45% 55%/43% 47% 53% 57%;width:97%;position:absolute;bottom:4%;left:48%;transform:translate(-50%)}.rsvp-companion__halo:before{content:"";border-radius:inherit;border:1px solid #5c86a84d;position:absolute;inset:12px}.rsvp-companion img{z-index:2;object-fit:contain;filter:drop-shadow(0 18px 18px #17324d24);width:min(100%,500px);height:auto;max-height:520px;display:block;position:relative}.rsvp-sprig{z-index:3;width:74px;height:116px;color:var(--gold-dark);border-left:1px solid;border-radius:50%;position:absolute;transform:rotate(-28deg)}.rsvp-sprig:before,.rsvp-sprig:after,.rsvp-sprig i{content:"";background:var(--ivory);border:1px solid;border-radius:100% 0;width:27px;height:13px;position:absolute}.rsvp-sprig:before{top:23px;left:-3px;transform:rotate(25deg)}.rsvp-sprig:after{top:55px;left:9px;transform:rotate(-32deg)scaleX(-1)}.rsvp-sprig i:first-child{top:79px;left:-2px;transform:rotate(36deg)}.rsvp-sprig i:nth-child(2){border-radius:50%;width:18px;height:18px;top:7px;left:20px;box-shadow:8px 2px 0 -5px,-4px 7px 0 -5px}.rsvp-sprig i:nth-child(3){display:none}.rsvp-sprig--top{top:4%;right:-8px}.rsvp-sprig--bottom{bottom:3%;left:2%;right:auto;transform:rotate(152deg)}.button.button--large{z-index:2;text-align:center;justify-content:center;min-width:min(390px,88vw);padding-block:24px;font-size:clamp(1rem,1.2vw,1.08rem);position:relative}.button.button--large i{position:absolute;right:22px}.whatsapp{z-index:2;margin-top:44px;position:relative}.whatsapp p{color:#647789;margin:0 0 13px}.whatsapp div{justify-content:center;gap:22px;display:flex}.whatsapp a{color:var(--midnight);border-bottom:1px solid #17324d59;text-decoration:none}footer{background:var(--midnight);min-height:62vh;color:var(--ivory);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;display:flex;position:relative;overflow:hidden}footer>:not(.paper-grain){z-index:2;position:relative}footer>.footer-botanical{z-index:1;pointer-events:none;position:absolute;inset:0}.footer-botanical .botanical{width:min(100% - 32px,1440px);left:50%;right:auto;transform:translate(-50%)}.footer-seal{aspect-ratio:1;background:radial-gradient(circle at 35% 24%, #e2c67f, var(--gold) 50%, #8d672f);border-radius:50%;place-items:center;width:84px;margin-bottom:36px;display:grid}footer>p{color:#e5edf3;margin:0;font-size:1.3rem}footer h2{margin:22px 0;font-size:clamp(3.4rem,7vw,7rem);font-style:italic;font-weight:500;line-height:.9}footer h2 span{color:var(--gold);font-size:.7em;font-style:normal}footer .footer-date{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font:.65rem/1 Marcellus,serif}.modal-backdrop{z-index:200;overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#091928c2;justify-content:center;align-items:flex-start;padding:20px;animation:.25s both modalFade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--ivory);border:1px solid var(--gold);text-align:center;flex:none;width:min(560px,100%);margin:auto 0;padding:clamp(42px,7vw,70px);animation:.45s cubic-bezier(.22,1,.36,1) both modalRise;position:relative;overflow:visible;box-shadow:0 35px 90px #0000004d}.modal:before{content:"";pointer-events:none;border:1px solid #c9a66757;position:absolute;inset:10px}.modal-close{z-index:3;cursor:pointer;background:0 0;border:0;font:300 2rem/1 Georgia,serif;position:absolute;top:14px;right:18px}.modal h2{margin:0 0 14px;font-size:clamp(2.6rem,6vw,4rem);font-style:italic;font-weight:500;line-height:1}.modal>p:not(.section-number){color:#5e7182;margin:0 0 30px;font-size:1.1rem}.modal-options{border-top:1px solid #17324d2e;flex-direction:column;display:flex}.modal-options a,.modal-options button{color:var(--midnight);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #17324d2e;justify-content:space-between;align-items:center;padding:20px 5px;font:1.1rem/1.2 Cormorant Garamond,serif;text-decoration:none;display:flex}.breb-qr{border:1px solid #17324d29;width:min(330px,88%);height:auto;margin:0 auto 20px;display:block;box-shadow:0 14px 32px #0e22371a}.toast{z-index:220;background:var(--midnight);max-width:min(440px,100vw - 38px);color:var(--ivory);text-align:center;opacity:0;visibility:hidden;border:1px solid #c9a66780;padding:15px 20px;font-size:1rem;transition:opacity .3s,transform .3s,visibility .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);box-shadow:0 14px 36px #0919283d}.toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%)}@keyframes modalFade{0%{opacity:0}}@keyframes modalRise{0%{opacity:0;transform:translateY(20px)scale(.98)}}@media (width<=900px){.invitation-copy{grid-template-columns:.3fr 1fr;gap:7vw}.invitation-copy>.monogram{display:none}.locations{grid-template-columns:1fr}.locations-art{order:2;min-height:480px}.locations-content{max-width:none}.gift{gap:7vw}.countdown-unit{min-width:0}}@media (width<=680px){.route-progress{height:40vh;right:4px;transform:translateY(-50%)scale(.78)}.music-toggle{width:42px}.section-pad{padding:94px 24px}.section-heading{margin-bottom:48px}.section-heading h2{font-size:clamp(3.15rem,15vw,4.7rem)}.invitation-copy{text-align:center;grid-template-columns:1fr;min-height:auto}.invitation-copy .compass{width:92px}.invitation-copy__text h2{font-size:clamp(3rem,14vw,4.4rem)}.invitation-copy__text>p:last-child{font-size:1.18rem;line-height:1.55}.photo-moment{min-height:78vh}.photo-moment blockquote{font-size:clamp(2.6rem,13vw,4rem)}.event-cards{grid-template-columns:1fr}.event-card{min-height:340px;padding:50px 26px}.event-card+.event-card{border-top:1px solid #17324d33;border-left:0}.dress:before{left:10px}.dress:after{right:10px}.dress-note{width:min(620px,94%);margin-bottom:27px;padding:14px 12px;font-size:1.03rem}.dress-links{flex-direction:column;gap:14px}.locations{padding-inline:0}.locations-content{padding-inline:24px}.locations .section-heading{text-align:center;margin-inline:auto}.location-item{grid-template-columns:1fr;align-items:start}.location-actions{margin-top:5px}.locations-art{min-height:390px}.gift{text-align:center;grid-template-columns:1fr}.gift-envelope{justify-self:center;width:88%}.gift-copy h2{font-size:clamp(3rem,14vw,4.4rem)}.countdown{min-height:78vh}.countdown-grid{grid-template-columns:repeat(4,1fr);width:100%}.countdown-unit{padding:0 7px}.countdown-unit strong{font-size:clamp(2.7rem,14vw,4rem)}.countdown-unit span{margin-top:16px;font-size:.53rem}.countdown-date{letter-spacing:.22em;font-size:.56rem}.whatsapp div{flex-direction:column;align-items:center;gap:13px}.rsvp-layout{grid-template-columns:1fr;gap:22px}.rsvp-companion{border-bottom:1px solid #c9a6678c;border-right:0;justify-self:center;width:min(92vw,410px);min-height:370px}.rsvp-companion:after{top:auto;bottom:0;right:50%;transform:translate(50%,50%)}.rsvp-companion__halo{width:92%;bottom:3%;left:50%}.rsvp-companion img{width:min(96%,390px);max-height:390px}.rsvp-sprig--top{top:1%;right:2%}.rsvp-sprig--bottom{bottom:-1%;left:2%;right:auto}.rsvp-content{padding-top:14px}footer{min-height:56vh}footer h2 span{margin:.12em 0;display:block}.modal{padding:54px 30px 40px}}body{min-width:320px;font-size:18px;overflow-x:hidden}.chapter{min-height:100svh;position:relative;overflow:hidden}.botanical{z-index:1;pointer-events:none;color:var(--steel);opacity:.42;position:absolute;inset:clamp(10px,2vw,26px)}.botanical--white{color:var(--ivory);opacity:.48}.botanical--gold{color:var(--gold);opacity:.55}.botanical--dense{opacity:.72}.botanical__corner{transform-origin:50%;width:clamp(100px,17vw,230px);height:clamp(135px,22vw,290px);position:absolute}.botanical__corner--tl{top:0;left:0}.botanical__corner--tr{top:0;right:0;transform:scaleX(-1)}.botanical__corner--bl{bottom:0;left:0;transform:scaleY(-1)}.botanical__corner--br{bottom:0;right:0;transform:scale(-1)}.botanical .stem{border-left:1px solid;border-radius:50%;width:85%;height:90%;position:absolute;top:0;left:7%;transform:rotate(-31deg)}.botanical .leaf{background:currentColor;border:1px solid;border-radius:100% 0;width:32%;height:13%;position:absolute}@supports (color:color-mix(in lab, red, red)){.botanical .leaf{background:color-mix(in srgb, currentColor 8%, transparent)}}.botanical .leaf--1{top:24%;left:15%;transform:rotate(24deg)}.botanical .leaf--2{top:48%;left:39%;transform:rotate(-28deg)scaleX(-1)}.botanical .leaf--3{top:69%;left:8%;transform:rotate(37deg)}.botanical .bloom{aspect-ratio:1;border:1px solid;border-radius:52% 48% 50% 50%;width:18%;animation:6s ease-in-out infinite botanicalFloat;position:absolute;box-shadow:10px 1px 0 -7px,-6px 8px 0 -7px}.botanical .bloom--1{top:14%;left:53%}.botanical .bloom--2{width:12%;animation-delay:-2.5s;top:60%;left:76%}@keyframes botanicalFloat{50%{transform:rotate(9deg)translateY(-4px)}}.envelope-stage{height:100dvh;min-height:0;padding:max(22px, env(safe-area-inset-top)) 20px max(22px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto}.intro-heading{z-index:4}.intro-heading:before{content:"Una invitación para ti";color:var(--gold-dark);letter-spacing:.28em;text-transform:uppercase;margin-bottom:10px;font:9px/1 Marcellus,serif;display:block}.intro-names{font-size:clamp(2rem,8.5vw,4.2rem)}.tracked-date{margin-top:13px}.envelope-button{aspect-ratio:auto;width:min(70vw,390px);height:min(59vh,550px);min-height:350px}.envelope-back{background:#183653;box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 50px #020e1a38}.envelope-back:after{content:"";border:1px solid #c9a66747;position:absolute;inset:13px}.envelope-pocket-left:before{width:112%;height:75%;bottom:-17%;left:-58%;transform:rotate(39deg)}.envelope-pocket-right:before{width:112%;height:75%;bottom:-17%;right:-58%;transform:rotate(-39deg)}.envelope-flap{height:48%}.invitation-card{gap:13px;inset:4% 7%}.is-open .invitation-card{z-index:8;transform:translateY(-43%)scale(.96)}.card-kicker{z-index:2;color:var(--gold-dark);letter-spacing:.25em;text-transform:uppercase;margin-bottom:4px;font:9px/1 Marcellus,serif;position:relative}.wax-seal{width:clamp(66px,18vw,88px);top:47%}.wax-seal:after{content:"";background:#5b3d1575;width:90%;height:1px;transition:transform .25s;position:absolute;transform:rotate(-17deg)scaleX(0)}.is-open .wax-seal:after{transform:rotate(-17deg)scaleX(1)}.hero{min-height:100svh;padding-inline:var(--page-pad)}.hero>:not(.paper-grain):not(.botanical):not(.hero-route){z-index:2;position:relative}.hero h1{font-size:clamp(4.4rem,8.2vw,8.7rem)}.hero-lead{font-size:clamp(1.85rem,2.8vw,3.1rem)}.portrait-placeholder{width:min(36vw,516px)}.travel-interlude{min-height:48svh;padding:72px var(--page-pad);text-align:center;background:#f0e9df;place-content:center;gap:25px;display:grid;position:relative;overflow:hidden}.travel-interlude:before{content:"";pointer-events:none;border:1px solid #c9a6675c;position:absolute;inset:13px}.travel-rule{color:var(--gold);justify-content:center;align-items:center;gap:18px;display:flex}.travel-rule span{background:currentColor;width:clamp(44px,10vw,130px);height:1px}.travel-rule i{font:1.4rem/1 Georgia,serif}.travel-phrase{max-width:670px;margin:0 auto;font-size:clamp(1.45rem,2.1vw,2rem);font-style:italic;line-height:1.25}.travel-photos{justify-content:center;align-items:center;gap:clamp(18px,4vw,48px);margin:7px auto 2px;display:flex}.travel-photo{aspect-ratio:1;width:clamp(178px,20vw,250px);margin:0;position:relative}.travel-photo__frame{background:var(--ivory);box-shadow:0 18px 35px #17324d29, inset 0 0 0 3px var(--ivory), inset 0 0 0 4px #c9a6679e;border:1px solid #17324d80;border-radius:30% 24% 31% 23%/25% 31% 23% 30%;padding:7px;animation:7.5s ease-in-out infinite travelPhotoFloatOne;position:absolute;inset:0;overflow:hidden;transform:rotate(-3deg)}.travel-photo--2 .travel-photo__frame{border-radius:24% 31% 23% 30%/31% 24% 30% 23%;animation:8.2s ease-in-out infinite travelPhotoFloatTwo;transform:rotate(3deg)}.travel-photo__frame:after{content:"";border-radius:inherit;pointer-events:none;background:#17324d09;position:absolute;inset:7px}.travel-photo img{object-fit:contain;border-radius:inherit;width:100%;height:100%;display:block}.travel-photo--1 img{filter:saturate(.91)contrast(.98)sepia(.025)}.travel-photo--2 img{filter:saturate(.86)contrast(.96)brightness(.99)sepia(.035)}@keyframes travelPhotoFloatOne{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(-2.35deg)translateY(-4px)}}@keyframes travelPhotoFloatTwo{0%,to{transform:rotate(3deg)translateY(0)}50%{transform:rotate(2.35deg)translateY(-4px)}}.section-number{font-size:11px}.section-heading h2{font-size:clamp(3.5rem,6.2vw,6.6rem)}.section-heading>p:last-child{font-size:clamp(1.25rem,1.8vw,1.55rem)}.invitation-copy{min-height:100svh}.invitation-copy__text{z-index:2;position:relative}.invitation-copy__text>p:last-child{font-size:clamp(1.28rem,1.7vw,1.6rem)}.photo-moment__content,.event .section-heading,.event-cards,.event>.button,.dress>:not(.botanical),.gift>:not(.botanical),.countdown>:not(.botanical),.rsvp>:not(.botanical){z-index:2;position:relative}.event-card h3{font-size:clamp(1.8rem,2.5vw,2.6rem)}.event-card>span:last-child{font-size:1.12rem}.button{min-height:60px;font-size:11px}.dress{min-height:100svh}.dress-links a,.text-link{font-size:1.12rem}.locations{min-height:100svh}.location-item h3{font-size:clamp(1.65rem,2.2vw,2.15rem)}.location-actions a{font-size:1rem}.gift{min-height:100svh}.gift-copy>p:not(.section-number){font-size:1.35rem}.countdown,.rsvp{min-height:100svh}.whatsapp{font-size:1.05rem}footer{min-height:72svh}footer>:not(.paper-grain):not(.botanical){z-index:2;position:relative}@media (width<=900px){.hero{text-align:center}.hero-copy{flex-direction:column;align-items:center;margin-inline:auto;display:flex}.portrait-placeholder{width:min(69.6vw,468px)}}@media (width<=680px){:root{--page-pad:24px}body{font-size:18px}.chapter{min-height:100svh}.section-pad{padding:108px 24px 96px}.botanical{opacity:.34;inset:8px}.botanical--dense{opacity:.52}.botanical__corner{width:112px;height:150px}.botanical__corner--tr,.botanical__corner--br{right:-23px}.botanical__corner--tl,.botanical__corner--bl{left:-23px}.route-progress{height:34vh;right:0;transform:translateY(-50%)scale(.72);opacity:.45!important}.music-toggle{width:46px;right:14px}.envelope-stage{padding:24px 14px 18px}.intro-heading:before{font-size:8px}.intro-names{font-size:clamp(2.1rem,10vw,3.2rem)}.tracked-date{margin-top:10px}.envelope-button{width:min(76vw,330px);height:min(57vh,475px);min-height:330px}.open-cue{margin-bottom:0;font-size:8px}.skip-intro{font-size:8px}.hero{flex-direction:column;justify-content:center;gap:42px;min-height:100svh;padding:96px 24px 70px;display:flex}.hero-copy{width:100%}.eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(4.25rem,20.5vw,5.8rem);line-height:.79}.hero h1 span{margin:.13em 0;padding:0;display:block}.hero-date{margin:25px 0 29px;font-size:10px}.hero-lead{max-width:350px;font-size:clamp(1.75rem,8.5vw,2.3rem)}.hero-sub{max-width:320px;font-size:1.18rem}.portrait-placeholder{width:min(84vw,35.5svh,372px);max-height:none}.travel-interlude{min-height:50svh;padding:70px 24px}.travel-phrase{font-size:1.45rem}.travel-photos{gap:12px}.travel-photo{width:min(41vw,170px)}.section-heading h2{font-size:clamp(3.25rem,15.5vw,4.7rem)}.section-heading>p:last-child{font-size:1.25rem}.invitation-copy{align-content:center;gap:30px;min-height:100svh}.invitation-copy__text h2{margin-bottom:30px;font-size:clamp(3.1rem,14.8vw,4.45rem)}.invitation-copy__text>p:last-child{font-size:1.28rem;line-height:1.55}.photo-moment{min-height:100svh}.photo-moment blockquote{font-size:clamp(3rem,14vw,4.2rem)}.event-card{min-height:360px}.event-card time{font-size:4rem}.event-card h3{font-size:2rem}.button{width:100%;min-width:0;min-height:60px}.dress{min-height:100svh}.dress-links{width:100%}.dress-links a{justify-content:center;align-items:center;min-height:48px;font-size:1.15rem;display:flex}.locations{min-height:auto;padding-bottom:0}.location-item{gap:22px;padding:32px 0}.location-item h3{font-size:1.85rem}.location-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.location-actions a{border:1px solid #17324d4d;place-items:center;min-height:50px;font-size:1rem;display:grid}.locations-art{min-height:460px}.gift{align-content:center;gap:58px;min-height:100svh}.gift-copy h2{font-size:clamp(3.1rem,14.8vw,4.45rem)}.gift-copy>p:not(.section-number){font-size:1.32rem}.countdown{min-height:100svh;padding-inline:20px}.countdown:before{width:110vw}.countdown-grid{grid-template-columns:repeat(2,1fr);width:min(100%,390px)}.countdown-unit{border-bottom:1px solid #f8f4ec33;border-right:1px solid #f8f4ec33;min-height:132px;padding:20px 10px}.countdown-unit:nth-child(2){border-right:0}.countdown-unit:nth-child(3),.countdown-unit:nth-child(4){border-bottom:0}.countdown-unit strong{font-size:clamp(3.7rem,18vw,5rem)}.countdown-unit span{margin-top:14px;font-size:9px}.rsvp{min-height:100svh}.whatsapp{width:100%}.whatsapp div{align-items:stretch}.whatsapp a{border:1px solid #17324d47;place-items:center;min-height:48px;display:grid}footer{min-height:100svh;padding:100px 24px}.modal-backdrop{align-items:flex-start;padding:12px 0 0}.modal{width:100%;padding:58px 26px max(34px, env(safe-area-inset-bottom));border-radius:24px 24px 0 0;margin:auto 0 0;overflow:visible}.modal:before{border-radius:17px 17px 0 0}.modal-options a,.modal-options button{min-height:64px;font-size:1.18rem}}@media (width<=380px){.envelope-button{width:74vw;height:54vh}.intro-names{font-size:2rem}.hero h1{font-size:4.2rem}.hero-lead{font-size:1.75rem}.section-heading h2,.invitation-copy__text h2,.gift-copy h2{font-size:3.1rem}}.photo-moment{color:#fff9ed;min-height:max(620px,76svh);display:block}.photo-moment__image{object-fit:cover;object-position:50% 32%;width:100%;height:100%;display:block;position:absolute;inset:0}.photo-moment__overlay{z-index:1;background:linear-gradient(90deg,#0000 0 47%,#0818271f 57%,#081827ad 100%),linear-gradient(#0000 52%,#0818275c)}.photo-moment__content{z-index:2;text-align:right;width:min(40vw,570px);position:absolute;bottom:clamp(44px,8vh,92px);right:clamp(38px,6vw,96px)}.photo-moment blockquote{color:#fff9ed;text-wrap:balance;text-shadow:0 3px 22px #05121feb,0 1px 2px #05121fd9;margin:0;font-size:clamp(2.25rem,3.7vw,4.35rem);font-weight:500;line-height:.98}.photo-moment .drawn-infinity{color:#e1c37a;text-shadow:0 3px 16px #05121fcc;margin-top:18px;font-size:clamp(2rem,3vw,3.2rem)}@media (width<=680px){.photo-moment{aspect-ratio:1067/1600;width:100%;min-height:0}.photo-moment__image{object-fit:cover;object-position:center}.photo-moment__overlay{background:linear-gradient(270deg,#081827ab 0%,#08182757 34%,#0000 60%),linear-gradient(#0000 54%,#0818276b)}.photo-moment__content{width:40%;bottom:6%;right:5.5%}.photo-moment blockquote{text-wrap:pretty;font-size:clamp(1.12rem,5.2vw,1.48rem);line-height:1.02}.photo-moment .drawn-infinity{margin-top:9px;font-size:clamp(1.45rem,7vw,1.9rem)}}@media (width<=380px){.photo-moment blockquote{font-size:clamp(1.04rem,5vw,1.22rem)}}@media (height<=700px) and (width<=680px){.envelope-stage{padding-top:14px}.intro-heading:before{display:none}.intro-names{font-size:2rem}.tracked-date{margin-top:6px}.envelope-button{height:55vh;min-height:300px}.open-cue{gap:4px}.portrait-placeholder{width:min(66vw,32svh,312px)}}:root{--page-pad:clamp(24px, 5.5vw, 84px)}body{font-size:19px}.chapter{min-height:auto}.section-pad{padding:clamp(60px, 6.8vw, 96px) var(--page-pad) clamp(66px, 7.2vw, 102px)}.section-heading{margin-bottom:clamp(32px,4vw,50px)}.section-heading>p:last-child{margin-top:18px}.hero{min-height:92svh}.photo-moment{min-height:max(620px,76svh)}.invitation-copy,.dress,.gift{min-height:70svh}.countdown{min-height:78svh}.rsvp{min-height:auto}.travel-interlude{min-height:auto;padding-block:clamp(50px,6vw,74px)}.tracked-date,.eyebrow{font-size:clamp(.75rem,1.25vw,.9rem)}.intro-heading:before,.card-kicker{font-size:11px}.card-date{font-size:.82rem}.open-cue,.skip-intro{font-size:10px}.section-number{margin-bottom:16px;font-size:12px;font-weight:500}.tiny-label{opacity:.96;font-size:12px}.event-card>p{font-size:12px;font-weight:500}.countdown-copy p,.countdown-date,.countdown-unit span{font-size:11px}.invitation-copy .section-number,.gift .section-number{color:#72531f;font-weight:600}.botanical .stem--secondary{opacity:.72;width:62%;height:72%;top:18%;left:30%;transform:rotate(-53deg)}.botanical .leaf--4{width:25%;top:34%;left:53%;transform:rotate(18deg)scaleX(-1)}.botanical .bloom--3{width:14%;animation-delay:-4s;top:76%;left:30%}.botanical .berry{aspect-ratio:1;opacity:.72;background:currentColor;border-radius:50%;width:5%;animation:7s ease-in-out infinite reverse botanicalFloat;position:absolute;box-shadow:8px 6px 0 -1px,2px 14px 0 -1px}.botanical .berry--1{top:37%;left:66%}.botanical .berry--2{animation-delay:-2s;top:57%;left:25%;transform:scale(.75)}.botanical .berry--3{animation-delay:-4s;top:77%;left:82%;transform:scale(.6)}.botanical__motif{color:currentColor;opacity:.65;font:1rem/1 Georgia,serif;animation:4.5s ease-in-out infinite motifGlow;position:absolute;left:50%;transform:translate(-50%)}.botanical__motif--top{top:2px}.botanical__motif--bottom{color:var(--gold);animation-delay:-2s;bottom:2px}.botanical__mote{color:var(--gold);opacity:.58;font:.75rem/1 Georgia,serif;animation:6s ease-in-out infinite moteDrift;position:absolute}.botanical__mote--one{top:24%;right:7%}.botanical__mote--two{animation-delay:-3s;bottom:27%;left:8%}.botanical--gold .bloom{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.botanical--gold .bloom{background:color-mix(in srgb, var(--gold) 12%, transparent)}}.botanical--white .leaf{background:#f8f4ec14}.botanical--white .botanical__mote,.botanical--white .botanical__motif--bottom{color:var(--ivory)}@keyframes motifGlow{50%{opacity:1;transform:translate(-50%)scale(1.2)rotate(10deg)}}@keyframes moteDrift{50%{opacity:.95;transform:translateY(-8px)rotate(18deg)}}.event{background:linear-gradient(180deg, var(--ivory) 0%, #f4eee4 100%)}.event .section-heading{max-width:880px}.event-cards{margin-bottom:clamp(28px,3.2vw,42px)}.event-card{min-height:330px;padding:clamp(34px,4vw,54px);transition:background .35s,transform .35s,box-shadow .35s}.event-card:hover{z-index:3;background:#ffffff85;transform:translateY(-5px);box-shadow:0 18px 42px #17324d14}.event-card time{margin-bottom:18px}.event-card h3{margin-bottom:7px}.event-card__city{color:#5d7183;font-size:1.12rem}.event-card__actions{grid-template-columns:1fr 1fr;gap:10px;width:min(100%,350px);margin-top:25px;display:grid}.event-card__actions a{min-height:48px;color:var(--midnight);letter-spacing:.08em;text-transform:uppercase;border:1px solid #17324d4d;justify-content:center;align-items:center;gap:8px;font:500 12px/1 Marcellus,serif;text-decoration:none;transition:background .25s,color .25s,transform .25s;display:flex}.event-card__actions a:hover{background:var(--midnight);color:var(--ivory);transform:translateY(-2px)}.event-card__actions i{font:1rem/1 Georgia,serif;transition:transform .25s}.event-card__actions a:hover i{transform:translate(2px,-2px)}.event-map{z-index:2;aspect-ratio:16/9;background:var(--midnight);border:1px solid #c9a66799;width:min(1100px,100%);margin:0 auto clamp(34px,4vw,50px);display:block;position:relative;overflow:hidden;box-shadow:0 25px 55px #17324d21}.event-map:before{content:"";z-index:1;pointer-events:none;border:1px solid #c9a66752;position:absolute;inset:14px}.event-map img{object-fit:contain;width:100%;height:100%;display:block}.gift-kicker{letter-spacing:.24em;text-transform:uppercase;color:#72531f!important;margin:0 0 18px!important;font:600 14px/1 Marcellus,serif!important}.gift-envelope{color:inherit;cursor:pointer;appearance:none;border:0;padding:0;animation:7s ease-in-out infinite envelopeGlow}.gift-envelope:focus-visible{outline:2px solid var(--gold-dark);outline-offset:10px}.gift-envelope__flap{transform-origin:50% 0;transition:transform .6s cubic-bezier(.22,1,.36,1)}.gift-envelope:hover .gift-envelope__flap,.gift-envelope:focus-visible .gift-envelope__flap{transform:rotateX(16deg)}@keyframes envelopeGlow{50%{filter:drop-shadow(0 26px 30px #122f4847)brightness(1.035)}}.gift-modal-note{border-top:1px solid #c9a6678c;border-bottom:1px solid #c9a6678c;max-width:410px;padding:16px 18px;line-height:1.45;color:var(--midnight)!important;margin:0 auto 22px!important;font-size:1.08rem!important}.dress-ornament>span{transform-origin:50%;animation:4s ease-in-out infinite ornamentLine}@keyframes ornamentLine{50%{opacity:.55;transform:scaleX(.72)}}@media (width<=680px){:root{--page-pad:22px}body{font-size:18px}.section-pad{padding:56px 22px 62px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:clamp(3rem,14.4vw,4.35rem)}.hero{gap:30px;min-height:94svh;padding:74px 22px 58px}.portrait-placeholder{width:min(79.2vw,35.5svh,348px);max-height:none}.invitation-copy{gap:20px;min-height:auto;padding-block:62px}.photo-moment{min-height:0}.travel-interlude{gap:18px;min-height:auto;padding:48px 22px}.travel-photos{gap:10px;margin-top:2px}.travel-photo{width:min(41vw,170px)}.travel-photo__frame{padding:5px}.travel-photo__frame:after{inset:5px}.botanical__motif{font-size:.86rem}.botanical__mote--one{right:11%}.botanical__mote--two{left:11%}.event-card{min-height:auto;padding:36px 20px 34px}.event-card time{font-size:3.7rem}.event-card__actions{margin-top:22px}.event-card__actions a{min-height:52px;font-size:11px}.event-map{margin-bottom:32px}.event-map:before{inset:9px}.dress,.gift,.countdown,.rsvp{min-height:auto}.gift{gap:34px}.gift-envelope{width:min(78%,330px)}.countdown{padding-block:68px}.countdown-after{margin-top:36px}.countdown-date{margin-top:30px}.rsvp{padding-block:60px 66px}footer{min-height:auto;padding-block:74px}.modal .gift-modal-note{font-size:1.02rem!important}.breb-qr{width:min(300px,92%)}}@media (width<=380px){.section-pad{padding-inline:19px}.event-card__actions{grid-template-columns:1fr}}footer>.footer-botanical.footer-botanical{z-index:1;width:auto;height:auto;position:absolute;inset:0}.rsvp-companion img.rsvp-companion__portrait{object-position:50% 100%;width:auto;max-width:90%;height:clamp(500px,42vw,560px);max-height:none}@media (width>=681px) and (width<=860px){.rsvp-layout{grid-template-columns:1fr;gap:30px}.rsvp-companion{border-bottom:1px solid #c9a6678c;border-right:0;justify-self:center;width:min(72vw,500px);min-height:430px}.rsvp-companion:after{top:auto;bottom:0;right:50%;transform:translate(50%,50%)}.rsvp-companion__halo{width:94%;bottom:3%;left:50%}.rsvp-companion img.rsvp-companion__portrait{width:auto;max-width:88%;height:460px;max-height:none}.rsvp-sprig--top{top:1%;right:2%}.rsvp-sprig--bottom{bottom:-1%;left:2%;right:auto}.rsvp-content{padding-top:12px}}@media (width<=680px){.rsvp-companion img.rsvp-companion__portrait{width:auto;max-width:84%;height:min(390px,104vw);max-height:none}}
