@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/Fraunces.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400 700;font-display:swap;src:url('fonts/Fraunces-Italic.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/HankenGrotesk.woff2') format('woff2')}

:root{
  --teal:#163832; --teal-soft:#1f4f45;
  --bg:#ffffff; --ink:#14100f; --muted:#5f5a54; --line:#e6e1d8;
  --c-teal:#2fb8a0; --c-blue:#3e77ce; --c-green:#74a93c; --c-violet:#6e45a8; --c-magenta:#c23b82; --c-coral:#e0663e; --c-ochre:#c98a3a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:500;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;text-align:center}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;font-variation-settings:"opsz" 72,"SOFT" 100,"WONK" 0;line-height:1.08;margin:0}
a{color:inherit}
img{max-width:100%;display:block}

nav{display:flex;align-items:center;justify-content:center;padding:16px 24px;max-width:1080px;margin:0 auto}
nav .links{font-size:14px;color:var(--muted);display:flex;gap:24px}
nav .links a{text-decoration:none}
nav .links a:hover{color:var(--ink)}

.hero-img{width:100%;height:auto;border-radius:14px}

.intro{margin-top:30px}
.lede{font-size:19px;max-width:62ch;margin:0 auto;color:#2c2823}

.claim-block{margin-top:46px}
.claim{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:500;font-variation-settings:"opsz" 72,"SOFT" 100,"WONK" 0;font-size:clamp(30px,4.6vw,50px);line-height:1.14;margin:0 auto 40px;max-width:22ch;color:var(--ink)}
.claim-block .lead{font-size:19px;margin:0 auto 22px;color:#2c2823;max-width:44ch}
.wrap > .claim{margin:96px auto}
.wrap > .claim:last-child{margin-bottom:56px}

.signup-embed{max-width:480px;margin:0 auto;min-height:60px}
.microcopy{font-size:14px;color:var(--muted);margin:14px 0 0}
.hero-alt{font-size:15px;color:var(--muted);margin:8px 0 0}
.hero-alt a{color:var(--teal);font-weight:700;text-decoration:none}
.hero-alt a:hover{text-decoration:underline}

.streak{height:8px;border-radius:8px;margin:64px 0;background:linear-gradient(90deg,var(--c-teal),var(--c-blue),var(--c-green),var(--c-violet),var(--c-magenta),var(--c-coral),var(--c-ochre));opacity:.85}

.eyebrow{font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:700;margin:0 0 12px}

.flow{list-style:none;padding:0;margin:6px auto 0;max-width:540px;text-align:left}
.flow li{position:relative;padding-left:24px;margin:0 0 16px;line-height:1.65}
.flow li::before{content:"";position:absolute;left:2px;top:11px;width:8px;height:8px;border-radius:2px;background:var(--teal)}
.flow li strong{color:var(--teal);font-weight:700}

.gallery-cap{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:18px}
.gallery-cap a{color:var(--teal);font-weight:700;text-decoration:none;font-size:15px}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tile{aspect-ratio:1;border-radius:12px;width:100%;height:100%;object-fit:cover;display:block;background:#f0ede7}
.t1{background:linear-gradient(135deg,var(--c-teal),var(--c-blue))}
.t2{background:linear-gradient(135deg,var(--c-violet),var(--c-magenta))}
.t3{background:linear-gradient(135deg,var(--c-green),var(--c-teal))}
.t4{background:linear-gradient(135deg,var(--c-coral),var(--c-ochre))}
.t5{background:linear-gradient(135deg,var(--c-magenta),var(--c-violet))}
.t6{background:linear-gradient(135deg,var(--c-blue),var(--c-green))}

.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px;display:flex;flex-direction:column;align-items:center}
.card.feat{border:2px solid var(--teal)}
.card .tag{background:var(--teal);color:#fff;font-size:12px;font-weight:700;padding:3px 12px;border-radius:20px;margin-bottom:12px;letter-spacing:.02em}
.card h3{font-size:26px;margin-bottom:6px}
.card p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 18px;flex:1}
.card .link{color:var(--teal);font-weight:700;text-decoration:none;font-size:15px}
.card .link:hover{text-decoration:underline}

.human{margin:64px auto;padding:32px;background:#fff;border:1px solid var(--line);border-radius:14px;font-family:"Fraunces",serif;font-weight:500;font-variation-settings:"opsz" 40,"SOFT" 100;font-size:24px;line-height:1.45;color:#2c2823;max-width:60ch}

footer{background:var(--teal);color:#eae7df;margin-top:24px}
footer .wrap{display:flex;align-items:center;justify-content:center;gap:14px 28px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px;font-size:14px}
footer a{color:#eae7df;text-decoration:none;opacity:.85}
footer a:hover{opacity:1}
footer .brand{font-family:"Fraunces",serif;font-weight:600;font-variation-settings:"SOFT" 100;font-size:18px;color:#fff}
.social{display:flex;gap:20px;align-items:center}
.social a{opacity:.85;display:inline-flex}
.social a:hover{opacity:1}
.social svg{width:22px;height:22px;display:block}

@media(max-width:820px){
  .paths{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(3,1fr)}
  .streak,.human{margin:44px auto}
  .wrap > .claim{margin:60px auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- text pages: guidelines, impressum, privacy, contact ---- */
.page{max-width:720px;margin:0 auto;padding:8px 24px 40px}
.title{text-align:center;margin-top:20px}
.title h1{font-family:"Fraunces",serif;font-weight:600;font-variation-settings:"opsz" 72,"SOFT" 100;font-size:clamp(34px,5vw,50px);line-height:1.1;margin:0}
.title p{color:var(--muted);max-width:56ch;margin:14px auto 0;font-size:16px}
.gist{background:#eef4f2;border:1px solid #d6e2dd;border-left:4px solid var(--teal);border-radius:12px;padding:18px 22px;margin:34px 0 40px;font-size:16px;color:#26302c;text-align:left}
.gist strong{color:var(--teal)}
.flow.rules{max-width:660px}
.flow.rules li{margin:0 0 22px;line-height:1.7;font-size:16.5px;color:#2c2823;padding-left:26px}
.flow.rules li::before{top:12px;width:9px;height:9px}
.legal{max-width:660px;margin:0 auto;text-align:left}
.legal h2{font-family:"Fraunces",serif;font-weight:600;font-variation-settings:"opsz" 40,"SOFT" 100;font-size:22px;margin:30px 0 8px;color:var(--ink)}
.legal p{margin:0 0 14px;color:#2c2823;font-size:16.5px}
.legal .ph{color:var(--muted)}
.legal a{color:var(--teal);font-weight:700;text-decoration:none}
.legal a:hover{text-decoration:underline}
.foot-note{text-align:center;color:var(--muted);font-size:14px;margin-top:36px}
.cta{text-align:center;margin:28px 0 8px}
.cta a{color:var(--teal);font-weight:700;text-decoration:none}
.cta a:hover{text-decoration:underline}
