
:root{--bg:#080d10;--panel:#10191c;--petrol:#16656a;--teal:#2cbdba;--mint:#9cf5e9;--txt:#f2f6f5;--muted:#a7b8b9;--line:rgba(126,220,213,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--txt);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1160px,calc(100% - 44px));margin:auto}header{position:relative;z-index:2;border-bottom:1px solid rgba(255,255,255,.065);background:#080d10e8}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px}.brand-icon{width:45px;height:45px}.brand-title{font-size:1.05rem;font-weight:650;letter-spacing:.01em;line-height:1.25}.brand-sub{font-size:.7rem;letter-spacing:.07em;color:var(--muted)}nav{display:flex;gap:32px;align-items:center}nav a{font-size:.9rem;color:#c1d0d1}nav a:hover{color:var(--mint)}.nav-cta{border:1px solid rgba(83,227,210,.46);color:var(--mint);padding:10px 17px;border-radius:100px}.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 47% 44% at 51% 44%,#13343675 0%,#09151855 55%,transparent 100%),#080d10;min-height:785px;display:grid;align-items:center}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(93,204,198,.06);border-radius:50%;width:740px;height:740px;left:50%;top:46%;transform:translate(-50%,-50%);pointer-events:none}.hero:after{width:555px;height:555px;border-color:rgba(93,204,198,.085)}.hero-inner{text-align:center;padding:66px 0 85px;position:relative;z-index:1}.eyebrow{color:#6dd9ce;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:650}.heart-scene{width:min(540px,92vw);margin:9px auto -6px;position:relative;filter:drop-shadow(0 10px 48px rgba(24,164,158,.16))}.heart-scene svg{display:block;width:100%;overflow:visible}.heart-beat{transform-origin:220px 220px;animation:heartbeat 3.2s ease-in-out infinite}.ecg-path{fill:none;stroke:#ecfffb;stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(179,255,246,.62));stroke-dasharray:460;stroke-dashoffset:460;animation:ecg-draw 3.2s linear infinite}.move-arrow{filter:drop-shadow(0 0 5px rgba(140,255,236,.7))}.move-arrow path{fill:#e6fffa}.heart-outline{fill:url(#heartGradient)}.hero h1{font-size:clamp(2.45rem,5vw,4.2rem);letter-spacing:-.045em;line-height:1.12;margin:0 0 18px;font-weight:630}.hero h1 span{color:#63d3c9}.lead{margin:0 auto;max-width:570px;color:#b0c1c0;font-size:1.04rem}.actions{margin-top:33px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn{border-radius:100px;padding:12px 25px;font-size:.94rem;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(110deg,#208989,#47c7bd);color:#041416;font-weight:700}.btn-secondary{border:1px solid rgba(186,226,222,.25);color:#ebf6f3;background:rgba(255,255,255,.025)}.section{padding:96px 0}.section-alt{background:#0c1417;border-block:1px solid rgba(255,255,255,.04)}.section-label{color:var(--teal);font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.section h2{font-size:clamp(1.9rem,3.2vw,2.65rem);letter-spacing:-.035em;line-height:1.17;margin:12px 0 18px;font-weight:600}.section-head{max-width:620px;margin-bottom:36px}.section p{color:var(--muted);margin-top:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:19px;background:linear-gradient(150deg,#142124,#0e1719);padding:30px;min-height:210px}.card-icon{height:41px;width:41px;border-radius:13px;border:1px solid rgba(71,199,189,.28);display:grid;place-items:center;color:#69d6ca;font-size:1.4rem}.card h3{font-size:1.16rem;margin:22px 0 10px;font-weight:600}.card p{font-size:.93rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.quote-card{background:radial-gradient(circle at 85% 10%,#1b5b5c50,transparent 45%),#111c1f;border:1px solid var(--line);border-radius:22px;padding:45px}.quote-card blockquote{font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.3;letter-spacing:-.03em;margin:0 0 20px}.quote-card small{color:#78cfc5}.contact-box{display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(110deg,#102023,#0e1618);padding:38px 42px}.contact-box h2{margin-bottom:8px}.contact-box p{margin:0;max-width:550px}footer{padding:35px 0;border-top:1px solid rgba(255,255,255,.06);color:#809698;font-size:.84rem}.footer-flex{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@keyframes heartbeat{0%,13%,34%,100%{transform:scale(1)}19%{transform:scale(1.045)}26%{transform:scale(.988)}}@keyframes ecg-draw{0%,8%{stroke-dashoffset:460;opacity:0}10%{opacity:1}70%,83%{stroke-dashoffset:0;opacity:1}98%,100%{stroke-dashoffset:0;opacity:0}}@media(max-width:750px){.nav{height:78px}nav{gap:12px}nav a:not(.nav-cta){display:none}.brand-title{font-size:.92rem}.brand-sub{font-size:.63rem}.nav-cta{font-size:.8rem;padding:8px 12px}.hero{min-height:655px}.hero-inner{padding:58px 0 75px}.heart-scene{width:min(390px,91vw)}.section{padding:68px 0}.cards,.split{grid-template-columns:1fr}.split{gap:30px}.contact-box{align-items:start;flex-direction:column;padding:30px}.quote-card{padding:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.heart-beat,.ecg-path{animation:none}.ecg-path{stroke-dashoffset:0}.move-arrow{display:none}.btn{transition:none}}
.heart-halo{animation:halo-pulse 3.2s ease-in-out infinite;transform-origin:center}@keyframes halo-pulse{0%,100%{opacity:.65;transform:scale(.98)}20%{opacity:1;transform:scale(1.04)}30%{opacity:.7;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.heart-halo{animation:none}}
/* LATIDO appointment experience */
.booking-section{background:radial-gradient(ellipse at 78% 35%,rgba(25,80,78,.22),transparent 50%),#080f11}.booking-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;align-items:stretch}.booking-main{padding:12px 0}.booking-main h2{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.13}.booking-main h2 span{color:#69d8cc}.booking-main>p{max-width:600px}.booking-steps{display:flex;flex-wrap:wrap;gap:10px;margin:29px 0 31px}.booking-steps span{padding:11px 13px;border:1px solid rgba(111,215,203,.2);border-radius:12px;color:#c8d9d6;font-size:.83rem;background:#101b1c}.booking-steps b{color:#69d8cc;margin-right:8px}.booking-btn{display:inline-block;padding:16px 30px}.booking-placeholder{display:inline-block;background:#263436;color:#b1cbca;cursor:default}.booking-micro{font-size:.78rem;margin-top:16px!important;color:#8fa8a6!important}.booking-side{background:linear-gradient(147deg,#132427,#0d1518);border:1px solid rgba(105,216,204,.25);border-radius:24px;padding:35px;display:flex;flex-direction:column;justify-content:center}.booking-side-icon{width:59px;height:59px;border-radius:19px;display:grid;place-items:center;color:#82e5da;font-size:2.1rem;background:rgba(64,194,182,.12);border:1px solid rgba(105,216,204,.2)}.booking-kicker{color:#70d4ca!important;letter-spacing:.17em;font-size:.71rem;margin:27px 0 5px!important}.booking-side h3{font-size:1.7rem;line-height:1.22;font-weight:600;margin:0 0 15px}.booking-side p{font-size:.94rem}.booking-divider{height:1px;background:rgba(137,211,204,.16);margin:14px 0}.booking-side small{color:#a3bab8;font-size:.8rem}@media(max-width:800px){.booking-grid{grid-template-columns:1fr;gap:22px}.booking-side{padding:27px}.booking-steps{flex-direction:column;align-items:flex-start}}
/* Dr Christian Balazs: content + imagery */
:root{--teal:#35ba78;--mint:#b0f1c8;--petrol:#146a46;--line:rgba(83,203,131,.2)}
.section-label,.eyebrow{color:#62d999!important}.btn-primary{background:linear-gradient(135deg,#178a55,#42c780)!important;color:#07120b!important}.heart-scene{filter:hue-rotate(52deg) saturate(1.05)}
.intro-grid,.story-grid,.prices-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(30px,6vw,100px);align-items:center}.story-grid{grid-template-columns:1.2fr .8fr}.prices-grid{align-items:start}
.intro-grid h2,.story-grid h2{margin-top:10px}.statement{color:#92e5ae;font-size:clamp(20px,2.6vw,28px);line-height:1.4;font-weight:600}.intro-grid p,.story-grid p,.prices-grid p{line-height:1.8;color:#b7c9c1}
.practice-photo{overflow:hidden;border-radius:22px;background:#111d17;border:1px solid #254b35;min-height:290px}.practice-photo img{width:100%;height:100%;object-fit:cover;display:block}.portrait-frame{height:540px}.story-photo{height:490px}.photo-placeholder{height:100%;min-height:290px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#658874;background:linear-gradient(145deg,#112119,#07120d);text-align:center;padding:20px}.photo-placeholder span{font-size:28px;letter-spacing:.3em;color:#8dcaa4}.photo-placeholder small{font-size:12px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-tile{border:1px solid #244e36;background:#111d17;padding:22px;border-radius:16px;display:flex;align-items:center;gap:16px;min-height:96px;font-weight:550}.service-dot{color:#59d98c}.price-list{border:1px solid #315b3f;border-radius:20px;padding:10px 26px;background:#101b15}.price-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid #294735}.price-row:last-child{border:0}.price-row strong{font-weight:550}.price-row small{display:block;color:#91a99a;margin-top:5px;font-size:12px}.price-row>b{color:#7be6a0;white-space:nowrap}.tariff-note{font-size:13px;opacity:.72}.career-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.career-list>div{padding:25px;border-left:2px solid #3cbf79;background:#121d17;border-radius:0 12px 12px 0}.career-list b{color:#6bdf96}.career-list p{margin:8px 0 0;color:#bacbc0}.signature{border-left:3px solid #4ed68b;padding-left:18px;margin-top:30px}.signature strong{color:#88e9a9}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:15px}.gallery-grid .practice-photo{height:340px}.gallery-grid .gallery-tall{height:390px}.gallery-grid .gallery-wide{height:390px}
@media(max-width:850px){.intro-grid,.story-grid,.prices-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid .gallery-wide{grid-column:span 2}}@media(max-width:560px){.service-grid,.career-list,.gallery-grid{grid-template-columns:1fr}.gallery-grid .gallery-wide{grid-column:auto}.portrait-frame{height:390px}.story-photo{height:340px}.price-list{padding:8px 17px}.price-row{font-size:13px}}


/* Light green redesign */
:root{
  --bg:#f6fdf8;
  --panel:#ffffff;
  --panel-soft:#effaf2;
  --petrol:#1f8e67;
  --teal:#46c287;
  --mint:#daf7e3;
  --txt:#17342a;
  --muted:#5f7d71;
  --line:rgba(70,194,135,.18);
}
body{background:linear-gradient(180deg,#f8fef9 0%,#f3fbf5 100%);color:var(--txt)}
header{background:rgba(248,254,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(48,120,87,.08)}
nav a{color:#517063}nav a:hover{color:#208d66}.brand-sub{color:#6f8f82}
.nav-cta{border:1px solid rgba(50,162,105,.25);color:#1b7a57;background:#fff}
.hero{background:radial-gradient(ellipse 44% 42% at 50% 34%,rgba(117,228,160,.26) 0%,rgba(180,245,202,.20) 38%,rgba(255,255,255,0) 70%),linear-gradient(180deg,#f8fef9 0%,#eef9f1 100%);min-height:760px}
.hero:before,.hero:after{border-color:rgba(76,181,125,.12)}
.heart-scene{filter:hue-rotate(52deg) saturate(1.02) drop-shadow(0 18px 52px rgba(55,177,103,.18))}
.hero h1{color:#123126}.hero h1 span{color:#33b36f}.lead{color:#57766a}
.btn-primary{background:linear-gradient(135deg,#58c883,#8de2a8)!important;color:#103020!important;box-shadow:0 12px 30px rgba(80,193,120,.18)}
.btn-secondary{border:1px solid rgba(44,146,96,.18);color:#255842;background:#fff}
.section{padding:96px 0}
.section-alt{background:linear-gradient(180deg,#edf8ef 0%,#f7fdf8 100%);border-block:1px solid rgba(44,146,96,.08)}
.section-label,.eyebrow,.booking-main h2 span,.booking-steps b,.booking-kicker{color:#32b369!important}
.section p,.intro-grid p,.story-grid p,.prices-grid p{color:#5d7c70}
.card,.quote-card,.contact-box,.booking-side,.price-list,.service-tile,.career-list>div{background:#fff!important;border-color:rgba(57,157,100,.14)!important;box-shadow:0 10px 30px rgba(31,111,76,.05)}
.contact-box{background:linear-gradient(180deg,#ffffff 0%,#f5fcf7 100%)!important}
.booking-section{background:radial-gradient(ellipse at 85% 24%,rgba(107,224,151,.18),transparent 40%),linear-gradient(180deg,#f8fef9 0%,#eef9f1 100%)}
.booking-steps span{background:#fff;color:#48695d;border-color:rgba(70,194,135,.22)}
.booking-placeholder{background:#eef7f0;color:#47695d;border:1px dashed rgba(70,194,135,.35)}
.booking-micro{color:#6d8a7f!important}
.booking-side-icon{background:rgba(84,207,132,.12);color:#2cad67;border-color:rgba(84,207,132,.2)}
.practice-photo{background:#fff;border:1px solid rgba(57,157,100,.14)}
.photo-placeholder{background:linear-gradient(145deg,#effaf2,#f8fef9);color:#5f9274}
.photo-placeholder span{color:#68c28a}
.statement{color:#2fae67}
.service-tile{background:#fff}.service-dot{color:#46c287}
.price-list{background:#fff;border-color:rgba(57,157,100,.14)}
.price-row{border-bottom:1px solid rgba(57,157,100,.14)}
.price-row b{color:#1f8e67}
.career-list>div{background:#fff}
.contact-details{color:#436659}
footer{background:#f7fcf8;border-top:1px solid rgba(48,120,87,.08);color:#6a887c}
.site-footer a, footer a{color:#237d58}
@media(max-width:750px){header{background:rgba(248,254,249,.96)}.hero{min-height:650px}}


/* Modern redesign */
body.modern-site{
  background:
    radial-gradient(circle at 10% 5%, rgba(111,224,154,.22), transparent 26%),
    radial-gradient(circle at 85% 16%, rgba(80,194,119,.12), transparent 28%),
    linear-gradient(180deg,#fbfffc 0%,#f3fbf5 38%,#eff8f2 100%);
}
.modern-site::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(60,160,102,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(60,160,102,.035) 1px, transparent 1px);
  background-size:32px 32px;mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);
}
header,.hero,.section,footer{position:relative;z-index:1}
header{box-shadow:0 8px 30px rgba(29,90,57,.06)}
.nav{height:92px}.brand-title{font-size:1.07rem;font-weight:700}
.nav-cta{box-shadow:0 8px 20px rgba(54,167,98,.12)}
.hero{min-height:840px;overflow:hidden;background:
  radial-gradient(circle at 50% 30%, rgba(110,228,154,.34) 0%, rgba(210,247,221,.66) 26%, rgba(255,255,255,0) 56%),
  linear-gradient(180deg,#fbfffc 0%,#eef8f1 100%)!important}
.hero:before,.hero:after{display:none}
.hero-inner{padding:78px 0 110px}
.hero-inner::before,.hero-inner::after{content:"";position:absolute;border-radius:999px;filter:blur(12px);z-index:-1}
.hero-inner::before{width:240px;height:240px;left:-40px;top:80px;background:radial-gradient(circle, rgba(86,208,123,.18), rgba(86,208,123,0));animation:floatBlob 8s ease-in-out infinite}
.hero-inner::after{width:260px;height:260px;right:-50px;top:210px;background:radial-gradient(circle, rgba(137,236,167,.24), rgba(137,236,167,0));animation:floatBlob 10s ease-in-out infinite reverse}
.eyebrow{display:inline-block;padding:10px 16px;border:1px solid rgba(61,166,98,.18);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border-radius:999px;box-shadow:0 12px 30px rgba(57,157,100,.08)}
.hero h1{font-size:clamp(2.9rem,5.6vw,5.2rem);font-weight:740;letter-spacing:-.05em;margin-top:24px}
.lead{max-width:690px;font-size:1.08rem;line-height:1.75}
.actions{margin-top:38px}.btn{font-weight:650;position:relative;overflow:hidden}.btn::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);transition:left .7s ease}.btn:hover::after{left:140%}
.btn-primary{box-shadow:0 18px 34px rgba(76,198,118,.2)}
.btn-secondary{box-shadow:0 10px 20px rgba(31,111,76,.06)}
.hero-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hero-badges span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(61,166,98,.14);backdrop-filter:blur(10px);box-shadow:0 10px 20px rgba(31,111,76,.05);font-size:.84rem;color:#406454}
.heart-scene{width:min(620px,94vw);margin:18px auto 10px;animation:floatHeart 6.5s ease-in-out infinite}
.heart-outline{filter:drop-shadow(0 18px 36px rgba(81,208,116,.18))}
.section{padding:104px 0}.section-head{margin-bottom:46px}.section h2{font-size:clamp(2rem,3.6vw,3.2rem);font-weight:720}
.booking-grid,.intro-grid,.story-grid,.prices-grid{gap:clamp(28px,5vw,72px)}
.booking-main,.booking-side,.contact-box,.price-list,.service-tile,.career-list>div,.practice-photo{border-radius:28px!important}
.booking-main,.booking-side,.contact-box,.price-list,.career-list>div{
  box-shadow:0 20px 45px rgba(23,83,50,.06), inset 0 1px 0 rgba(255,255,255,.55);
}
.booking-section{padding-top:84px;padding-bottom:84px;border-block:1px solid rgba(61,166,98,.08)}
.booking-main{padding:40px 42px;background:rgba(255,255,255,.72);border:1px solid rgba(61,166,98,.14);backdrop-filter:blur(16px)}
.booking-side{background:linear-gradient(180deg,#ffffff 0%,#f4fbf6 100%)!important}
.booking-btn,.nav-cta{transform:translateZ(0)}
.booking-steps span{padding:12px 16px}
.intro-section .practice-photo,.story-photo{box-shadow:0 18px 40px rgba(26,92,54,.08)}
.portrait-frame,.story-photo{height:560px}
.practice-photo img{transition:transform .8s ease, filter .4s ease}.practice-photo:hover img{transform:scale(1.03)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-tile{padding:24px 22px;min-height:110px;align-items:flex-start;flex-direction:column;justify-content:center;transition:transform .25s ease, box-shadow .25s ease,border-color .25s ease}
.service-tile:hover,.career-list>div:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(23,83,50,.08)!important;border-color:rgba(50,170,102,.28)!important}
.service-dot{font-size:1.2rem}
.price-list{padding:18px 28px;background:rgba(255,255,255,.86)!important;backdrop-filter:blur(14px)}
.price-row{padding:20px 0}.price-row b{font-size:1.07rem}
.career-list{gap:16px}.career-list>div{padding:24px;background:rgba(255,255,255,.8)!important;backdrop-filter:blur(12px);transition:transform .25s ease, box-shadow .25s ease}
.statement{position:relative;padding-left:22px}.statement::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:6px;border-radius:99px;background:linear-gradient(180deg,#4fd17d,#99e5ac)}
.contact-box{padding:42px 44px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(247,253,248,.92))!important;backdrop-filter:blur(16px)}
footer{padding-top:42px;padding-bottom:42px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@keyframes floatHeart{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes floatBlob{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-14px) translateX(10px)}}
@media(max-width:980px){.hero{min-height:760px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-frame,.story-photo{height:480px}}
@media(max-width:750px){.hero{min-height:680px}.hero-inner{padding:54px 0 78px}.hero h1{font-size:clamp(2.2rem,9vw,3.3rem)}.lead{font-size:1rem}.hero-badges{gap:8px}.hero-badges span{font-size:.78rem;padding:9px 12px}.service-grid{grid-template-columns:1fr}.portrait-frame,.story-photo{height:auto;min-height:330px}.booking-main{padding:28px}.section{padding:78px 0}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-inner::before,.hero-inner::after,.heart-scene{animation:none}}


@media (scripting:none){.reveal{opacity:1;transform:none}}

/* LATIDO booking integration */
.latido-booking-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;
  padding:16px 28px;font-size:1rem;box-shadow:0 15px 35px rgba(54,163,97,.23)!important}
.latido-booking-button:focus-visible,.mobile-booking-cta:focus-visible{outline:3px solid #195e3b;outline-offset:4px}
.booking-main{position:relative}
.booking-main::after{content:"";position:absolute;right:35px;top:28px;width:90px;height:90px;
  border-radius:50%;background:radial-gradient(circle,rgba(108,213,142,.2),transparent 70%);
  pointer-events:none}
.mobile-booking-cta{display:none}
@media(max-width:750px){
  body{padding-bottom:76px}
  .mobile-booking-cta{display:flex;position:fixed;z-index:99;bottom:12px;left:16px;right:16px;
   align-items:center;justify-content:center;min-height:54px;border-radius:100px;
   background:linear-gradient(110deg,#2f9c63,#63d28b);color:#fff;font-weight:750;
   text-decoration:none;box-shadow:0 13px 28px rgba(24,117,66,.28);font-size:.97rem}
}
@media(prefers-reduced-motion:reduce){.latido-booking-button{transition:none}}

/* Search-friendly service FAQ */
.faq-section{background:linear-gradient(180deg,#f8fdf9,#eef9f1)}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.faq-item{padding:28px 30px;border-radius:24px;background:#fff;border:1px solid rgba(56,166,97,.16);box-shadow:0 12px 30px rgba(31,111,76,.05)}
.faq-item h3{font-size:1.08rem;margin:0 0 13px;color:#1b5537}
.faq-item p{margin:0;color:#5d7c70;line-height:1.7}
.faq-item a{color:#187d4a;text-decoration:underline;text-underline-offset:3px}
@media(max-width:740px){.faq-grid{grid-template-columns:1fr}.faq-item{padding:24px}}

/* Local contact links */
#kontakt .contact-box{flex-wrap:wrap}
#kontakt .contact-box > div{flex:1 1 330px}
#kontakt .contact-box > a{white-space:nowrap}
#kontakt .contact-box p{line-height:1.85}
@media(max-width:750px){#kontakt .contact-box > a{width:100%;text-align:center}}

/* Booking embed experiment and privacy-first Google Maps */
.latido-inline-area{margin-top:42px;background:rgba(255,255,255,.86);border:1px solid rgba(57,157,100,.16);border-radius:30px;padding:clamp(24px,4vw,44px);box-shadow:0 20px 45px rgba(23,83,50,.06)}
.inline-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.inline-top h3{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.2;margin:8px 0}.inline-top p{color:#607e70;max-width:720px}.inline-top-icon{height:66px;width:66px;border-radius:22px;display:grid;place-items:center;flex:none;background:#e5f8e9;color:#31aa68;font-size:2.3rem}
.booking-loader{min-height:230px;border-radius:20px;background:linear-gradient(140deg,#f1faf3,#e4f6ea);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:28px;border:1px solid rgba(57,157,100,.13)}
.booking-loader p{margin:0;color:#56786a}.booking-symbol{font-size:2.3rem;color:#3cbd77}.latido-frame-wrap{margin-top:24px;overflow:hidden;border-radius:22px;border:1px solid #c8e7d2;background:#fff}.latido-frame-wrap[hidden],#google-map-frame[hidden]{display:none!important}.latido-frame-wrap iframe{display:block;width:100%;height:780px;border:0;background:#fff}.latido-frame-wrap .booking-micro{padding:15px 20px;margin:0!important;background:#f3faf5}
.latido-alternative{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:20px}.latido-alternative span{color:#658272;font-size:.87rem}
.map-section{background:linear-gradient(180deg,#f8fefa,#edf9f1)}.map-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,68px);align-items:center}.map-copy h2{font-size:clamp(2rem,3.7vw,3.3rem)}.map-copy .map-intro{font-size:1.12rem;font-weight:650;color:#245d40;line-height:1.85}.map-copy .btn{display:inline-block;margin-top:14px}
.map-shell{min-height:400px;border-radius:28px;overflow:hidden;border:1px solid rgba(57,157,100,.2);background:#e7f8ec;box-shadow:0 24px 45px rgba(23,83,50,.09)}.map-consent{height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px;gap:14px;background:radial-gradient(circle at 50% 48%,#d0f1da,#edf9f1 65%)}.map-pin-art{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-size:2.8rem;background:#fff;color:#2aa764;box-shadow:0 10px 30px rgba(30,120,65,.12)}.map-consent h3{margin:0;font-size:1.4rem}.map-consent p{margin:0 0 6px;max-width:480px;color:#5c7a6b}.map-shell iframe{display:block;width:100%;height:400px;border:0}
@media(max-width:800px){.map-layout{grid-template-columns:1fr}.map-shell,.map-shell iframe,.map-consent{min-height:330px;height:330px}.inline-top-icon{display:none}.latido-frame-wrap iframe{height:700px}}
@media(max-width:500px){.latido-inline-area{padding:22px 16px}.booking-loader{padding:22px 14px}.latido-alternative .btn{width:100%;text-align:center}.map-consent{padding:20px}.map-consent p{font-size:.89rem}}

.booking-loader[hidden],.map-consent[hidden]{display:none!important}

/* Always-visible location map and one-click directions */
.map-layout{align-items:start}.map-shell{height:420px}.map-shell iframe{height:420px;min-height:420px}
.map-actions{margin-top:20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.map-route-btn{display:inline-flex;align-items:center;justify-content:center;min-width:190px}.map-privacy-note{margin:0!important;font-size:.8rem;max-width:340px;color:#6c8777!important;line-height:1.5}
@media(max-width:800px){.map-shell,.map-shell iframe{height:360px;min-height:360px}}
@media(max-width:500px){.map-actions{flex-direction:column;align-items:stretch}.map-route-btn{width:100%}}

/* Kontakt vor FAQ: lokale Auffindbarkeit und eleganter Abschluss */
.seo-location-copy{margin-top:20px;padding:17px 21px;border-left:4px solid #5acb87;border-radius:0 12px 12px 0;background:rgba(114,212,151,.09)}
#kontakt{padding-bottom:48px}#anfahrt{padding-top:46px;padding-bottom:95px}#faq{padding-top:92px;background:linear-gradient(180deg,#f3fbf5,#fbfffc)}
#faq .faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#faq .faq-item{border:1px solid rgba(66,167,104,.16);border-radius:20px;padding:25px;background:#fff;box-shadow:0 10px 27px rgba(20,87,53,.04)}
#faq .faq-item h3{font-size:1.05rem;line-height:1.4;margin:0 0 12px;color:#1b3a2c}
#faq .faq-item p{color:#587769;font-size:.95rem;line-height:1.7;margin:0}
#faq .faq-item a{color:#17894c;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){#faq .faq-grid{grid-template-columns:1fr}#kontakt{padding-bottom:35px}#anfahrt{padding-top:35px}#faq{padding-top:68px}}


/* Arztlogo integration */
.brand{gap:16px;align-items:center}
.brand-logo{display:block;width:34px;height:auto;max-height:58px;flex:0 0 auto;filter:drop-shadow(0 6px 14px rgba(65,150,95,.16))}
.contact-heading-wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.contact-logo{width:44px;height:auto;flex:0 0 auto;opacity:.9;filter:drop-shadow(0 8px 16px rgba(65,150,95,.12))}
@media (max-width:750px){
  .brand-logo{width:28px;max-height:48px}
  .contact-heading-wrap{align-items:center}
  .contact-logo{width:34px}
}

/* Final logo containment fix: keep logo compact under all viewport sizes. */
header .brand img.brand-logo{width:32px!important;height:48px!important;max-width:32px!important;max-height:48px!important;min-width:32px!important;min-height:0!important;object-fit:contain!important;flex:0 0 32px!important;position:static!important;transform:none!important}
header .brand{display:inline-flex;align-items:center;min-width:0;gap:12px}
#kontakt .contact-heading-wrap{display:block}
@media(max-width:750px){header .brand img.brand-logo{width:25px!important;height:38px!important;max-width:25px!important;max-height:38px!important;min-width:25px!important;flex-basis:25px!important}}


/* Impressum und Datenschutz */
.legal-page{min-height:72vh;padding:78px 0 116px;background:radial-gradient(circle at 93% 9%,rgba(124,219,154,.15),transparent 35%),#f6fbf7;color:#17342a}
.legal-shell{width:min(910px,calc(100% - 38px));margin:auto}
.legal-top{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:30px;flex-wrap:wrap}
.legal-back{display:inline-flex;align-items:center;gap:8px;color:#286a47;font-weight:650;text-decoration:none;padding:10px 0}
.legal-hero{border:1px solid rgba(37,136,75,.15);background:linear-gradient(130deg,#fff,#f0fbf3);box-shadow:0 22px 60px rgba(21,92,53,.08);border-radius:28px;padding:clamp(28px,6vw,56px);margin-bottom:30px}
.legal-kicker{color:#268c55;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:750}
.legal-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);margin:12px 0 15px;line-height:1.05;letter-spacing:-.05em}
.legal-hero p{color:#517467;font-size:1rem;max-width:670px;margin:0}
.legal-sheet{background:#fff;border:1px solid rgba(37,136,75,.12);box-shadow:0 14px 38px rgba(23,83,50,.05);border-radius:26px;padding:clamp(22px,5vw,52px)}
.legal-sheet h2{margin:34px 0 10px;font-size:1.35rem;letter-spacing:-.025em;color:#163c29}
.legal-sheet h2:first-child{margin-top:0}
.legal-sheet h3{margin:25px 0 8px;font-size:1.03rem;color:#1c4933}
.legal-sheet p,.legal-sheet li{line-height:1.8;color:#4f6d5c}
.legal-sheet p{margin:0 0 14px}
.legal-sheet ul{padding-left:22px;margin:8px 0 20px}
.legal-sheet a{color:#17844e;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-sheet strong{color:#1d4330}
.legal-info{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px 22px;margin:12px 0 22px}
.legal-info dt{font-weight:650;color:#204a34}
.legal-info dd{margin:0;color:#4f6d5c;overflow-wrap:anywhere}
.legal-alert{padding:19px 22px;border-left:4px solid #45b779;border-radius:14px;background:#f1fbf4;color:#3e6952;margin:20px 0 26px}
.legal-alert strong{color:#175332}
.legal-divider{border:0;height:1px;background:#e0ede4;margin:30px 0}
.legal-footer-links{display:flex;gap:19px;align-items:center;flex-wrap:wrap}
.legal-footer-links a{color:#2a7451;text-underline-offset:3px}
@media(max-width:650px){.legal-page{padding:35px 0 74px}.legal-info{grid-template-columns:1fr;gap:3px}.legal-info dd{margin-bottom:11px}.legal-hero{border-radius:20px}.legal-sheet{border-radius:20px}}

.map-privacy-note{font-size:.79rem;color:#5e8170;margin:13px 0 0}.map-privacy-note a{color:#1d8754;text-decoration:underline}


/* Improved legal navigation and separate footer links */
.legal-footer-links{display:flex;gap:12px!important;align-items:center;flex-wrap:wrap}
.legal-footer-links a{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(38,140,85,.16);background:#ffffff;color:#1f6d49!important;font-weight:650;text-decoration:none!important;box-shadow:0 8px 20px rgba(23,83,50,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.legal-footer-links a:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(23,83,50,.09);border-color:rgba(38,140,85,.28)}
.legal-page .site-header-legal{position:sticky;top:0;z-index:15;background:rgba(248,254,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(48,120,87,.08)}
.legal-page .site-header-legal .nav{height:84px}
.legal-page .site-header-legal nav a:not(.nav-cta){color:#4f6f62}
.legal-page .site-header-legal nav a:hover{color:#19824f}
.legal-page{padding-top:18px}
.legal-shell{width:min(1100px,calc(100% - 38px))}
.legal-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 24px}
.legal-switch{display:flex;gap:10px;flex-wrap:wrap}
.legal-pill{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;border:1px solid rgba(38,140,85,.14);background:#ffffff;color:#256f4a;text-decoration:none;font-weight:650;box-shadow:0 8px 18px rgba(23,83,50,.05)}
.legal-pill.active{background:linear-gradient(135deg,#58c883,#8de2a8);color:#103020;border-color:transparent;box-shadow:0 14px 30px rgba(80,193,120,.18)}
.legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}
.legal-sheet{position:relative}
.legal-sheet section:first-child h2{margin-top:0}
.legal-card{background:linear-gradient(180deg,#ffffff 0%,#f7fcf8 100%);border:1px solid rgba(37,136,75,.12);box-shadow:0 14px 38px rgba(23,83,50,.05);border-radius:24px;padding:24px}
.legal-card + .legal-card{margin-top:18px}
.legal-card h3{margin:0 0 10px;font-size:1.05rem;color:#19452f}
.legal-card p,.legal-card li{color:#557669;line-height:1.75;font-size:.96rem}
.legal-card ul{padding-left:18px;margin:10px 0 0}
.legal-meta-list{display:grid;gap:12px;margin-top:10px}
.legal-meta-list div{padding:12px 14px;border-radius:16px;background:#f4fbf6;border:1px solid rgba(37,136,75,.1)}
.legal-meta-list strong{display:block;color:#184630;font-size:.9rem;margin-bottom:4px}
.legal-note{padding:16px 18px;border-radius:18px;background:#edf8ef;color:#446859;border:1px solid rgba(37,136,75,.10)}
.legal-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.legal-cta-row a{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;text-decoration:none;font-weight:650}
.legal-cta-row .cta-primary{background:linear-gradient(135deg,#58c883,#8de2a8);color:#103020}
.legal-cta-row .cta-secondary{background:#fff;border:1px solid rgba(38,140,85,.16);color:#256f4a}
.legal-sheet h2{padding-top:4px}
.legal-sheet h2:before{content:'';display:block;width:42px;height:4px;border-radius:999px;background:linear-gradient(90deg,#58c883,#8de2a8);margin-bottom:12px}
@media(max-width:940px){.legal-layout{grid-template-columns:1fr}.legal-shell{width:min(920px,calc(100% - 30px))}}
@media(max-width:750px){.legal-page .site-header-legal .nav{height:78px}.legal-topbar{margin-top:8px}.legal-switch{width:100%}.legal-pill{flex:1 1 180px}.legal-footer-links{gap:10px!important}.legal-footer-links a{width:100%;justify-content:center}.legal-card{padding:20px}}

/* Contact form in premium mint design */
.contact-form-section{background:linear-gradient(145deg,#f3fbf6 5%,#eaf8ef 100%);border-top:1px solid rgba(47,140,82,.1)}
.contact-form-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(35px,6vw,95px);align-items:start}
.contact-form-intro{padding-top:14px}.contact-form-intro h2{font-size:clamp(2.25rem,4vw,3.9rem);line-height:1.1;letter-spacing:-.055em;margin:15px 0 22px}
.contact-form-intro>p{color:#5c7b6c;line-height:1.9;max-width:440px}
.contact-mini{display:grid;gap:2px;margin:34px 0}.contact-mini span{font-size:.75rem;color:#618270;letter-spacing:.12em;text-transform:uppercase;margin-top:13px}.contact-mini a{font-weight:700;color:#197f4d;font-size:1.15rem;overflow-wrap:anywhere}
.medical-warning{border-left:3px solid #6bcc91;background:rgba(255,255,255,.68);border-radius:0 14px 14px 0;padding:16px 18px;font-size:.9rem}
.contact-form-panel{background:rgba(255,255,255,.9);border:1px solid rgba(45,146,89,.16);border-radius:28px;padding:clamp(24px,4vw,42px);box-shadow:0 24px 54px rgba(31,98,58,.08)}
.form-topline{display:flex;align-items:center;gap:16px;margin-bottom:27px}.form-topicon{display:grid;place-items:center;font-size:1.35rem;width:50px;height:50px;border-radius:15px;background:#e6f8ed;color:#1b8f50}
.form-topline h3{font-size:1.3rem;letter-spacing:-.02em;margin:0 0 3px}.form-topline p{font-size:.86rem;color:#668374;margin:0}
.form-field{display:grid;gap:8px;margin:0 0 20px}.form-field label{font-weight:650;color:#204b35;font-size:.91rem}.form-field label span:not(.optional){color:#1c9a58}.optional{font-weight:400;color:#748d7f}
.form-field input,.form-field textarea{width:100%;padding:14px 17px;background:#f9fdfa;border:1px solid #d9eade;border-radius:13px;font:inherit;color:#17342a;outline:0;transition:border-color .2s,box-shadow .2s}
.form-field input:focus,.form-field textarea:focus{border-color:#55bf81;box-shadow:0 0 0 4px rgba(83,193,126,.14)}
.form-field textarea{resize:vertical;min-height:110px}.form-field input::placeholder,.form-field textarea::placeholder{color:#91a89a}
.contact-honeypot{position:absolute!important;clip:rect(0,0,0,0)!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}
.captcha-gate{background:#f4fbf6;border:1px solid #e1eee5;border-radius:18px;padding:19px;margin:0 0 19px}.captcha-gate p,.form-privacy{font-size:.82rem;line-height:1.65;color:#637d6b;margin:0 0 13px}.captcha-gate a,.form-privacy a{color:#168650;text-decoration:underline;text-underline-offset:3px}
.recaptcha-area{min-height:0;margin-top:10px;overflow-x:auto}.contact-submit{display:inline-flex;align-items:center;gap:16px;justify-content:center;border:0;cursor:pointer;min-height:54px;width:100%;font-weight:750}.contact-submit:disabled{opacity:.6;cursor:wait}.form-privacy{margin:16px 0 0}.form-feedback{margin:12px 0 0;font-weight:600;font-size:.87rem}.form-feedback.error{color:#a43b2e}.form-feedback.success{color:#197d45}
@media(max-width:820px){.contact-form-grid{grid-template-columns:1fr}.contact-form-intro{padding:0}.contact-mini{margin:22px 0}.contact-form-panel{padding:26px}}
@media(max-width:480px){.contact-form-panel{padding:22px 18px}.form-topline{align-items:flex-start}.contact-form-intro h2{font-size:2.55rem}}

/* Wahlarzt-Kostenerstattung bei den Tarifen */
.reimbursement-box{margin-top:30px;background:linear-gradient(135deg,#e4f8e9,#f7fcf8);border:1px solid rgba(42,153,84,.22);border-radius:24px;padding:25px 26px;box-shadow:0 12px 28px rgba(31,111,76,.06)}
.reimbursement-label{font-size:.77rem;text-transform:uppercase;letter-spacing:.13em;color:#26824e;font-weight:750}
.reimbursement-box h3{margin:12px 0 10px;font-size:1.2rem;line-height:1.35;color:#1a4d31}
.reimbursement-box p{margin:0;color:#4e6d5b;line-height:1.75}
@media(max-width:750px){.reimbursement-box{padding:21px}}

/* Einwilligung zum Kontaktformular */
.consent-field{margin:18px 0 20px}
.consent-label{display:flex;align-items:flex-start;gap:13px;padding:17px 19px;border:1px solid rgba(49,148,91,.22);
 background:linear-gradient(135deg,#f2faf4,#ffffff);border-radius:16px;color:#3f6550;font-size:.91rem;line-height:1.6;cursor:pointer}
.consent-label input{width:21px;height:21px;flex:0 0 21px;accent-color:#2faa65;margin:3px 0 0;cursor:pointer}
.consent-label a{color:#176f43;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.consent-label strong{color:#19804d}
.consent-label:focus-within{outline:2px solid #3dbb78;outline-offset:2px}

/* Google Maps 2-click: no external map request until explicit activation */
.map-consent{min-height:400px;height:auto;padding:30px 24px;
 background:radial-gradient(circle at 50% 35%,rgba(172,239,193,.55),transparent 72%),linear-gradient(160deg,#f3fcf5,#e8f6ec);}
.map-consent h3{color:#193f2d;font-size:clamp(1.3rem,2.4vw,1.8rem)}
.map-consent p{max-width:570px}
.map-consent-privacy{font-size:.89rem;line-height:1.6;color:#4e705d!important}
.map-activate{cursor:pointer;border:0;font-weight:750;margin:5px 0 0}
.map-privacy-link{font-size:.82rem;color:#1d8051;text-decoration:underline;text-underline-offset:3px}
.map-activate:focus-visible{outline:3px solid #176b42;outline-offset:4px}
@media(max-width:750px){.map-consent{min-height:375px;height:auto;gap:12px}.map-consent p{font-size:.9rem}.map-consent-privacy{font-size:.83rem}}

/* Doctor portrait: exact supplied logo, subtle animation, no impact on ECG heart */
#ueber-mich .portrait-frame{position:relative;isolation:isolate;overflow:hidden;background:#dceadb}
#ueber-mich .portrait-frame > img:not(.portrait-logo-symbol){display:block;object-fit:cover;object-position:center 36%;filter:saturate(1.025) contrast(1.035);transition:transform .7s ease;width:100%;height:100%}
#ueber-mich .portrait-frame:hover > img:not(.portrait-logo-symbol){transform:scale(1.025)}
#ueber-mich .portrait-logo-badge{position:absolute;z-index:3;top:clamp(14px,3.5%,25px);left:clamp(14px,3.5%,25px);width:clamp(62px,17%,84px);height:clamp(90px,22%,112px);border-radius:20px;background:rgba(250,255,251,.84);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(17,72,40,.12);animation:balazs-logo-fade 1.2s ease-out both,balazs-logo-glow 6s ease-in-out 1.2s infinite;pointer-events:none}
#ueber-mich .portrait-logo-badge .portrait-logo-symbol{display:block;width:auto!important;height:78%!important;max-width:78%!important;max-height:90px!important;object-fit:contain!important;filter:drop-shadow(0 3px 5px rgba(34,112,70,.14));transform:none!important}
@keyframes balazs-logo-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes balazs-logo-glow{0%,100%{box-shadow:0 12px 28px rgba(17,72,40,.12)}50%{box-shadow:0 12px 31px rgba(61,164,99,.27)}}
@media(max-width:680px){#ueber-mich .portrait-logo-badge{width:64px;height:88px;border-radius:16px}#ueber-mich .portrait-logo-badge .portrait-logo-symbol{max-height:69px!important}}
@media(prefers-reduced-motion:reduce){#ueber-mich .portrait-logo-badge{animation:none}#ueber-mich .portrait-frame > img:not(.portrait-logo-symbol){transition:none}}

/* Portrait with logo printed in the user's supplied design.
   Animate a transparent highlight only; do not duplicate the brand. */
#ueber-mich .portrait-frame{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:8/9;height:auto;min-height:0}
#ueber-mich .portrait-frame > img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
#ueber-mich .portrait-frame:hover > img{transform:none}
#ueber-mich .portrait-logo-pulse{
  position:absolute;pointer-events:none;z-index:2;
  left:2%;top:1%;width:41%;height:17%;
  border-radius:50%;
  background:radial-gradient(ellipse at 40% 48%,rgba(213,255,199,.27) 0%,rgba(180,244,165,.08) 57%,rgba(180,244,165,0) 78%);
  mix-blend-mode:screen;
  animation:balazs-portrait-pulse 3.4s ease-in-out infinite;
  transform-origin:42% 50%;
}
@keyframes balazs-portrait-pulse{
  0%,14%,32%,100%{opacity:.22;transform:scale(1)}
  19%{opacity:.68;transform:scale(1.045)}
  25%{opacity:.42;transform:scale(.995)}
}
@media(max-width:750px){
  #ueber-mich .portrait-frame{height:auto;aspect-ratio:8/9;min-height:0}
}
@media(prefers-reduced-motion:reduce){
  #ueber-mich .portrait-logo-pulse{animation:none;opacity:.25}
}

/* Service explanations: hover + keyboard + touch */
#leistungen .service-grid{align-items:stretch}
#leistungen .service-disclosure{display:block;padding:0;min-height:unset;align-self:stretch;overflow:hidden;cursor:default;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
#leistungen .service-disclosure:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(23,83,50,.10)!important;border-color:rgba(50,170,102,.3)!important}
#leistungen .service-disclosure[open]{border-color:rgba(48,162,94,.4)!important;box-shadow:0 18px 34px rgba(23,83,50,.1)!important;background:linear-gradient(145deg,#fff,#f0fbf4)!important}
#leistungen .service-disclosure summary{display:flex;align-items:center;gap:12px;padding:23px 22px;list-style:none;cursor:pointer;min-height:114px;outline-offset:-4px}
#leistungen .service-disclosure summary::-webkit-details-marker{display:none}
#leistungen .service-disclosure summary:focus-visible{outline:3px solid #228e59;border-radius:22px}
#leistungen .service-disclosure .service-title{flex:1;font-weight:650;color:#1d4031;line-height:1.35}
#leistungen .service-disclosure .service-dot{font-size:1.2rem;flex:none}
#leistungen .service-toggle{display:grid;place-items:center;font-size:1.4rem;line-height:1;width:30px;height:30px;flex:none;border-radius:50%;background:#eaf9ef;color:#238653;transition:transform .25s ease,background .25s ease}
#leistungen .service-disclosure[open] .service-toggle{transform:rotate(45deg);background:#c7f2d6}
#leistungen .service-description{margin:0!important;padding:0 23px 23px 51px;font-size:.94rem;line-height:1.78;color:#4e705d!important;animation:service-appear .28s ease}
#leistungen .services-hint{font-size:.89rem;color:#427858}
@keyframes service-appear{from{opacity:.3;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
/* Verified office hours */
.practice-hours{margin:24px 0 0;max-width:430px;padding:20px 22px;background:rgba(240,251,243,.9);border:1px solid rgba(48,160,97,.14);border-radius:19px}
.practice-hours h3{font-size:1.03rem;color:#174a32;margin:0 0 11px}
.practice-hours-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-top:1px solid rgba(48,160,97,.12);color:#3e6653}
.practice-hours-row strong{color:#1f5c3b;white-space:nowrap}
.practice-hours .hours-note{font-size:.81rem;margin:12px 0 0!important;color:#6a8777!important}
/* Gentle logo pulse and ECG trace over photo logo; hero heart unchanged */
.brand-logo-beat{animation:brand-gentle-beat 3.4s ease-in-out infinite;transform-origin:50% 52%}
#ueber-mich .portrait-logo-ecg{position:absolute;left:5.3%;top:2.4%;width:12.5%;height:10%;z-index:3;pointer-events:none;overflow:visible}
#ueber-mich .portrait-logo-ecg .portrait-ecg-trace{fill:none;stroke:#5aa529;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:115;stroke-dashoffset:115;animation:portrait-trace 3.4s ease-in-out infinite;filter:drop-shadow(0 0 2px rgba(119,220,77,.4))}
@keyframes portrait-trace{0%,8%{stroke-dashoffset:115;opacity:0}13%{opacity:.8}58%{stroke-dashoffset:0;opacity:.9}70%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes brand-gentle-beat{0%,14%,31%,100%{transform:scale(1)}18%{transform:scale(1.055)}24%{transform:scale(.99)}}
@media(max-width:620px){#leistungen .service-description{padding-left:23px}.practice-hours-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.brand-logo-beat,#ueber-mich .portrait-logo-ecg .portrait-ecg-trace{animation:none!important}.portrait-logo-ecg{display:none}#leistungen .service-description{animation:none}#leistungen .service-disclosure,#leistungen .service-toggle{transition:none}}

/* Single visible practice mark on the Herzenssache photo */
#philosophie .story-photo{position:relative;isolation:isolate;overflow:hidden}
#philosophie .story-photo > img:first-child{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#philosophie .story-brand-overlay{position:absolute;z-index:4;left:4%;top:3%;width:31%;max-width:170px;min-width:105px;aspect-ratio: 0.82;display:flex;align-items:center;justify-content:center;padding:10px 14px;background:rgba(247,255,242,.93);border:1px solid rgba(67,157,88,.33);border-radius:19px;box-shadow:0 12px 35px rgba(13,66,28,.22),inset 0 1px 1px rgba(255,255,255,.85);backdrop-filter:blur(7px);pointer-events:none}
#philosophie .story-brand-overlay img{object-fit:contain!important;max-width:100%;max-height:100%;width:auto!important;height:100%!important;filter:drop-shadow(0 3px 4px rgba(20,92,50,.15));animation:story-mark-breathe 4s ease-in-out infinite}
@keyframes story-mark-breathe{0%,100%{transform:scale(1)}23%{transform:scale(1.045)}34%{transform:scale(.995)}}
@media(max-width:750px){#philosophie .story-brand-overlay{left:3%;top:2%;width:25%;min-width:88px;padding:7px 10px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){#philosophie .story-brand-overlay img{animation:none}}

/* Feststehende Kopfzeile – auf allen Seiten sichtbar */
html{scroll-padding-top:100px}
body > header, header.site-header-legal{
  position:sticky !important;
  top:0;
  z-index:1000;
  background:rgba(248,254,249,.97);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 8px 24px rgba(20,86,50,.07);
}
body > header .nav{height:78px;min-height:78px}
body > header .brand-logo{height:44px!important;max-height:44px!important}
#philosophie .story-brand-overlay{display:none!important}
@media(max-width:750px){
  html{scroll-padding-top:80px}
  body > header .nav{height:70px;min-height:70px}
  body > header .brand-logo{height:40px!important;max-height:40px!important}
  body > header .brand-title{font-size:.9rem}
  body > header .brand-sub{font-size:.57rem}
  body > header .nav-cta{white-space:nowrap;font-size:.77rem;padding:9px 12px}
}
@media(prefers-reduced-transparency:reduce){
  body > header,header.site-header-legal{background:#f8fef9}
}

/* Smartphone: Header scrollt mit. Desktop und Tablet ab 768px bleiben sticky. */
@media screen and (max-width:767px){
  html{scroll-padding-top:16px}
  body > header,
  header.site-header-legal{
    position:relative !important;
    top:auto !important;
    z-index:2;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:0 1px 0 rgba(20,86,50,.06);
  }
}


/* Desktop/Tablet fix فقط for Herzenssache image: show full image so top-left logo is not cropped */
@media (min-width: 768px) {
  #philosophie .story-grid { align-items: start; }
  #philosophie .story-photo {
    height: auto !important;
    min-height: 0 !important;
    max-width: 520px;
    width: 100%;
    justify-self: end;
    align-self: start;
  }
  #philosophie .story-photo > img:first-child {
    width: 100%;
    height: auto !important;
    display: block;
    object-fit: contain !important;
    object-position: top center !important;
  }
}
