.sw-h23 { position: relative; min-height: 100vh; background: #F7F6F2; color: #161412; font-family: 'Inter', sans-serif; display: grid; grid-template-columns: 0.46fr 0.54fr; overflow: hidden; }
.sw-h23-cover { display: flex; flex-direction: column; padding: 2.8rem clamp(2rem, 4vw, 3.4rem) 2.2rem clamp(2.2rem, 5vw, 4.2rem); }
.sw-h23-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 0.78rem; letter-spacing: 2px; text-transform: uppercase; font-weight: 800; color: #161412; border-top: 3px solid #161412; border-bottom: 1px solid #161412; padding: 0.75rem 0; margin-bottom: 1.8rem; }
.sw-h23-dot { width: 9px; height: 9px; border-radius: 50%; background: #D23A4E; }
.sw-h23-brand { white-space: nowrap; }
.sw-h23-loc { font-style: normal; color: #6F6A62; font-weight: 600; letter-spacing: 1px; }
.sw-h23-title { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 88px; line-height: 0.9; letter-spacing: -2.5px; color: #161412; margin: 0 0 1.2rem; }
.sw-h23-italic { font-style: italic; font-weight: 500; color: #D23A4E; }
.sw-h23-sub { font-size: 16px; line-height: 1.6; color: #6F6A62; max-width: 40ch; margin: 0 0 0.8rem; }
.sw-h23-emphasis { display: block; font-size: 0.66rem; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; color: #D23A4E; margin-bottom: 1.5rem; }
.sw-h23-actions { display: flex; align-items: center; gap: 14px; margin-bottom: 1.8rem; }
.sw-h23-cta-primary { display: inline-flex; align-items: center; gap: 10px; background: #161412; color: #F7F6F2; font-size: 0.88rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 15px 28px; border-radius: 3px; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.sw-h23-cta-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -12px rgba(22,20,18,0.5); }
.sw-h23-cta-secondary { display: inline-flex; align-items: center; color: #161412; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 6px 2px; border-bottom: 2px solid #D23A4E; text-decoration: none; }
.sw-h23-footer { display: flex; flex-direction: column; gap: 7px; padding-top: 1.2rem; border-top: 1px solid rgba(22,20,18,0.25); }
.sw-h23-foot-label { font-size: 0.6rem; letter-spacing: 0.28em; text-transform: uppercase; font-weight: 700; color: #6F6A62; }
.sw-h23-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sw-h23-lines li { display: flex; align-items: center; gap: 12px; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #161412; }
.sw-h23-line-mark { width: 18px; height: 2px; background: #D23A4E; flex-shrink: 0; }
.sw-h23-issue { display: flex; align-items: center; gap: 16px; margin-top: auto; padding-top: 1.4rem; }
.sw-h23-barcode { width: 86px; height: 32px; flex-shrink: 0; background: repeating-linear-gradient(90deg, #161412 0 2px, transparent 2px 5px, #161412 5px 6px, transparent 6px 9px, #161412 9px 12px, transparent 12px 14px); }
.sw-h23-issue-meta { display: flex; align-items: baseline; gap: 10px; }
.sw-h23-foot-num { font-family: 'Fraunces', Georgia, serif; font-size: 1.05rem; font-weight: 700; color: #161412; white-space: nowrap; }
.sw-h23-foot-meta { font-size: 0.66rem; line-height: 1.45; letter-spacing: 0.04em; color: #6F6A62; max-width: 30ch; }
.sw-h23-photo { position: relative; overflow: hidden; }
.sw-h23-photo::before { content: ""; position: absolute; inset: 0; background-image: url('/studio/components/images/beauty-1-friseur.jpg'); background-size: cover; background-position: 50% 20%; filter: grayscale(1) contrast(1.14); }
.sw-h23-photo::after { content: ""; position: absolute; inset: 0; box-shadow: inset 60px 0 60px -60px rgba(22,20,18,0.35); pointer-events: none; }
.sw-h23-stylist { position: absolute; left: 7%; bottom: 7%; z-index: 2; display: flex; flex-direction: column; gap: 7px; width: min(280px, 78%); background: #FFFFFF; border-top: 3px solid #D23A4E; padding: 1.2rem 1.4rem 1.1rem; box-shadow: 0 26px 56px -22px rgba(22,20,18,0.55); }
.sw-h23-stylist-title { font-family: 'Fraunces', Georgia, serif; font-size: 1.02rem; font-weight: 600; color: #161412; }
.sw-h23-stylist-date { font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: #6F6A62; margin-bottom: 4px; }
.sw-h23-stylist-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 0.78rem; padding: 4px 0; border-bottom: 1px solid rgba(22,20,18,0.1); }
.sw-h23-stylist-row:last-child { border-bottom: none; }
.sw-h23-stylist-row > span { font-weight: 600; color: #161412; }
.sw-h23-stylist-slot { font-style: normal; font-weight: 700; font-size: 0.72rem; letter-spacing: 0.04em; color: #D23A4E; white-space: nowrap; }
.sw-h23-photo-credit { position: absolute; top: 16px; right: 14px; z-index: 2; writing-mode: vertical-rl; font-size: 0.58rem; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(247,246,242,0.92); background: rgba(22,20,18,0.4); padding: 12px 4px; border-radius: 999px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
@media (max-width: 960px) { .sw-h23 { grid-template-columns: 1fr; } .sw-h23-cover { padding: 2.4rem 1.6rem 1.8rem; } .sw-h23-title { font-size: 56px; letter-spacing: -1.5px; } .sw-h23-issue { padding-top: 1.6rem; } .sw-h23-photo { min-height: 60vh; } .sw-h23-stylist { left: 5%; bottom: 5%; } }
