.sw-p37 { box-sizing: border-box; font-family: 'Inter', sans-serif; background: #2A2430; color: #F0E7E0; }
.sw-p37 *, .sw-p37 *::before, .sw-p37 *::after { box-sizing: inherit; }
.sw-p37-wrap { position: relative; z-index: 1; max-width: 1160px; margin: 0 auto; padding: 0 clamp(1.7rem, 4vw, 3.2rem); }
.sw-p37-section { position: relative; padding: 6.4rem 0; }
.sw-p37-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 0.64rem; letter-spacing: 0.32em; text-transform: uppercase; font-weight: 600; color: #C76F4A; margin-bottom: 1.4rem; }
.sw-p37-eyebrow::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #C76F4A; }
.sw-p37-h2 { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: clamp(2.3rem, 4.8vw, 3.5rem); line-height: 1.05; letter-spacing: -0.4px; color: #F0E7E0; margin: 0 0 1.1rem; }
.sw-p37-h2 em { font-style: italic; color: #C76F4A; }
.sw-p37-lead { font-size: 1rem; line-height: 1.72; color: rgba(240, 231, 224, 0.62); max-width: 58ch; margin: 0; }
.sw-p37-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; margin-top: 3.2rem; }
.sw-p37-tile { position: relative; border: 1px solid rgba(199, 111, 74, 0.3); border-radius: 14px; padding: 2rem 1.6rem 1.8rem; background: rgba(199, 111, 74, 0.06); overflow: hidden; }
.sw-p37-tile::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(199, 111, 74, 0.24), rgba(199, 111, 74, 0.05)); transform: scaleY(0); transform-origin: bottom; transition: transform 0.5s cubic-bezier(0.2, 0.65, 0.2, 1); }
.sw-p37-tile:hover::before { transform: scaleY(1); }
.sw-p37-tile > * { position: relative; }
.sw-p37-tile-num { display: block; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 1.5rem; color: #C76F4A; margin-bottom: 0.9rem; transition: color 0.4s ease; }
.sw-p37-tile:hover .sw-p37-tile-num { color: #F0E7E0; }
.sw-p37-tile h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 1.3rem; margin: 0 0 0.55rem; color: #F0E7E0; }
.sw-p37-tile p { margin: 0; font-size: 0.87rem; line-height: 1.66; color: rgba(240, 231, 224, 0.58); }
.sw-p37-steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.8rem; margin-top: 3.4rem; }
.sw-p37-step { position: relative; padding-top: 1.5rem; }
.sw-p37-step::before { content: ''; position: absolute; top: 0; left: 0; right: -1.8rem; height: 1px; background: rgba(199, 111, 74, 0.4); }
.sw-p37-step:last-child::before { right: 0; }
.sw-p37-step::after { content: ''; position: absolute; top: -4px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: #C76F4A; }
.sw-p37-step-num { display: block; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 1.3rem; color: #C76F4A; margin-bottom: 0.7rem; }
.sw-p37-step h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 1.25rem; margin: 0 0 0.5rem; color: #F0E7E0; }
.sw-p37-step p { margin: 0; font-size: 0.87rem; line-height: 1.66; color: rgba(240, 231, 224, 0.58); }
.sw-p37-act { position: relative; background: #1E1A26; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 4.5rem 0; border-top: 1px solid rgba(199, 111, 74, 0.25); border-bottom: 1px solid rgba(199, 111, 74, 0.25); }
.sw-p37-ribbon { overflow: hidden; border-top: 1px solid rgba(199, 111, 74, 0.35); border-bottom: 1px solid rgba(199, 111, 74, 0.35); background: rgba(199, 111, 74, 0.08); }
.sw-p37-ribbon-track { display: flex; width: max-content; }
.sw-p37-ribbon-items { display: flex; align-items: center; }
.sw-p37-ribbon-items span { display: inline-flex; align-items: center; gap: 16px; padding: 13px 0 13px 16px; margin-right: 16px; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 1.05rem; color: #C76F4A; white-space: nowrap; }
.sw-p37-ribbon-items span::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: rgba(199, 111, 74, 0.6); }
.sw-p37-act-core { display: grid; grid-template-columns: auto 1fr; gap: clamp(2.4rem, 6vw, 5.5rem); align-items: center; max-width: 1160px; margin: clamp(2.4rem, 7vh, 4.5rem) auto; padding: 0 clamp(1.7rem, 4vw, 3.2rem); width: 100%; }
.sw-p37-blob-hero { position: relative; width: clamp(230px, 34vw, 330px); height: clamp(230px, 34vw, 330px); border-radius: 54% 46% 60% 40% / 48% 56% 44% 52%; background: linear-gradient(rgba(42, 36, 48, 0.18), rgba(42, 36, 48, 0)), url('/studio/components/images/pages/retail-5/s5.jpg') 50% 40% / cover; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.85); }
.sw-p37-blob-hero::before { content: ''; position: absolute; inset: -14px; border: 1px solid rgba(199, 111, 74, 0.45); border-radius: 58% 42% 52% 48% / 52% 48% 56% 44%; pointer-events: none; }
.sw-p37-act-h { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: clamp(2.8rem, 8vw, 6.2rem); line-height: 0.98; letter-spacing: -1px; margin: 0 0 1.4rem; color: #F0E7E0; }
.sw-p37-act-h em { font-style: italic; color: #C76F4A; }
.sw-p37-act-lead { margin: 0 0 1.8rem; font-size: 1rem; line-height: 1.7; color: rgba(240, 231, 224, 0.62); max-width: 46ch; }
.sw-p37-act-meta { display: flex; flex-wrap: wrap; gap: 0.6rem 1.8rem; margin: 0; font-size: 0.66rem; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(240, 231, 224, 0.5); }
.sw-p37-act-meta b { color: #C76F4A; font-weight: 600; }
.sw-p37-werke { background: #241F2C; border-top: 1px solid rgba(199, 111, 74, 0.25); border-bottom: 1px solid rgba(199, 111, 74, 0.25); }
.sw-p37-prozession { display: grid; gap: clamp(3rem, 7vw, 5rem); margin-top: 3.4rem; }
.sw-p37-werk { display: grid; grid-template-columns: auto 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.sw-p37-werk--flip { grid-template-columns: 1fr auto; }
.sw-p37-werk--flip .sw-p37-blobwrap { order: 2; }
.sw-p37-blobwrap { position: relative; width: min(250px, 100%); }
.sw-p37-blob { position: relative; width: 250px; height: 250px; max-width: 100%; border-radius: 54% 46% 60% 40% / 48% 56% 44% 52%; background: linear-gradient(rgba(42, 36, 48, 0.18), rgba(42, 36, 48, 0)), url('/studio/components/images/pages/retail-5/s4.jpg') 50% 45% / cover; box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.75); transition: border-radius 0.8s cubic-bezier(0.2, 0.65, 0.2, 1), transform 0.6s cubic-bezier(0.2, 0.65, 0.2, 1); }
.sw-p37-blob::before { content: ''; position: absolute; inset: -10px; border: 1px solid rgba(199, 111, 74, 0.4); border-radius: 58% 42% 52% 48% / 52% 48% 56% 44%; pointer-events: none; transition: border-radius 0.8s cubic-bezier(0.2, 0.65, 0.2, 1), opacity 0.5s ease; }
.sw-p37-blob:hover { border-radius: 46% 54% 44% 56% / 56% 44% 58% 42%; transform: scale(1.04) rotate(-2deg); }
.sw-p37-blob:hover::before { border-radius: 50% 50% 56% 44% / 46% 54% 46% 54%; opacity: 0.9; }
.sw-p37-blob--b { background-image: linear-gradient(rgba(42, 36, 48, 0.18), rgba(42, 36, 48, 0)), url('/studio/components/images/pages/retail-5/s2.jpg'); background-position: 50% 35%; border-radius: 46% 54% 44% 56% / 56% 44% 58% 42%; }
.sw-p37-blob--c { background-image: linear-gradient(rgba(42, 36, 48, 0.18), rgba(42, 36, 48, 0)), url('/studio/components/images/pages/retail-5/s3.jpg'); background-position: 50% 50%; border-radius: 60% 40% 54% 46% / 44% 58% 42% 56%; }
.sw-p37-werk-roman { display: block; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: clamp(2.6rem, 6vw, 4.2rem); line-height: 1; color: rgba(199, 111, 74, 0.4); margin-bottom: 0.8rem; }
.sw-p37-werk h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: clamp(1.6rem, 3.2vw, 2.3rem); margin: 0 0 0.6rem; color: #F0E7E0; }
.sw-p37-werk p { margin: 0 0 1rem; font-size: 0.92rem; line-height: 1.68; color: rgba(240, 231, 224, 0.62); max-width: 48ch; }
.sw-p37-werk-meta { display: inline-block; font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: #C76F4A; font-weight: 600; border: 1px solid rgba(199, 111, 74, 0.4); border-radius: 999px; padding: 7px 14px; }
.sw-p37-material { background: #1E1A26; padding: 5rem 0; }
.sw-p37-mat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.8rem; margin-top: 2.8rem; }
.sw-p37-mat { border-top: 1px solid rgba(199, 111, 74, 0.4); padding-top: 1.2rem; }
.sw-p37-mat b { display: block; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 1.3rem; color: #F0E7E0; margin-bottom: 0.5rem; transition: color 0.3s ease; }
.sw-p37-mat:hover b { color: #C76F4A; }
.sw-p37-mat p { margin: 0; font-size: 0.84rem; line-height: 1.64; color: rgba(240, 231, 224, 0.55); }
.sw-p37-atelier-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2.6rem, 5vw, 5rem); align-items: center; }
.sw-p37-names { list-style: none; margin: 2.2rem 0 0; padding: 0; }
.sw-p37-names li { display: grid; grid-template-columns: 1fr auto; gap: 1.4rem; align-items: baseline; padding: 0.9rem 0.2rem; border-top: 1px solid rgba(199, 111, 74, 0.25); transition: transform 0.4s cubic-bezier(0.2, 0.65, 0.2, 1); }
.sw-p37-names li:hover { transform: translateX(10px); }
.sw-p37-names b { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 1.25rem; color: #F0E7E0; }
.sw-p37-names span { font-size: 0.64rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(240, 231, 224, 0.5); text-align: right; }
.sw-p37-chips { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 2rem; }
.sw-p37-chip { border: 1px solid rgba(199, 111, 74, 0.45); border-radius: 999px; padding: 8px 15px; font-size: 0.7rem; letter-spacing: 0.1em; font-weight: 500; color: #F0E7E0; }
.sw-p37-atelier-visual { position: relative; height: 440px; border-radius: 14px; background: linear-gradient(rgba(30, 26, 38, 0.3), rgba(30, 26, 38, 0)), url('/studio/components/images/pages/retail-5/s6.jpg') 50% 40% / cover; box-shadow: 0 40px 80px -44px rgba(0, 0, 0, 0.8); }
.sw-p37-atelier-visual::before { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(199, 111, 74, 0.35); border-radius: 9px; pointer-events: none; }
.sw-p37-visual-tag { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); font-size: 0.58rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(240, 231, 224, 0.85); background: rgba(26, 21, 32, 0.6); padding: 5px 12px; border-radius: 999px; white-space: nowrap; }
.sw-p37-contact-card { max-width: 760px; margin: 0 auto; border: 1px solid rgba(199, 111, 74, 0.4); border-radius: 14px; background: rgba(199, 111, 74, 0.06); padding: 3.4rem 3rem 3rem; text-align: center; }
.sw-p37-contact-card h2 { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: clamp(2rem, 4vw, 2.7rem); margin: 0 0 1.1rem; color: #F0E7E0; }
.sw-p37-contact-card h2 em { font-style: italic; color: #C76F4A; }
.sw-p37-address { font-style: normal; font-size: 0.96rem; line-height: 1.85; color: rgba(240, 231, 224, 0.65); margin: 0 0 1.9rem; }
.sw-p37-address strong { color: #F0E7E0; font-weight: 600; }
.sw-p37-cta { display: inline-flex; align-items: center; gap: 10px; background: #C76F4A; color: #1E1A26; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 16px 36px; border-radius: 999px; text-decoration: none; transition: background 0.25s ease, box-shadow 0.25s ease; }
.sw-p37-cta:hover { background: #F0E7E0; box-shadow: 0 16px 34px -16px rgba(199, 111, 74, 0.7); }
.sw-p37-contact-note { margin: 1.8rem 0 0; font-size: 0.78rem; line-height: 1.65; color: rgba(240, 231, 224, 0.5); }
.sw-p37-footer { background: #1A1520; border-top: 1px solid rgba(199, 111, 74, 0.35); padding: 4.5rem 0 6.5rem; text-align: center; }
.sw-p37-f-brand { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 2rem; letter-spacing: 0.1em; color: #F0E7E0; margin: 0 0 0.4rem; }
.sw-p37-f-brand em { font-style: italic; color: #C76F4A; }
.sw-p37-f-tagline { display: block; font-size: 0.62rem; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(240, 231, 224, 0.45); margin-bottom: 2.2rem; }
.sw-p37-f-rule { display: block; width: 72px; height: 1px; background: linear-gradient(90deg, rgba(199, 111, 74, 0), #C76F4A, rgba(199, 111, 74, 0)); margin: 0 auto 2.2rem; }
.sw-p37-f-nav { list-style: none; display: flex; justify-content: center; gap: 2rem; margin: 0 0 2.2rem; padding: 0; flex-wrap: wrap; }
.sw-p37-f-nav a { font-size: 0.66rem; letter-spacing: 0.24em; text-transform: uppercase; font-weight: 500; color: rgba(240, 231, 224, 0.62); text-decoration: none; transition: color 0.25s; }
.sw-p37-f-nav a:hover { color: #C76F4A; }
.sw-p37-f-bottom { font-size: 0.74rem; line-height: 1.9; color: rgba(240, 231, 224, 0.4); }
.sw-p37-f-bottom a { color: rgba(240, 231, 224, 0.65); text-decoration: none; }
.sw-p37-f-bottom a:hover { color: #C76F4A; }
@media (prefers-reduced-motion: no-preference) {
.sw-p37-ribbon-track { animation: sw-p37-slide 30s linear infinite; }
.sw-p37-ribbon--rev .sw-p37-ribbon-track { animation-direction: reverse; }
.sw-p37-blob-hero { animation: sw-p37-morph 9s ease-in-out infinite alternate; }
.sw-p37-blob-hero::before { animation: sw-p37-morph-ring 9s ease-in-out infinite alternate; }
@keyframes sw-p37-slide { to { transform: translateX(-50%); } }
@keyframes sw-p37-morph { 0% { border-radius: 54% 46% 60% 40% / 48% 56% 44% 52%; } 50% { border-radius: 46% 54% 44% 56% / 58% 44% 58% 42%; } 100% { border-radius: 60% 40% 52% 48% / 44% 58% 42% 56%; } }
@keyframes sw-p37-morph-ring { 0% { border-radius: 58% 42% 52% 48% / 52% 48% 56% 44%; } 50% { border-radius: 48% 52% 58% 42% / 46% 56% 44% 54%; } 100% { border-radius: 52% 48% 44% 56% / 56% 44% 54% 46%; } }
@supports (animation-timeline: view()) {
.sw-p37-rev { animation: sw-p37-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 42%; }
.sw-p37-d1 { animation-range: entry 5% entry 50%; }
.sw-p37-d2 { animation-range: entry 10% entry 58%; }
.sw-p37-d3 { animation-range: entry 15% entry 66%; }
.sw-p37-d4 { animation-range: entry 20% entry 74%; }
@keyframes sw-p37-rise { from { opacity: 0; transform: translateY(46px); } to { opacity: 1; transform: translateY(0); } }
}
}
@media (max-width: 1000px) { .sw-p37-tiles { grid-template-columns: repeat(2, 1fr); } .sw-p37-steps { grid-template-columns: repeat(2, 1fr); } .sw-p37-step::before { right: 0; } .sw-p37-mat-grid { grid-template-columns: repeat(2, 1fr); } .sw-p37-atelier-grid { grid-template-columns: 1fr; } .sw-p37-atelier-visual { height: 340px; } .sw-p37-act-core { grid-template-columns: 1fr; justify-items: center; text-align: center; } .sw-p37-act-lead { max-width: 56ch; } .sw-p37-act-meta { justify-content: center; } }
@media (max-width: 720px) { .sw-p37-section { padding: 4.3rem 0; } .sw-p37-tiles, .sw-p37-steps, .sw-p37-mat-grid { grid-template-columns: 1fr; } .sw-p37-werk, .sw-p37-werk--flip { grid-template-columns: 1fr; justify-items: center; text-align: center; } .sw-p37-werk--flip .sw-p37-blobwrap { order: 0; } .sw-p37-werk p { max-width: 60ch; } .sw-p37-blob { width: 220px; height: 220px; } .sw-p37-atelier-visual { height: 280px; } .sw-p37-contact-card { padding: 2.4rem 1.5rem 2.2rem; } }
.sw-p37-cover { position: relative; min-height: 90vh; display: flex; align-items: flex-end; padding: 6.5rem 0 4.4rem; background: #1E1A26; }
.sw-p37-cover-media { position: absolute; inset: 0; overflow: hidden; }
.sw-p37-cover-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; filter: saturate(0.9) contrast(1.03); }
.sw-p37-cover-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26, 21, 32, 0.92), rgba(42, 36, 48, 0.44) 50%, rgba(42, 36, 48, 0.22)), linear-gradient(120deg, rgba(199, 111, 74, 0.14), rgba(199, 111, 74, 0) 55%); }
.sw-p37-cover-inner { width: 100%; }
.sw-p37-cover-h { font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: clamp(2.9rem, 8vw, 6.2rem); line-height: 0.98; margin: 0 0 1.1rem; color: #F0E7E0; }
.sw-p37-cover-h em { font-style: italic; color: #C76F4A; }
.sw-p37-cover-sub { font-size: 1rem; line-height: 1.7; color: rgba(240, 231, 224, 0.78); max-width: 50ch; margin: 0; }
@media (prefers-reduced-motion: no-preference) {
.sw-p37-cover-media img { animation: sw-p37-coverzoom 19s ease-in-out infinite alternate; }
@keyframes sw-p37-coverzoom { from { transform: scale(1); } to { transform: scale(1.05); } }
}
@media (max-width: 720px) { .sw-p37-cover { min-height: 74vh; padding: 5rem 0 3rem; } }
