/* IntelCit public Home and Platform pages. Shared tokens and shell remain authoritative. */
.pub-main { overflow: hidden; background: var(--ic-white); }
.pub-wrap {
  width: min(calc(100% - 2 * var(--ic-gutter)), var(--ic-container-marketing));
  margin-inline: auto;
}
.pub-section { padding-block: clamp(var(--ic-space-16), 8vw, var(--ic-space-32)); }
.pub-section-muted { background: var(--ic-cloud-50); }
.pub-section h2 {
  max-width: 22ch; margin: 0 0 var(--ic-space-5); color: var(--ic-navy-950);
  font-size: var(--ic-title-lg); line-height: 1.12; letter-spacing: -.035em;
}
[dir="rtl"] .pub-section h2 { letter-spacing: -.015em; }
.pub-section-lead { max-width: 68ch; margin: 0 0 var(--ic-space-10); color: var(--ic-asphalt-650); font-size: var(--ic-text-lg); line-height: 1.65; }
.pub-eyebrow {
  margin: 0 0 var(--ic-space-5); color: var(--ic-cyan); font-size: var(--ic-text-sm);
  font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
[dir="rtl"] .pub-eyebrow { letter-spacing: 0; text-transform: none; }

.pub-hero {
  position: relative; isolation: isolate; padding-block: clamp(var(--ic-space-20), 10vw, 9rem);
  color: var(--ic-white); background: var(--ic-gradient-night);
}
.pub-hero::before {
  content: ""; position: absolute; z-index: -1; inset-block: 14% auto; inset-inline: auto 4%;
  inline-size: min(42vw, 34rem); aspect-ratio: 1; border: 1px solid rgb(85 183 243 / 24%);
  border-radius: 50%; box-shadow: inset 0 0 0 4rem rgb(22 184 200 / 4%), inset 0 0 0 8rem rgb(7 150 101 / 4%);
}
.pub-hero h1 {
  max-width: 13ch; margin: 0; color: var(--ic-white); font-size: clamp(2.75rem, 7vw, 5.5rem);
  font-weight: 700; line-height: .98; letter-spacing: -.045em;
}
[dir="rtl"] .pub-hero h1 { letter-spacing: -.015em; line-height: 1.12; }
.pub-hero-lead { max-width: 62ch; margin: var(--ic-space-8) 0 var(--ic-space-4); color: rgb(255 255 255 / 82%); font-size: var(--ic-text-xl); line-height: 1.62; }
.pub-hero-audience { margin: 0; color: rgb(255 255 255 / 64%); font-size: var(--ic-text-sm); font-weight: 650; }
.pub-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ic-space-3); margin-top: var(--ic-space-8); }
.pub-button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .72rem var(--ic-space-5);
  border: 1px solid var(--ic-blue-600); border-radius: var(--ic-radius-md); background: var(--ic-white);
  color: var(--ic-blue-700); font-weight: 750; text-decoration: none;
}
.pub-button:hover { background: var(--ic-blue-50); }
.pub-button-hero { border-color: var(--ic-blue-600); background: var(--ic-blue-600); color: var(--ic-white); }
.pub-button-hero:hover { border-color: var(--ic-blue-700); background: var(--ic-blue-700); }
.pub-hero .pub-button-hero { border-color: var(--ic-white); background: var(--ic-white); color: var(--ic-navy-950); }
.pub-hero .pub-button-hero:hover { background: var(--ic-blue-50); }
.pub-button-ghost { border-color: var(--ic-concrete-200); background: transparent; color: var(--ic-navy-950); }
.pub-hero .pub-button-ghost, .pub-cta .pub-button-ghost { border-color: rgb(255 255 255 / 40%); color: var(--ic-white); }
.pub-hero .pub-button-ghost:hover, .pub-cta .pub-button-ghost:hover { background: rgb(255 255 255 / 10%); }

.pub-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ic-space-5); }
.pub-card, .pub-service-card {
  padding: clamp(var(--ic-space-5), 3vw, var(--ic-space-8)); border: 1px solid var(--ic-concrete-200);
  border-radius: var(--ic-radius-lg); background: var(--ic-white); box-shadow: var(--ic-shadow-card);
}
.pub-card h3, .pub-service-card h3 { margin: 0 0 var(--ic-space-3); color: var(--ic-navy-950); font-size: var(--ic-title-sm); line-height: 1.25; }
.pub-card p, .pub-service-card p { margin: 0; color: var(--ic-asphalt-650); line-height: 1.62; }
.pub-service-card { position: relative; padding-top: var(--ic-space-12); }
.pub-service-badge, .pub-sample-badge {
  display: inline-flex; align-items: center; gap: var(--ic-space-2); min-height: 28px; padding: .2rem .65rem;
  border: 1px solid var(--ic-info-border); border-radius: var(--ic-radius-pill); background: var(--ic-info-bg);
  color: var(--ic-info); font-size: var(--ic-text-xs); font-weight: 800;
}
.pub-service-badge { position: absolute; inset-block-start: var(--ic-space-5); inset-inline-start: clamp(var(--ic-space-5), 3vw, var(--ic-space-8)); }
.pub-service-badge::before, .pub-sample-badge::before { content: ""; inline-size: .42rem; block-size: .42rem; border-radius: 50%; background: currentColor; }
.pub-service-badge.badge-available { border-color: var(--ic-success-border); background: var(--ic-success-bg); color: var(--ic-success); }
.pub-service-badge.badge-beta { border-color: var(--ic-warning-border); background: var(--ic-warning-bg); color: var(--ic-warning); }
.pub-service-badge.pub-static-badge { position: static; }

.pub-services-hero h1 { max-width: 17ch; }
.pub-service-catalog { display: grid; gap: var(--ic-space-6); }
.pub-catalog-card {
  padding: clamp(var(--ic-space-5), 4vw, var(--ic-space-10)); border: 1px solid var(--ic-concrete-200);
  border-radius: var(--ic-radius-xl); background: var(--ic-white); box-shadow: var(--ic-shadow-card);
}
.pub-catalog-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ic-space-4); margin-bottom: var(--ic-space-5); }
.pub-catalog-index { color: var(--ic-concrete-300); font: 800 var(--ic-title-md)/1 var(--ic-font-mono); }
.pub-catalog-card h3 { max-width: none; margin-bottom: var(--ic-space-4); font-size: var(--ic-title-md); }
.pub-catalog-card h3 a { color: var(--ic-navy-950); text-decoration: none; }
.pub-catalog-card h3 a:hover { color: var(--ic-blue-700); text-decoration: underline; text-underline-offset: .2em; }
.pub-catalog-card > p { max-width: 68ch; margin: 0; color: var(--ic-asphalt-650); font-size: var(--ic-text-lg); line-height: 1.6; }
.pub-catalog-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ic-space-6); margin-block: var(--ic-space-8); }
.pub-catalog-columns > div { padding: var(--ic-space-5); border-radius: var(--ic-radius-md); background: var(--ic-cloud-50); }
.pub-catalog-columns strong { display: block; margin-bottom: var(--ic-space-3); color: var(--ic-navy-950); font-size: var(--ic-text-sm); }
.pub-catalog-columns ul { display: grid; gap: var(--ic-space-2); margin: 0; padding-inline-start: 1.1rem; color: var(--ic-asphalt-650); }
.pub-text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--ic-blue-700); font-weight: 750; text-decoration: none; }
.pub-text-link:hover { text-decoration: underline; text-underline-offset: .2em; }

.pub-detail-hero h1 { max-width: 18ch; margin-top: var(--ic-space-5); }
.pub-back-link { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: var(--ic-space-5); color: var(--ic-blue-700); font-weight: 750; text-decoration: none; }
.pub-back-link::before { content: "←"; margin-inline-end: var(--ic-space-2); }
[dir="rtl"] .pub-back-link::before { content: "→"; }
.pub-detail-audience { margin-top: var(--ic-space-8); }
.pub-detail-audience > strong { display: block; margin-bottom: var(--ic-space-3); color: var(--ic-navy-950); }
.pub-detail-audience ul { display: flex; flex-wrap: wrap; gap: var(--ic-space-2); margin: 0; padding: 0; list-style: none; }
.pub-detail-chip { padding: .45rem .72rem; border: 1px solid var(--ic-info-border); border-radius: var(--ic-radius-pill); background: var(--ic-white); color: var(--ic-info); font-size: var(--ic-text-sm); font-weight: 700; }
.pub-detail-narrow { max-width: 64rem; }
.pub-detail-problem { max-width: 52ch; margin: 0; color: var(--ic-navy-950); font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 650; line-height: 1.35; }
.pub-detail-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ic-space-6); }
.pub-detail-flow .pub-card { position: relative; padding-top: var(--ic-space-16); }
.pub-detail-step { position: absolute; inset-block-start: var(--ic-space-5); inset-inline-start: clamp(var(--ic-space-5), 3vw, var(--ic-space-8)); color: var(--ic-blue-700); font: 800 var(--ic-text-sm)/1 var(--ic-font-mono); }
.pub-detail-list { display: grid; gap: var(--ic-space-3); margin: 0; padding: 0; list-style: none; }
.pub-detail-list li { position: relative; padding-inline-start: var(--ic-space-5); color: var(--ic-asphalt-650); line-height: 1.5; }
.pub-detail-list li::before { content: ""; position: absolute; inset-block-start: .55em; inset-inline-start: 0; inline-size: .48rem; block-size: .48rem; border-radius: 50%; background: var(--ic-cyan); }
.pub-capability-list { display: flex; flex-wrap: wrap; gap: var(--ic-space-3); margin: 0; padding: 0; list-style: none; }
.pub-capability-item { padding: .7rem var(--ic-space-4); border: 1px solid var(--ic-concrete-200); border-radius: var(--ic-radius-md); background: var(--ic-white); color: var(--ic-asphalt-800); font-weight: 650; }
.pub-evidence-panel { display: grid; grid-template-columns: minmax(12rem, .7fr) 1.5fr; gap: var(--ic-space-8); padding: clamp(var(--ic-space-5), 4vw, var(--ic-space-10)); border: 1px solid var(--ic-info-border); border-radius: var(--ic-radius-xl); background: var(--ic-white); }
.pub-evidence-panel > div { display: grid; align-content: start; gap: var(--ic-space-2); }
.pub-evidence-label { color: var(--ic-asphalt-450); font-size: var(--ic-text-xs); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
[dir="rtl"] .pub-evidence-label { letter-spacing: 0; text-transform: none; }
.pub-evidence-panel strong { color: var(--ic-success); font-size: var(--ic-title-sm); }
.pub-evidence-panel p { margin: 0; color: var(--ic-asphalt-650); font-size: var(--ic-text-lg); line-height: 1.65; }
.pub-boundary-list { display: grid; gap: var(--ic-space-3); margin: 0; padding: 0; list-style: none; }
.pub-boundary-item { position: relative; padding-block: var(--ic-space-5); padding-inline: var(--ic-space-12) var(--ic-space-5); border: 1px solid var(--ic-warning-border); border-radius: var(--ic-radius-md); background: var(--ic-warning-bg); color: var(--ic-warning); line-height: 1.55; }
.pub-boundary-item::before { content: "!"; position: absolute; inset-block-start: var(--ic-space-5); inset-inline-start: var(--ic-space-5); font-weight: 900; }
.pub-boundary-item.boundary-clear { border-color: var(--ic-success-border); background: var(--ic-success-bg); color: var(--ic-success); }
.pub-boundary-item.boundary-clear::before { content: "✓"; }

.pub-steps { counter-reset: step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ic-space-5); margin: 0; padding: 0; list-style: none; }
.pub-step { position: relative; padding: var(--ic-space-12) var(--ic-space-5) var(--ic-space-5); border-top: 2px solid var(--ic-blue-100); }
.pub-step::before {
  counter-increment: step; content: counter(step, decimal-leading-zero); position: absolute; inset-block-start: var(--ic-space-4); inset-inline-start: var(--ic-space-5);
  color: var(--ic-blue-700); font-family: var(--ic-font-mono); font-size: var(--ic-text-sm); font-weight: 800;
}
.pub-step h3 { margin: 0 0 var(--ic-space-3); color: var(--ic-navy-950); }
.pub-step p { margin: 0; color: var(--ic-asphalt-650); line-height: 1.58; }

.pub-dash-panel { padding: clamp(var(--ic-space-5), 4vw, var(--ic-space-10)); border: 1px solid var(--ic-concrete-200); border-radius: var(--ic-radius-xl); background: var(--ic-white); box-shadow: var(--ic-shadow-float); }
.pub-dash-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ic-space-4); padding-bottom: var(--ic-space-5); border-bottom: 1px solid var(--ic-concrete-200); color: var(--ic-navy-950); }
.pub-kpi-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ic-space-4); padding-block: var(--ic-space-6); }
.pub-kpi { display: grid; gap: var(--ic-space-2); padding: var(--ic-space-4); border-radius: var(--ic-radius-md); background: var(--ic-cloud-50); }
.pub-kpi-value { color: var(--ic-navy-950); font-size: var(--ic-title-md); font-weight: 800; font-variant-numeric: tabular-nums; }
.pub-kpi-label { color: var(--ic-asphalt-650); font-size: var(--ic-text-sm); }
.pub-dash-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ic-concrete-200); }
.pub-dash-list li { display: flex; align-items: center; justify-content: space-between; gap: var(--ic-space-4); min-height: 58px; padding-block: var(--ic-space-3); border-bottom: 1px solid var(--ic-concrete-200); color: var(--ic-asphalt-800); }
.pub-dash-note { margin: var(--ic-space-4) 0 0; color: var(--ic-asphalt-450); font-size: var(--ic-text-sm); }
.pub-evidence-chip { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--ic-space-3); margin-top: var(--ic-space-8); padding: var(--ic-space-3); border: 1px solid var(--ic-concrete-200); border-radius: var(--ic-radius-md); color: var(--ic-asphalt-650); }

.pub-cta { color: var(--ic-white); background: var(--ic-navy-950); }
.pub-cta h2 { color: var(--ic-white); }
.pub-cta .pub-section-lead { color: rgb(255 255 255 / 78%); }
.pub-cta-note { max-width: 68ch; color: rgb(255 255 255 / 62%); line-height: 1.65; }
.pub-demo-help { max-width: 60ch; margin-top: var(--ic-space-4); color: rgb(255 255 255 / 58%); font-size: var(--ic-text-sm); }

.pub-platform-hero { padding-block: clamp(var(--ic-space-16), 8vw, var(--ic-space-24)); background: var(--ic-blue-50); }
.pub-platform-hero h1 { max-width: 15ch; margin: 0; color: var(--ic-navy-950); font-size: var(--ic-display); line-height: 1; letter-spacing: -.04em; }
[dir="rtl"] .pub-platform-hero h1 { letter-spacing: -.015em; line-height: 1.15; }
.pub-platform-hero .pub-section-lead { margin-top: var(--ic-space-6); margin-bottom: 0; }
.pub-stack { display: grid; gap: var(--ic-space-3); max-width: 52rem; }
.pub-stack-item {
  display: grid; grid-template-columns: minmax(8.5rem, .8fr) 1.8fr; gap: var(--ic-space-5); align-items: center;
  padding: var(--ic-space-5); border: 1px solid var(--ic-concrete-200); border-radius: var(--ic-radius-lg); background: var(--ic-white);
}
.pub-stack-item strong { color: var(--ic-navy-950); font-size: var(--ic-text-lg); }
.pub-stack-item span { color: var(--ic-asphalt-650); line-height: 1.55; }
.pub-path { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ic-space-4); margin: 0; padding: 0; list-style: none; }
.pub-path li { position: relative; padding: var(--ic-space-8) var(--ic-space-5) var(--ic-space-5); border: 1px solid var(--ic-concrete-200); border-radius: var(--ic-radius-lg); background: var(--ic-white); }
.pub-path li::before { content: attr(data-step); position: absolute; inset-block-start: var(--ic-space-4); inset-inline-start: var(--ic-space-5); color: var(--ic-blue-700); font: 800 var(--ic-text-sm)/1 var(--ic-font-mono); }
.pub-path strong { display: block; margin-bottom: var(--ic-space-3); color: var(--ic-navy-950); }
.pub-path span { color: var(--ic-asphalt-650); line-height: 1.55; }
.pub-now-note { max-width: 68ch; padding: var(--ic-space-5); border-inline-start: 4px solid var(--ic-cyan); background: var(--ic-blue-50); color: var(--ic-asphalt-800); line-height: 1.65; }

@media (max-width: 899px) {
  .pub-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pub-steps, .pub-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pub-hero::before { inline-size: 60vw; opacity: .7; }
}

@media (max-width: 639px) {
  .pub-section { padding-block: var(--ic-space-16); }
  .pub-hero { padding-block: var(--ic-space-20); }
  .pub-hero h1 { font-size: clamp(2.6rem, 14vw, 3.5rem); }
  .pub-hero-lead { font-size: var(--ic-text-lg); }
  .pub-actions, .pub-actions .pub-button { inline-size: 100%; }
  .pub-card-grid, .pub-steps, .pub-path, .pub-kpi-row { grid-template-columns: 1fr; }
  .pub-step { padding-inline: 0; }
  .pub-step::before { inset-inline-start: 0; }
  .pub-dash-head, .pub-dash-list li { align-items: flex-start; }
  .pub-dash-list li { flex-direction: column; }
  .pub-stack-item { grid-template-columns: 1fr; gap: var(--ic-space-2); }
  .pub-platform-hero h1 { font-size: 2.6rem; }
  .pub-catalog-columns, .pub-detail-flow, .pub-evidence-panel { grid-template-columns: 1fr; }
  .pub-catalog-card { padding: var(--ic-space-5); }
  .pub-detail-problem { font-size: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .pub-button { scroll-behavior: auto; }
}
