/* Shared chrome and search controls for the public homepage and domain search. */
.public-page { --content: 1180px; }
.public-page .header-inner { width: min(calc(100% - 3rem), var(--content)); min-height: 4.5rem; gap: 1.25rem; }
.public-page .brand { font-size: 1rem; }
.public-page .primary-nav { gap: .25rem; color: var(--text-soft); margin-left: auto; flex: 0 1 auto; font-family: inherit; letter-spacing: 0; }
.public-page .primary-nav a { display: inline-flex; min-height: 2.75rem; padding: .5rem .75rem; font-size: .875rem; font-weight: 500; border-radius: 2px; }
.public-page .nav-dropdown-trigger { min-height: 2.75rem; padding: .5rem .75rem; font-size: .875rem; border-radius: 2px; }
.public-page .nav-dropdown-menu { width: 225px; padding: .5rem; border-radius: 2px; border-color: var(--border-strong); background: var(--surface); }
.public-page .nav-dropdown-menu a { display: flex; min-height: 2.75rem; line-height: 1.4; }
.public-page .free-search-nav { color: var(--accent-strong); }
.public-page .header-actions { gap: .5rem; margin-left: .75rem; }
.public-page .header-login { color: var(--text-soft); font-size: .875rem; min-height: 2.75rem; border-radius: 2px; }
.public-page .header-premium { border-color: var(--border-strong); background: transparent; box-shadow: none; }
.public-page .button { font-size: .875rem; min-height: 2.75rem; font-family: inherit; font-weight: 600; box-shadow: none; }
.public-page .button:disabled { cursor: wait; }
.public-page .page-shell { width: min(calc(100% - 3rem), var(--content)); }
.public-page :is(.overline, .kicker) { font-size: .8125rem; line-height: 1.5; letter-spacing: .075em; }
.public-page .overline::before, .public-page .kicker::before { content: none; }
.public-page [hidden] { display: none !important; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.free-label { color: var(--accent-strong); border: 1px solid #28545e; padding: .1875rem .5rem; font: 600 .8125rem/1.5 var(--mono); letter-spacing: .025em; background: #0d262d; }
.domain-search-form label { display: block; color: var(--text-soft); font-size: .875rem; font-weight: 500; margin-bottom: .5rem; }
.search-input-row { display: flex; align-items: stretch; position: relative; border: 1px solid var(--border-strong); background: #070f13; min-height: 3.25rem; }
.search-input-row:focus-within { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.search-icon { position: absolute; top: 1rem; left: .875rem; pointer-events: none; color: var(--muted); }
.search-input-row input { color: var(--text); width: 100%; min-width: 0; flex: 1; padding: .75rem .75rem .75rem 2.75rem; font: inherit; font-size: 1rem; line-height: 1.5; background: transparent; border: 0; outline: none; }
.search-input-row input:focus-visible { outline: none; }
.search-input-row input::placeholder { color: #879ea4; opacity: 1; }
.search-input-row input[aria-invalid="true"] { box-shadow: inset 0 -2px var(--danger); }
.public-page .search-submit { flex-shrink: 0; align-self: stretch; min-height: 3.25rem; padding: .625rem 1rem; border: 0; border-left: 1px solid var(--accent); border-radius: 0; white-space: nowrap; }
.domain-search-form .search-hint { color: var(--muted); font-size: .875rem; margin: .625rem 0 0; line-height: 1.5; }
.search-examples { display: flex; gap: .625rem; align-items: center; flex-wrap: wrap; font-size: .875rem; color: var(--muted); }
.search-examples a { color: var(--text-soft); border-bottom: 1px solid var(--border-strong); line-height: 1.5; }
.search-examples a:hover { color: var(--accent-strong); border-color: var(--accent); }

/* Homepage */
.home-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "copy search" "install search"; column-gap: 4rem; row-gap: 1.75rem; align-items: center; padding: 4.75rem 0 3.75rem; }
.home-hero-copy { grid-area: copy; }
.home-hero h1 { margin: 1rem 0 1.375rem; font-size: clamp(3rem, 5.7vw, 4.6rem); font-weight: 600; line-height: 1.04; letter-spacing: -.055em; }
.home-hero h1 span { color: var(--accent-strong); }
.home-hero-lede { max-width: 480px; margin: 0; color: var(--text-soft); font-size: 1.125rem; line-height: 1.7; }
.home-install { grid-area: install; align-self: start; scroll-margin-top: 6rem; }
.install-label { margin-bottom: .75rem; color: var(--text-soft); font-size: .875rem; }
.install-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.install-buttons .button { padding: .625rem 1.25rem; }
.source-text-link { color: var(--text-soft); font-size: .875rem; margin-left: .5rem; padding: .5rem 0; border-bottom: 1px solid var(--border-strong); }
.source-text-link:hover { color: var(--accent); }
.home-principles { color: var(--muted); font-size: .875rem; margin: 1rem 0 0; }
.home-principles span { color: var(--border-strong); margin: 0 .4rem; }
.home-search-card { grid-area: search; align-self: center; border: 1px solid #32545d; border-top: 2px solid var(--accent); background: var(--surface); min-width: 0; box-shadow: 0 16px 60px #0003; }
.home-search-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--border); color: var(--text-soft); font: .875rem/1.5 var(--mono); }
.home-search-body { padding: 1.5rem; }
.home-search-body h2 { font-size: 1.75rem; font-weight: 600; line-height: 1.2; letter-spacing: -.035em; margin: 0 0 .75rem; }
.home-search-body > p { color: var(--text-soft); margin: 0 0 1.5rem; }
.home-search-body .search-examples { margin-top: 1.125rem; }
.home-search-footer { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: .875rem 1.5rem; color: var(--muted); font-size: .875rem; border-top: 1px solid var(--border); background: #0a171c; }
.home-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--border); background: #0c171c; }
.home-paths > a { display: flex; gap: 1rem; padding: 1.375rem 1.25rem; }
.home-paths > a + a { border-left: 1px solid var(--border); }
.home-paths > a:hover { background: var(--surface-soft); }
.path-number { font: .875rem/1.5 var(--mono); color: var(--accent); padding-top: .125rem; }
.home-paths strong { display: block; font-size: 1rem; font-weight: 550; margin-bottom: .25rem; }
.home-paths a > span > span { color: var(--text-soft); font-size: .875rem; }
.home-section { padding: 4.5rem 0; scroll-margin-top: 5rem; }
.home-section + .home-section { border-top: 1px solid var(--border); }
.home-section-heading { max-width: 720px; margin-bottom: 2rem; }
.home-section-heading h2 { font-size: clamp(1.875rem, 3.3vw, 2.6rem); line-height: 1.13; letter-spacing: -.04em; font-weight: 600; margin: .875rem 0 1rem; }
.home-section-heading p { margin: 0; color: var(--text-soft); max-width: 620px; font-size: 1.0625rem; }
.home-evidence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.home-evidence-grid article { padding-top: 1.25rem; border-top: 2px solid var(--border-strong); }
.evidence-number { color: var(--accent); font: .8125rem/1.5 var(--mono); }
.home-evidence-grid h3 { font-size: 1.125rem; line-height: 1.4; font-weight: 600; margin: 1rem 0 .625rem; }
.home-evidence-grid p { font-size: 1rem; color: var(--text-soft); margin: 0; }
.home-evidence-note { color: var(--muted); font-size: .875rem; padding: 1rem 1.25rem; background: var(--surface); border-left: 2px solid var(--border-strong); margin: 1.75rem 0 0; }
.home-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.home-steps article { border-top: 1px solid var(--border-strong); padding-top: 1rem; }
.home-steps article > span { color: var(--accent); font: .875rem/1.5 var(--mono); }
.home-steps h3 { font-size: 1.125rem; font-weight: 600; margin: 1rem 0 .5rem; }
.home-steps p { color: var(--text-soft); margin: 0; }
.home-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 4rem; align-items: start; }
.home-split .home-section-heading { margin: 0; }
.home-text-link { display: inline-block; margin-top: 1rem; color: var(--accent-strong); font-size: 1rem; text-decoration: underline; text-underline-offset: .25rem; }
.home-trust-list { border-top: 1px solid var(--border-strong); }
.home-trust-list article { display: grid; grid-template-columns: 155px minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border); }
.home-trust-list h3 { font-size: 1rem; font-weight: 600; margin: 0; }
.home-trust-list p { font-size: 1rem; color: var(--text-soft); margin: 0; }
.home-network-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.home-network-grid article { padding: 1.75rem; border: 1px solid var(--border); background: var(--surface); }
.home-network-grid article:nth-child(2) { border-top: 2px solid var(--accent); }
.home-network-grid h3 { font-size: 1.5rem; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; margin: .875rem 0; }
.home-network-grid p { color: var(--text-soft); margin: 0 0 1.25rem; }
.home-network-grid .network-fineprint { font-size: .875rem; color: var(--muted); }
.home-network-grid article > .home-text-link { display: block; font-size: .875rem; }
.network-actions { display: flex; flex-wrap: wrap; gap: .625rem; margin-top: 1.5rem; }
.home-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.home-source-grid a { display: flex; flex-direction: column; gap: .5rem; padding: 1.5rem; border: 1px solid var(--border); background: var(--surface); }
.home-source-grid a:hover { border-color: var(--accent); background: var(--surface-soft); }
.home-source-grid strong { font-size: 1.0625rem; font-weight: 550; }
.home-source-grid span { color: var(--text-soft); font-size: .875rem; }
.home-partner-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--border); }
.home-partner-grid a { min-width: 0; padding: 1.25rem; display: flex; flex-direction: column; }
.home-partner-grid a + a { border-left: 1px solid var(--border); }
.home-partner-grid a:hover { background: var(--surface); }
.home-partner-grid a > div { background: #fff; height: 76px; display: flex; align-items: center; justify-content: center; padding: .75rem; margin-bottom: 1rem; }
.home-partner-grid img { max-width: 100%; max-height: 100%; height: auto; object-fit: contain; }
.home-partner-grid strong { font-size: .875rem; font-weight: 600; }
.home-partner-grid span { color: var(--text-soft); font-size: .875rem; margin-top: .375rem; }
.public-page .footer-inner { width: min(calc(100% - 3rem), var(--content)); grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; padding: 2rem 0; }
.public-page .footer-brand { font-size: 1rem; color: var(--text-soft); }
.footer-company { color: var(--muted); font-size: .875rem; margin: .5rem 0 0; }
.public-page .footer-links { flex-wrap: wrap; font-size: .875rem; max-width: 520px; gap: .75rem 1.25rem; }

@media (max-width: 1050px) {
  .home-hero { column-gap: 2rem; }
  .home-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem; }
  .public-page .header-inner { gap: .75rem; }
  .public-page .primary-nav a, .public-page .nav-dropdown-trigger { padding-left: .5rem; padding-right: .5rem; }
  .public-page .header-action { display: none; }
}
@media (max-width: 900px) {
  .public-page .header-inner { min-height: 4rem; flex-wrap: wrap; gap: .75rem; padding: .5rem 0; }
  .public-page .mobile-menu-toggle { display: inline-flex; margin-left: auto; }
  .public-page .primary-nav { display: none; margin: 0; }
  .public-page .primary-nav.is-open { display: flex; order: 4; width: 100%; flex: 1 1 100%; flex-wrap: wrap; overflow: visible; padding: .5rem 0; }
  .public-page .primary-nav.is-open a { display: inline-flex; }
  .public-page .header-actions { margin: 0; }
  .public-page .header-login, .public-page .header-premium { display: inline-flex; }
  .public-page .nav-dropdown-menu { left: 0; right: auto; }
  .home-hero { grid-template-columns: 1fr; grid-template-areas: "copy" "search" "install"; row-gap: 1.75rem; padding: 2.75rem 0; }
  .home-hero h1 { font-size: clamp(2.75rem, 7vw, 3.75rem); }
  .home-hero h1 br { display: none; }
  .home-hero h1 span::before { content: ' '; }
  .home-hero-copy { max-width: 690px; }
  .home-hero-lede { max-width: 660px; }
  .home-search-card { max-width: 700px; width: 100%; justify-self: start; }
  .home-split { grid-template-columns: 1fr; gap: 2rem; }
  .home-partner-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; gap: 1rem; }
  .home-partner-grid a, .home-partner-grid a + a { border: 1px solid var(--border); }
  .public-page .footer-inner { grid-template-columns: 1fr; gap: 1.25rem; }
  .public-page .footer-links { justify-content: flex-start; }
}
@media (max-width: 650px) {
  .public-page .header-inner, .public-page .page-shell, .public-page .footer-inner { width: calc(100% - 2rem); }
  .home-paths { grid-template-columns: 1fr; }
  .home-paths > a { padding: 1rem 1.125rem; }
  .home-paths > a + a { border-left: 0; border-top: 1px solid var(--border); }
  .home-section { padding: 3rem 0; }
  .home-steps, .home-network-grid, .home-source-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .home-trust-list article { grid-template-columns: 1fr; gap: .5rem; }
  .home-network-grid article { padding: 1.375rem; }
  .home-partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .search-input-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .search-input-row input { min-height: 3.25rem; }
  .public-page .search-submit { width: 100%; min-height: 2.875rem; border-left: 0; border-top: 1px solid var(--accent); }
  .home-hero { padding: 2rem 0 2.5rem; row-gap: 1.5rem; }
  .home-hero h1 { font-size: 2.375rem; line-height: 1.06; margin-bottom: 1rem; }
  .home-hero h1 br { display: block; }
  .home-hero h1 span::before { content: none; }
  .home-hero-lede { font-size: 1rem; line-height: 1.6; }
  .home-search-topline { padding: .875rem 1.125rem; }
  .home-search-body { padding: 1.125rem; }
  .home-search-body h2 { font-size: 1.5rem; }
  .home-search-body > p { margin-bottom: 1.125rem; }
  .home-search-footer { display: none; }
  .home-search-body .search-examples { margin-top: .875rem; }
  .home-evidence-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .home-principles { font-size: .875rem; }
}
@media (max-width: 430px) {
  .public-page .brand > span:last-child { display: none; }
  .public-page .header-inner { gap: .5rem; }
  .public-page .header-actions { gap: .25rem; }
  .public-page .header-actions .button, .public-page .header-login { padding-left: .625rem; padding-right: .625rem; }
  .public-page .mobile-menu-toggle { padding-left: .75rem; padding-right: .75rem; }
}
