/* A real, bounded still life. The original photograph remains the accessible fallback. */
.spatial-canvas { position: absolute; inset: 0; pointer-events: none; z-index: 2; overflow: hidden; }
.spatial-canvas canvas { display: block; width: 100%; height: 100%; }
body[data-design-layout] #heroSection[data-spatial="ready"] > .spatial-photo {
  position: relative; inset: auto; width: 100%; max-width: none; height: auto; min-height: 0; aspect-ratio: .92;
  padding: 0; margin: 0; border: 0; outline: 0; border-radius: 0; box-shadow: none;
  transform: none !important; rotate: none; isolation: isolate; overflow: hidden; z-index: 0;
  background: var(--bg-parchment); opacity: 1; filter: none;
}
body[data-design-layout] #heroSection[data-spatial="ready"] > .spatial-photo::before,
body[data-design-layout] #heroSection[data-spatial="ready"] > .spatial-photo::after { display: none; }
#heroSection[data-spatial="ready"] > .spatial-photo > :is(img,.photo-placeholder) { opacity: 0; }
body[data-design-layout] #heroSection[data-spatial="ready"] { overflow: visible; }
body[data-design-layout="letter"] #heroSection[data-spatial="ready"] { padding-inline: 28px; }
body[data-design-layout="botanical"] #heroSection[data-spatial="ready"] .signature-garden { display: none; }
body[data-design-layout="botanical"] #heroSection[data-spatial="ready"] { padding-top: 45px; }
body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] {
  background: var(--bg-parchment); min-height: 740px; padding: 60px 35px; gap: 20px;
  display: grid; grid-template-columns: minmax(0,1fr); align-content: center;
}
body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"]::after { display: none; }
body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] > .spatial-photo { grid-column: 1; grid-row: auto; }
body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] .hero-name-item { font-size: calc(clamp(48px,7vw,86px) * var(--atelier-name-scale) * var(--cover-fit)); }
body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] .hero-kinetic-title { max-width: 100%; }
body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] .journey-cover-mark { display: none; }
body[data-chapter-motion="active"] :is(.gallery-grid,.rsvp-container,.timeline-milestone-card) { perspective: 1300px; }
@media(min-width:760px) {
  body[data-design-layout="letter"] #heroSection[data-spatial="ready"],
  body[data-design-layout="editorial"] #heroSection[data-spatial="ready"] { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); column-gap: 15px; }
  body[data-design-layout="letter"] #heroSection[data-spatial="ready"] > .spatial-photo,
  body[data-design-layout="editorial"] #heroSection[data-spatial="ready"] > .spatial-photo { align-self: center; grid-column: 2; grid-row: 1 / 9; }
  body[data-design-layout="botanical"] #heroSection[data-spatial="ready"] { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); }
  body[data-design-layout="botanical"] #heroSection[data-spatial="ready"] > .spatial-photo { grid-column: 2; grid-row: 7; }
  body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 10px; }
  body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] > :not(.spatial-photo) { grid-column: 1; }
  body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] > .spatial-photo { grid-column: 2; grid-row: 1 / 10; align-self: center; }
}
@media(max-width:759px) {
  body[data-design-layout] #heroSection[data-spatial="ready"] { grid-template-columns: minmax(0,1fr); grid-auto-flow: row; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > * { grid-column: 1 !important; grid-row: auto !important; min-width: 0; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > #atelierEventTitle { order: 0; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > .hero-subtitle-top { order: 1; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > .hero-kinetic-title { order: 2; width: 100%; max-width: 100%; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > .spatial-photo { order: 3; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > .hero-quote { order: 4; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > .hero-date-badge { order: 5; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > .wedding-city-text { order: 6; }
  body[data-design-layout] #heroSection[data-spatial="ready"] > .spatial-photo { aspect-ratio: 1; margin-block: 20px; }
  body[data-design-layout="editorial"] #heroSection[data-spatial="ready"] > .spatial-photo { grid-row: 4; }
  body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] { padding: 45px 24px; min-height: 0; }
  body[data-design-layout="nocturne"] #heroSection[data-spatial="ready"] > .spatial-photo { grid-row: 4; }
}
/* The catalog can now show motion; only its explicit pause mode freezes it. */
body[data-catalog-preview="true"][data-catalog-motion="paused"] #mainContent :is(.module-section,.reveal-card,.vintage-section-header,.timeline-milestone-card) { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.atelier-scene-intro { border-block: 1px solid var(--studio-border,#d8d1c5); padding-block: 16px; margin-bottom: 18px; }
.atelier-scene-intro strong { display: block; font: inherit; font-weight: 600; font-size: 14px; line-height: 1.4; }
.atelier-scene-intro p { margin: 9px 0 0; font-size: 12px; line-height: 1.65; }
.atelier-scene-replay { width: 100%; padding: 12px; margin: 8px 0 16px; background: #342e27; color: #fff8ec; border: 0; cursor: pointer; }
.invitation-ambient { position: fixed; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; contain: strict; mix-blend-mode: multiply; opacity: calc(.12 * var(--ambient-strength)); }
.invitation-ambient > div { position: absolute; pointer-events: none; }
.ambient-window { inset: -30%; transform: rotate(var(--ambient-direction)); background: repeating-linear-gradient(90deg, transparent 0 170px, #5b4e35 170px 184px, transparent 184px 250px); filter: blur(7px); animation: ambient-light-travel var(--ambient-duration) alternate infinite cubic-bezier(.34,0,.26,1); }
.invitation-ambient[data-environment="atelier"] .ambient-window { left: 60%; }
.invitation-ambient[data-environment="garden"] .ambient-window { display:none; }
.invitation-ambient[data-environment="garden"] .ambient-glow { inset: 0; background: radial-gradient(ellipse at 20% 30%, rgba(255, 245, 210, 0.45), transparent 50%), radial-gradient(ellipse at 80% 70%, rgba(240, 250, 220, 0.35), transparent 55%); animation: ambient-sunbeams calc(var(--ambient-duration) * 0.9) alternate infinite cubic-bezier(.4,0,.3,1); }
.invitation-ambient[data-environment="gallery"] .ambient-window { display: block; left: -15%; background: repeating-linear-gradient(115deg, transparent 0 160px, #3a3731 160px 178px, transparent 178px 290px); filter: blur(10px); animation: ambient-gallery-drift calc(var(--ambient-duration) * 1.1) alternate infinite cubic-bezier(.3,0,.25,1); }
.invitation-ambient[data-environment="gallery"] .ambient-shadow { top: -80px; right: -100px; color: #38352f; filter: blur(11px); animation: ambient-gallery-columns calc(var(--ambient-duration) * 1.3) alternate infinite cubic-bezier(.4,0,.2,1); }
.ambient-shadow { top: -130px; right: -160px; width: min(560px,60vw); height: 100dvh; color: #253325; filter: blur(9px); transform-origin: right top; animation: ambient-branch-sway calc(var(--ambient-duration) * .8) alternate infinite cubic-bezier(.4,0,.3,1); }
.ambient-shadow svg { width: 100%; height: 100%; }
.invitation-ambient[data-environment="nocturne"] { mix-blend-mode: screen; opacity: calc(.17 * var(--ambient-strength)); }
.invitation-ambient[data-environment="nocturne"] .ambient-window { display: none; }
.invitation-ambient[data-environment="nocturne"] .ambient-glow { inset: 0; background: radial-gradient(ellipse at 100% 75%,#b57f35,transparent 48%),radial-gradient(ellipse at -20% 20%,#8d6a3c,transparent 55%); animation: ambient-candle-light calc(var(--ambient-duration) * .2) alternate infinite cubic-bezier(.24,0,.5,1); }
.invitation-ambient[data-paused="true"] > div { animation-play-state: paused; }
@keyframes ambient-light-travel { from { translate: -28px -18px; } to { translate: 35px 22px; } }
@keyframes ambient-gallery-drift { from { translate: -35px -20px; opacity: .7; } to { translate: 40px 25px; opacity: 1; } }
@keyframes ambient-gallery-columns { from { translate: -20px -10px; rotate: -2deg; } to { translate: 25px 15px; rotate: 2deg; } }
@keyframes ambient-sunbeams { from { opacity: .4; transform: scale(0.96) translate(-15px, -10px); } to { opacity: .85; transform: scale(1.04) translate(15px, 12px); } }
@keyframes ambient-branch-sway { from { rotate: -6deg; translate: -20px 0; } to { rotate: 4deg; translate: 18px 10px; } }
@keyframes ambient-candle-light { 0% { opacity: .62; transform: scale(0.98); } 25% { opacity: .92; transform: scale(1.02); } 50% { opacity: .7; transform: scale(0.99); } 75% { opacity: 1; transform: scale(1.025); } 100% { opacity: .65; transform: scale(0.98); } }
@media(prefers-reduced-motion:reduce) { html:not([data-preview-motion="true"]) .invitation-ambient { display: none; } }
html[data-preview-motion="true"] .invitation-ambient .ambient-window { animation-duration: var(--ambient-duration) !important; animation-iteration-count: infinite !important; }
html[data-preview-motion="true"] .invitation-ambient .ambient-shadow { animation-duration: calc(var(--ambient-duration) * .8) !important; animation-iteration-count: infinite !important; }
html[data-preview-motion="true"] .invitation-ambient .ambient-glow { animation-duration: calc(var(--ambient-duration) * .2) !important; animation-iteration-count: infinite !important; }
body[data-catalog-motion="paused"] #petalsCanvas { visibility: hidden; }
@media(max-width:600px) {
  .catalog-preview-nav { flex-wrap: wrap; gap: 4px 16px; }
  .catalog-jumps { flex-basis: 100%; width: 100%; }
  .catalog-preview-nav > button { padding: 7px 0; }
}
