.sw-h39 { position: relative; min-height: 100vh; background: #FFFFFF; color: #3F2E2C; font-family: 'Inter', sans-serif; display: flex; flex-direction: column; justify-content: center; padding: 3.2rem clamp(2rem, 5vw, 4.5rem) 2.2rem; overflow: hidden; }
.sw-h39::before { content: ""; position: absolute; inset: 0; background: radial-gradient(640px 320px at 12% 0%, rgba(201,138,138,0.1), transparent 70%), radial-gradient(640px 320px at 92% 100%, rgba(126,145,129,0.12), transparent 70%); pointer-events: none; }
.sw-h39-band { position: absolute; left: 0; right: 0; top: 52%; height: 64px; transform: translateY(-50%); background: rgba(126,145,129,0.1); border-top: 1px solid rgba(126,145,129,0.35); border-bottom: 1px solid rgba(126,145,129,0.35); pointer-events: none; }
.sw-h39-head { position: relative; text-align: center; margin-bottom: 1.6rem; }
.sw-h39-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 0.7rem; letter-spacing: 4px; text-transform: uppercase; font-weight: 600; color: #3F2E2C; margin-bottom: 1.2rem; }
.sw-h39-dot { width: 7px; height: 7px; border-radius: 50%; background: #C98A8A; }
.sw-h39-eyebrow-loc { color: #7E9181; font-weight: 500; letter-spacing: 2.5px; }
.sw-h39-title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 56px; line-height: 1.04; letter-spacing: -1px; color: #3F2E2C; margin: 0 auto; max-width: 24ch; }
.sw-h39-italic { font-style: italic; color: #C98A8A; }
.sw-h39-stage { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: clamp(1.5rem, 4vw, 3.5rem); }
.sw-h39-side-left { text-align: right; justify-self: end; max-width: 34ch; }
.sw-h39-emphasis { display: block; font-size: 0.66rem; letter-spacing: 0.3em; text-transform: uppercase; font-weight: 700; color: #7E9181; margin-bottom: 0.8rem; }
.sw-h39-sub { font-size: 16px; line-height: 1.7; color: #8A7A74; margin: 0; }
.sw-h39-card { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; width: min(320px, 80vw); background: #FBF6F2; border: 1px solid rgba(201,138,138,0.35); box-shadow: 0 30px 60px -30px rgba(63,46,44,0.35); padding: 3rem 2rem 1.6rem; margin: 1.4rem 0; }
.sw-h39-card::before { content: ""; position: absolute; left: 0; right: 0; top: -7px; height: 8px; background-image: radial-gradient(circle at 8px 8px, #FBF6F2 0 7px, transparent 8px); background-size: 16px 8px; background-repeat: repeat-x; filter: drop-shadow(0 -1px 0 rgba(201,138,138,0.35)); }
.sw-h39-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 8px; background-image: radial-gradient(circle at 8px 0px, #FBF6F2 0 7px, transparent 8px); background-size: 16px 8px; background-repeat: repeat-x; filter: drop-shadow(0 1px 0 rgba(201,138,138,0.35)); }
.sw-h39-ribbon { position: absolute; top: -12px; left: 30px; width: 12px; height: 72px; background: #C98A8A; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 86%, 0 100%); opacity: 0.85; }
.sw-h39-monogram { position: absolute; top: -30px; left: 50%; transform: translateX(-50%); width: 62px; height: 62px; border-radius: 50%; background: #FBF6F2; border: 1px solid rgba(201,138,138,0.45); box-shadow: inset 2px 2px 6px rgba(160,118,110,0.22), inset -2px -2px 6px rgba(255,255,255,0.95), 0 8px 18px -10px rgba(63,46,44,0.3); display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.5rem; color: rgba(201,138,138,0.75); }
.sw-h39-card-label { font-size: 0.62rem; letter-spacing: 0.34em; text-transform: uppercase; font-weight: 700; color: #7E9181; margin-bottom: 1rem; }
.sw-h39-cameo { width: 104px; height: 132px; border-radius: 52px / 66px; background-image: url('/studio/components/images/kleinunt-2-hochzeit.jpg'); background-size: cover; background-position: center; border: 4px solid #FFFFFF; box-shadow: 0 0 0 1px rgba(201,138,138,0.5), 0 14px 28px -14px rgba(63,46,44,0.4); margin-bottom: 1rem; }
.sw-h39-card-couple { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 1.7rem; color: #C98A8A; margin-bottom: 0.5rem; }
.sw-h39-card-body { font-size: 0.78rem; line-height: 1.55; color: #8A7A74; max-width: 26ch; }
.sw-h39-rsvp { display: flex; align-items: center; gap: 12px; width: 100%; margin-top: 1.2rem; padding-top: 0.9rem; border-top: 1px solid rgba(201,138,138,0.3); font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; color: #3F2E2C; justify-content: center; }
.sw-h39-rsvp-word { font-style: normal; color: #C98A8A; letter-spacing: 0.3em; }
.sw-h39-rsvp-rule { width: 34px; height: 1px; background: rgba(201,138,138,0.5); }
.sw-h39-side-right { justify-self: start; display: flex; flex-direction: column; gap: 1.1rem; max-width: 30ch; }
.sw-h39-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.sw-h39-cta-primary { display: inline-flex; align-items: center; gap: 10px; background: #C98A8A; color: #FFFFFF; font-size: 0.88rem; font-weight: 600; letter-spacing: 0.03em; padding: 14px 28px; border-radius: 999px; text-decoration: none; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.sw-h39-cta-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(201,138,138,0.7); }
.sw-h39-cta-secondary { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(63,46,44,0.35); color: #3F2E2C; font-size: 0.85rem; font-weight: 600; padding: 12px 24px; border-radius: 999px; text-decoration: none; transition: border-color 0.25s ease, color 0.25s ease; }
.sw-h39-cta-secondary:hover { border-color: #C98A8A; color: #C98A8A; }
.sw-h39-live { display: inline-flex; align-items: center; gap: 10px; border: 1px solid #C98A8A; border-radius: 999px; padding: 9px 16px; font-size: 0.72rem; color: #3F2E2C; background: #FFFFFF; }
.sw-h39-live strong { font-weight: 700; }
.sw-h39-live-meta { color: #8A7A74; }
.sw-h39-pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: #C98A8A; box-shadow: 0 0 0 4px rgba(201,138,138,0.2); }
.sw-h39-footer { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 1.8rem; }
.sw-h39-foot-label { font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: #8A7A74; }
.sw-h39-sep { width: 5px; height: 5px; border-radius: 50%; background: rgba(126,145,129,0.6); }
.sw-h39-foot-stat { margin-left: 1.6rem; font-size: 0.72rem; color: #3F2E2C; }
.sw-h39-foot-stat strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.1rem; color: #C98A8A; margin-right: 6px; }
.sw-h39-foot-meta { color: #8A7A74; }
.sw-h39-credit { position: absolute; bottom: 12px; right: 16px; font-size: 0.58rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(63,46,44,0.4); }
@media (max-width: 960px) { .sw-h39 { padding: 2.6rem 1.4rem 2rem; } .sw-h39-title { font-size: 40px; } .sw-h39-stage { grid-template-columns: 1fr; justify-items: center; } .sw-h39-side-left { text-align: center; justify-self: center; } .sw-h39-side-right { justify-self: center; align-items: center; } .sw-h39-actions { align-items: center; } .sw-h39-band { display: none; } .sw-h39-foot-stat { margin-left: 0; width: 100%; text-align: center; } }
