/*
  Praxis am Stadtpark – Designkonzept
  Vollständig lokal, ohne externe Fonts oder Bibliotheken.
*/
:root{
  --bg:#f6faf8;
  --surface:#ffffff;
  --surface-2:#edf5f1;
  --ink:#15342e;
  --muted:#62736f;
  --line:#dce8e3;
  --brand:#176b5b;
  --brand-dark:#0f4f43;
  --brand-soft:#dcefe8;
  --accent:#d98563;
  --accent-soft:#f7e7df;
  --success:#2d7a55;
  --warning:#b35f37;
  --shadow:0 24px 70px rgba(25,65,55,.12);
  --shadow-sm:0 12px 32px rgba(25,65,55,.09);
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:10px;
  --max:1180px;
  --header-h:84px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--brand);color:#fff}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.section{padding:104px 0}
.section--compact{padding:72px 0}
.section--surface{background:var(--surface)}
.section--dark{background:var(--ink);color:#fff}
.grid{display:grid;gap:24px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--brand);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.eyebrow::before{content:"";width:28px;height:2px;border-radius:99px;background:currentColor}
.section--dark .eyebrow{color:#9ed0c0}
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.035em}
h1{font-size:clamp(2.8rem,6vw,5.5rem);font-weight:760}
h2{font-size:clamp(2.2rem,4vw,3.9rem);font-weight:740}
h3{font-size:clamp(1.25rem,2vw,1.55rem);font-weight:730}
p{margin:0 0 1rem}.lead{font-size:clamp(1.08rem,1.6vw,1.28rem);color:var(--muted);max-width:700px}.section--dark .lead{color:#c5d4cf}
.kicker{font-size:.9rem;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:750}.text-link:hover{gap:12px}
.skip-link{position:fixed;left:16px;top:-60px;z-index:2000;padding:12px 16px;background:#fff;border-radius:10px;box-shadow:var(--shadow-sm)}.skip-link:focus{top:16px}
.demo-bar{background:var(--ink);color:#dce8e3;text-align:center;padding:8px 16px;font-size:.82rem}.demo-bar strong{color:#fff}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(246,250,248,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,232,227,.9)}
.header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{display:inline-flex;align-items:center;gap:12px;min-width:max-content}.logo-mark{width:42px;height:42px}.logo-copy{display:flex;flex-direction:column;line-height:1.02}.logo-copy strong{font-size:1.04rem;letter-spacing:-.02em}.logo-copy span{margin-top:5px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:6px}.nav a{padding:10px 12px;border-radius:10px;color:#314d47;font-size:.94rem;font-weight:680;transition:.2s}.nav a:hover,.nav a[aria-current="page"]{background:var(--brand-soft);color:var(--brand-dark)}
.header-actions{display:flex;align-items:center;gap:10px}.phone-link{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.phone-link span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.phone-link strong{margin-top:5px;font-size:.92rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 21px;border:1px solid transparent;border-radius:999px;background:var(--brand);color:#fff;font-weight:760;box-shadow:none;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);background:var(--brand-dark);box-shadow:0 12px 25px rgba(23,107,91,.22)}.btn--secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn--secondary:hover{background:var(--surface-2);box-shadow:none}.btn--ghost{background:transparent;color:var(--brand);border-color:var(--brand)}.btn--light{background:#fff;color:var(--ink)}.btn--small{min-height:42px;padding:0 16px;font-size:.9rem}
.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fff;align-items:center;justify-content:center}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;width:20px;height:2px;background:var(--ink);transition:.2s}.menu-toggle::before{transform:translateY(-6px)}.menu-toggle::after{transform:translateY(6px)}.menu-toggle[aria-expanded="true"] span{opacity:0}.menu-toggle[aria-expanded="true"]::before{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"]::after{transform:rotate(-45deg)}
.hero{position:relative;overflow:hidden;padding:76px 0 88px}.hero::before{content:"";position:absolute;width:700px;height:700px;right:-300px;top:-300px;border-radius:50%;background:radial-gradient(circle,var(--brand-soft),transparent 68%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}.hero-copy{position:relative;z-index:2}.hero-copy h1 span{color:var(--brand)}.hero-copy .lead{margin-top:26px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.trust-row{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}.trust-item{display:flex;align-items:center;gap:10px;color:#415c56;font-size:.92rem;font-weight:700}.trust-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}
.hero-visual{position:relative;min-height:560px}.hero-card-main{position:absolute;inset:20px 0 40px 56px;border-radius:42px;overflow:hidden;background:linear-gradient(145deg,#e9f5f0,#cde7df);box-shadow:var(--shadow)}.hero-card-main img{width:100%;height:100%;object-fit:cover}.floating-card{position:absolute;z-index:3;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:var(--shadow-sm);padding:18px}.floating-card--hours{left:0;bottom:0;width:230px}.floating-card--rating{right:-12px;top:0;width:205px}.floating-card .label{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.floating-card strong{display:block;margin-top:5px;font-size:1rem}.availability{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:.88rem;color:var(--success);font-weight:750}.availability::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(45,122,85,.12)}
.quick-access{position:relative;z-index:4;margin-top:-34px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm);overflow:hidden}.quick-item{padding:24px;border-right:1px solid var(--line);transition:.2s}.quick-item:last-child{border-right:0}.quick-item:hover{background:var(--surface-2)}.quick-item span{display:block;color:var(--brand);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.quick-item strong{display:block;margin-top:6px;font-size:1.05rem}.quick-item p{margin:7px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:46px}.section-heading>div:first-child{max-width:760px}.section-heading .lead{margin-top:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;box-shadow:0 1px 0 rgba(24,62,53,.03);transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#cadbd4}.icon-box{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--brand-soft);color:var(--brand);font-size:1.4rem}.card h3{margin-top:22px}.card p{margin:12px 0 0;color:var(--muted)}.card .text-link{margin-top:20px}.service-card{min-height:290px;display:flex;flex-direction:column}.service-card .text-link{margin-top:auto;padding-top:24px}.service-number{color:var(--brand);font-weight:800;font-size:.78rem;letter-spacing:.1em}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center}.image-frame{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--brand-soft);min-height:560px;box-shadow:var(--shadow)}.image-frame img{width:100%;height:100%;object-fit:cover}.image-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.7);border-radius:inherit;pointer-events:none}.split-copy .lead{margin-top:20px}.check-list{display:grid;gap:13px;margin:28px 0 0;padding:0;list-style:none}.check-list li{display:flex;gap:12px;align-items:flex-start}.check-list li::before{content:"✓";display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:900;font-size:.82rem}.split-copy .btn{margin-top:30px}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);border-radius:24px;overflow:hidden}.stat{padding:32px;background:rgba(255,255,255,.06)}.stat strong{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.05em}.stat span{display:block;margin-top:8px;color:#bdcec8;font-size:.9rem}
.process{counter-reset:step}.process-card{position:relative;padding-top:78px}.process-card::before{counter-increment:step;content:"0" counter(step);position:absolute;top:28px;left:30px;color:var(--brand);font-size:.82rem;font-weight:900;letter-spacing:.12em}.process-card::after{content:"";position:absolute;top:52px;left:30px;width:42px;height:2px;background:var(--brand)}
.team-card{padding:0;overflow:hidden}.team-photo{aspect-ratio:4/4.4;background:var(--brand-soft);overflow:hidden}.team-photo img{width:100%;height:100%;object-fit:cover}.team-card-content{padding:25px}.team-card-content p{margin-top:6px}.team-meta{color:var(--brand);font-weight:750;font-size:.88rem}
.testimonial{position:relative;padding:36px}.stars{color:var(--accent);letter-spacing:.15em}.testimonial blockquote{margin:20px 0 26px;font-size:1.08rem;line-height:1.65}.testimonial cite{font-style:normal;color:var(--muted);font-size:.9rem}.testimonial::before{content:"“";position:absolute;right:24px;top:7px;color:var(--brand-soft);font-family:Georgia,serif;font-size:7rem;line-height:1}
.cta-panel{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:44px;border-radius:30px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:var(--shadow)}.cta-panel p{margin:13px 0 0;color:#d4e6e0;max-width:700px}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.page-hero{padding:82px 0 70px;background:linear-gradient(180deg,#edf5f1 0%,var(--bg) 100%);border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:24px;color:var(--muted);font-size:.87rem}.breadcrumbs span{opacity:.55}.page-hero h1{max-width:900px;font-size:clamp(2.7rem,5vw,4.9rem)}.page-hero .lead{margin-top:24px}.page-hero-actions{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}
.feature-row{display:grid;grid-template-columns:85px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.feature-row:last-child{border-bottom:0}.feature-row .num{color:var(--brand);font-size:.8rem;font-weight:900;letter-spacing:.1em}.feature-row p{margin:8px 0 0;color:var(--muted)}
.hours-table{width:100%;border-collapse:collapse}.hours-table tr{border-bottom:1px solid var(--line)}.hours-table tr:last-child{border-bottom:0}.hours-table th,.hours-table td{padding:15px 0;text-align:left}.hours-table th{font-weight:680}.hours-table td{text-align:right;color:var(--muted)}.hours-table .closed{color:var(--warning);font-weight:700}
.info-box{padding:24px;border-radius:18px;background:var(--brand-soft);border:1px solid #cbe4da}.info-box--accent{background:var(--accent-soft);border-color:#efd2c5}.info-box strong{display:block;margin-bottom:6px}.info-box p{margin:0;color:#48645d}
.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:40px}.contact-stack{display:grid;gap:18px}.contact-card{display:flex;gap:16px;align-items:flex-start;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px}.contact-card .icon-box{flex:0 0 46px;width:46px;height:46px;border-radius:14px}.contact-card p{margin:4px 0 0;color:var(--muted)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow-sm)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:8px}.field--full{grid-column:1/-1}.field label{font-size:.89rem;font-weight:760}.field input,.field select,.field textarea{width:100%;border:1px solid #cfded8;background:#fbfdfc;border-radius:12px;padding:13px 14px;color:var(--ink);outline:none;transition:.2s}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(23,107,91,.1)}.checkbox{display:flex;gap:11px;align-items:flex-start}.checkbox input{margin-top:5px}.checkbox label{font-size:.86rem;color:var(--muted)}.form-note{margin-top:14px;color:var(--muted);font-size:.82rem}.form-message{display:none;margin-top:16px;padding:14px;border-radius:12px}.form-message.is-visible{display:block}.form-message.success{background:var(--brand-soft);color:var(--brand-dark)}.form-message.error{background:var(--accent-soft);color:#74351d}
.faq{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.faq-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:21px 24px;border:0;background:transparent;color:var(--ink);text-align:left;font-weight:760}.faq-button::after{content:"+";font-size:1.5rem;color:var(--brand);transition:.2s}.faq-button[aria-expanded="true"]::after{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-answer>div{overflow:hidden}.faq-answer p{padding:0 24px 22px;color:var(--muted);margin:0}.faq-button[aria-expanded="true"]+.faq-answer{grid-template-rows:1fr}
.map-card{min-height:390px;border-radius:var(--radius-lg);overflow:hidden;background:#e0eee8;position:relative;border:1px solid var(--line)}.map-card img{width:100%;height:100%;object-fit:cover}.map-pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:grid;place-items:center;width:55px;height:55px;border-radius:50% 50% 50% 0;background:var(--brand);color:#fff;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 14px 30px rgba(23,107,91,.28)}.map-pin span{transform:rotate(45deg);font-weight:900}
.legal{max-width:860px}.legal h2{font-size:1.75rem;margin:42px 0 12px;overflow-wrap:anywhere;hyphens:auto}.legal h3{font-size:1.2rem;margin:30px 0 10px}.legal p,.legal li{color:#445d57}.legal ul{padding-left:20px}.placeholder{display:inline-block;max-width:100%;padding:2px 7px;border-radius:6px;background:#fff0b8;color:#6a5100;font-weight:750;white-space:normal;overflow-wrap:anywhere}
.emergency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.emergency-card{padding:28px;border-radius:22px;border:1px solid var(--line);background:#fff}.emergency-card--urgent{background:#fff4ef;border-color:#efd4c8}.emergency-number{font-size:2rem;font-weight:850;color:var(--brand);letter-spacing:-.04em}.emergency-card--urgent .emergency-number{color:#a34220}.emergency-card p{color:var(--muted);margin:10px 0 0}
.site-footer{background:#102f29;color:#d6e2de;padding:72px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:46px}.footer-brand p{max-width:330px;margin-top:18px;color:#aebfba}.footer-title{color:#fff;font-weight:800;margin-bottom:16px}.footer-links{display:grid;gap:10px}.footer-links a{color:#b9c9c4}.footer-links a:hover{color:#fff}.footer-contact{display:grid;gap:10px}.footer-contact a{font-weight:700}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#8fa6a0;font-size:.82rem}.footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.js .reveal.is-visible{opacity:1;transform:none}
.error-page{min-height:75vh;display:grid;place-items:center;text-align:center;padding:80px 20px}.error-page strong{display:block;color:var(--brand-soft);font-size:clamp(7rem,20vw,15rem);line-height:.7}.error-page h1{font-size:clamp(2.2rem,5vw,4.5rem);margin-top:-15px}.error-page p{max-width:600px;margin:20px auto 30px;color:var(--muted)}
@media(max-width:1100px){.nav{gap:0}.nav a{padding:9px 8px;font-size:.88rem}.phone-link{display:none}.hero-grid{gap:34px}.hero-card-main{left:25px}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-item:nth-child(2){border-right:0}.quick-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:860px){:root{--header-h:72px}.section{padding:78px 0}.section--compact{padding:56px 0}.menu-toggle{display:flex;position:relative}.header-actions>.btn{display:none}.nav{position:fixed;left:20px;right:20px;top:calc(var(--header-h) + 45px);display:grid;gap:4px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.2s}.nav.is-open{opacity:1;visibility:visible;transform:none}.nav a{padding:13px 14px;font-size:1rem}.hero{padding-top:54px}.hero-grid,.split,.contact-layout{grid-template-columns:1fr}.hero-visual{min-height:500px;max-width:620px;width:100%;margin:0 auto}.section-heading{align-items:flex-start;flex-direction:column}.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}.stat-band{grid-template-columns:repeat(2,1fr)}.cta-panel{grid-template-columns:1fr}.cta-actions{justify-content:flex-start}.image-frame{min-height:450px}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-grid>div:last-child{grid-column:auto}.emergency-grid{grid-template-columns:1fr}.page-hero{padding-top:64px}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.demo-bar{font-size:.74rem}.logo-copy span{display:none}.hero{padding-bottom:65px}.hero-copy h1{font-size:clamp(2.65rem,13vw,4rem)}.hero-actions,.page-hero-actions{display:grid}.btn{width:100%}.hero-visual{min-height:400px}.hero-card-main{inset:20px 0 42px 20px;border-radius:28px}.floating-card--hours{width:195px;padding:15px}.floating-card--rating{right:0;width:170px;padding:15px}.quick-grid,.grid--2,.grid--3,.grid--4,.footer-grid{grid-template-columns:1fr}.quick-item{border-right:0;border-bottom:1px solid var(--line)}.quick-item:last-child{border-bottom:0}.section-heading{margin-bottom:32px}.card{padding:24px}.stat-band{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.form-card{padding:23px}.cta-panel{padding:30px 24px}.cta-actions{display:grid}.footer-bottom{flex-direction:column}.image-frame{min-height:380px}.feature-row{grid-template-columns:55px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media print{.demo-bar,.site-header,.site-footer,.cta-panel,.btn,.menu-toggle{display:none!important}body{background:#fff;color:#000}.section,.page-hero{padding:30px 0}.card{box-shadow:none;break-inside:avoid}}
