/* LeeR_Stelle · Kontor · leerstelle-kontor.de
   Das zweite Haus der Marke: Papier, Tinte, Stempel. Alle Schriften lokal. */

@font-face{font-family:"Anton";src:url(../fonts/anton-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(../fonts/barlow-semi-condensed-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(../fonts/barlow-semi-condensed-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(../fonts/barlow-semi-condensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --papier:#efe7d6;
  --papier-2:#e6dcc7;
  --karte:#f8f4ea;
  --tinte:#141416;
  --text:#2a2826;
  --leise:#5a554c;
  --linie:rgba(20,20,22,.16);
  --rot:#c4322b;
  --rot-dunkel:#a3261f;
  --display:"Anton",Impact,"Arial Narrow",sans-serif;
  --label:"Barlow Semi Condensed","Arial Narrow",sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --breite:1180px;
  --rand:40px;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--papier);scroll-behavior:smooth;overflow-x:clip}
body{margin:0;color:var(--text);font-family:var(--serif);font-size:19px;line-height:1.55;overflow-x:clip;
  background:radial-gradient(ellipse 70% 50% at 80% 0%,rgba(196,50,43,.06),rgba(196,50,43,0) 60%),
             repeating-linear-gradient(0deg,rgba(20,20,22,.025) 0 1px,transparent 1px 34px),var(--papier)}
img,svg{max-width:100%}
a{color:var(--tinte)}
a:focus-visible{outline:3px solid var(--rot);outline-offset:3px}
.wrap{width:100%;max-width:calc(var(--breite) + 2 * var(--rand));margin:0 auto;padding:0 var(--rand)}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--tinte);color:var(--papier);padding:10px 16px;font-family:var(--label);font-weight:700;text-decoration:none}
.skip:focus{top:12px}

/* Kopf */
.kopf{border-bottom:2px solid var(--tinte);background:rgba(239,231,214,.92)}
.kopf .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.marke{display:inline-flex;align-items:center;gap:12px;text-decoration:none;line-height:0}
.marke .rune{width:32px;height:32px;flex:none;color:var(--rot)}
.marke img{height:34px;width:auto}
.haus{font-family:var(--label);font-weight:700;font-size:14px;letter-spacing:.24em;text-transform:uppercase;line-height:1;color:var(--rot);border:2px solid var(--rot);padding:6px 9px 5px;transform:rotate(-3deg)}
.nav{display:flex;gap:30px;font-family:var(--label);font-weight:600;font-size:15px;letter-spacing:.16em;text-transform:uppercase}
.nav a{text-decoration:none;padding:10px 0;white-space:nowrap}
.nav a:hover{box-shadow:inset 0 -3px 0 var(--rot)}

/* Typografie */
.kicker{margin:0;display:flex;align-items:center;gap:12px;font-family:var(--label);font-weight:600;font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--leise)}
.kicker .punkt{display:inline-block;width:12px;height:12px;background:var(--rot)}
.kicker .eigen{text-transform:none;letter-spacing:.12em}
h1,h2{font-family:var(--display);font-weight:400;text-transform:uppercase;color:var(--tinte);line-height:.9;margin:18px 0 0}
h1{font-size:clamp(64px,10vw,140px)}
h2{font-size:clamp(46px,6vw,84px)}
.lead{margin:30px 0 0;font-size:clamp(21px,1.9vw,26px);line-height:1.45;color:var(--tinte);max-width:30ch}
.unter{margin:18px 0 0;font-style:italic;color:var(--leise);max-width:40ch}

/* Knöpfe */
.knoepfe{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.knopf{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border:2px solid var(--tinte);color:var(--tinte);text-decoration:none;font-family:var(--label);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;background:transparent;transition:transform .15s,box-shadow .15s}
.knopf:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--tinte)}
.knopf--voll{background:var(--tinte);color:var(--papier);box-shadow:6px 6px 0 var(--rot)}
.knopf--voll:hover{box-shadow:8px 8px 0 var(--rot)}

/* Held */
.held{padding:110px 0 120px}
.held-raster{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:60px;align-items:center}
.siegel{justify-self:center;width:min(340px,100%);aspect-ratio:1;border-radius:50%;border:6px double var(--rot);display:flex;align-items:center;justify-content:center;transform:rotate(-8deg);opacity:.92}
.siegel-innen{width:78%;aspect-ratio:1;border-radius:50%;border:2px solid var(--rot);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.siegel .rune{width:46%;height:auto;color:var(--rot)}
.siegel span{font-family:var(--label);font-weight:700;font-size:20px;letter-spacing:.34em;text-transform:uppercase;color:var(--rot);padding-left:.34em}

/* Abschnitte */
.abschnitt{padding:110px 0}
.abschnitt--linie{border-top:2px solid var(--tinte);background:rgba(230,220,199,.55)}
.karten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:56px}
.karte{position:relative;display:flex;flex-direction:column;background:var(--karte);border:1px solid var(--linie);padding:30px 28px 28px;box-shadow:0 1px 0 rgba(20,20,22,.08),10px 12px 0 rgba(20,20,22,.08);
  background-image:linear-gradient(var(--rot),var(--rot)),repeating-linear-gradient(0deg,transparent 0 31px,rgba(20,90,140,.12) 31px 32px);
  background-size:100% 3px,100% 100%;background-repeat:no-repeat,repeat;background-position:0 0,0 18px}
.karte:nth-child(1){transform:rotate(-.6deg)}
.karte:nth-child(2){transform:rotate(.5deg)}
.karte:nth-child(3){transform:rotate(-.3deg)}
.karte-nr{margin:0;font-family:var(--label);font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--rot)}
.karte h3{margin:10px 0 0;font-family:var(--display);font-weight:400;font-size:34px;line-height:1;text-transform:uppercase;color:var(--tinte)}
.karte p{margin:16px 0 0;font-size:18px;line-height:1.6}
.karte-fuss{margin-top:auto;padding-top:26px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.karte .knopf{min-height:46px;padding:10px 16px;font-size:13px}
.stempel{font-family:var(--label);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--rot);border:2px solid var(--rot);padding:6px 10px 5px;transform:rotate(-4deg);white-space:nowrap}

.regel-raster{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:60px;align-items:start}
.regeln{list-style:none;margin:0;padding:0;counter-reset:r}
.regeln li{counter-increment:r;padding:26px 0 26px 64px;border-top:1px solid var(--linie);position:relative}
.regeln li::before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:24px;font-family:var(--display);font-size:34px;line-height:1;color:var(--rot)}
.regeln h3{margin:0;font-family:var(--label);font-weight:700;font-size:21px;letter-spacing:.06em;text-transform:uppercase;color:var(--tinte)}
.regeln p{margin:8px 0 0}

.kontakt{border-top:2px solid var(--tinte)}
.kontakt-raster{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:60px;align-items:end}
.adresse{margin:30px 0 0;font-family:var(--display);font-size:clamp(26px,3.2vw,42px);line-height:1.1;word-break:break-word}
.adresse a{text-decoration:none;box-shadow:inset 0 -6px 0 rgba(196,50,43,.35)}
.verweis{border:2px solid var(--tinte);padding:26px;background:var(--karte)}
.verweis p{margin:0 0 18px}

/* Textseiten */
.textseite{padding:80px var(--rand) 110px;max-width:860px}
.textseite h1{font-size:clamp(54px,8vw,96px)}
.textseite h2{font-family:var(--label);font-weight:700;font-size:20px;letter-spacing:.08em;line-height:1.3;margin:42px 0 0}
.textseite address{font-style:normal}
.textseite .stand{margin-top:48px;color:var(--leise);font-size:16px}
.leer-seite{min-height:60vh;display:flex;flex-direction:column;justify-content:center;padding-top:80px;padding-bottom:80px}

/* Fuß */
.fuss{border-top:2px solid var(--tinte);padding:56px 0 34px;background:var(--papier-2)}
.fuss-raster{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start}
.fuss-marke{margin:0;display:flex;align-items:center;gap:12px;font-family:var(--label);font-weight:700;font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--tinte)}
.fuss-marke span{text-transform:none}
.fuss-marke .rune{width:24px;height:24px;color:var(--rot)}
.fuss .klein{margin:10px 0 0;font-size:16px;color:var(--leise)}
.fuss nav{display:flex;flex-direction:column;gap:8px;font-family:var(--label);font-weight:600;font-size:15px;letter-spacing:.08em}
.fuss nav a{text-decoration:none}
.fuss nav a:hover{text-decoration:underline}
.fuss-zeile{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-family:var(--label);font-weight:500;font-size:14px;letter-spacing:.1em;color:var(--leise)}

/* Schmal */
@media (max-width:980px){
  :root{--rand:20px}
  .nav{display:none}
  .kopf .wrap{min-height:70px}
  .marke img{height:26px}
  .marke .rune{width:26px;height:26px}
  .haus{font-size:12px}
  .held{padding:60px 0 80px}
  .held-raster,.regel-raster,.kontakt-raster{grid-template-columns:minmax(0,1fr);gap:44px}
  .siegel{width:min(240px,70%);justify-self:start}
  .abschnitt{padding:80px 0}
  .karten{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:40px}
  .karte{transform:none !important}
  .fuss-raster{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
  .knoepfe .knopf{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .knopf{transition:none}
}
