:root {
  --potensia-ink: #173c7a;
  --potensia-accent: #12bfd4;
  --potensia-surface: #f7fafc;
  --potensia-text: #182230;
  --potensia-border: #d7e0ea;
  --potensia-focus: #005fcc;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--potensia-text); background: var(--potensia-surface); font-family: system-ui, sans-serif; line-height: 1.6; }
a { color: var(--potensia-ink); }
img, svg, video, iframe { max-width: 100%; height: auto; }
pre, code, .content-entry__body { overflow-wrap: anywhere; }
.content-entry__body { overflow-x: auto; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--potensia-focus); outline-offset: 3px; }
.site-navigation a, .site-footer a, button, input, select, textarea { min-block-size: 2.75rem; }
.site-shell { width: min(100% - 2rem, 72rem); margin-inline: auto; }
.site-header, .site-footer { background: #fff; border-block: 1px solid var(--potensia-border); }
.site-header__inner { display: flex; min-width: 0; min-height: 4.5rem; gap: 1rem; align-items: center; justify-content: space-between; }
.site-brand { display: inline-block; max-width: 100%; color: var(--potensia-ink); font-size: 1.15rem; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.site-navigation { min-width: 0; }
.site-navigation ul { display: flex; flex-wrap: wrap; gap: 1rem; padding: 0; list-style: none; }
.site-navigation a { display: inline-flex; align-items: center; }
.site-main { padding-block: 3rem; }
main:focus { outline: 0; }
.hero, .content-entry, .empty-state { max-width: 48rem; }
.hero { padding-block: 2rem 3rem; }
.eyebrow { color: var(--potensia-ink); font-weight: 700; }
.content-entry { margin-block: 1.5rem; padding-block: 1.5rem; border-block-end: 1px solid var(--potensia-border); }
.content-entry__title { margin-block: 0 0.5rem; }
.site-footer { padding-block: 2rem; }
.skip-link { position: absolute; left: 1rem; top: 0; z-index: 10; padding: 0.5rem 0.75rem; transform: translateY(-200%); background: #fff; }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 42rem) {
  .site-header__inner { align-items: flex-start; flex-direction: column; padding-block: 1rem; }
  .site-navigation { width: 100%; }
  .site-navigation ul { margin: 0; gap: 0.5rem 1rem; }
  .site-main { padding-block: 2rem; }
}
