/* Selbstgehostete Schriften (keine Übermittlung an Google) */
@font-face{font-family:'Mona Sans';font-style:normal;font-display:swap;font-weight:200 900;src:url('../fonts/mona-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mona Sans';font-style:normal;font-display:swap;font-weight:200 900;src:url('../fonts/mona-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Familjen Grotesk';font-style:normal;font-display:swap;font-weight:400 700;src:url('../fonts/familjen-grotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Familjen Grotesk';font-style:normal;font-display:swap;font-weight:400 700;src:url('../fonts/familjen-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
:root{
  --blue:#152A86; --blue-deep:#0F1E63; --sky:#9DB0F0; --sky-soft:#C7D1F5;
  --coral:#FB6048; --paper:#F2F1EC; --paper-2:#E9E7DF; --card:#FAF9F5;
  --ink:#1A1E2C; --ink-soft:#52576A;
  --fd:'Mona Sans',sans-serif; --fb:'Familjen Grotesk',sans-serif;
  --mx:clamp(20px,6vw,110px); --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;}
section{padding:clamp(56px,8vw,110px) var(--mx);min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
.eyebrow{font-family:var(--fb);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--coral);}
.sectmark{width:12px;height:12px;border-radius:50%;background:var(--coral);display:block;margin-bottom:20px;transform-origin:center;animation:coralBreath 3.1s ease-in-out infinite;}
h2{font-family:var(--fd);font-weight:800;font-size:clamp(28px,4.4vw,46px);letter-spacing:-0.02em;line-height:1.05;margin-top:14px;}
h3{font-family:var(--fd);font-weight:700;letter-spacing:-0.01em;}
p{font-size:clamp(15px,1.15vw,17px);}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-soft);max-width:62ch;margin-top:18px;}
.body-copy p{color:var(--ink-soft);margin-top:16px;max-width:64ch;}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--fb);font-weight:600;font-size:15px;padding:13px 24px;border-radius:11px;text-decoration:none;border:none;cursor:pointer;transition:transform .25s cubic-bezier(.22,1,.36,1);}
.btn-coral{background:var(--coral);color:var(--blue);}
.btn-coral:hover{transform:translateY(-2px);}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:4px;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:50;padding:16px var(--mx);display:flex;align-items:center;justify-content:space-between;transition:background .3s,box-shadow .3s,padding .3s;}
header.solid{background:var(--paper);box-shadow:0 1px 0 var(--paper-2);padding:12px var(--mx);}
.brand{font-family:var(--fd);line-height:1;text-decoration:none;opacity:0;transform:translateY(-6px);transition:opacity .45s ease,transform .45s ease;pointer-events:none;}
header.solid .brand,header.open .brand{opacity:1;transform:none;pointer-events:auto;}
.brand .bn{font-weight:700;font-size:18px;letter-spacing:-0.01em;color:var(--blue);display:block;}
.brand .bc{font-weight:600;font-size:12.5px;letter-spacing:.5px;color:var(--blue);display:block;margin-top:3px;}
.brand .sl{color:var(--coral);font-weight:700;}
nav{display:flex;align-items:center;gap:26px;}
nav a.nl{position:relative;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.9);text-decoration:none;transition:color .2s;}
nav a.nl::after{content:"";position:absolute;left:-13px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--coral);transform:translateY(-50%) scale(0);transition:transform .25s cubic-bezier(.22,1,.36,1);}
nav a.nl:hover{color:#fff;}
nav a.nl:hover::after{transform:translateY(-50%) scale(1);}
header.solid nav a.nl{color:var(--ink-soft);}
header.solid nav a.nl:hover{color:var(--blue);}
.menu-btn{display:none;background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1;}
header.solid .menu-btn,header.open .menu-btn{color:var(--blue);}
@media(max-width:900px){
  .menu-btn{display:block;}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:8px;padding:18px var(--mx) 24px;box-shadow:0 12px 24px rgba(15,30,99,.12);}
  header.open nav{display:flex;}
  header.open{background:var(--paper);}
  header.open nav a.nl{color:var(--ink-soft);font-size:16px;}
}

/* HERO — each page carries its own hero styles inline; shared bits only here */
@keyframes coralBreath{0%,100%{transform:scale(1);}50%{transform:scale(1.16);}}
@keyframes seamBreath{0%,100%{opacity:.55;}50%{opacity:1;}}
.hero-logo .ll{display:block;font-family:var(--fd);font-weight:800;letter-spacing:-0.03em;color:#fff;}
.hero-logo .lc{display:block;font-family:var(--fd);font-weight:700;letter-spacing:-0.01em;color:#fff;margin-top:8px;}
.hero-logo .sl{color:var(--coral);}
.hero-eyebrow{font-family:var(--fb);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--coral);}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:center;}
@media(max-width:820px){.split{grid-template-columns:1fr;}}
.media{border-radius:18px;overflow:hidden;background:var(--paper-2);}
.media img{width:100%;height:100%;object-fit:cover;}
.media.contain{background:#fff;display:flex;align-items:center;justify-content:center;padding:30px;}
.media.contain img{object-fit:contain;}
.figcap{font-size:12.5px;color:var(--ink-soft);margin-top:10px;letter-spacing:.03em;}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px;}
.tag{font-size:13px;font-weight:500;color:var(--blue);background:#fff;border:1px solid var(--paper-2);border-radius:999px;padding:7px 15px;}

/* THERAPIE */
.therapien{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:1.5px solid var(--paper-2);border-bottom:1.5px solid var(--paper-2);}
.therapie{padding:26px 10px;display:flex;align-items:center;gap:14px;border-left:1px solid var(--paper-2);}
.therapie:first-child{border-left:none;}
.tmark{width:11px;height:11px;border-radius:50%;background:var(--coral);flex:none;transform-origin:center;animation:coralBreath 3.1s ease-in-out infinite;}
.therapie h3{font-size:21px;color:var(--blue);}
.lead-in{margin-top:30px;font-weight:600;color:var(--blue);font-size:clamp(16px,1.3vw,18px);}
.note-immun{margin-top:24px;font-size:15px;color:var(--ink-soft);max-width:66ch;}
@media(max-width:760px){.therapien{grid-template-columns:1fr;}.therapie{border-left:none;border-top:1px solid var(--paper-2);}.therapie:first-child{border-top:none;}}

/* LEITBILD */
.leitbild{background:var(--blue);color:#fff;position:relative;overflow:hidden;}
.leitbild .breath{opacity:.8;}
.leitbild-head{position:relative;z-index:2;max-width:64ch;}
.leitbild-claim{font-family:var(--fd);font-weight:800;font-size:clamp(24px,3.4vw,38px);letter-spacing:-0.02em;line-height:1.08;margin-top:14px;}
.leitbild .lead{color:#fff;}
.leitbild-intro{color:var(--sky-soft);margin-top:16px;font-size:clamp(15px,1.15vw,17px);}
.values{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:54px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:18px;overflow:hidden;}
@media(max-width:760px){.values{grid-template-columns:1fr;}}
.value{background:var(--blue);padding:34px;}
.vmark{width:10px;height:10px;border-radius:50%;background:var(--coral);display:block;transform-origin:center;animation:coralBreath 3.1s ease-in-out infinite;}
.value h3{font-size:23px;color:#fff;margin-top:16px;}
.value p{color:var(--sky-soft);font-size:15px;margin-top:12px;}
.leitbild-foot{position:relative;z-index:2;color:var(--sky);font-size:14px;margin-top:36px;max-width:74ch;}

/* STUDIEN */
.studien-links{display:flex;flex-direction:column;gap:0;margin-top:24px;}
.studien-links a{font-family:var(--fd);font-weight:600;font-size:clamp(16px,1.7vw,20px);color:var(--blue);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--paper-2);padding:18px 0;transition:padding-left .25s;}
.studien-links a:last-child{border-bottom:1px solid var(--paper-2);}
.studien-links a:hover{padding-left:10px;}
.studien-links a .arrow{color:var(--coral);}

/* FOOTER */
footer{background:var(--blue-deep);color:var(--sky);padding:56px var(--mx) 40px;}
.foot-main{display:grid;grid-template-columns:1fr auto;gap:clamp(30px,5vw,60px);align-items:start;}
.foot-brand .bn{font-family:var(--fd);font-weight:700;font-size:20px;color:#fff;}
.foot-brand .bc{font-family:var(--fd);font-weight:600;font-size:13px;color:var(--sky);letter-spacing:.5px;}
.foot-brand .sl{color:var(--coral);}
.foot-brand-contact{font-size:13.5px;color:var(--sky);line-height:1.75;margin-top:16px;max-width:42ch;}
.foot-brand-contact a{color:var(--sky);text-decoration:none;}
.foot-brand-contact a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:3px;}
.fc-col h4{font-family:var(--fd);font-weight:700;font-size:15px;color:#fff;margin-bottom:8px;}
.fc-col p{font-size:13.5px;color:var(--sky);line-height:1.75;}
.fc-col a{color:var(--sky);text-decoration:none;}
.fc-col a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:3px;}
.foot-logos{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.foot-logos .hp{height:60px;background:#fff;border-radius:12px;padding:12px 18px;display:flex;align-items:center;text-decoration:none;}
.foot-logos .hp img{max-height:34px;width:auto;}
@media(max-width:760px){.foot-main{grid-template-columns:1fr;gap:30px;}}
.foot-meta{margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:var(--sky);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.foot-legal{color:var(--sky);text-decoration:none;font-weight:600;}
.foot-legal:hover{color:#fff;}

/* MOTION */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);}
.reveal.in{opacity:1;transform:none;}
.hero-inner>*{opacity:0;animation:heroIn .9s cubic-bezier(.22,1,.36,1) forwards;}
.hero-inner>*:nth-child(1){animation-delay:.05s;}
.hero-inner>*:nth-child(2){animation-delay:.16s;}
.hero-inner>*:nth-child(3){animation-delay:.30s;}
.hero-inner>*:nth-child(4){animation-delay:.44s;}
.hero-inner>*:nth-child(5){animation-delay:.56s;}
@keyframes heroIn{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){
  .b-circle,.sectmark,.tmark,.vmark{animation:none!important;}
  .hero-inner>*{opacity:1;animation:none;}
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}
