/* === Design system (from new.css) === */
:root {
  --nc-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --nc-font-mono: Consolas, monaco, 'Ubuntu Mono', 'Liberation Mono', 'Courier New', Courier, monospace;

  --nc-tx-1: #000000;
  --nc-tx-2: #1A1A1A;
  --nc-bg-1: #FFFFFF;
  --nc-bg-2: #F6F8FA;
  --nc-bg-3: #E5E7EB;
  --nc-lk-1: #0070F3;
  --nc-lk-2: #0366D6;
  --nc-lk-tx: #FFFFFF;
  --nc-ac-1: #79FFE1;
  --nc-ac-tx: #0C4047;

  --nc-d-tx-1: #ffffff;
  --nc-d-tx-2: #eeeeee;
  --nc-d-bg-1: #000000;
  --nc-d-bg-2: #111111;
  --nc-d-bg-3: #222222;
  --nc-d-lk-1: #3291FF;
  --nc-d-lk-2: #0070F3;
  --nc-d-lk-tx: #FFFFFF;
  --nc-d-ac-1: #7928CA;
  --nc-d-ac-tx: #FFFFFF;

  /* Brand colors (from public.css) */
  --leadershipintech-color: #ec615c;
  --leadershipintech-accented-color: #e9453f;
}

@media (prefers-color-scheme: dark) {
  :root {
    --nc-tx-1: var(--nc-d-tx-1);
    --nc-tx-2: var(--nc-d-tx-2);
    --nc-bg-1: var(--nc-d-bg-1);
    --nc-bg-2: var(--nc-d-bg-2);
    --nc-bg-3: var(--nc-d-bg-3);
    --nc-lk-1: var(--nc-d-lk-1);
    --nc-lk-2: var(--nc-d-lk-2);
    --nc-lk-tx: var(--nc-d-lk-tx);
    --nc-ac-1: var(--nc-d-ac-1);
    --nc-ac-tx: var(--nc-d-ac-tx);
  }
}

* {
  margin: 0;
  padding: 0;
}

html, input, select, button {
  font-family: var(--nc-font-sans);
}

body {
  margin: 0 auto;
  max-width: 38em;
  padding: 20px 60px;
  background: var(--nc-bg-1);
  color: var(--nc-tx-2);
  font-size: 1.03rem;
  line-height: 1.5;
  overflow-x: hidden;
  word-break: break-word;
  overflow-wrap: break-word;
}

::selection {
  background: var(--nc-ac-1);
  color: var(--nc-ac-tx);
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.15;
  color: var(--nc-tx-1);
  padding-top: .875rem;
  margin-bottom: 0.75rem;
}

h1, h2, h3 {
  padding-bottom: 2px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--nc-bg-2);
}

h1 { font-size: 2.25rem; }
h2 { font-size: 1.85rem; }
h3 { font-size: 1.55rem; }
h4 { font-size: 1.25rem; margin-bottom: .3rem; }
h5 { font-size: 1rem; margin-bottom: .3rem; }
h6 { font-size: .875rem; margin-bottom: .3rem; }

a {
  color: var(--leadershipintech-color);
  text-decoration: underline;
}

a:hover {
  color: var(--leadershipintech-accented-color);
  text-decoration: none;
}

h1 a, h2 a, h3 a {
  text-decoration: none;
}

p, ul, ol, pre, blockquote, figure, table, dl, details {
  margin-bottom: 1rem;
}

ul, ol {
  padding-left: 2rem;
}

li {
  margin-top: .4rem;
}

code, pre, kbd, samp {
  font-family: var(--nc-font-mono);
}

code, kbd, samp {
  background: var(--nc-bg-2);
  border: 1px solid var(--nc-bg-3);
  border-radius: 4px;
  padding: 3px 6px;
  font-size: 0.9em;
}

pre {
  padding: 1rem 1.4rem;
  max-width: 100%;
  overflow: auto;
}

pre code {
  background: inherit;
  font-size: inherit;
  color: inherit;
  border: 0;
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
}

hr {
  border: 0;
  border-bottom: 1px solid var(--nc-bg-3);
  margin: 1rem auto;
}

blockquote {
  padding: 1.5rem;
  background: var(--nc-bg-2);
  border-left: 5px solid var(--nc-bg-3);
}

blockquote *:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}

/* === Layout (from public.css, adapted) === */
body > header {
  margin: 0;
  background: none;
  border: none;
  padding: 0 0 1rem 0;
}

header h1,
header h2,
header h3 {
  padding-bottom: 0;
  border-bottom: 0;
}

header > *:first-child {
  margin-top: 0;
  padding-top: 0;
}

header > *:last-child {
  margin-bottom: 0;
}

footer {
  margin-top: 2.5rem;
  text-align: center;
}

footer a {
  color: var(--leadershipintech-color);
}

/* === Logo & Header (from public.css) === */
.logo a {
  display: flex;
  text-decoration: none;
}

.logo .heading {
  font-size: 2.25rem;
  font-weight: bold;
  display: block;
  margin-left: 0.5em;
  margin-bottom: 0.5em;
  padding-top: 0;
  line-height: 64px;
  color: var(--leadershipintech-color);
}

.logo img {
  flex-shrink: 0;
  margin-bottom: 0;
}

.only-light { display: inline-block; }
.only-dark { display: none; }

@media (prefers-color-scheme: dark) {
  .only-light { display: none; }
  .only-dark { display: inline-block; }
}

.index h2 {
  margin-bottom: 0;
  font-size: 1.25em;
  border: none;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

/* === Responsive === */
@media screen and (max-width: 720px) {
  body {
    padding: 20px;
  }

  .logo a {
    display: block;
    text-align: center;
  }

  .logo .heading {
    margin-left: 0;
    line-height: 1.2;
  }
}
