:root{
  --ink:#0d0d0c;
  --ink-soft:#161615;
  --paper:#f2eee5;
  --paper-2:#e7e0d5;
  --wine:#6f2f40;
  --wine-dark:#4e1f2d;
  --olive:#747766;
  --line-dark:rgba(13,13,12,.16);
  --line-light:rgba(242,238,229,.18);
  --pad:clamp(18px,2.15vw,38px);
  --sans:"Inter Tight",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Prata",Georgia,serif;
  --hero-sans:"Inter Tight",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --hero-serif:"Instrument Serif",Georgia,serif;
  --ease:cubic-bezier(.22,.72,.18,1);
  --ease-soft:cubic-bezier(.2,.65,.2,1);
  --display-tracking:-.052em;
}

*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:auto}
body{margin:0;min-width:320px;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
body.menu-open{overflow:hidden}
[hidden]{display:none!important}
[data-section]{scroll-margin-top:72px}
.hero__word{text-transform:uppercase}
.no-motion .loader{display:none}
.no-motion .story__sequence,.no-motion .story__stage{height:auto!important;min-height:0;overflow:visible}
.no-motion .story-frame{position:relative;inset:auto;opacity:1!important;visibility:visible!important;min-height:640px}
.no-motion .story__counter,.no-motion .story__progress{display:none}
.no-motion .venue{height:100svh}
.no-motion .archive__rail-wrap{overflow-x:auto}
.no-motion .archive__rail{transform:none!important}
.no-motion .reveal-frame{clip-path:none!important}
.rsvp-form [data-form-fields]{display:grid;gap:28px}
.rsvp-form .field-error{font-size:12px;font-weight:400}
@media(max-width:960px){.no-motion .story-frame{min-height:0}}
img{display:block;width:100%;height:100%;object-fit:cover;font-size:0;color:transparent}
figure{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--wine);color:#fff}

.grain{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.042;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 190 190' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.58'/%3E%3C/svg%3E")}
.progress{position:fixed;z-index:145;left:0;top:0;width:100%;height:2px;pointer-events:none;background:rgba(255,255,255,.045)}
.progress span{display:block;width:100%;height:100%;background:var(--paper);transform:scaleX(0);transform-origin:left center}
.ui-label{font-size:9px;font-weight:600;line-height:1.35;letter-spacing:.135em;text-transform:uppercase}
.section-rail{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line-light);padding-top:40px;padding-bottom:14px;color:rgba(242,238,229,.58)}
.section-rail span:nth-child(2){justify-self:center}.section-rail span:last-child{justify-self:end}

.loader,.topbar,.mobile-menu,.hero,.finale{font-family:var(--hero-sans)}
.hero__amp,.hero__quote em,.finale__copy h2 em,.finale__copy p{font-family:var(--hero-serif)}

/* loader */
.loader{position:fixed;z-index:300;inset:0;background:var(--ink);display:grid;grid-template-rows:auto 1fr auto;padding:18px var(--pad);overflow:hidden}
.loader__meta{display:flex;justify-content:space-between}
.loader__stage{align-self:center;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;overflow:hidden;font-size:clamp(110px,23vw,420px);font-weight:600;line-height:.62;letter-spacing:-.08em}
.loader__stage>span:first-child{text-align:left}.loader__stage>span:last-child{text-align:right}
.loader__stage em{font-family:var(--hero-serif);font-style:italic;font-weight:400;font-size:.48em;letter-spacing:-.02em}
.loader__bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}
.loader__bottom>i{height:1px;background:rgba(255,255,255,.15);overflow:hidden;position:relative}
.loader__bottom>i:after{content:"";display:block;width:100%;height:100%;background:var(--paper);transform:scaleX(0);transform-origin:left}

/* topbar */
.topbar{position:fixed;z-index:120;left:0;top:0;width:100%;padding:16px var(--pad);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;mix-blend-mode:difference;color:#fff;pointer-events:none}
.topbar>*{pointer-events:auto}.topbar__brand{justify-self:start;font-size:18px;font-weight:700;letter-spacing:-.055em}.topbar__edition{justify-self:center;opacity:.8}
.topbar__nav{display:flex;gap:22px;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.topbar__nav a{position:relative}.topbar__nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.topbar__nav a:hover:after{transform:scaleX(1);transform-origin:left}
.menu-button{display:none;border:0;background:none;width:34px;height:34px;padding:7px 2px;cursor:pointer}.menu-button span{display:block;height:1px;background:currentColor;margin:7px 0;transition:transform .35s var(--ease)}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;z-index:110;inset:0;background:var(--paper);color:var(--ink);padding:88px var(--pad) 24px;opacity:0;visibility:hidden;display:none}.mobile-menu__index{padding-bottom:24px;border-bottom:1px solid var(--line-dark)}.mobile-menu nav{display:grid}.mobile-menu nav a{display:grid;grid-template-columns:42px 1fr;align-items:end;border-bottom:1px solid var(--line-dark);padding:10px 0 12px;font-size:clamp(42px,11.5vw,68px);line-height:.92;letter-spacing:var(--display-tracking);text-transform:uppercase}.mobile-menu nav a span{font-size:8px;letter-spacing:.12em;padding-bottom:6px}.mobile-menu__footer{position:absolute;left:var(--pad);right:var(--pad);bottom:22px;display:flex;justify-content:space-between}

/* hero */
.hero{--display-tracking:-.065em;position:relative;height:100svh;min-height:700px;background:var(--ink);overflow:hidden;display:grid;grid-template-columns:41% 59%;isolation:isolate}
.hero__gridlines{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(to right,transparent calc(25% - .5px),rgba(255,255,255,.075) 25%,transparent calc(25% + .5px)),linear-gradient(to right,transparent calc(50% - .5px),rgba(255,255,255,.075) 50%,transparent calc(50% + .5px)),linear-gradient(to right,transparent calc(75% - .5px),rgba(255,255,255,.075) 75%,transparent calc(75% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),rgba(255,255,255,.065) 50%,transparent calc(50% + .5px))}
.hero__copy{position:relative;z-index:4;height:100%;pointer-events:none}.hero__copy--left{grid-column:1}.hero__copy--right{grid-column:2}
.hero__visual{position:absolute;z-index:2;top:0;right:0;width:59%;height:100%;overflow:hidden}.hero__visual img{object-position:86% 52%;filter:saturate(.72) contrast(1.06) brightness(.88);transform:scale(1.06)}.hero__visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,12,.54),rgba(13,13,12,.03) 28%,rgba(13,13,12,.15)),linear-gradient(180deg,rgba(0,0,0,.18),transparent 38%,rgba(0,0,0,.34))}
.hero__word{position:absolute;z-index:4;font-size:clamp(92px,11.8vw,212px);font-weight:600;line-height:.72;letter-spacing:var(--display-tracking);text-transform:uppercase;white-space:nowrap}.hero__word--kirill{left:var(--pad);top:18%;width:calc(100vw - var(--pad)*2)}.hero__word--nastya{right:var(--pad);bottom:16%;text-align:right;width:calc(100vw - var(--pad)*2)}
.hero__amp{position:absolute;z-index:5;left:40.7%;top:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-style:italic;font-size:clamp(90px,10vw,180px);line-height:.7;color:var(--paper)}
.hero__micro{position:absolute;left:var(--pad);bottom:72px;display:flex;gap:36px;color:rgba(242,238,229,.72)}
.hero__quote{position:absolute;z-index:4;top:72px;right:var(--pad);width:min(24vw,380px)}.hero__quote>.ui-label{display:block;margin-bottom:11px;color:rgba(255,255,255,.68)}.hero__quote p{margin:0;font-size:clamp(24px,2.3vw,40px);line-height:.98;letter-spacing:-.045em}.hero__quote em{font-family:var(--serif);font-weight:400}
.hero__stamp{position:absolute;z-index:3;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:3px;color:#fff}.hero__stamp span{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35)}
.hero__footer{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:18px;display:flex;justify-content:space-between;align-items:center}.hero__footer a{display:flex;align-items:center;gap:12px}.hero__footer i{display:block;width:42px;height:1px;background:currentColor;position:relative;overflow:hidden}.hero__footer i:after{content:"";position:absolute;inset:0;background:currentColor;transform:translateX(-110%);animation:scrollCue 1.8s var(--ease) infinite}@keyframes scrollCue{55%,100%{transform:translateX(110%)}}

/* manifesto */
.manifesto{position:relative;background:var(--ink);padding:26px var(--pad) 54px;overflow:hidden;border-top:1px solid rgba(255,255,255,.075)}
.manifesto__stage{position:relative;min-height:96svh;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(340px,.58fr);gap:clamp(28px,4vw,70px);align-items:center;padding:8vh 0 5vh}
.manifesto__copy{position:relative;z-index:3;min-width:0}.manifesto__copy h2{margin:0;display:flex;flex-direction:column;align-items:flex-start;text-transform:uppercase;font-size:clamp(70px,10.6vw,190px);font-weight:600;line-height:.82;letter-spacing:-.058em}.manifesto__copy h2>span{display:block;white-space:nowrap}.manifesto__copy h2>span:nth-child(2){margin-left:8vw}.manifesto__copy h2>span:nth-child(3){margin-left:18vw}.manifesto__copy h2 em{display:block;margin:.06em 0 0 29vw;font-family:var(--serif);font-style:normal;font-weight:400;text-transform:none;color:var(--wine);font-size:.54em;line-height:.92;letter-spacing:-.03em;white-space:nowrap}
.manifesto__note{display:grid;grid-template-columns:150px minmax(0,420px);gap:28px;align-items:start;margin:8vh 0 0 8vw}.manifesto__note>span{color:rgba(242,238,229,.48)}.manifesto__note p{margin:0;font-size:clamp(16px,1.25vw,21px);line-height:1.5;letter-spacing:-.02em;color:rgba(242,238,229,.86)}
.manifesto__visuals{position:relative;height:min(76svh,770px);min-height:590px}.manifesto__image{position:absolute;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.manifesto__image img{filter:saturate(.72) contrast(1.04);transform:scale(1.06)}.manifesto__image figcaption{position:absolute;left:10px;bottom:9px;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}.manifesto__image--main{right:0;top:2%;width:84%;height:73%}.manifesto__image--main img{object-position:center 45%}.manifesto__image--small{left:-20%;bottom:1%;width:66%;height:32%}.manifesto__image--small img{object-position:center 52%}
.manifesto__footer{border-top:1px solid var(--line-light);padding-top:18px;display:grid;grid-template-columns:1fr minmax(300px,540px);gap:7vw;align-items:start}.manifesto__facts{display:flex;gap:26px;color:rgba(242,238,229,.54)}.manifesto__footer>p{margin:0;font-size:clamp(16px,1.25vw,21px);line-height:1.45;letter-spacing:-.02em;color:rgba(242,238,229,.8)}

/* date — V5 editorial transition scene */
.date-scene{position:relative;height:235svh;background:var(--paper);color:var(--ink)}
.date-scene__pin{position:relative;height:100svh;min-height:720px;overflow:hidden;background:var(--paper);padding:24px var(--pad)}
.section-rail--date{position:relative;z-index:12;border-color:var(--line-dark);color:rgba(13,13,12,.52)}
.date-scene__composition{position:absolute;inset:102px var(--pad) 22px;overflow:hidden}
.date-scene__kicker{position:absolute;z-index:8;left:0;top:3%;color:rgba(13,13,12,.47)}
.date-scene__day{position:absolute;z-index:4;left:-.9vw;top:15%;font-size:clamp(220px,30vw,535px);font-weight:600;line-height:.64;letter-spacing:-.075em;white-space:nowrap}
.date-scene__slit{position:absolute;z-index:5;left:47%;top:13%;width:9vw;min-width:118px;height:64%;overflow:hidden;background:#d3cbc0;clip-path:inset(0 40% 0 40%)}
.date-scene__slit img{filter:saturate(.68) contrast(1.05);transform:scale(1.12);object-position:center 48%}
.date-scene__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.24))}
.date-scene__slit figcaption{position:absolute;z-index:2;left:12px;bottom:10px;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.38);white-space:nowrap}
.date-scene__month{position:absolute;z-index:8;left:55%;top:38%;display:flex;flex-direction:column;align-items:flex-start;gap:9px;white-space:nowrap}
.date-scene__month>span{color:rgba(13,13,12,.47)}
.date-scene__month em{font-family:var(--serif);font-style:normal;font-size:clamp(66px,7.6vw,138px);line-height:.86;letter-spacing:-.035em;color:var(--wine)}
.date-scene__weekday{position:absolute;z-index:8;left:27%;bottom:9%;display:flex;align-items:baseline;gap:18px}.date-scene__weekday>span{color:rgba(13,13,12,.46)}.date-scene__weekday strong{font-family:var(--serif);font-size:clamp(28px,3.1vw,52px);font-weight:400;line-height:1;letter-spacing:-.035em}
.date-scene__year{position:absolute;z-index:7;right:-.3vw;bottom:8%;display:flex;gap:.02em;font-size:clamp(88px,10.2vw,182px);font-weight:600;line-height:.72;letter-spacing:-.067em}.date-scene__year span:last-child{transform:translateY(.22em)}
.date-scene__note{position:absolute;z-index:8;left:0;bottom:8%;width:min(20vw,320px)}.date-scene__note>span{display:block;margin-bottom:10px;color:rgba(13,13,12,.45)}.date-scene__note p{margin:0;font-size:clamp(15px,1.05vw,18px);line-height:1.47;letter-spacing:-.018em;color:rgba(13,13,12,.78)}
.date-scene__compact{position:absolute;z-index:10;left:50%;bottom:3%;display:flex;align-items:center;gap:11px;transform:translateX(-50%);font-size:11px;font-weight:600;letter-spacing:.12em;opacity:0;color:rgba(13,13,12,.62)}.date-scene__compact i{font-style:normal;font-weight:400;color:var(--wine)}

/* story */
.story{background:var(--paper);color:var(--ink)}
.story__intro{padding:24px var(--pad) 0}.story__intro .section-rail{border-color:var(--line-dark);color:rgba(13,13,12,.55)}
.story__intro-grid{min-height:72svh;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:7vw;align-items:center;padding:5vh 0 5vh}.story__intro h2{margin:0;font-size:clamp(78px,12vw,218px);font-weight:600;line-height:.72;letter-spacing:var(--display-tracking);text-transform:uppercase}.story__intro h2 span{display:block}.story__intro h2 em{display:block;font-family:var(--serif);font-weight:400;text-transform:none;color:var(--wine);letter-spacing:-.035em;padding-left:17%}.story__intro-grid>p{align-self:end;margin:0 0 1.5vw;font-size:clamp(18px,1.5vw,25px);line-height:1.38;letter-spacing:-.025em;max-width:460px}
.story__sequence{position:relative;height:305svh}.story__stage{position:relative;height:100svh;min-height:720px;overflow:hidden;border-top:1px solid var(--line-dark);background:var(--paper)}
.story__counter{position:absolute;z-index:12;right:var(--pad);top:24px;display:flex;gap:8px}.story__counter-current{font-size:18px;line-height:.8;letter-spacing:-.02em}.story__progress{position:absolute;z-index:12;right:var(--pad);top:52px;width:88px;height:1px;background:rgba(13,13,12,.14)}.story__progress i{display:block;width:100%;height:100%;background:var(--ink);transform-origin:left;transform:scaleX(0)}
.story-frame{position:absolute;inset:0;display:grid;grid-template-columns:52% 48%;opacity:0;visibility:hidden}.story-frame.is-active{opacity:1;visibility:visible}.story-frame__media{height:100%;overflow:hidden;clip-path:inset(0 0 0 0)}.story-frame__media img{filter:saturate(.66) contrast(1.04);transform:scale(1.04)}
.story-frame__copy{display:flex;flex-direction:column;justify-content:center;padding:10vh 7vw 7vh 7vw;border-left:1px solid var(--line-dark)}.story-frame__copy>.ui-label{color:rgba(13,13,12,.55);margin-bottom:4.5vh}.story-frame__copy h3{margin:0;font-size:clamp(58px,6.2vw,110px);line-height:.82;letter-spacing:-.058em;text-transform:uppercase;font-weight:600}.story-frame__copy h3 em{display:block;font-family:var(--serif);font-weight:400;text-transform:none;color:var(--wine);letter-spacing:-.035em}.story-frame__copy p{margin:5vh 0 0;max-width:470px;font-size:clamp(17px,1.3vw,22px);line-height:1.5;letter-spacing:-.02em}

/* program — V5 image belongs to the row, never floats over text */
.program{position:relative;background:var(--ink);color:var(--paper);padding:24px var(--pad) 120px;overflow:hidden}.program__head{min-height:78svh;display:grid;grid-template-columns:.22fr 1.15fr .5fr;gap:5vw;align-items:end;padding:10vh 0 7vh;border-bottom:1px solid var(--line-light)}.program__head>.ui-label{align-self:start;color:rgba(242,238,229,.58)}.program__head h2{margin:0;font-size:clamp(80px,10.1vw,180px);line-height:.78;letter-spacing:-.052em;text-transform:uppercase;font-weight:600}.program__head h2 em{display:block;font-family:var(--serif);font-style:normal;font-weight:400;text-transform:none;color:var(--wine);font-size:.72em;line-height:.95;letter-spacing:-.03em}.program__head>p{margin:0 0 1.5vw;font-size:clamp(16px,1.2vw,20px);line-height:1.48;max-width:380px}
.program__list{position:relative;margin-inline:calc(var(--pad) * -1)}
.program-row{position:relative;isolation:isolate;min-height:148px;border-bottom:1px solid var(--line-light);display:grid;grid-template-columns:112px minmax(260px,1fr) minmax(210px,.52fr) minmax(210px,22vw) 34px;gap:clamp(14px,1.6vw,28px);align-items:center;padding:18px var(--pad);overflow:hidden;transition:min-height .78s var(--ease-soft),padding .78s var(--ease-soft),color .78s var(--ease-soft)}
.program-row:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--wine);transform:scaleY(0);transform-origin:center bottom;transition:transform .82s cubic-bezier(.16,.76,.2,1)}
.program-row>*{transition:transform .78s var(--ease-soft),opacity .78s var(--ease-soft),color .78s var(--ease-soft)}
.program-row__time{font-family:var(--serif);font-size:clamp(27px,2.6vw,46px)}
.program-row__name{font-size:clamp(50px,5.7vw,102px);line-height:.8;letter-spacing:-.052em;font-weight:600;text-transform:uppercase}
.program-row__desc{max-width:315px;font-size:13px;line-height:1.48;color:rgba(242,238,229,.62)}
.program-row__media{position:relative;height:108px;overflow:hidden;clip-path:inset(0 100% 0 0);opacity:.08;transform:translateX(16px);background:rgba(255,255,255,.08);transition:clip-path .86s cubic-bezier(.16,.76,.2,1),opacity .58s ease,transform .86s var(--ease-soft)}
.program-row__media img{filter:saturate(.62) contrast(1.07) brightness(.92);transform:scale(1.1);transition:transform 1.05s var(--ease-soft)}
.program-row__index{justify-self:end;color:rgba(242,238,229,.5)}
.program-row:hover{min-height:166px;padding-top:27px;padding-bottom:27px;color:#fff}.program-row:hover:before{transform:scaleY(1)}.program-row:hover .program-row__name{transform:translateX(9px)}.program-row:hover .program-row__desc{transform:translateX(4px);color:rgba(255,255,255,.87)}.program-row:hover .program-row__media{clip-path:inset(0 0 0 0);opacity:1;transform:translateX(0)}.program-row:hover .program-row__media img{transform:scale(1.025)}

/* venue */
.venue{position:relative;height:220svh;background:var(--ink);color:#fff}.venue__pin{position:relative;height:100svh;min-height:720px;overflow:hidden}.venue__image{position:absolute;inset:0;overflow:hidden;clip-path:inset(4.5% 4.2% 4.5% 4.2%)}.venue__image img{filter:saturate(.58) contrast(1.08) brightness(.82);transform:scale(1.08)}.venue__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.06) 44%,rgba(0,0,0,.52))}.venue__frame{position:absolute;z-index:3;inset:4.5% 4.2%;border:1px solid rgba(255,255,255,.34);pointer-events:none}.venue__meta{position:absolute;z-index:4;top:28px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between}.venue__title{position:absolute;z-index:4;left:var(--pad);right:var(--pad);top:50%;transform:translateY(-48%);margin:0;font-size:clamp(78px,11.4vw,205px);line-height:.69;letter-spacing:var(--display-tracking);text-transform:uppercase;font-weight:600}.venue__title span{display:block}.venue__title span:nth-child(2){text-align:right;padding-right:10vw}.venue__title em{display:block;font-family:var(--serif);font-weight:400;text-transform:none;color:var(--paper);letter-spacing:-.035em;margin-left:16vw;font-size:.78em}.venue__details{position:absolute;z-index:4;left:var(--pad);right:var(--pad);bottom:24px;display:grid;grid-template-columns:220px 220px 1fr;gap:30px;align-items:end}.venue__details>div span{display:block;margin-bottom:7px;color:rgba(255,255,255,.62)}.venue__details p{margin:0;font-size:13px;line-height:1.42}.outline-button{justify-self:end;min-width:240px;border:1px solid rgba(255,255,255,.58);padding:16px 18px;display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:600;letter-spacing:.15em;transition:background .35s,color .35s}.outline-button:hover{background:var(--paper);color:var(--ink)}

/* dress */
.dress{position:relative;background:var(--paper);color:var(--ink);padding:24px var(--pad) 0;overflow:hidden}.section-rail--dark{border-color:var(--line-dark);color:rgba(13,13,12,.55)}
.dress__hero{min-height:74svh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:8vw;align-items:end;padding:10vh 0 7vh}.dress__headline>.ui-label{display:block;color:rgba(13,13,12,.5);margin-bottom:5vh}.dress__headline h2{margin:0;font-size:clamp(62px,8.3vw,150px);line-height:.82;letter-spacing:-.055em;text-transform:uppercase;font-weight:600}.dress__headline h2 span{display:block}.dress__headline h2 em{display:block;margin:.08em 0 0 16%;font-family:var(--serif);font-style:normal;font-weight:400;text-transform:none;color:var(--wine);font-size:.56em;line-height:1;letter-spacing:-.03em}.dress__intro{align-self:end;padding-bottom:1.4vw}.dress__intro p{margin:0;font-size:clamp(17px,1.4vw,23px);line-height:1.5;letter-spacing:-.02em}.dress__intro strong{display:block;margin-top:22px;max-width:390px;font-size:10px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--wine);overflow-wrap:anywhere}
.dress-lookbook{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.look{min-width:0;display:flex;flex-direction:column}.look+.look{border-left:1px solid var(--line-dark)}.look figure{height:clamp(540px,52vw,760px);overflow:hidden;background:#d9d3c8}.look figure img{filter:saturate(.68) contrast(1.02);transform:scale(1.04)}.look--women figure img{object-position:center 44%}.look--couple figure img{object-position:center 52%}.look--men figure img{object-position:center 40%}.look__copy{padding:24px 22px 30px;min-height:250px}.look__copy>.ui-label{color:rgba(13,13,12,.48)}.look__copy h3{margin:15px 0 18px;font-size:clamp(40px,4vw,68px);line-height:.9;letter-spacing:-.048em}.look__copy p{margin:0;max-width:370px;font-size:14px;line-height:1.5;color:rgba(13,13,12,.75)}.look__tags{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:24px;color:rgba(13,13,12,.5)}.look__caption{display:flex;justify-content:space-between;padding:14px;color:rgba(13,13,12,.54);min-height:55px;border-top:1px solid var(--line-dark)}
.dress__tones{display:grid;grid-template-columns:repeat(4,1fr);margin-inline:calc(var(--pad)*-1)}.tone{position:relative;height:132px;padding:16px var(--pad);display:flex;align-items:flex-end;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.tone small{font-size:9px;opacity:.65}.tone--black{background:#171717;color:#f3eee5}.tone--ivory{background:#d8c8ae;color:#171717}.tone--olive{background:#737765;color:#f3eee5}.tone--wine{background:#6f2f40;color:#f3eee5}

/* archive */
.archive{position:relative;background:var(--ink);color:var(--paper);padding:24px var(--pad) 0;overflow:hidden}.archive .section-rail{color:rgba(242,238,229,.52)}.archive__intro{position:relative}.archive__intro-grid{min-height:72svh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);gap:8vw;align-items:end;padding:9vh 0 7vh}.archive__intro h2{margin:0;font-size:clamp(78px,11vw,198px);line-height:.75;letter-spacing:-.06em;text-transform:uppercase;font-weight:600}.archive__intro h2 span{display:block}.archive__intro h2 em{display:block;margin-left:22%;font-family:var(--serif);font-style:normal;font-weight:400;text-transform:none;color:var(--wine);font-size:.68em;letter-spacing:-.03em}.archive__intro-grid>div{padding-bottom:1.8vw}.archive__intro-grid p{margin:0 0 32px;font-size:clamp(17px,1.35vw,22px);line-height:1.48;letter-spacing:-.02em}.archive__intro-grid .ui-label{color:rgba(242,238,229,.46)}
.archive__rail-wrap{position:relative;height:100svh;min-height:720px;margin-inline:calc(var(--pad)*-1);border-top:1px solid var(--line-light)}.archive__rail{height:100%;display:flex;align-items:center;gap:8vw;width:max-content;padding:0 8vw 0 5vw;will-change:transform}.archive-card{flex:none;position:relative;width:69vw;min-width:820px;display:grid;grid-template-columns:57% 43%;grid-template-rows:auto 1fr;column-gap:34px;align-items:end}.archive-card__meta{grid-column:1/3;display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line-light);color:rgba(242,238,229,.5)}.archive-card figure{height:63vh;min-height:470px;overflow:hidden}.archive-card figure img{filter:saturate(.68) contrast(1.04);transform:scale(1.045)}.archive-card__copy{padding:0 0 2vh}.archive-card__copy h3{margin:0;font-size:clamp(54px,5.4vw,100px);line-height:.8;letter-spacing:-.055em;text-transform:uppercase;font-weight:600}.archive-card__copy h3 em{display:block;font-family:var(--serif);font-style:normal;font-weight:400;text-transform:none;color:var(--wine);font-size:.75em;letter-spacing:-.03em}.archive-card__copy p{max-width:390px;margin:32px 0 0;font-size:14px;line-height:1.55;color:rgba(242,238,229,.7)}.archive-card--02{width:62vw}.archive-card--03{width:66vw}.archive-card--04{width:72vw}.archive__ending{flex:none;width:31vw;min-width:390px;height:66vh;display:flex;flex-direction:column;justify-content:space-between;padding:2vh 0}.archive__ending p{margin:auto 0;font-size:clamp(76px,8vw,145px);line-height:.69;letter-spacing:-.06em;text-transform:uppercase;font-weight:600}.archive__ending p em{font-family:var(--serif);font-style:normal;font-weight:400;text-transform:none;color:var(--wine);letter-spacing:-.03em}.archive__progress{position:absolute;left:var(--pad);right:var(--pad);bottom:18px;height:1px;background:rgba(242,238,229,.14)}.archive__progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--paper)}

/* rsvp */
.rsvp{position:relative;background:var(--wine);color:#fff;padding:24px var(--pad) 110px;overflow:hidden;min-height:112svh}.section-rail--rsvp{border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.62)}.rsvp__background{position:absolute;inset:0;opacity:.055;pointer-events:none;display:flex;flex-direction:column;justify-content:center;white-space:nowrap;transform:translateX(-5%)}.rsvp__background span,.rsvp__background em{font-size:29vw;font-weight:600;line-height:.62;letter-spacing:-.08em}.rsvp__background em{font-family:var(--serif);font-weight:400}
.rsvp__grid{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1fr;gap:8vw;padding-top:8vw}.rsvp__lead h2{margin:0;font-size:clamp(88px,11vw,195px);line-height:.7;letter-spacing:var(--display-tracking);font-weight:600;text-transform:uppercase}.rsvp__lead h2 em{font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:-.035em}.rsvp__lead p{max-width:430px;margin:48px 0 0;font-size:clamp(14px,1.1vw,18px);line-height:1.52}
.rsvp-form{width:100%;max-width:650px;justify-self:end}.field{display:block;border-bottom:1px solid rgba(255,255,255,.34);padding:0 0 16px;margin-bottom:26px}.field>span,.choice legend{display:block;font-size:8px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:13px}.field input,.field textarea{display:block;width:100%;border:0;outline:0;background:transparent;color:inherit;resize:none;padding:0;font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.55vw,42px);line-height:1}.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.5)}
.choice{border:0;border-bottom:1px solid rgba(255,255,255,.34);padding:0 0 17px;margin:0 0 27px}.choice label{display:inline-flex;align-items:center;gap:8px;margin:0 20px 7px 0;font-size:13px;cursor:pointer}.choice input{appearance:none;width:14px;height:14px;border:1px solid currentColor;border-radius:50%;margin:0;display:grid;place-items:center}.choice input:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform .2s}.choice input:checked:before{transform:scale(1)}
.submit{width:100%;background:transparent;border:1px solid rgba(255,255,255,.58);padding:17px 18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.15em;transition:background .35s,color .35s}.submit:hover{background:var(--paper);color:var(--wine)}.submit:disabled{opacity:.6;cursor:wait}.form-note{min-height:18px;margin:10px 0 0;font-size:10px;letter-spacing:.04em}

/* finale */
.finale{position:relative;height:110svh;min-height:760px;background:var(--ink);overflow:hidden}.finale__image{position:absolute;inset:0;transform:scale(1.06)}.finale__image img{filter:saturate(.54) contrast(1.08);object-position:center 53%}.finale__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.1) 45%,rgba(0,0,0,.55))}.finale__meta{position:absolute;z-index:2;top:28px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between}.finale__copy{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--pad)}.finale__copy>span{font-size:9px;letter-spacing:.16em;text-transform:uppercase}.finale__copy h2{margin:24px 0 0;font-size:clamp(88px,13vw,235px);line-height:.66;letter-spacing:var(--display-tracking);font-weight:600;text-transform:uppercase}.finale__copy h2 em{font-family:var(--serif);font-weight:400}.finale__copy p{margin:28px 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(27px,3.2vw,52px)}.finale__back{position:absolute;z-index:2;right:var(--pad);bottom:24px}.noscript{position:fixed;left:0;right:0;bottom:0;z-index:500;background:white;color:black;padding:12px;text-align:center}

:focus-visible{outline:2px solid currentColor;outline-offset:5px}

@media (max-width:960px){
  :root{--pad:20px;--display-tracking:-.055em}
  .hero{--display-tracking:-.055em}
  .section-rail{grid-template-columns:1fr auto}.section-rail span:nth-child(2){display:none}
  .topbar{grid-template-columns:1fr auto 1fr}.topbar__edition,.topbar__nav{display:none}.menu-button{display:block;justify-self:end}.mobile-menu{display:block}

  .hero{grid-template-columns:1fr;min-height:660px}.hero__gridlines{background-image:linear-gradient(to right,transparent calc(50% - .5px),rgba(255,255,255,.08) 50%,transparent calc(50% + .5px))}.hero__visual{width:100%;height:100%}.hero__visual img{object-position:78% center}.hero__copy--left,.hero__copy--right{position:absolute;inset:0}.hero__word{font-size:clamp(76px,18vw,142px);line-height:.76}.hero__word--kirill{top:20%;left:var(--pad)}.hero__word--nastya{bottom:18%;right:var(--pad)}.hero__amp{left:48%;top:51%;font-size:20vw}.hero__quote{top:78px;right:var(--pad);width:45vw}.hero__quote p{font-size:clamp(18px,4vw,30px)}.hero__micro{bottom:74px}.hero__micro span:last-child,.hero__stamp{display:none}.hero__footer span:first-child{display:none}

  .manifesto{padding-bottom:70px}.manifesto__composition{min-height:82svh;padding-top:8vh}.manifesto__lockup{gap:1.6vw}.manifesto__row{font-size:clamp(54px,15vw,108px);line-height:.82;white-space:nowrap}.manifesto__row--two{justify-content:flex-end;padding-left:0;padding-right:2vw}.manifesto__row--three{padding-left:0;gap:3vw;justify-content:flex-start;flex-wrap:nowrap}.manifesto__row em{font-size:.72em;margin-left:auto}.manifesto__image{position:relative;width:100%;height:56vw;left:auto;right:auto;top:auto;margin-top:42px}.manifesto__footer{grid-template-columns:1fr;gap:34px}.manifesto__facts{justify-self:start;grid-template-columns:repeat(2,auto);gap:12px 25px}

  .date-scene{height:auto}.date-scene__pin{height:92svh;min-height:680px}.date-scene__image{left:31%;top:31%;width:58vw;height:44vw}.date-scene__day{top:21%;font-size:40vw}.date-scene__month{top:45%;right:var(--pad)}.date-scene__month em{font-size:18vw}.date-scene__year{font-size:18vw;bottom:13%}.date-scene__note{bottom:7%;max-width:48vw}.date-scene__note p{font-size:clamp(14px,3.6vw,20px)}

  .story__intro-grid{min-height:72svh;grid-template-columns:1fr;gap:34px;padding:9vh 0 6vh}.story__intro h2{font-size:clamp(66px,17vw,120px)}.story__intro h2 em{padding-left:12%}.story__intro-grid>p{max-width:430px;margin:0}.story__sequence{height:auto}.story__stage{height:auto;min-height:0;border-top:1px solid var(--line-dark)}.story__counter,.story__progress{display:none}.story-frame{position:relative;inset:auto;display:grid;grid-template-columns:1fr;opacity:1!important;visibility:visible!important;border-bottom:1px solid var(--line-dark)}.story-frame__media{height:78vw;min-height:360px}.story-frame__copy{border-left:0;padding:46px var(--pad) 70px}.story-frame__copy>.ui-label{margin-bottom:32px}.story-frame__copy h3{font-size:clamp(48px,12vw,86px)}.story-frame__copy p{margin-top:34px}

  .program{padding-bottom:86px}.program__head{min-height:66svh;grid-template-columns:1fr;gap:30px;padding:10vh 0 6vh}.program__head>.ui-label{align-self:auto}.program__head h2{font-size:clamp(65px,16vw,118px)}.program__head>p{max-width:430px}.program-row{grid-template-columns:74px 1fr auto;min-height:124px;gap:12px;padding:16px 0}.program-row__name{font-size:clamp(39px,10.5vw,72px)}.program-row__desc{grid-column:2/4;font-size:11px}.program-row:hover{min-height:124px;padding:16px 0}.program-row:hover:before{transform:scaleY(0)}.program-row:hover .program-row__name,.program-row:hover .program-row__desc{transform:none}.program-preview{display:none}

  .venue{height:auto;min-height:100svh}.venue__pin{height:100svh;min-height:720px}.venue__image{clip-path:inset(0)}.venue__frame{inset:18px;border-color:rgba(255,255,255,.2)}.venue__title{font-size:clamp(62px,14vw,108px)}.venue__title span:nth-child(2){text-align:left;margin-left:7vw;padding-right:0}.venue__title em{margin-left:25vw}.venue__details{grid-template-columns:1fr 1fr;gap:18px}.outline-button{grid-column:1/3;width:100%;min-width:0}.venue__details p{font-size:12px}

  .dress{padding-bottom:35px}.dress__layout{min-height:auto;grid-template-columns:1fr;padding-top:9vh}.dress__copy{padding:0 0 52px}.dress__copy h2{font-size:clamp(60px,15vw,108px)}.dress__copy h2 em{margin-left:18%}.dress__copy p{margin-top:42px}.dress__photo{height:112vw;min-height:520px;clip-path:inset(0)}.palette{grid-template-columns:1fr 1fr}.palette__item:nth-child(2){border-right:0}.palette__item{min-height:78px}

  .gallery{padding-bottom:90px}.gallery__intro{height:auto;min-height:0;grid-template-columns:1fr;gap:34px;padding:70px 0}.gallery__intro>div:last-child{text-align:left}.gallery__intro p{font-size:clamp(33px,9vw,58px)}.gallery__track-wrap{height:auto;min-height:0}.gallery__track{width:100%;height:auto;display:grid;gap:54px;padding:0}.gallery-shot{width:auto!important;margin:0!important}.gallery-shot__image{height:auto!important;min-height:0!important}.gallery-shot--a{width:74%!important}.gallery-shot--a .gallery-shot__image{aspect-ratio:.72}.gallery-shot--b{width:92%!important;margin-left:auto!important}.gallery-shot--b .gallery-shot__image{aspect-ratio:1.35}.gallery-shot--c{width:70%!important;margin-left:14%!important}.gallery-shot--c .gallery-shot__image{aspect-ratio:.73}.gallery-shot--d{width:100%!important}.gallery-shot--d .gallery-shot__image{aspect-ratio:1.45}.gallery__ending{width:100%;min-width:0;height:auto;padding:34px 0 0}.gallery__ending p{font-size:clamp(72px,18vw,132px);margin:58px 0}

  .rsvp{min-height:auto;padding-bottom:90px}.rsvp__grid{grid-template-columns:1fr;padding-top:72px}.rsvp__lead h2{font-size:clamp(72px,18vw,132px)}.rsvp__lead p{margin-top:32px}.rsvp-form{justify-self:start;max-width:none;padding-top:78px}.rsvp__background span,.rsvp__background em{font-size:80vw}
  .finale{min-height:700px}.finale__copy h2{font-size:clamp(74px,18vw,142px)}
}

@media (max-width:560px){
  .ui-label{font-size:7.5px}.loader__stage{font-size:35vw}.topbar{padding-top:13px}.hero__quote{width:58vw}.hero__word{font-size:18.6vw}.hero__word--kirill{top:18%}.hero__word--nastya{bottom:21%}.hero__amp{font-size:25vw}.hero__micro{bottom:71px}
  .manifesto__composition{min-height:75svh}.manifesto__row{font-size:14.8vw}.manifesto__row--two{padding-left:0;padding-right:0}.manifesto__image{width:100%;height:58vw;margin-top:34px}.manifesto__facts{grid-template-columns:1fr 1fr}
  .date-scene__pin{height:84svh;min-height:630px}.date-scene__day{top:22%;font-size:42vw}.date-scene__image{top:32%;left:27%;width:67vw;height:48vw}.date-scene__month{top:49%}.date-scene__month em{font-size:20vw}.date-scene__year{font-size:20vw}.date-scene__note{max-width:52vw}
  .story-frame__media{height:93vw}.story-frame__copy{padding-bottom:58px}.story-frame__copy h3{font-size:12.6vw}
  .program-row{grid-template-columns:58px 1fr auto}.program-row__time{font-size:22px}
  .venue__meta span:last-child{display:none}.venue__details{grid-template-columns:1fr}.outline-button{grid-column:1}.venue__details>div:nth-child(2){display:none}
  .dress__copy h2{font-size:14.7vw}.dress__copy p{font-size:16px}.palette__item{grid-template-columns:36px 1fr;gap:9px}.palette__item i{width:32px;height:32px}
  .choice label{display:flex}.finale__meta span:last-child{display:none}.finale__back{bottom:18px}
}


/* V4 responsive refinements */
@media (max-width:960px){
  .manifesto__stage{min-height:auto;grid-template-columns:1fr;padding:10vh 0 6vh}.manifesto__copy h2{font-size:clamp(58px,13.3vw,112px)}.manifesto__copy h2>span:nth-child(2){margin-left:0}.manifesto__copy h2>span:nth-child(3){margin-left:10vw}.manifesto__copy h2 em{margin-left:24vw;font-size:.58em}.manifesto__note{margin:7vh 0 0;grid-template-columns:1fr;gap:14px;max-width:520px}.manifesto__visuals{height:auto;min-height:0;display:grid;grid-template-columns:1fr .58fr;align-items:end;gap:14px;margin-top:7vh}.manifesto__image{position:relative!important;inset:auto!important;width:auto!important}.manifesto__image--main{height:82vw;max-height:720px}.manifesto__image--small{height:42vw;max-height:360px}.manifesto__footer{grid-template-columns:1fr;gap:28px}.manifesto__facts{flex-wrap:wrap;gap:12px 22px}
  .date-scene{height:auto;min-height:100svh}.date-scene__pin{height:100svh;min-height:680px}.date-scene__composition{inset:104px var(--pad) 18px}.date-scene__day{top:9%;font-size:42vw}.date-scene__month{left:auto;right:0;top:26%;align-items:flex-end}.date-scene__month em{font-size:16vw}.date-scene__year{top:72%;right:0;bottom:auto;font-size:16vw}.date-scene__image{left:18%;top:38%;width:82%;height:39%}.date-scene__note{bottom:4%;max-width:52vw}.date-scene__compact{display:none}
  .program__list{margin-inline:calc(var(--pad)*-1)}.program-row{grid-template-columns:72px 1fr auto;padding-inline:var(--pad)}
  .dress__hero{min-height:auto;grid-template-columns:1fr;padding:10vh 0 7vh}.dress__intro{margin-top:42px;max-width:600px}.dress__headline h2{font-size:clamp(56px,13vw,100px)}.dress__headline h2 em{margin-left:8%;font-size:.58em}.dress-lookbook{grid-template-columns:1fr}.look+.look{border-left:0;border-top:1px solid var(--line-dark)}.look{display:grid;grid-template-columns:1fr 1fr}.look--couple{display:block}.look--women figure,.look--men figure,.look--couple figure{height:72vw;min-height:500px}.look__copy{align-self:end;padding:24px}.look--men figure{order:2}.look__caption{padding:12px}.dress__tones{grid-template-columns:1fr 1fr}.tone{height:110px}
  .archive__intro-grid{min-height:auto;grid-template-columns:1fr;padding:10vh 0 8vh}.archive__intro h2{font-size:clamp(70px,16vw,125px)}.archive__intro-grid>div{max-width:560px;margin-top:42px}.archive__rail-wrap{height:auto;min-height:0;margin-inline:0;border-top:1px solid var(--line-light)}.archive__rail{width:100%;height:auto;display:grid;gap:70px;padding:70px 0}.archive-card{width:100%!important;min-width:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0}.archive-card__meta{grid-column:auto}.archive-card figure{height:112vw;min-height:480px;margin-top:12px}.archive-card__copy{padding:24px 0 0}.archive-card__copy h3{font-size:clamp(52px,13vw,96px)}.archive__ending{width:100%;min-width:0;height:auto;padding:70px 0}.archive__ending p{font-size:clamp(78px,20vw,140px);margin:70px 0}.archive__progress{display:none}
}
@media (max-width:560px){
  .manifesto__copy h2{font-size:13.8vw;line-height:.86;letter-spacing:-.05em}.manifesto__copy h2>span:nth-child(3){margin-left:7vw}.manifesto__copy h2 em{margin-left:17vw;font-size:.62em}.manifesto__visuals{grid-template-columns:1fr .54fr}.manifesto__image--main{height:90vw}.manifesto__image--small{height:48vw}.manifesto__footer>p{font-size:15px}
  .date-scene__pin{height:86svh;min-height:620px}.date-scene__day{top:12%;font-size:44vw}.date-scene__month{top:31%}.date-scene__month em{font-size:17vw}.date-scene__image{left:9%;top:41%;width:91%;height:36%}.date-scene__year{top:73%;bottom:auto;font-size:17vw}.date-scene__note{max-width:60vw;font-size:14px}.date-scene__note p{font-size:14px}
  .program-row{grid-template-columns:58px 1fr auto}.program-row__time{font-size:22px}
  .look{grid-template-columns:1fr}.look--women figure,.look--men figure,.look--couple figure{height:116vw;min-height:450px}.look--men figure{order:0}.look__copy{padding:22px 0 34px}.dress__tones{margin-inline:calc(var(--pad)*-1)}.tone{height:92px;padding:14px var(--pad);font-size:10px}
  .archive-card figure{height:120vw;min-height:440px}.archive-card__copy p{font-size:13px}
}

/* V5 responsive + typography polish */
@media (max-width:960px){
  .story__intro-grid{min-height:60svh;padding:5vh 0 4vh}
  .date-scene{height:auto;min-height:112svh}.date-scene__pin{height:auto;min-height:102svh;padding-bottom:34px}.date-scene__composition{position:relative;inset:auto;min-height:900px;margin-top:36px;overflow:hidden}.date-scene__kicker{top:0}.date-scene__day{top:9%;left:-1vw;font-size:43vw}.date-scene__slit{left:40%;top:19%;width:53%;min-width:0;height:48%;clip-path:inset(0)}.date-scene__month{left:auto;right:0;top:49%;align-items:flex-end}.date-scene__month em{font-size:16.5vw}.date-scene__weekday{left:0;bottom:18%;gap:12px}.date-scene__weekday strong{font-size:8vw}.date-scene__year{right:0;bottom:8%;font-size:17vw}.date-scene__note{left:0;bottom:4%;width:48%;max-width:250px}.date-scene__compact{display:none}
  .program-row{grid-template-columns:72px 1fr auto;min-height:124px;gap:12px;padding-inline:var(--pad)}.program-row__desc{grid-column:2/4}.program-row__media{display:none}.program-row:hover{min-height:124px;padding-top:18px;padding-bottom:18px}.program-row:hover:before{transform:scaleY(0)}.program-row:hover .program-row__name,.program-row:hover .program-row__desc{transform:none}
  .dress-lookbook{grid-template-columns:1fr}.look+.look{border-left:0;border-top:1px solid var(--line-dark)}.look{display:grid;grid-template-columns:1fr 1fr}.look figure{height:72vw;min-height:500px}.look--couple{display:grid;grid-template-columns:1fr}.look--couple figure{height:72vw}.look__copy{align-self:end;min-height:0;padding:24px}.look--men figure{order:2}.look__caption{padding:12px}
}
@media (max-width:560px){
  .ui-label{font-size:7.5px;letter-spacing:.12em}
  .date-scene{min-height:0}.date-scene__pin{min-height:760px}.date-scene__composition{min-height:700px;margin-top:28px}.date-scene__day{top:9%;font-size:46vw}.date-scene__slit{left:28%;top:25%;width:72%;height:39%}.date-scene__month{top:50%}.date-scene__month em{font-size:18vw}.date-scene__weekday{bottom:19%}.date-scene__weekday strong{font-size:9vw}.date-scene__year{bottom:8%;font-size:19vw}.date-scene__note{bottom:2%;width:54%;max-width:210px}.date-scene__note p{font-size:13px;line-height:1.42}
  .program-row{grid-template-columns:58px 1fr auto}.program-row__time{font-size:22px}.program-row__name{font-size:clamp(38px,10.5vw,64px)}
  .look{grid-template-columns:1fr}.look figure,.look--couple figure{height:116vw;min-height:450px}.look--men figure{order:0}.look__copy{padding:22px 0 34px}.look__caption{border-top:0;padding:12px 0 26px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:smooth}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loader{display:none}.hero__visual img,.manifesto__image img,.date-scene__slit img,.story-frame__media img,.venue__image img,.look img,.archive-card img,.finale__image{transform:none!important}.story-frame{opacity:1!important;visibility:visible!important}
}

/* =========================================================
   V6 — FINAL PRODUCTION POLISH
   Clear date composition / dress lookbook slider / spacing
   ========================================================= */

:root{--display-tracking:-.046em}

/* Invitation: slightly more editorial image balance without changing the block */
@media (min-width:961px){
  .manifesto__image--main{right:-2%;top:0;width:88%;height:75%}
  .manifesto__image--small{left:-16%;bottom:0;width:58%;height:34%}
}

/* DATE V6 — everything reads as one date before any motion starts */
.date-scene{position:relative;height:190svh;background:var(--paper);color:var(--ink)}
.date-scene__pin{position:relative;height:100svh;min-height:720px;overflow:hidden;background:var(--paper);padding:24px var(--pad) 20px}
.section-rail--date{position:relative;z-index:12;border-color:var(--line-dark);color:rgba(13,13,12,.52)}
.date-scene__layout{position:absolute;left:var(--pad);right:var(--pad);top:98px;bottom:52px;display:grid;grid-template-columns:minmax(460px,.92fr) minmax(480px,1.08fr);gap:clamp(36px,5vw,88px);align-items:stretch}
.date-scene__copy{position:relative;z-index:4;display:flex;flex-direction:column;min-width:0;padding:4vh 0 1.2vh}
.date-scene__eyebrow{display:block;color:rgba(13,13,12,.47);margin-bottom:3vh}
.date-scene__date{margin:0;display:flex;flex-direction:column;align-items:flex-start;text-transform:uppercase;font-weight:600;line-height:.76;letter-spacing:-.06em}
.date-scene__day{display:block;font-size:clamp(180px,20vw,360px);line-height:.68;letter-spacing:-.075em}
.date-scene__month{display:block;margin:-.02em 0 0 .055em;font-family:var(--serif);font-style:normal;font-weight:400;text-transform:none;color:var(--wine);font-size:clamp(62px,6.9vw,122px);line-height:.9;letter-spacing:-.035em;white-space:nowrap}
.date-scene__year{display:block;margin:.06em 0 0 .025em;font-size:clamp(72px,8vw,142px);line-height:.72;letter-spacing:-.065em}
.date-scene__facts{margin-top:auto;display:grid;grid-template-columns:.65fr .65fr 1.7fr;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.date-scene__facts>div{min-width:0;padding:15px 16px 15px 0}.date-scene__facts>div+div{border-left:1px solid var(--line-dark);padding-left:16px}
.date-scene__facts span{display:block;color:rgba(13,13,12,.45);margin-bottom:7px}.date-scene__facts strong{display:block;font-size:clamp(14px,1.15vw,18px);font-weight:500;line-height:1.25;letter-spacing:-.018em;overflow-wrap:anywhere}
.date-scene__note{width:min(92%,520px);margin:18px 0 0;font-size:clamp(15px,1.05vw,18px);line-height:1.48;letter-spacing:-.018em;color:rgba(13,13,12,.7)}
.date-scene__visual{position:relative;min-width:0;height:100%;overflow:hidden;background:#cec6ba;clip-path:inset(0 0 0 0)}
.date-scene__visual img{filter:saturate(.7) contrast(1.045);transform:scale(1.045);object-position:center 48%;will-change:transform}
.date-scene__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.02) 56%,rgba(0,0,0,.35))}
.date-scene__caption{position:absolute;z-index:3;left:16px;right:16px;bottom:13px;display:flex;justify-content:space-between;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.date-scene__stamp{position:absolute;z-index:3;top:18px;right:18px;display:flex;align-items:center;background:rgba(242,238,229,.92);color:var(--ink);border:1px solid rgba(13,13,12,.18);backdrop-filter:blur(6px)}
.date-scene__stamp>*{display:grid;place-items:center;width:42px;height:42px;border-right:1px solid rgba(13,13,12,.15);font-size:10px;font-weight:600;letter-spacing:.08em;font-style:normal}.date-scene__stamp>*:last-child{border-right:0}
.date-scene__footer{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:17px;display:flex;justify-content:space-between;color:rgba(13,13,12,.46)}

/* STORY spacing polish */
.story__intro-grid{min-height:58svh;padding:3vh 0 4vh}
.story__intro-grid>p{margin-bottom:.8vw}
.story-frame__copy>.ui-label{margin-bottom:3.4vh}
.story-frame__copy p{margin-top:4vh}

/* PROGRAM V6 — fixed image lane; no overlap, calmer feedback */
.program__head{min-height:70svh;padding:8vh 0 6vh}
.program__head h2{letter-spacing:-.047em}
.program-row{grid-template-columns:96px minmax(250px,.95fr) minmax(210px,.48fr) clamp(260px,24vw,390px) 30px;min-height:146px;gap:clamp(16px,1.7vw,30px);padding-top:17px;padding-bottom:17px;transition:min-height .72s cubic-bezier(.16,.76,.2,1),padding .72s cubic-bezier(.16,.76,.2,1),color .72s cubic-bezier(.16,.76,.2,1)}
.program-row:before{transform-origin:left center;transform:scaleX(0) scaleY(1);transition:transform .78s cubic-bezier(.16,.76,.2,1)}
.program-row__name{letter-spacing:-.047em;transition:transform .72s cubic-bezier(.16,.76,.2,1)}
.program-row__desc{max-width:290px;transition:transform .72s cubic-bezier(.16,.76,.2,1),color .72s ease}
.program-row__media{height:118px;clip-path:inset(0 100% 0 0);opacity:.01;transform:none;border-left:1px solid rgba(255,255,255,.14);transition:clip-path .76s cubic-bezier(.16,.76,.2,1),opacity .52s ease}
.program-row__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(111,47,64,.58),transparent 34%);pointer-events:none}
.program-row__media img{transform:scale(1.075);transition:transform 1.1s cubic-bezier(.16,.76,.2,1)}
.program-row:hover{min-height:164px;padding-top:25px;padding-bottom:25px}.program-row:hover:before{transform:scaleX(1) scaleY(1)}.program-row:hover .program-row__name{transform:translateX(8px)}.program-row:hover .program-row__desc{transform:translateX(3px);color:rgba(255,255,255,.88)}.program-row:hover .program-row__media{clip-path:inset(0);opacity:1}.program-row:hover .program-row__media img{transform:scale(1.015)}

/* DRESS V6 — slider with real browsing intent */
.dress__hero{min-height:68svh;padding:8vh 0 6vh}.dress__headline h2{letter-spacing:-.049em}
.dress-slider{margin-inline:calc(var(--pad)*-1);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:0 var(--pad)}
.dress-slider__head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:18px 0 16px;border-bottom:1px solid var(--line-dark)}
.dress-slider__head>div:first-child{display:flex;align-items:baseline;gap:28px}.dress-slider__head p{margin:0;max-width:520px;font-size:13px;line-height:1.45;color:rgba(13,13,12,.62)}
.dress-slider__controls{display:flex;align-items:center;gap:8px}.dress-slider__count{margin-right:10px;color:rgba(13,13,12,.52)}.dress-slider__count b{font-weight:600;color:var(--ink)}
.dress-slider__button{width:43px;height:43px;border:1px solid var(--line-dark);background:transparent;display:grid;place-items:center;font-size:18px;cursor:pointer;transition:background .3s,color .3s,opacity .3s}.dress-slider__button:hover{background:var(--ink);color:var(--paper)}.dress-slider__button:disabled{opacity:.28;cursor:default}.dress-slider__button:disabled:hover{background:transparent;color:var(--ink)}
.dress-slider__viewport{overflow:hidden;touch-action:pan-y;outline:none;cursor:grab}.dress-slider__viewport.is-dragging{cursor:grabbing}.dress-slider__viewport:focus-visible{box-shadow:inset 0 0 0 2px var(--wine)}
.dress-slider__track{display:flex;gap:14px;padding:14px 0 16px;will-change:transform;transition:transform .78s cubic-bezier(.16,.76,.2,1)}
.dress-slide{flex:0 0 calc((100% - 28px)/3);min-width:0}.dress-slide figure{height:clamp(500px,47vw,700px);overflow:hidden;background:#d8d1c5}.dress-slide img{filter:saturate(.68) contrast(1.035);transform:scale(1.035);transition:transform .9s var(--ease-soft)}.dress-slide:hover img{transform:scale(1.01)}
.dress-slide__meta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 1px 2px}.dress-slide__meta span{color:rgba(13,13,12,.48)}.dress-slide__meta strong{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-align:right}
.dress-guide{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line-dark)}.dress-guide__item{padding:42px 4vw 46px 0}.dress-guide__item+ .dress-guide__item{border-left:1px solid var(--line-dark);padding-left:4vw}.dress-guide__item>.ui-label{color:rgba(13,13,12,.48)}.dress-guide__item h3{margin:16px 0 20px;font-size:clamp(42px,4.8vw,78px);line-height:.84;letter-spacing:-.048em}.dress-guide__item p{max-width:470px;margin:0;font-size:15px;line-height:1.52;color:rgba(13,13,12,.72)}.dress-guide__tags{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:27px;color:rgba(13,13,12,.48)}

/* Archive: remove the dead air before the section title */
.archive__intro-grid{min-height:56svh;padding:5vh 0 4.5vh}.archive__intro h2{letter-spacing:-.052em}.archive__intro-grid p{margin-bottom:24px}

/* General Cyrillic readability */
.manifesto__copy h2,.story__intro h2,.story-frame__copy h3,.program__head h2,.venue__title,.dress__headline h2,.archive__intro h2,.archive-card__copy h3,.rsvp__lead h2{font-feature-settings:"kern" 1,"liga" 1;text-wrap:balance}

@media (max-width:960px){
  .date-scene{height:auto;min-height:0}.date-scene__pin{height:auto;min-height:0;padding-bottom:28px}.date-scene__layout{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:24px;margin-top:44px}.date-scene__copy{padding:0}.date-scene__eyebrow{margin-bottom:24px}.date-scene__date{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:16px;row-gap:0}.date-scene__day{grid-row:1/3;font-size:38vw}.date-scene__month{align-self:end;margin:0 0 .08em;font-size:13.5vw}.date-scene__year{margin:0 0 .04em;font-size:16vw}.date-scene__facts{margin-top:28px}.date-scene__visual{height:min(78vw,650px);min-height:470px}.date-scene__footer{position:relative;left:auto;right:auto;bottom:auto;margin-top:18px}.date-scene__note{max-width:520px}
  .story__intro-grid{min-height:50svh;padding:3vh 0 3vh}
  .program__head{min-height:auto;padding:9vh 0 6vh}.program-row{grid-template-columns:72px 1fr auto;min-height:124px;gap:12px;padding-inline:var(--pad)}.program-row__desc{grid-column:2/4}.program-row__media{display:none}.program-row:hover{min-height:124px;padding-top:18px;padding-bottom:18px}.program-row:hover:before{transform:scaleX(0)}.program-row:hover .program-row__name,.program-row:hover .program-row__desc{transform:none}
  .dress__hero{min-height:auto;padding:8vh 0 6vh}.dress-slider__head{grid-template-columns:1fr auto}.dress-slider__head>div:first-child{display:block}.dress-slider__head p{margin-top:10px;max-width:420px}.dress-slide{flex-basis:calc((100% - 14px)/2)}.dress-slide figure{height:72vw;max-height:680px}.dress-guide{grid-template-columns:1fr}.dress-guide__item{padding:34px 0 38px}.dress-guide__item+.dress-guide__item{border-left:0;border-top:1px solid var(--line-dark);padding-left:0}.dress__tones{grid-template-columns:1fr 1fr}
  .archive__intro-grid{min-height:auto;padding:6vh 0 5vh}.archive__intro-grid>div{margin-top:32px}
}

@media (max-width:560px){
  .date-scene__layout{margin-top:30px}.date-scene__eyebrow{margin-bottom:18px}.date-scene__date{grid-template-columns:auto 1fr;column-gap:10px}.date-scene__day{font-size:41vw}.date-scene__month{font-size:14.5vw}.date-scene__year{font-size:17vw}.date-scene__facts{grid-template-columns:1fr 1fr;margin-top:22px}.date-scene__facts>div:nth-child(3){grid-column:1/3;border-left:0;border-top:1px solid var(--line-dark);padding-left:0}.date-scene__facts>div:nth-child(2){padding-right:0}.date-scene__visual{height:112vw;min-height:420px}.date-scene__caption{font-size:7px}.date-scene__stamp{top:12px;right:12px}.date-scene__stamp>*{width:36px;height:36px}.date-scene__footer{margin-top:14px}
  .story__intro-grid{min-height:auto;padding:7vh 0 5vh}
  .dress-slider{padding:0 var(--pad)}.dress-slider__head{grid-template-columns:1fr;gap:16px}.dress-slider__controls{justify-content:space-between}.dress-slider__count{margin-right:auto}.dress-slider__track{gap:10px}.dress-slide{flex-basis:82vw}.dress-slide figure{height:116vw;min-height:430px}.dress-slide__meta{align-items:flex-start}.dress-slide__meta strong{max-width:48%;font-size:8px}.dress-guide__item h3{font-size:13vw}.dress__tones{margin-inline:calc(var(--pad)*-1)}
  .archive__intro-grid{padding:4vh 0 4vh}.archive__intro-grid>div{margin-top:22px}
}

@media (prefers-reduced-motion:reduce){
  .date-scene__visual img,.dress-slide img{transform:none!important}.dress-slider__track{transition:none!important}
}

/* Keep editor previews readable without the pinned GSAP scenes. */
.editor-preview .date-scene{height:auto;min-height:0}
.editor-preview .date-scene__pin{height:auto;min-height:100svh;padding-bottom:70px}
.editor-preview .date-scene__layout{position:relative;inset:auto;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:70svh;margin-top:40px}
.date-scene__layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
@media(max-width:960px){
  .date-scene,.editor-preview .date-scene{height:auto}
  .date-scene__layout,.editor-preview .date-scene__layout{grid-template-columns:minmax(0,1fr)}
  .editor-preview .date-scene__pin{min-height:0;padding-bottom:28px}
  .editor-preview .date-scene__layout{min-height:0}
  .date-scene__month{font-size:clamp(30px,10vw,84px)}
}
.hero__micro span,.hero__quote p,.story-frame__copy h3,.program__head h2,.venue__details p,.dress__intro p,.dress__intro strong,.dress-slide__meta strong,.archive-card__copy h3,.wish-row h3,.contacts__lead h2,.guest-chat__copy h3,.rsvp__lead h2{white-space:pre-line}
.hero__amp{font-family:var(--sans);font-style:normal;transform:translate(-50%,-50%);letter-spacing:0}
.brand-monogram em{font-family:var(--sans);font-style:normal;transform:translate(-50%,-50%);letter-spacing:0}
.venue__title em{max-width:100%;overflow-wrap:anywhere;text-transform:none}

.editor-preview .venue__image{animation:editor-venue-image .9s cubic-bezier(.2,.65,.2,1) both}
.editor-preview .venue__title{animation:editor-venue-title .72s .12s cubic-bezier(.2,.65,.2,1) both}
.editor-preview .venue__details{animation:editor-venue-details .72s .24s cubic-bezier(.2,.65,.2,1) both}
@keyframes editor-venue-image{from{clip-path:inset(5% 5% 5% 5%)}to{clip-path:inset(0)}}
@keyframes editor-venue-title{from{opacity:0;transform:translateY(calc(-48% + 18px))}to{opacity:1;transform:translateY(-48%)}}
@keyframes editor-venue-details{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.editor-preview .venue__image,.editor-preview .venue__title,.editor-preview .venue__details{animation:none!important}}

/* V6 date reset: neutralize positioning inherited from earlier iterations */
.date-scene__day,.date-scene__month,.date-scene__year,.date-scene__note{position:static;left:auto;right:auto;top:auto;bottom:auto;z-index:auto;transform:none}
.date-scene__month{display:block;align-items:initial;gap:0;white-space:nowrap}
.date-scene__year{display:block;gap:0}

/* final spacing trim after motion review */
.date-scene{height:165svh}
.story__intro-grid{min-height:52svh}
.archive .section-rail{padding-top:24px}
.archive__intro-grid{min-height:auto;padding:7vh 0 5vh}
@media (max-width:960px){.archive__intro-grid{padding:5vh 0 4vh}}
@media (max-width:560px){.archive__intro-grid{padding:3.5vh 0 3.5vh}}

/* graceful fallback when motion libraries are unavailable */
.no-motion .date-scene{height:auto}
.no-motion .date-scene__pin{height:auto;min-height:0}
@media (prefers-reduced-motion:reduce){.date-scene{height:auto}.date-scene__pin{height:auto;min-height:0}}

/* =========================================================
   V7 — final product polish
   monogram / safe header / program order / wishes / contacts
   ========================================================= */

/* Header: custom K&N monogram + protected safe zone for pinned scenes */
.topbar{z-index:220}
.brand-monogram{position:relative;display:block;width:43px;height:27px;color:currentColor;font-family:var(--hero-sans);font-size:19px;font-weight:700;line-height:27px;letter-spacing:-.08em}
.brand-monogram__k,.brand-monogram__n{position:absolute;top:0;font-style:normal}
.brand-monogram__k{left:0}
.brand-monogram__n{right:0}
.brand-monogram em{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-8deg);font-family:var(--hero-serif);font-size:21px;font-weight:400;font-style:italic;line-height:1;letter-spacing:0}
.brand-monogram:after{content:"";position:absolute;left:11px;right:10px;bottom:2px;height:1px;background:currentColor;opacity:.52;transform:scaleX(.62);transform-origin:center;transition:transform .4s var(--ease),opacity .4s var(--ease)}
.topbar__brand:hover .brand-monogram:after{transform:scaleX(1);opacity:.9}

/* Pinned scene metadata should never sit underneath the fixed navigation. */
.story__counter{top:78px}
.story__progress{top:106px}
.venue__meta,.finale__meta{top:76px}
.date-scene .section-rail{padding-top:72px}
.dress>.section-rail,.archive>.archive__intro>.section-rail{padding-top:72px}

/* Program V7 — title first, time second. */
.program-row{grid-template-columns:minmax(270px,.95fr) 104px minmax(210px,.5fr) clamp(260px,24vw,390px) 30px}
.program-row__name{grid-column:1}
.program-row__time{grid-column:2;justify-self:start;white-space:nowrap}
.program-row__desc{grid-column:3}
.program-row__media{grid-column:4}
.program-row__index{grid-column:5}

/* Wishes */
.wishes{position:relative;background:var(--paper);color:var(--ink);padding:24px var(--pad) 0;overflow:hidden}
.section-rail--wishes{border-color:var(--line-dark);color:rgba(13,13,12,.52);padding-top:72px}
.wishes__head{display:grid;grid-template-columns:.55fr 1.35fr .75fr;gap:clamp(28px,5vw,88px);align-items:end;padding:9vh 0 8vh;border-bottom:1px solid var(--line-dark)}
.wishes__head>.ui-label{align-self:start;padding-top:10px;color:rgba(13,13,12,.48)}
.wishes__head h2{margin:0;font-size:clamp(76px,9.7vw,174px);line-height:.73;letter-spacing:-.054em;text-transform:uppercase;font-weight:600}
.wishes__head h2 span,.wishes__head h2 em{display:block}
.wishes__head h2 em{font-family:var(--serif);font-size:.62em;font-weight:400;font-style:normal;text-transform:none;letter-spacing:-.035em;color:var(--wine);margin-left:18%}
.wishes__head>p{margin:0 0 .3em;font-size:clamp(16px,1.25vw,20px);line-height:1.5;letter-spacing:-.018em;max-width:410px}
.wishes__list{margin-inline:calc(var(--pad)*-1)}
.wish-row{position:relative;display:grid;grid-template-columns:150px minmax(340px,.9fr) minmax(300px,.72fr) 46px;gap:clamp(20px,4vw,72px);align-items:center;min-height:240px;padding:34px var(--pad);border-bottom:1px solid var(--line-dark);overflow:hidden;isolation:isolate}
.wish-row:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .72s cubic-bezier(.16,.76,.2,1)}
.wish-row>*{transition:color .6s ease,transform .72s var(--ease-soft)}
.wish-row__index{align-self:start;padding-top:9px;color:rgba(13,13,12,.5)}
.wish-row h3{margin:0;font-size:clamp(52px,5.5vw,98px);line-height:.78;letter-spacing:-.052em;text-transform:uppercase;font-weight:600}
.wish-row h3 em{font-family:var(--serif);font-size:.72em;font-style:normal;font-weight:400;text-transform:none;letter-spacing:-.035em;color:var(--wine)}
.wish-row p{margin:0;max-width:470px;font-size:clamp(14px,1.1vw,18px);line-height:1.55;letter-spacing:-.015em;color:rgba(13,13,12,.68)}
.wish-row__mark{justify-self:end;font-size:30px;font-weight:300;transform:rotate(0deg)}
@media (hover:hover){
  .wish-row:hover{color:var(--paper)}
  .wish-row:hover:before{transform:scaleY(1)}
  .wish-row:hover h3{transform:translateX(10px)}
  .wish-row:hover h3 em{color:#d6a5b1}
  .wish-row:hover p,.wish-row:hover .wish-row__index{color:rgba(242,238,229,.66)}
  .wish-row:hover .wish-row__mark{transform:rotate(45deg)}
}

/* Contacts */
.contacts{position:relative;background:var(--ink);color:var(--paper);padding:24px var(--pad) 96px;overflow:hidden}
.section-rail--contacts{color:rgba(242,238,229,.5);padding-top:72px}
.contacts__top{display:grid;grid-template-columns:1.25fr .6fr;gap:8vw;align-items:end;padding:9vh 0 7vh}
.contacts__lead>.ui-label{display:block;margin-bottom:22px;color:rgba(242,238,229,.46)}
.contacts__lead h2{margin:0;font-size:clamp(86px,10.8vw,194px);line-height:.69;letter-spacing:-.058em;text-transform:uppercase;font-weight:600}
.contacts__lead h2 em{display:block;margin-left:24%;font-family:var(--serif);font-size:.65em;font-weight:400;font-style:normal;text-transform:none;letter-spacing:-.035em;color:#d9b3bd}
.contacts__top>p{margin:0 0 8px;max-width:450px;font-size:clamp(16px,1.25vw,20px);line-height:1.5;letter-spacing:-.018em;color:rgba(242,238,229,.72)}
.contacts__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.contact-card{position:relative;min-height:500px;padding:18px clamp(20px,2.2vw,38px) 28px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border-right:1px solid var(--line-light);transition:background .55s var(--ease),color .55s var(--ease)}
.contact-card:last-child{border-right:0}
.contact-card__meta{display:flex;justify-content:space-between;color:rgba(242,238,229,.45)}
.contact-card__portrait{align-self:center;justify-self:center;position:relative;width:min(16vw,250px);aspect-ratio:1;border:1px solid rgba(242,238,229,.16);border-radius:50%;display:grid;place-items:center;overflow:hidden;transition:transform .65s var(--ease),border-color .55s ease,background .55s ease}
.contact-card__portrait:before,.contact-card__portrait:after{content:"";position:absolute;background:rgba(242,238,229,.13)}
.contact-card__portrait:before{width:1px;height:130%;transform:rotate(45deg)}
.contact-card__portrait:after{height:1px;width:130%;transform:rotate(-18deg)}
.contact-card__portrait span{position:relative;z-index:2;font-family:var(--hero-serif);font-size:clamp(76px,8vw,142px);font-style:italic;line-height:.8}
.contact-card__portrait--groom{background:#111b1d}
.contact-card__portrait--bride{background:#5f2738}
.contact-card__portrait--organizer{background:#696c5c}
.contact-card__body h3{margin:0 0 12px;font-size:clamp(34px,3.5vw,62px);line-height:.84;letter-spacing:-.045em;text-transform:uppercase}
.contact-card__body p{margin:0 0 26px;max-width:390px;font-size:13px;line-height:1.5;color:rgba(242,238,229,.62)}
.contact-link{width:100%;border:0;border-top:1px solid rgba(242,238,229,.24);background:transparent;padding:15px 0 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.145em;text-transform:uppercase}
.contact-link i{font-style:normal;font-size:17px;font-weight:300;transition:transform .4s var(--ease)}
@media (hover:hover){
  .contact-card:hover{background:#151514}
  .contact-card:hover .contact-card__portrait{transform:scale(1.045) rotate(-2deg);border-color:rgba(242,238,229,.35)}
  .contact-link:hover i{transform:translate(4px,-4px)}
}

.guest-chat{position:relative;margin-top:56px;border:1px solid rgba(242,238,229,.24);min-height:350px;padding:clamp(28px,4vw,64px);display:grid;grid-template-columns:1fr auto;gap:56px;align-items:end;overflow:hidden}
.guest-chat:before{content:"CHAT";position:absolute;right:-.04em;top:-.22em;font-size:clamp(130px,20vw,360px);font-weight:600;line-height:1;letter-spacing:-.08em;color:rgba(242,238,229,.035);pointer-events:none}
.guest-chat__copy{position:relative;z-index:2;max-width:780px}
.guest-chat__copy>.ui-label{display:block;margin-bottom:24px;color:rgba(242,238,229,.48)}
.guest-chat__copy h3{margin:0;font-size:clamp(70px,8vw,142px);line-height:.72;letter-spacing:-.055em;text-transform:uppercase;font-weight:600}
.guest-chat__copy h3 em{font-family:var(--serif);font-size:.7em;font-style:normal;font-weight:400;text-transform:none;letter-spacing:-.035em;color:#d9b3bd}
.guest-chat__copy p{max-width:560px;margin:30px 0 0;font-size:clamp(14px,1.05vw,18px);line-height:1.52;color:rgba(242,238,229,.68)}
.guest-chat__button{position:relative;z-index:2;min-width:260px;border:1px solid rgba(242,238,229,.5);background:transparent;padding:18px 20px;display:flex;justify-content:space-between;gap:40px;align-items:center;cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.145em;text-transform:uppercase;transition:background .35s ease,color .35s ease}
.guest-chat__button:hover{background:var(--paper);color:var(--ink)}
.guest-chat__button i{font-style:normal;font-size:18px;font-weight:300}
.guest-chat__status{position:absolute;left:clamp(28px,4vw,64px);bottom:17px;color:#d9b3bd}

/* RSVP follows two new sections. */
.rsvp{padding-top:24px}

@media (max-width:960px){
  .story__counter{top:72px}.story__progress{top:99px}
  .venue__meta,.finale__meta{top:70px}
  .date-scene .section-rail,.dress>.section-rail,.archive>.archive__intro>.section-rail,.section-rail--wishes,.section-rail--contacts{padding-top:68px}
  .program-row{grid-template-columns:1fr 74px auto!important;min-height:124px;gap:12px;padding-inline:var(--pad)}
  .program-row__name{grid-column:1}.program-row__time{grid-column:2;justify-self:end}.program-row__index{grid-column:3}.program-row__desc{grid-column:1/4}.program-row__media{display:none}
  .wishes__head{grid-template-columns:1fr;padding:8vh 0 6vh;gap:28px}.wishes__head>.ui-label{padding:0}.wishes__head h2{font-size:clamp(72px,15vw,118px)}.wishes__head h2 em{margin-left:18%}.wishes__head>p{max-width:560px}
  .wish-row{grid-template-columns:90px 1fr 34px;gap:20px;min-height:0;padding:32px var(--pad)}.wish-row h3{grid-column:2;font-size:clamp(48px,10vw,78px)}.wish-row p{grid-column:2/4;margin-top:2px}.wish-row__mark{grid-column:3;grid-row:1/3;align-self:center}.wish-row:hover:before{transform:scaleY(0)}.wish-row:hover{color:var(--ink)}.wish-row:hover h3{transform:none}.wish-row:hover h3 em{color:var(--wine)}.wish-row:hover p,.wish-row:hover .wish-row__index{color:inherit}
  .contacts__top{grid-template-columns:1fr;gap:36px;padding:8vh 0 6vh}.contacts__lead h2{font-size:clamp(78px,16vw,132px)}.contacts__top>p{max-width:560px}
  .contacts__grid{grid-template-columns:1fr}.contact-card{min-height:420px;border-right:0;border-bottom:1px solid var(--line-light)}.contact-card:last-child{border-bottom:0}.contact-card__portrait{width:min(38vw,260px)}
  .guest-chat{grid-template-columns:1fr;align-items:start;gap:38px}.guest-chat__button{justify-self:start}.guest-chat__status{position:static;grid-column:1;margin-top:-18px}
}

@media (max-width:560px){
  .brand-monogram{width:39px;height:25px;font-size:17px}.brand-monogram em{font-size:19px}
  .topbar{padding-top:12px}
  .story__counter{top:65px}.story__progress{top:91px}
  .date-scene .section-rail,.dress>.section-rail,.archive>.archive__intro>.section-rail,.section-rail--wishes,.section-rail--contacts{padding-top:60px}
  .program-row{grid-template-columns:1fr 58px auto!important}.program-row__time{font-size:21px}.program-row__name{font-size:clamp(37px,10vw,60px)}
  .wishes{padding-top:16px}.wishes__head{padding:6vh 0 5vh}.wishes__head h2{font-size:clamp(64px,16vw,92px)}.wishes__head>p{font-size:15px}.wish-row{grid-template-columns:1fr 28px;gap:16px;padding:28px var(--pad)}.wish-row__index{grid-column:1/3;padding:0}.wish-row h3{grid-column:1;font-size:clamp(45px,13vw,68px)}.wish-row p{grid-column:1/3;font-size:13px}.wish-row__mark{grid-column:2;grid-row:2;align-self:center;font-size:24px}
  .contacts{padding-top:16px;padding-bottom:72px}.contacts__top{padding:6vh 0 5vh}.contacts__lead h2{font-size:clamp(70px,18vw,100px)}.contacts__lead h2 em{margin-left:16%}.contacts__top>p{font-size:15px}.contact-card{min-height:380px;padding-inline:0}.contact-card__portrait{width:min(52vw,220px)}.contact-card__body h3{font-size:42px}.contact-card__body p{font-size:12px}.contact-card__meta{padding-inline:0}
  .guest-chat{margin-top:38px;min-height:0;padding:26px 20px 48px;gap:30px}.guest-chat__copy h3{font-size:clamp(58px,16vw,86px)}.guest-chat__copy p{font-size:13px;margin-top:22px}.guest-chat__button{width:100%;min-width:0}.guest-chat__status{font-size:7px;line-height:1.45}
}

.site-toast{position:fixed;z-index:280;left:50%;bottom:24px;transform:translate(-50%,18px);max-width:min(620px,calc(100vw - 32px));padding:12px 16px;background:rgba(13,13,12,.94);color:var(--paper);border:1px solid rgba(242,238,229,.22);box-shadow:0 18px 50px rgba(0,0,0,.22);opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s var(--ease),visibility .3s;text-align:center;backdrop-filter:blur(10px)}
.site-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}

@media (max-width:960px){
  .mobile-menu{overflow-y:auto;padding-bottom:24px}
  .mobile-menu__footer{position:static;margin-top:24px;padding-bottom:12px}
}
section[id]{scroll-margin-top:64px}

/* Editor preview keeps the long-form date and venue readable without scroll pinning. */
html.no-motion.editor-preview .date-scene{height:auto;min-height:0}
html.no-motion.editor-preview .date-scene__pin{height:auto;min-height:100svh;padding-bottom:64px}
html.no-motion.editor-preview .date-scene__layout{position:relative;inset:auto;min-height:0;margin-top:42px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
html.no-motion.editor-preview .date-scene__date,html.no-motion.editor-preview .date-scene__copy,html.no-motion.editor-preview .date-scene__visual{min-width:0}
html.no-motion.editor-preview .date-scene__date{font-size:clamp(54px,8vw,132px);overflow-wrap:anywhere}
html.no-motion.editor-preview .venue__title em{display:block;margin-left:0;max-width:16ch;font-size:clamp(44px,8vw,118px);line-height:.94;overflow-wrap:anywhere}
.story-frame__copy h3,.archive-card__copy h3,.wish-row h3,.contacts__lead h2,.guest-chat__copy h3,.rsvp__lead h2{white-space:pre-line}
.story-frame__copy p,.program__head>p,.dress__intro p,.dress__intro strong,.archive__intro-grid p,.wishes__head>p,.contacts__top>p,.contact-card__body p,.guest-chat__copy p,.rsvp__lead>p,.venue__details p{white-space:pre-line}
@media(max-width:960px){
  html.no-motion.editor-preview .date-scene__layout{grid-template-columns:1fr;gap:34px;margin-top:32px}
  html.no-motion.editor-preview .date-scene__visual{min-height:42svh}
  html.no-motion.editor-preview .date-scene__date{font-size:clamp(58px,14vw,110px)}
  html.no-motion.editor-preview .venue__title em{font-size:clamp(42px,12vw,90px)}
}
