.sw-p39 { box-sizing: border-box; font-family: 'Inter', sans-serif; background: #FFFFFF; color: #3F2E2C; }
.sw-p39 *, .sw-p39 *::before, .sw-p39 *::after { box-sizing: inherit; }
.sw-p39-wrap { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; padding: 0 clamp(1.6rem, 4vw, 3rem); }
.sw-p39-section { padding: 6.2rem 0; position: relative; }
.sw-p39-head { text-align: center; max-width: 700px; margin: 0 auto 3.4rem; }
.sw-p39-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 0.68rem; letter-spacing: 4px; text-transform: uppercase; font-weight: 600; color: #3F2E2C; margin-bottom: 1.2rem; }
.sw-p39-dot { width: 7px; height: 7px; border-radius: 50%; background: #C98A8A; }
.sw-p39-eyebrow i { font-style: normal; color: #7E9181; font-weight: 500; letter-spacing: 2.5px; }
.sw-p39-h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(2.3rem, 4.6vw, 3.4rem); line-height: 1.05; letter-spacing: -0.8px; color: #3F2E2C; margin: 0 0 1rem; }
.sw-p39-h2 em { font-style: italic; color: #C98A8A; }
.sw-p39-lead { font-size: 16px; line-height: 1.7; color: #8A7A74; margin: 0; }
.sw-p39-pakete { background: radial-gradient(640px 320px at 10% 0%, rgba(201, 138, 138, 0.08), transparent 70%), radial-gradient(640px 320px at 90% 100%, rgba(126, 145, 129, 0.1), transparent 70%), #FFFFFF; }
.sw-p39-paket-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; align-items: stretch; }
.sw-p39-paket { position: relative; background: #FBF6F2; border: 1px solid rgba(201, 138, 138, 0.35); box-shadow: 0 26px 52px -30px rgba(63, 46, 44, 0.3); padding: 2.8rem 1.9rem 2rem; display: flex; flex-direction: column; text-align: center; transition: box-shadow 0.4s ease, border-color 0.4s ease; }
.sw-p39-paket::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-p39-paket::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 120px; background: radial-gradient(120px 80px at 50% 0%, rgba(201, 138, 138, 0.22), transparent 75%); opacity: 0; transition: opacity 0.5s ease; pointer-events: none; }
.sw-p39-paket:hover { box-shadow: 0 36px 64px -32px rgba(63, 46, 44, 0.42); border-color: rgba(201, 138, 138, 0.7); }
.sw-p39-paket:hover::after { opacity: 1; }
.sw-p39-paket:hover .sw-p39-paket-num { transform: translateX(-50%) rotate(-8deg) scale(1.06); }
.sw-p39-paket-num { position: absolute; top: -24px; left: 50%; transform: translateX(-50%); width: 48px; height: 48px; 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.05rem; color: rgba(201, 138, 138, 0.85); transition: transform 0.4s cubic-bezier(0.34, 1.4, 0.4, 1); }
.sw-p39-paket h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 1.75rem; margin: 0.4rem 0 0.3rem; color: #3F2E2C; }
.sw-p39-paket-price { font-size: 0.7rem; letter-spacing: 0.26em; text-transform: uppercase; font-weight: 700; color: #7E9181; margin: 0 0 1.4rem; }
.sw-p39-paket-price strong { color: #C98A8A; }
.sw-p39-paket ul { list-style: none; margin: 0 0 1.4rem; padding: 1.3rem 0 0; border-top: 1px solid rgba(201, 138, 138, 0.3); display: grid; gap: 0.7rem; text-align: left; }
.sw-p39-paket li { font-size: 0.88rem; line-height: 1.55; color: #8A7A74; padding-left: 1.3rem; position: relative; }
.sw-p39-paket li::before { content: ''; position: absolute; left: 0; top: 0.5em; width: 6px; height: 6px; border-radius: 50%; background: #C98A8A; }
.sw-p39-paket-foot { margin-top: auto; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; color: #7E9181; padding-top: 0.9rem; border-top: 1px solid rgba(201, 138, 138, 0.3); }
.sw-p39-ablauf { background: #FBF6F2; border-top: 1px solid rgba(126, 145, 129, 0.3); border-bottom: 1px solid rgba(126, 145, 129, 0.3); }
.sw-p39-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.2rem, 2.5vw, 2.2rem); position: relative; }
.sw-p39-steps::before { content: ''; position: absolute; left: 6%; right: 6%; top: 31px; border-top: 1px dashed rgba(126, 145, 129, 0.55); }
.sw-p39-step { position: relative; text-align: center; }
.sw-p39-step-orb { position: relative; z-index: 1; width: 62px; height: 62px; margin: 0 auto 1.2rem; border-radius: 50%; background: #FFFFFF; border: 1px solid rgba(201, 138, 138, 0.45); box-shadow: inset 2px 2px 6px rgba(160, 118, 110, 0.18), inset -2px -2px 6px rgba(255, 255, 255, 0.95); display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.35rem; color: #C98A8A; }
.sw-p39-step-when { display: block; font-size: 0.62rem; letter-spacing: 0.28em; text-transform: uppercase; font-weight: 700; color: #7E9181; margin-bottom: 0.6rem; }
.sw-p39-step h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 1.45rem; margin: 0 0 0.5rem; color: #3F2E2C; }
.sw-p39-step p { margin: 0 auto; max-width: 26ch; font-size: 0.88rem; line-height: 1.62; color: #8A7A74; }
.sw-p39-act { position: relative; background: #FBF6F2; min-height: 100vh; display: flex; align-items: center; text-align: center; padding: 7rem 0; }
.sw-p39-act::before { content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 9px; background-image: radial-gradient(circle at 8px 9px, #FFFFFF 0 7px, transparent 8px); background-size: 16px 9px; background-repeat: repeat-x; }
.sw-p39-act::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 9px; background-image: radial-gradient(circle at 8px 0px, #FFFFFF 0 7px, transparent 8px); background-size: 16px 9px; background-repeat: repeat-x; }
.sw-p39-script { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(2.6rem, 8vw, 6rem); line-height: 1.08; letter-spacing: -1px; color: #3F2E2C; margin: 0 auto 2.6rem; max-width: 18ch; }
.sw-p39-script em { font-style: italic; color: #C98A8A; }
.sw-p39-ribbonline { position: relative; height: 30px; max-width: 560px; margin: 0 auto 2.6rem; }
.sw-p39-ribbonband { position: absolute; inset: 0; background: linear-gradient(180deg, #D8A0A0, #C98A8A 55%, #B97C7C); clip-path: polygon(0 0, 100% 0, calc(100% - 15px) 50%, 100% 100%, 0 100%, 15px 50%); box-shadow: 0 10px 22px -12px rgba(201, 138, 138, 0.8); }
.sw-p39-ribbonband span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.64rem; letter-spacing: 0.34em; text-transform: uppercase; font-weight: 700; color: #FFFFFF; }
.sw-p39-act-meta { display: flex; justify-content: center; gap: 0.6rem 2rem; flex-wrap: wrap; margin: 0; font-size: 0.68rem; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 600; color: #7E9181; }
.sw-p39-act-meta b { color: #3F2E2C; font-weight: 700; }
.sw-p39-std { padding: 5rem 0; 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); }
.sw-p39-std-head { text-align: center; margin-bottom: 2.6rem; }
.sw-p39-std-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.sw-p39-std-card { position: relative; background: #FFFFFF; border: 1px solid rgba(201, 138, 138, 0.4); padding: 1.8rem 1.4rem 1.4rem; text-align: center; box-shadow: 0 18px 36px -24px rgba(63, 46, 44, 0.35); }
.sw-p39-std-card::after { content: ''; position: absolute; left: 0; right: 0; bottom: -7px; height: 8px; background-image: radial-gradient(circle at 8px 0px, #FFFFFF 0 7px, transparent 8px); background-size: 16px 8px; background-repeat: repeat-x; filter: drop-shadow(0 1px 0 rgba(201, 138, 138, 0.4)); }
.sw-p39-std-cameo { width: 64px; height: 80px; border-radius: 32px / 40px; margin: 0 auto 0.9rem; background-image: url('/studio/components/images/pages/kleinunt-2/s2.jpg'); background-size: cover; background-position: 50% 45%; border: 3px solid #FBF6F2; box-shadow: 0 0 0 1px rgba(201, 138, 138, 0.5); }
.sw-p39-std-cameo--b { background-image: url('/studio/components/images/pages/kleinunt-2/s3.jpg'); background-position: 50% 50%; }
.sw-p39-std-cameo--c { background-image: url('/studio/components/images/pages/kleinunt-2/s5.jpg'); background-position: 50% 50%; }
.sw-p39-std-couple { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 1.5rem; color: #C98A8A; margin-bottom: 0.3rem; }
.sw-p39-std-meta { display: block; font-size: 0.74rem; line-height: 1.6; color: #8A7A74; }
.sw-p39-std-date { position: relative; display: block; margin-top: 0.9rem; padding-top: 0.7rem; border-top: 1px solid rgba(201, 138, 138, 0.3); height: 2.4em; overflow: hidden; }
.sw-p39-std-date b, .sw-p39-std-date u { position: absolute; left: 0; right: 0; top: 0.7rem; display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 0.64rem; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; color: #3F2E2C; transition: transform 0.4s cubic-bezier(0.2, 0.65, 0.2, 1), opacity 0.4s ease; }
.sw-p39-std-date b i { font-style: normal; color: #C98A8A; letter-spacing: 0.3em; }
.sw-p39-std-date u { text-decoration: none; color: #C98A8A; transform: translateY(140%); opacity: 0; }
.sw-p39-std-card:hover .sw-p39-std-date b { transform: translateY(-140%); opacity: 0; }
.sw-p39-std-card:hover .sw-p39-std-date u { transform: translateY(0); opacity: 1; }
.sw-p39-locations { background: #FFFFFF; }
.sw-p39-loc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.4rem; text-align: center; }
.sw-p39-loc-cameo { width: 150px; height: 190px; border-radius: 75px / 95px; margin: 0 auto 1.3rem; background-image: url('/studio/components/images/pages/kleinunt-2/s1.jpg'); background-size: cover; background-position: 50% 45%; border: 4px solid #FFFFFF; box-shadow: 0 0 0 1px rgba(201, 138, 138, 0.5), 0 18px 36px -18px rgba(63, 46, 44, 0.4); transition: transform 0.5s cubic-bezier(0.2, 0.65, 0.2, 1), box-shadow 0.5s ease; }
.sw-p39-loc-cameo--b { background-image: url('/studio/components/images/pages/kleinunt-2/s4.jpg'); background-position: 50% 55%; }
.sw-p39-loc-cameo--c { background-image: url('/studio/components/images/pages/kleinunt-2/s6.jpg'); background-position: 50% 40%; }
.sw-p39-loc:hover .sw-p39-loc-cameo { transform: scale(1.05) rotate(-2deg); box-shadow: 0 0 0 1px rgba(201, 138, 138, 0.8), 0 26px 46px -18px rgba(63, 46, 44, 0.5); }
.sw-p39-loc h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 1.55rem; margin: 0 0 0.3rem; color: #3F2E2C; }
.sw-p39-loc-meta { display: block; font-size: 0.66rem; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 700; color: #7E9181; margin-bottom: 0.7rem; }
.sw-p39-loc p { margin: 0 auto; max-width: 28ch; font-size: 0.88rem; line-height: 1.64; color: #8A7A74; }
.sw-p39-quote { background: #FBF6F2; border-top: 1px solid rgba(201, 138, 138, 0.3); border-bottom: 1px solid rgba(201, 138, 138, 0.3); text-align: center; }
.sw-p39-quote-mono { width: 62px; height: 62px; margin: 0 auto 1.6rem; border-radius: 50%; background: #FFFFFF; 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); 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.8); }
.sw-p39-quote blockquote { margin: 0 auto; max-width: 32ch; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.3; color: #3F2E2C; }
.sw-p39-quote blockquote em { font-style: italic; color: #C98A8A; }
.sw-p39-quote figcaption { margin-top: 1.6rem; font-size: 0.68rem; letter-spacing: 0.26em; text-transform: uppercase; font-weight: 700; color: #7E9181; }
.sw-p39-contact { background: radial-gradient(640px 320px at 88% 0%, rgba(201, 138, 138, 0.08), transparent 70%), #FFFFFF; }
.sw-p39-contact-card { position: relative; max-width: 640px; margin: 0 auto; background: #FBF6F2; border: 1px solid rgba(201, 138, 138, 0.35); box-shadow: 0 30px 60px -30px rgba(63, 46, 44, 0.35); padding: 3.4rem 2.6rem 2.4rem; text-align: center; }
.sw-p39-contact-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-p39-contact-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-p39-contact-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-p39-contact-card h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(2rem, 4vw, 2.6rem); margin: 0 0 1rem; color: #3F2E2C; }
.sw-p39-contact-card h2 em { font-style: italic; color: #C98A8A; }
.sw-p39-address { font-style: normal; font-size: 0.95rem; line-height: 1.85; color: #8A7A74; margin: 0 0 1.8rem; }
.sw-p39-address strong { color: #3F2E2C; font-weight: 700; }
.sw-p39-cta { display: inline-flex; align-items: center; gap: 10px; background: #C98A8A; color: #FFFFFF; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.03em; padding: 15px 32px; border-radius: 999px; text-decoration: none; transition: background 0.3s ease, box-shadow 0.3s ease; }
.sw-p39-cta:hover { background: #3F2E2C; box-shadow: 0 16px 30px -14px rgba(63, 46, 44, 0.5); }
.sw-p39-contact-note { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 1.8rem 0 0; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; color: #7E9181; }
.sw-p39-contact-note::before, .sw-p39-contact-note::after { content: ''; width: 34px; height: 1px; background: rgba(201, 138, 138, 0.5); }
.sw-p39-footer { background: #FBF6F2; border-top: 1px solid rgba(201, 138, 138, 0.35); padding: 4.5rem 0 6.5rem; text-align: center; }
.sw-p39-f-mono { width: 56px; height: 56px; margin: 0 auto 1.2rem; border-radius: 50%; background: #FFFFFF; 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); display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.3rem; color: rgba(201, 138, 138, 0.8); }
.sw-p39-f-brand { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 2rem; color: #3F2E2C; margin: 0 0 0.4rem; }
.sw-p39-f-brand em { font-style: italic; color: #C98A8A; }
.sw-p39-f-tagline { display: block; font-size: 0.66rem; letter-spacing: 0.28em; text-transform: uppercase; font-weight: 600; color: #7E9181; margin-bottom: 2.2rem; }
.sw-p39-f-nav { list-style: none; display: flex; justify-content: center; gap: 1.9rem; margin: 0 0 2.2rem; padding: 0; flex-wrap: wrap; }
.sw-p39-f-nav a { font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; color: #3F2E2C; text-decoration: none; transition: color 0.2s; }
.sw-p39-f-nav a:hover { color: #C98A8A; }
.sw-p39-f-bottom { font-size: 0.76rem; line-height: 1.9; color: #8A7A74; }
.sw-p39-f-bottom a { color: #3F2E2C; text-decoration: none; }
.sw-p39-f-bottom a:hover { color: #C98A8A; }
@media (prefers-reduced-motion: no-preference) {
@supports (animation-timeline: view()) {
.sw-p39-rev { animation: sw-p39-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 42%; }
.sw-p39-d1 { animation-range: entry 5% entry 50%; }
.sw-p39-d2 { animation-range: entry 10% entry 58%; }
.sw-p39-d3 { animation-range: entry 15% entry 66%; }
.sw-p39-d4 { animation-range: entry 20% entry 74%; }
.sw-p39-ribbonband { animation: sw-p39-draw linear both; animation-timeline: view(); animation-range: entry 10% entry 80%; transform-origin: left center; }
@keyframes sw-p39-rise { from { opacity: 0; transform: translateY(46px); } to { opacity: 1; transform: translateY(0); } }
@keyframes sw-p39-draw { from { transform: scaleX(0.12); } to { transform: scaleX(1); } }
}
}
@media (max-width: 960px) { .sw-p39-paket-grid, .sw-p39-std-grid, .sw-p39-loc-grid { grid-template-columns: 1fr; } .sw-p39-paket { max-width: 460px; margin: 0 auto; width: 100%; } .sw-p39-steps { grid-template-columns: repeat(2, 1fr); gap: 2.4rem 1.4rem; } .sw-p39-steps::before { display: none; } }
@media (max-width: 720px) { .sw-p39-section { padding: 4.2rem 0; } .sw-p39-steps { grid-template-columns: 1fr; } .sw-p39-paket-grid { gap: 2.2rem; } .sw-p39-contact-card { padding: 2.6rem 1.5rem 2rem; } .sw-p39-act { padding: 5rem 0; } .sw-p39-ribbonline { max-width: 86vw; } }
.sw-p39-cover { position: relative; min-height: 90vh; display: flex; align-items: flex-end; padding: 6.5rem 0 4.6rem; background: #3F2E2C; }
.sw-p39-cover::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 9px; background-image: radial-gradient(circle at 8px 0px, #FFFFFF 0 7px, transparent 8px); background-size: 16px 9px; background-repeat: repeat-x; z-index: 2; }
.sw-p39-cover-media { position: absolute; inset: 0; overflow: hidden; }
.sw-p39-cover-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; display: block; filter: saturate(0.96); }
.sw-p39-cover-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(63, 46, 44, 0.88), rgba(63, 46, 44, 0.34) 50%, rgba(63, 46, 44, 0.18)); }
.sw-p39-cover-inner { width: 100%; }
.sw-p39-cover-kicker { display: inline-flex; align-items: center; gap: 12px; font-size: 0.68rem; letter-spacing: 4px; text-transform: uppercase; font-weight: 600; color: #FFFFFF; margin-bottom: 1.2rem; }
.sw-p39-cover-kicker::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #C98A8A; }
.sw-p39-cover-h { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(2.8rem, 8vw, 6rem); line-height: 1.02; letter-spacing: -1px; margin: 0 0 1.1rem; color: #FFFFFF; }
.sw-p39-cover-h em { font-style: italic; color: #E7BDBD; }
.sw-p39-cover-sub { font-size: 1rem; line-height: 1.7; color: rgba(255, 255, 255, 0.85); max-width: 52ch; margin: 0; }
.sw-p39-galerie { background: #FFFFFF; }
.sw-p39-gal-grid { display: grid; grid-template-columns: 1fr 1.18fr 1fr; gap: clamp(1.2rem, 2.4vw, 2rem); align-items: start; }
.sw-p39-gal-fig { margin: 0; text-align: center; }
.sw-p39-gal-fig--tall { margin-top: 2.2rem; }
.sw-p39-gal-imgbox { position: relative; overflow: hidden; box-shadow: 0 0 0 1px rgba(201, 138, 138, 0.5), 0 22px 44px -26px rgba(63, 46, 44, 0.45); }
.sw-p39-gal-imgbox::before { content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 9px; background-image: radial-gradient(circle at 8px 9px, #FFFFFF 0 7px, transparent 8px); background-size: 16px 9px; background-repeat: repeat-x; z-index: 1; }
.sw-p39-gal-imgbox::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 9px; background-image: radial-gradient(circle at 8px 0px, #FFFFFF 0 7px, transparent 8px); background-size: 16px 9px; background-repeat: repeat-x; z-index: 1; }
.sw-p39-gal-imgbox img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 50%; filter: saturate(0.98); transition: transform 0.7s cubic-bezier(0.2, 0.65, 0.2, 1); }
.sw-p39-gal-fig--tall .sw-p39-gal-imgbox img { aspect-ratio: 4 / 5; }
.sw-p39-gal-fig:hover .sw-p39-gal-imgbox img { transform: scale(1.05); }
.sw-p39-gal-fig figcaption { display: flex; justify-content: center; gap: 0.8rem; align-items: baseline; padding-top: 0.9rem; flex-wrap: wrap; }
.sw-p39-gal-fig figcaption b { font-size: 0.62rem; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 700; color: #C98A8A; }
.sw-p39-gal-fig figcaption span { font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: #8A7A74; }
@media (prefers-reduced-motion: no-preference) {
.sw-p39-cover-media img { animation: sw-p39-coverzoom 19s ease-in-out infinite alternate; }
@keyframes sw-p39-coverzoom { from { transform: scale(1); } to { transform: scale(1.05); } }
}
@media (max-width: 960px) { .sw-p39-gal-grid { grid-template-columns: 1fr 1fr; } .sw-p39-gal-fig--tall { margin-top: 0; grid-column: 1 / -1; } .sw-p39-gal-fig--tall .sw-p39-gal-imgbox img { aspect-ratio: 16 / 10; } }
@media (max-width: 720px) { .sw-p39-cover { min-height: 74vh; padding: 5rem 0 3.4rem; } .sw-p39-gal-grid { grid-template-columns: 1fr; } .sw-p39-gal-fig--tall .sw-p39-gal-imgbox img { aspect-ratio: 3 / 4; } }
