/* ombudsmann-strafrecht.de — Neubau 2026
   Design-Sprache: rudolph-recht.de / criminal-law-germany.lawyer (Mutterseite),
   berufsrecht-anwaelte.de (Schwesterseite). Eigener Akzent: tiefes Tannengrün. */
:root{
  --paper:#f6f1e8;
  --surface:#fbf8f2;
  --ink:#242624;
  --muted:#686964;
  --line:#d8d0c3;
  --accent:#2e5a43;
  --accent-dark:#21402f;
  --wash:#e6eade;
  --news:#2b332d;
  --footer:#e8e6df;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
  --frame:1100px;
  --reading:752px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:25px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:var(--accent)}
button,input{font:inherit}
button,summary{cursor:pointer}
button{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.25;letter-spacing:-.025em}
h1{font-size:clamp(28px,3vw,40px);margin:0 0 23px}
h2{font-size:clamp(23px,2.05vw,29px);margin:0 0 20px}
h3{font-size:22px;margin:0 0 14px}
p{margin:0 0 20px}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--wash)}
[hidden]{display:none!important}
.frame{width:min(var(--frame),calc(100% - 72px));margin-inline:auto}
.reading{width:min(var(--reading),calc(100% - 72px));margin:0 auto;padding:60px 0 86px}
.kicker{font:700 10px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.small,figcaption{font:12px/1.6 var(--sans);color:var(--muted)}
figcaption{padding:8px 0 0}
.skip{position:absolute;left:-9999px;top:12px}
.skip:focus{left:20px;z-index:30;background:var(--surface);padding:12px}

/* Kopfbereich */
.site-header{border-bottom:1px solid var(--line)}
.header-line{min-height:99px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:14px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.brand-mark{flex:0 0 auto;width:34px;height:34px;background:var(--accent);color:#fbf8f2;font:22px/34px var(--serif);text-align:center;letter-spacing:0}
.brand-type{display:flex;flex-direction:column;line-height:1.2}
.brand-first{font:22px var(--serif);letter-spacing:-.01em}
.brand-second{font:700 9px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.utilities{display:flex;align-items:center;gap:10px}
.icon{background:none;border:0;width:44px;height:44px;padding:11px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round}
.icon:hover{color:var(--accent);background:var(--wash)}
.icon[aria-expanded=true]{background:var(--wash)}
.nav-line{border-top:1px solid var(--line);background:var(--surface)}
.nav-line .frame{display:flex;flex-wrap:wrap;gap:12px 40px;padding-block:17px}
.nav-line a{font-size:14px;text-decoration:none}
.nav-line a[aria-current=page]{color:var(--accent);text-decoration:underline}

/* Startseite */
.home-intro{padding:65px 0 42px;max-width:790px}
.home-intro h1{max-width:760px}
.firm-name{font-size:15px;color:var(--muted);margin-bottom:20px}
.specialism{font:22px/1.45 var(--serif);max-width:700px;border-left:2px solid var(--accent);padding-left:20px;margin:0}
.home-quote{margin:26px 0 0;max-width:700px;padding-left:20px;border-left:2px solid var(--line);font:italic 17px/1.6 var(--serif);color:var(--muted)}
.home-quote footer{font:12px/1.6 var(--sans);font-style:normal;margin-top:6px}
.team-image{margin-top:40px}
.team-image img{width:100%;height:auto;filter:saturate(.85) sepia(.06) contrast(.97)}
.names-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:22px}
.people h3{font-size:18px;line-height:1.4;letter-spacing:-.02em;margin-bottom:9px}
.people h3 a{text-decoration:none}
.people h3 a:hover{text-decoration:underline}
.qualifications{font-size:13px;line-height:1.65;margin-bottom:7px}
.certification{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.portal-strip{margin:50px 0}
.portal-image img{width:100%;aspect-ratio:4.8/1;object-fit:cover;object-position:50% 27%;filter:saturate(.62) sepia(.12) contrast(.94)}
.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 36px;padding-bottom:70px}
.fields article{border-top:1px solid var(--line);padding-top:17px}
.fields h3{font-size:22px;margin-bottom:10px}
.fields h3 a{text-decoration:none}
.fields h3 a:hover{color:var(--accent);text-decoration:underline}
.fields p{font-size:14px;line-height:1.7;margin-bottom:0}
.field-image{margin:0 0 16px}
.field-image img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;filter:saturate(.62) sepia(.12) contrast(.94)}
.fields article:hover .field-image img{filter:saturate(.85) sepia(.06) contrast(.96)}
.fields article:has(.field-image){border-top:0;padding-top:0}

/* News-/Hinweis-Band */
.news-section{padding:48px 0 52px;border-top:2px solid var(--accent);background:var(--surface)}
.news-section.dark{background:var(--news);color:#f8f6ef}
.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:26px}
.section-top h2{margin:0;font-size:29px}
.section-top>a{font-size:13px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.news-grid article{border-top:1px solid #89918b66;padding-top:17px}
.news-image img{width:100%;aspect-ratio:2/1;object-fit:cover;filter:saturate(.62) sepia(.12) contrast(.94)}
.news-grid .kicker{font-size:9px;letter-spacing:.08em;margin:19px 0 10px}
.dark .kicker{color:#a9cfb4}
.news-grid h3{font-size:22px;line-height:1.4}
.news-grid h3 a{text-decoration:none}
.news-grid h3 a:hover{text-decoration:underline}
.dark a:hover{color:#c2e5d2}
.news-grid p{font-size:14px;line-height:1.7}
.news-section>.frame>.small{margin:25px 0 0}
.dark .small{color:#c1c6bf}

/* Unterseiten */
.overview{padding:60px 0 90px}
.page-heading{margin-bottom:31px}
.page-heading h1{max-width:790px}
.page-heading .lead{max-width:660px;font:19px/1.6 var(--serif);margin:0;color:var(--muted)}
.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:35px}
.breadcrumb a{text-decoration:none}
.archive-note{font:11px/1.6 var(--sans);color:var(--muted);border-left:2px solid var(--line);padding-left:13px;margin:25px 0}
.editor-note{font:12px/1.6 var(--sans);color:var(--accent-dark);background:var(--wash);padding:12px 16px;margin:30px 0}
.contents{border-block:1px solid var(--line);margin:30px 0 42px}
.contents summary{font:14px/1.6 var(--sans)}
.contents summary span{font-size:11px;color:var(--muted);margin-left:15px}
.contents ol{padding:0 24px 12px;font-size:14px;line-height:1.6}
.contents li{margin:10px 0}
.contents a{text-decoration:none}
.prose{font-size:16px;line-height:1.83;overflow-wrap:break-word}
.prose p{margin:0 0 23px}
.prose h2{font-size:27px;line-height:1.35;margin:47px 0 19px;padding-top:19px;border-top:1px solid var(--line)}
.prose h3{font-size:21px;line-height:1.4;margin:32px 0 14px}
.prose h2 strong,.prose h3 strong{font-weight:inherit}
.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:24px;margin:20px 0 28px}
.prose li{margin:9px 0}
.prose blockquote{margin:28px 0;padding-left:24px;border-left:2px solid var(--accent);font:21px/1.5 var(--serif)}
.prose blockquote footer{font:13px/1.6 var(--sans);color:var(--muted);margin-top:8px}
.prose img{width:100%;height:auto}
.prose figure{margin:32px 0}
.article-image{margin:25px 0 35px}
.article-image img{width:100%;aspect-ratio:2.6/1;object-fit:cover;filter:saturate(.62) sepia(.12) contrast(.94)}
.stand,.prose p.stand{font:12px/1.6 var(--sans);color:var(--muted)}

/* FAQ / Disclosures */
.disclosures details{border-top:1px solid var(--line)}
.disclosures details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;position:relative;padding:19px 33px 19px 0}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';font:300 21px var(--sans);position:absolute;right:3px;top:16px;color:var(--accent)}
details[open]>summary:after{content:'−'}
.disclosures summary{font:20px/1.4 var(--serif)}
.disclosures details>div{font-size:15px;line-height:1.75;padding:0 20px 9px 0}

/* Referenzen */
.reference-list{margin:0 0 30px}
.reference-list details{border-top:1px solid var(--line);padding:0}
.reference-list summary{font:17px/1.5 var(--serif);padding-block:15px}
.reference-list details>div{font-size:14px;line-height:1.7;padding:0 20px 18px 0;color:var(--ink)}
.reference-list .since{font:700 10px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-left:12px}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.contact-card{border-top:2px solid var(--accent);background:var(--surface);padding:26px 28px}
.contact-card p{margin-bottom:12px}
.contact-card .small{margin-top:16px}

/* Schwesterseiten-Verweis */
.sister-links{border-top:1px solid var(--line);margin-top:42px;padding-top:22px}
.sister-links .kicker{margin-bottom:12px}
.sister-links ul{list-style:none;padding:0;margin:0}
.sister-links li{padding:8px 0;font-size:15px;line-height:1.5}
.sister-links a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);text-underline-offset:4px}
.sister-links span{display:block;font:12px/1.5 var(--sans);color:var(--muted)}

/* Fußbereich */
.site-footer{background:var(--footer);padding:50px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:60px}
.footer-grid h2{font-size:25px}
.footer-grid p,.footer-grid a{font-size:13px}
.footer-grid .kicker{font-size:10px}
.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-grid nav a{text-decoration:none}
.footer-grid .small{font-size:11px;margin-top:20px}
.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:17px;display:flex;gap:20px;flex-wrap:wrap;font-size:10px;color:var(--muted)}
.footer-bottom a{text-decoration:none}

@media(max-width:1000px){
  .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-grid{grid-template-columns:1fr;gap:24px}
  .contact-grid{grid-template-columns:1fr;gap:30px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media(max-width:760px){
  .frame{width:calc(100% - 40px)}
  .reading{width:calc(100% - 40px);padding:44px 0 60px}
  .names-grid{grid-template-columns:1fr}
  .fields{grid-template-columns:1fr;padding-bottom:46px}
  .fields article:has(.field-image){display:grid;grid-template-columns:104px minmax(0,1fr);gap:4px 16px;align-items:start;border-top:1px solid var(--line);padding-top:16px}
  .fields article:has(.field-image) .field-image{grid-row:1/3;margin:0}
  .fields article:has(.field-image) .field-image img{aspect-ratio:1/1}
  .fields article:has(.field-image) h3{margin-bottom:6px;font-size:19px;min-width:0;overflow-wrap:anywhere;hyphens:auto}
  .footer-grid{grid-template-columns:1fr}
  .nav-line .frame{flex-direction:column;gap:12px}
  .brand-first{font-size:19px}
}
@media(max-width:380px){
  .header-line{flex-wrap:wrap;row-gap:6px;padding-block:12px}
  .utilities{margin-left:auto}
  .page-heading h1{overflow-wrap:anywhere;hyphens:auto}
}
@media print{
  .site-header .utilities,.nav-line,.site-footer nav{display:none}
}

/* Navigation: Desktop sichtbar, mobil hinter Menü-Schalter (nur mit JS) */
#menu-toggle{display:none}
@media(max-width:760px){
  #menu-toggle{display:flex}
  html.js .nav-line{display:none}
  html.js .nav-line[data-open=true]{display:block}
}
