/* Readability revision 1.0.1: actual text sizes, never browser zoom/transform. */
:root {
  --font-body: 18px;
  --font-ui: 16px;
  --font-meta: 14px;
  --font-card-title: 22px;
}
body { font-size: var(--font-body); line-height: 1.75; }
small, .muted, .notice, .demo-note, .eyebrow, .breadcrumb, h2 small,
.profile small, .code-block, .footer small { font-size: var(--font-meta); }
.eyebrow { line-height: 1.6; letter-spacing: 3px; }
.main-nav a, .login-button, .admin-link, .footer nav,
label, input, select, textarea, input[type=file], .checkbox,
.button, .button.small, .hero-buttons .button, .chip, .filter-row .chip,
.search-form input, .tech-chips a, .sidebar nav a, .auth-switch,
.member-callout, .network-badge, .section-tabs span, .benefit-mini,
.perks, .description, .message p { font-size: var(--font-ui); }
.button { min-height: 48px; padding: 12px 24px; }
.button.small, .small { min-height: 42px; padding: 9px 17px; }
.login-button { padding: 9px 18px; }
input, select, textarea { padding: 12px 14px; line-height: 1.6; }
input, select { min-height: 48px; }
input[type=checkbox] { min-height: 0; }
.main-nav { gap: 32px; }
.header-inner { gap: 52px; }
.header-actions { gap: 22px; }
.brand strong { font-size: 28px; }
.hero-inner { height: auto; min-height: 420px; padding-block: 32px; }
.hero .eyebrow { font-size: var(--font-meta); }
.hero p { font-size: 21px; }
.tech-chips { flex-wrap: wrap; gap: 10px; }
.tech-chips a { padding: 6px 20px; }
.benefits { padding: 20px 16px; gap: 14px; }
.benefits > div { min-width: 0; padding-left: 8px; gap: 14px; }
.benefits strong, .quicklinks strong { font-size: var(--font-ui); }
.benefits p, .quicklinks p { font-size: var(--font-meta); line-height: 1.7; }
.catalog { margin-top: 32px; }
.catalog-head { display: grid; grid-template-columns: minmax(235px,1fr) auto minmax(285px,330px); gap: 24px; margin-bottom: 24px; }
.catalog-head h2 { font-size: 38px; }
.catalog-head p { white-space: normal; font-size: var(--font-ui); }
.filters { gap: 12px; min-width: 0; }
.filter-row { gap: 9px; flex-wrap: wrap; }
.filter-row .chip { padding: 5px 14px; line-height: 1.7; }
.search-form { width: 100%; min-width: 0; }
.search-form input { height: 52px; padding-left: 44px !important; }
.search-form button { top: 13px; left: 14px; }
.product-grid { gap: 18px; }
.product-card { padding: 10px; }
.product-title { font-size: var(--font-card-title); line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.card-body { padding: 12px 6px 8px; }
.card-body p { font-size: var(--font-ui); white-space: normal; line-height: 1.7; margin: 7px 0 12px; }
.image-label { font-size: var(--font-meta); padding: 3px 10px; }
.card-bottom { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.card-bottom > div { min-width: 0; }
.card-bottom > .button { margin: 0; padding: 10px 16px; font-size: var(--font-ui); min-height: 43px; }
.language-tags { gap: 7px; }
.language-tags span { font-size: var(--font-meta); line-height: 1.7; padding: 1px 11px; }
.price-line { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 5px 12px; margin-top: 10px; min-height: 33px; }
.price-line strong { font-size: 26px; }
.price-line em, .price-line b, .price-line small { font-size: var(--font-meta); }
.member-badge { font-size: var(--font-meta); padding: 4px 10px; }
.promo-grid { gap: 18px; margin-block: 22px; }
.promo { min-height: 150px; }
.promo > div { min-width: 0; flex: 1; }
.promo h2, .member-promo h2, .agent-promo h2, .workspace .promo h2 { font-size: 26px; white-space: normal; }
.promo p, .workspace .promo p { font-size: var(--font-ui); white-space: normal; line-height: 1.7; }
.promo > .button { font-size: var(--font-meta); padding: 9px 13px; }
.quicklinks { padding-block: 20px; }
.quicklinks a { gap: 14px; min-width: 0; }
.quicklinks p { display: block; white-space: normal; }
.footer { padding-block: 28px; }
.footer-inner { flex-wrap: wrap; row-gap: 16px; }
.footer .brand strong { font-size: 23px; }
.footer nav { gap: 24px; flex-wrap: wrap; }
.footer small { line-height: 1.7; }
.demo-note { margin-top: 0; text-align: center; }
.page-title h1 { font-size: 36px; }
.page-title p { font-size: var(--font-ui); }
.panel h2, .download-row h3 { font-size: 24px; }
.workspace { grid-template-columns: 220px minmax(0,1fr); }
.sidebar nav a { padding: 12px 14px; }
.stat p, .stat strong small { font-size: var(--font-meta); }
.stat strong { font-size: 30px; white-space: normal; overflow-wrap: anywhere; }
.stat .button { font-size: var(--font-ui); min-height: 42px; }
table, td strong, .status { font-size: var(--font-meta); }
table { line-height: 1.7; }
th, td { padding: 14px; }
.status { padding: 4px 9px; }
.table-wrap, .workspace-main { min-width: 0; }
.download-row p { font-size: var(--font-meta); }
.copy-field code { font-size: var(--font-ui); }

@media (min-width: 1600px) {
  :root { --font-body: 19px; --font-ui: 18px; --font-meta: 16px; --font-card-title: 24px; }
  .container { max-width: 1480px; }
  .catalog-head { grid-template-columns: minmax(250px,1fr) auto minmax(320px,360px); }
  .hero p { font-size: 23px; }
  .hero-inner { min-height: 455px; }
  .brand strong { font-size: 30px; }
  .catalog-head h2 { font-size: 40px; }
  .price-line strong { font-size: 28px; }
}
@media (max-width: 1250px) {
  .catalog-head { grid-template-columns: 1fr minmax(280px,360px); }
  .filters { grid-column: 1 / -1; grid-row: 2; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 12px 24px; }
  .search-form { grid-column: 2; grid-row: 1; }
  .card-bottom { grid-template-columns: 1fr; }
  .card-bottom > .button { width: 100%; }
  .promo > .button { display: none; }
  .benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .benefits > div:nth-child(3):before { display: none; }
  .header-inner { gap: 28px; }
  .main-nav { gap: 24px; }
  .quicklinks { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .quicklinks a:nth-child(3) { border-left: none; }
}
@media (min-width: 721px) and (max-width: 1000px) {
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-copy { max-width: 62%; }
  .hero p { font-size: 19px; }
  .hero-inner { min-height: 420px; }
  .header-inner { gap: 18px; }
  .main-nav { gap: 16px; }
  .header-actions { gap: 14px; }
  .workspace { grid-template-columns: 185px minmax(0,1fr); }
}
@media (max-width: 720px) {
  :root { --font-body: 17px; --font-ui: 16px; --font-meta: 14px; --font-card-title: 20px; }
  .container { width: calc(100% - 32px); }
  .header-inner { gap: 0; }
  .brand strong { font-size: 23px; }
  .main-nav { gap: 12px; }
  .main-nav a { font-size: 15px; letter-spacing: 0; }
  .login-button { font-size: 14px; padding: 7px 12px; }
  .admin-link { font-size: 14px; }
  .header-actions { gap: 14px; }
  .hero-copy { max-width: 100%; }
  .hero-inner { min-height: 385px; padding-block: 25px; }
  .hero p { font-size: 17px; max-width: 100%; }
  .hero h1 { font-size: 46px; }
  .hero-buttons { flex-wrap: wrap; gap: 12px; }
  .hero-buttons .button { font-size: 16px; padding: 12px 16px; }
  .tech-chips a { font-size: 15px; padding: 5px 13px; }
  .benefits { padding: 18px 12px; gap: 18px 12px; }
  .benefits > div { padding-left: 0; gap: 8px; align-items: flex-start; }
  .benefits strong { font-size: 16px; }
  .benefits p { font-size: 14px; }
  svg.feature-icon { width: 27px; height: 30px; }
  .catalog-head { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .catalog-head h2 { font-size: 32px; }
  .catalog-head p { font-size: 16px; }
  .search-form { grid-column: 1; grid-row: 2; }
  .filters { grid-row: 3; flex-direction: column; gap: 12px; }
  .filter-row { flex-wrap: wrap; overflow: visible; gap: 8px; padding: 0; }
  .filter-row .chip { font-size: 15px; padding: 6px 13px; }
  .search-form input { font-size: 16px; }
  .product-grid { grid-template-columns: 1fr; gap: 18px; }
  .product-card { padding: 10px; }
  .product-image { aspect-ratio: 2 / 1; }
  .card-body p { font-size: 16px; }
  .product-title { font-size: 22px; }
  .card-bottom { grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
  .card-bottom > .button { width: auto; font-size: 16px; padding: 10px 14px; }
  .language-tags span { font-size: 14px; padding: 2px 10px; }
  .price-line strong { font-size: 26px; }
  .price-line b, .price-line em, .price-line small, .member-badge { font-size: 14px; }
  .promo, .member-promo, .agent-promo { min-height: 125px; }
  .promo h2, .member-promo h2, .agent-promo h2 { font-size: 23px; }
  .promo p { font-size: 16px; }
  .quicklinks { padding: 18px 10px; gap: 18px 8px; }
  .quicklinks a { padding: 0 5px; align-items: flex-start; gap: 8px; }
  .quicklinks strong { font-size: 16px; }
  .quicklinks p { font-size: 14px; }
  .footer nav { font-size: 15px; gap: 16px; }
  .footer small { font-size: 14px; }
  .workspace { display: block; }
  .sidebar nav { flex-wrap: wrap; overflow: visible; }
  .sidebar nav a { font-size: 15px; padding: 9px 12px; }
  .stat-grid, .stat-grid.four { grid-template-columns: 1fr; }
  .stat { padding: 20px; }
  .stat strong { font-size: 30px; }
  .stat strong small { display: inline; }
  .stat p { font-size: 16px; }
  .stat .button { font-size: 16px; padding: 10px 16px; }
  .download-row h3 { font-size: 20px; }
  .page-title h1 { font-size: 30px; }
  .page-title p, .perks, .description, .message p { font-size: 16px; }
}

/* Full-viewport particle backdrop: no rectangular poster behind forms. */
body.is-partner { min-height:100vh; background:#05091b; isolation:isolate; }
body.is-partner::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgba(5,9,27,.48),rgba(5,9,27,.88)),url('/assets/cosmos.webp') center / cover no-repeat; }
.is-partner .auth-page { background:none; }
.is-partner .auth-card { background:rgba(8,17,39,.94); }
.agent-page { padding-block:64px; }
.agent-page .page-title { margin-bottom:38px; }
.agent-page h1 { font-size:clamp(30px,3.5vw,48px); }
.agent-intro { padding:32px; }
.agent-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:28px; }
.agent-features h3 { font-size:22px; }
.agent-features p,.agent-page .perks { font-size:var(--font-ui); color:var(--muted); }
.agent-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.agent-columns .panel { padding:32px; }
.agent-page .perks li { margin-block:12px; }
@media(max-width:720px) { .agent-features,.agent-columns { grid-template-columns:1fr; gap:16px; } .agent-intro,.agent-columns .panel { padding:22px; } .agent-page { padding-block:32px; } }
