@font-face {
  font-family: Manrope;
  src: url('../fonts/Manrope-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

/* Opt-in tokens and primitives for the app-wide theme rollout. */
.quantos-theme {
  --q-canvas: #f6f8fb;
  --q-surface: #ffffff;
  --q-ink: #172b46;
  --q-muted: #52647a;
  --q-blue: #2458d3;
  --q-blue-hover: #1745b2;
  --q-blue-soft: #e9effa;
  --q-line: #dce3ed;
  --q-loss: #a04a35;
  --q-radius-control: 7px;
  --q-radius-panel: 16px;
  --q-font: Manrope, 'Segoe UI', sans-serif;
  font-family: var(--q-font);
  background: var(--q-canvas);
  color: var(--q-ink);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.quantos-theme h1, .quantos-theme h2, .quantos-theme h3 {
  font-family: var(--q-font);
  color: var(--q-ink);
  font-weight: 650;
  letter-spacing: -.045em;
}
.quantos-theme p { color: var(--q-muted); line-height: 1.75; }
.quantos-theme a { transition: color 140ms ease, background-color 140ms ease; }
.quantos-theme :focus-visible { outline: 3px solid var(--q-blue); outline-offset: 5px; }
.quantos-theme ::selection { background: #cddcfc; color: var(--q-ink); }
.quantos-theme ::-webkit-scrollbar-thumb { background: #9aaabd; }
.q-container { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.q-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 13px 23px;
  border: 1px solid transparent;
  border-radius: var(--q-radius-control);
  background: var(--q-blue);
  color: white;
  font: 600 14px/1.5 var(--q-font);
  text-decoration: none;
  cursor: pointer;
}
.q-button:hover { background: var(--q-blue-hover); color: white; }
.q-button--small { min-height: 40px; padding: 9px 16px; font-size: 12px; }
.q-button--secondary { color: var(--q-ink); background: transparent; border-color: var(--q-line); }
.q-button--secondary:hover { color: var(--q-ink); background: var(--q-blue-soft); }
.q-text-link { color: var(--q-ink); text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #a8b7cb; font-weight: 600; }
.q-text-link:hover { color: var(--q-blue); }
.q-skip-link { position: fixed; top: -80px; left: 20px; z-index: 1100; background: white; color: var(--q-blue); padding: 12px 20px; }
.q-skip-link:focus { top: 12px; }
.q-header { position: relative; z-index: 20; background: var(--q-surface); border-bottom: 1px solid var(--q-line); }
.q-header__inner { min-height: 88px; display: flex; align-items: center; gap: 32px; }
.q-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--q-ink); font-size: 17px; font-weight: 800; letter-spacing: -.035em; flex-shrink: 0; }
.q-brand:hover { color: var(--q-ink); }
.q-brand img { width: 35px; height: 35px; object-fit: contain; }
.q-desktop-nav { display: flex; gap: 27px; margin-left: 35px; }
.q-desktop-nav a, .q-header__login { color: var(--q-muted); font-size: 13px; font-weight: 550; }
.q-desktop-nav a:hover, .q-header__login:hover { color: var(--q-blue); }
.q-desktop-nav [aria-current="page"] { color: var(--q-blue); text-decoration: underline; text-underline-offset: 6px; }
.q-header__actions { display: flex; align-items: center; gap: 23px; margin-left: auto; }
.q-language { display: flex; align-items: center; gap: 12px; }
.q-language a { color: var(--q-muted); font-size: 11px; font-weight: 600; }
.q-language [aria-current] { color: var(--q-ink); text-decoration: underline; text-underline-offset: 5px; }
.q-mobile-menu { display: none; }
.q-mobile-menu summary { list-style: none; cursor: pointer; padding: 8px; }
.q-mobile-menu summary::-webkit-details-marker { display: none; }
.q-mobile-menu nav { position: absolute; right: 24px; top: 75px; width: min(300px, calc(100vw - 48px)); padding: 12px; border: 1px solid var(--q-line); border-radius: 10px; background: white; box-shadow: 0 12px 30px #172b4610; }
.q-mobile-menu nav a { display: block; padding: 10px 14px; color: var(--q-ink); font-size: 14px; border-radius: 5px; }
.q-mobile-menu nav a:hover { background: var(--q-blue-soft); }

.quantos-theme .th-btn { background: var(--q-blue); border-radius: 7px; box-shadow: none; font-family: var(--q-font); }
.quantos-theme .th-btn:hover { transform: none; background: var(--q-blue-hover); box-shadow: none; }
.quantos-theme .th-btn.btn-inverse { background: transparent; color: var(--q-blue) !important; border: 1px solid var(--q-blue); }

@media (max-width: 1100px) {
  .q-desktop-nav { display: none; }
  .q-mobile-menu { display: block; }
  .q-header__actions { gap: 18px; }
  .q-header__inner { gap: 22px; }
}
@media (max-width: 600px) {
  .q-container { width: calc(100% - 40px); }
  .q-header__inner { min-height: 74px; gap: 15px; }
  .q-brand { font-size: 15px; gap: 8px; }
  .q-brand img { width: 30px; height: 30px; }
  .q-header__actions { gap: 13px; }
  .q-header__account, .q-header__login { display: none; }
  .q-language { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .quantos-theme *, .quantos-theme *::before, .quantos-theme *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
