:root{
  --primary:#7695a7;
  --primary-dark:#5f7f90;
  --primary-light:#edf3f6;
  --bg:#f4f6f8;
  --card:#ffffff;
  --text:#2c2f33;
  --muted:#66707a;
  --line:#dfe5ea;
  --warning:#e7eef2;
  --warning-line:#9db0bc;
  --warning-text:#3b4c58;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--text);background:var(--bg);line-height:1.68}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{max-width:1120px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand img{height:78px;width:auto;display:block;flex:0 0 auto}
.brand-text{font-weight:600;letter-spacing:.02em;font-size:1.2rem;line-height:1.2}
nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px}
nav a{text-decoration:none;color:var(--text);font-weight:500;letter-spacing:.01em}
nav a:hover{color:var(--primary-dark)}
.hero{min-height:380px;overflow:hidden;background:#dde6eb}
.hero.two{display:grid;grid-template-columns:1fr 1fr}
.hero.one{display:block}
.hero img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}
main{max-width:1120px;margin:0 auto;padding:32px 18px 60px}
.page{background:var(--card);border-radius:16px;box-shadow:0 12px 32px rgba(28,40,51,.06);padding:40px}
.notice-top{background:var(--warning);border:1px solid var(--warning-line);color:var(--warning-text);border-radius:16px;padding:18px 22px;margin-bottom:26px;box-shadow:0 10px 24px rgba(90,70,16,.08);font-weight:600}
.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;margin-top:-64px;position:relative;z-index:5}
.panel{background:#fff;border-radius:16px;box-shadow:0 12px 32px rgba(28,40,51,.08);padding:28px}
.quick-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 18px;text-decoration:none;font-weight:600;border:1px solid var(--line);background:#fff;color:var(--text)}
.button.primary{background:var(--primary-dark);color:#fff;border-color:var(--primary-dark)}
.button:hover{transform:translateY(-1px);transition:.15s ease}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.card{background:#f9fbfc;border:1px solid var(--line);border-radius:14px;padding:22px}
h1,h2,h3{line-height:1.25;margin-top:0;color:#24313a}
h1{font-size:2.05rem;margin-bottom:18px;font-weight:500;letter-spacing:.01em}
h2{font-size:1.42rem;margin:34px 0 12px;font-weight:500}
h3{font-size:1.08rem;margin:24px 0 10px;font-weight:600}
p,li{font-size:1rem;margin:0 0 14px}
ul{padding-left:22px;margin-top:0}
a{color:var(--primary-dark)}
a:hover{color:#3f5f72}
.profile{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.profile img{width:100%;border-radius:14px;display:block;background:#eef2f5}
.contact-box{background:#f9fbfc;border:1px solid var(--line);border-radius:14px;padding:22px}
.contact-links a{text-decoration:none}
footer{max-width:1120px;margin:0 auto;padding:0 18px 36px;color:var(--muted);font-size:.95rem}
.footer-inner{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--primary-dark)}
@media (max-width:920px){
  .intro,.grid,.profile{grid-template-columns:1fr}
  .intro{margin-top:0}
  .hero.two{grid-template-columns:1fr}
  .hero img{min-height:250px}
  .hero.two img:last-child{display:none}
  .page{padding:28px}
}
@media (max-width:760px){
  .nav{align-items:flex-start;flex-direction:column}
  nav{justify-content:flex-start}
  .quick-actions{flex-direction:column}
  .button{width:100%}
  .brand img{height:68px}
  .brand-text{font-size:1.06rem}
}


.profile-secondary{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.grayscale{filter:grayscale(100%) contrast(1.08) brightness(1.04)}


.accordion{margin:26px 0 22px;border:1px solid var(--line);border-radius:14px;background:#f9fbfc;overflow:hidden}
.accordion summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:600;color:#24313a}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"+";float:right;font-size:1.2rem;line-height:1}
.accordion[open] summary::after{content:"−"}
.accordion-content{padding:4px 18px 8px}
.accordion-content h3:first-child{margin-top:8px}


.faq-list{display:grid;gap:12px}
.faq-item{border:1px solid var(--line);border-radius:12px;background:#fff}
.faq-item summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:600;color:#24313a}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";float:right;font-size:1.15rem;line-height:1}
.faq-item[open] summary::after{content:"−"}
.faq-item p{padding:0 16px 16px;margin:0}


.hero-subpage{background:#dde6eb}
.hero-subpage img{object-fit:cover;padding:0;background:transparent}
.hero-subpage img:first-child{object-position:center 52%}
.hero-subpage img:last-child{object-position:center 48%}


/* V15.7: subpage hero refinement */
.hero-subpage{
  min-height: 0;
}

.hero-subpage img{
  height: 420px;
  object-fit: cover;
}

@media (max-width: 900px){
  .hero-subpage img{
    height: 300px;
  }
}

/* global default for subpages */
.hero-subpage img:first-child{object-position: center 50%;}
.hero-subpage img:last-child{object-position: center 46%;}

/* page-specific fine tuning */
.hero-subpage-behandlung img:first-child{object-position:center 52%;}
.hero-subpage-behandlung img:last-child{object-position:center 50%;}

.hero-subpage-kosten img:first-child{object-position:center 60%;}
.hero-subpage-kosten img:last-child{object-position:center 44%;}

.hero-subpage-kontakt img:first-child{object-position:center 54%;}
.hero-subpage-kontakt img:last-child{object-position:center 48%;}

.hero-subpage-person img:first-child{object-position:center 40%;}
.hero-subpage-person img:last-child{object-position:center 46%;}

.hero-subpage-psychotherapie img:first-child{object-position:center 53%;}
.hero-subpage-psychotherapie img:last-child{object-position:center 47%;}

.hero-subpage-neuropsychologische-diagnostik img:first-child{object-position:center 50%;}
.hero-subpage-neuropsychologische-diagnostik img:last-child{object-position:center 42%;}

.hero-subpage-neuropsychologische-begutachtung img:first-child{object-position:center 51%;}
.hero-subpage-neuropsychologische-begutachtung img:last-child{object-position:center 45%;}

.hero-subpage-beratung-und-paarberatung img:first-child{object-position:center 55%;}
.hero-subpage-beratung-und-paarberatung img:last-child{object-position:center 48%;}

.hero-subpage-impressum img:first-child{object-position:center 54%;}
.hero-subpage-impressum img:last-child{object-position:center 47%;}

.hero-subpage-datenschutz img:first-child{object-position:center 54%;}
.hero-subpage-datenschutz img:last-child{object-position:center 47%;}


/* keep a single hero image on mobile subpages */
@media (max-width: 900px){
  .hero-subpage{
    display:block;
  }
  .hero-subpage img{
    width:100%;
    height:260px;
    display:block;
  }
  .hero-subpage img:nth-of-type(2){
    display:none;
  }
}
