/* Cover · Full photo (round 34): the photo fills the screen, a soft shade rises from the bottom, the names sit large
   over it, then the date and place and the button. */
html .inv .xc-full { position: relative; min-height: 100svh; display: flex; align-items: flex-end; padding: 0 var(--gutter) max(64px, env(safe-area-inset-bottom)); overflow: hidden; text-align: left; color: #fff; background: var(--ink); }
html .inv .xc-full .xc-ph { position: absolute; inset: 0; margin: 0; border-radius: 0; }
html .inv .xc-full .xc-ph img, html .inv .xc-full .xc-ph video { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
html .inv .xc-full .xc-noph { position: absolute; inset: 0; background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 70%, #000), var(--ink)); }
html .inv .xc-full .xc-shade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, .25), transparent 28%, transparent 45%, rgba(0, 0, 0, .72)); pointer-events: none; }
html .inv .xc-full .xc-in { position: relative; z-index: 1; width: 100%; max-width: 720px; margin: 0 auto; }
html .inv .xc-full .hero-k { margin: 0 0 10px; font-size: .74rem; letter-spacing: .26em; text-transform: uppercase; color: #fff; opacity: .9; }
html .inv .xc-full .hero-t { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(2.2rem, min(16vw, calc(118vw / var(--nl, 6) / var(--cw, 1))), 6.4rem); line-height: .92; letter-spacing: -.02em; color: #fff; -webkit-text-fill-color: #fff; text-shadow: 0 2px 24px rgba(0, 0, 0, .3); }
html .inv .xc-full .hero-t span { display: block; }
html .inv .xc-full .hero-t i { display: inline-block; margin: 0 .1em; font-family: var(--script, var(--display)); font-size: .5em; font-style: italic; }
html .inv .xc-full .xc-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 18px 0 22px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .45); font-size: .84rem; letter-spacing: .1em; text-transform: uppercase; }
html .inv .xc-full .xc-meta b { font-weight: 600; }
html .inv .xc-full .hero-cta { margin: 0; background: #fff; color: #111; }
html .inv .xc-full .hero-guest { margin: 0 0 8px; color: #fff; }
html .inv .xc-full .hero-media-tag { top: max(14px, env(safe-area-inset-top)); bottom: auto; }

html .inv .xc::before, html .inv .xc::after { display: none; }
html .inv .xc .hero-media-tag { display: none; }   /* the sample photos carry their own watermark */
html .inv .xc :is(.xc-ph, .xc-stamp, .xc-round) { position: relative; overflow: hidden; }
html .inv .xc :is(.xc-ph, .xc-stamp, .xc-round) .cm-media { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 0; opacity: 1; transform: none; }
html .inv .xc-full > .xc-ph { position: absolute; inset: 0; }
html .inv .xc .hero-t span, html .inv .xc .hero-t i { padding: 0; margin-left: 0; text-indent: 0; transform: none; }
html.t-hotel { --cw: 1.5; }   /* a very wide display face */
