@charset "UTF-8";
:root{--cream:#f6f0e7;--paper:#fcfaf5;--ink:#302b29;--muted:#746963;--wine:#73293a;--line:#ded5c9;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b78251;outline-offset:5px}[hidden]{display:none!important}.site-header{max-width:1440px;margin:auto;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.monogram{font-family:var(--serif);font-size:34px;letter-spacing:-5px;line-height:1;white-space:nowrap}.monogram span{font-style:italic}.monogram i{font-style:normal;font-size:17px;color:var(--wine);margin-left:12px}.site-header nav{display:flex;gap:40px;align-items:center;font-size:14px}.nav-rsvp{border:1px solid var(--wine);padding:9px 18px;border-radius:30px;color:var(--wine)}.nav-rsvp span{margin-left:14px}.hero{position:relative;max-width:1440px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;padding:56px 6% 78px;min-height:780px;overflow:hidden}.hero-copy{position:relative;z-index:1;padding:12px 0 0}.eyebrow,.section-label,.step-kicker{font-size:12px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px}.eyebrow span{display:block;background:var(--wine);width:28px;height:1px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(62px,6.8vw,104px);line-height:1.03;letter-spacing:-4px;margin-bottom:26px}h1 em{font-size:.69em;font-weight:400;letter-spacing:-2px;color:var(--wine)}.hero-tagline{font-family:var(--serif);font-size:24px;line-height:1.4;margin-bottom:14px;max-width:440px}.hero-description{font-size:15px;max-width:375px;color:var(--muted);margin-bottom:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:0;border-radius:4px;padding:16px 24px;line-height:1.5;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.primary{background:var(--wine);color:var(--paper)}.primary:hover{background:#5b1c2b;transform:translateY(-2px)}.event-details{display:flex;gap:32px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);max-width:465px}.event-details>div{flex:1;display:flex;flex-direction:column;font-size:13px;color:var(--muted)}.event-details strong{font-size:16px;font-weight:500;color:var(--ink);margin:6px 0 1px}.detail-label{font-size:12px;text-transform:uppercase;letter-spacing:1.7px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-width:0;margin:-10px -55px -4px -5px}.hero-art img{width:100%;height:620px;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;filter:drop-shadow(0 12px 28px #8c66441c)}.art-caption{position:absolute;top:0;right:45px;font-size:12px;line-height:1.6;text-align:center;letter-spacing:1px;z-index:1}.art-caption em{font-family:var(--serif);font-size:18px;letter-spacing:0;color:var(--wine)}.art-signature{position:absolute;bottom:10px;right:32px;font-family:var(--serif);font-style:italic;color:var(--wine);font-size:24px;transform:rotate(-7deg)}.scroll-hint{position:absolute;bottom:23px;left:6%;font-size:12px;color:var(--muted)}.scroll-hint span{margin-left:18px}.section{padding:78px max(6%,calc((100% - 1268px)/2))}.dress-section{background:var(--paper);border-block:1px solid var(--line)}.section-label{display:flex;gap:14px;align-items:center;color:var(--muted);margin-bottom:30px}.section-label>span{font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:0;color:var(--wine)}.dress-heading{display:flex;align-items:center;justify-content:space-between;gap:35px}h2{font-size:clamp(44px,4.6vw,68px);line-height:1.12;letter-spacing:-2px;margin-bottom:28px}h2 em{color:var(--wine)}.dress-heading>p{color:var(--muted);font-size:16px;max-width:355px}.palette{display:grid;grid-template-columns:repeat(8,1fr);gap:16px;margin:20px 0 48px;max-width:1050px}.palette>div{text-align:center}.palette span{display:block;background:var(--swatch);width:100%;aspect-ratio:1;border-radius:50%;max-width:92px;margin:0 auto 12px;border:1px solid #00000008}.palette small{font-size:12px;color:var(--muted);line-height:1.25;display:block}.dress-rules{display:flex;align-items:center;justify-content:center;gap:80px;border-top:1px solid var(--line);padding-top:35px}.dress-rules p{margin:0;text-align:center;display:flex;flex-direction:column;gap:6px}.dress-rules p>span{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted)}.dress-rules strong{font-family:var(--serif);font-weight:400;font-size:34px}.dress-rules em{font-size:14px;color:var(--muted);font-style:normal}.dress-rule-divider{font-family:var(--serif);font-style:italic;font-size:50px;color:#c9b29d}.dress-footnote{text-align:center;font-family:var(--serif);font-size:19px;font-style:italic;color:var(--wine);margin:35px 0 0}.rsvp-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;padding-block:90px}.rsvp-intro>p{color:var(--muted);font-size:16px;max-width:320px}.rsvp-aside{font-size:13px;line-height:1.8;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);max-width:260px;color:var(--muted)}.form-panel{padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:5px;min-width:0;align-self:start}.form-progress{list-style:none;display:flex;justify-content:space-between;padding:0 0 24px;margin:0 0 30px;border-bottom:1px solid var(--line);gap:12px}.form-progress li{font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.form-progress li>span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;font-size:12px}.form-progress .active{color:var(--wine)}.form-progress .active>span{background:var(--wine);border-color:var(--wine);color:white}.step-kicker{font-size:11px;letter-spacing:1.6px;color:var(--muted);margin:0 0 10px}h3{font-size:33px;letter-spacing:-.7px;line-height:1.15;margin:0 0 24px}.input-label{display:block;font-size:14px;margin-bottom:8px}input[type=text],input:not([type]){display:block;width:100%;border:1px solid var(--line);border-radius:3px;padding:13px 15px;background:transparent;color:var(--ink);font-size:16px}input::placeholder{color:#9a8f87}fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}legend{font-size:14px;font-weight:500;margin-bottom:12px}.choice{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:3px;padding:14px 16px;cursor:pointer;transition:background .15s,border-color .15s}.choice:hover{background:#f3ede4}.choice:has(input:checked){background:#f5eceb;border-color:var(--wine)}.choice:has(input:focus-visible){outline:3px solid #b78251;outline-offset:3px}.choice input{position:absolute;opacity:0;width:20px;height:20px;left:14px;top:calc(50% - 10px);margin:0}.choice-dot{width:17px;height:17px;border-radius:50%;border:1px solid #b9aaa0;flex-shrink:0}.choice:has(input:checked) .choice-dot{border:5px solid var(--wine)}.choice strong{display:block;font-size:15px;font-weight:500}.choice small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.attendance-options,.meal-options{display:flex;flex-direction:column;gap:10px}.choice>b{margin-left:auto;font-weight:400;color:var(--wine)}.drink-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drink-options .choice{min-height:59px;font-size:14px}.drink-options .choice b{opacity:0}.drink-options .choice:has(input:checked) b{opacity:1}.no-alcohol{grid-column:1/-1}.step-description{color:var(--muted);font-size:14px;margin-top:-12px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}.form-actions .button{margin-left:auto;min-width:150px}.back-button{background:none;border:0;color:var(--muted);padding:12px 0;font-size:14px}.privacy-note{font-size:12px;color:var(--muted);margin:18px 0 0;text-align:center}.field-error{display:block;font-size:13px;color:#a12e3b;margin-top:5px;min-height:0}.field-error:empty{display:none}.form-message{font-size:14px;line-height:1.5;color:var(--wine);margin:18px 0 0}.form-message:empty{display:none}.result-panel{text-align:center;padding:30px 5px}.result-mark{font-family:var(--serif);font-size:70px;color:var(--wine);line-height:1.2;display:block;margin-bottom:18px}.result-panel h3{font-size:40px;margin-bottom:20px}.result-panel h3 em{color:var(--wine)}.result-panel>p:not(.step-kicker){font-size:15px;color:var(--muted)}.text-link{background:none;border:0;border-bottom:1px solid currentColor;padding:3px 0;color:var(--wine);font-size:14px;display:inline-block;margin:12px 10px 0}.result-panel .text-link{display:block;margin:18px auto 0}footer{background:var(--wine);color:var(--cream);padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .monogram i{color:#d0a288}footer p{text-align:center;font-family:var(--serif);font-size:25px;line-height:1.4;margin:0}footer>span{font-size:14px}.preview-note{text-align:center;background:#e7dcca;color:#574b3e;font-size:12px;padding:5px 12px}.skip-link{position:absolute;top:-100px;left:16px;z-index:50;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.sr-only,.honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.noscript{padding:20px;text-align:center}
@media(min-width:1441px){.hero{min-height:850px}.hero-art img{height:690px}}@media(max-width:1000px){.hero{padding-top:38px;min-height:690px;grid-template-columns:1.1fr 1fr}h1{font-size:74px}.hero-art{margin-right:-35px}.hero-art img{height:555px}.art-caption{right:20px;font-size:11px}.rsvp-section{gap:40px}.form-panel{padding:26px}.form-progress{gap:6px}.form-progress li{font-size:11px}.dress-rules{gap:45px}.palette{gap:12px}}@media(max-width:700px){.site-header{padding:18px 6%}.monogram{font-size:30px}.site-header nav{gap:18px;font-size:13px}.nav-rsvp{padding:7px 12px}.nav-rsvp span{margin-left:8px}.hero{display:flex;flex-direction:column;padding:32px 6% 50px;min-height:0;overflow:hidden}.hero-copy{padding:0}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:22px}h1{font-size:clamp(58px,14vw,90px);letter-spacing:-3px;line-height:1.02;margin-bottom:21px}h1 em{font-size:.67em;letter-spacing:-1.8px}.hero-tagline{font-size:22px;max-width:300px;margin-bottom:13px}.hero-description{max-width:350px;font-size:14px;margin-bottom:23px}.hero-copy>.button{font-size:14px;padding:14px 20px}.event-details{gap:18px;margin-top:25px;padding-top:18px}.event-details strong{font-size:15px}.event-details>div{font-size:12px}.hero-art{height:470px;margin:25px -26px 0;width:calc(100% + 52px);align-self:auto}.hero-art img{height:100%;width:100%;max-width:410px}.art-caption{left:25px;right:auto;top:8px;text-align:left}.art-caption em{font-size:17px}.art-signature{font-size:22px;right:25px;bottom:0}.scroll-hint{bottom:13px;left:6%;font-size:11px}.section{padding:48px 6%}.section-label{font-size:10px;letter-spacing:1.7px;margin-bottom:25px}.section-label>span{font-size:16px}.dress-heading{display:block}.dress-heading>p{font-size:15px;max-width:330px;margin:0 0 26px}.desktop-break{display:none}h2{font-size:45px;margin-bottom:20px;letter-spacing:-1.5px}.palette{grid-template-columns:repeat(4,1fr);gap:20px 15px;margin:25px 0 32px}.palette span{max-width:65px;margin-bottom:10px}.palette small{font-size:11px}.dress-rules{gap:18px;padding-top:25px;align-items:flex-start}.dress-rules p{flex:1}.dress-rules strong{font-size:27px}.dress-rules p>span{font-size:10px;letter-spacing:1px}.dress-rules em{font-size:12px}.dress-rule-divider{font-size:35px;line-height:2.5}.dress-footnote{font-size:17px;margin-top:25px}.rsvp-section{display:block;padding-top:52px}.rsvp-intro>p{max-width:350px;font-size:15px}.rsvp-aside{margin-top:20px;padding-top:15px;max-width:100%;margin-bottom:30px;font-size:12px}.form-panel{padding:23px 20px}.form-progress{gap:8px;padding-bottom:20px;margin-bottom:24px}.form-progress li{font-size:11px;gap:5px}.form-progress li>span{width:21px;height:21px;font-size:10px}.form-step h3{font-size:29px;margin-bottom:23px}.step-kicker{font-size:10px}.choice{padding:13px 12px}.choice strong{font-size:14px}.choice small{font-size:11px}.drink-options{gap:9px}.drink-options .choice{font-size:13px;padding:13px 11px}.form-actions .button{padding:13px 20px;min-width:132px}.privacy-note{font-size:11px}.result-panel h3{font-size:34px}footer{padding:30px 6%;flex-wrap:wrap;justify-content:space-between}footer p{font-size:20px;order:3;width:100%;margin-top:12px}footer>span{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}@media(forced-colors:active){.choice:has(input:checked){outline:2px solid Highlight}.choice input{opacity:1;position:static}.choice-dot{display:none}.palette span{forced-color-adjust:none}}@media(max-width:360px){.form-progress li{font-size:10px}.form-panel{padding:20px 14px}.site-header nav{gap:10px}.hero-art{height:420px}h1{font-size:58px}}
/* Версия 2: декор только в углах блоков дресс-кода и анкеты. */
.hero-art img{transform:translateX(18px)}
.hero-tagline em{color:var(--wine)}
.dress-heading h2{max-width:680px}
.dress-section,.rsvp-section{position:relative;overflow:hidden}
.dress-section{padding-bottom:115px}
.rsvp-section{padding-bottom:140px}
.dress-section::after,.rsvp-section::after{content:"";position:absolute;width:110px;height:165px;background:url('/Assets/balloons-ribbons.png') center/contain no-repeat;pointer-events:none;opacity:.58}
.dress-section::after{right:2px;bottom:-15px;transform:rotate(-12deg)}
.rsvp-section::after{content:none}
.rsvp-intro::after{content:"";display:block;width:220px;height:330px;margin:35px auto 0;background:url('/Assets/balloons-ribbons.png') center/contain no-repeat;opacity:.8;pointer-events:none}
@media(max-width:700px){.hero-art img{transform:translateX(20px)}.dress-heading h2{font-size:clamp(34px,9vw,45px)}.dress-section{padding-bottom:100px}.rsvp-section{padding-bottom:125px}.dress-section::after,.rsvp-section::after{width:85px;height:128px;opacity:.5}}


/* На мобильном шары завершают анкету, не разделяя вводный текст и форму. */
@media(max-width:700px){.rsvp-intro::after{content:none}.rsvp-section::after{content:"";position:static;display:block;width:150px;height:225px;margin:25px auto 0;opacity:.8}.rsvp-section{padding-bottom:60px}}

/* Симметричные украшения вокруг завершающего текста дресс-кода. */
.dress-section::after{content:none}
.dress-section{padding-bottom:60px}
.dress-closing{display:grid;grid-template-columns:120px minmax(0,1fr) 120px;align-items:center;gap:24px;max-width:1000px;margin:35px auto 0}
.dress-closing::before,.dress-closing::after{content:"";display:block;width:120px;height:180px;background:url('/Assets/balloons-ribbons.png') center/contain no-repeat;opacity:.7;pointer-events:none}
.dress-closing::after{transform:scaleX(-1)}
.dress-closing .dress-footnote{margin:0}
@media(max-width:700px){.dress-section{padding-bottom:40px}.dress-closing{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;margin-top:25px}.dress-closing::before,.dress-closing::after{width:48px;height:100px}.dress-closing .dress-footnote{font-size:16px}}
/* Горизонтальные композиции с короткими лентами не растягивают блок. */
.dress-closing{grid-template-columns:180px minmax(0,1fr) 180px;gap:20px;margin-top:28px;max-width:1100px}
.dress-closing::before,.dress-closing::after{width:180px;height:65px;background-image:url('/Assets/balloons-horizontal.png');opacity:.8}
.dress-section{padding-bottom:48px}
@media(max-width:700px){.dress-closing{grid-template-columns:55px minmax(0,1fr) 55px;gap:7px;margin-top:24px}.dress-closing::before,.dress-closing::after{width:55px;height:28px}.dress-section{padding-bottom:35px}}
/* Декор заполняет боковые области всей завершающей композиции. */
.dress-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.65fr) minmax(0,1fr);gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:30px}
.dress-details::before,.dress-details::after{content:"";display:block;width:100%;height:150px;background:url('/Assets/balloons-horizontal.png') center/contain no-repeat;opacity:.85;pointer-events:none}
.dress-details::after{transform:scaleX(-1)}
.dress-details .dress-rules{border:0;padding:0;gap:35px}
.dress-details .dress-closing{display:block;margin:28px 0 0}
.dress-details .dress-closing::before,.dress-details .dress-closing::after{content:none}
@media(max-width:1000px) and (min-width:701px){.dress-details{grid-template-columns:minmax(0,1fr) minmax(360px,2fr) minmax(0,1fr);gap:15px}.dress-details .dress-rules{gap:20px}}
@media(max-width:700px){.dress-details{grid-template-columns:1fr 1fr;gap:12px;padding-top:25px}.dress-details-copy{grid-column:1/-1;grid-row:1}.dress-details::before,.dress-details::after{height:60px}.dress-details .dress-rules{gap:18px}.dress-details .dress-closing{margin-top:25px}}

/* На мобильном фото снова по центру: подпись рядом с ним убрана. */
@media(max-width:700px){.hero-art img{transform:none}}


/* Подпись приглашения увеличена на 2 px. */
.eyebrow{font-size:14px}
@media(max-width:700px){.eyebrow{font-size:12px}}

/* Полное имя в шапке использует обычный межбуквенный интервал. */
.site-header .monogram{letter-spacing:normal;font-weight:400}

/* Время начала выделено цветом и увеличено на 3 px. */
#event-time{font-size:16px;color:var(--wine)}
@media(max-width:700px){#event-time{font-size:15px}}
