/* Universes: twenty original compositions. Every rule is opt-in, so existing
   collections keep their layout. Artwork is decorative; names remain live HTML. */
.wedding-body.w-universes[class]{--uv-line:color-mix(in srgb,var(--theme-ink) 25%,transparent);--uv-wash:color-mix(in srgb,var(--universes-secondary) 12%,var(--theme-paper));font-family:var(--universes-body-font,'DM Sans'),sans-serif;color:var(--theme-ink);background:var(--theme-paper)}
.wedding-body.w-universes[class] .wedding-hero.universes-hero{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;isolation:isolate;overflow:hidden;width:100%;max-width:none;min-height:790px;height:auto;margin:0;padding:90px clamp(32px,7.5vw,145px);border:0;border-radius:0;outline:0;box-shadow:none;gap:0;grid-template:none;background:var(--theme-paper);color:var(--theme-ink)}
.wedding-body.w-universes[class] .universes-hero::before,.wedding-body.w-universes[class] .universes-hero::after{content:none}
.wedding-body.w-universes[class] .universes-scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.wedding-body.w-universes[class] .universes-scene>span{display:block;position:absolute;pointer-events:none}
.wedding-body.w-universes[class] .universes-artwork{inset:0;background:var(--universes-art,none) center/cover no-repeat}
.wedding-body.w-universes[class] .universes-wash{inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-paper) 82%,transparent),color-mix(in srgb,var(--theme-paper) 45%,transparent) 37%,transparent 66%)}
.wedding-body.w-universes[class] .universes-line,.wedding-body.w-universes[class] .universes-symbol{display:none}
.wedding-body.w-universes[class] .universes-photo{position:absolute;inset:60px 6.5% 60px auto;z-index:1;width:42%;height:calc(100% - 120px);max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible;transform:none;background:transparent}
.wedding-body.w-universes[class] .universes-photo .w-cover-photo{display:block;position:relative;inset:auto;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:var(--cover-position,50% 40%);border:0;border-radius:inherit;outline:0;box-shadow:none;filter:none;opacity:1;transform:none;z-index:0;grid-area:auto;clip-path:none;mask-image:none;-webkit-mask-image:none}
.wedding-body.w-universes[class] .wedding-hero-content.universes-copy{position:relative;inset:auto;display:block;z-index:2;width:47%;max-width:760px;min-width:0;padding:15px 0;margin:0;border:0;border-radius:0;outline:0;box-shadow:none;backdrop-filter:none;background:none;color:var(--theme-ink);text-align:left;transform:none;grid-area:auto;animation:none}
.wedding-body.w-universes[class] .universes-copy::before,.wedding-body.w-universes[class] .universes-copy::after{content:none}
.wedding-body.w-universes[class] .universes-copy>span{display:block;max-width:100%;margin:0 0 27px;font:500 11px/1.9 var(--universes-body-font,'DM Sans'),sans-serif;letter-spacing:.2em;text-transform:uppercase;color:inherit;opacity:1}
.wedding-body.w-universes[class] .universes-copy h1{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:0;width:100%;max-width:100%;margin:0 0 30px;padding:0;font-family:var(--name-font,var(--w-font));font-style:var(--name-style,normal);font-weight:400;font-size:clamp(62px,6.6vw,112px);line-height:1.12;letter-spacing:-.025em;text-align:inherit;color:inherit;text-shadow:none;white-space:normal;transform:none}
.wedding-body.w-universes[class] .universes-copy h1>span{display:block;flex:0 1 auto;width:auto;max-width:100%;margin:0;padding:0;font:inherit;letter-spacing:inherit;color:inherit;text-transform:none;white-space:normal;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.wedding-body.w-universes[class] .universes-copy h1>em{display:block;flex:0 0 auto;width:auto;margin:.08em 0 .12em;font:italic .39em/1.1 'Cormorant Garamond',Georgia,serif;color:var(--theme-accent)}
.wedding-body.w-universes[class] .universes-copy>p{max-width:100%;margin:0 0 28px;font:500 12px/1.9 var(--universes-body-font,'DM Sans'),sans-serif;letter-spacing:.055em;text-transform:none;color:inherit;text-wrap:balance}
.wedding-body.w-universes[class] .universes-copy>p:empty{display:none}
.wedding-body.w-universes[class] .universes-copy>.button{position:relative;inset:auto;display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:48px;max-width:100%;width:auto;margin:0;padding:13px 23px;font:600 12px/1.5 var(--universes-body-font,'DM Sans'),sans-serif;letter-spacing:.025em;white-space:normal;text-transform:none;color:var(--theme-paper);background:var(--theme-ink);border:1px solid var(--theme-ink);border-radius:0;box-shadow:none;transition:background-color .2s,color .2s;transform:none}
.wedding-body.w-universes[class] .universes-copy>.button:hover{color:var(--theme-ink);background:var(--theme-paper)}
.wedding-body.w-universes[class] .universes-copy>.button:focus-visible{outline:2px solid var(--theme-ink);outline-offset:6px}
.wedding-body.w-universes[class] .universes-arrow{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
/* 01 / Neon portrait: glowing lines frame the photograph, never the names. */
.wedding-body.w-universes.universes-composition-neon[class] .universes-photo{inset:70px 8% 70px auto;width:39%;height:calc(100% - 140px);padding:9px;border:1px solid var(--theme-accent);box-shadow:0 0 25px color-mix(in srgb,var(--theme-accent) 18%,transparent)}
.wedding-body.w-universes.universes-composition-neon[class] .universes-photo::after{content:"";position:absolute;inset:18px -17px -18px 17px;border:1px solid var(--universes-secondary);z-index:-1;pointer-events:none}
.wedding-body.w-universes.universes-composition-neon[class] .universes-copy h1{font-size:clamp(78px,8.2vw,132px);letter-spacing:.015em;text-shadow:0 0 24px color-mix(in srgb,var(--theme-accent) 25%,transparent)}
.wedding-body.w-universes.universes-composition-neon[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border-color:var(--theme-accent);border-radius:3px}
/* 02 / Skyline: an open sky and a low city horizon. */
.wedding-body.w-universes.universes-composition-skyline[class] .universes-hero{justify-content:center;align-items:flex-start;padding-top:90px;padding-bottom:320px;min-height:820px}
.wedding-body.w-universes.universes-composition-skyline[class] .universes-copy{width:88%;max-width:1220px;text-align:center}
.wedding-body.w-universes.universes-composition-skyline[class] .universes-copy h1{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.22em;font-size:clamp(52px,5.7vw,98px);letter-spacing:.015em}
.wedding-body.w-universes.universes-composition-skyline[class] .universes-wash{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-paper) 65%,transparent),transparent 70%)}
.wedding-body.w-universes.universes-composition-skyline[class] .universes-artwork{background-position:center bottom}
.wedding-body.w-universes.universes-composition-skyline[class] .universes-copy>.button{border-radius:30px;background:transparent;color:var(--theme-ink)}
/* 03 / Pixels: a centred game poster, with a functional invitation button. */
.wedding-body.w-universes.universes-composition-pixel[class] .universes-hero{justify-content:center;min-height:820px;padding-block:100px 170px}
.wedding-body.w-universes.universes-composition-pixel[class] .universes-copy{width:80%;max-width:1060px;text-align:center}
.wedding-body.w-universes.universes-composition-pixel[class] .universes-copy h1{align-items:center;font-size:clamp(48px,5.8vw,90px);letter-spacing:-.04em;line-height:1.17;text-shadow:4px 4px 0 color-mix(in srgb,var(--theme-paper) 85%,#000)}
.wedding-body.w-universes.universes-composition-pixel[class] .universes-copy h1>em{font-family:var(--name-font);font-size:.32em;font-style:normal;margin:.3em 0;color:var(--theme-accent)}
.wedding-body.w-universes.universes-composition-pixel[class] .universes-wash{background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--theme-paper) 75%,transparent),transparent 72%)}
.wedding-body.w-universes.universes-composition-pixel[class] .universes-copy>.button{color:var(--theme-paper);background:var(--theme-accent);border-color:var(--theme-accent);box-shadow:5px 5px 0 color-mix(in srgb,var(--theme-paper) 70%,#000)}
/* 04 / Quest: a framed invitation beside an illustrated path. */
.wedding-body.w-universes.universes-composition-quest[class] .universes-copy{width:49%;padding:40px 34px;border:1px solid var(--uv-line);outline:1px solid var(--uv-line);outline-offset:9px;background:color-mix(in srgb,var(--theme-paper) 78%,transparent);text-align:center}
.wedding-body.w-universes.universes-composition-quest[class] .universes-copy h1{align-items:center;font-size:clamp(56px,5.8vw,96px);letter-spacing:.015em}
.wedding-body.w-universes.universes-composition-quest[class] .universes-copy>.button{background:none;color:var(--theme-ink);border-color:var(--theme-accent)}
/* 05 / Premiere: a panoramic still with a title below, like a cinema premiere. */
.wedding-body.w-universes.universes-composition-premiere[class] .universes-hero{flex-direction:column;justify-content:flex-end;min-height:930px;padding:75px 12% 65px;gap:38px}
.wedding-body.w-universes.universes-composition-premiere[class] .universes-photo{position:relative;inset:auto;width:100%;max-width:970px;height:440px;flex-shrink:0;border:1px solid var(--theme-accent);padding:8px;background:var(--theme-paper)}
.wedding-body.w-universes.universes-composition-premiere[class] .universes-copy{width:100%;max-width:1160px;padding:0;text-align:center}
.wedding-body.w-universes.universes-composition-premiere[class] .universes-copy>span{margin-bottom:17px;letter-spacing:.32em}
.wedding-body.w-universes.universes-composition-premiere[class] .universes-copy h1{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.24em;font-size:clamp(54px,6.2vw,104px);margin-bottom:18px;letter-spacing:.015em}
.wedding-body.w-universes.universes-composition-premiere[class] .universes-copy>p{margin-bottom:19px}
.wedding-body.w-universes.universes-composition-premiere[class] .universes-wash{background:linear-gradient(0deg,color-mix(in srgb,var(--theme-paper) 94%,transparent),transparent 68%)}
.wedding-body.w-universes.universes-composition-premiere[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border-color:var(--theme-accent)}
/* 06 / Film: a landscape film still and a typographic column. */
.wedding-body.w-universes.universes-composition-film[class] .universes-hero{justify-content:flex-end;padding-left:5%;padding-right:6%;min-height:800px}
.wedding-body.w-universes.universes-composition-film[class] .universes-photo{inset:145px auto 145px 5%;width:51%;height:calc(100% - 290px);border-block:28px solid var(--theme-ink);box-shadow:0 14px 35px color-mix(in srgb,var(--theme-ink) 15%,transparent)}
.wedding-body.w-universes.universes-composition-film[class] .universes-photo::before,.wedding-body.w-universes.universes-composition-film[class] .universes-photo::after{content:"";position:absolute;inset:-19px 10px auto;height:10px;background:repeating-linear-gradient(90deg,var(--theme-paper) 0 16px,transparent 16px 29px);pointer-events:none}
.wedding-body.w-universes.universes-composition-film[class] .universes-photo::after{top:auto;bottom:-19px}
.wedding-body.w-universes.universes-composition-film[class] .universes-copy{width:38%;text-align:left;padding-left:20px}
.wedding-body.w-universes.universes-composition-film[class] .universes-copy h1{font-size:clamp(62px,6.2vw,108px);line-height:1.02;letter-spacing:-.025em}
.wedding-body.w-universes.universes-composition-film[class] .universes-wash{background:linear-gradient(90deg,transparent 30%,color-mix(in srgb,var(--theme-paper) 85%,transparent) 72%)}
.wedding-body.w-universes.universes-composition-film[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);padding-inline:0;border-width:0 0 1px}
/* 07 / Orbit: an expansive, centred celestial invitation. */
.wedding-body.w-universes.universes-composition-orbit[class] .universes-hero{justify-content:center;min-height:840px;padding-block:110px}
.wedding-body.w-universes.universes-composition-orbit[class] .universes-copy{width:78%;max-width:980px;text-align:center}
.wedding-body.w-universes.universes-composition-orbit[class] .universes-copy h1{align-items:center;flex-direction:column;flex-wrap:nowrap;gap:0;font-size:clamp(62px,6.8vw,112px);letter-spacing:.035em;line-height:1.22}
.wedding-body.w-universes.universes-composition-orbit[class] .universes-copy>span{letter-spacing:.34em}
.wedding-body.w-universes.universes-composition-orbit[class] .universes-copy>.button{border-radius:40px;background:transparent;color:var(--theme-ink);border-color:var(--theme-accent)}
.wedding-body.w-universes.universes-composition-orbit[class] .universes-wash{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--theme-paper) 60%,transparent),transparent 70%)}
/* 08 / Enchanted: a quiet arched page within the illustrated garden. */
.wedding-body.w-universes.universes-composition-enchanted[class] .universes-hero{justify-content:center;min-height:850px}
.wedding-body.w-universes.universes-composition-enchanted[class] .universes-copy{width:56%;max-width:760px;text-align:center;padding:65px 45px 55px;border:1px solid var(--uv-line);border-radius:48% 48% 0 0;background:radial-gradient(ellipse,var(--theme-paper),color-mix(in srgb,var(--theme-paper) 75%,transparent) 65%,transparent)}
.wedding-body.w-universes.universes-composition-enchanted[class] .universes-copy h1{align-items:center;font-size:clamp(58px,6vw,104px);letter-spacing:.025em}
.wedding-body.w-universes.universes-composition-enchanted[class] .universes-wash{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--theme-paper) 35%,transparent),transparent 70%)}
.wedding-body.w-universes.universes-composition-enchanted[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border-color:var(--theme-accent)}
/* 09 / Book: a title page, set generously in a literary serif. */
.wedding-body.w-universes.universes-composition-book[class] .universes-hero{justify-content:center;min-height:820px;padding-block:80px}
.wedding-body.w-universes.universes-composition-book[class] .universes-copy{width:59%;max-width:820px;text-align:center;padding:40px 30px;border-block:3px double var(--uv-line)}
.wedding-body.w-universes.universes-composition-book[class] .universes-copy h1{align-items:center;font-size:clamp(65px,7.4vw,120px);line-height:1.02}
.wedding-body.w-universes.universes-composition-book[class] .universes-copy>span{letter-spacing:.27em}
.wedding-body.w-universes.universes-composition-book[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border:0;border-bottom:1px solid var(--theme-accent);padding-inline:0}
.wedding-body.w-universes.universes-composition-book[class] .universes-wash{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--theme-paper) 60%,transparent),transparent 72%)}
/* 10 / Cotton: a letter on handmade paper, framed with delicate rules. */
.wedding-body.w-universes.universes-composition-cotton[class] .universes-hero{justify-content:flex-end;min-height:820px;padding:95px 7% 95px 8%}
.wedding-body.w-universes.universes-composition-cotton[class] .universes-copy{width:60%;max-width:850px;text-align:center}
.wedding-body.w-universes.universes-composition-cotton[class] .universes-copy h1{align-items:center;font-size:clamp(78px,8.2vw,138px);line-height:1.08;letter-spacing:-.035em}
.wedding-body.w-universes.universes-composition-cotton[class] .universes-copy h1>em{font-size:.28em;margin:0}
.wedding-body.w-universes.universes-composition-cotton[class] .universes-line{display:none}
.wedding-body.w-universes.universes-composition-cotton[class] .universes-wash{display:none}
.wedding-body.w-universes.universes-composition-cotton[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border-radius:40px}
.wedding-body.w-universes.universes-composition-cotton[class] .universes-artwork{background-position:center}
/* 11 / Arches: modern asymmetry and a large, unboxed signature. */
.wedding-body.w-universes.universes-composition-arches[class] .universes-copy{width:56%;margin-inline:auto;padding:20px 0;text-align:center}
.wedding-body.w-universes.universes-composition-arches[class] .universes-copy h1{align-items:center}
.wedding-body.w-universes.universes-composition-arches[class] .universes-wash{background:radial-gradient(ellipse,color-mix(in srgb,var(--theme-paper) 22%,transparent),transparent 75%)}
.wedding-body.w-universes.universes-composition-arches[class] .universes-copy h1{font-size:clamp(74px,8vw,138px);line-height:1.13}
.wedding-body.w-universes.universes-composition-arches[class] .universes-copy>.button{border-radius:50px}
/* 12 / Tropical: a tall portrait surrounded by nocturnal foliage. */
.wedding-body.w-universes.universes-composition-tropical[class] .universes-hero{min-height:850px}
.wedding-body.w-universes.universes-composition-tropical[class] .universes-photo{inset:70px 8% 70px auto;width:38%;height:calc(100% - 140px);border-radius:48% 48% 0 0;padding:9px;border:1px solid var(--theme-accent)}
.wedding-body.w-universes.universes-composition-tropical[class] .universes-copy{width:47%;text-align:center}
.wedding-body.w-universes.universes-composition-tropical[class] .universes-copy h1{align-items:center;font-size:clamp(52px,5.6vw,94px);letter-spacing:.005em;line-height:1.18}
.wedding-body.w-universes.universes-composition-tropical[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border-color:var(--theme-accent)}
/* 13 / Lake: forest above, handwritten names in the stillness below. */
.wedding-body.w-universes.universes-composition-lake[class] .universes-hero{justify-content:center;align-items:flex-end;min-height:920px;padding:460px 7% 60px}
.wedding-body.w-universes.universes-composition-lake[class] .universes-copy{width:85%;max-width:1100px;text-align:center}
.wedding-body.w-universes.universes-composition-lake[class] .universes-copy h1{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.2em;font-size:clamp(78px,8vw,132px);margin-bottom:20px}
.wedding-body.w-universes.universes-composition-lake[class] .universes-artwork{background-size:100% auto;background-position:center top}
.wedding-body.w-universes.universes-composition-lake[class] .universes-wash{background:linear-gradient(0deg,var(--theme-paper) 5%,color-mix(in srgb,var(--theme-paper) 75%,transparent) 34%,transparent 60%)}
.wedding-body.w-universes.universes-composition-lake[class] .universes-copy>.button{border-radius:40px;background:transparent;color:var(--theme-ink)}
/* 14 / Woodcut: expressive type, strong ink and Brazilian printmaking. */
.wedding-body.w-universes.universes-composition-woodcut[class] .universes-copy{width:56%;margin-inline:auto;text-align:center}
.wedding-body.w-universes.universes-composition-woodcut[class] .universes-wash{background:radial-gradient(ellipse,color-mix(in srgb,var(--theme-paper) 35%,transparent),transparent 75%)}
.wedding-body.w-universes.universes-composition-woodcut[class] .universes-copy h1{align-items:center;font-size:clamp(96px,10.2vw,164px);font-weight:700;line-height:.98;letter-spacing:.025em}
.wedding-body.w-universes.universes-composition-woodcut[class] .universes-copy h1>em{font-family:var(--name-font);font-size:.32em;font-style:normal;margin:.1em 0}
.wedding-body.w-universes.universes-composition-woodcut[class] .universes-copy>span{padding-block:13px;border-block:2px solid var(--theme-ink);letter-spacing:.12em}
.wedding-body.w-universes.universes-composition-woodcut[class] .universes-copy>.button{border:2px solid var(--theme-ink);box-shadow:4px 4px 0 var(--universes-secondary)}
/* 15 / Jungle: the illustration embraces a calm central invitation. */
.wedding-body.w-universes.universes-composition-jungle[class] .universes-hero{justify-content:center;min-height:820px}
.wedding-body.w-universes.universes-composition-jungle[class] .universes-copy{width:56%;max-width:790px;text-align:center;padding-block:40px}
.wedding-body.w-universes.universes-composition-jungle[class] .universes-copy h1{align-items:center;font-size:clamp(68px,7.2vw,118px);line-height:1.08}
.wedding-body.w-universes.universes-composition-jungle[class] .universes-wash{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--theme-paper) 85%,transparent),color-mix(in srgb,var(--theme-paper) 50%,transparent) 33%,transparent 67%)}
.wedding-body.w-universes.universes-composition-jungle[class] .universes-copy>.button{border-radius:30px}
/* 16 / Tiles: porcelain blue, a central plaque and double rules. */
.wedding-body.w-universes.universes-composition-tiles[class] .universes-hero{justify-content:center;min-height:820px;padding-block:95px}
.wedding-body.w-universes.universes-composition-tiles[class] .universes-copy{width:62%;max-width:850px;text-align:center;padding:47px 32px;border:3px double var(--theme-accent);background:color-mix(in srgb,var(--theme-paper) 92%,transparent)}
.wedding-body.w-universes.universes-composition-tiles[class] .universes-copy h1{align-items:center;font-size:clamp(60px,6.4vw,104px);letter-spacing:-.045em}
.wedding-body.w-universes.universes-composition-tiles[class] .universes-wash{display:none}
.wedding-body.w-universes.universes-composition-tiles[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border-color:var(--theme-accent)}
/* 17 / Prism: a contemporary portrait with a restrained geometric cut. */
.wedding-body.w-universes.universes-composition-prism[class] .universes-photo{inset:90px 7% 90px auto;width:42%;height:calc(100% - 180px);transform:rotate(3deg);padding:12px;background:color-mix(in srgb,var(--theme-paper) 80%,transparent);box-shadow:14px 14px 0 color-mix(in srgb,var(--universes-secondary) 55%,transparent)}
.wedding-body.w-universes.universes-composition-prism[class] .universes-photo img{clip-path:polygon(0 0,89% 0,100% 12%,100% 100%,11% 100%,0 88%)}
.wedding-body.w-universes.universes-composition-prism[class] .universes-copy h1{font-size:clamp(76px,7.8vw,128px);letter-spacing:-.035em}
.wedding-body.w-universes.universes-composition-prism[class] .universes-copy>.button{border-radius:40px;background:transparent;color:var(--theme-ink)}
/* 18 / Disco: a circular portrait and the rhythm of outline lettering. */
.wedding-body.w-universes.universes-composition-disco[class] .universes-hero{min-height:800px}
.wedding-body.w-universes.universes-composition-disco[class] .universes-photo{inset:50% 7% auto auto;width:39%;height:auto;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;padding:12px;border:1px solid var(--theme-accent);box-shadow:0 0 0 14px color-mix(in srgb,var(--universes-secondary) 10%,transparent),0 0 0 15px color-mix(in srgb,var(--theme-accent) 45%,transparent)}
.wedding-body.w-universes.universes-composition-disco[class] .universes-copy{width:48%;text-align:center}
.wedding-body.w-universes.universes-composition-disco[class] .universes-copy h1{align-items:center;font-size:clamp(48px,5.2vw,88px);line-height:1.2;letter-spacing:0}
.wedding-body.w-universes.universes-composition-disco[class] .universes-copy>.button{background:transparent;color:var(--theme-ink);border-radius:30px;border-color:var(--theme-accent)}
/* 19 / Vinyl: a sleeve portrait, round like the records beside it. */
.wedding-body.w-universes.universes-composition-vinyl[class] .universes-hero{justify-content:flex-end;padding-right:7%;min-height:800px}
.wedding-body.w-universes.universes-composition-vinyl[class] .universes-photo{inset:50% auto auto 7.5%;width:37%;height:auto;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;padding:13px;border:1px solid var(--theme-ink);box-shadow:0 0 0 14px color-mix(in srgb,var(--universes-secondary) 25%,transparent)}
.wedding-body.w-universes.universes-composition-vinyl[class] .universes-copy{width:47%;padding:25px 0 25px 36px;border-left:1px solid var(--uv-line)}
.wedding-body.w-universes.universes-composition-vinyl[class] .universes-copy h1{font-size:clamp(64px,6.7vw,110px);letter-spacing:-.04em;line-height:1.05}
.wedding-body.w-universes.universes-composition-vinyl[class] .universes-copy h1>em{font-style:normal;font-family:var(--name-font);font-size:.35em}
.wedding-body.w-universes.universes-composition-vinyl[class] .universes-wash{background:linear-gradient(90deg,color-mix(in srgb,var(--theme-paper) 20%,transparent),color-mix(in srgb,var(--theme-paper) 88%,transparent) 62%)}
.wedding-body.w-universes.universes-composition-vinyl[class] .universes-copy>.button{background:var(--theme-ink);color:var(--theme-paper);border-radius:40px}
/* 20 / Postcard: an analogue travel photograph and a handwritten letter. */
.wedding-body.w-universes.universes-composition-postcard[class] .universes-hero{justify-content:flex-end;padding-right:7%;min-height:820px}
.wedding-body.w-universes.universes-composition-postcard[class] .universes-photo{inset:130px auto 130px 7%;width:43%;height:calc(100% - 260px);transform:rotate(-4deg);padding:14px 14px 40px;background:#fffdfa;box-shadow:0 12px 35px color-mix(in srgb,var(--theme-ink) 18%,transparent)}
.wedding-body.w-universes.universes-composition-postcard[class] .universes-copy{width:44%;padding-left:40px;border-left:1px solid var(--uv-line)}
.wedding-body.w-universes.universes-composition-postcard[class] .universes-copy h1{font-size:clamp(74px,7.8vw,128px);line-height:1.06}
.wedding-body.w-universes.universes-composition-postcard[class] .universes-copy>span{letter-spacing:.15em}
.wedding-body.w-universes.universes-composition-postcard[class] .universes-wash{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--theme-paper) 85%,transparent) 65%)}
.wedding-body.w-universes.universes-composition-postcard[class] .universes-copy>.button{background:none;color:var(--theme-ink);padding-inline:0;border-width:0 0 1px}
/* Theme colours and typography continue through the functional sections. */
.wedding-body.w-universes[class] :is(.wedding-section,.rsvp-section,.wedding-countdown,.w-finale){--ct-muted:color-mix(in srgb,var(--ct-ink) 90%,var(--ct-paper))}
.wedding-body.w-universes[class] #historia .w-couple-copy h2>em{display:block}
.wedding-body.w-universes[class] :is(.wedding-nav,.wedding-section,.wedding-countdown,.wedding-final,.wedding-footer){font-family:var(--universes-body-font,'DM Sans'),sans-serif}
.wedding-body.w-universes[class] :is(.wedding-section,.wedding-final) :is(h2,h3){font-family:var(--w-font)}
.wedding-body.w-universes.universes-family-games[class] :is(.wedding-section,.wedding-final) :is(.button,.wedding-gift){border-radius:0}
.wedding-body.w-universes.universes-family-neon[class] .wedding-countdown{border-block:1px solid var(--uv-line)}
.wedding-body.w-universes.universes-family-cinema[class] .wedding-chapter-copy{border-left:1px solid var(--uv-line)}
@media(min-width:681px) and (max-width:1000px){
 .wedding-body.w-universes[class] .wedding-hero.universes-hero{padding-inline:5%;min-height:730px}
 .wedding-body.w-universes[class] .universes-copy h1{font-size:clamp(48px,7.3vw,80px)}
 .wedding-body.w-universes.universes-composition-premiere[class] .universes-hero{min-height:830px;padding-inline:10%}
 .wedding-body.w-universes.universes-composition-premiere[class] .universes-photo{height:350px}
 .wedding-body.w-universes.universes-composition-lake[class] .universes-hero{padding-top:330px;min-height:800px}
 .wedding-body.w-universes.universes-composition-quest[class] .universes-copy{padding-inline:20px}
 .wedding-body.w-universes.universes-composition-skyline[class] .universes-hero{padding-bottom:290px}
 .wedding-body.w-universes.universes-composition-disco[class] .universes-copy h1,.wedding-body.w-universes.universes-composition-pixel[class] .universes-copy h1{font-size:clamp(36px,4.8vw,70px)}
}
/* At phone widths the artwork has its own space. Long names grow the page;
   nothing relies on a fixed-height text box or a crop over the photograph. */
@media(max-width:680px){
 .wedding-body.w-universes[class][class] .wedding-hero.universes-hero{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:0;height:auto;padding:56px 26px 65px;gap:0}
 .wedding-body.w-universes[class][class] .wedding-hero-content.universes-copy{position:relative;inset:auto;width:100%;max-width:480px;margin:0;padding:0;border:0;border-radius:0;outline:0;background:none;box-shadow:none;text-align:center;transform:none}
 .wedding-body.w-universes[class][class] .universes-copy>span{font-size:9px;line-height:1.85;letter-spacing:.16em;margin-bottom:21px}
 .wedding-body.w-universes[class][class] .universes-copy h1{flex-direction:column;flex-wrap:nowrap;align-items:center;gap:0;max-width:100%;font-size:clamp(50px,12.6vw,80px);line-height:1.13;letter-spacing:-.025em;margin-bottom:24px}
 .wedding-body.w-universes[class][class] .universes-copy h1>span{max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;text-wrap:balance}
 .wedding-body.w-universes[class][class] .universes-copy h1>em{font-size:.35em;margin:.12em 0 .16em}
 .wedding-body.w-universes[class][class] .universes-copy>p{font-size:11px;line-height:1.8;letter-spacing:.015em;margin-bottom:24px}
 .wedding-body.w-universes[class][class] .universes-copy>.button{font-size:11px;padding:12px 18px;min-height:46px;gap:12px}
 .wedding-body.w-universes[class][class] .universes-arrow{width:19px;height:19px;flex-basis:19px}
 .wedding-body.w-universes[class][class] .universes-hero.universes-with-photo{padding-top:35px}
 .wedding-body.w-universes[class][class] .universes-photo{position:relative;inset:auto;flex:0 0 auto;width:100%;max-width:410px;height:clamp(285px,88vw,430px);min-height:0;margin:0 0 44px;transform:none;aspect-ratio:auto}
 .wedding-body.w-universes[class][class] .universes-photo .w-cover-photo{object-position:var(--cover-position-mobile,var(--cover-position,50% 40%))}
 .wedding-body.w-universes[class][class] .universes-artwork{background-size:auto 100%;background-position:center}
 .wedding-body.w-universes[class][class] .universes-with-photo .universes-wash{background:linear-gradient(0deg,var(--theme-paper),color-mix(in srgb,var(--theme-paper) 85%,transparent) 40%,transparent 85%)}
 .wedding-body.w-universes[class][class] .universes-hero.universes-without-photo{padding-bottom:285px}
 .wedding-body.w-universes[class][class] .universes-without-photo .universes-artwork{inset:auto 0 0;height:290px;background-size:auto 100%;background-position:right bottom}
 .wedding-body.w-universes[class][class] .universes-without-photo .universes-wash{background:linear-gradient(180deg,var(--theme-paper) 0%,var(--theme-paper) calc(100% - 285px),transparent calc(100% - 190px))}
 .wedding-body.w-universes[class][class] .universes-line,.wedding-body.w-universes[class][class] .universes-symbol{display:none}
 .wedding-body.w-universes.universes-composition-neon[class][class] .universes-photo{max-width:340px;padding:7px;margin-bottom:47px}
 .wedding-body.w-universes.universes-composition-neon[class][class] .universes-photo::after{inset:12px -11px -12px 11px}
 .wedding-body.w-universes.universes-composition-neon[class][class] .universes-copy h1{font-size:clamp(60px,15.5vw,90px);letter-spacing:.015em}
 .wedding-body.w-universes.universes-composition-skyline[class][class] .universes-copy h1{font-size:clamp(35px,9.3vw,62px);letter-spacing:0;line-height:1.2}
 .wedding-body.w-universes.universes-composition-skyline[class][class] .universes-artwork{background-size:auto 100%;background-position:center bottom}
 .wedding-body.w-universes.universes-composition-pixel[class][class] .universes-copy h1{font-size:clamp(34px,9.3vw,60px);line-height:1.25;letter-spacing:-.04em;text-shadow:3px 3px 0 var(--theme-paper)}
 .wedding-body.w-universes.universes-composition-pixel[class][class] .universes-copy h1>em{margin:.3em 0}
 .wedding-body.w-universes.universes-composition-pixel[class][class] .universes-artwork{background-position:center bottom}
 .wedding-body.w-universes.universes-composition-quest[class][class] .universes-copy{padding:24px 14px;border:1px solid var(--uv-line);outline:1px solid var(--uv-line);outline-offset:5px}
 .wedding-body.w-universes.universes-composition-quest[class][class] .universes-copy h1{font-size:clamp(43px,10vw,65px);letter-spacing:.01em}
 .wedding-body.w-universes.universes-composition-premiere[class][class] .universes-photo{height:auto;aspect-ratio:1.35;padding:6px;margin-bottom:32px}
 .wedding-body.w-universes.universes-composition-premiere[class][class] .universes-copy h1{font-size:clamp(52px,13vw,84px);letter-spacing:.01em}
 .wedding-body.w-universes.universes-composition-film[class][class] .universes-photo{height:auto;aspect-ratio:1.3;border-block-width:22px;margin-bottom:38px}
 .wedding-body.w-universes.universes-composition-film[class][class] .universes-photo::before{top:-15px;height:8px}
 .wedding-body.w-universes.universes-composition-film[class][class] .universes-photo::after{bottom:-15px;height:8px}
 .wedding-body.w-universes.universes-composition-film[class][class] .universes-copy>span{letter-spacing:.21em}
 .wedding-body.w-universes.universes-composition-orbit[class][class] .universes-hero{padding:110px 30px 120px;min-height:680px;justify-content:center}
 .wedding-body.w-universes.universes-composition-orbit[class][class] .universes-artwork{inset:0;height:auto;background-size:auto 100%;background-position:center}
 .wedding-body.w-universes.universes-composition-orbit[class][class] .universes-wash{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--theme-paper) 68%,transparent),transparent 80%)}
 .wedding-body.w-universes.universes-composition-orbit[class][class] .universes-copy h1{font-size:clamp(43px,10.5vw,68px);line-height:1.25;letter-spacing:.02em}
 .wedding-body.w-universes.universes-composition-enchanted[class][class] .universes-copy{padding:38px 16px 26px;border:1px solid var(--uv-line);border-radius:45% 45% 0 0}
 .wedding-body.w-universes.universes-composition-enchanted[class][class] .universes-copy h1{font-size:clamp(43px,10.5vw,68px);letter-spacing:.01em}
 .wedding-body.w-universes.universes-composition-enchanted[class][class] .universes-artwork{background-position:center bottom}
 .wedding-body.w-universes.universes-composition-book[class][class] .universes-hero,.wedding-body.w-universes.universes-composition-cotton[class][class] .universes-hero{padding:70px 32px 80px;min-height:730px;justify-content:center}
 .wedding-body.w-universes.universes-composition-book[class][class] .universes-artwork,.wedding-body.w-universes.universes-composition-cotton[class][class] .universes-artwork{inset:0;height:auto;background-size:auto 100%;background-position:center}
 .wedding-body.w-universes.universes-composition-book[class][class] .universes-wash,.wedding-body.w-universes.universes-composition-cotton[class][class] .universes-wash{background:radial-gradient(ellipse,color-mix(in srgb,var(--theme-paper) 80%,transparent),transparent 85%)}
 .wedding-body.w-universes.universes-composition-book[class][class] .universes-copy{padding-block:30px;border-block:3px double var(--uv-line)}
 .wedding-body.w-universes.universes-composition-cotton[class][class] .universes-artwork{background-position:60% center}
 .wedding-body.w-universes.universes-composition-cotton[class][class] .universes-line{display:block;inset:21px 16px;border:1px solid var(--uv-line);outline-offset:5px}
 .wedding-body.w-universes.universes-composition-cotton[class][class] .universes-hero{padding-bottom:220px}
 .wedding-body.w-universes.universes-composition-cotton[class][class] .universes-symbol{display:block;inset:auto auto 0 0;width:150px;height:205px;background:var(--universes-art) left center/auto 100% no-repeat;mask-image:radial-gradient(ellipse at left bottom,#000 46%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at left bottom,#000 46%,transparent 78%)}
 .wedding-body.w-universes.universes-composition-cotton[class][class] .universes-copy h1{font-size:clamp(58px,14.5vw,96px);line-height:1.12}
 .wedding-body.w-universes.universes-composition-arches[class][class] .universes-copy h1{font-size:clamp(62px,15vw,94px);line-height:1.13}
 .wedding-body.w-universes.universes-composition-tropical[class][class] .universes-photo{max-width:340px;height:clamp(320px,102vw,470px);padding:7px}
 .wedding-body.w-universes.universes-composition-tropical[class][class] .universes-copy h1{font-size:clamp(43px,10.5vw,70px);letter-spacing:.005em}
 .wedding-body.w-universes.universes-composition-lake[class][class] .universes-hero{padding:300px 25px 65px}
 .wedding-body.w-universes.universes-composition-lake[class][class] .universes-artwork{inset:0 0 auto;height:345px;background-size:auto 100%;background-position:center top}
 .wedding-body.w-universes.universes-composition-lake[class][class] .universes-wash{background:linear-gradient(180deg,transparent 190px,var(--theme-paper) 330px)}
 .wedding-body.w-universes.universes-composition-lake[class][class] .universes-copy h1{font-size:clamp(68px,17vw,110px);line-height:1.04}
 .wedding-body.w-universes.universes-composition-woodcut[class][class] .universes-copy h1{font-size:clamp(82px,21vw,134px);line-height:1;letter-spacing:.015em}
 .wedding-body.w-universes.universes-composition-woodcut[class][class] .universes-copy>span{padding-block:11px;letter-spacing:.09em}
 .wedding-body.w-universes.universes-composition-jungle[class][class] .universes-copy h1{font-size:clamp(58px,14vw,90px)}
 .wedding-body.w-universes.universes-composition-jungle[class][class] .universes-artwork{background-size:100% 100%;background-position:center bottom;height:auto;aspect-ratio:1.5;mask-image:linear-gradient(180deg,transparent,#000 28%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 28%)}
 .wedding-body.w-universes.universes-composition-tiles[class][class] .universes-hero{padding:48px 24px 54px;min-height:720px;justify-content:center}
 .wedding-body.w-universes.universes-composition-tiles[class][class] .universes-artwork{inset:0;height:auto;background-size:auto 100%;background-position:center}
 .wedding-body.w-universes.universes-composition-tiles[class][class] .universes-copy{padding:35px 16px;border:3px double var(--theme-accent);background:color-mix(in srgb,var(--theme-paper) 94%,transparent)}
 .wedding-body.w-universes.universes-composition-tiles[class][class] .universes-copy h1{font-size:clamp(42px,10.6vw,68px)}
 .wedding-body.w-universes.universes-composition-prism[class][class] .universes-photo{width:calc(100% - 12px);max-width:340px;transform:rotate(2deg);padding:8px;box-shadow:8px 8px 0 color-mix(in srgb,var(--universes-secondary) 55%,transparent)}
 .wedding-body.w-universes.universes-composition-prism[class][class] .universes-copy h1{font-size:clamp(60px,15vw,96px)}
 .wedding-body.w-universes.universes-composition-disco[class][class] .universes-photo,.wedding-body.w-universes.universes-composition-vinyl[class][class] .universes-photo{width:calc(100% - 20px);max-width:330px;height:auto;aspect-ratio:1;border-radius:50%;padding:8px;margin-bottom:45px}
 .wedding-body.w-universes.universes-composition-disco[class][class] .universes-copy h1{font-size:clamp(37px,9.5vw,60px);line-height:1.22;letter-spacing:0}
 .wedding-body.w-universes.universes-composition-vinyl[class][class] .universes-copy h1{font-size:clamp(52px,13.3vw,84px);line-height:1.12}
 .wedding-body.w-universes.universes-composition-postcard[class][class] .universes-photo{width:calc(100% - 12px);max-width:370px;height:clamp(270px,83vw,390px);padding:10px 10px 30px;transform:rotate(-3deg);margin-bottom:43px}
 .wedding-body.w-universes.universes-composition-postcard[class][class] .universes-copy h1{font-size:clamp(64px,16vw,100px)}
}
@media(prefers-reduced-motion:reduce){.wedding-body.w-universes[class] .universes-hero *{animation:none;transition:none;scroll-behavior:auto}}

/* Preserve headroom in the taller companion portrait of this original demo album. */
.wedding-body.w-universes.design-nosso-longa-metragem .wedding-gallery img[src$="/universes-nosso-longa-metragem-moment-2.webp"]{object-position:50% 25%}
