:root{--ivory:#faf7f1;--ivory-deep:#f3eee3;--soft-white:#fff;--beige:#e9e0d1;--champagne:#d2bd93;--champagne-deep:#b6915c;--ink:#2a2620;--ink-soft:#6b6354;--ink-faint:#9a9182;--line:#2a26201f;--line-soft:#2a262012;--gold-line:#b6915c8c;--font-display:"Cormorant Garamond", serif;--font-body:"Jost", sans-serif;--container:1180px;--container-narrow:760px;--gutter:clamp(24px, 6vw, 64px);--section-pad:clamp(72px, 11vw, 160px);--ease:cubic-bezier(.22, 1, .36, 1);--dur:.9s}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body,h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,textarea{font:inherit}body{background:var(--ivory);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.7;overflow-x:hidden}::selection{background:var(--champagne);color:var(--ink)}:focus-visible{outline:1.5px solid var(--champagne-deep);outline-offset:4px}.eyebrow{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--champagne-deep);font-size:12px;font-weight:500}.eyebrow--light{color:var(--champagne)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:.01em;font-weight:500}.display-1{font-size:clamp(48px,9vw,108px);font-weight:500;line-height:1.05}.display-2{font-size:clamp(34px,5.4vw,64px);font-weight:500;line-height:1.1}.display-3{font-size:clamp(26px,3.2vw,38px);font-weight:500;line-height:1.2}.display-4{font-size:clamp(20px,2.2vw,26px);font-style:italic;font-weight:500}.lede{font-family:var(--font-display);color:var(--ink-soft);font-size:clamp(19px,2vw,24px);font-style:italic;font-weight:400;line-height:1.6}p{color:var(--ink-soft);font-size:16px}.p-large{font-size:18px}.p-small{font-size:14px}.container{width:100%;max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.container--narrow{max-width:var(--container-narrow)}section{padding:var(--section-pad) 0;position:relative}.section-head{text-align:center;max-width:640px;margin:0 auto clamp(48px,7vw,88px)}.section-head .eyebrow{margin-bottom:18px;display:block}.section-head h2{margin-bottom:18px}.section-head p{max-width:520px;margin:0 auto}.divider{background:linear-gradient(to bottom, transparent, var(--gold-line) 50%, transparent);width:1px;height:56px;margin:0 auto 28px}.monogram{justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;display:inline-flex}.monogram svg{filter:drop-shadow(0 4px 10px #b6915c59);width:100%;height:100%}.monogram--sm{width:40px;height:40px}.bg-ivory{background:var(--ivory)}.bg-deep{background:var(--ivory-deep)}.bg-white{background:var(--soft-white)}.bg-ink{background:var(--ink);color:var(--ivory)}.bg-ink h2,.bg-ink h3,.bg-ink h4{color:var(--ivory)}.bg-ink p{color:#faf7f1b8}.bg-ink .eyebrow{color:var(--champagne)}.section-border-top{border-top:1px solid var(--line)}.btn{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;transition:background-color .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease);border-radius:25px;justify-content:center;align-items:center;gap:10px;padding:10px 30px;font-size:11.5px;font-weight:700;display:inline-flex}.btn-primary{background:var(--ink);color:var(--ivory);border:1px solid var(--ink)}.btn-primary:hover{background:var(--champagne-deep);border-color:var(--champagne-deep);transform:translateY(-3px);box-shadow:0 14px 28px -10px #b6915c66}.btn-outline{color:var(--ivory);background:0 0;border:1px solid #faf7f18c}.btn-outline:hover{border-color:var(--ivory);background:#faf7f11f;transform:translateY(-3px);box-shadow:0 14px 28px -12px #00000059}.btn-outline-dark{color:var(--ink);border:1px solid var(--line);background:0 0}.btn-outline-dark:hover{border-color:var(--champagne-deep);color:var(--champagne-deep);transform:translateY(-3px);box-shadow:0 14px 28px -12px #b6915c40}.btn-gold{background:var(--champagne-deep);color:var(--soft-white);border:1px solid var(--champagne-deep)}.btn-gold:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-3px);box-shadow:0 14px 28px -10px #2a262066}.btn-lg{padding:10px 30px;font-size:12px}.btn-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:55px;display:flex}.nav{z-index:500;padding:26px var(--gutter);transition:background-color .6s var(--ease), padding .6s var(--ease), border-color .6s var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav.is-scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--line);background:#faf7f1eb;padding-top:16px;padding-bottom:16px}.nav-mark{transition:transform .4s var(--ease);align-items:center;display:inline-flex;position:relative}.nav-mark:after{content:"";opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);pointer-events:none;background:radial-gradient(circle,#b6915c59 0%,#b6915c00 70%);border-radius:50%;position:absolute;inset:-10px;transform:scale(.7)}.nav-mark:hover{transform:scale(1.1)}.nav-mark:hover:after{opacity:1;transform:scale(1)}.nav.is-scrolled .nav-mark{color:var(--ink)}.nav-links{align-items:center;gap:clamp(28px,4vw,52px);display:flex}.nav-links a{letter-spacing:.18em;text-transform:uppercase;color:#faf7f1d9;transition:color .5s var(--ease);padding-bottom:4px;font-size:11.5px;font-weight:500;position:relative}.nav.is-scrolled .nav-links a{color:var(--ink-soft)}.nav-links a:after{content:"";width:0;height:1px;transition:width .4s var(--ease);background:currentColor;position:absolute;bottom:0;left:0}.nav-links a:hover:after{width:100%}.nav-links a:not(.nav-cta):hover{color:var(--champagne-deep)!important}.nav-cta{letter-spacing:.2em;text-transform:uppercase;border:1px solid #faf7f199;border-radius:20px;padding:11px 24px;font-weight:500;transition:background-color .4s ease-in-out,border-color .4s ease-in-out,color .4s ease-in-out,transform .3s ease-in-out;color:var(--ivory)!important;font-size:11px!important}.nav-cta:after{display:none}.nav.is-scrolled .nav-cta{border-color:var(--ink);color:var(--ink)!important}.nav-cta:hover{background:var(--champagne-deep);transform:scale(1.06);border-color:var(--champagne-deep)!important;color:var(--soft-white)!important}.nav.is-scrolled .nav-cta:hover{color:var(--soft-white)!important}.nav-toggle{z-index:600;width:26px;height:18px;display:none;position:relative}.nav-toggle span{background:var(--ivory);height:1px;transition:all .4s var(--ease);position:absolute;left:0;right:0}.nav.is-scrolled .nav-toggle span{background:var(--ink)}.nav-toggle span:first-child{top:0}.nav-toggle span:nth-child(2){top:8px}.nav-toggle span:nth-child(3){top:16px}.nav-toggle.is-open span:first-child{top:8px;transform:rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){top:8px;transform:rotate(-45deg)}body.menu-open .nav-toggle span{background:var(--ink)!important}.mobile-menu{z-index:450;background:var(--ivory);transition:transform .6s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0;transform:translateY(-100%)}body.menu-open .mobile-menu{transform:translateY(0)}.mobile-menu a{font-family:var(--font-display);color:var(--ink);font-size:28px}.mobile-menu .nav-cta{border-color:var(--ink);margin-top:18px;color:var(--ink)!important}.hero{width:100%;height:100vh;min-height:560px;color:var(--ivory);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-media{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.hero-media video,.hero-media img{object-fit:cover;object-position:center 45%;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.02)}.hero-media:after{content:"";background:linear-gradient(#14110c6b 0%,#14110c4d 38%,#14110c8c 100%);position:absolute;inset:0}.hero-media video::-webkit-media-controls{display:none!important}.hero-media video::-webkit-media-controls-enclosure{display:none!important}.hero-media video::-webkit-media-controls-panel{display:none!important}.hero-content{z-index:5;text-align:center;padding:clamp(60px, 10vh, 100px) var(--gutter) 0;max-width:920px;position:relative}.hero-content .monogram{opacity:.92;transition:transform .4s var(--ease);margin-bottom:22px;position:relative}.hero-content .monogram:after{content:"";opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);pointer-events:none;background:radial-gradient(circle,#ead3a059 0%,#ead3a000 70%);border-radius:50%;position:absolute;inset:-14px;transform:scale(.7)}.hero-content .monogram:hover{transform:scale(1.08)}.hero-content .monogram:hover:after{opacity:1;transform:scale(1)}.hero-eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--champagne);margin-bottom:20px;font-size:12.5px}.hero-title{letter-spacing:1px;color:var(--ivory);max-width:660px;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:clamp(50px,7vw,80px);font-weight:500;line-height:1}.hero-title .amp{color:#ead3a0;text-shadow:0 0 24px #ead3a073;padding:0 12px;font-style:italic;font-weight:500}.hero-date{letter-spacing:.24em;text-transform:uppercase;color:#faf7f1db;margin-top:22px;font-size:15px}.hero-date span{color:var(--champagne);padding:0 10px}.hero-actions{margin-top:44px}.hero-scroll{z-index:5;color:#faf7f1bf;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero-scroll .line{background:#faf7f180;width:1px;height:40px;position:relative;overflow:hidden}.hero-scroll .line:after{content:"";background:var(--champagne);width:100%;height:100%;animation:scrollLine 2.4s var(--ease) infinite;position:absolute;top:-100%;left:0}@keyframes scrollLine{0%{top:-100%}60%{top:100%}to{top:100%}}.hero-scroll span{letter-spacing:.24em;text-transform:uppercase;font-size:10px}.countdown-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(#efe3d3 0%,#f8f5f0 60%,#fbf8f5 100%);padding:clamp(44px,6vw,72px) 0;position:relative;overflow:hidden}.countdown-strip:before{content:"";z-index:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.countdown-strip .container{z-index:1;position:relative}.countdown-head{text-align:center;margin-bottom:clamp(48px,6.5vw,68px)}.countdown-title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-top:18px;font-size:clamp(20px,2.4vw,28px);font-weight:500}.countdown-tagline{font-family:var(--font-display);color:var(--ink-soft);margin-top:12px;font-size:16px;font-style:italic}.countdown-divider{color:#f3dca0;justify-content:center;align-items:center;gap:18px;display:flex}.countdown-divider svg{filter:drop-shadow(0 0 10px #ead3a0e6)drop-shadow(0 0 26px #ead3a099)drop-shadow(0 0 44px #ead3a059);animation:2s ease-in-out infinite sparkleTwinkle}@keyframes sparkleTwinkle{0%,to{opacity:.8;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.6)rotate(30deg)}}.countdown-divider-line{background:linear-gradient(to right, transparent, var(--champagne-deep) 50%, transparent);width:90px;height:1.5px;position:relative;overflow:hidden}.countdown-divider-line:after{content:"";background:linear-gradient(90deg,#0000,#fffaeb,#0000);width:50%;height:100%;animation:2.6s ease-in-out infinite shimmerSweep;position:absolute;top:0;left:-100%}@keyframes shimmerSweep{0%{left:-100%}to{left:200%}}.countdown{flex-wrap:wrap;justify-content:center;gap:clamp(14px,3vw,28px);display:flex;position:relative}.countdown-unit{text-align:center;-webkit-backdrop-filter:blur(8px);background:#ffffffbf;border:1px solid #d7be9140;border-radius:18px;min-width:84px;padding:clamp(10px,1.4vw,16px) clamp(14px,2vw,20px);box-shadow:0 12px 30px #0000000d}.countdown-num{font-family:var(--font-display);color:var(--ink);animation:countFade .5s var(--ease);font-size:clamp(32px,4.4vw,48px);font-weight:500;line-height:1}@keyframes countFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.countdown-label{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-top:8px;font-size:10px;font-weight:500}.countdown-foot{text-align:center;margin-top:clamp(24px,3.5vw,38px)}.countdown-signature{font-family:var(--font-display);color:var(--ink-soft);letter-spacing:.02em;margin-top:16px;font-size:16px;font-style:italic}.countdown-signature span{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px;font-size:10.5px;font-style:normal;display:block}.intro-invite{background-image:url(/assets/intro-bg.jpg);background-position:50%;background-size:cover;padding:clamp(56px,7vw,96px) 0;position:relative;overflow:hidden}.invite-content{z-index:1;max-width:900px;margin:0 auto;position:relative}.invite-card-note{letter-spacing:.04em;color:var(--ink-faint);margin-top:10px;font-family:Inter,sans-serif;font-size:11px;font-style:italic;line-height:1.6}.invite-reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)scale(.97)}.invite-reveal.is-visible{opacity:1;transform:translateY(0)scale(1)}.invite-reveal--delay{transition-delay:.18s}.invite-header{text-align:center;max-width:560px;margin:0 auto clamp(32px,4vw,48px)}.invite-header .eyebrow{margin-bottom:16px;display:block}.invite-heading{font-family:var(--font-display);color:var(--ink);font-size:clamp(30px,4.6vw,46px);font-weight:500;line-height:1.18}.invite-heading-script{color:var(--champagne-deep);text-shadow:0 0 26px #ead3a066;margin-top:5px;font-size:clamp(30px,5.4vw,56px);font-style:italic;font-weight:500;display:inline-block}.invite-sub{color:var(--ink-soft);margin-top:22px;font-family:Inter,sans-serif;font-size:15.5px;line-height:1.75}.invite-card{text-align:center;border:1px solid var(--champagne);background:#fdfaf4;border-radius:20px;max-width:480px;margin:0 auto;padding:clamp(24px,5vw,30px) clamp(24px,3.5vw,36px) clamp(18px,2.5vw,24px);position:relative;box-shadow:0 50px 90px -40px #2a262042,0 16px 32px -16px #2a26201a}.invite-card:before{content:"";border:1px solid var(--gold-line);opacity:.5;pointer-events:none;border-radius:11px;position:absolute;inset:12px}.invite-card-leaf{color:#785f371a;pointer-events:none;width:70px;height:92px;position:absolute}.invite-card-leaf--tr{top:6px;right:6px}.invite-card-leaf--bl{bottom:6px;left:6px;transform:rotate(180deg)}.wax-seal{z-index:2;filter:drop-shadow(0 12px 18px #2a262059);width:72px;height:auto;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.invite-card-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--champagne-deep);margin-top:12px;font-size:10.5px;font-weight:500;position:relative}.invite-card-date{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);margin-top:4px;font-size:clamp(20px,2.6vw,27px);font-weight:500;position:relative}.invite-card-location{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:11.5px;font-weight:500;position:relative}.invite-bowtie{color:var(--champagne-deep);margin:8px auto 6px;display:block;position:relative}.invite-card-dress{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;font-weight:500;position:relative}.invite-card-btn{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:#3a2a14;transition:transform .4s var(--ease), box-shadow .4s var(--ease);background:linear-gradient(#e9c988 0%,#c99a53 55%,#b6843d 100%);border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:11px 26px;font-size:10.5px;font-weight:500;display:inline-flex;position:relative;box-shadow:0 14px 28px -12px #8c642873,inset 0 1px #ffffff80}.invite-card-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px #8c64288c,inset 0 1px #fff9}.invite-flourish,.invite-card-divider{color:#f3dca0;justify-content:center;align-items:center;gap:10px;display:flex;position:relative}.invite-flourish{margin-bottom:18px}.invite-card-divider{margin:8px 0}.invite-flourish svg,.invite-card-divider svg{filter:drop-shadow(0 0 8px #ead3a0e6)drop-shadow(0 0 20px #ead3a08c)drop-shadow(0 0 34px #ead3a04d);animation:2s ease-in-out infinite sparkleTwinkle}.invite-flourish-line,.invite-card-divider span{background:linear-gradient(to right, transparent, var(--champagne-deep) 50%, transparent);height:1.5px;position:relative;overflow:hidden}.invite-flourish-line{width:56px}.invite-card-divider span{width:50px}.invite-flourish-line:after,.invite-card-divider span:after{content:"";background:linear-gradient(90deg,#0000,#fffaeb,#0000);width:50%;height:100%;animation:2.6s ease-in-out infinite shimmerSweep;position:absolute;top:0;left:-100%}.timeline{max-width:980px;margin:0 auto;position:relative}.timeline-track{background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-track:before{content:"";background:var(--champagne-deep);width:1px;height:0%;transition:height 1.6s var(--ease);position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline.is-inview .timeline-track:before{height:100%}.timeline-item{grid-template-columns:1fr 80px 1fr;align-items:center;width:100%;margin-bottom:clamp(118px,9vw,164px);display:grid;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-card{padding:8px 0}.timeline-item:nth-child(odd) .timeline-card{text-align:right;grid-column:1;padding-right:clamp(24px,4vw,56px)}.timeline-item:nth-child(odd) .timeline-photo{grid-column:3}.timeline-item:nth-child(2n) .timeline-card{text-align:left;grid-column:3;padding-left:clamp(24px,4vw,56px)}.timeline-item:nth-child(2n) .timeline-photo{grid-column:1}.timeline-node{z-index:2;grid-column:2;justify-content:center;width:100%;display:flex}.timeline-dot{background:var(--ivory);border:1.5px solid var(--champagne-deep);border-radius:50%;width:11px;height:11px;position:relative}.timeline-dot:after{content:"";border:1px solid var(--gold-line);opacity:0;transition:opacity .6s var(--ease);border-radius:50%;position:absolute;inset:-8px}.timeline-item.is-visible .timeline-dot:after{opacity:1}.timeline-date{letter-spacing:.28em;text-transform:uppercase;color:var(--champagne-deep);text-shadow:0 0 18px #ead3a04d;margin-bottom:14px;font-size:11px;font-weight:600;display:block}.timeline-card h3{margin-bottom:12px;font-size:clamp(26px,3.2vw,34px)}.timeline-card p{font-size:15px}.photo-placeholder{aspect-ratio:4/5;background:linear-gradient(155deg, var(--beige) 0%, var(--ivory-deep) 55%, var(--beige) 100%);border:1px solid var(--line);border-radius:16px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px -28px #2a262038}.photo-placeholder:before{content:"";border:1px solid var(--gold-line);opacity:.5;z-index:2;border-radius:10px;position:absolute;inset:10px}.photo-placeholder img{object-fit:cover;object-position:top;width:100%;height:100%;position:absolute;inset:0}.photo-placeholder .ph-inner{color:var(--ink-faint);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:20px;display:flex}.photo-placeholder .ph-inner svg{opacity:.7;width:34px;height:34px}.photo-placeholder .ph-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.photo-placeholder.ratio-square{aspect-ratio:1}.photo-placeholder.ratio-wide{aspect-ratio:16/10}.photo-placeholder.ratio-portrait{aspect-ratio:3/4}.story-personal{text-align:center;border-top:1px solid var(--line);max-width:680px;margin-top:clamp(64px,8vw,110px);margin-left:auto;margin-right:auto;padding-top:clamp(48px,6vw,80px)}.story-personal .lede{margin-bottom:0}#details{padding:clamp(56px,7vw,100px) 0}.details-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid}.details-card{background:var(--soft-white);border:1px solid var(--line);border-radius:20px;padding:clamp(28px,4vw,44px);box-shadow:0 30px 60px -32px #2a26202e}.details-row{border-bottom:1px solid var(--line-soft);gap:20px;padding:18px 0;display:flex}.details-row:first-child{padding-top:0}.details-row:last-child{border-bottom:none;padding-bottom:0}.details-row .icon{width:22px;height:22px;color:var(--champagne-deep);flex-shrink:0;margin-top:3px}.details-row .icon svg{width:100%;height:100%}.details-row h4{font-size:12px;font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;font-weight:500}.details-row .val{font-family:var(--font-display);color:var(--ink);font-size:21px;line-height:1.45}.details-row .val small{font-family:var(--font-body);color:var(--ink-soft);letter-spacing:.02em;margin-top:4px;font-size:13px;display:block}.map-placeholder{aspect-ratio:4/5;background:var(--ivory-deep);border:1px solid var(--line);border-radius:20px;width:100%;position:relative;overflow:hidden;box-shadow:0 30px 60px -32px #2a26202e}.map-placeholder .map-grid{background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);opacity:.9;background-size:32px 32px;position:absolute;inset:0}.map-placeholder .map-content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:32px;display:flex;position:relative}.map-pin{width:38px;height:38px;color:var(--champagne-deep)}.map-pin svg{width:100%;height:100%}.map-content .addr{font-family:var(--font-display);color:var(--ink);max-width:280px;font-size:19px}.map-content .note{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.map-content .btn{margin-top:6px}.details-actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.6vw,18px);display:grid}.gallery-item .photo-placeholder{aspect-ratio:4/5}.gallery-item:nth-child(3n+1) .photo-placeholder{aspect-ratio:3/4}.gallery-item{transition:transform .5s var(--ease)}.gallery-item:hover{transform:translateY(-4px)}.gallery-tabs{flex-wrap:wrap;justify-content:center;gap:clamp(16px,3vw,36px);margin-bottom:clamp(36px,5vw,56px);display:flex}.gallery-tabs button{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);transition:color .4s var(--ease), border-color .4s var(--ease);border-bottom:1px solid #0000;padding-bottom:10px;font-size:11.5px}.gallery-tabs button.is-active,.gallery-tabs button:hover{color:var(--ink);border-color:var(--champagne-deep)}.video-section-grid{grid-template-columns:minmax(240px,380px) 1fr;align-items:center;gap:clamp(40px,6vw,80px);max-width:980px;margin:0 auto;display:grid}.video-feature{aspect-ratio:9/16;background:linear-gradient(155deg, var(--beige), var(--ivory-deep));border:1px solid var(--line);width:100%;max-width:380px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #b6915c4d,0 8px 24px #2a262014}.video-feature:before{content:"";border:1px solid var(--gold-line);opacity:.55;z-index:1;pointer-events:none;position:absolute;inset:14px}.video-feature video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.video-poster-overlay{object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.video-poster-overlay.is-visible{opacity:1}.play-btn{z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:64px;height:64px;transition:transform .5s var(--ease), background .5s var(--ease);background:#2a262047;border:1px solid #faf7f1d9;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}.play-btn:hover{transform:translate(-50%,-50%)scale(1.07)}.play-btn svg{width:18px;height:18px;color:var(--ivory);margin-left:2px}.video-caption{text-align:left}.video-caption .lede{margin-bottom:28px}.video-caption .signature{font-family:var(--font-display);color:var(--ink);font-size:19px;font-style:italic}.video-caption .signature small{font-style:normal;font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;font-size:11px;display:block}@media (width<=860px){.video-section-grid{text-align:center;grid-template-columns:1fr}.video-caption{text-align:center}}#dresscode{padding:clamp(56px,8vw,100px) 0}.dresscode-feature{text-align:center;position:relative}.dresscode-feature .display-1{color:var(--ink);font-size:clamp(40px,7vw,84px)}.dresscode-grid{grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,48px);max-width:980px;margin-top:clamp(32px,3vw,56px);margin-left:auto;margin-right:auto;display:grid}.dresscode-card{border-top:1px solid var(--gold-line);padding:clamp(20px,3vw,28px) 18px}.dresscode-card .icon{width:30px;height:30px;color:var(--champagne-deep);justify-content:center;align-items:center;margin:0 auto 14px;display:inline-flex}.dresscode-card .icon svg{width:100%;height:100%}.dresscode-card h4{letter-spacing:.22em;text-transform:uppercase;font-size:11px;font-family:var(--font-display);color:var(--champagne-deep);margin-bottom:8px;font-style:italic;font-weight:500}.dresscode-card p{font-size:13px}#rsvp{padding:clamp(56px,5vw,100px) 0}.rsvp-section{text-align:center}.rsvp-section .container{max-width:720px}.rsvp-section .display-2{margin-bottom:18px}.rsvp-section .lede{margin-bottom:28px}.rsvp-deadline{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--champagne);margin-top:24px;font-size:13px;font-style:italic;font-weight:500}.rsvp-flourish{color:#f3dca0;justify-content:center;align-items:center;gap:14px;margin-bottom:18px;display:flex}.rsvp-flourish svg{filter:drop-shadow(0 0 8px #ead3a0e6)drop-shadow(0 0 20px #ead3a08c);animation:2s ease-in-out infinite sparkleTwinkle}.rsvp-flourish-line{background:linear-gradient(to right, transparent, var(--champagne-deep) 50%, transparent);width:56px;height:1.5px;position:relative;overflow:hidden}.rsvp-flourish-line:after{content:"";background:linear-gradient(90deg,#0000,#fffaeb,#0000);width:50%;height:100%;animation:2.6s ease-in-out infinite shimmerSweep;position:absolute;top:0;left:-100%}#travel{background:linear-gradient(#efe3d3 0%,#f8f5f0 60%,#fbf8f5 100%);padding:clamp(56px,8vw,100px) 0;position:relative;overflow:hidden}#travel:before{content:"";z-index:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}#travel .container{z-index:1;position:relative}.travel-grid{grid-template-columns:repeat(2,1fr);gap:clamp(24px,3.5vw,44px);display:grid}.travel-card{background:var(--soft-white);border:1px solid var(--line);height:100%;transition:transform .5s var(--ease), box-shadow .5s var(--ease);border-radius:18px;padding:clamp(24px,3.5vw,36px);box-shadow:0 24px 48px -28px #2a262024}.travel-card:hover{transform:translateY(-6px);box-shadow:0 32px 60px -26px #2a262038}.travel-card .icon{width:26px;height:26px;color:var(--champagne-deep);justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.travel-card .icon svg{width:100%;height:100%}.travel-card h3{margin-bottom:8px;font-size:22px}.travel-card .tag{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;font-size:11px;display:block}.travel-card p{font-size:15px}.travel-card a.link{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--champagne-deep);transition:color .4s var(--ease);align-items:center;gap:8px;margin-top:14px;padding-bottom:4px;font-size:11.5px;display:inline-flex}.travel-card a.link:hover{color:var(--champagne-deep)}#faq{background:linear-gradient(#efe3d3 0%,#f8f5f0 60%,#fbf8f5 100%);position:relative;overflow:hidden}#faq:before{content:"";z-index:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}#faq .container{z-index:1;position:relative}.faq-list{max-width:760px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line);transition:background .4s var(--ease)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item:hover{background:#b6915c0d}.faq-q{text-align:left;align-items:center;gap:20px;width:100%;padding:26px 4px;display:flex}.faq-num{width:24px;font-family:var(--font-display);color:var(--gold-line);flex-shrink:0;font-size:16px;font-style:italic}.faq-q h4{font-family:var(--font-display);color:var(--ink);transition:color .4s var(--ease);flex:1;font-size:20px;font-weight:500}.faq-item.is-open .faq-q h4{color:var(--champagne-deep)}.faq-q .plus{border:1px solid var(--gold-line);width:32px;height:32px;transition:background .4s var(--ease), border-color .4s var(--ease);border-radius:50%;flex-shrink:0;position:relative}.faq-q .plus:before,.faq-q .plus:after{content:"";background:var(--champagne-deep);transition:transform .4s var(--ease), opacity .4s var(--ease), background .4s var(--ease);position:absolute}.faq-q .plus:before{width:12px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-q .plus:after{width:1px;height:12px;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-item.is-open .plus{background:var(--champagne-deep);border-color:var(--champagne-deep)}.faq-item.is-open .plus:before{background:var(--ivory)}.faq-item.is-open .plus:after{background:var(--ivory);opacity:0;transform:translate(-50%,-50%)rotate(90deg)}.faq-a{max-height:0;transition:max-height .5s var(--ease);overflow:hidden}.faq-a-inner{max-width:600px;padding:0 4px 26px 52px}.faq-a-inner p{color:var(--ink-soft);font-size:15px;font-style:italic}#contact{border-top:1px solid var(--line);background:linear-gradient(#fbf8f5 0%,#f8f4ee 50%,#f3ebdf 100%);position:relative;overflow:hidden}#contact:before{content:"";z-index:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}#contact .container{z-index:1;position:relative}.contact-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,40px);max-width:980px;margin:0 auto;display:grid}.contact-card{background:var(--soft-white);border:1px solid var(--line);transition:transform .5s var(--ease), box-shadow .5s var(--ease);border-radius:18px;padding:clamp(32px,4vw,44px) 24px;box-shadow:0 24px 48px -28px #2a262024}.contact-card:hover{transform:translateY(-6px);box-shadow:0 32px 60px -26px #2a262038}.contact-card .icon{width:50px;height:50px;color:var(--champagne-deep);border:1px solid var(--gold-line);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;display:inline-flex}.contact-card .icon svg{width:20px;height:20px}.contact-card h4{letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-family:var(--font-body);color:var(--champagne-deep);margin-bottom:12px;font-weight:500}.contact-card a,.contact-card p{font-family:var(--font-display);color:var(--ink);font-size:19px}.contact-card a{transition:border-color .4s var(--ease), color .4s var(--ease);border-bottom:1px solid #0000}.contact-card a:hover{border-color:var(--champagne-deep);color:var(--champagne-deep)}#gifts{background:linear-gradient(#efe3d3 0%,#f8f5f0 60%,#fbf8f5 100%);padding:clamp(48px,7vw,88px) 0;position:relative;overflow:hidden}#gifts:before{content:"";z-index:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}#gifts .container{z-index:1;position:relative}.gifts-head{text-align:center;max-width:640px;margin:0 auto clamp(32px,4vw,48px)}.gifts-intro{font-family:var(--font-display);color:var(--ink-soft);margin-top:20px;font-size:17px;font-style:italic;line-height:1.85}.gifts-flourish{color:#f3dca0;justify-content:center;align-items:center;gap:14px;margin:20px 0 0;display:flex}.gifts-flourish svg{filter:drop-shadow(0 0 8px #ead3a0e6)drop-shadow(0 0 20px #ead3a08c);animation:2s ease-in-out infinite sparkleTwinkle}.gifts-flourish-line{background:linear-gradient(to right, transparent, var(--champagne-deep) 50%, transparent);width:56px;height:1.5px;position:relative;overflow:hidden}.gifts-flourish-line:after{content:"";background:linear-gradient(90deg,#0000,#fffaeb,#0000);width:50%;height:100%;animation:2.6s ease-in-out infinite shimmerSweep;position:absolute;top:0;left:-100%}.gifts-card{-webkit-backdrop-filter:blur(8px);background:#ffffffbf;border:1px solid #d7be9159;border-radius:20px;max-width:520px;margin:0 auto;overflow:hidden;box-shadow:0 30px 60px -30px #2a262033,0 12px 24px -12px #2a262014}.gifts-card-inner{padding:clamp(28px,4vw,40px) clamp(24px,4vw,40px)}.gifts-card-label{font-family:var(--font-display);letter-spacing:.08em;color:var(--champagne-deep);text-align:center;margin-bottom:24px;font-size:15px;font-style:italic}.gifts-detail-row{justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.gifts-detail-key{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);flex-shrink:0;font-size:10.5px}.gifts-detail-val{font-family:var(--font-display);color:var(--ink);letter-spacing:.06em;font-size:21px;font-weight:500}.gifts-detail-copy{align-items:center;gap:12px;display:flex}.gifts-divider{background:linear-gradient(to right, transparent, var(--gold-line) 50%, transparent);height:1px}.gifts-copy-btn{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);border:1px solid var(--gold-line);cursor:pointer;transition:all .3s var(--ease);white-space:nowrap;background:0 0;border-radius:6px;padding:5px 12px;font-size:10px}.gifts-copy-btn:hover{background:var(--champagne-deep);color:var(--soft-white);border-color:var(--champagne-deep)}.gifts-footnote{font-family:var(--font-display);color:var(--ink-soft);border-top:1px solid var(--gold-line);background:linear-gradient(90deg,#b6915c0f,#b6915c1f,#b6915c0f);align-items:flex-start;gap:8px;padding:16px clamp(24px,4vw,40px);font-size:13.5px;font-style:italic;display:flex}.gifts-thanks{text-align:center;font-family:var(--font-display);color:var(--ink-soft);letter-spacing:.02em;margin-top:clamp(24px,3.5vw,36px);font-size:19px;font-style:italic}.footer{text-align:center;border-top:1px solid #faf7f11f;padding:clamp(40px,5vw,64px) 0 clamp(24px,3vw,32px)}.footer .monogram{margin-bottom:18px}.footer .thank-you{font-family:var(--font-display);color:var(--ivory);margin-bottom:20px;font-size:20px;font-style:italic}.footer-socials{justify-content:center;gap:14px;margin-bottom:22px;display:flex}.footer-socials a{width:36px;height:36px;transition:border-color .4s var(--ease), background .4s var(--ease);border:1px solid #faf7f14d;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer-socials a svg{width:14px;height:14px;color:var(--ivory)}.footer-socials a:hover{border-color:var(--champagne);background:#faf7f10f}.footer-flourish{color:var(--champagne);justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.footer-flourish-line{background:linear-gradient(90deg,#0000,#faf7f14d 50%,#0000);width:44px;height:1px}.footer-meta{letter-spacing:.12em;text-transform:uppercase;color:#faf7f173;font-size:11.5px}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(22px)}.reveal-stagger.is-visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>:first-child{transition-delay:50ms}.reveal-stagger.is-visible>:nth-child(2){transition-delay:.15s}.reveal-stagger.is-visible>:nth-child(3){transition-delay:.25s}.reveal-stagger.is-visible>:nth-child(4){transition-delay:.35s}.reveal-stagger.is-visible>:nth-child(5){transition-delay:.37s}.reveal-stagger.is-visible>:nth-child(6){transition-delay:.45s}.reveal-stagger.is-visible>:nth-child(7){transition-delay:.53s}.reveal-stagger.is-visible>:nth-child(8){transition-delay:.61s}@media (width<=1024px){.details-grid{grid-template-columns:1fr}.map-placeholder{aspect-ratio:16/9;order:-1}.travel-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.nav-links{display:none}.nav-toggle{display:block}.timeline-track{left:18px}.timeline-item{grid-template-columns:1fr;gap:18px;padding-left:48px}.timeline-node{grid-column:unset;width:auto;position:absolute;top:4px;left:18px;transform:translate(-50%)}.timeline-item:nth-child(odd) .timeline-card,.timeline-item:nth-child(2n) .timeline-card{text-align:left;grid-column:1;padding:0}.timeline-item:nth-child(odd) .timeline-photo,.timeline-item:nth-child(2n) .timeline-photo{grid-column:1}.timeline-photo{max-width:320px}.dresscode-grid{grid-template-columns:1fr;max-width:360px}.contact-grid{grid-template-columns:1fr;max-width:320px}}@media (width<=600px){section{padding:clamp(64px,16vw,110px) 0}.hero-title{font-size:clamp(38px,11vw,60px)}.hero-title .amp{margin:6px 0;padding:0;display:block}.hero-date span{display:inline-block}.countdown{gap:18px}.countdown-unit{min-width:56px}.details-card{padding:28px 22px}.gallery-grid{grid-template-columns:1fr;gap:16px}.wax-seal{width:56px;top:-26px}.map-placeholder{aspect-ratio:unset;min-height:unset;height:auto;overflow:visible}.map-placeholder .map-content{gap:10px;padding:28px 20px}.map-content .addr{font-size:15px}.map-pin{width:28px;height:28px}.gifts-card-inner{padding:24px 20px}.gifts-detail-row{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0}.gifts-detail-copy{justify-content:space-between;width:100%}.gifts-detail-val{font-size:18px}.gifts-footnote{padding:14px 20px}}@media (width<=768px){.details-grid{grid-template-columns:1fr}.map-placeholder{aspect-ratio:16/9;min-height:200px}.map-content{padding:20px}}
