:root{--ivory:#FAF4E9;--gold:#C5A16A;--ink:#38291C;--beige:#EDE0CC;--night:#15141B;--line:#c5a16a88;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--night);font-family:var(--serif);font-size:19px;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #876029;outline-offset:5px}button[disabled],fieldset:disabled button{cursor:not-allowed}svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.invitation-paper{max-width:1160px;margin:auto;position:relative;isolation:isolate;background:radial-gradient(ellipse at 30% 35%,#fffcf7 0,transparent 65%),var(--ivory);overflow:clip;box-shadow:0 0 100px #0005}.header{position:absolute;z-index:5;top:0;left:0;width:100%;padding:22px 6.5%;display:flex;justify-content:space-between;align-items:center;color:#f6dcab}.monogram{font-size:42px;letter-spacing:-4px;text-decoration:none;line-height:1;position:relative}.monogram span{font-size:.6em;letter-spacing:0}.monogram i{font-size:35px;display:block;position:absolute;right:-20px;bottom:-20px;letter-spacing:0;transform:rotate(-18deg)}.header-actions{display:flex;gap:25px;align-items:center}.languages{display:flex;border:1px solid #e4c081;border-radius:30px;background:#15141bd9;overflow:hidden}.languages button{border:0;background:none;color:#fff;padding:9px 17px;font-size:15px;min-height:44px}.languages button[aria-pressed=true]{background:linear-gradient(120deg,#e5bd7a,#f0d8b2);color:#38291c;border-radius:30px}.menu-toggle{background:#15141ba0;border:0;width:44px;height:44px;padding:8px;display:grid;align-content:center;gap:8px}.menu-toggle span{height:1px;background:#fff;display:block;width:28px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}nav{position:absolute;right:6%;top:88px;width:min(330px,88%);padding:20px;background:#faf4e9fa;color:var(--ink);border:1px solid var(--gold);box-shadow:0 15px 50px #0003}nav a{display:block;padding:12px;text-decoration:none;border-bottom:1px solid var(--line)}nav a:last-child{border:0}.venue-hero{width:100%;aspect-ratio:1024/420;position:relative;background-image:url('assets/invitation-reference.png');background-size:100% auto;background-position:center top;background-repeat:no-repeat;animation:photo 1.4s ease-out both}.venue-hero:before{content:'';position:absolute;inset:0 0 auto;height:17%;background:#11121b}.venue-hero:after{content:'';position:absolute;inset:70% 0 -2px;background:linear-gradient(transparent,var(--ivory))}.gold-frame{position:absolute;z-index:-1;inset:105px 3% 28px;border:1px solid var(--gold);border-radius:100px 100px 65px 65px;pointer-events:none}.gold-frame:after{content:'';position:absolute;inset:5px;border:1px solid #c5a16a55;border-radius:inherit}.floral{position:absolute;z-index:-1;pointer-events:none;top:310px;width:19%;height:405px;background-image:url('assets/invitation-reference.png');background-repeat:no-repeat;background-size:1160px auto;mask-image:linear-gradient(transparent,#000 10%,#000 80%,transparent);animation:floral 1.8s ease both}.floral-left{left:0;background-position:left -320px}.floral-right{right:0;background-position:right -320px}.intro{text-align:center;position:relative;margin-top:-9px;padding:0 17% 12px}.eyebrow{font-size:16px;font-weight:500;letter-spacing:.19em;text-transform:uppercase;margin:0 0 16px;line-height:1.7}.names{font-family:'Great Vibes',cursive;font-size:clamp(64px,9.7vw,114px);font-weight:400;line-height:1.1;margin:0;animation:rise 1.1s .15s both}.names>span:not(.amp){display:block}.names .amp{display:flex;align-items:center;justify-content:center;gap:22px;font-family:var(--serif);font-style:italic;font-size:.64em;color:#b48a48;line-height:.8;margin:4px 0 0}.amp i{height:1px;background:linear-gradient(90deg,transparent,#b48a48);width:28%}.amp i:last-child{transform:rotate(180deg)}html[lang=ru] .names{font-family:'Marck Script',var(--serif);font-size:clamp(58px,8.4vw,100px)}.ornament{color:#b48a48;font-size:48px;line-height:1;margin:8px 0}.open-link{display:inline-flex;gap:18px;align-items:center;text-decoration:none;border-bottom:1px solid var(--line);font-size:16px;padding:10px 6px 6px}.open-link:hover{color:#846027}.content{width:80%;margin-left:auto;margin-right:auto;position:relative}.details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;margin-top:25px;margin-bottom:30px}.detail{padding:5px 12px;min-width:0}.detail+.detail{border-left:1px solid var(--line)}.detail svg{color:#b48a48;width:34px;height:34px;margin-bottom:9px}.detail p{margin:0}.label{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#795d3b}.detail .label{margin-bottom:7px}.detail-value{font-weight:600;font-size:clamp(20px,2.5vw,28px);line-height:1.2}.detail p:last-child{font-size:16px;margin-top:6px}.detail .zone{font-family:var(--sans);font-size:10px!important}.address-card{display:flex;gap:24px;align-items:center;padding:20px 30px;border:1px solid var(--gold);border-radius:20px;background:linear-gradient(110deg,#fffaf1,#eddfca44);margin-bottom:14px;box-shadow:0 5px 20px #97723d08}.address-card svg{color:#ad833e}.address-card .label{margin:0 0 5px}address{font-style:normal;font-size:21px;line-height:1.35;overflow-wrap:anywhere}.map-card{display:grid;grid-template-columns:1.7fr 1fr;min-height:195px;border:5px solid #fff8ee;border-radius:25px;overflow:hidden;box-shadow:0 3px 24px #8f692322;background:#ede5d6}.map-fallback{padding:22px;text-align:center;background:radial-gradient(ellipse,#fbf5e9e6,#ece5d9),repeating-linear-gradient(35deg,transparent 0 30px,#c5a16a33 31px 32px)}.map-fallback svg{width:28px;height:28px;color:#9a7136}.map-fallback h3{margin:0;font-size:24px;font-weight:500}.map-fallback p{font-family:var(--sans);font-size:11px;margin:5px 0 10px}.text-link{font-size:16px;text-underline-offset:4px}.venue-detail{background-image:url('assets/invitation-reference.png');background-size:360% auto;background-position:84% 69%;border-left:4px solid #fff8ee;min-height:195px}.map-actions{display:flex;justify-content:center;gap:22px;margin-top:22px}.btn{border:1px solid #ac803b;border-radius:40px;display:inline-flex;justify-content:center;align-items:center;gap:13px;padding:13px 26px;min-height:54px;background:linear-gradient(115deg,#d4a34d,#9c7335);color:#38291c;text-decoration:none;font-size:19px;line-height:1.2;box-shadow:0 5px 15px #a77c3522;transition:transform .2s,box-shadow .2s}.btn svg{width:26px;height:26px}.btn small{font-size:12px;display:block;margin-top:3px}.btn.secondary{background:transparent;color:var(--ink);box-shadow:none}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 20px #a77c3533}.btn:active:not(:disabled){transform:translateY(1px)}.status{font-family:var(--sans);font-size:12px;text-align:center;min-height:18px;margin:9px 0}.count-section{text-align:center;margin-top:10px}.count-section .eyebrow{font-size:17px}.count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--gold);border-radius:24px;padding:22px 12px;background:linear-gradient(100deg,#fffaf222,#ebddc42a)}.count>div{min-width:0}.count>div+div{border-left:1px solid var(--line)}.count strong{display:block;font-weight:500;font-size:50px;line-height:1.1;font-variant-numeric:tabular-nums}.count span{display:block;text-transform:uppercase;font-size:14px;letter-spacing:.12em;margin-top:4px}.small{font-size:28px;margin-top:-15px;background:var(--ivory);width:45px;margin-inline:auto}.section{text-align:center;padding:45px 0;border-bottom:1px solid #c5a16a44}.section h2{font-size:38px;font-weight:500;line-height:1.2;margin:12px 0 18px}.letter p{max-width:610px;margin:18px auto;line-height:1.8;font-size:22px}.letter .signature{font-style:italic;color:#84643b;font-size:24px}.section-icon{color:#ad833e}.unavailable{font-family:var(--sans);font-size:12px;line-height:1.8;max-width:550px;margin:0 auto 22px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#ede0cc44}form{max-width:570px;margin:auto;text-align:left}fieldset{border:0;padding:0;margin:0;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px;min-width:0}.field label,#copy-fallback label{display:block;font-family:var(--sans);font-size:12px;margin-bottom:7px}input,textarea,select{width:100%;max-width:100%;border:1px solid #c7b796;padding:12px;border-radius:5px;background:#fffaf3;color:var(--ink);font-size:16px}fieldset:disabled{opacity:.65}form .btn{width:100%}footer{text-align:center;padding:38px 12% 60px}footer p{font-size:15px;margin:12px 0}.footer-monogram{color:#a47b3d;font-size:38px;display:inline-block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.svg-library{display:none}.skip{position:fixed;top:-100px;left:15px;padding:12px;background:var(--ivory);z-index:20}.skip:focus{top:10px}[hidden]{display:none!important}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes photo{from{opacity:.4}to{opacity:1}}@keyframes floral{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:767px){body{font-size:17px}.header{padding:16px 6%}.monogram{font-size:31px}.monogram i{font-size:25px;bottom:-16px}.header-actions{gap:10px}.languages button{padding:7px 12px;font-size:13px}.venue-hero{aspect-ratio:1024/475;background-size:115% auto;background-position:center top}.venue-hero:before{height:24%}.venue-hero:after{inset:67% 0 -2px}.intro{padding:0 12%;margin-top:-12px}.eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:18px}.names{font-size:clamp(55px,12vw,88px)}html[lang=ru] .names{font-size:clamp(49px,10.7vw,80px)}.ornament{font-size:37px}.content{width:82%}.floral{top:175px;background-size:720px auto;width:14%;height:320px}.floral-left{background-position:left -185px}.floral-right{background-position:right -185px}.open-link{font-size:13px}.details{margin-top:22px;margin-bottom:24px}.detail{padding:4px 6px}.detail svg{width:27px;height:27px}.detail .label{font-size:8px;letter-spacing:.04em}.detail-value{font-size:19px}.detail p:last-child{font-size:13px}.detail .zone{font-size:8px!important}.address-card{padding:17px;gap:13px;border-radius:14px}address{font-size:17px}.address-card svg{width:25px}.map-card{min-height:170px;grid-template-columns:1.5fr 1fr;border-radius:18px}.map-fallback{padding:18px 10px}.map-fallback h3{font-size:19px}.venue-detail{min-height:170px;background-size:420% auto;background-position:83% 68%}.map-actions{gap:12px}.btn{font-size:16px;padding:12px 17px;gap:9px}.btn svg{width:21px}.count-section .eyebrow{font-size:12px}.count{padding:20px 7px;border-radius:18px}.count strong{font-size:39px}.count span{font-size:10px;letter-spacing:.06em}.section{padding:35px 0}.section h2{font-size:31px}.letter p{font-size:19px}.gold-frame{inset:83px 3% 18px;border-radius:65px 65px 40px 40px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:450px){.header{padding:12px 6%}.header-actions{gap:5px}.languages button{padding:6px 10px;min-width:39px}.menu-toggle{width:36px}.menu-toggle span{width:24px}.venue-hero{aspect-ratio:1024/530;background-size:135% auto;background-position:43% top}.venue-hero:before{height:29%}.intro{padding-inline:11%}.eyebrow{font-size:9px;letter-spacing:.11em}.names{font-size:clamp(51px,13vw,62px)}html[lang=ru] .names{font-size:clamp(46px,12vw,58px)}.floral{top:145px;width:13%;background-size:600px auto;height:290px}.floral-left{background-position:left -170px}.floral-right{background-position:right -170px}.details{grid-template-columns:1fr;margin-top:20px;gap:13px}.detail{display:grid;grid-template-columns:32px 1fr;column-gap:13px;text-align:left;padding:0 10px}.detail svg{grid-row:1/4;align-self:center;margin:0}.detail+.detail{border-left:0;border-top:1px solid var(--line);padding-top:13px}.detail .label{margin-bottom:2px;font-size:9px}.detail-value{font-size:23px}.detail p:last-child{font-size:14px;margin-top:3px}.detail .zone{font-size:10px!important}.address-card{padding:15px 12px;gap:10px}address{font-size:16px}.map-card{grid-template-columns:1fr}.venue-detail{display:none}.map-actions{flex-direction:column;gap:10px;margin-top:16px}.btn{font-size:17px;min-height:50px}.count strong{font-size:32px}.count span{font-size:9px}.count-section .eyebrow{font-size:11px;letter-spacing:.1em}.section h2{font-size:29px}.unavailable{font-size:11px}.letter p{font-size:18px}.content{width:81%}.gold-frame{inset:73px 3% 18px}.count{padding:20px 3px}.section .label{font-size:9px}nav{top:69px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.invitation-paper{background-color:var(--ivory)}
@media(min-width:768px){.floral{top:375px}.floral-left{background-position:left -390px}.floral-right{background-position:right -390px}}
.ornament{animation:gold-glow 5s ease-in-out 2}@keyframes gold-glow{50%{opacity:.7}}
.venue-hero,.floral,.venue-detail{background-image:image-set(url('assets/invitation-reference.webp') type('image/webp'),url('assets/invitation-reference.png') type('image/png'))}
@media(max-width:767px){.venue-hero,.floral,.venue-detail{background-image:image-set(url('assets/invitation-reference-640.webp') 1x type('image/webp'),url('assets/invitation-reference.webp') 2x type('image/webp'))}}
/* Champagne fill keeps espresso button labels readable across the full gradient. */
.btn{background:linear-gradient(115deg,#e0bc7c,#c5a16a)}.btn.secondary{background:transparent}
/* Visible gold and ivory rules, with a quiet one-time entrance. */
.gold-frame{z-index:2;border:1.5px solid #b68b49;box-shadow:inset 0 0 0 2px #ffffffa8,0 0 12px #c5a16a26;animation:frame-in 2.4s .25s both}
.gold-frame:after{inset:6px;border:1px solid #fffdf2;box-shadow:0 0 0 1px #c5a16a66}
.gold-leaf{position:absolute;z-index:2;pointer-events:none;width:110px;height:196px;background:url('assets/gold-leaf.svg') center/contain no-repeat;opacity:.88;animation:leaf-in 2.2s .6s both}
.leaf-left{left:3.5%;top:690px;transform:rotate(-18deg)}.leaf-right{right:3.5%;bottom:50px;transform:rotate(165deg)}
.amp i{box-shadow:0 1px 0 #fff;animation:frame-in 2.2s .5s both}
.interactive-map{display:block;height:330px;min-height:0}.interactive-map iframe{width:100%;height:100%;border:0;display:block}.map-caption{text-align:right;font:11px var(--sans);margin:8px 2px 0}.map-caption a{text-underline-offset:3px}
dialog{width:min(450px,calc(100% - 32px));padding:34px 25px 28px;border:1px solid var(--gold);border-radius:22px;background:var(--ivory);color:var(--ink);box-shadow:0 20px 80px #0004;text-align:center}dialog::backdrop{background:#15141bb8;backdrop-filter:blur(4px)}dialog h2{font:500 30px var(--serif);margin:12px 0}dialog p{font:12px/1.7 var(--sans);margin:0 0 23px}.dialog-close{position:absolute;right:9px;top:6px;border:0;background:none;color:var(--ink);font-size:30px;width:44px;height:44px}.provider-links{display:grid;gap:12px}
@keyframes frame-in{from{opacity:0}to{opacity:1}}@keyframes leaf-in{from{opacity:0;translate:0 14px}to{opacity:.88;translate:0 0}}
@media(max-width:767px){.gold-leaf{width:65px;height:116px}.leaf-left{top:620px;left:2.5%}.leaf-right{right:2.5%;bottom:45px}.interactive-map{height:290px}}
@media(prefers-reduced-motion:reduce){.gold-frame,.gold-leaf,.amp i{animation:none!important}}
.map-help{font:11px/1.7 var(--sans);color:#795d3b;text-align:center;margin:12px 0 0}
