/* =========================================================
   Praxis Fabian Köster — Relaunch
   Design: warm, einladend, Creme-Basis, Marke Blau + Orange
   ========================================================= */

/* ---------- Fonts (self-hosted, DSGVO-konform) ---------- */
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}

/* ---------- Tokens ---------- */
:root{
  --cream:#f6eee0;
  --cream-2:#efe3d0;
  --cream-3:#fbf6ec;
  --surface:#ffffff;
  --blue:#194282;
  --blue-deep:#112f5b;
  --orange:#f4682b;
  --orange-deep:#d9531c;
  --orange-soft:rgba(244,104,43,.10);
  --ink:#2c2a26;
  --muted:#6f6657;
  --line:#e6dbc7;
  --shadow-sm:0 2px 10px rgba(60,45,25,.07);
  --shadow:0 18px 50px -22px rgba(40,55,90,.35);
  --shadow-warm:0 24px 60px -28px rgba(120,70,30,.45);
  --radius:0;
  --radius-lg:0;
  --wrap:1180px;
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Figtree",-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background-color:var(--cream);
  background-image:
    radial-gradient(900px 480px at 88% -6%, rgba(244,104,43,.10), transparent 60%),
    radial-gradient(760px 520px at -8% 4%, rgba(25,66,130,.07), transparent 55%);
  background-attachment:fixed;
  line-height:1.65;
  font-size:1.0625rem;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--orange-deep);}
h1,h2,h3{font-family:var(--font-display);color:var(--blue);font-weight:600;line-height:1.12;margin:0;}
p{margin:0 0 1.1em;}
ul{margin:0;padding:0;list-style:none;}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(18px,4vw,40px);}
.section{padding-block:clamp(56px,8vw,104px);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:10px 16px;border-radius:0;z-index:200;}
.skip-link:focus{left:0;}

/* ---------- Eyebrow ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  font-size:.78rem;color:var(--orange-deep);margin:0 0 18px;
}
.eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--orange);display:inline-block;}
.eyebrow--center{justify-content:center;}

/* ---------- Accent heading with hand-drawn underline ---------- */
.h-accent{position:relative;display:inline-block;font-size:clamp(1.8rem,3.6vw,2.7rem);padding-bottom:.32em;}
.h-accent::after{
  content:"";position:absolute;left:2px;bottom:0;width:min(100%,220px);height:11px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='12' viewBox='0 0 220 12'%3E%3Cpath d='M3 8 Q 20 2 37 7 T 71 7 T 105 7 T 139 7 T 173 7 T 207 7' fill='none' stroke='%23f4682b' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center;
  background-size:contain;
}
.h-accent--center{display:block;text-align:center;}
.h-accent--center::after{left:50%;transform:translateX(-50%);}
.section__head{text-align:center;margin-bottom:clamp(34px,5vw,56px);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--font-body);font-weight:600;font-size:1rem;
  padding:.85em 1.5em;border-radius:0;border:1.6px solid transparent;
  cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  white-space:nowrap;
}
.btn .ic{width:1.1em;height:1.1em;}
.btn--primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px -10px rgba(244,104,43,.7);}
.btn--primary:hover{background:var(--orange-deep);color:#fff;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(244,104,43,.75);}
.btn--ghost{border-color:rgba(25,66,130,.32);color:var(--blue);background:transparent;}
.btn--ghost:hover{border-color:var(--blue);background:var(--blue);color:#fff;transform:translateY(-2px);}

/* ---------- Utility bar ---------- */
.utilbar{background:var(--blue-deep);color:rgba(255,255,255,.86);font-size:.86rem;}
.utilbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;flex-wrap:wrap;}
.utilbar__list{display:flex;gap:26px;flex-wrap:wrap;}
.utilbar__list li{display:inline-flex;align-items:center;gap:8px;}
.utilbar__list .ic{stroke:var(--orange);width:16px;height:16px;}
.utilbar__phone{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;}
.utilbar__phone .ic{stroke:var(--orange);width:16px;height:16px;}
.utilbar__phone:hover{color:var(--orange);}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,246,236,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;}
.brand{display:inline-flex;align-items:center;gap:14px;color:var(--blue);}
.brand__mark{width:64px;height:auto;}
.brand__text{display:flex;flex-direction:column;line-height:1.1;}
.brand__since{font-family:var(--font-display);font-weight:700;font-size:1.18rem;color:var(--blue);}
.brand__claim{font-size:.82rem;color:var(--muted);letter-spacing:.01em;}

.primary-nav{display:flex;align-items:center;gap:30px;}
.primary-nav>ul{display:flex;align-items:center;gap:26px;}
.primary-nav a{position:relative;color:var(--blue);font-weight:600;font-size:.98rem;padding:6px 2px;}
.primary-nav>ul a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2.5px;border-radius:0;background:var(--orange);transition:width .22s ease;}
.primary-nav>ul a:hover,.primary-nav>ul a[aria-current="page"]{color:var(--orange-deep);}
.primary-nav>ul a:hover::after,.primary-nav>ul a[aria-current="page"]::after{width:100%;}
.nav__cta{font-size:.92rem;padding:.6em 1.1em;}

.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:0;background:var(--cream-3);cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.nav-toggle span{display:block;width:22px;height:2.4px;border-radius:0;background:var(--blue);transition:transform .25s ease,opacity .2s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.4px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,7vw,90px);}
.hero__inner{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,72px);align-items:center;}
.hero__title{font-size:clamp(2.6rem,6vw,4.5rem);font-weight:600;letter-spacing:-.015em;margin:0 0 .35em;color:var(--blue);}
.hero__title .hl{position:relative;white-space:nowrap;}
.hero__title .hl::after{
  content:"";position:absolute;left:-2px;right:-2px;bottom:.06em;height:.34em;z-index:-1;
  background:linear-gradient(var(--orange-soft),var(--orange-soft));
  border-bottom:.12em solid var(--orange);border-radius:0;
}
.hero__note{
  display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;
  background:var(--surface);border:1px solid var(--line);border-radius:0;
  padding:.55em 1.1em;font-weight:600;color:var(--blue);box-shadow:var(--shadow-sm);margin:0;
}
.hero__note .ic{stroke:var(--orange);stroke-width:2.6;}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;}
/* Buttons + Verordnungs-Hinweis als Gruppe; Buttons fuellen die Breite, Hinweis genauso breit */
.hero__cta{display:inline-flex;flex-direction:column;align-items:stretch;gap:14px;}
.hero__cta .btn{flex:1 1 auto;justify-content:center;}

.hero__media{position:relative;justify-self:center;width:100%;max-width:420px;}
.hero__photo{
  position:relative;z-index:2;
  border-radius:0;
  overflow:hidden;border:8px solid var(--surface);
  box-shadow:var(--shadow-warm);
}
.hero__photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:449/600;}
.hero__media::before{
  content:"";position:absolute;z-index:1;inset:-6% -10% -10% -8%;
  background:radial-gradient(closest-side,rgba(244,104,43,.20),transparent 72%);
}
.hero__media::after{
  content:"";position:absolute;z-index:0;right:-6%;top:8%;width:62%;height:84%;
  background:var(--cream-2);border-radius:0;
  transform:rotate(6deg);
}
.hero__badge{
  position:absolute;z-index:3;left:-14px;bottom:26px;
  background:var(--blue);color:#fff;border-radius:0;padding:14px 18px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;line-height:1.12;
  border:2px solid rgba(255,255,255,.14);
}
.hero__badge strong{font-family:var(--font-body);font-size:1.12rem;}
.hero__badge span{font-size:.82rem;color:rgba(255,255,255,.78);letter-spacing:.02em;}

/* ---------- Intro letter ---------- */
.intro{position:relative;}
.intro__inner{max-width:820px;margin-inline:auto;text-align:center;}
.intro__body{margin-top:30px;font-size:1.12rem;color:#403b33;text-align:left;}
.intro__body p{margin-bottom:1.25em;}
.intro__sign{font-family:var(--font-display);text-align:center;margin-top:1.6em;color:var(--muted);letter-spacing:.06em;}
.intro__sign span{display:inline-block;margin-top:.25em;font-size:1.6rem;font-weight:600;color:var(--blue);letter-spacing:0;}

/* ---------- Heilpraktiker band ---------- */
.band{padding-block:clamp(30px,4vw,40px);}
.band__inner{
  display:flex;align-items:center;gap:22px;
  background:linear-gradient(120deg,var(--blue),var(--blue-deep));
  color:#fff;border-radius:var(--radius-lg);padding:clamp(24px,4vw,38px) clamp(26px,5vw,52px);
  box-shadow:var(--shadow);
}
.band__icon{flex:0 0 auto;width:58px;height:58px;border-radius:0;background:rgba(255,255,255,.12);display:grid;place-items:center;}
.band__icon svg{width:30px;height:30px;fill:none;stroke:var(--orange);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.band p{margin:0;font-size:clamp(1.05rem,1.8vw,1.3rem);font-family:var(--font-display);font-weight:500;line-height:1.4;}
.band a{color:#fff;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px;text-decoration-thickness:2px;}
.band a:hover{color:var(--orange);}

/* ---------- Services ---------- */
.services{position:relative;}
.services__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px;max-width:1040px;margin-inline:auto;list-style:none;padding:0;
}
.services__grid li{display:flex;}
.services__grid a{
  flex:1;display:flex;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:0;
  padding:14px 16px;font-weight:500;font-size:.95rem;line-height:1.3;color:var(--ink);text-decoration:none;
  box-shadow:var(--shadow-sm);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.services__grid a:hover{transform:translateY(-2px);border-color:rgba(244,104,43,.45);box-shadow:0 14px 30px -18px rgba(120,70,30,.5);color:var(--orange-deep);}
.services__cta{text-align:center;margin-top:clamp(30px,4vw,44px);}

/* ---------- Footer ---------- */
.site-footer{background:var(--blue-deep);color:rgba(255,255,255,.82);margin-top:clamp(20px,4vw,40px);}
.site-footer__cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,56px);padding-block:clamp(48px,6vw,72px);}
.site-footer h3{color:#fff;font-size:1.18rem;margin-bottom:18px;position:relative;padding-bottom:12px;}
.site-footer h3::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;border-radius:0;background:var(--orange);}
.site-footer p{color:rgba(255,255,255,.78);line-height:1.7;}
.foot-contact{margin-bottom:1em;}
.site-footer a{color:#fff;text-decoration:none;}
.site-footer a:hover{color:var(--orange);}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px;border-top:1px solid rgba(255,255,255,.12);}
.foot-copy{margin:0;font-size:.88rem;color:rgba(255,255,255,.6);}
.foot-legal{display:flex;gap:22px;}
.foot-legal a{font-size:.9rem;color:rgba(255,255,255,.8);}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero__inner{grid-template-columns:1fr;gap:40px;}
  .hero__content{order:1;text-align:center;}
  .hero .eyebrow{justify-content:center;}
  .hero__actions{justify-content:center;}
  .hero__media{order:2;max-width:360px;}
  .site-footer__cols{grid-template-columns:1fr 1fr;}
  .foot-col:first-child{grid-column:1/-1;}
}
@media (max-width:860px){
  .nav-toggle{display:inline-flex;}
  .primary-nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--cream-3);border-bottom:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:10px clamp(18px,4vw,40px) 22px;
    clip-path:inset(0 0 100% 0);opacity:0;pointer-events:none;
    transition:clip-path .28s ease,opacity .2s ease;
  }
  .primary-nav.open{clip-path:inset(0 0 0 0);opacity:1;pointer-events:auto;}
  .primary-nav>ul{flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .primary-nav>ul li{border-bottom:1px solid var(--line);}
  .primary-nav>ul a{display:block;padding:14px 4px;font-size:1.05rem;}
  .primary-nav>ul a::after{display:none;}
  .nav__cta{margin-top:16px;justify-content:center;}
  .services__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:620px){
  .utilbar__list{gap:14px;}
  .utilbar{font-size:.8rem;}
  .services__grid{grid-template-columns:1fr;}
  .site-footer__cols{grid-template-columns:1fr;}
  .foot-col:first-child{grid-column:auto;}
  .hero__badge{left:6px;}
  .band__inner{flex-direction:column;text-align:center;gap:16px;}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;transition:none !important;}
}

/* ===================================================================
   Unterseiten: Bausteine (Leistungen, Recht, News, Anfahrt, Galerie)
   =================================================================== */

/* Page hero (Unterseiten) */
.page-hero{padding-block:clamp(46px,7vw,86px) 6px;text-align:center;}
.page-hero .eyebrow{justify-content:center;}
.page-hero .lead{max-width:680px;margin:20px auto 0;color:#4b463c;font-size:1.12rem;}

/* CTA-Strip */
.cta-strip{text-align:center;padding-block:clamp(34px,5vw,60px) clamp(46px,7vw,80px);}
.cta-strip p{font-family:var(--font-display);font-weight:500;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--blue);margin-bottom:20px;}

/* Behandlungs-Bildkarten (Leistungen) */
.treat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.treat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.treat-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(120,70,30,.55);}
.treat-card__media{position:relative;overflow:hidden;}
.treat-card__media img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .4s ease;}
.treat-card:hover .treat-card__media img{transform:scale(1.04);}
.treat-card__body{padding:18px 22px 22px;}
.treat-card__body{padding:16px 18px 20px;}
.treat-card__body h3{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--blue);margin:0;line-height:1.28;overflow-wrap:break-word;hyphens:auto;}

/* Weitere Leistungen (Liste ohne Foto) */
.more-block{margin-top:clamp(40px,5vw,60px);background:var(--cream-3);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(26px,4vw,44px);}
.more-block h2{font-size:clamp(1.4rem,2.6vw,1.9rem);text-align:center;margin-bottom:26px;}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 28px;max-width:920px;margin-inline:auto;}
.more-grid li{display:flex;align-items:center;gap:12px;font-weight:500;color:var(--ink);padding:7px 0;}
.more-grid li::before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--orange);}

/* Homepage: Einblicke / Impressionen */
.impressions{padding-top:0;}
.impr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.impr-grid figure{margin:0;border-radius:var(--radius);overflow:hidden;border:6px solid var(--surface);box-shadow:var(--shadow-sm);}
.impr-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .4s ease;}
.impr-grid figure:hover img{transform:scale(1.05);}

/* Prosa / Rechtstexte */
.prose{max-width:820px;margin-inline:auto;}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:1.6em 0 .5em;}
.prose h3{font-family:var(--font-display);font-weight:600;color:var(--blue);font-size:1.2rem;margin:1.4em 0 .4em;}
.prose p{margin:0 0 1.05em;color:#3f3a32;}
.prose a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px;word-break:break-word;}
.prose ul{margin:0 0 1.1em;padding:0;list-style:none;}
.prose ul li{position:relative;padding-left:22px;margin-bottom:.5em;color:#3f3a32;}
.prose ul li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--orange);}
.prose .addr{background:var(--cream-3);border:1px solid var(--line);border-radius:0;padding:18px 22px;margin:0 0 1.2em;}
.prose .addr p{margin:0;line-height:1.7;}

/* News */
.news-list{max-width:860px;margin-inline:auto;display:flex;flex-direction:column;gap:26px;}
.news-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:clamp(24px,4vw,38px);}
.news-item h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:0 0 .5em;}
.news-item p{margin:0 0 1em;color:#3f3a32;}
.news-item p:last-child{margin-bottom:0;}
.news-item .credit{font-size:.85rem;color:var(--muted);}
.news-item__date{font-weight:600;color:var(--orange-deep);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;margin:0 0 .5em;}
.news-empty{color:var(--muted);}
.news-item__media{margin:20px 0 0;text-align:center;}
.news-item__media img{max-width:100%;height:auto;border:1px solid var(--line);}
.news-item__gallery{margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.news-item__gallery figure{margin:0;border:1px solid var(--line);overflow:hidden;}
.news-item__gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s ease;}
.news-item__gallery figure:hover img{transform:scale(1.05);}
.news-item__video{margin:20px 0 0;}
@media (max-width:560px){ .news-item__gallery{grid-template-columns:1fr 1fr;} }

/* Karte / Consent (Anfahrt, Bilder) */
.consent-box{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--cream-3);}
.consent-frame{aspect-ratio:16/9;width:100%;display:block;border:0;}
.consent-cover{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:30px;background:linear-gradient(160deg,var(--cream-2),var(--cream-3));}
.consent-cover svg{width:46px;height:46px;fill:none;stroke:var(--orange);stroke-width:1.6;}
.consent-cover p{max-width:520px;margin:0;color:#4b463c;font-size:.98rem;}
.consent-cover .ext{font-size:.85rem;color:var(--muted);}

/* Galerie (Bilder) */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gallery figure{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s ease;}
.gallery figure:hover img{transform:scale(1.05);}

@media (max-width:880px){
  .treat-grid{grid-template-columns:repeat(2,1fr);}
  .more-grid{grid-template-columns:repeat(2,1fr);}
  .impr-grid{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .treat-grid{grid-template-columns:1fr;}
  .more-grid{grid-template-columns:1fr;}
  .impr-grid{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr;}
}

/* ---------- Leistungs-Detailseiten ---------- */
.detail__wrap{max-width:860px;margin-inline:auto;}
.detail__photo{margin:0 0 clamp(26px,4vw,40px);border-radius:var(--radius-lg);overflow:hidden;border:6px solid var(--surface);box-shadow:var(--shadow-sm);}
.detail__photo img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;}
.page-hero .eyebrow a{color:inherit;text-decoration:none;}
.page-hero .eyebrow a:hover{color:var(--orange);}
.treat-card a.treat-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;}
.treat-card .more-grid__link{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
.more-grid a{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px;}
.more-grid a:hover{color:var(--orange-deep);}

/* ---------- Hero-Logo (statt Text-Headline) ---------- */
.hero__logo{display:block;width:min(340px,80%);height:auto;margin:4px 0 26px;}

/* ---------- Akkordeon (weitere Leistungen mit Ausklapp-Text) ---------- */
.accordion{max-width:920px;margin:0 auto;border-top:1px solid var(--line);}
.accordion__item{border-bottom:1px solid var(--line);scroll-margin-top:96px;}
.accordion__item:target .accordion__head{color:var(--orange-deep);}
.accordion__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;cursor:pointer;padding:20px 4px;text-align:left;font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--blue);}
.accordion__head:hover{color:var(--orange-deep);}
.accordion__icon{flex:0 0 auto;width:26px;height:26px;border-radius:0;background:var(--orange-soft);position:relative;}
.accordion__icon::before,.accordion__icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2.5px;background:var(--orange);border-radius:0;transform:translate(-50%,-50%);transition:transform .25s ease;}
.accordion__icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.accordion__head[aria-expanded="true"] .accordion__icon::after{transform:translate(-50%,-50%) rotate(0);}
.accordion__body{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.accordion__body-inner{padding:0 4px 24px;color:#3f3a32;}
.accordion__body-inner h3{font-family:var(--font-display);font-weight:600;color:var(--blue);font-size:1.1rem;margin:1.1em 0 .3em;}
.accordion__body-inner p{margin:0 0 .9em;}
.accordion__body-inner ul{margin:0 0 .9em;padding:0;list-style:none;}
.accordion__body-inner ul li{position:relative;padding-left:20px;margin-bottom:.4em;}
.accordion__body-inner ul li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--orange);}

@media (max-width:980px){ .hero__logo{margin-inline:auto;} }


/* ---------- Galerie-Lightbox ---------- */
.gallery__link{display:block;cursor:zoom-in;}
.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:rgba(20,18,14,.93);padding:clamp(12px,4vw,52px);}
.lightbox.is-open{display:flex;}
.lightbox__img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 60px -20px rgba(0,0,0,.6);}
.lightbox__btn{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28);width:52px;height:52px;font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;}
.lightbox__btn:hover{background:rgba(255,255,255,.24);}
.lightbox__close{top:18px;right:18px;}
.lightbox__prev{left:18px;top:50%;transform:translateY(-50%);}
.lightbox__next{right:18px;top:50%;transform:translateY(-50%);}
@media (max-width:620px){.lightbox__prev{left:8px;}.lightbox__next{right:8px;}.lightbox__btn{width:44px;height:44px;}}
