/* Collection covers and opening objects. All typography, colors and images stay editable. */
.signature-garden, .journey-cover-mark, .signature-opening-monogram { display: none; }
body[data-design-layout]:not([data-design-layout="original"]) #heroSection { --cover-fit: var(--signature-name-fit,1); }
body[data-design-layout]:not([data-design-layout="original"]) #heroSection > .vintage-ornament { display: none; }
body[data-design-layout]:not([data-design-layout="original"]) .hero-name-item { font-size: calc(clamp(44px,6.8vw,88px) * var(--atelier-name-scale) * var(--cover-fit)); line-height: 1.02; text-wrap: balance; }
body[data-design-layout]:not([data-design-layout="original"]) #atelierEventTitle { font: 500 11px/1.65 var(--font-sans); letter-spacing: .2em; }

/* CARTA — a letter, its portrait and a generous handwritten title. */
body[data-design-layout="letter"] .wedding-app-wrapper { padding-top: 60px; }
body[data-design-layout="letter"] #heroSection { padding: 67px clamp(26px,5vw,66px) 65px; margin-bottom: 105px; border-color: var(--atelier-rule); background: var(--bg-parchment); text-align: center; }
body[data-design-layout="letter"] #heroSection::before { inset: 11px; }
body[data-design-layout="letter"] .journey-cover-mark { display: block; justify-self: center; width: 71px; height: 86px; padding-top: 28px; border: 1px solid var(--atelier-rule); border-radius: 50%; font: italic 24px/1 var(--font-serif); margin-bottom: 35px; }
body[data-design-layout="letter"] #atelierEventTitle { margin-bottom: 30px; }
body[data-design-layout="letter"] .hero-kinetic-title { margin: 3px 0 27px; gap: 0; }
body[data-design-layout="letter"] .hero-name-item { font-family: var(--font-script); font-style: normal; font-size: calc(clamp(49px,7vw,96px) * var(--atelier-name-scale) * var(--cover-fit)); line-height: 1.13; letter-spacing: var(--atelier-tracking); }
body[data-design-layout="letter"] .hero-ampersand { font: italic 33px/1 var(--font-serif); margin-block: 5px; }
body[data-design-layout="letter"] .hero-subtitle-top { font: 400 12px/1.85 var(--font-sans); letter-spacing: .04em; max-width: 26em; }
body[data-design-layout="letter"] #heroSection > .hero-photo-frame { width: 73%; max-width: 290px; aspect-ratio: 4/5; padding: 9px 9px 30px; background: var(--bg-card); border: 1px solid var(--atelier-rule); overflow: hidden; margin: 33px auto 18px; }
body[data-design-layout="letter"] #heroSection > .hero-photo-frame img { height: 100%; object-fit: cover; }
body[data-design-layout="letter"] .hero-quote { font: italic 400 23px/1.5 var(--font-serif); max-width: 18em; margin: 22px auto; }
body[data-design-layout="letter"] .hero-date-badge { border-top: 0; padding-top: 8px; font-size: 19px; }
body[data-design-layout="letter"] #heroSection > .wedding-city-text { margin-top: 8px !important; font: 400 11px/1.7 var(--font-sans) !important; letter-spacing: .09em !important; }
body[data-design-layout="letter"] #envelopeScreen { background: color-mix(in oklab,var(--bg-parchment) 89%,var(--text-primary)); }
body[data-design-layout="letter"] .stage-wax-seal .envelope-classic-card { width: min(460px,84vw); min-height: 330px; border: 1px solid var(--atelier-rule); padding: 48px 35px 30px; box-shadow: 0 3px 0 var(--bg-parchment),0 4px 0 var(--atelier-rule),0 28px 60px #241d2329; }
body[data-design-layout="letter"] .stage-wax-seal .envelope-classic-card::before { content: ''; position: absolute; inset: 10px; border: 1px solid var(--atelier-rule); pointer-events: none; background: none; }
body[data-design-layout="letter"] .stage-wax-seal .envelope-monogram { font: 400 63px/1.2 var(--font-script); }
body[data-design-layout="letter"] .stage-wax-seal .envelope-subtitle { font-size: 11px; letter-spacing: .16em; }
body[data-design-layout="letter"] .stage-wax-seal .envelope-prompt { font-size: 11px; letter-spacing: .07em; }

/* EDITORIAL — a masthead and a portrait spread, with an optically aligned title. */
body[data-design-layout="editorial"] .wedding-app-wrapper { padding-top: 0; }
body[data-design-layout="editorial"] #heroSection { margin: 0 0 100px; padding-top: 42px; row-gap: 0; border-top: 0; }
body[data-design-layout="editorial"] .journey-cover-mark { display: block; font: 400 13px/1.4 var(--font-serif); border-top: 1px solid var(--text-primary); padding-top: 14px; letter-spacing: .12em; margin-bottom: 50px; }
body[data-design-layout="editorial"] #atelierEventTitle { margin-bottom: 28px; }
body[data-design-layout="editorial"] .hero-name-item { font-family: var(--font-serif); letter-spacing: -.055em; font-size: calc(clamp(49px,7.3vw,100px) * var(--atelier-name-scale) * var(--cover-fit)); }
body[data-design-layout="editorial"] .hero-kinetic-title { margin-left: -.04em; gap: 6px; }
body[data-design-layout="editorial"] .hero-ampersand { font: italic 400 42px/1 var(--font-serif); padding-block: 9px; }
body[data-design-layout="editorial"] .hero-subtitle-top { font: 400 12px/1.85 var(--font-sans); letter-spacing: .03em; }
body[data-design-layout="editorial"] .hero-quote { font: italic 400 24px/1.4 var(--font-serif); max-width: 17em; }
body[data-design-layout="editorial"] .hero-date-badge { font: 400 20px/1.5 var(--font-serif); }
body[data-design-layout="editorial"] #heroSection > .wedding-city-text { font: 400 11px/1.7 var(--font-sans) !important; letter-spacing: .12em !important; }
body[data-design-layout="editorial"] #envelopeScreen { background: color-mix(in oklab,var(--bg-parchment) 92%,var(--text-primary)); }
body[data-design-layout="editorial"] .letter-gold-crest { display: none; }
body[data-design-layout="editorial"] .letter-monogram { font-family: var(--font-serif); font-size: 65px; }
body[data-design-layout="editorial"] .letter-tag { font: 500 11px/1.5 var(--font-sans); letter-spacing: .19em; }
body[data-design-layout="editorial"] .material-envelope-monogram { font-family: var(--font-serif); }

/* HERBARIO — an engraved garden and an arched portrait. */
body[data-design-layout="botanical"] .wedding-app-wrapper { padding-top: 0; }
body[data-design-layout="botanical"] #heroSection { padding: 0 0 72px; margin: 0 0 35px; text-align: center; row-gap: 0; }
body[data-design-layout="botanical"][data-artwork="garden"] .signature-garden { display: block; grid-row: 1; position: relative; height: clamp(225px,38vw,390px); margin: 0 calc(-1 * clamp(22px,5vw,64px)); overflow: hidden; isolation: isolate; background: var(--bg-parchment); }
.signature-garden img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; mix-blend-mode: multiply; }
.signature-monogram { position: absolute; left: 50%; top: 27%; translate: -50% -50%; font: italic 38px/1 var(--font-serif); letter-spacing: -.05em; color: var(--text-primary); white-space: nowrap; }
.signature-monogram::after { content: ''; display: block; width: 28px; height: 1px; margin: 17px auto 0; background: currentColor; opacity: .5; }
body[data-design-layout="botanical"] #atelierBotanical { display: none; }
body[data-design-layout="botanical"] #atelierEventTitle { grid-row: 2; margin: 24px 0 21px; }
body[data-design-layout="botanical"] .hero-kinetic-title { grid-row: 3; margin: 0 auto 28px; width: 100%; gap: 4px; align-items: center; }
body[data-design-layout="botanical"] .hero-name-item { font-family: var(--font-serif); font-style: italic; letter-spacing: var(--atelier-tracking); }
body[data-design-layout="botanical"] .hero-ampersand { font: italic 400 34px/.8 var(--font-serif); margin: 2px 0 9px; }
body[data-design-layout="botanical"] .hero-subtitle-top { grid-row: 4; max-width: 29em; font: 400 12px/1.9 var(--font-sans); letter-spacing: .03em; margin: 0 auto 26px; }
body[data-design-layout="botanical"] .hero-date-badge { grid-row: 5; width: fit-content; padding: 18px 27px 0; font: 400 20px/1.6 var(--font-serif); }
body[data-design-layout="botanical"] #heroSection > .wedding-city-text { grid-row: 6; margin: 6px auto 25px !important; font: 400 11px/1.7 var(--font-sans) !important; letter-spacing: .1em !important; max-width: 30em; }
body[data-design-layout="botanical"] .hero-quote { grid-row: 7; margin: 25px auto 24px; max-width: 24em; font: italic 400 25px/1.45 var(--font-serif); text-wrap: balance; }
body[data-design-layout="botanical"] #heroSection > .hero-photo-frame { grid-row: 8; width: 57%; max-width: 270px; aspect-ratio: 4/5; margin: 6px auto 0; border: 6px solid var(--bg-parchment); outline: 1px solid var(--atelier-rule); outline-offset: 5px; }
body[data-design-layout="botanical"][data-artwork="none"] #heroSection { padding-top: 60px; }
body[data-design-layout="botanical"] #envelopeScreen { background: color-mix(in oklab,var(--bg-parchment) 94%,var(--text-primary)); }
body[data-design-layout="botanical"] .french-gatefold-chassis { width: min(420px,86vw); background: var(--bg-parchment); box-shadow: 0 1px 1px #26322530,0 28px 65px -20px #26322548; overflow: visible; border-radius: 1px; }
body[data-design-layout="botanical"] .gatefold-leaf-3d { background-color: var(--bg-parchment); background-image: url('../assets/images/atelier-garden.webp'); background-size: 200% 100%; background-blend-mode: multiply; border-color: var(--atelier-rule); border-radius: 1px !important; box-shadow: 3px 0 8px #2632251a; }
body[data-design-layout="botanical"] .gatefold-leaf-3d.leaf-left { background-position: left; }
body[data-design-layout="botanical"] .gatefold-leaf-3d.leaf-right { background-position: right; }
body[data-design-layout="botanical"] .leaf-ornament { display: none; }
body[data-design-layout="botanical"] .gatefold-satin-bellyband { position: absolute; left: -2px; right: -2px; top: calc(50% - 38px); height: 76px; padding: 0; border-radius: 0; background: var(--bg-parchment); border-block: 1px solid var(--atelier-rule); box-shadow: 0 3px 10px #26322512; }
body[data-design-layout="botanical"] :is(.bellyband-seal,.gatefold-btn-label) { display: none; }
body[data-design-layout="botanical"] .signature-opening-monogram { display: inline; font: italic 400 30px/1 var(--font-serif); }
body[data-design-layout="botanical"] .btn-actuator-gatefold { position: absolute; top: 50%; left: 50%; translate: -50% -50%; transform: none !important; margin: 0; width: 93px; height: 72px; color: var(--text-primary); background: var(--bg-parchment); border: 1px solid var(--atelier-rule); border-radius: 50%; box-shadow: inset 0 0 0 4px var(--bg-parchment),inset 0 0 0 5px var(--atelier-rule),0 4px 12px #26322515; }
body[data-design-layout="botanical"] .french-gatefold-chassis > .envelope-prompt { position: absolute; top: calc(100% + 28px); left: 0; width: 100%; margin: 0; text-align: center; color: var(--text-primary); font: 400 11px/1.6 var(--font-sans); letter-spacing: .1em; }

/* NOCTURNO — a cinematic cover, quiet brass rules and real curtain folds. */
body[data-design-layout="nocturne"] #heroSection { min-height: 900px; padding: 62px clamp(28px,6vw,80px) 72px; justify-items: start; align-content: end; }
body[data-design-layout="nocturne"] #heroSection::before { content: ''; position: absolute; inset: 25px; border: 1px solid oklch(90% .04 80 / .38); z-index: -1; pointer-events: none; }
body[data-design-layout="nocturne"] .journey-cover-mark { display: block; position: absolute; right: 53px; top: 55px; color: #f3ecdd; font: italic 400 35px/1 var(--font-serif); border-block: 1px solid #f3ecdd70; padding-block: 16px; }
body[data-design-layout="nocturne"] #atelierEventTitle { margin-bottom: 35px; }
body[data-design-layout="nocturne"] .hero-kinetic-title { gap: 4px; margin-bottom: 32px; max-width: 90%; }
body[data-design-layout="nocturne"] .hero-name-item { font-family: var(--font-serif); font-size: calc(clamp(58px,9.1vw,128px) * var(--atelier-name-scale) * var(--cover-fit)); font-style: italic; letter-spacing: -.035em; }
body[data-design-layout="nocturne"] .hero-ampersand { font: 400 40px/.8 var(--font-serif); color: #f3ecdd; margin: 9px 0; }
body[data-design-layout="nocturne"] .hero-subtitle-top { font: 400 12px/1.8 var(--font-sans); max-width: 26em; }
body[data-design-layout="nocturne"] .hero-date-badge { font: 400 23px/1.6 var(--font-serif); border-color: #f3ecdd55; }
body[data-design-layout="nocturne"] .hero-quote { font: italic 400 22px/1.5 var(--font-serif); }
body[data-design-layout="nocturne"] #envelopeScreen { background: var(--bg-parchment); }
body[data-design-layout="nocturne"] .opera-theatre-chassis { width: min(470px,86vw); height: clamp(360px,65dvh,560px); background: var(--bg-parchment); border: 1px solid var(--gold-primary); border-radius: 0; box-shadow: 0 28px 80px #0005; }
body[data-design-layout="nocturne"] :is(.opera-theatre-chassis::before,.opera-theatre-chassis::after) { display: none; }
body[data-design-layout="nocturne"] .theatre-proscenium-arch { border: 0; border-bottom: 1px solid var(--atelier-rule); border-radius: 0; background: var(--bg-parchment); box-shadow: none; height: 70px; }
body[data-design-layout="nocturne"] .proscenium-monogram { color: var(--text-primary); font: italic 30px/1 var(--font-serif); text-shadow: none; }
body[data-design-layout="nocturne"] .theatre-curtains-stage { perspective: 1200px; }
body[data-design-layout="nocturne"] .curtain-panel-3d { z-index: 2; background: repeating-linear-gradient(90deg in oklab, var(--bg-parchment) 0%, color-mix(in oklab,var(--bg-parchment) 87%,var(--text-primary)) 8%, var(--bg-parchment) 16%, color-mix(in oklab,var(--bg-parchment) 72%,black) 24%, var(--bg-parchment) 32%); border-radius: 0; border: 0; }
body[data-design-layout="nocturne"] .velvet-fold { display: none; }
body[data-design-layout="nocturne"] .stage-invitation-reveal { background: var(--bg-parchment); color: var(--text-primary); border: 1px solid var(--atelier-rule); }
body[data-design-layout="nocturne"] .stage-names { font: italic 60px/1 var(--font-serif); color: var(--text-primary); }
body[data-design-layout="nocturne"] .stage-title { font: 400 11px/1.6 var(--font-sans); letter-spacing: .18em; color: var(--text-primary); }
body[data-design-layout="nocturne"] .btn-actuator-tassel { background: none; color: var(--text-primary); width: auto; height: auto; border: 0; box-shadow: none; margin: 20px auto; }
body[data-design-layout="nocturne"] .tassel-braid { display: none; }
body[data-design-layout="nocturne"] .opera-theatre-chassis > .envelope-prompt { font: 400 11px/1.7 var(--font-sans); letter-spacing: .08em; margin: 0 20px 23px; color: var(--text-muted); }
body[data-design-layout="nocturne"] .tassel-jewel { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; color: var(--text-primary); background: var(--bg-parchment); border: 1px solid var(--gold-primary); box-shadow: none; border-radius: 0; font: 400 11px/1.4 var(--font-sans); }

@media(min-width:760px) {
  body[data-design-layout="letter"] #heroSection { grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); column-gap: 43px; text-align: left; }
  body[data-design-layout="letter"] #heroSection > * { grid-column: 1; }
  body[data-design-layout="letter"] .journey-cover-mark { grid-column: 2 !important; grid-row: 1 / span 2; justify-self: end; margin: 0; }
  body[data-design-layout="letter"] .hero-kinetic-title { align-items: start; }
  body[data-design-layout="letter"] :is(.hero-subtitle-top,.hero-date-badge) { margin-left: 0; }
  body[data-design-layout="letter"] #heroSection > .hero-photo-frame { grid-column: 2; grid-row: 3 / span 3; width: 100%; align-self: center; margin: 20px 0; rotate: 3deg; }
  body[data-design-layout="letter"] .hero-quote { grid-column: 1 / -1 !important; margin: 34px 0 0; max-width: 23em; font-size: 28px; }
  body[data-design-layout="editorial"] #heroSection { grid-template-columns: minmax(0,5fr) minmax(0,6fr); column-gap: 48px; }
  body[data-design-layout="editorial"] #heroSection > :not(.hero-photo-frame) { grid-column: 1; }
  body[data-design-layout="editorial"] #heroSection > .hero-photo-frame { grid-column: 2; grid-row: 1 / span 9; min-height: 710px; height: 100%; margin: 0; }
  body[data-design-layout="botanical"] #heroSection { grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 42px; }
  body[data-design-layout="botanical"] #heroSection > :is(.signature-garden,#atelierEventTitle,.hero-kinetic-title,.hero-subtitle-top,.hero-date-badge,.wedding-city-text) { grid-column: 1 / -1; }
  body[data-design-layout="botanical"] .hero-kinetic-title { flex-direction: row; justify-content: center; gap: 22px; }
  body[data-design-layout="botanical"] .hero-name-item { max-width: 44%; font-size: calc(clamp(48px,6vw,78px) * var(--atelier-name-scale) * var(--cover-fit)); }
  body[data-design-layout="botanical"] .hero-ampersand { margin: 0; }
  body[data-design-layout="botanical"] #heroSection > .hero-photo-frame { grid-column: 2; grid-row: 7; width: 72%; margin: 38px auto 0 0; }
  body[data-design-layout="botanical"] .hero-quote { grid-column: 1; grid-row: 7; align-self: center; justify-self: end; text-align: left; margin: 60px 0 30px; max-width: 10em; font-size: 34px; }
}
@media(max-width:759px) {
  body[data-design-layout="letter"] .wedding-app-wrapper { padding-top: 25px; }
  body[data-design-layout="letter"] #heroSection { padding: 43px 24px; margin-bottom: 70px; }
  body[data-design-layout="letter"] .journey-cover-mark { width: 53px; height: 66px; padding-top: 21px; font-size: 20px; margin-bottom: 24px; }
  body[data-design-layout="letter"] .hero-name-item { font-size: calc(clamp(49px,15vw,76px) * var(--atelier-name-scale) * var(--cover-fit)); }
  body[data-design-layout="editorial"] #heroSection { padding-top: 0; margin-bottom: 50px; }
  body[data-design-layout="editorial"] #heroSection > .hero-photo-frame { grid-row: 1; margin-inline: calc(-1 * clamp(22px,5vw,64px)); width: calc(100% + 2 * clamp(22px,5vw,64px)); aspect-ratio: 1.08; }
  body[data-design-layout="editorial"] .journey-cover-mark { display: none; }
  body[data-design-layout="editorial"] #atelierEventTitle { grid-row: 2; margin: 25px 0 18px; padding: 0; background: none; }
  body[data-design-layout="editorial"] .hero-kinetic-title { grid-row: 3; padding: 0; margin-bottom: 28px; }
  body[data-design-layout="editorial"] .hero-name-item { font-size: calc(clamp(44px,14vw,78px) * var(--atelier-name-scale) * var(--cover-fit)); }
  body[data-design-layout="editorial"] .hero-subtitle-top { padding: 0; }
  body[data-design-layout="botanical"] .signature-monogram { font-size: 29px; }
  body[data-design-layout="botanical"] .hero-name-item { font-size: calc(clamp(43px,13vw,65px) * var(--atelier-name-scale) * var(--cover-fit)); }
  body[data-design-layout="botanical"] #heroSection > .hero-photo-frame { max-width: 205px; }
  body[data-design-layout="nocturne"] #heroSection { min-height: 890px; padding: 170px 36px 55px; }
  body[data-design-layout="nocturne"] #heroSection::before { inset: 14px; }
  body[data-design-layout="nocturne"] .journey-cover-mark { top: 40px; right: 36px; font-size: 28px; }
  body[data-design-layout="nocturne"] .hero-name-item { font-size: calc(clamp(54px,16vw,85px) * var(--atelier-name-scale) * var(--cover-fit)); }
}
body[data-hero-photo="hide"][data-design-layout="letter"] #heroSection { grid-template-columns: minmax(0,1fr); text-align: center; }
body[data-hero-photo="hide"][data-design-layout="letter"] #heroSection > * { grid-column: 1 !important; grid-row: auto; margin-inline: auto; }
body[data-hero-photo="hide"][data-design-layout="letter"] .hero-kinetic-title { align-items: center; }
body[data-hero-photo="hide"][data-design-layout="botanical"] .hero-quote { grid-column: 1 / -1; max-width: 24em; margin-inline: auto; text-align: center; }
body[data-hero-photo="hide"][data-design-layout="editorial"] #heroSection { grid-template-columns: minmax(0,1fr); }
@media(prefers-reduced-motion:reduce) { .signature-garden { transform: none !important; } }
