.sw-h29 { position: relative; min-height: 100vh; background: #271713; color: #F2E8D9; font-family: 'Inter', sans-serif; display: flex; flex-direction: column; overflow: hidden; }
.sw-h29-rail { position: absolute; left: 0; top: 0; bottom: 0; width: 64px; border-right: 1px solid rgba(176, 141, 87, 0.28); writing-mode: vertical-rl; transform: rotate(180deg); display: flex; align-items: center; justify-content: center; font-size: 0.76rem; letter-spacing: 0.85em; text-transform: uppercase; font-weight: 600; color: rgba(176, 141, 87, 0.75); z-index: 2; }
.sw-h29-main { flex: 1; display: grid; grid-template-columns: 1.12fr 0.88fr; align-items: stretch; padding-left: 64px; position: relative; z-index: 1; }
.sw-h29-content { padding: 5.5rem clamp(2rem, 4vw, 4.5rem) 3rem; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.sw-h29-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 0.72rem; letter-spacing: 4px; text-transform: uppercase; font-weight: 600; color: #F2E8D9; }
.sw-h29-dot { width: 7px; height: 7px; background: #B08D57; flex-shrink: 0; }
.sw-h29-eyebrow em { font-style: normal; color: rgba(242, 232, 217, 0.55); font-weight: 400; }
.sw-h29-beam { position: relative; display: block; width: 210px; height: 12px; margin: 1.8rem 0 1.2rem; border-top: 1px solid #B08D57; }
.sw-h29-beam::before { content: ""; position: absolute; left: 50%; top: -12px; width: 1px; height: 11px; background: #B08D57; }
.sw-h29-beam::after { content: ""; position: absolute; left: 50%; top: -16px; width: 5px; height: 5px; margin-left: -2px; border-radius: 50%; background: #B08D57; }
.sw-h29-beam i { position: absolute; top: -1px; width: 1px; height: 9px; background: #B08D57; }
.sw-h29-beam i:first-child { left: 0; }
.sw-h29-beam i:last-child { right: 0; }
.sw-h29-title { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 92px; line-height: 0.98; letter-spacing: -2px; color: #F2E8D9; margin: 0 0 1.4rem; max-width: 13ch; }
.sw-h29-italic { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 500; color: #B08D57; }
.sw-h29-sub { font-size: 16px; line-height: 1.7; color: #F2E8D9; max-width: 56ch; margin: 0 0 2rem; font-weight: 400; opacity: 0.92; }
.sw-h29-sub strong { color: #B08D57; font-weight: 500; font-style: italic; }
.sw-h29-actions { display: flex; gap: 0.7rem; flex-wrap: wrap; }
.sw-h29-cta-primary { display: inline-flex; align-items: center; gap: 8px; background: #B08D57; color: #271713; padding: 15px 30px; border-radius: 0; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; border: 1px solid #B08D57; transition: all 0.2s; }
.sw-h29-cta-primary:hover { background: transparent; color: #B08D57; }
.sw-h29-cta-secondary { display: inline-flex; align-items: center; background: transparent; color: #F2E8D9; padding: 14px 26px; border-radius: 0; font-size: 0.76rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; border: 1px solid rgba(242, 232, 217, 0.3); transition: all 0.2s; }
.sw-h29-cta-secondary:hover { border-color: #B08D57; color: #B08D57; }
.sw-h29-arrow { display: inline-block; }
.sw-h29-case { display: flex; flex-direction: column; gap: 0.8rem; margin-top: 2.6rem; max-width: 470px; border: 1px solid rgba(176, 141, 87, 0.38); border-left: 3px solid #B08D57; background: rgba(12, 7, 5, 0.4); padding: 1.3rem 1.5rem; }
.sw-h29-case-head { display: flex; flex-direction: column; gap: 0.2rem; padding-bottom: 0.7rem; border-bottom: 1px solid rgba(176, 141, 87, 0.22); }
.sw-h29-case-kicker { font-size: 0.64rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; color: #B08D57; }
.sw-h29-case-outcome { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 600; font-size: 0.98rem; color: #F2E8D9; }
.sw-h29-case-quote { display: flex; gap: 8px; align-items: flex-start; }
.sw-h29-case-mark { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 2.2rem; line-height: 0.6; color: #B08D57; flex-shrink: 0; }
.sw-h29-case-text { font-size: 0.84rem; line-height: 1.55; color: rgba(242, 232, 217, 0.88); font-style: italic; }
.sw-h29-case-attrib { display: flex; flex-direction: column; gap: 0.15rem; padding-top: 0.7rem; border-top: 1px solid rgba(176, 141, 87, 0.22); }
.sw-h29-case-author { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #F2E8D9; }
.sw-h29-case-role { font-size: 0.7rem; font-weight: 500; color: #B9A58C; }
.sw-h29-visual { position: relative; border-left: 1px solid rgba(176, 141, 87, 0.28); display: flex; align-items: stretch; padding: 3.2rem clamp(1.8rem, 3.2vw, 3.2rem); }
.sw-h29-photo { position: relative; flex: 1; min-height: 520px; background-image: url('/studio/components/images/dienst-2-anwalt.jpg'); background-size: cover; background-position: center; border: 1px solid rgba(176, 141, 87, 0.5); filter: sepia(0.12) saturate(0.92); }
.sw-h29-photo::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(176, 141, 87, 0.35); pointer-events: none; }
.sw-h29-photo::after { content: ""; position: absolute; top: 0; bottom: 0; left: -16px; width: 4px; border-left: 1px solid rgba(176, 141, 87, 0.45); border-right: 1px solid rgba(176, 141, 87, 0.45); }
.sw-h29-photo-credit { position: absolute; bottom: 12px; right: 14px; font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; color: rgba(242, 232, 217, 0.85); background: rgba(20, 10, 7, 0.6); padding: 4px 9px; }
.sw-h29-footer { display: flex; align-items: center; gap: 0.9rem; padding: 1.1rem clamp(2rem, 4vw, 4rem) 1.1rem calc(64px + 2rem); border-top: 1px solid rgba(176, 141, 87, 0.28); background: rgba(12, 7, 5, 0.5); flex-wrap: wrap; position: relative; z-index: 2; }
.sw-h29-foot-label { font-size: 0.66rem; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; color: #B9A58C; margin-right: 0.4rem; }
.sw-h29-field { display: inline-flex; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 0.95rem; font-weight: 500; color: #F2E8D9; }
.sw-h29-field-sep { color: rgba(176, 141, 87, 0.55); font-size: 0.85rem; }
.sw-h29-foot-meta { margin-left: auto; font-size: 0.82rem; color: #B9A58C; font-weight: 400; }
.sw-h29-foot-meta strong { color: #B08D57; font-weight: 700; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 1.05rem; margin-right: 4px; }
@media (max-width: 960px) { .sw-h29-rail { display: none; } .sw-h29-main { grid-template-columns: 1fr; padding-left: 0; } .sw-h29-content { padding: 4.5rem 1.6rem 2.5rem; } .sw-h29-title { font-size: clamp(2.8rem, 12vw, 5rem); } .sw-h29-case { max-width: 100%; } .sw-h29-visual { border-left: none; border-top: 1px solid rgba(176, 141, 87, 0.28); padding: 1.6rem; } .sw-h29-photo { min-height: 300px; } .sw-h29-photo::after { display: none; } .sw-h29-footer { padding: 1rem 1.6rem; gap: 0.5rem; } .sw-h29-actions { flex-direction: column; align-items: stretch; } }
