/* ============================================================
   relaunch.at – zentrales Stylesheet
   Aufbau:
   1) Basis (alle Seiten)
   2) Startseite      -> gekapselt ueber body.home
   3) WordPress-Detailseite -> gekapselt ueber .tpl-detail
   Fonts: fonts/ liegt neben css/ (Pfad relativ: ../fonts/)
   ============================================================ */

/* Lokale Fonts – DSGVO-konform, kein Google-Request */
  @font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
  @font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
  @font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
  :root{
    --bg:#0d1117;
    --bg2:#161b22;
    --fg:#e6edf3;
    --muted:#8b949e;
    --line:#21262d;
    --accent:#4ec9b0;
    --accent-dim:#3a9a86;
    --max:1080px;
    --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--mono);
    background:var(--bg);color:var(--fg);
    line-height:1.7;font-size:15px;
    -webkit-font-smoothing:antialiased;
    background-image:
      linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px);
    background-size:32px 32px;
  }
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  a{color:inherit}
  ::selection{background:var(--accent);color:var(--bg)}
  header{
    position:sticky;top:0;z-index:20;
    background:rgba(13,17,23,.88);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px}
  .logo{font-weight:700;letter-spacing:-.02em;font-size:1.05rem;text-decoration:none}
  .logo span{color:var(--accent)}
  .logo .cursor{color:var(--accent);animation:blink 1.1s steps(1) infinite}
  @keyframes blink{50%{opacity:0}}
  .nav-links{display:flex;gap:24px;list-style:none}
  .nav-links a{text-decoration:none;font-size:.85rem;color:var(--muted);transition:color .2s}
  .nav-links a::before{content:"./";color:var(--accent)}
  .nav-links a:hover{color:var(--fg)}
  .nav-cta{font-size:.85rem;text-decoration:none;border:1px solid var(--fg);padding:8px 18px;border-radius:6px;transition:.2s}
  .nav-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
  .burger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--fg)}
  .burger svg{display:block}
  .mobile-menu{display:none;border-top:1px solid var(--line);background:var(--bg)}
  .mobile-menu.open{display:block}
  .mobile-menu a{display:block;padding:14px 24px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--muted)}
  .mobile-menu a::before{content:"./";color:var(--accent)}
  .breadcrumb{padding:22px 0 0;font-size:.78rem;color:var(--muted)}
  .breadcrumb a{text-decoration:none;color:var(--muted)}
  .breadcrumb a:hover{color:var(--fg)}
  .breadcrumb span{color:var(--accent);margin:0 6px}
  .breadcrumb .here{color:var(--accent)}
  .hero{padding:32px 0 56px}
  .prompt{display:flex;gap:12px;margin-bottom:24px;font-size:.8rem;color:var(--muted);flex-wrap:wrap}
  .prompt .p1{color:var(--accent)}
  .prompt .p2{color:var(--muted)}
  .prompt .p3{color:var(--muted)}
  .caret{display:inline-block;width:9px;height:16px;background:var(--accent);vertical-align:middle;animation:blink 1.1s steps(1) infinite}
  h1{
    font-size:clamp(1.6rem,4vw,2.5rem);
    line-height:1.25;letter-spacing:-.03em;font-weight:700;max-width:24ch;
  }
  h1 .hl{color:var(--accent)}
  h1 .hl2{color:var(--accent)}
  .hero p.lead{margin-top:20px;font-size:.95rem;color:var(--muted);max-width:58ch}
  .hero p.lead strong{color:var(--fg);font-weight:600}
  .hero-actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .micro-trust{font-size:.78rem;color:var(--muted)}
  .micro-trust strong{color:var(--accent);font-weight:600}
  .btn{
    text-decoration:none;padding:12px 24px;border-radius:6px;font-weight:600;font-size:.88rem;transition:.2s;font-family:var(--mono);
  }
  .btn-primary{background:var(--accent);color:var(--bg)}
  .btn-primary:hover{background:var(--accent-dim);color:var(--bg);box-shadow:0 0 24px rgba(78,201,176,.3)}
  .btn-ghost{border:1px solid var(--line);color:var(--fg)}
  .btn-ghost:hover{border-color:var(--fg)}
  .stars{
    display:inline-flex;align-items:center;gap:10px;margin-top:20px;
    padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:var(--bg2);
  }
  .stars .star-row{color:var(--accent);letter-spacing:2px;font-size:.95rem}
  .stars span.txt{font-size:.8rem;color:var(--muted)}
  .stars span.txt strong{color:var(--fg);font-weight:600}
  .hero-facts{margin-top:44px;display:flex;gap:40px;flex-wrap:wrap}
  .hero-facts div strong{display:block;font-size:1.35rem;letter-spacing:-.02em;color:var(--accent)}
  .hero-facts div{font-size:.8rem;color:var(--muted)}
  .content{display:grid;grid-template-columns:1fr 300px;gap:56px;padding:56px 0;border-top:1px solid var(--line)}
  .prose h2{font-size:clamp(1.2rem,2.6vw,1.6rem);letter-spacing:-.02em;line-height:1.3;margin:52px 0 18px}
  .prose h2:first-child{margin-top:0}
  .prose h2 .hl{color:var(--accent)}
  .prose p{color:#c2c9d1;max-width:62ch;font-size:.95rem;line-height:1.8;margin-bottom:18px}
  .prose ul{list-style:none;margin:16px 0}
  .prose li{padding:8px 0 8px 22px;position:relative;color:#c2c9d1;max-width:60ch;font-size:.92rem;line-height:1.7}
  .prose li::before{content:"–";position:absolute;left:0;color:var(--accent)}
  .prose blockquote{
    border-left:3px solid var(--accent);padding:8px 0 8px 20px;
    font-size:.98rem;line-height:1.7;margin:28px 0;color:var(--fg);
  }
  .check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
  .check{
    border:1px solid var(--line);border-radius:8px;padding:14px 14px 14px 42px;
    background:var(--bg2);position:relative;font-size:.85rem;color:#b6bec8;
  }
  .check::before{
    content:"✓";position:absolute;left:16px;top:12px;
    color:var(--accent);font-weight:700;
  }
  .aside{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:18px}
  .aside-card{border:1px solid var(--line);border-radius:10px;padding:22px;background:var(--bg2)}
  .aside-card h3{font-size:.92rem;margin-bottom:12px}
  .aside-card h3::before{content:"▸ ";color:var(--accent)}
  .aside-card ul{list-style:none}
  .aside-card li{font-size:.82rem;color:var(--muted);padding:5px 0 5px 16px;position:relative}
  .aside-card li::before{content:"–";position:absolute;left:0;color:var(--accent)}
  .aside-cta{background:var(--bg2)}
  .aside-cta .term{font-size:.75rem;color:var(--muted);margin-bottom:10px}
  .aside-cta .term strong{color:var(--accent);font-weight:400}
  .aside-cta p{font-size:.82rem;color:var(--muted);margin-bottom:16px}
  .aside-cta .btn{display:block;text-align:center;background:var(--accent);color:var(--bg)}
  .aside-cta .btn:hover{background:var(--accent-dim);box-shadow:0 0 24px rgba(78,201,176,.25)}
  .steps-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
  .step-mini{border-top:2px solid var(--line);padding-top:14px;transition:border-color .2s}
  .step-mini:hover{border-top-color:var(--accent)}
  .step-mini .cmd{color:var(--accent);font-size:.78rem;font-weight:700}
  .step-mini h3{margin:6px 0 4px;font-size:.92rem}
  .step-mini p{font-size:.8rem;color:var(--muted)}
  .refline{border-top:1px solid var(--line);padding:28px 0}
  .refline .rl-label{font-size:.78rem;color:var(--muted)}
  .others{padding:52px 0;border-top:1px solid var(--line)}
  .others-grid{margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .other-card{
    border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--bg2);
    text-decoration:none;display:block;transition:transform .2s, border-color .2s, box-shadow .2s;
  }
  .other-card:hover{transform:translateY(-3px);border-color:#3d444d;box-shadow:0 12px 32px rgba(0,0,0,.5)}
  .other-card h3{font-size:.95rem;margin-bottom:6px}
  .other-card h3::before{content:"▸ ";color:var(--accent)}
  .other-card p{font-size:.82rem;color:var(--muted)}
  .other-card .arrow{display:inline-block;margin-top:10px;font-size:.8rem;color:var(--accent);font-weight:600}
  .contact-box{
    border-radius:12px;padding:48px 40px;
    background:var(--bg2);border:1px solid var(--line);text-align:center;
  }
  .contact-box h2 .hl{color:var(--accent)}
  .contact-box p{margin:14px auto 0;color:var(--muted);max-width:48ch;font-size:.88rem}
  .contact-box .btn-primary{display:inline-block;margin-top:28px}
  footer{border-top:1px solid var(--line);padding:32px 0;font-size:.78rem;color:var(--muted)}
  .foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
  @media (max-width:900px){
    .content{grid-template-columns:1fr;gap:40px}
    .aside{position:static;flex-direction:row;flex-wrap:wrap}
    .aside-card{flex:1 1 260px}
    .others-grid{grid-template-columns:1fr 1fr}
    .steps-mini{grid-template-columns:1fr}
  }
  @media (max-width:640px){
    .nav-links,.nav-cta{display:none}
    .burger{display:block}
    body{overflow-x:hidden}
    .wrap{padding-left:24px;padding-right:24px}
    .hero{padding:28px 0 44px}
    .check-grid{grid-template-columns:1fr}
    .others-grid{grid-template-columns:1fr}
    .contact-box{padding:36px 28px}
    .hero-actions .btn{display:block;text-align:center}
    .aside{flex-direction:column}
    .mobile-menu a{padding:14px 24px}
  }


/* ============================================================
   Hero-Split: Text links, Headergrafik rechts
   ============================================================ */

.hero{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:inherit}
.hero-visual{position:relative;height:100%;min-height:260px;max-height:420px;border-radius:10px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.45)}
.hero-visual img{display:block}
.hero-text{min-width:0}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:28px;padding-left:24px;padding-right:24px}
  .hero-visual{max-height:220px}
}

/* ============================================================
   Nur Startseite (body.home)
   ============================================================ */

body.home .hero-meta{margin-top:56px;display:flex;gap:44px;flex-wrap:wrap}
body.home .hero-meta div strong{display:block;font-size:1.5rem;letter-spacing:-.02em;color:var(--accent)}
body.home .hero-meta div{font-size:.8rem;color:var(--muted)}
body.home .stars .star-row .empty{color:#3d444d}
body.home section{padding:76px 0;border-top:1px solid var(--line)}
body.home .sec-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
body.home .sec-head .comment{font-size:.8rem;color:var(--muted)}
body.home .sec-head .comment i{color:var(--muted);font-style:normal}
body.home h2{font-size:clamp(1.35rem,3vw,1.9rem);letter-spacing:-.02em;line-height:1.3;max-width:28ch}
body.home h2 .hl{color:var(--accent)}
body.home .sub{margin-top:14px;color:var(--muted);max-width:60ch;font-size:.92rem}
body.home .grid{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
body.home .card{border:1px solid var(--line);border-radius:10px;padding:24px;background:var(--bg2);
    transition:transform .2s, border-color .2s, box-shadow .2s;}
body.home .card:hover{transform:translateY(-3px);border-color:#3d444d;box-shadow:0 12px 32px rgba(0,0,0,.5)}
body.home .card .num{font-size:.72rem;font-weight:600;color:var(--accent)}
body.home .card h3{margin:10px 0 8px;font-size:.98rem;letter-spacing:-.01em}
body.home .card h3::before{content:"▸ ";color:var(--accent)}
body.home .card p{font-size:.85rem;color:var(--muted)}
body.home .card ul{margin-top:12px;list-style:none}
body.home .card li{font-size:.8rem;color:var(--muted);padding:3px 0 3px 16px;position:relative}
body.home .card li::before{content:"–";position:absolute;left:0;color:var(--accent)}
body.home .split{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
body.home .pill-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
body.home .pill{border:1px solid var(--line);border-radius:6px;padding:8px 14px;font-size:.8rem;background:var(--bg2);}
body.home .pill strong{color:var(--accent);font-weight:600}
body.home .terminal{background:#010409;border:1px solid var(--line);border-radius:10px;overflow:hidden;
    box-shadow:0 16px 40px rgba(0,0,0,.45);}
body.home .term-bar{display:flex;gap:7px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--bg2)}
body.home .term-bar i{width:11px;height:11px;border-radius:50%;display:block}
body.home .term-bar i:nth-child(1){background:#ff5f57}
body.home .term-bar i:nth-child(2){background:#febc2e}
body.home .term-bar i:nth-child(3){background:#28c840}
body.home .term-body{padding:20px;font-size:.8rem;line-height:1.9}
body.home .term-body .c{color:#8b949e}
body.home .term-body .k{color:var(--accent)}
body.home .term-body .s{color:var(--accent)}
body.home .term-body .f{color:var(--fg)}
body.home .term-body .n{color:var(--muted)}
body.home .term-body .out{color:var(--muted)}
body.home .steps{margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
body.home .step{border-top:2px solid var(--line);padding-top:16px;transition:border-color .2s}
body.home .step:hover{border-top-color:var(--accent)}
body.home .step .cmd{font-weight:700;color:var(--accent);font-size:.8rem}
body.home .step .cmd::before{content:"$ "}
body.home .step h3{margin:8px 0 6px;font-size:.95rem}
body.home .step p{font-size:.82rem;color:var(--muted)}
body.home .about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
body.home .about-grid p+p{margin-top:16px}
body.home .portrait{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg2);}
body.home .portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.85) contrast(1.05)}
body.home .portrait .caption{padding:12px 16px;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:center;}
body.home .portrait .caption b{color:var(--fg);font-weight:600}
body.home .about-facts{border:1px solid var(--line);border-radius:10px;padding:24px;background:var(--bg2);font-size:.85rem}
body.home .about-facts .file{color:var(--muted);font-size:.75rem;margin-bottom:8px}
body.home .about-facts div.row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}
body.home .about-facts div.row:last-child{border-bottom:none}
body.home .about-facts dt{color:var(--muted)}
body.home .about-facts dd{font-weight:600;margin:0}
body.home .about-facts .v{color:var(--accent)}
body.home .contact-box h2{margin:0 auto}
body.home .contact-alt{margin-top:20px;font-size:.78rem;color:var(--muted)}

@media (max-width:900px){
body.home .grid{grid-template-columns:1fr 1fr}
body.home .steps{grid-template-columns:1fr 1fr;gap:26px}
body.home .split,body.home .about-grid{grid-template-columns:1fr;gap:32px}
}

@media (max-width:640px){
body.home .grid{grid-template-columns:1fr}
body.home .steps{grid-template-columns:1fr}
}

/* ============================================================
   Nur WordPress-Detailseite (.tpl-detail)
   ============================================================ */

.tpl-detail .prose h2::before{content:"";}
.tpl-detail .prose blockquote::before{content:"// ";color:var(--accent)}
.tpl-detail .step-mini .cmd::before{content:"$ "}
.tpl-detail .refline ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 0;font-size:.85rem;color:var(--muted)}
.tpl-detail .refline li{padding:0}
.tpl-detail .refline li+li::before{content:"·";color:var(--accent);margin:0 12px}

/* Mobile: Hero nie am Rand – mindestens wrap-Padding */
@media (max-width:640px){
  .hero{padding-left:24px;padding-right:24px;box-sizing:border-box}
}