/* FactLens API v72 — final public polish only. v71 remains the base visual system. */

:root{
  --brand:#238b4e;
  --brand-hover:#1f7a45;
  --brand-ink:#fff;
  --brand-soft:rgba(35,139,78,.11);
  --green:#2f9e5b;
}
html[data-theme="dark"]{
  --brand:#48b878;
  --brand-hover:#5cc88a;
  --brand-ink:#07130c;
  --brand-soft:rgba(72,184,120,.13);
  --green:#55bd82;
}

/* Compact right-aligned public navigation */
.public-nav-inner{
  grid-template-columns:minmax(180px,1fr) auto auto;
  gap:12px;
}
.public-nav-links{
  justify-content:flex-end;
  gap:16px;
}
.public-nav-actions{gap:7px}

/* Denser first viewport */
.public-page .public-shell{margin-top:0}
.home-page .public-main{padding-top:0}
.home-hero{
  min-height:600px;
  padding-top:16px;
  padding-bottom:50px;
}
.home-copy h1{
  max-width:680px;
  font-size:clamp(3rem,5.4vw,5.45rem);
}
.home-copy>p{font-size:clamp(1rem,1.25vw,1.16rem)}
.hero-actions{margin-top:22px}

/* Capability marquee: transform-only, no JS timer */
.capability-marquee{
  width:100%;
  margin-top:22px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.capability-track{
  width:max-content;
  display:flex;
  gap:9px;
  will-change:transform;
  animation:capability-marquee 34s linear infinite;
}
.capability-marquee:hover .capability-track{animation-play-state:paused}
.capability-pill{flex:none}
@keyframes capability-marquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* Homepage platform depth */
.home-section{padding:68px 0;border-top:1px solid var(--line)}
.home-section-head{max-width:760px;margin-bottom:26px}
.home-section-head h2{margin-bottom:10px;font-size:clamp(1.8rem,3.2vw,2.8rem)}
.home-section-head p{margin-bottom:0;font-size:1.02rem}
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.platform-card{min-height:196px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}
.platform-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:26px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--blue)}
.platform-icon svg{width:21px;height:21px}
.platform-card:nth-child(2) .platform-icon{color:var(--cyan)}
.platform-card:nth-child(3) .platform-icon{color:var(--purple)}
.platform-card:nth-child(4) .platform-icon{color:var(--orange)}
.platform-card:nth-child(5) .platform-icon{color:var(--green)}
.platform-card:nth-child(6) .platform-icon{color:var(--blue)}
.platform-card h3{margin-bottom:7px}
.platform-card p{margin:0;font-size:13px;line-height:1.65}

.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:workflow}
.workflow-step{position:relative;min-height:210px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.workflow-step::before{counter-increment:workflow;content:"0" counter(workflow);display:inline-flex;margin-bottom:34px;color:var(--brand);font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.workflow-step h3{margin-bottom:8px}
.workflow-step p{margin-bottom:0;font-size:13px;line-height:1.65}

.home-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:stretch}
.home-feature-panel{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}
.home-feature-panel h2{margin-bottom:10px;font-size:clamp(1.65rem,2.8vw,2.4rem)}
.home-feature-panel>p{max-width:690px;margin-bottom:22px}
.home-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none}
.home-feature-list li{min-height:46px;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:650}
.home-feature-list svg{width:17px;height:17px;flex:none;color:var(--brand)}
.home-console-preview{display:grid;gap:12px;padding:22px;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface-2)}
.home-console-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-console-preview-head strong{font-size:14px}
.home-console-preview-head span{font-size:11px;color:var(--faint)}
.home-console-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.home-console-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--brand-soft);color:var(--green)}
.home-console-symbol svg{width:18px;height:18px}
.home-console-row small{display:block;color:var(--faint)}
.home-console-status{font-size:10px;color:var(--green);font-weight:800}
.home-cta-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}

/* Expanded Free API intro */
.free-intro-lines{display:grid;gap:8px;margin-top:12px}
.free-intro-lines p{margin:0;max-width:760px}

/* Static content never starts hidden. */
.reveal-ready{opacity:1!important;transform:none!important}

/* Public mobile containment. Keep overflow local to code/table surfaces, not the page. */
.public-page{overflow-x:clip}
.public-page :where(.public-shell,.public-main,.public-container,.public-nav-inner,.public-nav-links,.public-nav-actions,.home-hero-grid,.home-copy,.code-workbench,.code-workbench-head,.surface-grid,.pricing-grid,.pricing-rate-shell,.pricing-free-callout,.free-usecase-grid,.form-shell,.docs-layout,.docs-reading,.doc-section,.playground-grid,.playground-head,.workbench-panel,.workbench-panel-head,.workbench-body,.response-surface,.public-footer-inner,.footer-links){min-width:0}
.public-page :where(.code-card,.code-workbench,.table-wrap,.pricing-compare,.editor-surface){max-width:100%}
.public-page :where(.code-card,.table-wrap,.pricing-compare){overflow-x:auto;-webkit-overflow-scrolling:touch}
.public-page :where(h1,h2,h3,p,code,.mono,.field-help){overflow-wrap:anywhere}

@media(max-width:1100px){
  .public-nav-inner{grid-template-columns:minmax(165px,1fr) auto auto;gap:9px}
  .public-nav-links{gap:10px}
  .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-split{grid-template-columns:1fr}
}

@media(max-width:820px){
  .public-nav-inner{grid-template-columns:1fr auto}
  .public-nav-links{justify-content:flex-start}
  .home-hero{padding-top:22px;padding-bottom:34px}
  .home-copy h1{font-size:clamp(2.85rem,11vw,4.5rem)}
  .capability-marquee{margin-top:18px}
  .home-section{padding:48px 0}
  .platform-grid,.workflow-grid{grid-template-columns:1fr 1fr}
  .workflow-step:last-child{grid-column:1/-1}
  .public-page .public-shell{width:100%;max-width:100%;margin-inline:0}
  .public-page .public-container,.public-page .public-footer-inner,.public-page .docs-layout{max-width:100%}
  .public-page .surface-grid,.public-page .pricing-grid,.public-page .pricing-rate-shell,.public-page .pricing-free-callout,.public-page .free-usecase-grid,.public-page .form-shell,.public-page .playground-grid{grid-template-columns:1fr}
  .public-page .code-workbench,.public-page .code-card,.public-page .table-wrap,.public-page .pricing-compare,.public-page .workbench-panel{min-width:0;max-width:100%}
  .public-page .table-wrap,.public-page .code-card,.public-page .pricing-compare{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .public-page .public-nav-links{max-width:calc(100vw - 24px)}
  .public-page .code-tabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .public-page .docs-reading,.public-page .doc-section{width:100%;max-width:100%}
  .public-page .docs-reading pre,.public-page .code-card pre,.public-page .code-workbench pre{max-width:100%;overflow-x:auto}
}

@media(max-width:560px){
  .home-hero{padding-top:22px}
  .home-copy h1{font-size:clamp(2.45rem,12vw,3.6rem)}
  .platform-grid,.workflow-grid,.home-feature-list{grid-template-columns:1fr}
  .workflow-step:last-child{grid-column:auto}
  .home-section{padding:40px 0}
  .platform-card,.workflow-step,.home-feature-panel{padding:19px}
  .home-console-row{grid-template-columns:40px 1fr}
  .home-console-status{grid-column:2}
  .public-page .public-container,.public-page .public-footer-inner{width:calc(100% - 24px);max-width:100%}
  .public-page .hero-actions,.public-page .pricing-actions,.public-page .home-cta-row{align-items:stretch;flex-direction:column}
  .public-page .hero-actions>*,.public-page .pricing-actions>*,.public-page .home-cta-row>*{width:100%}
  .public-page .surface-card,.public-page .panel,.public-page .workbench-panel,.public-page .form-card{max-width:100%}
  .public-page .field-table,.public-page .error-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .public-page .workbench-panel-head,.public-page .playground-head{min-width:0}
  .public-page .public-footer [data-parent-brand-slot]{max-width:100%}
}

@media(max-width:390px){
  .public-page .public-container,.public-page .public-footer-inner{width:calc(100% - 20px)}
  .public-page .public-nav-inner{width:calc(100% - 16px)}
  .public-page .brand-link{min-width:0;max-width:calc(100vw - 112px)}
  .public-page .brand-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .public-page .public-nav-links{left:8px;right:8px;max-width:none}
  .public-page .footer-links{grid-template-columns:1fr}
  .public-page .code-tabs{width:100%;max-width:100%;overflow-x:auto}
  .public-page .playground-grid{grid-template-columns:1fr}
  .public-page .workbench-panel-head{align-items:flex-start;flex-wrap:wrap}
  .public-page :where(.button,.btn,.nav-cta){max-width:100%}
}

@media(prefers-reduced-motion:reduce){
  .capability-marquee{overflow:visible;mask-image:none;-webkit-mask-image:none}
  .capability-track{width:auto;flex-wrap:wrap;animation:none!important;transform:none!important;will-change:auto}
  .capability-track [aria-hidden="true"]{display:none}
}
