@font-face{font-family:"Cairo";src:url(fonts/cairo-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Cairo";src:url(fonts/cairo-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Cairo";src:url(fonts/cairo-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:"Cairo";src:url(fonts/cairo-arabic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"Cairo";src:url(fonts/cairo-arabic-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"Cairo";src:url(fonts/cairo-arabic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFF}

:root{
  --bg:#ffffff; --tint:#f4f7fb; --ink:#0c1a2e; --text:#33435a; --mute:#5b6b82;
  --line:#dfe5ee; --blue:#0b5cd6; --blue-h:#0848a8; --blue-soft:#e8f0fd;
  --max:1200px; --pad:24px; --r:14px;
  --ease:cubic-bezier(.16,1,.3,1);
  --font:"Cairo",system-ui,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{background:var(--bg);color:var(--text);font:400 1.0625rem/1.6 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--blue);color:#fff}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
h1,h2,h3{color:var(--ink);font-weight:700;text-wrap:balance}

/* Navigation */
.nav{position:sticky;inset-block-start:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;flex-direction:column;line-height:1.2}
.brand b{color:var(--ink);font-size:1.125rem;font-weight:700}
.brand span{color:var(--mute);font-size:.8125rem}
.nav-links{display:flex;gap:34px;font-size:.9375rem;color:var(--text)}
.nav-links a{padding-block:6px;background:linear-gradient(var(--blue),var(--blue)) no-repeat 0 100%/0 2px;transition:background-size .35s var(--ease),color .2s}
[dir=rtl] .nav-links a{background-position:100% 100%}
.nav-links a:hover{color:var(--ink);background-size:100% 2px}
.nav-end{display:flex;align-items:center;gap:18px;font-size:.9375rem}
.lang{color:var(--mute);padding:6px 2px}
.lang:hover{color:var(--ink)}

.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border-radius:10px;padding:14px 26px;font-size:1.0625rem;font-weight:600;line-height:1.2;transition:transform .12s ease-out,background .2s}
.btn:hover{background:var(--blue-h)}
.btn:active{transform:scale(.97)}
.btn.sm{padding:10px 18px;font-size:.9375rem}
.link{color:var(--blue);font-weight:600;display:inline-flex;align-items:center;gap:.45em}
.link::after{content:"";width:1.05em;height:1.05em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12M11 5l5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12M11 5l5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .35s var(--ease)}
[dir=rtl] .link::after{transform:scaleX(-1)}
.link:hover::after{transform:translateX(4px)}
[dir=rtl] .link:hover::after{transform:scaleX(-1) translateX(4px)}
.acts{display:flex;gap:28px;align-items:center;flex-wrap:wrap}

/* Hero */
.hero{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,80px);align-items:center;padding-block:clamp(40px,6vw,84px) clamp(56px,7vw,100px)}
.hero h1{font-size:clamp(2.375rem,4.9vw,4.125rem);line-height:1.08;letter-spacing:-.022em;max-width:17ch}
[lang=ar] h1,[lang=ar] h2,[lang=ar] h3{letter-spacing:0;line-height:1.35}
.hero .sub{font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.5;margin-top:22px;max-width:38ch}
.hero .acts{margin-top:32px}
.facts-row{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.facts-row li{padding:20px 0 0;padding-inline-end:36px;margin-inline-end:36px;border-inline-end:1px solid var(--line)}
.facts-row li:last-child{border:0;margin:0;padding-inline-end:0}
.facts-row b{display:block;color:var(--ink);font-size:1.25rem;font-weight:700;line-height:1.3}
.facts-row span{color:var(--mute);font-size:.9375rem}
.hero-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--tint)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}

/* Abschnitte */
section{padding-block:clamp(72px,9vw,128px)}
.tint{background:var(--tint)}
h2{font-size:clamp(1.875rem,3.4vw,2.875rem);line-height:1.12;letter-spacing:-.018em}
.head{margin-bottom:clamp(28px,4vw,52px)}
.head h2{max-width:20ch}
.head p{font-size:clamp(1.0625rem,1.4vw,1.25rem);margin-top:12px;max-width:44ch}

/* Leistungen als Zeilen mit klaren Linien */
.rows{border-top:1px solid var(--ink)}
.row{display:grid;grid-template-columns:4fr 6fr auto;gap:clamp(20px,4vw,64px);align-items:start;padding-block:clamp(26px,3vw,38px);border-bottom:1px solid var(--line);position:relative;isolation:isolate}
.row::before{content:"";position:absolute;inset:0 calc(var(--pad)*-1);background:var(--tint);opacity:0;transition:opacity .25s;z-index:-1;border-radius:var(--r)}
.row:hover::before{opacity:1}
.row h3{font-size:clamp(1.375rem,2.1vw,1.75rem);line-height:1.2;letter-spacing:-.012em}
.row p{max-width:58ch}
.row .link{white-space:nowrap;padding-top:.3em}

/* Arzt */
.doc{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,88px);align-items:center}
.doc figure{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;background:#cfd6e0}
.doc figure img{width:100%;height:100%;object-fit:cover}
.say{font-size:clamp(1.375rem,2.5vw,2.125rem);line-height:1.32;font-weight:600;letter-spacing:-.012em;margin-top:22px;max-width:26ch;color:var(--ink)}
[lang=ar] .say{letter-spacing:0;line-height:1.6}
.say .w{color:#b3bfd0;transition:color .3s linear}
.say .w.on{color:var(--ink)}
.doc .lead{margin-top:22px;max-width:46ch;padding-top:22px;border-top:1px solid var(--line)}

/* Ablauf */
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.step{padding:30px 0 6px;padding-inline-end:32px}
.step+.step{border-inline-start:1px solid var(--line);padding-inline-start:32px}
.step .n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:1.0625rem}
.step h3{font-size:1.375rem;line-height:1.25;margin-top:22px}
.step p{margin-top:8px;max-width:34ch}

/* Kontakt */
.contact{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,88px);align-items:start}
.contact .sub{font-size:clamp(1.0625rem,1.4vw,1.25rem);margin-top:14px;max-width:40ch}
.contact .acts{margin-top:30px}
.ways{border-top:1px solid var(--ink)}
.ways div{padding-block:18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:11em 1fr;gap:16px;align-items:baseline}
.ways dt{color:var(--mute);font-size:.9375rem}
.ways dd{color:var(--ink);font-weight:600;font-size:1.0625rem;line-height:1.45}
.ways dd[dir=ltr]{unicode-bidi:plaintext;font-variant-numeric:tabular-nums}

footer{border-top:1px solid var(--line);color:var(--mute);font-size:.875rem;padding-block:26px 40px}
footer .wrap{display:flex;justify-content:space-between;gap:12px 32px;flex-wrap:wrap}
footer nav{display:flex;gap:24px}
footer a:hover{color:var(--ink)}
footer .note{flex-basis:100%;max-width:70ch}

/* Einblenden: Inhalt ist ohne Skript sichtbar */
.rv{transition:opacity .8s var(--ease),transform .9s var(--ease)}
html:not(.no-js) .rv:not(.in){opacity:0;transform:translateY(18px)}
html:not(.no-js) .hero-photo img{animation:settle 1.6s var(--ease) both}
html:not(.no-js) .hero-text>*{animation:rise .9s var(--ease) both}
.hero-text>*:nth-child(2){animation-delay:.07s}.hero-text>*:nth-child(3){animation-delay:.14s}.hero-text>*:nth-child(4){animation-delay:.24s}
@keyframes settle{from{transform:scale(1.07);clip-path:inset(0 0 14% 0)}to{transform:none;clip-path:inset(0)}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (max-width:800px){
  .nav-links{display:none}
  .hero{grid-template-columns:1fr}
  .hero-photo{aspect-ratio:5/4;order:-1}
  .hero-photo img{object-position:50% 8%}
  .row{grid-template-columns:1fr;gap:10px}
  .row .link{padding-top:6px}
  .doc,.contact{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step,.step+.step{border-inline-start:0;padding-inline:0;padding-bottom:26px}
  .step+.step{border-top:1px solid var(--line)}
}
@media (max-width:560px){
  .nav .wrap{height:64px}
  .brand span{display:none}
  .facts-row{grid-template-columns:1fr}
  .facts-row li{border:0;border-bottom:1px solid var(--line);margin:0;padding:14px 0;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .facts-row li:last-child{border-bottom:0}
  .ways div{grid-template-columns:1fr;gap:2px}
  .btn{width:100%}
  .btn.sm{width:auto}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important}
  html:not(.no-js) .rv:not(.in){transform:none}
  .rv{transition:opacity .3s ease}
  .say .w{color:var(--ink)}
}
@media (prefers-reduced-transparency:reduce){
  .nav{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* Unterseiten */
.page-hero{padding-block:clamp(36px,5vw,72px) clamp(40px,5vw,72px)}
.page-hero h1{font-size:clamp(2.25rem,4.6vw,3.75rem);line-height:1.08;letter-spacing:-.022em;max-width:20ch}
.page-hero .sub{font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.5;margin-top:20px;max-width:52ch}
.page-hero .acts{margin-top:30px}
.back{display:inline-flex;align-items:center;gap:.45em;color:var(--mute);font-size:.9375rem;margin-bottom:22px}
.back::before{content:"";width:1em;height:1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 10H4M9 5l-5 5 5 5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 10H4M9 5l-5 5 5 5'/%3E%3C/svg%3E") center/contain no-repeat}
[dir=rtl] .back::before{transform:scaleX(-1)}
.back:hover{color:var(--ink)}
section.tight{padding-block:clamp(48px,6vw,84px)}
.split{display:grid;grid-template-columns:4fr 8fr;gap:clamp(20px,5vw,72px);align-items:start}
.split h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2}
.lined{border-top:1px solid var(--ink)}
.lined li{padding-block:16px;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.125rem;line-height:1.45}
.flow{counter-reset:s;border-top:1px solid var(--ink)}
.flow li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;gap:20px;align-items:start;padding-block:22px;border-bottom:1px solid var(--line)}
.flow li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--blue);font-weight:700}
.flow p{max-width:60ch;padding-top:6px}
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding-block:18px;color:var(--ink);font-weight:600;font-size:1.125rem;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;border-inline-end:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.faq summary:hover{color:var(--blue)}
.faq details p{padding-bottom:20px;max-width:62ch}
.prose{max-width:72ch}
.prose h2{font-size:1.375rem;line-height:1.3;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.prose h2:first-child{margin-top:0;border-top:1px solid var(--ink)}
.prose p{margin-top:10px}
.prose a,.ways a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.nf{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);min-height:52vh;align-items:center}
.row h3 a::after{content:"";position:absolute;inset:0}
.row .link{position:relative;z-index:1}

/* Menü für schmale Bildschirme */
.menu{display:none;position:relative}
.menu summary{cursor:pointer;list-style:none;padding:9px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600;font-size:.9375rem}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;inset-inline-end:0;top:calc(100% + 10px);min-width:220px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 40px -12px rgba(12,26,46,.22);padding:8px;display:grid}
.menu nav a{padding:12px 14px;border-radius:8px;color:var(--ink);font-weight:600}
.menu nav a:hover{background:var(--tint)}
@media (max-width:800px){
  .menu{display:block}
  .split,.nf{grid-template-columns:1fr}
}
@media (max-width:560px){
  .nav .btn.sm{display:none}
  .flow li{grid-template-columns:36px 1fr;gap:14px}
  .flow li::before{width:36px;height:36px}
}
.ways dd span{display:block;margin-top:8px;color:var(--mute);font-weight:400;font-size:.9375rem}
