/* ============================================
   profile.css — Standalone-Expertenprofil
   (philipp-schmidt-m365-security[-en].html)

   Ersetzt den frueheren Inline-<style>-Block, der von der
   strikten CSP (style-src ohne 'unsafe-inline') geblockt wurde
   und die Seite unformatiert ausgeliefert hat.

   Bewusst schlank und eigenstaendig: keine SPA-Layoutregeln
   aus main.css, nur Marken-Fonts, Farben und Lesetypografie.
   ============================================ */

@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 700 800;
    font-display: swap;
    src: url('../fonts/raleway-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 700 800;
    font-display: swap;
    src: url('../fonts/raleway-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url('../fonts/ibm-plex-sans-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url('../fonts/ibm-plex-sans-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --pf-bg: #1e1e1e;
    --pf-surface: rgba(255, 255, 255, 0.04);
    --pf-border: rgba(255, 255, 255, 0.10);
    --pf-text: rgba(255, 255, 255, 0.82);
    --pf-text-strong: #ffffff;
    --pf-muted: rgba(255, 255, 255, 0.48);
    --pf-accent: #00CED1;
}

* { box-sizing: border-box; }

html { background: var(--pf-bg); }

body {
    font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    /* bewusst schmal: ~70-80 Zeichen Zeilenlaenge */
    max-width: 720px;
    margin: 0 auto;
    padding: 56px 20px 72px;
    line-height: 1.65;
    font-size: 16px;
    color: var(--pf-text);
    background: var(--pf-bg);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
    font-family: 'Raleway', 'IBM Plex Sans', sans-serif;
    color: var(--pf-text-strong);
    line-height: 1.25;
}

h1 { font-size: 1.9rem; margin: 0 0 18px; letter-spacing: -0.3px; }

h2 {
    font-size: 1.25rem;
    margin: 44px 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--pf-border);
}

h3 { font-size: 1rem; color: var(--pf-accent); margin: 22px 0 6px; }

p { margin: 0 0 14px; }

a { color: var(--pf-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--pf-accent); outline-offset: 2px; }

.meta {
    color: var(--pf-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin: 0 0 10px;
}

ul { padding-left: 20px; margin: 0 0 14px; }
li { margin-bottom: 7px; }

.grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 16px;
}

.grid > div {
    background: var(--pf-surface);
    border: 1px solid var(--pf-border);
    border-left: 3px solid var(--pf-accent);
    border-radius: 8px;
    padding: 14px 16px;
}

.grid h3 { margin-top: 0; }
.grid p { margin-bottom: 0; font-size: 14px; }

/* Sprachumschalter + Rueckweg zur Hauptseite */
.pf-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--pf-border);
    font-size: 14px;
}

/* Impressumspflicht (§ 5 TMG) — auf jeder Seite erreichbar */
.pf-legal {
    margin-top: 52px;
    padding-top: 20px;
    border-top: 1px solid var(--pf-border);
    font-size: 13px;
    color: var(--pf-muted);
    line-height: 1.6;
}

.pf-legal strong { color: var(--pf-text); font-weight: 600; }

@media (max-width: 700px) {
    .grid { grid-template-columns: 1fr; }
    body { padding: 36px 18px 56px; }
    h1 { font-size: 1.55rem; }
}
