/*
Theme Name: Adler Relaunch
Theme URI: https://dr-adler.de
Author: Relaunch
Description: Modernes Theme fuer die Praxis Dr. Yael Adler. Weisraum, leichte Raleway-Typografie, Markenviolett #4c095d, klare Linien statt Karten.
Version: 1.8
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: adler-relaunch
*/

:root{
  --purple:#4c095d;
  --ink:#26262b;
  --grey:#70707a;
  --line:#dcd6e2;
  --tint:#f7f4f9;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Raleway',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.7;font-size:16.5px;font-weight:400}
img{max-width:100%;height:auto}
a{color:var(--purple);text-decoration:none;transition:.25s}
a:hover{color:#3a0747}
.container{max-width:1240px;margin:0 auto;padding:0 40px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:92px}
.logo img{height:46px;width:auto;display:block}
.hright{display:flex;align-items:center;gap:36px}
nav.main ul{display:flex;gap:32px;font-size:15px;font-weight:500;list-style:none;align-items:center}
nav.main a{color:var(--ink)}
nav.main a:hover,nav.main .current-menu-item>a,nav.main .current_page_item>a{color:var(--purple)}
nav.main .sub-menu{display:none}
.lang{font-size:13.5px;letter-spacing:.08em;color:var(--grey)}
.lang a{color:var(--ink);font-weight:600}
.lang a.off{color:var(--grey);font-weight:400}
.btn{display:inline-block;padding:14px 32px;font-size:14.5px;font-weight:600;letter-spacing:.04em;border:1px solid var(--purple);transition:.25s;cursor:pointer;background:transparent}
.btn-solid{background:var(--purple);color:#fff}
.btn-solid:hover{background:#3a0747;color:#fff}
.btn-line{color:var(--purple)}
.btn-line:hover{background:var(--purple);color:#fff}
.btn-white{border-color:#fff;color:#fff}
.btn-white:hover{background:#fff;color:var(--purple)}
.site-header .btn{padding:11px 24px}
.menu-toggle{display:none;background:none;border:1px solid var(--purple);color:var(--purple);padding:8px 14px;font-size:14px;cursor:pointer}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:82vh;display:flex;align-items:flex-end;
  background:linear-gradient(to top, rgba(20,4,26,.72) 0%, rgba(30,6,38,.35) 45%, rgba(40,8,50,.15) 100%),
  linear-gradient(115deg,#2b0836 0%,#4c095d 45%,#6e2382 78%,#8d4a9e 100%);
  background-size:cover;background-position:center;color:#fff}
.hero-inner{padding:0 0 90px}
.hero h1{font-size:clamp(38px,5.6vw,68px);font-weight:200;line-height:1.14;letter-spacing:.015em;max-width:14em;margin-bottom:28px}
.hero h1 em{font-style:normal;font-weight:500}
.hero p.sub{font-size:18px;font-weight:300;letter-spacing:.02em;max-width:38em;opacity:.9;margin-bottom:42px}
.hero .btns{display:flex;gap:18px;flex-wrap:wrap}

/* ---------- Sections ---------- */
.section{padding:110px 0}
.eyebrow{font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--purple);font-weight:600;margin-bottom:26px}
.split{display:grid;grid-template-columns:5fr 7fr;gap:90px;align-items:start}
.split h2{font-size:clamp(28px,3.4vw,44px);font-weight:200;line-height:1.22;color:var(--ink)}
.split h2 em{font-style:normal;font-weight:500;color:var(--purple)}
.prose p{margin-bottom:18px}
.prose .sig{margin-top:30px;font-size:17px;font-weight:500;color:var(--purple)}

/* ---------- Statement band ---------- */
.band{background:var(--tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band .container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
.band .cell{padding:64px 48px;border-left:1px solid var(--line)}
.band .cell:first-child{border-left:none}
.band h3{font-size:20px;font-weight:500;color:var(--purple);margin-bottom:14px;line-height:1.4}
.band p{font-size:15px;color:var(--grey);font-weight:300}

/* ---------- Leistungen list ---------- */
.leist .head{max-width:52em;margin-bottom:70px}
.leist h2{font-size:clamp(28px,3.4vw,44px);font-weight:200;line-height:1.22}
.leist h2 em{font-style:normal;font-weight:500;color:var(--purple)}
.rows{border-top:1px solid var(--line)}
.row-item{display:grid;grid-template-columns:4fr 7fr 1fr;gap:40px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--line);transition:.2s}
.row-item h3{font-size:21px;font-weight:400;color:var(--ink);transition:.2s}
.row-item a:hover h3{color:var(--purple)}
.row-item p{font-size:15.5px;color:var(--grey);font-weight:300}
.row-item .arr{text-align:right;font-size:22px;color:var(--purple);font-weight:300}
.leist .all{margin-top:54px}

/* ---------- Quote ---------- */
.quote{background:var(--purple);color:#fff;text-align:center}
.quote blockquote{font-size:clamp(24px,3vw,38px);font-weight:200;line-height:1.4;max-width:26em;margin:0 auto 26px;letter-spacing:.01em}
.quote .who{font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.7}

/* ---------- Inner page ---------- */
.page-hero{border-bottom:1px solid var(--line);padding:70px 0 46px}
.page-hero .eyebrow{margin-bottom:16px}
.page-hero h1{font-size:clamp(30px,4vw,52px);font-weight:200;line-height:1.15;color:var(--ink);letter-spacing:.01em}
.entry{padding:64px 0 100px}
.entry-inner{max-width:820px;margin:0 auto}
.entry-inner h1{font-size:34px;font-weight:300;color:var(--purple);margin:0 0 24px;line-height:1.25}
.entry-inner h2{font-size:26px;font-weight:400;color:var(--purple);margin:44px 0 16px;line-height:1.3}
.entry-inner h3{font-size:20px;font-weight:600;color:var(--ink);margin:32px 0 12px}
.entry-inner p{margin-bottom:18px}
.entry-inner ul,.entry-inner ol{margin:0 0 20px 22px}
.entry-inner li{margin-bottom:8px}
.entry-inner img{margin:14px 0;border:1px solid var(--line)}
.entry-inner a{text-decoration:underline;text-underline-offset:2px}
.entry-inner blockquote{border-left:3px solid var(--purple);padding:6px 22px;margin:24px 0;color:var(--grey);font-style:italic}
.subpages{margin-top:60px;border-top:1px solid var(--line);padding-top:32px}
.subpages h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);margin-bottom:16px}
.subpages ul{list-style:none;margin:0}
.subpages li{border-bottom:1px solid var(--line)}
.subpages li a{display:block;padding:14px 0;font-size:17px;color:var(--ink)}
.subpages li a:hover{color:var(--purple)}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line);padding:84px 0 40px;font-size:15px;color:var(--grey);font-weight:300}
.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:64px}
.site-footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.22em;margin-bottom:20px;color:var(--ink);font-weight:600}
.site-footer .cols a{color:var(--grey);display:block;padding:4px 0}
.site-footer .cols a:hover{color:var(--purple)}
.site-footer .brand img{height:42px;margin-bottom:20px}
.site-footer .brand p{max-width:24em}
.site-footer .base{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px}

@media (max-width:960px){
  .split,.band .container{grid-template-columns:1fr}
  .split{gap:44px}
  .band .cell{border-left:none;border-top:1px solid var(--line);padding:44px 0}
  .band .cell:first-child{border-top:none}
  .row-item{grid-template-columns:1fr;gap:8px}
  .row-item .arr{display:none}
  .container{padding:0 24px}
  nav.main{position:absolute;top:92px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);display:none}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;gap:0;padding:10px 24px}
  nav.main li{width:100%;border-bottom:1px solid var(--line)}
  nav.main li:last-child{border-bottom:none}
  nav.main a{display:block;padding:14px 0}
  .menu-toggle{display:block}
  .site-header .btn{display:none}
  .site-footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){.site-footer .cols{grid-template-columns:1fr}}

/* ---------- Medien-/Publikationsraster ---------- */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin:36px 0 10px}
.media-tile{display:flex;flex-direction:column;background:var(--tint);border:1px solid var(--line);text-decoration:none !important;transition:.25s}
.media-tile:hover{border-color:#b98cc7;box-shadow:0 10px 30px rgba(76,9,93,.10);transform:translateY(-2px)}
.media-tile .thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.media-tile .thumb img{width:100%;height:100%;object-fit:cover;margin:0;border:none;display:block}
.media-tile .label{display:block;padding:16px 18px;font-size:14.5px;font-weight:600;letter-spacing:.04em;color:var(--ink);line-height:1.45}
.media-tile:hover .label{color:var(--purple)}
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin:26px 0}
.logo-wall a,.logo-wall>span{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:16px 12px;min-height:74px}
.logo-wall img{max-height:42px;width:auto;margin:0;border:none;filter:grayscale(1);opacity:.7;transition:.25s}
.logo-wall a:hover img{filter:none;opacity:1}
@media (max-width:600px){.media-grid{grid-template-columns:1fr 1fr;gap:12px}}

/* ---------- Editorial-Template (Praxis) ---------- */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s ease}
.js .reveal.in{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.18s}
.edit-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;color:#fff}
.edit-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,4,26,.78) 0%,rgba(30,6,38,.28) 55%,rgba(20,4,26,.15) 100%)}
.edit-hero-inner{position:relative;padding-bottom:88px}
.edit-hero h1{font-size:clamp(36px,5vw,62px);font-weight:200;line-height:1.16;letter-spacing:.015em}
.edit-hero h1 em{font-style:normal;font-weight:500}
.edit-split{padding:110px 0}
.edit-split.alt{background:var(--tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.edit-split .split.reverse{grid-template-columns:5fr 7fr}
.edit-wide{padding:0}
.edit-wide img{width:100%;height:66vh;object-fit:cover;display:block;margin:0;border:none}
.edit-portrait img,.edit-photo img{width:100%;height:auto;display:block;border:1px solid var(--line);margin:0}
.edit-band{background:var(--purple);color:#fff;text-align:center;padding:96px 0}
.edit-band blockquote{font-size:clamp(24px,3vw,38px);font-weight:200;line-height:1.4;max-width:26em;margin:0 auto 24px}
.edit-band .who{font-size:13px;letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.edit-cta{background:linear-gradient(115deg,#2b0836 0%,#4c095d 55%,#6e2382 100%);color:#fff;text-align:center;padding:100px 0}
.edit-cta h2{font-size:clamp(28px,3.4vw,44px);font-weight:200;margin-bottom:34px}
@media (max-width:960px){.edit-split .split.reverse{grid-template-columns:1fr}.edit-wide img{height:44vh}}

.js .entry-inner.reveal{transform:translateY(18px)}

.entry.no-hero{padding-top:88px;border-top:1px solid var(--line)}

/* ---------- Team-Seite: seitenbreite Baender ---------- */
body{overflow-x:clip}
.entry-inner .team-member{width:100vw;margin-left:calc(50% - 50vw);padding:88px 0;border-top:1px solid var(--line)}
.team-member.alt{background:var(--tint)}
.team-member .tm-inner{max-width:1240px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:4fr 7fr;gap:70px;align-items:start}
.team-member.alt .tm-inner{grid-template-columns:7fr 4fr}
.team-member.alt .tm-photo{order:2}
.tm-photo{position:relative;margin:0;padding-left:16px}
.tm-photo::before{content:"";position:absolute;left:0;top:26px;bottom:-18px;width:4px;background:var(--purple)}
.team-member.alt .tm-photo{padding-left:0;padding-right:16px}
.team-member.alt .tm-photo::before{left:auto;right:0}
.tm-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border:1px solid var(--line);margin:0}
.tm-text h2{font-size:clamp(24px,2.6vw,34px);font-weight:300;color:var(--purple);margin:0 0 10px;line-height:1.25}
.tm-text h3{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--grey);font-weight:600;margin:0 0 26px}
.tm-text p{margin-bottom:16px}
.entry-inner .team-divider{width:100vw;margin-left:calc(50% - 50vw);background:var(--purple);color:#fff;text-align:center;padding:58px 40px;margin-top:0;margin-bottom:0}
.team-divider span{display:block;font-size:13px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;line-height:1.8}
.entry-inner h1.team-title{margin-bottom:44px}
@media (max-width:900px){
  .team-member .tm-inner{grid-template-columns:1fr;gap:34px}
  .team-member.alt .tm-photo{order:0}
  .tm-photo{max-width:340px}
}
