/* easyfunding — Editorial-Design / V5
   Variante A als gemeinsame Designrichtung für alle sechs Seiten.
   Basisregeln stehen in styles.css, hier folgen die bewusst reduzierten Anpassungen. */

:root {
  --ink: #111318;
  --paper: #ffffff;
  --muted: #5c6471;
  --line: #dce2eb;
  --soft: #f6f8fc;
  --blue: #2159e8;
  --blue-soft: #ecf2ff;
}

body { color:var(--ink); }
.site-header { border-bottom:1px solid #e7ebf1; }
.wordmark { letter-spacing:-.075em; }
.primary-nav a { font-size:13px; color:#4e5360; }
.primary-nav a:hover { color:var(--blue); }
.primary-nav a[aria-current="page"] { text-decoration-thickness:1.5px; }
.site-footer { background:#fbfcff; border-top:1px solid #e4eaf3; }
.footer-layout { min-height:160px; }
.footer-description { color:#69707e; }

/* STARTSEITE — A / EDITORIAL */
.design-a .a-hero { position:relative;overflow:hidden; background:#fff; }
.design-a .a-hero-inner {
  position:relative;
  padding-top:clamp(104px,11vw,164px);
  padding-bottom:clamp(114px,11.5vw,174px);
}
.design-a .a-hero-copy { position:relative;z-index:2; }
.design-a .a-hero h1 {
  font-size:clamp(53px,6.8vw,102px);
  font-weight:600;
  letter-spacing:-.075em;
  line-height:1.065;
  margin:0 0 37px;
  text-wrap:balance;
}
.design-a .a-hero h1 span { color:var(--blue); }
.design-a .a-hero p {
  max-width:680px;
  font-size:clamp(17px,1.5vw,20px);
  color:#4b5361;
  line-height:1.66;
  margin:0;
}
.design-a .a-hero-shape {
  position:absolute;
  width:min(58vw,830px); height:min(58vw,830px);
  right:-28vw; top:4px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 25% 35%,#dce7ff 2%,#eff3ff 46%,rgba(247,249,255,.58) 62%,transparent 72%);
  opacity:.8;
}
.design-a .a-entry {
  display:block;
  position:relative;
  border-top:1px solid #dbe3ef;
  background:#fff;
  transition:background .22s;
}
.design-a .a-entry::before {
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--blue);opacity:0;
  transition:opacity .22s;
}
.design-a .a-entry:last-child { border-bottom:1px solid #dbe3ef; }
.design-a .a-entry-alt { background:#f2f6ff; }
.design-a .a-entry:hover { background:#eaf1ff; }
.design-a .a-entry:hover::before { opacity:1; }
.design-a .a-entry-content {
  display:grid;
  grid-template-columns:minmax(315px,1.05fr) minmax(320px,.95fr) 62px;
  gap:clamp(28px,4vw,65px);
  align-items:center;
  min-height:242px;
  padding-top:48px;padding-bottom:48px;
}
.design-a .a-entry h2 {
  font-size:clamp(34px,3.8vw,55px);
  font-weight:600;
  letter-spacing:-.061em;
  line-height:1.14;
  margin:0;
}
.design-a .a-entry p { color:#4b5361; font-size:16px; line-height:1.7; margin:0; max-width:520px; }
.design-a .a-entry-arrow {
  display:grid;place-items:center;
  color:var(--blue); font-size:31px;
  border:1px solid #9db5ef;
  background:rgba(255,255,255,.65);
  border-radius:50%;width:60px;height:60px;
  transition:background .22s,color .22s,transform .22s;
}
.design-a .a-entry:hover .a-entry-arrow { background:var(--blue);color:white;transform:translate(3px,-3px); }
.design-a .a-entry:focus-visible { outline-offset:-5px; }

/* UNTERSEITEN — einheitlicher redaktioneller Aufbau */
.page-hero {
  position:relative;
  isolation:isolate;
  padding-top:clamp(95px,10.5vw,153px);
  padding-bottom:clamp(94px,9vw,125px);
}
.page-hero::before {
  content:"";pointer-events:none;position:absolute;z-index:-1;
  right:clamp(-20px,-4vw,-60px);top:4px;
  width:clamp(310px,40vw,600px);height:clamp(310px,40vw,600px);
  background:radial-gradient(circle,#e8efff 0%,rgba(240,245,255,.55) 52%,transparent 72%);
  border-radius:50%;
}
.page-hero h1 {
  font-size:clamp(61px,8vw,116px);line-height:1.03;
  letter-spacing:-.075em;margin:0 0 58px;max-width:1100px;
}
.page-hero.compact-hero { padding-bottom:100px; }
.hero-meta { max-width:660px; margin-left:auto; }
.hero-meta p { font-size:clamp(18px,1.62vw,22px); line-height:1.58;color:#3d4756; }
.hero-meta .text-link { margin-top:32px; }
.with-rule { border-top:1px solid var(--line); }
.content-section { padding-top:94px; padding-bottom:112px; }
.content-section h2,.contact-section h2 { font-size:clamp(35px,4vw,59px);font-weight:600; }
.section-heading { margin:0 0 47px!important; }
.content-section h3 { color:#171a20; }
.prose-large p { color:#3f4652; }
.step-list { border-top:1px solid #dbe3ef; }
.step { border-bottom-color:#dbe3ef;padding:30px 0; }
.step>span { color:var(--blue); }
.step p { color:#525b68; }
.feature-grid article,.numbered-grid article { border-top:2px solid #dce7ff; padding-top:28px; }
.feature-grid article .feature-icon { color:var(--blue); }
.numbered-grid article>span { color:var(--blue); }

.model-section { padding-top:94px;padding-bottom:108px; }
.model-item { border:0;border-top:2px solid #b9cbf9;background:#f4f7ff;padding:27px;min-height:248px; }
.model-item h3 { font-size:27px; }
.model-item p { color:#505c70; }
.model-connector { color:#2c5be1; }
.model-result { background:#e9f0ff; }
.history-list article { border-color:#dde5ef; }
.history-list article:first-child { border-top:0; }
.history-year { color:var(--blue); }
.bottom-link { border-color:#e0e7f0; }

.logo-grid { background:#dce4ef; border-color:#dce4ef; }
.logo-card { min-height:157px; }
.logo-card:hover { background:#f3f7ff; }
.club-name { font-size:18px;letter-spacing:-.04em; }
.quote-card { background:#f2f6ff; }
.empty-quotes { border-top-color:#dce4ef; }
.team-card .portrait-placeholder { background:linear-gradient(130deg,#eff4ff,#e1eafe);color:#5680dc; }
.team-card h2 { margin-top:21px; }

.contact-section { padding-top:94px;padding-bottom:115px; }
.contact-form { max-width:680px; }
.field input,.field textarea { border:1px solid #ced7e5; background:#fff; }
.field input:focus,.field textarea:focus { border-color:var(--blue); }
.primary-button { background:var(--blue);border-color:var(--blue); }
.primary-button:hover { background:#1546c7;border-color:#1546c7; }
.text-link { border-bottom-color:#b2bfdb; }
.text-link:hover { border-bottom-color:var(--blue); }

@media(max-width:1090px) {
  .design-a .a-entry-content { grid-template-columns:minmax(0,1fr) minmax(0,.9fr) 54px; gap:25px; }
  .page-hero::before { right:-18px; }
}
@media(max-width:720px) {
  .design-a .a-hero-inner { padding-top:88px; padding-bottom:104px; }
  .design-a .a-hero h1 { font-size:clamp(44px,10vw,62px);margin-bottom:29px; }
  .design-a .a-hero p { font-size:16px;line-height:1.65; }
  .design-a .a-hero-shape { width:470px;height:470px;right:-347px;top:-35px; }
  .design-a .a-entry-content { grid-template-columns:minmax(0,1fr) 48px;gap:10px 12px;min-height:250px;padding-top:39px;padding-bottom:39px; }
  .design-a .a-entry h2 { font-size:clamp(32px,8vw,44px);grid-column:1; }
  .design-a .a-entry p { font-size:14px;line-height:1.62;grid-row:2;grid-column:1;padding-right:10px; }
  .design-a .a-entry-arrow { width:46px;height:46px;font-size:23px;grid-column:2;grid-row:1;align-self:center; }
  .page-hero { padding-top:90px;padding-bottom:74px; }
  .page-hero::before { width:400px;height:400px;right:-20px;top:-70px;opacity:.67; }
  .page-hero h1 { font-size:clamp(51px,10vw,78px);margin:0 0 37px; }
  .page-hero.compact-hero { padding-bottom:80px; }
  .hero-meta p { font-size:17px; }
  .content-section,.model-section,.contact-section { padding-top:63px;padding-bottom:76px; }
  .section-heading { margin-bottom:35px!important; }
  .model-item { min-height:auto; }
  .footer-layout { min-height:175px; }
}
@media(max-width:390px) {
  .design-a .a-hero h1 { font-size:42px; }
  .design-a .a-entry h2 { font-size:31px; }
  .page-hero h1 { font-size:51px; }
}
@media(prefers-reduced-motion:reduce) {
  .design-a .a-entry,.design-a .a-entry::before,.design-a .a-entry-arrow{transition:none;}
}


/* V7 – Verein: redaktionelle Aufgabenteilung */
.verein-roles { padding: 96px 0 102px; background:#fff; }
.verein-roles-heading { display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:47px; }
.verein-roles-heading h2 { font-size:clamp(35px,4vw,59px);font-weight:600;letter-spacing:-.061em;line-height:1.13;margin:0; }
.verein-roles-heading p { margin:0 0 5px;max-width:280px;color:var(--muted);font-size:15px;line-height:1.65; }
.verein-roles-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.verein-role-block { padding:38px 40px 46px;border:1px solid var(--line);background:#fafbff; }
.verein-role-highlight { background:#ecf2ff;border-color:#d7e4ff; }
.verein-role-block h3 { font-size:clamp(26px,2.7vw,38px);font-weight:600;letter-spacing:-.055em;line-height:1.16;margin:0 0 29px; }
.verein-role-block ul { list-style:none;margin:0;padding:0; }
.verein-role-block li { position:relative;border-top:1px solid rgba(92,110,140,.20);padding:14px 0 14px 25px;font-size:15.5px;line-height:1.55;color:#424c5c; }
.verein-role-block li::before { content:"";position:absolute;left:0;top:25px;width:7px;height:7px;background:var(--blue);border-radius:50%; }
.verein-role-block li:last-child { padding-bottom:0; }
@media (max-width:720px) {
  .verein-roles { padding:65px 0 75px; }
  .verein-roles-heading { display:block;margin-bottom:28px; }
  .verein-roles-heading p { margin-top:20px;max-width:450px; }
  .verein-roles-grid { grid-template-columns:1fr;gap:13px; }
  .verein-role-block { padding:29px 26px 33px; }
  .verein-role-block h3 { margin-bottom:20px; }
  .verein-role-block li { font-size:14px; }
}


/* V10 – Referenzen */
.references-hero { text-align:center; }
.references-hero::before {
  left:50%; right:auto; transform:translateX(-50%);
  top:0; width:clamp(330px,46vw,760px); height:clamp(330px,46vw,760px);
  background:radial-gradient(circle, #eef3ff 0%, rgba(239,244,255,.72) 48%, transparent 74%);
}
.references-intro { max-width:860px; margin:0 auto; }
.references-kicker {
  margin:0 0 18px; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; color:var(--blue);
}
.references-hero h1 { margin:0 0 30px; }
.references-lead { max-width:720px; margin:0 auto; }
.references-lead p { margin:0; font-size:clamp(18px,1.65vw,22px); line-height:1.65; color:#414a58; }
.references-cloud-section { padding-top:82px; padding-bottom:104px; }
.logo-cloud {
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:24px 22px; position:relative;
}
.logo-card--scatter {
  margin:0; width:clamp(145px, 14vw, 220px); min-height:140px;
  padding:20px 18px 18px; border:1px solid #dce4ef; background:rgba(255,255,255,.88);
  backdrop-filter: blur(6px); box-shadow:0 12px 30px rgba(22,33,60,.05);
  border-radius:20px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.logo-card--scatter img { width:100%; height:92px; object-fit:contain; display:block; }
.logo-card--scatter .club-name { font-size:12px; letter-spacing:.01em; font-weight:700; color:#49505e; text-align:center; line-height:1.35; }
.logo-card--scatter:hover {
  transform:translateY(-5px) rotate(0deg) !important; border-color:#b8ccfb; background:#fff;
  box-shadow:0 18px 42px rgba(33,89,232,.12);
}
.logo-card--scatter:nth-child(5n+1) { transform:translateY(8px) rotate(-2.1deg); }
.logo-card--scatter:nth-child(5n+2) { transform:translateY(-14px) rotate(1.8deg); }
.logo-card--scatter:nth-child(5n+3) { transform:translateY(18px) rotate(-1.2deg); }
.logo-card--scatter:nth-child(5n+4) { transform:translateY(-6px) rotate(2.3deg); }
.logo-card--scatter:nth-child(5n+5) { transform:translateY(12px) rotate(-1.6deg); }
.logo-card--scatter:nth-child(3n) { width:clamp(165px, 15.5vw, 238px); }
.logo-card--scatter:nth-child(7n) { background:#f4f7ff; }
.logo-card--scatter:nth-child(4n) { border-radius:28px; }
@media(max-width:720px) {
  .references-kicker { margin-bottom:14px; }
  .references-hero h1 { margin-bottom:24px; }
  .references-lead p { font-size:17px; }
  .references-cloud-section { padding-top:60px; padding-bottom:74px; }
  .logo-cloud { gap:14px 12px; }
  .logo-card--scatter, .logo-card--scatter:nth-child(3n) {
    width:calc(50% - 8px); min-height:122px; padding:15px 12px 14px; transform:none !important; border-radius:16px;
  }
  .logo-card--scatter img { height:70px; }
  .logo-card--scatter .club-name { font-size:11px; }
}
@media(max-width:420px) {
  .logo-card--scatter, .logo-card--scatter:nth-child(3n) { width:100%; }
}


/* V11 – Team: ruhige Porträt-Galerie, kurze Einleitung und präzise Rollen */
.team-hero { padding-bottom:clamp(78px,7.8vw,116px); }
.team-hero .team-intro { max-width:780px; margin-left:auto; }
.team-hero .team-intro p { font-size:clamp(18px,1.7vw,23px); line-height:1.6; color:#3e4755; margin:0; }
.team-section { padding-top:clamp(70px,7vw,110px); padding-bottom:clamp(85px,8vw,135px); }
.team-profiles { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); column-gap:clamp(18px,2.5vw,38px); row-gap:clamp(54px,5vw,85px); }
.team-profile { grid-column:span 2; min-width:0; }
.team-profile:nth-child(4){ grid-column:2 / span 2; }
.team-profile:nth-child(5){ grid-column:4 / span 2; }
.team-portrait { position:relative; overflow:hidden; width:100%; aspect-ratio:4/4.8; background:#edf2fb; }
.team-portrait-fallback { position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#f1f5fc,#e5edfc);color:#5f7fc5;letter-spacing:-.075em;font-size:clamp(56px,7vw,110px);font-weight:600; }
.team-portrait .team-photo { position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 30%;filter:saturate(.82) contrast(1.03);transition:filter .22s ease; }
.team-profile:hover .team-photo { filter:saturate(1) contrast(1.03); }
.team-profile-copy { padding-top:24px; }
.team-profile-copy h2 { margin:0 0 9px;font-size:clamp(25px,2.45vw,33px);font-weight:600;line-height:1.16;letter-spacing:-.055em; }
.team-profile-role { margin:0;font-weight:700;line-height:1.4;font-size:14px;color:#1b2540; }
.team-profile-area { margin:6px 0 18px; font-size:13px; color:var(--blue);font-weight:600; }
.team-profile-description { max-width:390px;margin:0;line-height:1.7;font-size:15px;color:#515b68; }
@media(max-width:950px){
  .team-profiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:54px 22px; }
  .team-profile,.team-profile:nth-child(4),.team-profile:nth-child(5){grid-column:auto;}
}
@media(max-width:600px){
  .team-hero .team-intro { margin-left:0; }
  .team-hero .team-intro p {font-size:17px;}
  .team-section {padding-top:58px;padding-bottom:70px;}
  .team-profiles {grid-template-columns:minmax(0,1fr);gap:55px;}
  .team-portrait {aspect-ratio:4/4.4;}
  .team-portrait-fallback {font-size:82px;}
  .team-profile-copy {padding-top:20px;}
  .team-profile-copy h2 {font-size:30px;}
  .team-profile-description {max-width:none;}
}
