/* Shared responsive corrections; preserve the existing desktop visual identity. */
.site-nav-toggle { display:none; }
body > header > nav ul { align-items:center; }
body > header > nav a.nav-contact { display:inline-flex; align-items:center; min-height:44px; padding:8px 18px; border:1px solid #fff; border-radius:2px; }
body > header[data-theme="light"] > nav a.nav-contact { box-shadow:0 0 0 1px #d4d4d4; }
body > header > nav a[aria-current] { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
body > header { --nav-surface:#17191e; --nav-ink:#efe9db; --nav-line:rgba(239,233,219,.26); }
body > header[data-theme="light"] { --nav-surface:#fff; --nav-ink:#151517; --nav-line:#d4d4d4; }
body > header a:focus-visible,
.site-nav-toggle:focus-visible { outline:2px solid #b79560; outline-offset:4px; }
.practice-examples { border-top:1px solid #dedede; padding:80px 48px; }
.practice-examples .inner { max-width:1080px; margin:0 auto; }
.practice-examples h2 { font:700 34px/1.25 'Playfair Display',Georgia,serif; }
.practice-examples .practice-case { max-width:780px; margin-top:32px; padding-left:24px; border-left:2px solid #957842; }
.practice-examples .practice-case h3 { font-size:23px; }
.practice-examples .practice-case p { font-size:16px; line-height:1.75; text-align:left; }
.practice-examples .case-note { margin-top:24px; max-width:780px; font-size:13px; }
.practice-source { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; font-size:14px; line-height:1.6; text-decoration:underline; text-underline-offset:3px; }
.practice-examples a:focus-visible { outline:2px solid #957842; outline-offset:4px; }
.expectations { padding:32px 0 40px; margin:0 0 56px; border-top:1px solid #dedede; border-bottom:1px solid #dedede; }
.expectations h2 { font-family:'Playfair Display',Georgia,serif; font-size:28px; line-height:1.3; color:#151517; margin-bottom:24px; }
.expectations ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:0; list-style:none; }
.expectations li { min-width:0; text-align:left; }
.expectations h3 { font-family:'Playfair Display',Georgia,serif; font-size:19px; line-height:1.4; color:#151517; margin-bottom:10px; }
.expectations p { font-size:16px; line-height:1.65; color:#333; text-align:left; }
.expectations .business-context { margin-top:28px; max-width:920px; }
.experience-intro { font-size:18px; line-height:1.7; max-width:780px; text-align:left; }
.practice-examples.experience-cases { padding:40px 0 56px; margin-top:40px; }
.experience-cases h2,.experience-media-title { font:700 28px/1.3 'Playfair Display',Georgia,serif; color:#151517; }
.experience-cases h3 { font-family:'Playfair Display',Georgia,serif; line-height:1.4; margin-bottom:12px; color:#151517; }
.experience-media-title { margin-top:24px; }
.about-cooperation { margin-top:32px; padding-top:26px; border-top:1px solid rgba(239,233,219,.2); }
.about-cooperation h2 { font:700 23px/1.4 'Playfair Display',Georgia,serif; margin-bottom:16px; color:#efe9db; }
.about-cooperation > a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.specialty-overview { margin:0 0 64px; }
.specialty-overview h2 { font:700 28px/1.3 'Playfair Display',Georgia,serif; margin-bottom:14px; color:#151517; }
.specialty-overview > p { font-size:16px; line-height:1.7; text-align:left; }
.specialty-overview ul { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 28px; padding:0; margin:24px 0 0; }
.specialty-overview li { min-width:0; border-top:1px solid #dedede; }
.specialty-overview a { display:block; padding:20px 0; min-height:44px; }
.specialty-overview strong { display:block; font:700 19px/1.4 'Playfair Display',Georgia,serif; color:#151517; margin-bottom:8px; }
.specialty-overview span { display:block; font-size:15px; line-height:1.65; text-align:left; }
.specialty-overview a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.specialty-overview a:focus-visible,.archive-related a:focus-visible,.archive-shortcut:focus-visible { outline:2px solid #957842; outline-offset:4px; }
.spec { scroll-margin-top:28px; }
.archive-shortcut { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; font-size:16px; text-decoration:underline; text-underline-offset:4px; }
.archive-related { max-width:960px; margin:64px auto 0; border-top:1px solid #dedede; padding-top:32px; }
.archive-related h2 { font:700 28px/1.4 'Playfair Display',Georgia,serif; margin-bottom:16px; }
.archive-related h2 a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.archive-related p { font-size:16px; line-height:1.7; text-align:left; }
.hero-contact a.im { display:grid; grid-template-columns:16px minmax(0,1fr); gap:7px 10px; height:auto; min-height:72px; }
.hero-contact a.im .badge { grid-column:1 / -1; margin:0; padding:0; border:0; font-size:12px; line-height:1.4; letter-spacing:0; text-transform:none; color:#bcb6ae; white-space:normal; }
.cta-chan-meta { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.5; letter-spacing:0; font-size:12px; }
.urgent-note { max-width:760px; margin:0 0 32px; }
.urgent-note h3 { font:700 22px/1.35 'Playfair Display',Georgia,serif; margin-bottom:12px; }
.urgent-note p { font-size:16px; line-height:1.7; text-align:left; }
@media (max-width:1100px) {
  body > header { padding:16px 22px; flex-wrap:wrap; gap:0; align-items:center; }
  body > header .logo { flex-shrink:0; }
  body > header .logo img { height:56px; }
  .site-nav-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 12px; margin-left:auto; background:var(--nav-surface); color:var(--nav-ink); border:1px solid var(--nav-line); border-radius:2px; font:500 16px/1.3 'Roboto',sans-serif; cursor:pointer; }
  .site-nav-toggle::before { content:"☰"; font-size:20px; line-height:1; }
  .site-nav-toggle[aria-expanded="true"]::before { content:"×"; font-size:26px; }
  body > header > nav { display:none; position:absolute; top:calc(100% - 4px); left:22px; right:22px; padding:12px; background:var(--nav-surface); color:var(--nav-ink); border:1px solid var(--nav-line); max-height:calc(100dvh - 100px); overflow-y:auto; }
  body > header > nav.is-open { display:block; }
  body > header > nav ul { display:flex; flex-direction:column; align-items:stretch; gap:0; flex-wrap:nowrap; padding:0; margin:0; }
  body > header > nav li { text-align:left; min-width:0; list-style:none; }
  body > header > nav a { display:block; min-height:46px; padding:10px 12px; color:var(--nav-ink); font-size:17px; line-height:1.5; overflow-wrap:anywhere; }
  body > header > nav a:hover { background:rgba(149,120,66,.12); opacity:1; }
  body > header > nav a.nav-contact { display:flex; margin-top:8px; padding:10px 12px; }
  .hero-inner { gap:32px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .hero-photo { transform:none; min-width:0; }
  .hero-text { min-width:0; }
  .hero-contact { grid-template-columns:1fr; margin-top:30px; }
  .hero-contact a { min-height:48px; height:auto; font-size:15px; letter-spacing:.02em; }
  .media-strip { margin-top:0; padding-top:36px; }
}
@media (max-width:820px) {
  .hero { min-height:0; padding:108px 22px 48px; }
  .hero-inner { grid-template-columns:minmax(0,1fr); gap:28px; }
  .hero-photo { transform:none; max-width:100%; }
  .hero-photo .img-wrap { max-width:220px; aspect-ratio:9/13; }
  .hero-text .name-plate-top { margin-bottom:30px; }
  .hero-text p { text-align:left; }
  .hero-contact { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; gap:12px; }
  .hero-contact a.tel { grid-column:1 / -1; font-size:17px; }
  .hero-contact a.im { padding:14px 12px; font-size:15px; letter-spacing:0; gap:8px; }
  .hero-contact a .badge { font-size:11px; letter-spacing:0; padding-left:7px; }
  .media-strip { padding:40px 22px 56px; margin-top:0; }
  .media-strip .lead { line-height:1.7; letter-spacing:.16em; margin-bottom:28px; }
  .media-logos { gap:24px 26px; }
  #kontakt { padding:80px 22px 48px !important; }
  .cta-phone { padding:20px 16px; gap:14px; }
  .cta-phone-icon { width:42px; height:42px; }
  .cta-phone-number { font-size:24px; letter-spacing:0; white-space:nowrap; }
  .cta-phone-text { min-width:0; }
  .cta-phone-label { font-size:11px; letter-spacing:.12em; }
  .cta-phone-response { padding-left:56px; }
  .cta-chan { min-height:64px; }
  .cta-chan-name { font-size:16px; overflow-wrap:anywhere; }
  .kontakt-sub { font-size:16px; }
  .about-top { grid-template-columns:minmax(0,1fr); }
  .about-text,.about-photo { min-width:0; max-width:100%; }
  .about-photo { transform:none; max-width:340px; }
  .about-contact { grid-template-columns:62px minmax(0,1fr); column-gap:12px; }
  .about-contact a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; overflow-wrap:anywhere; }
  .about-contact dt { align-self:center; }
  .spec-head,.jd { min-width:0; }
  .spec-head > *, .jd > *, .jd-meta { min-width:0; overflow-wrap:anywhere; }
  .jd-foot { display:flex; flex-wrap:wrap; gap:12px; }
  .jd-foot a { overflow-wrap:anywhere; min-height:44px; display:inline-flex; align-items:center; }
  .expectations { padding:28px 0; }
  .expectations ol { grid-template-columns:1fr; gap:24px; }
  .expectations h2 { font-size:26px; }
  .practice-examples .practice-case { padding-left:18px; }
  .practice-examples { padding:56px 22px; }
  .practice-examples h2 { font-size:28px; }
  .hero-contact a .badge { color:#bcb6ae; }
  .specialty-overview ul { grid-template-columns:1fr; }
  .archive-related { margin-top:40px; }
}
@media (max-width:360px) {
  .hero-contact { grid-template-columns:minmax(0,1fr); }
}

/* Shared legal information, legibility and mobile access. */
.consumer-info { max-width:1080px; margin:36px auto 0; padding:24px 0 0; border-top:1px solid #dedede; color:#555; }
.consumer-info h2 { font:500 14px/1.5 'Roboto',sans-serif; margin:0 0 10px; letter-spacing:0; color:#333; }
.consumer-info p { font:400 14px/1.75 'Roboto',sans-serif; margin:0; text-align:left; color:#555; }
.consumer-info a { text-decoration:underline; text-underline-offset:3px; }
.mobile-call-bar { display:none; }
:is(.eyebrow,.section-eyebrow,.page-eyebrow,.spec-eyebrow,.spec-jud-eyebrow,.articles-eyebrow,.articles-block-eyebrow,.sesit-banner-eyebrow,.kauza-tag,.cak,.addr-card-city,.cta-phone-label,.footer-col-title,.tag) { font-size:12px !important; }
.hero-text .name-plate-top .cak,.kontakt-signature .cak { color:#c3bdb4; }
.section-eyebrow { color:#bcb6ae; }
@media (max-width:820px) {
  body { padding-bottom:calc(92px + env(safe-area-inset-bottom,0px)); }
  .mobile-call-bar { position:fixed; inset:auto 0 0; z-index:80; display:flex; justify-content:center; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:#111319; border-top:1px solid #54575e; }
  .mobile-call-bar a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; width:100%; max-width:560px; padding:12px 18px; background:#344655; color:#fff; border:1px solid #d8d5cd; border-radius:2px; font:500 16px/1.4 'Roboto',sans-serif; text-decoration:none; }
  .mobile-call-bar a:hover { opacity:1; background:#41586b; }
  .mobile-call-bar a:focus-visible { outline:3px solid #d2ad65; outline-offset:3px; }
  .mobile-call-bar span { font-size:13px; white-space:nowrap; font-weight:400; }
  body > header > nav { max-height:calc(100dvh - 180px); overflow-y:auto; }
  :is(.eyebrow,.section-eyebrow,.page-eyebrow,.spec-eyebrow,.spec-jud-eyebrow,.articles-eyebrow,.articles-block-eyebrow,.sesit-banner-eyebrow,.kauza-tag,.cak,.addr-card-city,.cta-phone-label,.footer-col-title,.tag,.about-contact dt,.trust-item,.cta-chan-meta,.media-strip .lead,.back,.strip-link,.disclaimer,.footer-bottom) { font-size:13px !important; letter-spacing:.08em !important; line-height:1.6; }
  .about-heading .eyebrow,.about-contact dt { color:#c3bdb4; }
  .consumer-info { margin-top:28px; }
  footer .disclaimer { max-width:100%; }
}
