/* Hallmark · shape: Narrative Workflow · genre: modern-minimal · theme: Cobalt (deal 1/3) · job: try · draw: 17aa19
 * hero: Counter · nav: direct links · footer: colophon · imagery: official product screenshots · signature: the Agents screen and its model assignments
 * axes: light/grotesk-sans/cool · posture: restrained · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: S, the headline needs the actual model assignments beside it */
/* Hallmark · hero-review: in-thread · preserved real screen and readable assignments · tightened heading fit */
/* Hallmark · finish-review: in-thread · tightened mobile routing labels and shortened the install section copy · render sweep clean */
@import url("./tokens.css");
@import url("./base.css");

:root {
  --container: 1440px;
  --gutter: clamp(1rem, 5vw, 5rem);
  --nav-height: 76px;
  --grid-line: color-mix(in oklab, var(--color-accent) 12%, transparent);
  --preview-shadow: 0 24px 48px -30px color-mix(in oklab, var(--color-ink) 48%, transparent);
  --color-focus-inverse: var(--color-accent-2);
}

.skip-link { position: absolute; z-index: var(--z-raised); inset: 8px auto auto 8px; padding: var(--space-sm); background: var(--color-paper); }
.skip-link:not(:focus) { clip-path: inset(50%); opacity: 0; }
.site-header { border-bottom: 1px solid var(--color-rule-2); }
.masthead { min-height: var(--nav-height); display: flex; align-items: center; gap: clamp(var(--space-md), 3.2vw, 48px); }
.brand { display: inline-flex; align-items: center; gap: var(--space-xs); margin-right: auto; font: 600 1.6rem/1 var(--font-display); letter-spacing: -0.04em; text-decoration: none; }
.mast-links { display: flex; align-items: center; gap: clamp(var(--space-md), 3vw, var(--space-xl)); }
.mast-links a { font-size: var(--text-sm); text-decoration: none; }
.mast-links a:hover, .text-link:hover, .colophon a:hover, .brand:hover { color: var(--color-accent); text-decoration: underline; }
.key { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-md); border: 1px solid var(--color-rule-2); border-radius: var(--radius-input); background: var(--color-key-face); box-shadow: var(--shadow-key); font-weight: 500; font-size: var(--text-sm); text-decoration: none; white-space: nowrap; transition: transform var(--dur-micro) var(--ease-out); }
.key:hover { transform: translateY(-1px); background: var(--color-accent-wash); }
.key:active { transform: translateY(2px); box-shadow: var(--shadow-key-press); }
.key:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.key-primary { min-height: 52px; padding-inline: var(--space-lg); background: var(--color-accent); color: var(--color-accent-ink); border-color: var(--color-accent-edge); box-shadow: var(--shadow-key-accent); font-size: var(--text-md); }
.key-primary:hover { background: var(--color-accent-deep); }

.hero { border-bottom: 1px solid var(--color-rule-2); }
.intro-layout {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  column-gap: clamp(32px, 4.5vw, 72px);
  align-content: center;
  align-items: center;
  min-height: calc(100svh - var(--nav-height));
  padding-block: var(--space-xl) 56px;
}
.hero h1 { font-size: clamp(3.25rem, 5.85vw, 5.65rem); line-height: 0.99; letter-spacing: -0.05em; text-wrap: initial; }
.hero h1 span { display: block; }
.hero .lead { margin-top: var(--space-lg); max-width: 28ch; color: var(--color-ink-2); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md) var(--space-lg); margin-top: 32px; }
.text-link { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; text-decoration-color: var(--color-rule-2); }
figure { margin: 0; min-width: 0; }
.intro-figure .preview {
  padding: clamp(var(--space-md), 3.6vw, 52px) clamp(var(--space-sm), 2.65vw, 44px);
  border: 1px solid var(--color-rule-2);
  border-radius: var(--radius-card);
  background-color: var(--color-accent-wash);
  background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 22px 22px;
  background-position: center;
}
.preview img { width: 100%; border-radius: var(--radius-card); border: 1px solid var(--color-rule-2); box-shadow: var(--preview-shadow); }
figcaption { display: flex; justify-content: space-between; gap: var(--space-sm); padding-top: var(--space-sm); color: var(--color-muted); font-size: var(--text-sm); }
code { font-family: var(--font-outlier); }
figcaption code { color: var(--color-accent-deep); font-size: var(--text-xs); }

@media (max-width: 65rem) {
  .intro-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; min-height: 0; padding-block: 68px 32px; }
  .hero h1 { font-size: clamp(3.25rem, 9.3vw, 5.25rem); }
}
@media (max-width: 36rem) {
  :root { --nav-height: 64px; }
  .workflow-link { display: none; }
  .masthead { gap: var(--space-sm); }
  .mast-links { gap: var(--space-sm); }
  .brand { font-size: 1.35rem; }
  .brand img { width: 28px; height: 28px; }
  .masthead .key { padding-inline: var(--space-xs); }
  .intro-layout { padding-top: 48px; gap: 28px; }
}

.section { padding-block: clamp(var(--space-2xl), 8vw, var(--space-4xl)); }
.section-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--gap-columns); align-items: end; margin-bottom: var(--space-xl); }
.section p { color: var(--color-ink-2); font-size: var(--text-lead); }
.section-intro p { max-width: 43ch; }

.flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.75fr) minmax(0, 1fr);
  align-items: center;
  padding: clamp(var(--space-lg), 5vw, var(--space-2xl));
  border-radius: var(--radius-card);
  background: var(--color-graphite);
  color: var(--color-graphite-ink);
}
.flow-side { display: grid; margin: 0; }
.flow-side div { position: relative; display: grid; gap: var(--space-2xs); padding: var(--space-md); border-block-start: 1px solid var(--color-graphite-glyph-2); }
.flow-side div:last-child { border-block-end: 1px solid var(--color-graphite-glyph-2); }
.flow-side div::after { content: ""; position: absolute; inset: 50% 0 auto auto; width: 24px; border-top: 1px solid var(--color-accent-2); }
.flow-targets div::after { inset-inline: 0 auto; }
.flow-targets div { padding-inline-start: var(--space-xl); }
.flow-side dt, .flow-hub strong { font: 600 var(--text-lg)/1.1 var(--font-display); }
.flow-side dd { margin: 0; color: var(--color-graphite-muted); font-size: var(--text-sm); }
.flow-hub { display: grid; justify-items: center; gap: var(--space-sm); padding: var(--space-xl) var(--space-xs); border: 1px solid var(--color-graphite-glyph-2); background: var(--color-graphite-2); }
.flow-hub strong { font-size: var(--text-2xl); }
.flow-hub code { color: var(--color-accent-2); font-size: var(--text-xs); }

.feature-section { background: var(--color-paper-2); border-block: 1px solid var(--color-rule-2); }
.feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); align-items: center; }
.picker { display: grid; place-items: center; padding: var(--space-lg); border-inline-end: 1px solid var(--color-rule-2); }
.picker img { width: min(100%, 354px); border-radius: var(--radius-card); border: 1px solid var(--color-rule-2); box-shadow: var(--preview-shadow); }
.feature-copy { max-width: 52ch; }
.feature-copy > p, .download-copy > p { margin-block: var(--space-lg) var(--space-xl); }
.feature-copy details { border-block-start: 1px solid var(--color-rule-2); }
.feature-copy details:last-child { border-block-end: 1px solid var(--color-rule-2); }
.feature-copy details p { padding: 0 var(--space-md) var(--space-md); font-size: var(--text-md); }
summary { padding: var(--space-md); cursor: pointer; font-weight: 500; }
summary:hover { background: var(--color-accent-wash); }

.download { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); align-items: center; }
.download-copy { max-width: 43ch; }
.platforms { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--color-rule-2); }
.platforms li, .platforms li div { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); }
.platforms li { min-height: 56px; padding-inline: var(--space-xs); border-top: 1px solid var(--color-rule-2); }
.platforms a { padding-block: var(--space-sm); color: var(--color-accent-deep); }
.platforms a:hover { color: var(--color-ink); }
.terminal { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); margin-top: var(--space-lg); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-card); background: var(--color-graphite); color: var(--color-graphite-ink); }
.terminal code { overflow-wrap: anywhere; font-size: var(--text-sm); }
.copy-button { cursor: pointer; color: var(--color-ink); min-width: 5.5rem; }
.copy-button:focus-visible { outline-color: var(--color-focus-inverse); }

.colophon { border-top: 1px solid var(--color-rule-2); background: var(--color-paper-2); }
.footer-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--gap-columns); padding-block: var(--space-xl); }
.footer-layout nav { grid-column: 3; justify-self: end; display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); font-size: var(--text-sm); }
.page-views { grid-column: 2; text-align: center; color: var(--color-muted); font-size: var(--text-sm); }
.page-views span { margin-inline-start: var(--space-2xs); font-variant-numeric: tabular-nums; }

@media (max-width: 52rem) {
  .section-intro, .feature, .download { grid-template-columns: minmax(0, 1fr); }
  .feature-copy { grid-row: 1; }
  .picker { padding: var(--space-lg) 0 0; border: 0; }
  .flow { padding: var(--space-lg); }
  .flow-side div::after { width: var(--space-sm); }
  .flow-targets div { padding-inline-start: var(--space-lg); }
}
@media (max-width: 36rem) {
  .flow { grid-template-columns: minmax(0, 1fr); }
  .flow-side { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-xs); }
  .flow-side div { padding: var(--space-sm) var(--space-2xs); border: 0; }
  .flow-side div:last-child { border: 0; }
  .flow-side div::after { display: none; }
  .flow-side dt { font-size: var(--text-sm); overflow-wrap: break-word; }
  .flow-side dd { font-size: var(--text-xs); }
  .flow-hub { padding: var(--space-lg); }
  .terminal { flex-wrap: wrap; }
  .footer-layout { grid-template-columns: minmax(0, 1fr); }
  .footer-layout nav, .page-views { grid-column: 1; justify-self: center; }
  .footer-layout .brand { justify-self: center; margin-inline: 0; }
}

@media (max-width: 24rem) {
  .mast-links .source-link { display: none; }
}
