/* Handwerker OS — Gestaltung „Planblatt“ wie Programm und Baustellen-App:
   tiefblauer Rahmen mit Planraster, warmes Papier, weiche Karten, Orange als Akzent.
   Gilt für /handwerker-os/ und die Unterseiten. /baustelle/ ist die App selbst und hat ihr eigenes CSS. */
@font-face{font-family:"Archivo";font-weight:400;font-display:swap;src:url("/fonts/archivo-latin-400-normal.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,U+2212}
@font-face{font-family:"Archivo";font-weight:400;font-display:swap;src:url("/fonts/archivo-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:"Archivo";font-weight:600;font-display:swap;src:url("/fonts/archivo-latin-600-normal.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,U+2212}
@font-face{font-family:"Archivo";font-weight:600;font-display:swap;src:url("/fonts/archivo-latin-ext-600-normal.woff2") format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:"Archivo";font-weight:700;font-display:swap;src:url("/fonts/archivo-latin-700-normal.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,U+2212}
@font-face{font-family:"Archivo";font-weight:700;font-display:swap;src:url("/fonts/archivo-latin-ext-700-normal.woff2") format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:"Archivo";font-weight:800;font-display:swap;src:url("/fonts/archivo-latin-800-normal.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,U+2212}
@font-face{font-family:"Archivo";font-weight:800;font-display:swap;src:url("/fonts/archivo-latin-ext-800-normal.woff2") format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url("/fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:700;font-display:swap;src:url("/fonts/jetbrains-mono-latin-700-normal.woff2") format("woff2")}

:root{
  --rahmen:#14283A;--rahmen-text:#EEF3F7;--rahmen-leise:#A9BCCC;
  --raster:rgba(170,205,235,.06);--raster-stark:rgba(170,205,235,.14);
  --schild:#1C3448;--schild-rand:rgba(170,205,235,.30);--schild-linie:rgba(170,205,235,.22);--niete:#B7CBDB;
  --papier:#F4F1EA;--weiss:#FFFFFF;--flaeche:#E8ECEF;
  --ink:#13212E;--text-2:#38444F;--text-4:#4D6072;
  --linie:#E3E6E8;--rand:#CDD5DB;--rand-stark:#A8B6C3;--strich:#6F8AA1;
  --orange:#E85A1A;--orange-rand:#CF4D12;--orange-text:#B5410C;--auf-orange:#111820;
  --gewaehlt:#FDEEE3;--gewaehlt-rand:#EFC1A6;
  --radius:14px;--ecke:28px;
  --schatten:0 1px 2px rgba(20,40,58,.06),0 8px 24px rgba(20,40,58,.07);
  --schatten-tief:0 24px 60px rgba(9,20,31,.38),0 2px 8px rgba(9,20,31,.2);
  --body:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --plan:linear-gradient(var(--raster-stark) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(90deg,var(--raster-stark) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(var(--raster) 1px,transparent 1px) 0 0/16px 16px,linear-gradient(90deg,var(--raster) 1px,transparent 1px) 0 0/16px 16px,var(--rahmen);
  /* Lineal wie im Programm: feine Striche alle 12 px, lange alle 60 px */
  --lineal:linear-gradient(var(--rand-stark),var(--rand-stark)) left bottom/100% 1px no-repeat,repeating-linear-gradient(90deg,var(--rand-stark) 0 1px,transparent 1px 60px) left bottom/100% 10px no-repeat,repeating-linear-gradient(90deg,var(--rand-stark) 0 1px,transparent 1px 12px) left bottom/100% 5px no-repeat;
  --lineal-hell:linear-gradient(rgba(170,205,235,.45),rgba(170,205,235,.45)) left bottom/100% 1px no-repeat,repeating-linear-gradient(90deg,rgba(170,205,235,.45) 0 1px,transparent 1px 60px) left bottom/100% 10px no-repeat,repeating-linear-gradient(90deg,rgba(170,205,235,.45) 0 1px,transparent 1px 12px) left bottom/100% 5px no-repeat
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--rahmen)}
body{margin:0;color:var(--ink);font:400 18px/1.6 var(--body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;background:var(--papier)}
a{color:var(--ink);text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--orange-text)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.schmal{max-width:780px}
h1,h2,h3{font-family:var(--body);font-weight:800;line-height:1.06;letter-spacing:-.025em;margin:0;overflow-wrap:break-word;hyphens:manual}
h1{font-size:clamp(42px,6.6vw,76px)}
h2{font-size:clamp(30px,4.2vw,46px);margin-bottom:30px;padding-bottom:20px;background:var(--lineal)}
h3{font-size:21px;letter-spacing:-.015em;line-height:1.2;margin-bottom:8px}
p{margin:0 0 14px}
.mono,.betrag{font-family:var(--mono);font-weight:700;letter-spacing:-.02em}
section{padding:80px 0;scroll-margin-top:90px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* Kopf: Rahmen mit Planraster, darunter beginnt das Papier mit runden Ecken */
.kopf{background:var(--plan);color:var(--rahmen-text);position:relative;padding:14px 0 calc(14px + var(--ecke))}
.kopf::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:calc(var(--ecke) + 1px);background:var(--papier);border-radius:var(--ecke) var(--ecke) 0 0}
.kopf .wrap{display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:16px}
.marke{display:inline-flex;align-items:stretch;min-height:48px;color:var(--rahmen-text);text-decoration:none;border:1px solid var(--schild-rand);border-radius:8px;
  background:radial-gradient(circle at 6px 6px,var(--niete) 0 1.5px,transparent 2px),radial-gradient(circle at calc(100% - 6px) 6px,var(--niete) 0 1.5px,transparent 2px),radial-gradient(circle at 6px calc(100% - 6px),var(--niete) 0 1.5px,transparent 2px),radial-gradient(circle at calc(100% - 6px) calc(100% - 6px),var(--niete) 0 1.5px,transparent 2px),var(--schild)}
.marke i{align-self:center;display:flex;width:32px;height:32px;margin:7px 9px 7px 12px;align-items:center;justify-content:center;background:var(--orange);color:var(--auf-orange);border-radius:7px;font:800 20px/1 var(--body);font-style:normal}
.marke>span{display:flex;align-items:center;gap:.35em;border-left:1px solid var(--schild-linie);padding:0 16px 0 13px;font-weight:800;font-size:17px;letter-spacing:.05em;text-transform:uppercase}
.marke:hover{color:var(--rahmen-text)}
.kopf-link{font-weight:700;font-size:17px;color:var(--rahmen-text);text-decoration:none;min-height:48px;display:inline-flex;align-items:center;padding:0 18px;border:1px solid rgba(238,243,247,.32);border-radius:var(--radius);background:rgba(238,243,247,.08)}
.kopf-link:hover{color:var(--rahmen-text);background:rgba(238,243,247,.16)}

/* Knöpfe */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 26px;font:800 18px/1.2 var(--body);text-decoration:none;color:var(--auf-orange);background:var(--orange);border:1px solid var(--orange-rand);border-radius:var(--radius);box-shadow:0 8px 18px rgba(232,90,26,.26);cursor:pointer;transition:transform .12s,box-shadow .12s,background-color .12s}
.knopf:hover{color:var(--auf-orange);transform:translateY(-1px);box-shadow:0 12px 24px rgba(232,90,26,.32)}
.knopf:active{transform:none;background:var(--orange-rand);box-shadow:none}
.knopf.hell{background:var(--weiss);color:var(--ink);border-color:var(--rand-stark);box-shadow:var(--schatten)}
.knopf.dunkel{background:var(--rahmen);color:var(--rahmen-text);border-color:var(--rahmen);box-shadow:0 8px 18px rgba(20,40,58,.22)}
.knopf.gross{min-height:64px;font-size:20px;padding:16px 30px}
.knopf.folgt{opacity:.55;cursor:default}
.knopf.folgt::after{content:"Link folgt";font:500 15px var(--mono);margin-left:6px}
.knopf.bald,.knopf.bald:hover,.knopf.bald:active{background:var(--weiss);color:var(--ink);border:1.5px dashed var(--rand-stark);box-shadow:none;transform:none;cursor:default;text-align:center}

/* Held: auf dem Rahmen */
.kopf.schwebt{background:none;padding:14px 0 0}
.kopf.schwebt::after{display:none}
.held{background:var(--plan);color:var(--rahmen-text);padding:0 0 190px;position:relative}
.held .kopf+.wrap{padding-top:44px}
.held h1{color:var(--papier);padding-bottom:26px;background:var(--lineal-hell)}
.held h1 .akzent{color:var(--orange)}
.held .unter{font-size:22px;line-height:1.5;color:rgba(238,243,247,.84);max-width:720px;margin:26px 0 32px}
.held .knoepfe{display:flex;gap:16px;flex-wrap:wrap}
.held .knopf.hell{background:rgba(238,243,247,.08);color:var(--rahmen-text);border-color:rgba(238,243,247,.4);box-shadow:none}
.held .knopf.hell:hover{background:rgba(238,243,247,.16)}
.gewerke{margin:26px 0 0;font-size:17px;color:var(--rahmen-leise)}

/* Screenshot ragt aus dem Rahmen ins Papier */
.ueberlapp{position:relative;padding-top:0;padding-bottom:16px;display:flow-root}
.ueberlapp::after{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--ecke));height:calc(var(--ecke) + 1px);background:var(--papier);border-radius:var(--ecke) var(--ecke) 0 0}
.ueberlapp .wrap{position:relative;z-index:1;margin-top:-150px}
.fenster{border-radius:16px;overflow:hidden;background:var(--rahmen);box-shadow:var(--schatten-tief);outline:1px solid rgba(170,205,235,.22)}
.fenster .leiste{height:38px;background:#0E1D2A;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid rgba(170,205,235,.14)}
.fenster .leiste i{width:12px;height:12px;border-radius:50%;background:var(--rahmen-leise);opacity:.45}
.fenster .leiste i:first-child{background:var(--orange);opacity:1}
.fenster img{display:block;width:100%;height:auto}

/* Platzhalter (nur Entwurf) */
.platzhalter{border:2px dashed var(--orange);border-radius:var(--radius);background:var(--gewaehlt);color:var(--orange-text);font:700 17px/1.4 var(--mono);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px}
.marker{font:700 15px var(--mono);color:var(--orange-text);background:var(--gewaehlt);border:1.5px dashed var(--orange);border-radius:6px;padding:1px 8px;display:inline-block;max-width:100%}

/* Vorteile: weiche Karten */
.vorteile{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.vorteil{grid-column:span 2;background:var(--weiss);border:1px solid var(--rand);border-radius:var(--radius);padding:24px 24px 20px;box-shadow:var(--schatten)}
.vorteil:nth-child(4){grid-column:2/span 2}
.vorteil .nr{display:flex;align-items:center;gap:8px;font:700 15px var(--mono);letter-spacing:.04em;color:var(--text-4);margin-bottom:14px}
.vorteil .nr::before{content:"";width:9px;height:9px;background:var(--orange);border-radius:1px}
.vorteil p{color:var(--text-2);margin:0}

/* Geld: Karte im Rahmenblau */
.geld{padding:0 24px}
.geld .wrap{max-width:1032px;background:var(--plan);color:var(--rahmen-text);border-radius:22px;padding:60px 64px;box-shadow:0 18px 40px rgba(20,40,58,.18)}
.geld .satz{font-weight:800;font-size:clamp(27px,3.6vw,40px);line-height:1.2;letter-spacing:-.02em;max-width:820px;color:var(--papier)}
.geld .satz em{font-style:normal;color:var(--orange)}
.geld p.klein{color:rgba(238,243,247,.8);font-size:19px;margin:22px 0 0;max-width:640px}

/* Downloads */
.downloads .knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px}
.downloads .hinweis{font-size:19px;margin:24px 0 8px;color:var(--text-2)}
.sys{font-size:17px;color:var(--text-4)}

/* Preise */
.preise{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.karte{background:var(--weiss);border:1px solid var(--rand);border-radius:20px;padding:30px;box-shadow:var(--schatten);display:flex;flex-direction:column}
.karte.gruender{border:2px solid var(--orange);box-shadow:0 16px 36px rgba(232,90,26,.14)}
.karte .etikett{align-self:flex-start;max-width:100%;font:700 15px var(--mono);line-height:1.35;padding:5px 12px;border-radius:10px;background:var(--flaeche);color:var(--text-4);margin-bottom:18px}
.karte.gruender .etikett{background:var(--orange);color:var(--auf-orange)}
.karte .preis{font:800 clamp(46px,6vw,62px)/1 var(--body);letter-spacing:-.035em}
.karte.gruender .preis{color:var(--orange-text)}
.karte .preis small{font:500 18px var(--body);letter-spacing:0;color:var(--text-4);margin-left:8px}
.karte ul{list-style:none;padding:0;margin:22px 0 24px;flex:1}
.karte li{padding:11px 0 11px 26px;border-top:1px solid var(--linie);position:relative}
.karte li::before{content:"";position:absolute;left:2px;top:21px;width:9px;height:9px;background:var(--orange);border-radius:1px}
.karte .knopf{width:100%}
.vergleich{margin-top:28px;font-size:17px;color:var(--text-2)}
.ust{font-size:17px;color:var(--text-4);margin-top:14px}
.code-hinweis{font-size:17px;color:var(--text-2);margin:-8px 0 16px}
.code-hinweis b{font-size:17px;color:var(--ink);background:var(--gewaehlt);border:1.5px dashed var(--orange);border-radius:6px;padding:2px 8px;white-space:nowrap}

/* Fragen */
.fragen{margin:0}
.fragen dt{font-weight:800;font-size:21px;letter-spacing:-.01em;line-height:1.3;margin-top:0;padding-top:22px;border-top:1px solid var(--rand)}
.fragen dt:first-child{border-top:0;padding-top:0}
.fragen dd{margin:8px 0 24px;color:var(--text-2);max-width:70ch}

/* Fuß: wieder Rahmen */
.fuss{background:var(--plan);color:var(--rahmen-text);position:relative;margin-top:0;padding:calc(var(--ecke) + 26px) 0 40px;font-size:17px}
.fuss::before{content:"";position:absolute;left:0;right:0;top:-1px;height:calc(var(--ecke) + 1px);background:var(--papier);border-radius:0 0 var(--ecke) var(--ecke)}
.fuss .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.fuss ul{list-style:none;margin:0;padding:0;display:flex;gap:6px 26px;flex-wrap:wrap}
.fuss a{color:var(--rahmen-text);font-weight:600;display:inline-flex;min-height:48px;align-items:center;text-decoration:none}
.fuss a:hover{color:var(--orange)}
.fuss .copy{color:var(--rahmen-leise);font:500 15px var(--mono)}

/* Bilderschau */
.schau{max-width:960px;margin:0 auto;outline:none}
.buehne{position:relative}
.spur{display:flex;flex-wrap:nowrap;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:20px}
.spur::-webkit-scrollbar{display:none}
.folie{flex:0 0 100%;min-width:0;max-width:100%;scroll-snap-align:start;margin:0;border:1px solid var(--rand);border-radius:16px;overflow:hidden;background:var(--weiss);box-shadow:var(--schatten)}
.folie img{display:block;width:100%;height:auto;aspect-ratio:4/3;background:var(--papier)}
.folie figcaption{border-top:1px solid var(--linie);padding:13px 18px;font-weight:700;font-size:18px}
.pfeil{position:absolute;top:calc(50% - 52px);width:56px;height:56px;border:1px solid var(--rand-stark);border-radius:50%;background:var(--weiss);box-shadow:0 8px 20px rgba(20,40,58,.18);font:400 34px/1 var(--body);padding-bottom:4px;cursor:pointer;z-index:2;color:var(--ink)}
.pfeil.links{left:-28px}.pfeil.rechts{right:-28px}
.pfeil:hover:not(:disabled){background:var(--orange);border-color:var(--orange-rand);color:var(--auf-orange)}
.pfeil:disabled{opacity:0;pointer-events:none}
.zaehler{text-align:center;font:500 16px var(--mono);color:var(--text-4);margin:22px 0 10px}
.daumenleiste{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 4px 10px}
.daumenleiste::-webkit-scrollbar{display:none}
.daumen{flex:0 0 auto;width:88px;padding:0;border:2px solid var(--rand);border-radius:8px;overflow:hidden;background:var(--weiss);cursor:pointer;opacity:.7}
.daumen img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.daumen:hover{opacity:1}
.daumen.an{border-color:var(--orange);opacity:1}

/* Textseiten: Support, Datenschutz, Versionshinweise */
.textseite{padding:22px 0 64px}
.textseite .wrap{max-width:820px}
.crumbs{font-size:15px;color:var(--text-4);margin-bottom:22px}
.crumbs a{color:var(--text-4);text-decoration-color:var(--rand-stark)}
.textseite h1{font-size:clamp(36px,5.4vw,56px);padding-bottom:22px;margin-bottom:22px;background:var(--lineal)}
.textseite .lead{font-size:21px;line-height:1.5;color:var(--text-2);margin-bottom:8px}
.meta-line{font:500 15px var(--mono);color:var(--text-4)}
.legal h2{font-size:24px;letter-spacing:-.015em;line-height:1.2;margin:44px 0 12px;padding:0;background:none}
.legal p,.legal li{max-width:70ch}
.legal ul{padding-left:22px}
.legal li{margin-bottom:10px}
.legal li::marker{color:var(--orange)}
.legal :is(p,li,dd) a:not(.btn){color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.legal :is(p,li,dd) a:not(.btn):hover{color:var(--orange-text)}
.dl{margin:0;background:var(--weiss);border:1px solid var(--rand);border-radius:var(--radius);box-shadow:var(--schatten);padding:6px 24px}
.dl dt{font-weight:800;font-size:19px;line-height:1.3;padding-top:18px;border-top:1px solid var(--linie)}
.dl dt:first-child{border-top:0}
.dl dd{margin:6px 0 0;padding-bottom:18px;color:var(--text-2);max-width:70ch}
.callout{background:var(--gewaehlt);border:1px solid var(--gewaehlt-rand);border-radius:var(--radius);padding:18px 22px;margin:22px 0}
.callout b{display:block;font-size:15px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--orange-text);margin-bottom:6px}
.upsell{background:var(--plan);color:var(--rahmen-text);border-radius:20px;padding:28px 30px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:0 14px 32px rgba(20,40,58,.18)}
.upsell p{color:rgba(238,243,247,.86);font-size:18px;max-width:52ch}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:12px 22px;font:800 18px/1.25 var(--body);text-decoration:none;text-align:center;color:var(--auf-orange);background:var(--orange);border:1px solid var(--orange-rand);border-radius:var(--radius);box-shadow:0 8px 18px rgba(232,90,26,.3)}
.btn:hover{color:var(--auf-orange);background:#EE6A2E}
.version{background:var(--weiss);border:1px solid var(--rand);border-radius:var(--radius);box-shadow:var(--schatten);padding:22px 26px;margin-top:26px}
.version h2{font-size:26px;margin:0 0 6px;padding:0;background:none}
.version .datum{font:500 15px var(--mono);color:var(--text-4)}

@media (max-width:860px){
  section{padding:56px 0}
  .vorteile{grid-template-columns:1fr}
  .vorteil,.vorteil:nth-child(4){grid-column:auto}
  .preise,.downloads .knoepfe{grid-template-columns:1fr}
  .geld .wrap{padding:44px 32px}
}
@media (max-width:640px){
  .upsell{grid-template-columns:1fr;padding:22px}
  .upsell .btn{width:100%}
}
@media (max-width:560px){
  :root{--ecke:22px}
  body{font-size:18px}
  .wrap{padding:0 18px}
  .kopf{padding-top:10px}
  .kopf.schwebt{padding-top:10px}
  .marke>span{font-size:16px;padding:0 12px 0 11px}
  .marke span.lang{display:none}
  .kopf-link{padding:0 14px}
  .held{padding:0 0 120px}
  .held .kopf+.wrap{padding-top:30px}
  .held h1{padding-bottom:22px}
  .held .unter{font-size:20px;margin:22px 0 26px}
  .held .knoepfe{flex-direction:column}
  .held .knoepfe .knopf{width:100%}
  .ueberlapp .wrap{margin-top:-90px}
  .fenster{border-radius:12px}
  .fenster .leiste{height:28px;padding:0 12px;gap:6px}
  .fenster .leiste i{width:9px;height:9px}
  .geld{padding:0 12px}
  .geld .wrap{padding:36px 22px;border-radius:18px}
  .karte{padding:24px 22px}
  .dl{padding:4px 18px}
  .textseite{padding-top:14px}
}
@media (max-width:1040px){.pfeil.links{left:8px}.pfeil.rechts{right:8px}}
@media (max-width:560px){.pfeil{width:48px;height:48px;font-size:28px;top:calc(50% - 46px)}.daumen{width:68px}.folie figcaption{font-size:17px;padding:11px 14px}}
