:root{
  --green:#52b04c;
  --green-dark:#268832;
  --ink:#20262a;
  --ink-2:#30373c;
  --muted:#687279;
  --line:#dce3e1;
  --soft:#f4f7f4;
  --paper:#ffffff;
  --cream:#f7f4ed;
  --shadow:0 28px 70px rgba(20,28,30,.15);
  --radius:28px;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#f7f8f6;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
.wrap{width:min(var(--wrap),calc(100% - 42px));margin:0 auto}
::selection{background:rgba(82,176,76,.25)}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 15% 10%,rgba(82,176,76,.12),transparent 28rem),radial-gradient(circle at 88% 12%,rgba(32,38,42,.13),transparent 35rem),linear-gradient(180deg,#fbfcfa,#f3f5f2)}

.site-header{position:fixed;z-index:50;left:0;right:0;top:0;transition:transform .35s ease,background .35s ease,box-shadow .35s ease;padding:18px 0;color:#fff}
.site-header.is-scrolled{background:rgba(32,38,42,.92);backdrop-filter:blur(22px);box-shadow:0 14px 42px rgba(0,0,0,.18);padding:10px 0}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{width:230px;max-width:52vw;background:rgba(255,255,255,.94);border-radius:18px;padding:12px 16px;box-shadow:0 14px 45px rgba(0,0,0,.18)}
.brand img{width:100%;height:auto}
.primary-nav{display:flex;align-items:center;gap:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 8px 8px 22px;backdrop-filter:blur(18px)}
.menu{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}.menu a{display:block;padding:10px 12px;border-radius:999px;font-size:.91rem;font-weight:750;letter-spacing:.01em;color:rgba(255,255,255,.94)}.menu a:hover{background:rgba(255,255,255,.14)}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;background:var(--green);color:#fff;font-weight:850;box-shadow:0 10px 24px rgba(82,176,76,.28)}
.nav-toggle{display:none;background:none;border:0;color:#fff;align-items:center;gap:4px;padding:10px}.nav-toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px}.nav-toggle em{font-style:normal;font-size:.8rem;margin-left:8px;font-weight:800}

.hero-premium{position:relative;min-height:100svh;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:#1f2529;padding:170px 0 82px}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-media video{width:100%;height:100%;object-fit:cover;opacity:.95}.hero-media-photo{background:#e9efe3}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(1.03) contrast(1.02);opacity:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,20,22,.82),rgba(16,20,22,.42) 43%,rgba(16,20,22,.08) 76%,rgba(16,20,22,.16)),linear-gradient(180deg,rgba(16,20,22,.18),rgba(16,20,22,.62))}.hero-premium:after{content:"";position:absolute;right:-8vw;bottom:-18vw;width:48vw;height:48vw;background:rgba(82,176,76,.14);filter:blur(60px);border-radius:50%}
.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:end}
.eyebrow{margin:0 0 16px;text-transform:uppercase;font-size:.78rem;font-weight:900;letter-spacing:.18em;color:var(--green)}
.hero-text{max-width:920px;background:linear-gradient(135deg,rgba(32,38,42,.78),rgba(32,38,42,.48));border:1px solid rgba(255,255,255,.18);border-radius:34px;padding:34px;backdrop-filter:blur(14px);box-shadow:0 24px 90px rgba(0,0,0,.24)}
.hero-text h1{font-size:clamp(3.2rem,7vw,7.4rem);line-height:.88;letter-spacing:-.07em;margin:0 0 28px;max-width:940px;text-wrap:balance}
.hero-lead{font-size:clamp(1.08rem,1.6vw,1.42rem);max-width:720px;color:rgba(255,255,255,.82);margin:0 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:900;letter-spacing:.01em;border:1px solid transparent;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--green);color:#fff;box-shadow:0 16px 40px rgba(82,176,76,.34)}.btn.glass{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(16px)}.btn.ghost.dark{border-color:rgba(32,38,42,.18);color:var(--ink);background:#fff}.btn.ghost.dark:hover{box-shadow:0 12px 30px rgba(0,0,0,.1)}
.hero-card{background:rgba(247,248,246,.94);color:var(--ink);border-radius:30px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.7);position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--green),#9fd499)}.hero-card-label{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900;margin-bottom:12px}.hero-phone{display:block;font-size:1.55rem;font-weight:950;line-height:1.12;margin-bottom:8px;color:var(--ink)}.hero-card a:not(.hero-phone){color:var(--green-dark);font-weight:850}.hero-card p{margin:18px 0 0;color:var(--muted)}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}

.proof-row{background:var(--ink);color:#fff}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}.proof-grid>div{background:var(--ink);padding:30px 26px}.proof-grid strong{display:block;font-size:clamp(2rem,4vw,4rem);line-height:1;color:var(--green);letter-spacing:-.05em}.proof-grid span{display:block;margin-top:8px;color:rgba(255,255,255,.74);font-weight:750}

.section{padding:110px 0}.section-head{max-width:780px;margin-bottom:42px}.section-head.center{text-align:center;margin-inline:auto}.section-head.wide{max-width:900px}.section-head h2,.editorial-copy h2,.contact-copy h2{margin:0;color:var(--ink);font-size:clamp(2.25rem,4.7vw,5.2rem);line-height:.96;letter-spacing:-.055em;text-wrap:balance}.section-head p,.editorial-copy p,.contact-copy p{font-size:1.12rem;color:var(--muted);margin:20px 0 0}.section-kicker{font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:.82rem}.section-kicker span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;margin-right:12px;letter-spacing:0}
.editorial-section{background:linear-gradient(180deg,#fff,#f6f8f5)}.editorial-grid{display:grid;grid-template-columns:240px minmax(0,1fr) 340px;gap:46px;align-items:start}.editorial-panel{background:var(--ink);color:#fff;border-radius:30px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}.editorial-panel:after{content:"§";position:absolute;right:20px;bottom:-38px;font-size:8rem;color:rgba(82,176,76,.18);font-weight:900}.editorial-panel p{margin:0 0 22px;color:rgba(255,255,255,.78)}.editorial-panel ul{margin:0;padding-left:1.15rem;font-weight:800}.editorial-panel li+li{margin-top:8px}

.focus-premium{background:#eef3ee;position:relative;overflow:hidden}.focus-premium:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(82,176,76,.08),transparent 42%),radial-gradient(circle at 10% 30%,rgba(82,176,76,.15),transparent 24rem)}.focus-premium .wrap{position:relative}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.focus-card{background:rgba(255,255,255,.9);border:1px solid rgba(32,38,42,.08);border-radius:30px;padding:30px;box-shadow:0 20px 50px rgba(30,45,35,.08);min-height:285px;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.focus-card:hover{transform:translateY(-7px);box-shadow:0 26px 70px rgba(30,45,35,.14)}.focus-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--green),transparent)}.card-number{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(82,176,76,.12);color:var(--green);font-size:1.35rem;font-weight:950;margin-bottom:22px}.focus-card h3{margin:0 0 12px;font-size:1.52rem;line-height:1.05;letter-spacing:-.035em}.focus-card p{margin:0;color:#596267}.lawyer-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.lawyer-tags span{font-size:.76rem;font-weight:850;color:#1f5f2e;background:rgba(82,176,76,.13);padding:7px 10px;border-radius:999px;max-width:100%;overflow-wrap:anywhere}

.motion-quote{position:relative;min-height:430px;display:grid;place-items:center;color:#fff;overflow:hidden;background:var(--ink);text-align:center}.motion-quote video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}.motion-quote:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(82,176,76,.1),rgba(20,24,26,.75)),linear-gradient(180deg,rgba(20,24,26,.2),rgba(20,24,26,.85))}.motion-inner{position:relative;z-index:2}.motion-inner p{margin:0 0 8px;color:rgba(255,255,255,.74);font-weight:850;letter-spacing:.05em;text-transform:uppercase}.motion-inner h2{margin:0;font-size:clamp(3rem,8vw,8rem);line-height:.9;letter-spacing:-.07em;color:#fff;text-wrap:balance}

.team-premium{background:linear-gradient(180deg,#fff,#f5f7f4)}.lawyer-list{display:grid;gap:30px}.lawyer-card{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:34px;align-items:stretch;background:#fff;border:1px solid rgba(32,38,42,.08);border-radius:34px;padding:22px;box-shadow:0 24px 70px rgba(30,40,34,.1);overflow:hidden}.lawyer-photo{margin:0;min-height:100%;border-radius:26px;overflow:hidden;background:#e6ebe6;position:relative}.lawyer-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.14))}.lawyer-photo img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 18%}.lawyer-content{padding:14px 12px 8px}.lawyer-role{margin:0 0 6px;color:var(--green-dark);font-weight:900;font-size:.92rem}.lawyer-content h3{font-size:clamp(2rem,3.5vw,4rem);line-height:.92;letter-spacing:-.055em;margin:0;color:var(--ink)}.lawyer-meta{display:inline-flex;margin:16px 0 0;background:#edf4ed;color:#315238;font-weight:850;padding:8px 12px;border-radius:999px}.profile-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:18px;margin-top:28px;align-items:start}.profile-panel{border-radius:26px;padding:24px;background:#f4f7f4;border:1px solid rgba(32,38,42,.07);min-width:0}.profile-panel h4{margin:0 0 14px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--green-dark);font-weight:950}.bio-list{margin:0;padding-left:1.2rem}.bio-list li{padding-left:.2rem}.bio-list li+li{margin-top:7px}.profile-panel p{margin:0;color:#4f5b60}.profile-panel p+p{margin-top:12px}.focus-panel{background:var(--ink);color:#fff}.focus-panel h4{color:#8cd287}.focus-chip-list{display:flex;flex-wrap:wrap;gap:10px}.focus-chip-list span{display:inline-flex;max-width:100%;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-weight:850;overflow-wrap:anywhere}.text-link{display:inline-flex;margin-top:18px;color:#91d88a;font-weight:900}.text-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

.locations-premium{background:#eef3ee}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.location-card{background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 20px 60px rgba(30,45,35,.1);border:1px solid rgba(32,38,42,.08)}.location-card>img,.location-placeholder{width:100%;height:240px;object-fit:cover;background:#273034;color:#fff}.location-placeholder{display:grid;place-content:center;text-align:center;background:linear-gradient(135deg,var(--ink),#3d474c)}.location-placeholder span{text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-size:.78rem;font-weight:900}.location-placeholder strong{font-size:2.1rem;letter-spacing:-.05em}.location-body{padding:28px}.location-body h3{margin:0 0 16px;font-size:1.5rem}.location-body p{margin:0 0 14px;color:#536066}.location-body a{color:var(--green-dark);font-weight:850;text-decoration:none}

.contact-premium{background:#fff}.contact-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:40px;align-items:start}.contact-copy{position:sticky;top:120px}.contact-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.contact-form-card{background:var(--ink);color:#fff;border-radius:36px;padding:34px;box-shadow:0 28px 75px rgba(30,38,42,.2)}.contact-form label{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.contact-form span{display:block;color:rgba(255,255,255,.76);font-weight:800;margin-bottom:6px}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08);color:#fff;padding:14px 15px;font:inherit;outline:none}.contact-form textarea{min-height:150px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(82,176,76,.18)}.checkbox{display:flex!important;align-items:flex-start;gap:10px}.checkbox input{width:auto;margin-top:4px}.checkbox span{margin:0;font-size:.92rem;font-weight:650}.checkbox a{color:#b7ebb3;text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute;left:-9999px}.submit-btn{margin-top:18px;border:0;border-radius:999px;background:var(--green);color:#fff;min-height:54px;padding:0 26px;font-weight:950;font-size:1rem;cursor:pointer;box-shadow:0 14px 30px rgba(82,176,76,.28)}.form-success,.form-error{padding:14px 16px;border-radius:16px;margin:0 0 18px;font-weight:850}.form-success{background:rgba(82,176,76,.16);color:#b7ebb3}.form-error{background:rgba(220,70,70,.15);color:#ffd0d0}
.map-wrap{margin-top:48px}.map-section{display:grid;grid-template-columns:360px 1fr;gap:22px;background:#f3f6f2;border-radius:34px;padding:24px;box-shadow:0 18px 55px rgba(30,45,35,.08)}.map-copy{padding:16px}.map-copy h2{font-size:2rem;letter-spacing:-.04em;margin:0 0 14px}.map-copy p{color:#536066}.map-embed{min-height:360px;border-radius:26px;overflow:hidden;background:#dfe7df}.map-embed iframe{width:100%;height:100%;min-height:360px;border:0}.map-placeholder{height:100%;min-height:360px;display:grid;place-content:center;text-align:center;gap:10px;padding:28px;background:linear-gradient(135deg,#dfe7df,#f7f9f6);color:var(--ink)}.map-load-btn{justify-self:center;border:0;background:var(--ink);color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer}

.site-footer{background:#171c1f;color:#fff;padding:56px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}.footer-logo{width:210px;background:#fff;border-radius:16px;padding:12px;margin-bottom:18px}.site-footer h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin:0 0 12px}.site-footer p{margin:0;color:rgba(255,255,255,.68)}.site-footer a{color:#fff}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.cookie-note{position:fixed;z-index:80;left:24px;right:24px;bottom:24px;max-width:880px;margin:auto;background:#fff;color:var(--ink);border-radius:24px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.25);display:flex;align-items:center;gap:18px;justify-content:space-between}.cookie-note[hidden]{display:none}.cookie-note p{margin:4px 0 0;color:var(--muted)}.cookie-accept{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;white-space:nowrap}

.legal-content{max-width:930px;margin:80px auto;padding:0 24px}.legal-content h1,.legal-content h2,.legal-content h3{line-height:1.15;letter-spacing:-.03em}.legal-content a{color:var(--green-dark);text-decoration:underline;text-underline-offset:3px}.page-main{padding-top:130px}.page-main .wrap{background:#fff;border-radius:28px;padding:48px;box-shadow:0 18px 55px rgba(30,45,35,.08)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}

@media (max-width:1050px){
  .hero-content,.editorial-grid,.contact-hero-grid{grid-template-columns:1fr}.hero-card{max-width:460px}.focus-grid,.location-grid{grid-template-columns:repeat(2,1fr)}.profile-columns{grid-template-columns:1fr}.lawyer-card{grid-template-columns:300px 1fr}.footer-grid{grid-template-columns:1fr 1fr}.map-section{grid-template-columns:1fr}
}
@media (max-width:820px){
  .site-header{padding:10px 0}.brand{width:195px}.nav-toggle{display:flex}.primary-nav{position:fixed;top:78px;left:21px;right:21px;display:none;border-radius:26px;background:rgba(32,38,42,.96);padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.28)}.primary-nav.is-open{display:block}.menu{display:grid;gap:6px}.menu a{padding:13px 14px}.nav-cta{margin-top:10px;width:100%}.hero-premium{padding-top:130px}.hero-photo{object-position:center center}.hero-content{gap:30px}.hero-text{padding:26px;border-radius:26px}.hero-text h1{font-size:clamp(3rem,14vw,5.8rem)}.proof-grid{grid-template-columns:1fr 1fr}.section{padding:76px 0}.focus-grid,.location-grid{grid-template-columns:1fr}.lawyer-card{grid-template-columns:1fr;padding:16px}.lawyer-photo img{min-height:0;height:auto;max-height:none;object-fit:contain;background:#e9eee9}.lawyer-photo{background:#e9eee9}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.cookie-note{display:block}.cookie-accept{margin-top:14px;width:100%}
}
@media (max-width:520px){
  .wrap{width:min(100% - 28px,var(--wrap))}.hero-text{padding:22px}.hero-card{padding:22px}.proof-grid{grid-template-columns:1fr}.section-head h2,.editorial-copy h2,.contact-copy h2{font-size:2.35rem}.motion-inner h2{font-size:3.3rem}.location-card>img,.location-placeholder{height:200px}.contact-form-card{padding:22px;border-radius:26px}.map-section{padding:14px}.map-copy{padding:12px}.hero-actions .btn,.contact-buttons .btn{width:100%}
}
.page-main.wrap{padding-top:150px;padding-bottom:90px}.content-card{background:#fff;border-radius:32px;padding:clamp(28px,5vw,58px);box-shadow:0 18px 55px rgba(30,45,35,.08);border:1px solid rgba(32,38,42,.08)}.content-card h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:.95;letter-spacing:-.055em;margin:0 0 28px}.content-card h2{font-size:2rem;letter-spacing:-.035em;margin-top:40px}.content-card a{color:var(--green-dark);text-decoration:underline;text-underline-offset:3px}


/* VV5.3: Hero bewusst statisch - kein KI-/Loop-Video, keine Ken-Burns-Bewegung */
.hero-media-photo,
.hero-premium .hero-photo {
  animation: none !important;
}

.hero-premium .hero-photo {
  transform: none !important;
  will-change: auto !important;
}

.hero-shade {
  background:
    linear-gradient(90deg, rgba(16,20,22,.58), rgba(16,20,22,.26) 43%, rgba(16,20,22,.04) 76%, rgba(16,20,22,.08)),
    linear-gradient(180deg, rgba(16,20,22,.04), rgba(16,20,22,.30)) !important;
}

.hero-text {
  background: linear-gradient(135deg, rgba(32,38,42,.76), rgba(32,38,42,.50)) !important;
}


/* V5.3: Ausführliche Schwerpunkttexte sauber als eigene Karten im Profil */
.lawyer-detail-list{
  display:grid;
  gap:18px;
  margin-top:18px;
}
.lawyer-detail-block{
  background:#fff;
  border:1px solid rgba(32,38,42,.08);
  border-left:6px solid var(--green);
  border-radius:26px;
  padding:clamp(22px,3vw,32px);
  box-shadow:0 14px 42px rgba(30,40,34,.06);
}
.lawyer-detail-block h4{
  margin:0 0 14px;
  font-size:clamp(1.35rem,2.2vw,2rem);
  line-height:1.05;
  letter-spacing:-.035em;
  color:var(--ink);
}
.lawyer-detail-block h5{
  margin:22px 0 8px;
  font-size:1.02rem;
  line-height:1.25;
  color:var(--green-dark);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.lawyer-detail-block p{
  margin:0;
  color:#4f5b60;
}
.lawyer-detail-block p+p{margin-top:12px}
.lawyer-detail-subsection{margin-top:18px}
.focus-card .lawyer-tags:empty{display:none}


/* V5.4: Titelmotiv zusätzlich unter dem Hero als klares Bild zeigen */
.hero-followup{padding-top:34px;background:#fff}
.hero-followup-card{position:relative;overflow:hidden;border-radius:34px;background:#fff;box-shadow:0 24px 70px rgba(30,40,34,.10);border:1px solid rgba(32,38,42,.08)}
.hero-followup-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center center}
.hero-followup-copy{display:flex;gap:18px;align-items:end;justify-content:space-between;padding:24px 28px;background:#fff}
.hero-followup-copy .eyebrow{margin:0 0 8px}
.hero-followup-copy h2{margin:0;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:.98}
.hero-followup-copy p{margin:0;max-width:540px;color:#536066}

/* V5.4: Profilfotos dürfen bei langen Lebensläufen nicht mitwachsen oder stark croppen */
.lawyer-card{align-items:start}
.lawyer-photo{align-self:start;min-height:0;background:#e9eee9}
.lawyer-photo:after{display:none}
.lawyer-photo img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;max-height:560px}
.lawyer-content{min-width:0}
.profile-columns{align-items:start}
.profile-panel{height:max-content}

@media (max-width:1050px){
  .hero-followup-copy{display:block}
  .hero-followup-copy p{margin-top:10px;max-width:none}
}
@media (max-width:820px){
  .hero-followup{padding-top:20px}
  .hero-followup-card{border-radius:26px}
  .hero-followup-copy{padding:20px}
  .lawyer-photo img{max-height:none;aspect-ratio:4/5;object-position:center 18%;object-fit:cover}
}


/* V5.6: Breites Panorama-Titelfoto und full-width Teamfoto-Panel */
.hero-premium{min-height:100svh;padding-top:110px}
.hero-media-photo,.hero-photo{width:100%}
.hero-photo{object-fit:cover;object-position:center center}
.hero-content{position:relative;z-index:2;min-height:calc(100svh - 110px);display:grid;grid-template-columns:minmax(0,1.1fr) 320px;align-items:end;padding-bottom:56px}
.hero-text{max-width:620px}
.hero-followup{padding:0;background:#fff}
.hero-followup-band{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;background:#fff;box-shadow:0 18px 55px rgba(30,45,35,.08)}
.hero-followup-band img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;object-position:center center}

/* Etwas weicherer Übergang zwischen den Panels */
.proof-row{margin-top:0}

/* V5.6: Profilbilder kompakter und stabiler */
.lawyer-photo{align-self:start;position:sticky;top:110px}
.lawyer-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 14%;max-height:520px;display:block}
.lawyer-card{align-items:start}

@media (max-width:1200px){
  .hero-content{grid-template-columns:minmax(0,1fr) 290px}
}
@media (max-width:1050px){
  .hero-content{grid-template-columns:1fr;min-height:auto;padding-bottom:42px}
  .lawyer-photo{position:relative;top:auto}
}
@media (max-width:820px){
  .hero-premium{min-height:auto;padding-top:130px}
  .hero-content{padding-bottom:24px}
  .hero-followup-band img{aspect-ratio:16/10}
  .lawyer-photo{position:relative;top:auto}
  .lawyer-photo img{max-height:none;aspect-ratio:4/5}
}


/* V5.6: Anwaltsportraits auf Höhe der Lebenslauf-/Schwerpunkte-Kästen ausrichten */
@media (min-width:1051px){
  .lawyer-card{
    align-items:start;
  }
  .lawyer-photo{
    margin-top:var(--kiku-photo-offset, 0px) !important;
    position:relative !important;
    top:auto !important;
  }
  .lawyer-photo img{
    max-height:520px;
  }
}

@media (max-width:1050px){
  .lawyer-photo{
    margin-top:0 !important;
    position:relative !important;
    top:auto !important;
  }
}


/* V5.7: Hero ruhiger machen und Teamfoto als breites Scroll-Panel vor dem Team zeigen */
.hero-premium{
  min-height:92svh !important;
  padding:140px 0 54px !important;
  align-items:flex-end !important;
}
.hero-content{
  min-height:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,620px) minmax(250px,310px) !important;
  gap:34px !important;
  align-items:end !important;
  padding-bottom:0 !important;
}
.hero-text{
  max-width:620px !important;
  padding:24px 28px 28px !important;
  border-radius:28px !important;
  background:linear-gradient(135deg,rgba(32,38,42,.70),rgba(32,38,42,.43)) !important;
  backdrop-filter:blur(10px) !important;
  box-shadow:0 18px 60px rgba(0,0,0,.20) !important;
}
.hero-text h1{
  font-size:clamp(2.75rem,4.6vw,5.15rem) !important;
  line-height:.94 !important;
  letter-spacing:-.055em !important;
  margin:0 0 18px !important;
  max-width:600px !important;
}
.hero-lead{
  font-size:clamp(1rem,1.15vw,1.18rem) !important;
  max-width:560px !important;
  margin-bottom:24px !important;
}
.hero-actions .btn{min-height:48px;padding:0 20px}
.hero-card{
  max-width:310px !important;
  padding:22px !important;
  border-radius:24px !important;
}
.scroll-cue{opacity:.72}

/* Das frühere Direkt-Doppelbild wird nicht mehr genutzt */
.hero-followup{display:none !important}

/* Breites Teamfoto-Panel ähnlich einem ruhigen Twenty-Seventeen-Übergang */
.team-panorama-panel{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:72vh;
  overflow:hidden;
  background:#20262a;
}
.team-panorama-image{
  min-height:72vh;
  width:100%;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
.team-panorama-panel:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(32,38,42,.10),rgba(32,38,42,.05) 42%,rgba(32,38,42,.16));
}

/* Die erste Teamüberschrift nach dem Bild etwas hochwertiger anbinden */
.team-panorama-panel + .team-premium{
  padding-top:88px;
}

/* Profilkarten: Bild und Inhaltskästen optisch sauber auf einer Achse */
.lawyer-card{
  align-items:start !important;
}
.lawyer-photo{
  margin-top:calc(14px + 0.92rem + 6px + clamp(2rem,3.5vw,4rem) * 0.92 + 28px) !important;
  position:sticky;
  top:110px;
}
.lawyer-photo img{
  width:100%;
  height:auto;
  min-height:0 !important;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 16%;
  max-height:500px;
}

@media (max-width:1200px){
  .hero-content{grid-template-columns:minmax(0,580px) minmax(240px,290px) !important}
  .hero-text h1{font-size:clamp(2.55rem,4.6vw,4.7rem) !important}
}
@media (max-width:1050px){
  .hero-premium{min-height:auto !important;padding-top:130px !important}
  .hero-content{grid-template-columns:1fr !important;gap:22px !important}
  .hero-text{max-width:680px !important}
  .hero-card{max-width:420px !important}
  .lawyer-photo{position:relative;top:auto;margin-top:0 !important}
  .team-panorama-panel,.team-panorama-image{min-height:56vh}
}
@media (max-width:820px){
  .hero-premium{padding:120px 0 34px !important}
  .hero-text{padding:22px !important}
  .hero-text h1{font-size:clamp(2.45rem,11vw,4.1rem) !important}
  .hero-card{display:none}
  .team-panorama-image{background-attachment:scroll;background-position:center center}
  .team-panorama-panel,.team-panorama-image{min-height:46vh}
}


/* V5.9: Team-Scroll-Foto mit Parallax-Effekt und sichtbarer hinterer Reihe */
.team-panorama-panel{
  min-height:0 !important;
  height:auto !important;
}
.team-panorama-image{
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:16 / 9;
  background-size:cover;
  background-position:center top !important;
  background-repeat:no-repeat;
  background-attachment:scroll;
}
@media (max-width:1050px){
  .team-panorama-panel,.team-panorama-image{
    min-height:0 !important;
    height:auto !important;
  }
  .team-panorama-image{aspect-ratio:16 / 10;background-position:center top !important}
}
@media (max-width:820px){
  .team-panorama-image{aspect-ratio:4 / 3;background-position:center top !important}
}


/* V5.9: Twenty-Seventeen-artiger Scroll-Übergang wieder aktiv */
.team-panorama-panel{
  position:relative;
  min-height:72vh !important;
  height:auto !important;
  overflow:hidden;
  background:#20262a;
}
.team-panorama-image{
  min-height:72vh !important;
  height:72vh !important;
  aspect-ratio:auto !important;
  width:100%;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
.team-panorama-panel:after{
  background:linear-gradient(180deg,rgba(32,38,42,.06),rgba(32,38,42,.03) 44%,rgba(32,38,42,.12)) !important;
}

@media (max-width:1050px){
  .team-panorama-panel,.team-panorama-image{
    min-height:58vh !important;
    height:58vh !important;
  }
  .team-panorama-image{
    background-position:center top !important;
    background-attachment:scroll !important;
  }
}
@media (max-width:820px){
  .team-panorama-panel,.team-panorama-image{
    min-height:48vh !important;
    height:48vh !important;
  }
  .team-panorama-image{
    background-size:cover !important;
    background-position:center top !important;
    background-attachment:scroll !important;
  }
}


/* V5.10: Parallax behalten, aber obere Bildzone vollständig sichtbar */
.team-panorama-panel{
  position:relative;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden;
}
.team-panorama-image{
  width:100%;
  height:min(54vw, 78vh) !important;
  min-height:580px !important;
  background-repeat:no-repeat !important;
  background-size:100% auto !important;
  background-position:center top !important;
  background-attachment:fixed !important;
}
.team-panorama-panel:after{
  background:linear-gradient(180deg,rgba(32,38,42,.06),rgba(32,38,42,.03) 44%,rgba(32,38,42,.12)) !important;
}
@media (max-width:1600px){
  .team-panorama-image{height:min(56vw, 76vh) !important;min-height:540px !important}
}
@media (max-width:1200px){
  .team-panorama-image{height:min(58vw, 72vh) !important;min-height:460px !important}
}
@media (max-width:1050px){
  .team-panorama-image{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 9 !important;
    background-size:cover !important;
    background-position:center top !important;
    background-attachment:scroll !important;
  }
}
@media (max-width:820px){
  .team-panorama-image{
    aspect-ratio:4 / 3 !important;
    background-size:cover !important;
    background-position:center top !important;
  }
}


/* V5.12: echter Twenty-Seventeen-Parallax, ohne abgeschnittene Köpfe */
:root{
  --kiku-fixed-header: 104px;
}

.team-panorama-panel{
  position:relative !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  min-height:72vh !important;
  height:auto !important;
  overflow:hidden !important;
  background:#20262a !important;
}

.team-panorama-image{
  display:block !important;
  width:100% !important;
  height:72vh !important;
  min-height:620px !important;
  aspect-ratio:auto !important;
  background-size:100% auto !important;
  background-repeat:no-repeat !important;
  /*
   * Bei background-attachment:fixed bezieht sich "top" auf das Browserfenster.
   * Deshalb verschieben wir den Bildanfang exakt unter den festen Header.
   * So bleibt der echte Parallax-Effekt erhalten und die hintere Reihe sichtbar.
   */
  background-position:center var(--kiku-fixed-header) !important;
  background-attachment:fixed !important;
}

.team-panorama-panel:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(32,38,42,.04),
    rgba(32,38,42,.02) 44%,
    rgba(32,38,42,.12)
  ) !important;
}

@media (max-width:1400px){
  .team-panorama-image{
    min-height:560px !important;
    height:70vh !important;
  }
}

@media (max-width:1050px){
  .team-panorama-panel{
    min-height:0 !important;
  }
  .team-panorama-image{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 9 !important;
    background-size:cover !important;
    background-position:center top !important;
    background-attachment:scroll !important;
  }
}

@media (max-width:820px){
  .team-panorama-image{
    aspect-ratio:4 / 3 !important;
    background-position:center top !important;
  }
}


/* V5.13: finale, individuelle Ausrichtung der Anwaltsportraits an Lebenslauf/Schwerpunkte */
@media (min-width:1051px){
  .lawyer-card{
    align-items:start !important;
  }
  .lawyer-photo{
    /* Wird pro Profil in app.js exakt bis zur Oberkante von .profile-columns gesetzt. */
    margin-top:var(--kiku-photo-offset, 0px) !important;
    position:relative !important;
    top:auto !important;
    align-self:start !important;
  }
  .profile-columns{
    align-items:start !important;
  }
}
@media (max-width:1050px){
  .lawyer-photo{
    margin-top:0 !important;
    position:relative !important;
    top:auto !important;
  }
}


/* V5.14: Navigations- und Hero-Feinschliff */
/* Doppelte Kontakt-Navigation entfernen - CTA rechts bleibt bestehen */
.menu a[href$="#kontakt"]{display:none !important}

/* Logo links oben mit schlankerem weißem Rand */
.brand{
  padding:8px 10px !important;
  border-radius:14px !important;
  box-shadow:0 12px 34px rgba(0,0,0,.16) !important;
}

/* Hero-Textkasten kompakter und weniger dominant */
.hero-text{
  max-width:560px !important;
  padding:26px 28px !important;
  border-radius:28px !important;
  background:linear-gradient(135deg,rgba(32,38,42,.72),rgba(32,38,42,.40)) !important;
  box-shadow:0 20px 60px rgba(0,0,0,.22) !important;
}
.hero-text h1{
  font-size:clamp(2.55rem,4.4vw,4.55rem) !important;
  line-height:.92 !important;
  margin:0 0 18px !important;
  max-width:10ch !important;
}
.hero-text .lead{
  font-size:clamp(1.02rem,1.45vw,1.18rem) !important;
  line-height:1.55 !important;
  max-width:32ch !important;
}
.hero-actions{margin-top:22px !important}
.hero-card{max-width:360px !important}
.hero-phone{font-size:1.42rem !important}

@media (max-width:1050px){
  .brand{padding:8px 10px !important}
  .hero-text{max-width:520px !important;padding:24px !important}
  .hero-text h1{font-size:clamp(2.45rem,8.2vw,4rem) !important}
}
@media (max-width:820px){
  .hero-text{max-width:none !important;padding:22px 20px !important;border-radius:24px !important}
  .hero-text h1{font-size:clamp(2.2rem,10vw,3.45rem) !important}
  .hero-card{max-width:none !important}
}


/* V5.15: Logo-Rahmen deutlich schlanker + Editorial-Feinschliff */
.brand{
  padding:5px 7px !important;
  border-radius:12px !important;
  box-shadow:0 10px 26px rgba(0,0,0,.14) !important;
}
.footer-logo{
  padding:6px !important;
  border-radius:12px !important;
  margin-bottom:16px !important;
}

/* Nummernkreis bei "Die Kanzlei" entfällt komplett */
.section-kicker span{display:none !important}
.section-kicker{display:flex;align-items:center;gap:0 !important}

/* Headline im Kanzlei-Bereich etwas zeitloser und ausgewogener */
.editorial-copy h2{
  max-width:9.5ch;
}
.editorial-copy p{
  max-width:38rem;
}

@media (max-width:1050px){
  .brand{padding:5px 7px !important;border-radius:11px !important}
  .footer-logo{padding:6px !important}
}
@media (max-width:820px){
  .brand{padding:4px 6px !important;border-radius:10px !important}
  .footer-logo{padding:5px !important;border-radius:10px !important}
}


/* V5.16: Kanzlei-Headline darf den Infokasten nie mehr überlagern */
.editorial-grid{
  grid-template-columns: 170px minmax(0, 1fr) minmax(280px, 320px) !important;
  gap: 32px !important;
}
.editorial-copy{
  min-width: 0;
  padding-right: 18px;
}
.editorial-copy h2{
  font-size: clamp(2.2rem, 4.35vw, 4.9rem) !important;
  max-width: 8.8ch !important;
  text-wrap: balance;
}
.editorial-panel{
  width: 100%;
  max-width: 320px;
  justify-self: end;
}

@media (max-width: 1380px){
  .editorial-grid{
    grid-template-columns: 150px minmax(0, 1fr) minmax(260px, 300px) !important;
    gap: 26px !important;
  }
  .editorial-copy{
    padding-right: 10px;
  }
  .editorial-copy h2{
    font-size: clamp(2.1rem, 4.1vw, 4.4rem) !important;
    max-width: 8.4ch !important;
  }
  .editorial-panel{
    max-width: 300px;
    padding: 28px;
  }
}

@media (max-width: 1180px){
  .editorial-grid{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .editorial-copy,
  .editorial-panel{
    max-width: none !important;
    width: 100% !important;
    justify-self: stretch !important;
    padding-right: 0 !important;
  }
}


/* ==========================================================================
   V6 — Bürogemeinschaft, zentrale Rechtsgebiete, Keyvisuals & kompakte Profile
   ========================================================================== */

/* Logo bewusst ohne "Karteikarten"-Rahmen */
.brand{
  width:205px !important;
  max-width:42vw !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.brand img{display:block;width:100%;height:auto;border-radius:10px}
.footer-logo{
  width:185px !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:10px !important;
  box-shadow:none !important;
}

/* Einzige Kennzahl: Standorte */
.site-facts{
  background:#20262a;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-facts-inner{
  min-height:84px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  font-weight:800;
}
.site-facts strong{
  color:#8cd287;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.85rem;
}
.site-facts span{font-size:.98rem}
.site-facts i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.38)}

/* Office tabs */
.office-section{
  background:linear-gradient(180deg,#fff,#f4f7f3);
}
.office-tabs{
  border:1px solid rgba(32,38,42,.09);
  background:rgba(255,255,255,.76);
  border-radius:34px;
  box-shadow:0 24px 70px rgba(29,42,34,.09);
  overflow:hidden;
}
.office-tablist{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  padding:10px;
  background:#20262a;
}
.office-tab{
  border:0;
  min-height:68px;
  padding:12px 18px;
  border-radius:24px;
  background:transparent;
  color:rgba(255,255,255,.74);
  font:inherit;
  font-weight:900;
  line-height:1.15;
  cursor:pointer;
  transition:.2s ease;
}
.office-tab:hover{background:rgba(255,255,255,.08);color:#fff}
.office-tab.is-active{
  background:var(--green);
  color:#fff;
  box-shadow:0 12px 30px rgba(82,176,76,.26);
}
.office-panel{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);
  gap:36px;
  padding:42px;
  min-height:310px;
  align-items:center;
}
.office-panel[hidden]{display:none}
.office-panel-kicker{
  margin:0 0 10px;
  color:var(--green-dark);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  font-size:.75rem;
}
.office-panel h3{
  margin:0;
  font-size:clamp(2.15rem,4vw,4.6rem);
  line-height:.95;
  letter-spacing:-.055em;
  color:var(--ink);
}
.office-people{margin:24px 0 28px}
.office-people p{margin:6px 0;color:#596267;font-weight:700}
.office-panel-focus{
  background:#20262a;
  color:#fff;
  border-radius:28px;
  padding:28px;
  min-width:0;
}
.office-panel-focus>span{
  display:block;
  margin-bottom:16px;
  color:#8cd287;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.74rem;
  font-weight:950;
}
.office-panel-focus>div{display:flex;flex-wrap:wrap;gap:9px}
.office-panel-focus em{
  font-style:normal;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  font-weight:800;
  font-size:.88rem;
}

/* Verkehrsrecht-Keyvisual — echter Parallax */
.traffic-parallax{
  position:relative;
  min-height:82vh;
  display:flex;
  align-items:flex-end;
  color:#fff;
  overflow:hidden;
  background-image:var(--traffic-image);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
.traffic-parallax-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(15,19,20,.91) 0%,rgba(15,19,20,.72) 42%,rgba(15,19,20,.18) 78%),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.42));
}
.traffic-parallax-content{
  position:relative;
  z-index:2;
  padding-top:120px;
  padding-bottom:76px;
}
.traffic-copy{max-width:760px}
.traffic-copy .eyebrow{color:#91dc88}
.traffic-copy h2{
  margin:0;
  font-size:clamp(3.4rem,7.7vw,8.5rem);
  line-height:.86;
  letter-spacing:-.07em;
  color:#fff;
}
.traffic-copy h2 span{font-weight:470;color:rgba(255,255,255,.84)}
.traffic-copy>p:not(.eyebrow){
  max-width:650px;
  font-size:clamp(1.08rem,1.55vw,1.34rem);
  line-height:1.62;
  color:rgba(255,255,255,.82);
  margin:28px 0;
}
.traffic-subtopics{display:flex;flex-wrap:wrap;gap:10px}
.traffic-subtopics a{
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
  border-radius:999px;
  padding:11px 15px;
  font-weight:850;
}
.traffic-subtopics a:hover{background:var(--green);border-color:var(--green)}

/* GmbH legal areas */
.gmbh-practice-section{background:#eef3ee}
.practice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.practice-card{
  min-height:290px;
  padding:30px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(32,38,42,.08);
  box-shadow:0 18px 48px rgba(30,45,35,.07);
  position:relative;
  overflow:hidden;
}
.practice-card.featured{
  background:#20262a;
  color:#fff;
}
.practice-mark{
  display:inline-grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:50%;
  background:rgba(82,176,76,.13);
  color:var(--green);
  font-size:1.35rem;
  font-weight:950;
}
.practice-card.featured .practice-mark{background:rgba(140,210,135,.12);color:#8cd287}
.practice-card h3{
  margin:22px 0 12px;
  font-size:clamp(1.55rem,2.5vw,2.3rem);
  line-height:1;
  letter-spacing:-.045em;
}
.practice-card p{margin:0;color:#596267;line-height:1.62}
.practice-card.featured p{color:rgba(255,255,255,.72)}
.practice-card small{
  display:block;
  margin-top:24px;
  color:var(--green-dark);
  font-weight:850;
}
.practice-card.featured small{color:#8cd287}

/* Weitere Kanzleieinheiten */
.other-practices-section{background:#fff}
.office-practice-groups{display:grid;gap:28px}
.office-practice-group{
  border:1px solid rgba(32,38,42,.08);
  border-radius:34px;
  padding:34px;
  background:#f7f9f6;
}
.office-practice-group header{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  column-gap:26px;
  align-items:end;
  margin-bottom:28px;
}
.office-practice-group header .eyebrow{grid-row:1 / 3;align-self:start}
.office-practice-group h3{
  margin:0;
  font-size:clamp(2rem,3.8vw,4rem);
  line-height:.95;
  letter-spacing:-.055em;
}
.office-practice-group header span{margin-top:8px;color:#667176;font-weight:750}
.office-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.office-mini-grid article{
  background:#fff;
  border-radius:24px;
  padding:24px;
  border:1px solid rgba(32,38,42,.07);
}
.office-mini-grid h4{margin:0 0 10px;font-size:1.35rem;letter-spacing:-.03em}
.office-mini-grid p{margin:0;color:#596267;line-height:1.56}

/* Team section: compact, grouped, expandable vita */
.team-premium{background:linear-gradient(180deg,#fff,#f3f6f2)}
.compact-team-groups{display:grid;gap:58px}
.compact-team-group-title{
  margin:0 0 20px;
  font-size:clamp(1.4rem,2.2vw,2rem);
  color:var(--green-dark);
  letter-spacing:-.03em;
}
.compact-team-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.compact-lawyer-card{
  background:#fff;
  border:1px solid rgba(32,38,42,.08);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 18px 52px rgba(30,40,34,.08);
}
.compact-lawyer-photo{
  margin:0;
  height:390px;
  overflow:hidden;
  background:#e8ece7;
}
.compact-lawyer-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
  display:block;
}
.compact-lawyer-photo.no-photo{
  display:flex;
  align-items:flex-end;
  padding:28px;
  background:
    radial-gradient(circle at 78% 20%,rgba(82,176,76,.25),transparent 13rem),
    linear-gradient(145deg,#20262a,#343d41);
  color:#fff;
}
.compact-lawyer-photo.no-photo span{
  font-size:clamp(2rem,3vw,3.2rem);
  font-weight:950;
  line-height:.92;
  letter-spacing:-.05em;
}
.compact-lawyer-content{padding:24px}
.compact-lawyer-content h4{
  margin:5px 0 0;
  font-size:clamp(1.7rem,2.6vw,2.7rem);
  line-height:.96;
  letter-spacing:-.045em;
}
.compact-focus-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.compact-focus-list span{
  padding:8px 10px;
  border-radius:999px;
  background:#edf4ed;
  color:#315238;
  font-size:.76rem;
  font-weight:850;
}
.profile-details{
  margin-top:22px;
  border-top:1px solid rgba(32,38,42,.09);
  padding-top:16px;
}
.profile-details summary{
  cursor:pointer;
  list-style:none;
  font-weight:900;
  color:var(--green-dark);
}
.profile-details summary::-webkit-details-marker{display:none}
.profile-details summary:after{content:"+";float:right;font-size:1.25rem}
.profile-details[open] summary:after{content:"–"}
.profile-details-body{
  padding:18px 0 4px;
  color:#526066;
  font-size:.94rem;
  max-height:460px;
  overflow:auto;
}
.profile-details-body .bio-list{margin:0}

/* Keep old large lawyer cards unused */
.lawyer-list{display:none !important}

/* Team parallax: preserve the already working Twenty-Seventeen effect */
:root{--kiku-fixed-header:104px}
.team-panorama-panel{
  position:relative !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  min-height:72vh !important;
  overflow:hidden !important;
  background:#20262a !important;
}
.team-panorama-image{
  display:block !important;
  width:100% !important;
  height:72vh !important;
  min-height:620px !important;
  aspect-ratio:auto !important;
  background-size:100% auto !important;
  background-repeat:no-repeat !important;
  background-position:center var(--kiku-fixed-header) !important;
  background-attachment:fixed !important;
}

/* Header nav */
.menu a[href$="#kontakt"]{display:none !important}
.nav-cta{display:inline-flex}

/* Desktop/tablet breakpoints */
@media (max-width:1280px){
  .office-panel{grid-template-columns:1fr;gap:24px}
  .office-panel-focus{max-width:none}
  .practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compact-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .office-mini-grid{grid-template-columns:1fr}
}
@media (max-width:1050px){
  .brand{width:175px !important}
  .office-tablist{grid-template-columns:1fr}
  .office-tab{min-height:54px}
  .office-panel{padding:28px}
  .traffic-parallax{
    min-height:70vh;
    background-attachment:scroll;
    background-position:center center;
  }
  .team-panorama-panel{min-height:0 !important}
  .team-panorama-image{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
    background-size:cover !important;
    background-position:center top !important;
    background-attachment:scroll !important;
  }
  .office-practice-group header{grid-template-columns:1fr}
  .office-practice-group header .eyebrow{grid-row:auto}
}
@media (max-width:820px){
  .site-facts-inner{flex-wrap:wrap;gap:10px 14px;padding:18px 0}
  .site-facts-inner strong{width:100%;text-align:center}
  .practice-grid,.compact-team-grid{grid-template-columns:1fr}
  .compact-lawyer-photo{height:440px}
  .traffic-parallax{min-height:74vh}
  .traffic-copy h2{font-size:clamp(3rem,15vw,5.7rem)}
  .office-panel{padding:22px}
  .office-practice-group{padding:22px}
}
