@font-face{font-family:Urbanist;src:url(fonts/urbanist-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Urbanist;src:url(fonts/urbanist-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Urbanist;src:url(fonts/urbanist-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Urbanist;src:url(fonts/urbanist-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Urbanist;src:url(fonts/urbanist-800.woff2) format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Lexend;src:url(fonts/lexend-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lexend;src:url(fonts/lexend-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Lexend;src:url(fonts/lexend-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Lexend;src:url(fonts/lexend-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --ink:#04171E;
  --deep:#062A35;
  --deep2:#0B3E4C;
  --aqua:#50DDE8;
  --aqua-d:#0B7183;
  --paper:#F1F7F8;
  --white:#fff;
  --line:#D4E5E8;
  --muted:#546E75;
  --muted-d:#9FC3C9;
  --wrap:1240px;
  --r:4px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Lexend,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.68;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:Urbanist,system-ui,sans-serif;margin:0;font-weight:800;letter-spacing:-.022em;line-height:1.04;text-wrap:balance}
p{margin:0 0 1.05em;text-wrap:pretty}
p:last-child{margin-bottom:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus{outline:3px solid var(--aqua);outline-offset:3px;border-radius:2px}
:focus-visible{outline:3px solid var(--aqua);outline-offset:3px;border-radius:2px}
.btn--p:focus,.btn--p:focus-visible{outline-color:#04171E}

/* ---------- Navigation ---------- */
.nav{position:sticky;top:0;z-index:60;background:var(--ink);border-bottom:1px solid rgba(80,221,232,.16)}
.nav__in{max-width:var(--wrap);margin:0 auto;padding:0 32px;height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--white);padding:8px 0}
.brand__n{font-family:Urbanist;font-weight:800;font-size:1.11rem;letter-spacing:.19em;line-height:1;text-transform:uppercase}
.brand__n em{font-style:normal;color:var(--aqua)}
.brand__s{font-size:.63rem;letter-spacing:.31em;text-transform:uppercase;color:var(--muted-d);line-height:1;font-weight:500}
.nav ul{list-style:none;display:flex;gap:34px;margin:0;padding:0;align-items:center}
.nav ul a{font-size:.87rem;font-weight:500;text-decoration:none;color:#DCEEF1;letter-spacing:.01em;padding:12px 0;display:inline-block;position:relative}
.nav ul a::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1.5px;background:var(--aqua);transition:right .28s ease}
.nav ul a:hover::after,.nav ul a[aria-current=page]::after{right:0}
.nav ul a[aria-current=page]{color:var(--aqua)}
.burger{display:none;background:none;border:1px solid rgba(255,255,255,.24);width:46px;height:46px;border-radius:3px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{display:block;width:19px;height:1.6px;background:#fff;transition:transform .25s ease,opacity .2s ease}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:Urbanist;font-weight:700;font-size:.95rem;letter-spacing:.01em;padding:15px 28px;border-radius:var(--r);text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease;border:1.5px solid transparent;min-height:52px}
.btn--p{background:var(--aqua);color:#04171E}
.btn--p:hover{background:#8CEAF1}
.btn--g{border-color:rgba(255,255,255,.34);color:#fff}
.btn--g:hover{border-color:var(--aqua);color:var(--aqua)}
.btn--d{border-color:var(--aqua-d);color:var(--aqua-d)}
.btn--d:hover{background:var(--aqua-d);color:#fff}

/* ---------- Marker / Eyebrow ---------- */
.eb{display:flex;align-items:center;gap:14px;font-size:.7rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--aqua-d);margin:0 0 22px}
.eb::before{content:"";width:34px;height:1.5px;background:currentColor;flex:none}
.eb--l{color:var(--aqua)}

/* ---------- Hero: Triptychon ---------- */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:auto -10% -40% 40%;height:70%;background:radial-gradient(ellipse at center,rgba(80,221,232,.16),transparent 68%);pointer-events:none}
.hero__in{max-width:var(--wrap);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1.06fr .82fr 1.02fr;gap:56px;align-items:stretch;position:relative;min-height:640px}
.hero__l{padding:74px 0 80px;align-self:center}
.hero h1{font-size:clamp(2.5rem,3.9vw,3.85rem);line-height:1.02;letter-spacing:-.03em}
.hero h1 em{font-style:normal;color:var(--aqua)}
.hero__fig{position:relative;align-self:stretch;display:flex}
.hero__fig img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.hero__fig::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(80,221,232,.28);pointer-events:none}
.hero__r{padding:74px 0 80px;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.hero__r p{font-size:1.06rem;color:#CFE6EA;max-width:38ch}
.hero__act{display:flex;flex-wrap:wrap;gap:12px}
.hero__note{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-d);font-weight:500}

/* ---------- Markenband ---------- */
.brands{background:var(--deep);color:#fff;border-top:1px solid rgba(80,221,232,.2)}
.brands__in{max-width:var(--wrap);margin:0 auto;padding:26px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;justify-content:center}
.brands__lb{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--aqua);font-weight:600}
.brands span{font-family:Urbanist;font-weight:600;font-size:1rem;letter-spacing:.05em;color:#CFE6EA}
.brands i{width:4px;height:4px;border-radius:50%;background:rgba(80,221,232,.5);display:block;flex:none}

/* ---------- Sektionen ---------- */
.sec{padding:104px 0}
.sec--tight{padding:80px 0}
.sec--dark{background:var(--deep);color:#fff}
.sec--ink{background:var(--ink);color:#fff}
.sec--dark h2,.sec--ink h2{color:#fff}
.sec--dark p,.sec--ink p{color:#CFE6EA}
.sec h2{font-size:clamp(1.95rem,3.3vw,2.9rem)}
.sec--dark .eb,.sec--ink .eb{color:var(--aqua)}
.split{display:grid;grid-template-columns:.34fr .66fr;gap:56px;align-items:start}
.lead{font-family:Urbanist;font-weight:600;font-size:clamp(1.2rem,1.9vw,1.5rem);line-height:1.42;letter-spacing:-.012em;margin-bottom:1.1em}
.body-w{max-width:62ch}

/* ---------- Behandlungs-Karten ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:52px}
.card{background:var(--paper);padding:38px 32px 40px;display:flex;flex-direction:column;gap:14px}
.card__n{font-family:Urbanist;font-weight:700;font-size:.72rem;letter-spacing:.24em;color:var(--aqua-d)}
.card h3{font-size:1.28rem;letter-spacing:-.015em}
.card p{font-size:.95rem;color:var(--muted);line-height:1.62}

/* ---------- Feature (Byonik) ---------- */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.feat__claim{font-family:Urbanist;font-weight:800;font-size:clamp(1.75rem,2.9vw,2.5rem);line-height:1.1;letter-spacing:-.025em}
.tags{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}
.tags li{position:relative;padding-left:20px;font-size:.94rem;color:#CFE6EA;line-height:1.5}
.tags li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1.5px;background:var(--aqua)}

/* ---------- Programm-Liste ---------- */
.prg{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line)}
.prg li{display:flex;align-items:baseline;gap:20px;padding:17px 2px;border-bottom:1px solid var(--line);font-family:Urbanist;font-weight:600;font-size:1.1rem;letter-spacing:-.01em}
.prg b{font-family:Urbanist;font-weight:700;font-size:.72rem;letter-spacing:.2em;color:var(--aqua-d);flex:none;min-width:26px}
.sec--dark .prg,.sec--ink .prg{border-top-color:rgba(255,255,255,.16)}
.sec--dark .prg li,.sec--ink .prg li{border-bottom-color:rgba(255,255,255,.16)}
.sec--dark .prg b,.sec--ink .prg b{color:var(--aqua)}

/* ---------- Behandlungs-Zeilen (Unterseite) ---------- */
.rows{border-top:1px solid var(--line);margin-top:56px}
.row{display:grid;grid-template-columns:.32fr .68fr;gap:48px;padding:46px 0;border-bottom:1px solid var(--line)}
.row__k{display:flex;flex-direction:column;gap:10px}
.row__n{font-family:Urbanist;font-weight:700;font-size:.72rem;letter-spacing:.24em;color:var(--aqua-d)}
.row h3{font-size:1.5rem;letter-spacing:-.02em}
.row__sub{font-family:Urbanist;font-weight:700;font-size:1.06rem;letter-spacing:-.01em;color:var(--aqua-d);margin-bottom:1.05em}
.row p{color:var(--muted)}

/* ---------- Ueber mich ---------- */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.about__fig{position:relative}
.about__fig img{width:100%;height:auto}
.about__fig figcaption{margin-top:14px;font-size:.79rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:500}
.facts{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:2px}
.facts li{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.96rem}
.facts dt,.facts .k{font-family:Urbanist;font-weight:700;font-size:.71rem;letter-spacing:.2em;text-transform:uppercase;color:var(--aqua-d);padding-top:.35em}

/* ---------- Kontakt ---------- */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.clist{list-style:none;margin:0;padding:0;display:grid;gap:0}
.clist li{display:grid;grid-template-columns:132px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:start}
.clist .k{font-family:Urbanist;font-weight:700;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--aqua);padding-top:.4em}
.clist a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(80,221,232,.45);display:inline-block}
.clist a:hover{color:var(--aqua)}
.clist address{font-style:normal;color:#CFE6EA}
.contact__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

/* ---------- Footer ---------- */
.foot{background:var(--ink);color:#CFE6EA;border-top:1px solid rgba(80,221,232,.16);padding:62px 0 34px;font-size:.92rem}
.foot__g{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px}
.foot h4{font-family:Urbanist;font-weight:700;font-size:.71rem;letter-spacing:.24em;text-transform:uppercase;color:var(--aqua);margin:0 0 16px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.foot a{color:#CFE6EA;text-decoration:none}
.foot a:hover{color:var(--aqua)}
.foot ul a{display:inline-block;padding:7px 0}
.foot address{font-style:normal;line-height:1.85}
.foot__base{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;font-size:.83rem;color:#8FB2B9}
.foot__base ul{display:flex;gap:0 26px;flex-wrap:wrap}
.foot__base a{padding:7px 0;display:inline-block}
.foot__bn{font-family:Urbanist;font-weight:800;font-size:1.05rem;letter-spacing:.19em;text-transform:uppercase;color:#fff;margin-bottom:8px}
.foot__bn em{font-style:normal;color:var(--aqua)}

/* ---------- Rechtstexte ---------- */
.legal{max-width:74ch}
.legal h2{font-size:1.35rem;margin:44px 0 14px}
.legal h2:first-of-type{margin-top:0}
.legal p{color:var(--muted)}
.legal a{color:var(--aqua-d)}

/* ---------- Page-Head ---------- */
.phead{background:var(--ink);color:#fff;padding:78px 0 74px;position:relative;overflow:hidden}
.phead::before{content:"";position:absolute;inset:auto -10% -60% 45%;height:100%;background:radial-gradient(ellipse at center,rgba(80,221,232,.13),transparent 66%);pointer-events:none}
.phead__in{position:relative}
.phead h1{font-size:clamp(2.15rem,4vw,3.3rem);letter-spacing:-.03em;max-width:19ch}
.phead p{margin-top:20px;max-width:56ch;color:#CFE6EA;font-size:1.04rem}

/* ---------- Reveal ---------- */
.rev{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero__in{grid-template-columns:1fr .9fr;gap:44px;min-height:0}
  .hero__l{grid-column:1;padding-bottom:0}
  .hero__fig{grid-column:2;grid-row:1 / span 2}
  .hero__r{grid-column:1;padding-top:0;padding-bottom:74px;align-self:start}
  .feat{grid-template-columns:1fr;gap:34px}
  .about{grid-template-columns:1fr;gap:40px}
  .contact{grid-template-columns:1fr;gap:40px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .foot__g{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:860px){
  body{font-size:16px}
  .wrap,.nav__in,.hero__in,.brands__in{padding-left:22px;padding-right:22px}
  .burger{display:flex}
  .nav__in{height:70px}
  .nav ul{position:fixed;inset:70px 0 auto;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 26px;border-bottom:1px solid rgba(80,221,232,.2);display:none}
  .nav ul.open{display:flex}
  .nav ul li{border-bottom:1px solid rgba(255,255,255,.1)}
  .nav ul li:last-child{border-bottom:0}
  .nav ul a{display:block;padding:17px 0;font-size:1.02rem}
  .nav ul a::after{display:none}
  .hero__in{grid-template-columns:1fr;gap:0;display:block}
  .hero__l{padding:44px 0 30px}
  .hero__fig{display:block;margin:0 -22px}
  .hero__fig img{aspect-ratio:4/5;height:auto}
  .hero__r{padding:34px 0 54px;gap:22px}
  .sec{padding:70px 0}
  .sec--tight{padding:58px 0}
  .split{grid-template-columns:1fr;gap:26px}
  .cards{grid-template-columns:1fr;margin-top:36px}
  .card{padding:30px 24px 32px}
  .rows{margin-top:36px}
  .row{grid-template-columns:1fr;gap:16px;padding:34px 0}
  .facts li{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .clist li{grid-template-columns:1fr;gap:5px;padding:16px 0}
  .clist a{padding:9px 0;margin:-9px 0}
  .foot address a,.facts a,.legal a{display:inline-block;padding:8px 0}
  .foot address{line-height:1.6}
  .tags{grid-template-columns:1fr}
  .foot{padding:50px 0 30px}
  .foot__g{grid-template-columns:1fr;gap:32px}
  .foot ul{gap:0}
  .foot ul a{padding:11px 0}
  .foot__base{flex-direction:column;gap:10px}
  .foot__base ul{gap:0 22px}
  .foot__base a{padding:11px 0}
  .phead{padding:56px 0 52px}
  .brands__in{justify-content:flex-start;padding-top:22px;padding-bottom:22px;gap:10px 18px}
  .brands__lb{flex:0 0 100%}
  .brands span{font-size:.92rem}
}
@media (max-width:420px){
  .brand__n{font-size:1rem;letter-spacing:.15em}
  .brand__s{letter-spacing:.24em}
  .btn{width:100%}
  .hero__act,.contact__cta{width:100%}
}
