@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/nunito-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/nunito-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/nunito-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;}
/* Doktorfy GO: eine Komponente fuer doktorfy.de/go und go.doktorfy.de (Mockup 19.10.2026). Varianten nur per Klasse: go--center, go--noimg, go--nohead */
.go { --go-blue:#0e7cb8; --go-blue-d:#0a6597; --go-logo:#1a9fd4; --go-ink:#12202b; --go-mute:#566674; --go-line:#e3ecf2; --go-bg:#f2f8fc; --go-card:#fff;
  --go-r:14px; --go-s:8px; --go-max:1120px; --go-pad:32px;
  margin:0; font-family:'Nunito',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--go-ink); background:#fff; line-height:1.55; -webkit-font-smoothing:antialiased; }
.go *,.go *::before,.go *::after { box-sizing:border-box; }
.go a { color:inherit; }
.go-wrap { max-width:var(--go-max); margin:0 auto; padding:0 var(--go-pad); }
.go-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.go :focus-visible { outline:3px solid var(--go-logo); outline-offset:3px; border-radius:6px; }

/* Header */
.go-head { position:relative; z-index:5; background:#fff; border-bottom:1px solid var(--go-line); }
.go-head .go-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:68px; }
.go-logo img { display:block; height:30px; width:auto; }
.go-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }
.go-nav a { text-decoration:none; color:var(--go-ink); padding:12px 0; }
.go-nav a:hover { color:var(--go-blue); }
.go-nav .go-btn { color:#fff; padding:0 20px; }
.go-nav .go-btn:hover { color:#fff; }

/* Buttons */
.go a.go-btn, .go-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 32px; border-radius:var(--go-r); border:0; background:var(--go-blue); color:#fff; font:700 17px/1 inherit; font-family:inherit; text-decoration:none; cursor:pointer; transition:background .15s, transform .15s; }
.go a.go-btn:hover, .go-btn:hover { background:var(--go-blue-d); color:#fff; }
.go-btn:active { transform:translateY(1px); }
.go-btn--sm { min-height:44px; font-size:15px; }
.go-btn svg { width:18px; height:18px; }

/* Hero */
.go-hero { background:linear-gradient(180deg,#f6fbfe 0%,#fff 100%); }
.go-hero .go-wrap { display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding-top:72px; padding-bottom:72px; }
.go--noimg .go-hero .go-wrap { grid-template-columns:1fr; }
.go-pill { display:inline-block; padding:5px 14px; border-radius:99px; background:#e4f2fa; color:var(--go-blue); font-size:13px; font-weight:700; letter-spacing:.2px; }
.go-hero h1 { margin:20px 0 16px; font-size:clamp(34px,5vw,52px); line-height:1.08; font-weight:800; letter-spacing:-.02em; }
.go-lead { margin:0 0 28px; max-width:520px; font-size:18px; color:var(--go-mute); }
.go-trust { display:flex; flex-wrap:wrap; gap:12px 28px; margin:28px 0 0; padding:0; list-style:none; font-size:14px; color:var(--go-mute); }
.go-trust li { display:inline-flex; align-items:center; gap:8px; }
.go-trust svg { width:18px; height:18px; color:var(--go-blue); flex:none; }
.go-art { display:flex; justify-content:center; }
.go-art img { width:100%; max-width:460px; height:auto; display:block; }

.go--center .go-hero .go-wrap { grid-template-columns:1fr; text-align:center; padding-top:56px; padding-bottom:56px; }
.go--center .go-lead { margin-left:auto; margin-right:auto; }
.go--center .go-trust { justify-content:center; }
.go--center .go-brand { display:flex; justify-content:center; margin-bottom:28px; }
.go-brand img { height:34px; width:auto; }
.go--bg .go-hero { background:linear-gradient(180deg,#e8f3fa 0%,#f2f8fc 100%); }

/* Sektionen */
.go-sec { padding:72px 0; }
.go-sec--soft { background:var(--go-bg); }
.go--center .go-sec { padding:32px 0; background:transparent; }
.go-card-sec { background:var(--go-card); border:1px solid var(--go-line); border-radius:20px; padding:48px 40px; }
.go-sec h2 { margin:0 0 40px; text-align:center; font-size:clamp(26px,3.4vw,34px); font-weight:800; letter-spacing:-.01em; }
.go-grid { display:grid; gap:32px; margin:0; padding:0; list-style:none; }
.go-grid--3 { grid-template-columns:repeat(3,1fr); }
.go-grid--4 { grid-template-columns:repeat(4,1fr); }
.go-item { text-align:center; }
.go-ic { position:relative; display:flex; align-items:center; justify-content:center; width:72px; height:72px; margin:0 auto 16px; border-radius:50%; background:#e4f2fa; color:var(--go-blue); }
.go-ic svg { width:32px; height:32px; }
.go-num { position:absolute; top:-4px; right:-4px; width:26px; height:26px; border-radius:50%; background:var(--go-blue); color:#fff; font-size:13px; font-weight:800; line-height:26px; }
.go-item h3 { margin:0 0 6px; font-size:17px; font-weight:800; }
.go-item p { margin:0 auto; max-width:260px; font-size:14.5px; color:var(--go-mute); }

/* FAQ */
.go-faq { max-width:760px; margin:0 auto; }
.go-faq details { border-bottom:1px solid var(--go-line); }
.go-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:14px 4px; cursor:pointer; list-style:none; font-weight:700; font-size:16.5px; }
.go-faq summary::-webkit-details-marker { display:none; }
.go-faq summary svg { width:18px; height:18px; flex:none; transition:transform .2s; color:var(--go-mute); }
.go-faq details[open] summary svg { transform:rotate(90deg); }
.go-faq .go-ans { padding:0 4px 18px; color:var(--go-mute); font-size:15.5px; }
.go-faq .go-ans p { margin:0; }

/* Schluss-CTA */
.go-end { padding:80px 0; text-align:center; }
.go--center .go-end { padding:56px 0 72px; }
.go-end h2 { margin:0 0 10px; font-size:clamp(28px,3.8vw,38px); font-weight:800; }
.go-end p { margin:0 0 28px; color:var(--go-mute); font-size:17px; }

/* Footer */
.go-foot { border-top:1px solid var(--go-line); background:#fff; font-size:13.5px; color:var(--go-mute); }
.go-foot .go-wrap { padding-top:28px; padding-bottom:28px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 32px; }
.go-foot nav { display:flex; flex-wrap:wrap; gap:4px 20px; }
.go-foot a { color:var(--go-mute); text-decoration:none; padding:10px 0; display:inline-block; }
.go-foot a:hover { color:var(--go-blue); text-decoration:underline; }
.go--center .go-foot .go-wrap { justify-content:center; text-align:center; }

/* Einwilligung */
.go-consent { position:fixed; left:16px; right:16px; bottom:16px; z-index:20; max-width:560px; margin:0 auto; padding:16px 18px; background:#fff; border:1px solid var(--go-line); border-radius:var(--go-r); box-shadow:0 8px 32px rgba(18,32,43,.16); font-size:14px; }
.go-consent[hidden] { display:none; }
.go-consent p { margin:0 0 12px; color:var(--go-mute); }
.go-consent div { display:flex; gap:10px; flex-wrap:wrap; }
.go-consent button { min-height:44px; padding:0 18px; border-radius:10px; font:700 14px inherit; font-family:inherit; cursor:pointer; border:1px solid var(--go-line); background:#fff; color:var(--go-ink); }
.go-consent button.go-yes { background:var(--go-blue); border-color:var(--go-blue); color:#fff; }

@media (max-width:900px) {
  .go { --go-pad:20px; }
  .go-hero .go-wrap { grid-template-columns:1fr; gap:32px; padding-top:40px; padding-bottom:48px; }
  .go-art { order:2; }
  .go-grid--3 { grid-template-columns:1fr; gap:28px; }
  .go-grid--4 { grid-template-columns:1fr 1fr; gap:28px 16px; }
  .go-nav a:not(.go-btn) { display:none; }
  .go-sec { padding:48px 0; }
  .go-card-sec { padding:32px 20px; }
  .go-end { padding:56px 0; }
}
@media (max-width:560px) {
  .go-grid--4 { grid-template-columns:1fr; }
  .go-btn { width:100%; }
  .go-nav .go-btn { width:auto; }
  .go-hero h1 { font-size:34px; }
  .go-item { display:grid; grid-template-columns:72px 1fr; gap:0 16px; text-align:left; align-items:center; }
  .go-item .go-ic { margin:0; grid-row:span 2; }
  .go-item p { margin:0; max-width:none; }
}
@media (prefers-reduced-motion:reduce) { .go *, .go *::before, .go *::after { transition:none !important; } }
.go-consent .go-consent-link { align-self:center; font-size:13px; color:var(--go-mute); }
.go a.go-btn { color:#fff; }
.go-logo { display:inline-flex; align-items:center; min-height:44px; }
