/* Selected plum direction. Original typography verified against recovered iWeb CSS. */
:root{--ink:#422436;--muted:#6B5161;--accent:#630A30;--accent-rgb:99,10,48;--berry:var(--accent);--berry-hover:color-mix(in srgb,var(--accent) 85%,#000);--contact-panel:oklch(0.958 0.011 350);--mist:#FBF7F9;--lilac:var(--accent);--blue:#F3E9EF;--line:#DCC8D3;--display:Arial,'Helvetica Neue',Helvetica,sans-serif;--body:Helvetica,Arial,sans-serif;--logo-green:#97BE0D;--logo-blue:#009EE0;--logo-red:#A24137;--logo-yellow:#F5C400;--legacy-body:#797979;--legacy-secondary:#A7A7A7}
.hero{background:var(--accent)}
.hero__picture::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--accent-rgb),.42),rgba(var(--accent-rgb),0) 22%);pointer-events:none}
.hero h1,.hero__copy>p,.hero__copy .hero__description,.hero .text-link{color:#FFF9FC}
.hero__copy .hero__description{color:#fff;font-size:18px;max-width:42ch}
@media(max-width:760px){.hero__copy .hero__description{font-size:14px}}
@media(max-width:760px) and (max-height:620px){.hero__copy .hero__description{font-size:13px}}
.hero__copy{max-width:735px}
.hero h1 .hero__punctuation{color:var(--logo-yellow);font-weight:inherit}
.hero .button--berry{background:#FFF;color:var(--accent)}
.hero .button--berry:is(:hover,:focus-visible){background:var(--accent);color:#FFF}
.header:not(.is-scrolled):not(.has-menu):not(.header--legal){color:#FFF9FC}
.header:not(.is-scrolled):not(.has-menu):not(.header--legal) .nav__contact{background:transparent;border-color:#FFFFFF99;color:#FFF}
.header:not(.is-scrolled):not(.has-menu):not(.header--legal) .nav__contact:is(:hover,:focus-visible){background:#FFF;border-color:#FFF;color:var(--accent)}
.header:not(.is-scrolled):not(.has-menu):not(.header--legal) .menu-toggle{border-color:#FFF9FC77;color:#FFF9FC}
/* The photograph remains visible through a softly blurred plum-tinted pane. */
.hero::after{display:none}
.hero__rail.wrap{width:100%;padding-inline:max(clamp(22px,6vw,96px),calc((100vw - 1280px)/2));background:rgba(var(--accent-rgb),.68);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);color:#FFF9FC;border-top:1px solid #FFF9FC44}
.hero__rail>span{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.hero__rail>span+span{border-color:#FFF9FC44}
.hero__rail>span::before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:var(--logo-green)}
.hero__rail>span:nth-child(2){display:inline-flex}
.hero__rail>span:nth-child(2)::before{background:var(--logo-blue)}
.hero__rail>span:nth-child(3)::before{background:var(--logo-red)}
/* Generous transparent masthead, then a compact white navigation bar. */
.brand img{width:64px;height:64px;transition:width .22s ease,height .22s ease}
.brand b{font-size:20px;transition:font-size .22s ease}
.header.is-scrolled,.header--legal{background:#FFF;padding-block:12px}
.header.is-scrolled .brand img,.header--legal .brand img{width:48px;height:48px}
.header.is-scrolled .brand b,.header--legal .brand b{font-size:16px}
.first-visit{color:#FFF9FC}
.first-visit h2,.first-visit h3,.first-visit p,.first-visit summary{color:#FFF9FC}
.journey__line path{stroke:#FFF9FC66}
.journey__steps>li::before{color:#FFF9FC;border-color:#FFF9FCAA}
.parent-advice{border-color:#FFF9FC55}
.parent-advice .disclosure-icon{border-color:#FFF9FC66}
.parent-advice[open]>summary .disclosure-icon{color:var(--accent)}
.first-visit .advice-list>li{border-color:#FFF9FC44}
.first-visit .advice-list>li::before{background:#F3C8DA}
.first-visit .advice-closing{background:#F9EEF3;color:var(--ink)}
.first-visit .button--navy{background:#FFF;color:var(--accent)}
.first-visit .button--navy:is(:hover,:focus-visible){background:var(--accent);color:#FFF}
.first-visit__action{border-color:#FFF9FC55}
.team__image,.doctor__image{display:block;overflow:hidden;border-radius:16px}
.doctor__image{border-radius:18px}
.team__image img,.doctor__image img{border-radius:0}
.doctor__image img{transform-origin:50% 25%}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.team__image img{transition:transform .5s cubic-bezier(.2,.65,.3,1)}.team__image:hover img{transform:scale(1.045)}}
@media(max-width:760px){.doctor__image{border-radius:16px}}
.footer{background:var(--accent)}
.footer__contact{color:var(--white)}
.team-farewell{width:min(860px,calc(100% - 44px));margin:0 auto;padding:0;line-height:0}
.team-farewell img{display:block;width:100%;height:auto}
.footer__top{grid-template-columns:minmax(0,1.2fr) minmax(200px,1fr) 110px 180px;gap:clamp(24px,3vw,48px)}
.footer__nav{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch}
.footer__nav a{display:flex;align-items:center;min-height:24px;font-size:13px;line-height:1.5;text-decoration:none}
.footer__nav a:hover{text-decoration:underline}
@media(min-width:761px){.footer__nav{transform:translateX(-32px)}}
@media(max-width:1120px){.footer__top{grid-template-columns:minmax(0,1fr) 110px 180px;gap:40px 32px}.footer__farewell{grid-column:1/-1}}
.footer__logo{position:relative;align-self:stretch;justify-self:end;width:180px}
.footer__logo img{position:absolute;top:0;right:0;width:auto;height:100%;max-width:none;object-fit:contain}
@media(max-width:760px){.footer__top{grid-template-columns:minmax(0,1fr) clamp(88px,25vw,130px);gap:35px 20px}.footer__farewell{grid-column:1/-1}.footer__contact{min-width:0;overflow-wrap:anywhere}.footer__logo{grid-column:2;grid-row:2;width:100%;align-self:start}.footer__logo img{position:static;width:100%;height:auto;max-width:100%}.footer__nav{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.footer__nav a{min-height:36px}}
.contact .hinweis,.contact .karte,.contact .map-consent{background:var(--contact-panel)}
.map-preview{position:absolute;inset:0;pointer-events:none}
.map-credit{display:block;margin-bottom:5px;font-size:11px;color:var(--muted);text-align:left}
.map-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.map-preview::after{display:none}
.map-consent__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:420px;padding:22px 20px;border-radius:16px;background:rgba(247,238,242,.86)}
@media(max-width:760px){.map-consent__content{gap:14px;padding:14px 12px}}
.hero .hero__actions .text-link{background:transparent}
.treatments{background:var(--accent);color:#FFF9FC;border-radius:0}
.treatments .service__subtitle{color:#F1E0E8}
.treatments .service__body{color:#FFF9FC}
.treatments .service{border-color:#FFF9FC55}
.treatments .service:nth-child(1){--service-marker:var(--logo-green)}
.treatments .service:nth-child(2){--service-marker:var(--logo-blue)}
.treatments .service:nth-child(3){--service-marker:#FFCC00}
.treatments .service:nth-child(4){--service-marker:var(--logo-red)}
.treatments .service>summary .disclosure-icon{border-color:var(--service-marker);color:var(--service-marker);background:transparent}
@media(max-width:1120px) and (min-width:961px){.hero__picture img{object-position:center center}.brand b{font-size:17px}.brand img{width:56px;height:56px}.header.is-scrolled .brand b,.header--legal .brand b{font-size:15px}.hero__rail{gap:18px}.hero__rail>span+span{padding-left:18px}}
@media(max-width:960px){.hero__picture img{object-fit:cover;object-position:center center}.header.has-menu{color:var(--ink);background:#FFF}.brand img{width:56px;height:56px}.brand b{font-size:18px}.hero__rail>a{display:none}.hero__rail{gap:24px}}
@media(max-width:760px){.hero__picture img{object-fit:cover;object-position:center center}.hero__copy .hero__description{max-width:31ch}.brand img{width:46px;height:46px}.brand b{font-size:15px}.header.is-scrolled .brand img,.header--legal .brand img{width:38px;height:38px}.header.is-scrolled .brand b,.header--legal .brand b{font-size:14px}.hero__rail.wrap{padding-inline:22px;padding-block:12px;min-height:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:11px}.hero__rail>span{gap:6px;white-space:normal;min-width:0}.hero__rail>span+span{border:0;padding-left:0}.hero__rail>span:nth-child(3){margin-left:0}.hero__rail>span::before{width:6px;height:6px}}
/* Align only the three requested introductory text columns with the doctor biography. */
@media(min-width:761px){.welcome__layout,#termin .section-intro,#team .section-intro{grid-template-columns:.85fr 1fr;column-gap:13%}}
@media(min-width:761px) and (max-width:960px){.welcome__layout,#termin .section-intro,#team .section-intro{column-gap:8%}}
/* Local trial: original iWeb body greys on pale surfaces only; headings and dark sections retain their approved colours. */
:is(.welcome,.practice,.doctor,.team,.parents,.contact,.legal) :is(p,li,dd){color:var(--legacy-body)}
:is(.welcome,.practice,.doctor,.team,.parents,.contact,.legal) :is(figcaption,dt,dd small,.map-credit,.kartenlinks){color:var(--legacy-secondary)}
.first-visit .advice-closing{color:var(--legacy-body)}
@media(max-width:360px){.hero__actions{gap:6px}.hero__actions .button{padding-inline:9px}.hero .hero__actions .text-link{background:rgba(var(--accent-rgb),.46);padding-inline:4px;gap:2px}.hero__actions .text-link svg{width:16px;height:16px}.brand img{width:42px;height:42px}.brand b{font-size:12.5px}.header.is-scrolled .brand img,.header--legal .brand img{width:36px;height:36px}.header.is-scrolled .brand b,.header--legal .brand b{font-size:12px}}
