/* FeaturedAITools: original-logo hue family; local assets only. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-latin-400-800.woff2") format("woff2");
}

.source-review-list { display: grid; gap: 1rem; }
.source-review { padding: 1.15rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.source-review__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.source-review__head h3 { margin: 0; }
.source-review__criteria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1rem; margin: 1rem 0 0; }
.source-review__criteria div { display: flex; justify-content: space-between; gap: .75rem; padding-top: .55rem; border-top: 1px solid var(--line); }
.source-review__criteria dt, .source-review__criteria dd { margin: 0; }
.source-press-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.source-press-grid h3 { margin-top: 0; }
.source-attributes h3 { margin: 1rem 0 .5rem; font-size: .86rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 760px) {
  .source-review__criteria, .source-press-grid { grid-template-columns: 1fr; }
}

:root {
  color-scheme: light;
  --brand-900: #211d35;
  --brand-700: #28223f;
  --brand-600: #3159ad;
  --brand-500: #7350b8;
  --brand-400: #ad3692;
  --brand-200: #dcd1ef;
  --brand-100: #f1ebfb;
  --brand-50: #f8f5fc;
  --interactive-primary: #315fae;
  --interactive-primary-hover: #264c90;
  --accent: #aa287f;
  /* Sampled logo hues are decorative, not white-text button backgrounds. */
  --brand-gradient: linear-gradient(110deg, #4577cf 0%, #7556cb 50%, #dd41ba 100%);
  --button-gradient: linear-gradient(110deg, #315fae 0%, #7042aa 50%, #aa287f 100%);
  --button-gradient-hover: linear-gradient(110deg, #264c90 0%, #59338c 50%, #8c2067 100%);
  --hero-gradient: linear-gradient(110deg, #edf3ff 0%, #f5f0ff 50%, #fff0fa 100%);
  --ink: #211d35;
  --muted: #514c63;
  --soft: #635b73;
  --line: #e3ddeb;
  --line-strong: #b5adc5;
  --surface: #ffffff;
  --surface-alt: #f8f7fc;
  --success: #137653;
  --success-bg: #eaf8f2;
  --warning: #8a5700;
  --warning-bg: #fff6df;
  --danger: #b52f45;
  --danger-bg: #fff0f2;
  --info: #315ca8;
  --info-bg: #edf3ff;
  --sponsored-bg: #fff9e8;
  --sponsored-line: #efc768;
  --shadow-sm: 0 6px 18px rgba(60, 49, 91, 0.07);
  --shadow-md: 0 18px 42px rgba(60, 49, 91, 0.11);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --container: 1200px;
  --focus: #6940a5;
}

/* The legacy palette attribute remains compatible; brand tokens are universal. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--surface);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
button, input, select, summary, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed;
  z-index: 999;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: var(--brand-900);
  color: #fff;
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

.prototype-banner {
  border-bottom: 1px solid var(--brand-200);
  background: var(--brand-50);
  color: var(--brand-700);
  font-size: 13px;
  font-weight: 650;
  text-align: center;
  padding: 7px 16px;
}

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 76px 0; }
.section--tint { background: var(--surface-alt); border-block: 1px solid var(--line); }
.section--compact { padding: 48px 0; }

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(233, 228, 240, 0.92);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
}
.header-row { min-height: 72px; display: flex; align-items: center; gap: 30px; }
.brand-mark { display: inline-flex; align-items: center; gap: 10px; color: var(--brand-700); font-size: 20px; font-weight: 800; letter-spacing: -.025em; white-space: nowrap; }
.brand-mark--image { min-height: 44px; }
.brand-mark--image img { width: 200px; height: 40px; object-fit: contain; }
.brand-mark--footer { width: fit-content; padding: 4px 8px; border-radius: 8px; background: #fff; }
.brand-symbol { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: linear-gradient(145deg, var(--brand-500), var(--brand-700)); color: #fff; font-size: 14px; box-shadow: 0 7px 16px rgba(160,68,244,.22); }
.primary-nav { display: flex; align-items: center; gap: 24px; margin-left: 18px; }
.primary-nav__list { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
.primary-nav a { color: #4f4a5b; font-size: 14px; font-weight: 620; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--brand-600); }
.header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.mobile-menu-button { display: none; margin-left: auto; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: 12px; background: #fff; color: var(--brand-700); }
.mobile-menu-button svg { width: 22px; height: 22px; }

.button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  padding: 10px 20px;
  background: var(--button-gradient);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.button:hover { background: var(--button-gradient-hover); transform: translateY(-1px); }
.button:disabled, .button:disabled:hover, .button[aria-disabled="true"], .button[aria-disabled="true"]:hover { opacity: 1; border-color: var(--line-strong); background: #e8e3ef; color: #514c63; cursor: not-allowed; transform: none; }
.button--secondary { border-color: var(--line-strong); background: #fff; color: var(--brand-700); }
.button--secondary:hover { border-color: var(--brand-400); background: var(--brand-50); }
.button--dark { background: var(--brand-700); }
.button--small { min-height: 38px; padding: 8px 15px; font-size: 13px; }
.text-link { color: var(--brand-600); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

.hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 64px;
  background: var(--hero-gradient);
  border-bottom: 1px solid var(--line);
}
.hero::after { content: ""; position: absolute; inset: auto -8% -140px 45%; height: 260px; border: 1px solid rgba(160,68,244,.14); border-radius: 50%; transform: rotate(-8deg); pointer-events: none; }
.hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(290px,.65fr); gap: 60px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--brand-600); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: var(--brand-gradient); }
h1, h2, h3 { color: var(--brand-700); line-height: 1.15; letter-spacing: -.03em; }
h1 { max-width: 780px; margin: 18px 0 20px; font-size: clamp(43px, 5.8vw, 70px); font-weight: 800; }
h2 { margin: 0; font-size: clamp(30px, 4vw, 42px); font-weight: 790; }
h3 { margin: 0; font-size: 20px; font-weight: 760; }
.hero-copy { max-width: 720px; margin: 0 0 30px; color: var(--muted); font-size: 18px; }
.search-shell { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; max-width: 780px; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); padding: 7px; background: #fff; box-shadow: var(--shadow-md); }
.search-shell label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.search-shell input { min-width: 0; height: 54px; border: 0; outline: 0; border-radius: var(--radius-pill); padding: 0 20px; background: transparent; color: var(--ink); font-size: 16px; }
.search-shell input:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.search-shell input::placeholder { color: var(--soft); }
.search-shell .button { min-width: 116px; height: 54px; }
.search-hint { margin: 12px 0 0 18px; color: var(--muted); font-size: 13px; }
.quick-searches { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.quick-searches a { padding: 8px 13px; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: rgba(255,255,255,.78); color: var(--brand-700); font-size: 13px; font-weight: 650; }
.quick-searches a:hover { border-color: var(--brand-400); background: #fff; }
.hero-proof { padding: 25px; border: 1px solid rgba(160,68,244,.22); border-radius: var(--radius-lg); background: rgba(255,255,255,.82); box-shadow: var(--shadow-sm); }
.hero-proof h2 { font-size: 23px; }
.proof-list { margin: 20px 0 0; padding: 0; list-style: none; }
.proof-list li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.proof-list strong { display: block; color: var(--ink); }
.proof-icon { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 8px; background: var(--brand-100); color: var(--brand-600); font-weight: 800; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.section-heading p { max-width: 660px; margin: 8px 0 0; color: var(--muted); }
.section-heading__actions { display: flex; gap: 10px; }

.category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.category-grid > li { min-width: 0; }
.category-card { height: 100%; min-height: 132px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 4px 12px rgba(60,49,91,.035); transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.category-card:hover { border-color: var(--brand-300, #c991fa); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.category-card__icon { display: grid; width: 36px; height: 36px; place-items: center; margin-bottom: 13px; border-radius: 11px; background: var(--brand-100); color: var(--brand-600); font-weight: 800; }
.category-card strong { display: block; color: var(--brand-700); }
.category-card span { color: var(--muted); font-size: 13px; }

.filter-panel { display: grid; grid-template-columns: minmax(220px,1.7fr) repeat(3,minmax(145px,.7fr)) auto; gap: 10px; margin-bottom: 18px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.field { display: grid; gap: 6px; }
.field label { color: var(--muted); font-size: 12px; font-weight: 720; }
.field input, .field select { width: 100%; min-height: 44px; border: 1px solid var(--line-strong); border-radius: 11px; padding: 8px 12px; background: #fff; color: var(--ink); }
.filter-actions { display: flex; align-items: end; }
.result-status { min-height: 26px; margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.search-results-hero { background: var(--hero-gradient); border-bottom: 1px solid var(--line); }
.search-results-hero h1, .aggregation-hero h1 { margin-bottom: 14px; font-size: clamp(38px, 5vw, 58px); }
.search-results-hero > .container > p, .aggregation-hero > .container > p { max-width: 820px; color: var(--muted); }
.discovery-search-form { max-width: none; }
.facet-filter-panel { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.facet-filter-panel > h3 { margin-bottom: 16px; }
.facet-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.facet-group { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }
.facet-group legend { padding: 0 5px; color: var(--brand-700); font-weight: 760; }
.facet-group label { display: flex; min-height: 36px; align-items: flex-start; gap: 8px; padding: 5px 0; color: var(--muted); font-size: 13px; }
.facet-group input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--interactive-primary); }
.active-filter-summary { padding: 18px 20px; border: 1px solid var(--brand-200); border-radius: var(--radius-md); background: var(--brand-50); }
.active-filter-summary h3 { margin-bottom: 8px; font-size: 17px; }
.active-filter-summary ul { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 8px; padding-left: 20px; color: var(--muted); font-size: 13px; }
.active-filter-summary p { margin: 0; color: var(--muted); }
.browse-navigation { display: flex; flex-wrap: wrap; gap: 8px; }
.browse-navigation a[aria-current] { border-color: var(--interactive-primary); background: var(--button-gradient); color: #fff; }
.search-pagination a:hover { border-color: var(--brand-600); background: var(--brand-50); }
.sort-form { display: flex; align-items: end; justify-content: flex-end; gap: 10px; }
.sort-form .field { min-width: 220px; }
.sponsored-results { padding: 22px; border: 1px solid var(--sponsored-line); border-radius: var(--radius-lg); background: var(--sponsored-bg); }
.sponsored-results > h2 { margin-bottom: 8px; font-size: 23px; }
.sponsored-results .disclosure { margin: 0 0 20px; }
.sponsored-result-items, .organic-result-items { margin: 0; padding: 0; list-style: none; }
.organic-result-items > li { min-width: 0; }
.result-facts { display: grid; gap: 7px; margin: 0; }
.result-facts div { display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); padding-bottom: 6px; font-size: 12px; }
.result-facts dt { color: var(--soft); }
.result-facts dd { margin: 0; color: var(--ink); font-weight: 650; text-align: right; }
.search-pagination ol { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.search-pagination a, .search-pagination span { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--line-strong); border-radius: 11px; padding: 6px 10px; background: #fff; color: var(--brand-700); font-weight: 720; }
.search-pagination span[aria-current] { border-color: var(--interactive-primary); background: var(--button-gradient); color: #fff; }
.aggregation-hero { padding: 44px 0 56px; }
.count-summary { padding: 14px 16px; border-left: 3px solid var(--accent); border-radius: 0 12px 12px 0; background: rgba(255,255,255,.75); }
.count-summary strong { color: var(--brand-700); }
.intent-cluster-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.intent-cluster { height: 100%; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.intent-cluster h2 { font-size: 25px; }
.intent-cluster > p { color: var(--muted); font-size: 13px; }
.keyword-candidate-list { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.keyword-candidate-list a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2px 12px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-alt); }
.keyword-candidate-list a:hover { border-color: var(--brand-400); background: var(--brand-50); }
.keyword-candidate-list strong { color: var(--brand-700); }
.keyword-candidate-list span { color: var(--muted); font-size: 11px; text-align: right; }
.keyword-candidate-list span:last-child { grid-column: 1 / -1; text-align: left; }
.related-category-list { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.related-category-list h2 { margin-bottom: 12px; font-size: 25px; }
.related-category-list ul { margin: 0; padding-left: 20px; }
.related-category-list li { margin: 9px 0; color: var(--muted); }
.editorial-guide { background: #fff; }
.editorial-guide .content-stack { max-width: 920px; }
.selection-criteria { display: grid; gap: 10px; margin: 0; }
.selection-criteria div { display: grid; grid-template-columns: minmax(150px,.35fr) minmax(0,1fr); gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.selection-criteria dt { color: var(--brand-700); font-weight: 750; }
.selection-criteria dd { margin: 0; color: var(--muted); }
.tool-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.tool-card { position: relative; display: flex; min-height: 280px; flex-direction: column; gap: 16px; padding: 21px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 7px 22px rgba(60,49,91,.055); }
.tool-card:hover { border-color: #d5b2f5; box-shadow: var(--shadow-sm); }
.tool-card__top { display: flex; align-items: start; gap: 13px; }
.tool-logo { display: grid; flex: 0 0 auto; width: 48px; height: 48px; place-items: center; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg,var(--brand-100),#fff); color: var(--brand-700); font-weight: 850; letter-spacing: -.02em; }
.tool-logo img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; background: #fff; }
.tool-card h3 { margin: 1px 0 3px; font-size: 19px; }
.tool-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; margin-top: 3px; }
.tool-card__category { color: var(--brand-600); font-size: 12px; font-weight: 720; }
.tool-card__pricing { color: var(--muted); font-size: 11px; font-weight: 650; }
.tool-card__description { margin: 0; color: var(--muted); font-size: 14px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 7px; }
.tag { display: inline-flex; align-items: center; min-height: 26px; border-radius: var(--radius-pill); padding: 4px 9px; background: var(--brand-50); color: var(--brand-700); font-size: 11px; font-weight: 700; }
.tag--success { background: var(--success-bg); color: var(--success); }
.tag--warning { background: var(--warning-bg); color: var(--warning); }
.tool-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }
.tool-card__date { color: var(--soft); font-size: 11px; }
.card-actions { display: flex; gap: 8px; }
.empty-state { padding: 42px 24px; border: 1px dashed var(--line-strong); border-radius: var(--radius-lg); background: #fff; text-align: center; }
.empty-state h3 { margin-bottom: 7px; }.empty-state p { margin: 0 0 18px; color: var(--muted); }

.sponsored-card { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 15px; align-items: center; margin-bottom: 22px; padding: 18px 20px; border: 1px solid var(--sponsored-line); border-radius: var(--radius-md); background: var(--sponsored-bg); }
.sponsored-label { position: absolute; top: -10px; left: 18px; border: 1px solid var(--sponsored-line); border-radius: var(--radius-pill); padding: 3px 9px; background: #fff; color: var(--warning); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.sponsored-card h3 { font-size: 18px; }.sponsored-card p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.sponsored-card__price { color: var(--muted); font-size: 12px; text-align: right; }
.sponsored-card__price strong { display: block; color: var(--ink); font-size: 14px; }

.trust-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.trust-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.trust-card strong { display: block; color: var(--brand-700); font-size: 17px; }.trust-card p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.vendor-callout { display: grid; grid-template-columns:minmax(0,1fr) auto; gap: 28px; align-items: center; padding: 38px 42px; border-radius: var(--radius-lg); background: linear-gradient(135deg,var(--brand-700),#542579); color: #fff; box-shadow: var(--shadow-md); }
.vendor-callout h2 { color: #fff; }.vendor-callout p { max-width: 680px; margin: 10px 0 0; color: rgba(255,255,255,.78); }.vendor-callout__actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 10px; }
.vendor-callout .button { background: #fff; color: var(--brand-700); }.vendor-callout .button--secondary { border-color: rgba(255,255,255,.4); background: transparent; color: #fff; }

.breadcrumbs { padding: 21px 0; color: var(--muted); font-size: 13px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; color: var(--line-strong); }
.tool-hero { padding: 18px 0 56px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg,#fff 0%,var(--brand-50) 100%); }
.tool-hero__grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 42px; align-items: start; }
.tool-title-row { display: flex; align-items: start; gap: 20px; }
.tool-logo--large { width: 76px; height: 76px; border-radius: 22px; font-size: 24px; }
.tool-title-row h1 { margin: 0 0 7px; font-size: clamp(38px,5vw,56px); }
.tool-tagline { margin: 0; color: var(--muted); font-size: 18px; }
.tool-summary { max-width: 800px; margin: 24px 0 20px; color: var(--muted); font-size: 17px; }
.tool-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.fact-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.fact-list { margin: 0; }.fact-list div { display: grid; grid-template-columns: 1fr auto; gap: 15px; padding: 11px 0; border-bottom: 1px solid var(--line); }.fact-list div:last-child { border-bottom: 0; }.fact-list dt { color: var(--muted); }.fact-list dd { margin: 0; color: var(--ink); font-weight: 700; text-align: right; }
.disclosure { margin-top: 14px; padding: 11px 13px; border-radius: 11px; background: var(--warning-bg); color: var(--warning); font-size: 12px; }

.detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 36px; align-items: start; }
.content-stack { display: grid; gap: 24px; }
.content-narrow { max-width: 900px; }
.content-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.content-card h2 { margin-bottom: 16px; font-size: 29px; }.content-card h3 { margin-top: 24px; }
.content-card p { color: var(--muted); }.content-card > :last-child { margin-bottom: 0; }
.staging-preview-nav { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 20px; padding:7px 14px; background:#f3effc; border-bottom:1px solid var(--line); font-size:12px; color:var(--ink); }
.staging-preview-nav span { color:var(--muted); }.staging-preview-nav a { color:var(--interactive-primary); font-weight:600; }
.vendor-callout.content-card { display: block; background: var(--button-gradient); color: #fff; }
.vendor-callout.content-card .eyebrow, .vendor-callout.content-card h2 { color: #fff; }
.vendor-callout.content-card .eyebrow::before { background: #fff; }
.vendor-callout.content-card h2 { margin-top: 14px; }
.vendor-callout.content-card p { color: #fff; }
.vendor-callout.content-card .card-actions { margin-top: 24px; }
.source-field-label { display: inline-block; margin-bottom: 9px; color: var(--brand-600); font-size: 11px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.source-note { margin: 14px 0 0; color: var(--soft); font-size: 12px; }
.source-copy { white-space: normal; overflow-wrap: anywhere; }
.two-column-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.list-panel--positive { border: 1px solid #cfe9dc; background: var(--success-bg); }
.list-panel--negative { border: 1px solid #f0d4d9; background: var(--danger-bg); }
.rating-form { display: grid; gap: 12px; margin-top: 18px; }
.rating-row { display: grid; grid-template-columns: minmax(150px, 1fr) auto; gap: 16px; align-items: center; margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); }
.rating-row legend { padding: 0; color: var(--ink); font-weight: 700; }
.rating-row div { display: flex; gap: 4px; }
.rating-row input { position: absolute; opacity: 0; pointer-events: none; }
.rating-row label { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: #fff; color: var(--soft); font-size: 11px; }
.share-button { width: fit-content; border: 0; padding: 0; background: transparent; text-align: left; }
.copy-status { min-height: 20px; margin: 8px 0 0; color: var(--success); font-size: 12px; }
.list-panel { padding: 19px; border-radius: var(--radius-md); background: var(--surface-alt); }.list-panel h3 { font-size: 18px; }.list-panel ul, .numbered-list { margin: 12px 0 0; padding-left: 20px; }.list-panel li, .numbered-list li { margin: 8px 0; color: var(--muted); }
.evidence-note { display: flex; gap: 10px; margin-top: 18px; padding: 13px 14px; border-left: 3px solid var(--brand-500); border-radius: 0 10px 10px 0; background: var(--brand-50); color: var(--muted); font-size: 13px; }
.feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; padding: 0; list-style: none; }.feature-list li { padding: 15px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); }.feature-list strong { display: block; margin-bottom: 3px; color: var(--ink); }
.media-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 14px; }.media-grid figure { margin: 0; }.media-grid img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--brand-50); }.media-grid figcaption { margin-top: 7px; color: var(--soft); font-size: 12px; }

.detail-sidebar { position: sticky; top: 96px; display: grid; gap: 18px; }
.sidebar-card { padding: 21px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }.sidebar-card h2 { margin-bottom: 15px; font-size: 22px; }
.status-list { margin: 0; padding: 0; list-style: none; }.status-list li { padding: 11px 0; border-bottom: 1px solid var(--line); }.status-list li:last-child { border-bottom: 0; }.status-list strong { display: block; font-size: 13px; }.status-list span { color: var(--muted); font-size: 12px; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--success); }.status-dot--warning { background: var(--warning); }.status-dot--muted { background: var(--soft); }
.sidebar-links { display: grid; gap: 9px; }.sidebar-links a { color: var(--brand-600); font-size: 13px; font-weight: 700; }

.review-empty { padding: 22px; border: 1px dashed var(--line-strong); border-radius: var(--radius-md); background: var(--surface-alt); }.review-empty strong { display: block; color: var(--brand-700); }.review-empty p { margin: 6px 0 0; color: var(--muted); }
.alternative-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.alternative-card { padding: 17px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }.alternative-card h3 { margin: 9px 0 5px; font-size: 17px; }.alternative-card p { margin: 0; color: var(--muted); font-size: 13px; }
.faq-list { display: grid; gap: 10px; }.faq-list details { border: 1px solid var(--line); border-radius: 13px; background: #fff; }.faq-list summary { padding: 16px 18px; color: var(--brand-700); font-weight: 720; cursor: pointer; }.faq-list details p { margin: 0; padding: 0 18px 18px; color: var(--muted); }

.palette-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.palette-swatch { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.palette-swatch > span { display: block; height: 76px; margin-bottom: 13px; border: 1px solid rgba(15,23,42,.12); border-radius: 11px; background: var(--swatch); }
.palette-swatch h3 { font-size: 17px; }
.palette-swatch code { color: var(--muted); font-size: 12px; }
.palette-swatch p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.page-main { min-height: 65vh; }
.account-navigation { border-bottom: 1px solid var(--line); background: var(--surface-alt); }
.account-navigation .breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; min-height: 48px; align-items: center; padding-block: 8px; }
.account-navigation a { color: var(--brand-600); font-size: 13px; font-weight: 700; }
.account-navigation a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.workflow-hero, .auth-hero, .publisher-summary, .advertising-hero, .campaigns-hero { padding-block: 58px; }
.flow-stepper { padding: 18px 20px; border: 1px solid var(--brand-200); border-radius: var(--radius-md); background: var(--brand-50); }
.flow-stepper ol, .flow-stepper ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: flow; }
.flow-stepper li { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: #fff; color: var(--muted); font-size: 12px; font-weight: 700; }
.flow-stepper li[aria-current="step"], .flow-stepper .is-current { border-color: var(--interactive-primary); background: var(--button-gradient); color: #fff; }
.form-error-summary { border-left: 4px solid var(--warning); background: var(--warning-bg); }
.form-error-summary h2, .form-error-summary h3 { color: var(--warning); }
.tool-submission-form, .campaign-form, .auth-form { display: grid; gap: 18px; }
.form-section, .campaign-form-section { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.form-section h2, .campaign-form-section h2 { margin-bottom: 8px; font-size: 27px; }
.form-section > p, .campaign-form-section > p { color: var(--muted); }
.form-section .field, .campaign-form-section .field, .auth-form .field { margin-top: 14px; }
.field textarea { width: 100%; min-height: 116px; resize: vertical; border: 1px solid var(--line-strong); border-radius: 11px; padding: 11px 12px; background: #fff; color: var(--ink); }
.field small { color: var(--soft); font-size: 12px; }
.field input[type="checkbox"], .field input[type="radio"] { width: 18px; height: 18px; min-height: 0; padding: 0; accent-color: var(--interactive-primary); }
.field label:has(input[type="checkbox"]), .field label:has(input[type="radio"]) { display: flex; align-items: flex-start; gap: 9px; color: var(--ink); font-size: 14px; }
.submission-preview, .preview-card { border-color: var(--brand-200); background: var(--brand-50); }
.submission-preview h2, .preview-card h2 { margin-bottom: 12px; }
.status-timeline, .submission-statuses, .tool-record-list, .campaign-list > ul, .ad-inventory-list, .ledger-entry-list, .placement-choice-list, .update-diff-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.status-timeline li, .submission-statuses li { position: relative; padding: 14px 16px 14px 40px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.status-timeline li::before, .submission-statuses li::before { content: ""; position: absolute; left: 16px; top: 20px; width: 10px; height: 10px; border-radius: 50%; background: var(--brand-500); box-shadow: 0 0 0 4px var(--brand-100); }
.status-timeline strong, .submission-statuses strong { display: block; color: var(--brand-700); }
.status-timeline span, .submission-statuses span { color: var(--muted); font-size: 13px; }
.submission-policy-summary { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-alt); }
.auth-shell .auth-form { max-width: 720px; }
.auth-form input:disabled { background: #e8e3ef; color: #514c63; }
.auth-status-notice { border-color: var(--brand-200); }
.password-requirements { padding: 17px 19px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-alt); }
.password-requirements ul { margin-bottom: 0; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.dashboard-metrics div { display: block; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.78); }
.dashboard-metrics dt { color: var(--muted); font-size: 12px; }
.dashboard-metrics dd { margin-top: 5px; text-align: left; }
.tool-record-list, .dashboard-campaign-list > .container > ul, .campaign-list > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tool-record-list > li, .campaign-list > ul > li, .dashboard-campaign-list > .container > ul > li { min-width: 0; }
.pending-work .content-card + .content-card { margin-top: 18px; }
.pending-work ul:not(.status-list), .dashboard-corrections ul, .dashboard-updates ul, .dashboard-submissions ul { margin-bottom: 0; }
.pending-work article h4 { margin: 0 0 10px; color: var(--brand-700); font-size: 17px; }
.ad-inventory-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.placement-spec-card { height: 100%; }
.placement-spec-card h3 { overflow-wrap: anywhere; }
.placement-spec-card .fact-list div { grid-template-columns: minmax(120px,.35fr) minmax(0,1fr); }
.placement-spec-card .fact-list dd { text-align: left; overflow-wrap: anywhere; }
.campaign-budget-fields, .campaign-creative-fields, .campaign-placement-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.placement-choice-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
.placement-choice-list label { display: block; height: 100%; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-alt); }
.ledger-summary { padding: 20px; border: 1px solid var(--brand-200); border-radius: var(--radius-md); background: var(--brand-50); }
.ledger-entry-list li { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.ledger-entry-list article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 18px; }
.ledger-entry-list h3 { font-size: 16px; }
.ledger-entry-list dl { grid-column: 1 / -1; }
.update-diff-row { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.update-diff-row > h3 { margin-bottom: 12px; }
.update-diff-row .two-column-list > * { min-width: 0; }
.breakable-value, code { overflow-wrap: anywhere; word-break: break-word; }
.update-confirmation { border-color: var(--brand-200); background: var(--brand-50); }
.site-footer { padding: 54px 0 28px; border-top: 1px solid var(--line); background: var(--brand-900); color: rgba(255,255,255,.76); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 42px; }.site-footer .brand-mark { color: #fff; }.footer-intro { max-width: 420px; margin: 16px 0 0; font-size: 14px; }.footer-column h2 { margin: 0 0 12px; color: #fff; font-size: 14px; letter-spacing: 0; }
.footer-column ul { margin: 0; padding: 0; list-style: none; }
.footer-column a { display: block; margin: 8px 0; font-size: 13px; }.footer-column a:hover { color: #fff; }
.site-footer .brand-mark--image { width: fit-content; padding: 4px 8px; border-radius: 8px; background: #fff; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }
.mobile-referral { display: none; }

@media (max-width: 1020px) {
  .js .primary-nav, .js .header-actions { display: none; }
  .js .mobile-menu-button { display: inline-flex; }
  .no-js .header-row { flex-wrap: wrap; padding-block: 10px; }
  .no-js .primary-nav { display: flex; flex-wrap: wrap; order: 3; width: 100%; gap: 12px; margin: 0; }
  .no-js .header-actions { display: flex; }
  .no-js .mobile-menu-button { display: none; }
  .primary-nav.is-open { position: absolute; top: 72px; right: 20px; left: 20px; display: grid; gap: 0; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-md); }
  .primary-nav.is-open .primary-nav__list { display: grid; gap: 0; }
  .primary-nav.is-open a { min-height: 44px; padding: 10px 12px; border-bottom: 1px solid var(--line); }.primary-nav.is-open a:last-child { border-bottom: 0; }
  .hero-inner, .tool-hero__grid { grid-template-columns: 1fr; }.hero-proof { max-width: 650px; }
  .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .facet-groups, .palette-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tool-record-list, .dashboard-campaign-list > .container > ul, .campaign-list > ul { grid-template-columns: 1fr; }
  .filter-panel { grid-template-columns: 1fr 1fr; }.filter-panel .field:first-child { grid-column: 1/-1; }.filter-actions { align-items: stretch; }
  .tool-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-layout { grid-template-columns: 1fr; }.detail-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }.footer-column:last-child { grid-column: 2/4; }
}

@media (max-width: 680px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 54px 0; }.section--compact { padding: 38px 0; }
  .header-row { min-height: 64px; }.primary-nav.is-open { top: 64px; right: 14px; left: 14px; }
  .hero { padding: 62px 0 48px; }.hero-inner { gap: 35px; }.hero-copy { font-size: 16px; }
  h1 { font-size: 42px; }.section-heading { display: block; }.section-heading__actions { margin-top: 14px; }
  .search-shell { grid-template-columns: 1fr; border-radius: var(--radius-lg); }.search-shell .button { width: 100%; }
  .category-grid, .tool-grid, .trust-grid, .two-column-list, .feature-list, .media-grid, .alternative-grid, .detail-sidebar, .footer-grid, .facet-groups, .intent-cluster-grid { grid-template-columns: 1fr; }
  .sort-form { display: grid; justify-content: stretch; }
  .sort-form .field { min-width: 0; }
  .selection-criteria div { grid-template-columns: 1fr; gap: 5px; }
  .keyword-candidate-list a { grid-template-columns: 1fr; }
  .keyword-candidate-list span { text-align: left; }
  .dashboard-metrics, .ad-inventory-list, .campaign-budget-fields, .campaign-creative-fields, .campaign-placement-fields, .placement-choice-list, .palette-grid { grid-template-columns: 1fr; }
  .flow-stepper ol, .flow-stepper ul { display: grid; }
  .ledger-entry-list article { grid-template-columns: 1fr; }
  .ledger-entry-list dl { grid-column: auto; }
  .filter-panel { grid-template-columns: 1fr; }.filter-panel .field:first-child { grid-column: auto; }
  .sponsored-card { grid-template-columns: auto 1fr; }.sponsored-card__price { grid-column: 1/-1; text-align: left; }
  .vendor-callout { grid-template-columns: 1fr; padding: 30px 24px; }.vendor-callout__actions { justify-content: start; }
  .tool-title-row { align-items: center; }.tool-logo--large { width: 62px; height: 62px; border-radius: 17px; }.tool-title-row h1 { font-size: 39px; }
  .content-card { padding: 22px 18px; }
  .rating-row { grid-template-columns: 1fr; }
  .rating-row div { flex-wrap: wrap; }
  .footer-column:last-child { grid-column: auto; }.footer-bottom { display: block; }.footer-bottom span { display: block; margin-top: 8px; }
  .mobile-referral { position: sticky; z-index: 90; bottom: 0; display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }.mobile-referral span { color: var(--muted); font-size: 12px; }.mobile-referral strong { display: block; color: var(--ink); font-size: 14px; }
}

.analytics-consent {
  position: fixed;
  z-index: 60;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1120px;
  margin-inline: auto;
  padding: 18px 20px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-lg);
}
.analytics-consent h2 { margin: 0 0 4px; font-size: 18px; }
.analytics-consent p { max-width: 760px; margin: 0; color: var(--muted); font-size: 13px; }
.analytics-consent form { flex: 0 0 auto; }
.analytics-preferences { max-width: 1180px; margin: 18px auto; padding: 12px 20px; color: var(--muted); font-size: 13px; }
.analytics-preferences summary { cursor: pointer; color: var(--ink); font-weight: 750; }
@media (max-width: 760px) {
  .analytics-consent { align-items: stretch; flex-direction: column; gap: 12px; }
  .analytics-consent .card-actions { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .site-header, .mobile-referral, .button, .prototype-banner, .analytics-consent, .analytics-preferences { display: none !important; }
  body { color: #000; }.section, .tool-hero { padding: 24px 0; }.content-card, .fact-card { break-inside: avoid; box-shadow: none; }
}

/* Product profile: primary product facts and direct next steps. */
.product-profile { background:#fff; }
.profile-hero { border-block:1px solid #eae6f5; background:radial-gradient(ellipse at 90% 15%,#fce4f3 0,transparent 52%),linear-gradient(110deg,#f3f6ff,#f6efff); }
.profile-hero__inner { padding-block:42px 36px; }
.profile-identity { display:flex; gap:20px; align-items:center; }
.profile-monogram { display:grid; place-items:center; flex:none; width:76px; height:76px; border:1px solid #e4dff4; border-radius:22px; background:#fff; color:#6545ba; font-size:38px; font-weight:750; box-shadow:0 8px 28px #58438d0c; }
.profile-identity h1 { margin:0; font-size:clamp(38px,5vw,54px); line-height:1.08; letter-spacing:-.045em; }
.profile-identity .eyebrow { margin:0 0 8px; }
.profile-tagline { max-width:720px; margin:23px 0 18px; font-size:clamp(18px,2vw,21px); line-height:1.65; color:#514b66; }
.profile-tags { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 26px; list-style:none; }
.profile-tags li { border:1px solid #ded8ed; border-radius:99px; padding:5px 12px; font-size:12px; background:#ffffffa8; color:#57516b; }
.profile-hero__actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.profile-hero__actions .button { min-height:46px; gap:18px; }
.profile-price { font-size:13px; color:#565066; padding:8px; }
.profile-domain { font-size:12px; margin:14px 0 0; color:#635c74; }
.profile-domain span { margin-left:10px; color:#716b80; }
.profile-nav { display:flex; gap:32px; overflow:auto; padding:22px 0; border-bottom:1px solid #e9e5ee; }
.profile-nav a { flex:none; color:#655973; font-size:14px; font-weight:650; }
.profile-nav a:hover { color:#794fd1; }
.profile-columns { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:64px; align-items:start; padding:38px 0 58px; }
.profile-main { min-width:0; }
.profile-section { margin-bottom:46px; scroll-margin-top:100px; }
.profile-section h2 { font-size:27px; line-height:1.25; letter-spacing:-.03em; margin:0 0 22px; }
.profile-section .eyebrow { font-size:11px; margin:0 0 10px; }
.profile-prose { color:#585266; font-size:15px; line-height:1.85; overflow-wrap:anywhere; }
.profile-prose h3 { font-size:17px; color:#302a3e; margin:24px 0 8px; }
.profile-prose p { margin:0 0 14px; }
.profile-prose table { display:block; max-width:100%; overflow:auto; }
.profile-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.profile-features article { padding:22px; border:1px solid #e9e3f2; border-radius:16px; background:#fcfbff; }
.profile-feature-number { display:inline-flex; justify-content:center; align-items:center; width:30px; height:30px; background:#eee8fc; color:#7953b6; border-radius:9px; font-size:11px; font-weight:700; }
.profile-features h3 { font-size:17px; margin:18px 0 8px; }
.profile-features p { font-size:14px; color:#696275; line-height:1.7; margin:0; }
.profile-use-cases { list-style:none; counter-reset:tasks; padding:0; display:grid; gap:10px; }
.profile-use-cases li { counter-increment:tasks; display:flex; gap:14px; align-items:center; padding:18px 20px; border:1px solid #eae5f0; border-radius:12px; font-size:14px; }
.profile-use-cases li::before { content:counter(tasks); color:#9471c1; font-weight:700; font-size:13px; }
.profile-small { font-size:12px; line-height:1.7; color:#746c80; }
.profile-pros-cons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.profile-pros-cons article { border-top:2px solid #d6c6ef; padding-top:15px; }
.profile-pros-cons article:last-child { border-color:#e8dcc3; }
.profile-pros-cons h3 { margin:0 0 14px; font-size:16px; }
.profile-pros-cons ul { margin:0; padding-left:18px; color:#665e72; font-size:14px; line-height:1.8; }
.profile-pros-cons li { margin-bottom:10px; }
.profile-pricing { border:1px solid #e1d8ef; padding:25px; border-radius:16px; background:linear-gradient(120deg,#faf7ff,#fff9fc); }
.profile-pricing h3 { font-size:22px; margin:0 0 10px; }
.profile-pricing p { color:#665d72; font-size:14px; line-height:1.8; }
.profile-source { border-block:1px solid #e8e3ed; padding:21px 0; color:#6d6478; font-size:13px; }
.profile-source summary { cursor:pointer; color:#51465f; font-weight:650; }
.profile-source summary span { margin-left:12px; font-size:11px; font-weight:400; }
.profile-source details[open] summary { margin-bottom:18px; }
.profile-source .fact-list div { grid-template-columns:1fr 1fr; }
.profile-source dd { overflow-wrap:anywhere; }
.profile-sidebar { display:grid; gap:20px; position:sticky; top:100px; }
.profile-action-card { padding:26px; border:1px solid #ddd1ef; border-radius:18px; background:linear-gradient(155deg,#f6f0ff,#fff7fc); }
.profile-action-card h2 { font-size:24px; letter-spacing:-.025em; margin:10px 0 14px; }
.profile-action-card p:not(.eyebrow) { color:#6b607b; font-size:14px; line-height:1.8; }
.profile-action-card .button { width:100%; margin:8px 0 12px; font-size:13px; }
.profile-action-card .profile-small { display:block; text-align:center; }
.profile-vendor-card { border:1px solid #e9e4ed; border-radius:16px; padding:25px; }
.profile-vendor-card h2 { font-size:17px; margin:0 0 12px; }
.profile-vendor-card p { font-size:13px; color:#746b7e; line-height:1.8; }
.profile-vendor-card .text-link { font-size:13px; }
.profile-submit-link { display:block; margin-top:22px; padding-top:18px; border-top:1px solid #eee9f1; font-size:12px; color:#746b7e; }
@media(max-width:1000px) { .profile-columns { gap:30px; grid-template-columns:minmax(0,1fr) 280px; } }
@media(max-width:760px) { .profile-columns { grid-template-columns:1fr; padding-top:28px; } .profile-sidebar { position:static; } .profile-hero__inner { padding-block:28px; } .profile-nav { gap:24px; } .profile-section { margin-bottom:34px; } .profile-hero__actions .button { min-height:44px; } }
@media(max-width:430px) { .profile-features,.profile-pros-cons { grid-template-columns:1fr; } .profile-monogram { width:64px; height:64px; border-radius:18px; } .profile-section h2 { font-size:24px; } .profile-price { padding-left:0; } }

/* Keep submission visible at mobile and tablet widths. */
@media(max-width:1080px) {
  .js .site-header .header-actions { display:flex; }
  .js .site-header .header-actions .button--secondary { display:none; }
  .site-header .header-row { gap:12px; }
  .site-header .brand-mark--image img { width:160px; height:36px; }
  .site-header .header-actions .button { min-height:44px; padding:8px 14px; font-size:12px; }
}
@media(max-width:430px) {
  .site-header .header-row { gap:8px; }
  .site-header .brand-mark--image img { width:138px; height:32px; }
  .site-header .mobile-menu-button { flex:none; width:36px; }
  .site-header .header-actions .button { padding:8px 10px; }
}

/* Source detail structure: complete content, compact product header, useful sidebar. */
.source-profile { background:#faf9fd; padding-bottom:20px; }
.source-profile .breadcrumbs { padding-block:24px; }
.source-profile .profile-hero { background:none; border:0; }
.source-profile .profile-hero__inner { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr); gap:34px; align-items:stretch; padding:34px; background:radial-gradient(circle at 8% 16%,#fff 0 7%,transparent 30%),radial-gradient(circle at 88% 12%,#f8dcea 0,transparent 34%),linear-gradient(125deg,#f1efff,#fbf7ff 58%,#fff); border:1px solid #e2d9ed; border-radius:22px 22px 0 0; box-shadow:0 18px 50px #3d28520b; }
.source-profile .profile-hero__copy { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:8px 4px; }
.source-profile .profile-monogram { width:88px; height:88px; border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 12px 30px #68469b1c; }
.source-profile .profile-monogram img { object-fit:contain; width:88px; height:88px; }
.source-profile .profile-identity { gap:20px; }
.source-profile .profile-identity h1 { font-size:clamp(38px,4vw,54px); line-height:1.02; letter-spacing:-.05em; }
.source-profile .profile-tagline { margin:20px 0 24px; font-size:18px; line-height:1.6; max-width:680px; color:#564d62; white-space:pre-line; }
.source-profile .profile-hero__facts { display:flex; flex-wrap:wrap; gap:10px; }
.source-profile .profile-hero__facts span { display:grid; gap:3px; min-width:130px; padding:10px 14px; border:1px solid #ded5e9; border-radius:12px; background:#ffffffb8; }
.source-profile .profile-hero__facts small { color:#81758d; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.source-profile .profile-hero__facts strong { overflow-wrap:anywhere; font-size:13px; color:#352b42; }
.source-profile .profile-hero__cta { display:flex; flex-direction:column; justify-content:center; padding:25px; border:1px solid #e1d5ec; border-radius:17px; background:#ffffffd9; box-shadow:0 12px 28px #39234d0c; }
.source-profile .profile-hero__cta h2 { margin:4px 0 10px; font-size:24px; letter-spacing:-.025em; }
.source-profile .profile-hero__cta>p:not(.eyebrow):not(.profile-domain) { margin:0 0 20px; color:#716679; font-size:13px; line-height:1.65; }
.source-profile .profile-hero__cta .button { width:100%; justify-content:space-between; }
.source-profile .profile-domain { margin:14px 0 0; }
.source-profile .profile-nav { margin-top:-1px; padding:18px 26px; background:#fff; border:1px solid #e6e0ed; border-radius:0 0 16px 16px; gap:26px; align-items:center; }
.source-profile .profile-nav a { font-size:12px; }
.source-profile .profile-nav span { margin-left:3px; color:#9a82b8; }
.source-profile .profile-nav__claim { margin-left:auto; }
.source-profile .profile-columns { grid-template-columns:minmax(0,1fr) 300px; gap:26px; padding-top:32px; padding-bottom:12px; }
.source-profile .profile-section { margin-bottom:25px; padding:30px; border:1px solid #e8e3ed; border-radius:16px; background:white; }
.source-profile .profile-section h2 { font-size:24px; margin-bottom:22px; }
.source-profile .profile-prose { font-size:14px; line-height:1.95; }
.source-section-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:18px; }
.source-profile .source-section-heading h2 { margin:0; }
.source-section-heading h2 span { font-size:19px; color:#8d7b9d; font-weight:500; }
.source-profile .faq-list { border:0; background:none; }
.source-profile .faq-list details { border:0; border-bottom:1px solid #ece7f0; border-radius:0; background:none; }
.source-profile .faq-list details:last-child { border:0; }
.source-profile .faq-list summary { padding:18px 24px 18px 0; font-size:13px; line-height:1.7; }
.source-profile .faq-list details p { padding:0 14px 18px 0; color:#756b80; font-size:13px; line-height:1.9; margin:0; }
.source-profile .faq-list details[open] summary { color:#8052b2; }
.source-profile .faq-list.is-collapsed details:nth-child(n+7) { display:none; }
.faq-show-more { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; margin-top:15px; border:1px solid #d8cce5; border-radius:10px; background:#faf7ff; color:#7543a6; font:inherit; font-size:13px; font-weight:750; cursor:pointer; }
.faq-show-more:hover { border-color:#a982ca; background:#f4edfb; }
.faq-show-more[hidden] { display:none; }
.source-profile .profile-pros-cons { gap:16px; }
.source-profile .profile-pros-cons article { border:0; padding:20px; background:#f0fbf6; border-radius:12px; }
.source-profile .profile-pros-cons article:last-child { background:#fff5f7; }
.source-profile .profile-pros-cons h3 { display:flex; align-items:center; gap:8px; font-size:17px; }
.source-profile .profile-pros-cons h3 span { color:#32a77a; }
.source-profile .profile-pros-cons article:last-child h3 span { color:#d8758b; }
.source-profile .profile-pros-cons ul { font-size:12px; line-height:1.9; padding-left:16px; }
.source-profile .profile-pros-cons li { margin-bottom:6px; }
.source-profile .profile-sidebar { gap:20px; position:static; }
.source-profile .profile-vendor-card { background:#fff; padding:24px; }
.source-profile .profile-vendor-card h2 { font-size:19px; margin-bottom:17px; }
.source-tasks ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.source-tasks li { background:#f6f0ff; border:1px solid #e9def8; border-radius:7px; padding:8px 11px; color:#705885; font-size:12px; }
.source-overview .fact-list div { display:block; padding:10px 0; }
.source-overview .fact-list dt { font-size:11px; margin-bottom:3px; }
.source-overview .fact-list dd { text-align:left; font-size:13px; overflow-wrap:anywhere; }
.source-overview .button { width:100%; font-size:12px; margin-top:10px; }
.source-listing-badge { display:grid; gap:5px; text-align:center; padding:18px 10px; margin-bottom:15px; border:1px solid #e9def8; border-radius:10px; background:linear-gradient(140deg,#f4f0ff,#fff5fb); }
.source-listing-badge span { text-transform:uppercase; letter-spacing:.1em; font-size:9px; color:#8b759d; }
.source-listing-badge strong { font-size:18px; color:#65479a; }
.source-listing-badge small { color:#7e738b; font-size:11px; }
.source-promote .button,.source-share .button { width:100%; font-size:12px; }
.profile-copy-status { font-size:11px; min-height:0; margin:8px 0 0; }
.source-copy-fallback { width:100%; min-height:95px; font-size:11px; margin-top:12px; }
.source-review-empty { border-radius:9px; background:#f8f6fb; color:#8b8097; padding:24px; font-size:13px; }
.source-profile .profile-source { font-size:12px; background:#fcfbfe; }
.source-profile .profile-source summary span { display:inline-block; }
.source-profile .source-related { padding:30px; }
.source-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.source-related-grid .profile-vendor-card { display:flex; flex-direction:column; padding:22px; }
.source-related-icon { display:grid; place-items:center; background:#f2eafd; color:#8560b4; font-size:22px; font-weight:700; width:46px; height:46px; border-radius:12px; margin-bottom:14px; }
.source-related-grid h3 { font-size:17px; margin:0 0 10px; }
.source-related-grid p { flex:1; font-size:13px; line-height:1.8; }
.source-related-grid article>div { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; }
.source-related-grid .button,.source-related-grid .text-link { font-size:11px; }
@media(max-width:900px) { .source-profile .profile-hero__inner { grid-template-columns:minmax(0,1fr) minmax(230px,.72fr); gap:20px; padding:25px; } .source-profile .profile-columns { grid-template-columns:minmax(0,1fr) 250px; gap:18px; } .source-profile .profile-section { padding:24px; } .source-profile .profile-pros-cons { grid-template-columns:1fr; } }
@media(max-width:700px) { .source-profile .profile-hero__inner { width:calc(100% - 28px); grid-template-columns:1fr; padding:22px; gap:18px; } .source-profile .profile-monogram,.source-profile .profile-monogram img { width:72px; height:72px; } .source-profile .profile-identity h1 { font-size:34px; } .source-profile .profile-tagline { margin-block:16px 18px; font-size:16px; } .source-profile .profile-hero__facts span { flex:1 1 120px; } .source-profile .profile-hero__cta { padding:20px; } .source-profile .profile-nav { padding:17px; gap:23px; } .source-profile .profile-columns { grid-template-columns:1fr; padding-top:22px; } .source-profile .profile-nav__claim { margin-left:0; } .source-profile .profile-section,.source-profile .source-related { padding:22px; } .source-related-grid { grid-template-columns:1fr; } .source-section-heading { align-items:flex-start; gap:10px; } .source-section-heading .button { padding:7px 10px; font-size:10px; min-height:36px; } .source-profile .profile-section h2 { font-size:22px; } }
