:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #05070e;
  color: #eaf6ff;
}

* { box-sizing: border-box; }

body { margin: 0; min-width: 320px; background: #05070e; }

a { color: inherit; text-decoration: none; }

button { color: inherit; font: inherit; }

.page-shell { min-height: 100svh; padding: 1.5rem 1.25rem; }

.page-column { width: 100%; max-width: 28rem; margin: 0 auto; }

.topbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 2rem; }

.identity { display: flex; align-items: center; gap: .75rem; min-width: 0; }

.monogram { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(103,232,249,.6); border-radius: .75rem; background: rgba(103,232,249,.1); color: #a5f3fc; font-size: 1.25rem; font-weight: 700; }

.brand-name { margin: 0; font-size: 1.125rem; font-weight: 650; letter-spacing: -.02em; }

.brand-tagline { margin: .12rem 0 0; color: #67e8f9; font-size: .625rem; font-weight: 700; letter-spacing: .17em; white-space: nowrap; }

.language-switch { display: flex; flex: 0 0 auto; padding: .25rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(255,255,255,.05); font-size: .6875rem; font-weight: 700; }

.language-switch a { padding: .38rem .65rem; border-radius: 999px; color: #cbd5e1; }

.language-switch a[aria-current="page"] { background: #67e8f9; color: #06121d; }

.catalogue-card { padding: 1.5rem; border: 1px solid rgba(165,243,252,.2); border-radius: 1.5rem; background: #0a1728; box-shadow: 0 24px 55px rgba(0,0,0,.32); }

.eyebrow, .section-label { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

.eyebrow { color: #67e8f9; }

h1 { margin: .75rem 0 0; font-size: clamp(1.8rem, 9vw, 2.15rem); line-height: 1.08; letter-spacing: -.035em; }

.intro { margin: .75rem 0 0; color: #cbd5e1; font-size: .875rem; line-height: 1.55; }

.primary-actions, .document-actions { display: grid; gap: .75rem; }

.primary-actions { margin-top: 1.5rem; }

.button { display: flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: .55rem; padding: .85rem 1rem; border-radius: 1rem; font-size: .875rem; font-weight: 700; }

.button-primary { background: #67e8f9; color: #06121d; }

.button-secondary { border: 1px solid rgba(165,243,252,.35); background: rgba(165,243,252,.05); }

.documents { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(207,250,254,.15); }

.section-label { margin-bottom: .75rem; color: #94a3b8; font-size: .6875rem; letter-spacing: .14em; }

.document-link { display: flex; width: 100%; min-height: 3.25rem; align-items: center; gap: .75rem; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.15); border-radius: 1rem; background: rgba(255,255,255,.05); text-align: left; font-size: .875rem; font-weight: 650; cursor: pointer; }

.document-link-featured { border-color: #fff; background: #fff; color: #0f172a; }

svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.document-link:not(.document-link-featured) svg { color: #67e8f9; }

.document-link-featured svg { color: #0e7490; }

.button:hover, .document-link:hover, .language-switch a:hover { filter: brightness(1.08); }

.button:focus-visible, .document-link:focus-visible, .language-switch a:focus-visible { outline: 3px solid #fde68a; outline-offset: 3px; }

.share-status { min-height: 1.2rem; margin: .65rem .2rem 0; color: #a5f3fc; font-size: .75rem; }

.footer-copy, .noscript { margin: 1.25rem auto 0; color: #64748b; text-align: center; font-size: .75rem; line-height: 1.55; }

@media (max-width: 370px) {
  .page-shell { padding-inline: .8rem; }
  .catalogue-card { padding: 1.2rem; }
  .brand-tagline { max-width: 8.5rem; overflow: hidden; text-overflow: ellipsis; }
}

@media (prefers-reduced-motion: no-preference) {
  .button, .document-link, .language-switch a { transition: filter .15s ease, transform .15s ease; }
  .button:active, .document-link:active { transform: translateY(1px); }
}
