/* Digital Generation — Fetchloop-Designsystem, mobile first */

@font-face{font-family:"DMSerif";src:url("../fonts/DMSerifDisplay-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --paper:#fbfbf9;
  --ink:#111315;
  --second:#41474b;
  --muted:#8a8f93;
  --rule:#e2e0da;
  --rule-d:#c9c6be;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:21px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}

/* ---------- Navigation ---------- */
.dg-nav{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:18px 26px 16px;border-bottom:1px solid var(--rule);
}
.dg-wordmark{font-weight:600;font-size:12px;letter-spacing:.20em;text-transform:uppercase}
.dg-navnote{font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ---------- Hero ---------- */
.dg-hero{padding:52px 26px 0}
.dg-hero .dg-eyebrow{margin-bottom:16px}
.dg-hero h1{font-family:"DMSerif",Georgia,serif;font-weight:400;font-size:46px;line-height:1.04;letter-spacing:-.005em}
.dg-hero .dg-sub{font-size:21px;line-height:1.5;color:var(--second);margin-top:26px}

/* ---------- Sektionen ---------- */
.dg-sec{padding:0 26px;margin-top:46px}
.dg-sec.dg-rule{border-top:1px solid var(--rule);padding-top:44px}
.dg-lab{margin-bottom:14px}
.dg-col > * + *{margin-top:26px}

.dg-eyebrow{font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

h2{font-family:"DMSerif",Georgia,serif;font-weight:400;font-size:31px;line-height:1.15;letter-spacing:-.004em}

.dg-core{font-size:21px;line-height:1.52;color:var(--ink)}
.dg-body{font-size:21px;line-height:1.52;color:var(--second)}

.dg-pull{
  font-family:"DMSerif",Georgia,serif;font-size:24px;line-height:1.28;
  color:var(--ink);border-left:2px solid var(--ink);padding-left:18px;
}

/* ---------- Vita ---------- */
.dg-portrait{margin-top:16px}
.dg-portrait img{width:172px}
.dg-name{font-family:"DMSerif",Georgia,serif;font-weight:400;font-size:27px;line-height:1.1}
.dg-col > .dg-name + .dg-role{margin-top:8px}
.dg-role{font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.dg-link{font-weight:500;font-size:15px;color:var(--ink)}
.dg-link:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- Prozess ---------- */
.dg-spine{border-left:1px solid var(--rule-d);padding-left:20px}
.dg-step + .dg-step{margin-top:24px}
.dg-step .n{font-family:"DMSerif",Georgia,serif;font-size:15px;color:var(--muted)}
.dg-step .t{font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-top:4px}
.dg-step .d{font-size:18px;line-height:1.45;color:var(--second);margin-top:7px}

/* ---------- Tests ---------- */
.dg-test{border-top:1px solid var(--rule);padding-top:18px}
.dg-test + .dg-test{margin-top:22px}
.dg-test .t{font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.dg-test .d{font-size:18px;line-height:1.45;color:var(--second);margin-top:8px}

/* ---------- Kennzahl ---------- */
.dg-figure{font-family:"DMSerif",Georgia,serif;font-size:72px;line-height:1;letter-spacing:-.02em}
.dg-figlabel{font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.dg-col > .dg-figure + .dg-figlabel{margin-top:10px}

/* ---------- Venture-Kachel ---------- */
.dg-tile{border:1px solid var(--rule-d);padding:22px 20px}
.dg-tile .vn{font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.dg-tile .vd{font-size:18px;line-height:1.45;color:var(--second);margin-top:10px}
.dg-tile .vl{font-weight:500;font-size:15px;color:var(--ink);margin-top:14px}
.dg-tile .vl:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- Abschluss ---------- */
.dg-cta{
  display:inline-block;font-weight:600;font-size:14px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--paper);background:var(--ink);padding:15px 26px;
}
.dg-cta:hover{opacity:.88}

.dg-footer{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  margin-top:52px;border-top:1px solid var(--rule);padding:22px 26px 46px;
}
.dg-footer span,.dg-footer a{font-weight:500;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dg-footer a:hover{color:var(--ink)}

/* ================= Desktop ================= */
@media (min-width:900px){
  body{font-size:17.5px;line-height:1.6}

  .dg-nav{padding:26px 96px 24px}
  .dg-wordmark{font-size:13px}
  .dg-navnote{font-size:11px}

  .dg-hero{padding:104px 96px 0}
  .dg-hero .dg-eyebrow{margin-bottom:26px}
  .dg-hero h1{font-size:68px;line-height:1.02;letter-spacing:-.012em;max-width:900px}
  .dg-hero .dg-sub{font-size:22px;margin-top:35px;max-width:600px}

  .dg-sec{display:flex;padding:0 96px;margin-top:70px}
  .dg-sec.dg-rule{padding-top:70px}
  .dg-lab{width:256px;flex:none;padding-right:56px;margin-bottom:0}
  .dg-col{width:660px;max-width:100%}
  .dg-col > * + *{margin-top:35px}

  .dg-eyebrow{font-size:11px}
  h2{font-size:34px;line-height:1.18;letter-spacing:-.006em;max-width:640px}
  .dg-core,.dg-body{font-size:17.5px;line-height:1.6}

  .dg-pull{font-size:26px;line-height:1.3;padding-left:24px}

  .dg-portrait{margin-top:40px}
  .dg-portrait img{width:200px}
  .dg-name{font-size:32px}
  .dg-col > .dg-name + .dg-role{margin-top:10px}
  .dg-role{font-size:11.5px}

  .dg-spine{padding-left:26px}
  .dg-step + .dg-step{margin-top:28px}
  .dg-step .n{font-size:16px}
  .dg-step .t{font-size:11.5px;margin-top:5px}
  .dg-step .d{font-size:17px;line-height:1.55;margin-top:8px}

  .dg-test{padding-top:22px}
  .dg-test + .dg-test{margin-top:26px}
  .dg-test .t{font-size:11.5px}
  .dg-test .d{font-size:17px;line-height:1.55;margin-top:9px}

  .dg-figure{font-size:104px;letter-spacing:-.025em}
  .dg-figlabel{font-size:11.5px}
  .dg-col > .dg-figure + .dg-figlabel{margin-top:14px}

  .dg-tile{padding:32px}
  .dg-tile .vd{font-size:17px;line-height:1.55;margin-top:14px}
  .dg-tile .vl{margin-top:20px}

  .dg-cta{padding:17px 30px}
  .dg-footer{margin-top:88px;padding:28px 96px 70px}
  .dg-footer span,.dg-footer a{font-size:11px}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}

/* ---------- Legal pages ---------- */

.dg-language-switch{display:flex;align-items:center;gap:8px;margin:0 0 34px;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--muted)}
.dg-language-switch a{text-decoration:none;color:var(--muted)}
.dg-language-switch a:hover,.dg-language-switch a.is-active{color:var(--ink)}
.dg-language-switch span{color:var(--rule-d)}
.dg-legal{padding:52px 26px 0}
.dg-legal-hero{max-width:760px;padding-bottom:42px}
.dg-legal-hero .dg-eyebrow{margin-bottom:16px}
.dg-legal-hero h1{font-family:"DMSerif",Georgia,serif;font-weight:400;font-size:46px;line-height:1.04;letter-spacing:-.005em}
.dg-legal-intro{font-size:19px;line-height:1.55;color:var(--second);margin-top:20px;max-width:650px}
.dg-legal-section,.dg-legal-grid{border-top:1px solid var(--rule);padding-top:30px;margin-top:30px;max-width:760px}
.dg-legal-section h2{font-size:27px;margin-bottom:18px}
.dg-legal-section h3,.dg-legal-grid h3{font-weight:600;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dg-legal-section p,.dg-legal-grid p{font-size:16px;line-height:1.65;color:var(--second)}
.dg-legal-section p + p{margin-top:15px}
.dg-legal-section strong{font-weight:600;color:var(--ink)}
.dg-legal-section a,.dg-legal-grid a{text-decoration:underline;text-decoration-color:var(--rule-d);text-underline-offset:3px}
.dg-legal-section a:hover,.dg-legal-grid a:hover{text-decoration-color:var(--ink)}
.dg-legal-grid{display:grid;grid-template-columns:1fr;gap:28px}
.dg-legal-language{margin-top:48px;padding-top:42px}
.dg-legal-language .dg-eyebrow{margin-bottom:15px}
.dg-legal-date{font-weight:500;color:var(--muted) !important}
.dg-legal code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}

@media (min-width:900px){
  .dg-legal{padding:92px 96px 0}
  .dg-legal-hero{padding-bottom:56px}
  .dg-legal-hero .dg-eyebrow{margin-bottom:24px}
  .dg-legal-hero h1{font-size:68px;line-height:1.02;letter-spacing:-.012em}
  .dg-legal-intro{font-size:19px;margin-top:28px}
  .dg-legal-section,.dg-legal-grid{padding-top:36px;margin-top:36px}
  .dg-legal-section h2{font-size:30px;margin-bottom:20px}
  .dg-legal-section p,.dg-legal-grid p{font-size:16.5px;line-height:1.68}
  .dg-legal-grid{grid-template-columns:1fr 1fr;gap:34px 56px}
  .dg-legal-language{margin-top:64px;padding-top:54px}
}
