/* Reference-led public surface: quiet navy, restrained cyan, generous rhythm. */
.frontpage {--front-surface:#071827;--front-line:#102a3b;--front-muted:#9aafc1;color:#f0f5fa;padding-bottom:80px}
.frontpage .container {width:min(calc(100% - 64px),1120px)}
.frontpage .front-hero {padding-block:88px 72px}
.front-eyebrow {display:block;color:#0edaf2;font-size:.75rem;font-weight:750;letter-spacing:.1em;line-height:1.5;text-transform:uppercase;margin-bottom:12px}
.frontpage h1 {font-size:clamp(2.65rem,5.6vw,4.5rem);font-weight:650;letter-spacing:-.048em;line-height:1.09;max-width:850px;margin:0 0 25px}
.frontpage h2 {font-size:clamp(1.65rem,3vw,2.15rem);font-weight:620;letter-spacing:-.035em;line-height:1.2;margin:0 0 28px}
.frontpage h3 {font-size:1.125rem;font-weight:640;letter-spacing:-.025em;line-height:1.3;margin:0 0 10px}
.frontpage p {color:var(--front-muted);font-size:1rem;line-height:1.65}
.frontpage .front-lead {max-width:610px;font-size:1.125rem;line-height:1.75;margin:0 0 28px}
.front-actions {display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
.frontpage .button,.account-dialog .button {border-radius:999px;min-height:46px;padding:11px 20px;font-size:.875rem;font-weight:650;gap:9px;letter-spacing:0}
.frontpage .button-primary,.account-dialog .button-primary {background:#06d9ef;color:#00222c;border:1px solid #06d9ef;box-shadow:0 8px 28px #00d9ef16}
.frontpage .button-primary:hover,.account-dialog .button-primary:hover {background:#50e9f8;box-shadow:0 8px 30px #00d9ef24}
.frontpage .button-secondary {background:#081b2a;border:1px solid #163243;box-shadow:none;color:#edf6ff}
.front-legend {display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}
.front-status {display:inline-flex;align-items:center;padding:3px 10px;border:1px solid #193246;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4}
.front-status.verified {color:#35e2b6;border-color:#16403f;background:#0a282b}
.front-status.limited {color:#f0ca61;border-color:#3a3c29;background:#25281f}
.front-status.unknown {color:#a3b7c9;background:#091723}
.frontpage .front-note {font-size:.8125rem;color:#8199ad;margin-top:14px;margin-bottom:0}
.front-section {padding-block:42px;scroll-margin-top:95px}
.front-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.front-card {min-width:0;padding:26px;border:1px solid var(--front-line);border-radius:26px;background:var(--front-surface)}
.front-card p {margin:0 0 18px}
a.front-card {transition:border-color 180ms,background 180ms,transform 180ms}
a.front-card:hover {border-color:#1d5265;background:#09202f;transform:translateY(-2px)}
.front-symbol {display:inline-grid;place-items:center;width:38px;height:38px;flex:none;color:#0ddbf4;background:#052232;border-radius:50%;margin-bottom:25px}
.front-symbol svg {width:19px;height:19px;stroke-width:var(--icon-stroke, 2)}
.front-feature {display:flex;flex-direction:column;align-items:flex-start}
.front-feature .front-link {margin-top:auto}
.front-link {display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;color:#0bdef2;font:600 .875rem/1.5 var(--font-body);cursor:pointer;text-align:left}
.front-link:hover {color:#89f1fa}
.front-link svg {width:15px;height:15px}
.front-section-head {display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}
.front-section-head h2 {margin-bottom:10px}
.front-section-head p {max-width:650px;margin:0;font-size:.875rem}
.front-section-head>.button {flex:none}
.front-project {display:flex;flex-direction:column;padding:22px;min-height:220px}
.front-project .front-eyebrow {font-size:.875rem;overflow-wrap:anywhere;letter-spacing:.02em;text-transform:none;margin:0;color:#8bddef}
.front-project-category {display:flex;align-items:center;gap:12px;margin-bottom:18px}
.front-project-symbol {display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #28556b;border-radius:12px;color:#8bddef;background:linear-gradient(135deg,#15374b,#081e30)}
.front-project-symbol .category-glyph {width:23px;height:23px}
.front-category-filters {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.front-category-chip {display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:9px 14px;border:1px solid #214b61;border-radius:999px;background:#071827;color:#c8deeb;font:600 .875rem/1.4 Inter,"Segoe UI",sans-serif;cursor:pointer;text-align:left;overflow-wrap:anywhere}
.front-category-chip .category-glyph {width:20px;height:20px;flex:none;color:#8bddef}
.front-category-count {font-variant-numeric:tabular-nums;color:#9aafc1}
.front-category-chip:hover {border-color:#43809c;background:#0a293c}
.front-category-chip[aria-pressed=true] {border-color:#09dcf2;background:#08dbf218;color:#a2f2fc}
.front-category-chip[aria-pressed=true] .front-category-count {color:inherit}
.front-category-chip:focus-visible {outline:2px solid #33ddfa;outline-offset:4px}
.frontpage .front-results-count {font-size:.875rem;margin:0 0 14px}
.front-project h3 {font-size:1.25rem}
.front-project p {font-size:.875rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.front-project-footer {display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:auto}
.front-project-footer>span:first-child {display:flex;gap:5px;align-items:center;font-size:.75rem;color:#8ea8ba}
.front-project-footer svg {width:13px;height:13px}
.front-more {margin-top:20px}
.front-catalog-note {display:flex;align-items:flex-start;gap:8px;font-size:.8125rem!important;margin:18px 0 0!important;color:#8da6b8!important}
.front-catalog-note svg {width:15px;flex:none;margin-top:3px;color:#08d6ec}
.front-number {display:block;font:650 .8125rem/1.5 var(--font-data);color:#0ddcef;margin:0 0 14px}
.front-step p {font-size:.875rem;margin-bottom:0}
.front-data-state {display:flex;gap:22px;padding:30px;border:1px solid var(--front-line);border-radius:26px;background:var(--front-surface)}
.front-data-state .front-symbol {margin:0}
.front-data-state p {margin-bottom:12px;font-size:.875rem}
.front-access-section {margin-top:22px;border-top:1px solid #142838;padding-top:48px}
.front-access .front-card {display:flex;align-items:flex-start;flex-direction:column}
.front-access .front-link {margin-top:auto}
.front-access p {font-size:.875rem}
.front-premium {border-color:#1a5363;background:linear-gradient(140deg,#082632,#071827 80%)}
.home-page-shell .site-header {background:#030d18df;border-bottom:1px solid #142332}
.home-page-shell .site-footer {background:#030d18;border-top:1px solid #142332}
.home-page-shell .preview-pill {display:none}
.home-page-shell .site-header .button {border-radius:999px}

/* Native dialog: focus containment, inert background and Escape. */
.account-dialog::backdrop {background:#000a14c9;backdrop-filter:blur(7px)}
body:has(.account-dialog[open]) {overflow:hidden}
.account-close {position:absolute;right:16px;top:16px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #214251;border-radius:50%;background:#0b2031;color:#b1c4d3;cursor:pointer}
.account-close svg {width:18px;height:18px}
.account-gate {max-width:600px;margin:60px auto}
@media(max-width:800px) {.frontpage .container {width:calc(100% - 48px)}.frontpage .front-hero {padding-block:60px 40px}.front-grid {gap:12px}.front-card {padding:21px}.front-section {padding-block:32px}.front-project-footer {align-items:flex-start;flex-direction:column}}
@media(max-width:640px) {.frontpage .container {width:calc(100% - 40px)}.frontpage .front-hero {padding-top:42px}.frontpage h1 {font-size:clamp(2.35rem,9.6vw,3.4rem)}.frontpage .front-lead {font-size:1rem}.front-grid {grid-template-columns:1fr}.frontpage h2 {font-size:1.65rem}.front-card {border-radius:24px;padding:24px}.front-section-head {align-items:flex-start;flex-wrap:wrap;gap:15px}.front-project {min-height:195px}.front-project-footer {flex-direction:row;align-items:center}.front-feature .front-symbol {margin-bottom:20px}.front-data-state {padding:22px;gap:14px}.front-data-state .front-symbol {display:none}.front-access-section {margin-top:16px}.frontpage {padding-bottom:36px}.account-dialog {padding:27px 22px}.front-access-section>.front-eyebrow {max-width:30ch}}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}a.front-card {transition:none}a.front-card:hover {transform:none}}
