.ai-workflows { padding-bottom:64px; }
.ai-builder__header { max-width:940px; padding:48px 0 20px; }
.ai-builder h1 { font-size:clamp(48px,7vw,96px); line-height:.98; }
.ai-builder h2 { font-size:clamp(28px,3vw,40px); line-height:1.1; letter-spacing:-.035em; }
.ai-builder__notice { border-left:4px solid var(--cobalt); background:var(--surface); padding:20px 24px; margin-bottom:16px; }
.ai-builder__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); border-top:1px solid var(--ink); padding-top:32px; }
.ai-builder__grid > * { min-width:0; }
.ai-builder__field { margin-bottom:20px; }
.ai-builder label { display:block; margin-bottom:6px; font:600 12px/1.5 var(--mono); }
.ai-builder textarea,.ai-builder select { display:block; width:100%; min-width:0; max-width:100%; padding:12px; border:1px solid var(--line); border-radius:0; background:var(--white); color:var(--ink); font:14px/1.6 var(--sans); }
.ai-builder textarea { resize:vertical; }
.ai-builder [data-ai-output] { font-family:var(--mono); white-space:pre; overflow:auto; background:var(--surface); }
.ai-builder [aria-invalid=true] { border:2px solid #a72121; }
.ai-builder__error { display:block; color:#a72121; font-size:13px; }
.ai-builder__actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 26px; }
.ai-builder button { border:1px solid var(--ink); padding:10px 16px; background:var(--white); cursor:pointer; font:600 12px/1.5 var(--mono); }
.ai-builder button[type=submit] { background:var(--cobalt); border-color:var(--cobalt); color:var(--white); }
.ai-builder button:disabled { opacity:.45; cursor:not-allowed; }
.ai-builder__guides { display:flex; flex-wrap:wrap; gap:16px 32px; border-top:1px solid var(--ink); padding-top:24px; }
.ai-builder__guides a { text-decoration:underline; text-underline-offset:4px; }
.ai-builder [data-ai-status] { min-height:3.2em; }
@media (max-width:760px) { .ai-builder__grid { grid-template-columns:minmax(0,1fr); } .ai-builder__header { padding-top:32px; } }
@media (prefers-reduced-motion:reduce) { .ai-workflows * { scroll-behavior:auto; } }
/* Editorial field hub; the builder rules below remain scoped. */
.ai-hub__hero { display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:65px 0 75px; }
.ai-hub__hero h1 { font:400 clamp(48px,5.3vw,84px)/.98 var(--serif); letter-spacing:-.05em; margin:25px 0; }
.ai-hub__hero h1 em { color:var(--cobalt); }
.ai-hub__hero p { max-width:600px; line-height:1.65; }
.ai-hub__hero figure { margin:0; }
.ai-hub__hero img { width:100%; height:auto; border:1px solid var(--line); }
.ai-hub figcaption { color:var(--muted); font:10px/1.6 var(--mono); padding-top:12px; }
.ai-hub__jump { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; font:12px/1.5 var(--mono); }
.ai-hub__jump a { text-decoration:underline; text-underline-offset:4px; }
.ai-hub__method { padding:26px 0; border-block:1px solid var(--ink); max-width:900px; line-height:1.65; }
.ai-hub__products { display:grid; grid-template-columns:1fr 1fr; gap:50px; margin:65px 0; }
.ai-hub__products h2 { font-size:36px; }
.ai-hub__products a { display:block; margin:14px 0; color:var(--cobalt); }
.ai-hub__stage { display:grid; grid-template-columns:minmax(180px,.4fr) minmax(0,1fr); gap:50px; border-top:1px solid var(--ink); padding:40px 0 60px; scroll-margin-top:30px; }
.ai-hub__stage h2 { font-size:44px; margin:20px 0; }
.ai-hub__stage header p:not(.label) { line-height:1.6; color:var(--muted); }
.ai-hub__tools { margin:40px 0 90px; }
.ai-hub__tools h2 { font-size:48px; }
.ai-hub__tools>div { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.ai-hub__tools>div>a { min-width:0; border-top:1px solid var(--ink); padding-top:24px; }
.ai-hub__tools h3 { font-size:30px; }
.ai-hub__tools p { line-height:1.6; }

/* Current model field notes: image-led editorial index, not product UI. */
.ai-field-notes { margin:clamp(70px,10vw,150px) 0 90px; border-top:1px solid var(--ink); }
.ai-field-notes>header { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.55fr); gap:36px 80px; align-items:end; padding:34px 0 46px; }
.ai-field-notes>header .label { grid-column:1/-1; }
.ai-field-notes>header h2 { margin:0; font:400 clamp(48px,6.3vw,92px)/.93 var(--serif); letter-spacing:-.055em; }
.ai-field-notes>header h2 em { color:var(--cobalt); }
.ai-field-notes>header>p:last-child { margin:0; color:var(--muted); font-size:18px; line-height:1.65; }
.ai-field-notes>div { border-bottom:1px solid var(--ink); }
.ai-field-notes__item { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:0; color:inherit; border-top:1px solid var(--ink); }
.ai-field-notes__item figure { position:relative; margin:0; min-height:300px; overflow:hidden; background:#0b1020; }
.ai-field-notes__item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.16,1,.3,1),filter .75s ease; }
.ai-field-notes__item figure figcaption { position:absolute; z-index:1; left:18px; bottom:14px; padding:6px 8px; color:#fff; background:#0b1020; font:600 10px/1 var(--mono); }
.ai-field-notes__item>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 36px; align-content:center; min-height:300px; padding:clamp(28px,5vw,66px); }
.ai-field-notes__item small { color:var(--cobalt); font:700 11px/1.4 var(--mono); letter-spacing:.04em; }
.ai-field-notes__item h3 { grid-column:1/-1; max-width:960px; margin:8px 0; font:400 clamp(34px,4vw,62px)/1.01 var(--serif); letter-spacing:-.045em; }
.ai-field-notes__item p { max-width:770px; margin:0; color:var(--muted); font-size:17px; line-height:1.65; }
.ai-field-notes__item span { align-self:end; white-space:nowrap; color:var(--cobalt); font:700 11px/1.4 var(--mono); }
.ai-field-notes__item:hover img { transform:scale(1.035); filter:saturate(1.12); }
.ai-field-notes__item:focus-visible { outline:3px solid var(--cobalt); outline-offset:4px; }

/* Article visual pair: one atmospheric image, one diagram that carries facts. */
.ai-field-note { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); margin:50px 0 16px; border-block:1px solid var(--ink); background:#f3f5f8; }
.ai-field-note figure { min-width:0; margin:0; }
.ai-field-note__hero { display:grid; grid-template-rows:minmax(0,1fr) auto; border-right:1px solid var(--ink); }
.ai-field-note__hero img { display:block; width:100%; height:100%; min-height:420px; object-fit:cover; }
.ai-field-note figcaption { padding:12px 16px; color:#586171; background:#fff; border-top:1px solid var(--line); font:500 11px/1.5 var(--mono); }
.ai-field-note__diagram { display:grid; grid-template-rows:minmax(0,1fr) auto; }
.ai-field-note__diagram svg { display:block; width:100%; height:100%; min-height:420px; padding:18px; background:#f3f5f8; }
.ai-diagram__orbit,.ai-diagram__line,.ai-diagram__arc,.ai-diagram__input rect,.ai-diagram__hosted { fill:none; stroke:#10131a; stroke-width:2; vector-effect:non-scaling-stroke; }
.ai-diagram__line,.ai-diagram__arc { stroke:#2448ff; stroke-dasharray:1200; stroke-dashoffset:1200; animation:ai-line-draw .85s .18s cubic-bezier(.16,1,.3,1) forwards; }
.ai-diagram__arc { stroke:#7c8797; stroke-width:1.5; }
.ai-diagram__core { fill:#dce4ff; stroke:#2448ff; stroke-width:2; vector-effect:non-scaling-stroke; }
.ai-diagram__pulse { fill:#a7f500; stroke:#10131a; stroke-width:2; vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:center; animation:ai-node-pulse 1.4s ease-in-out 2; }
.ai-diagram__node { fill:#fff; stroke:#2448ff; stroke-width:4; vector-effect:non-scaling-stroke; }
.ai-diagram__hosted { fill:#fff; stroke-dasharray:8 7; }
.ai-diagram__input rect { fill:#fff; }
.ai-diagram__input text,.ai-diagram__label text { fill:#10131a; font:700 14px var(--mono); letter-spacing:.02em; }
.ai-diagram__input text,.ai-diagram__label--center { text-anchor:middle; }
.ai-diagram__label--end { text-anchor:end; }
@keyframes ai-line-draw { to { stroke-dashoffset:0; } }
@keyframes ai-node-pulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.14); } }

@media(max-width:760px) {
  .ai-hub__hero,.ai-hub__products,.ai-hub__stage,.ai-hub__tools>div { grid-template-columns:1fr; gap:25px; }
  .ai-hub__hero { padding-top:35px; }
  .ai-hub__hero h1 { font-size:clamp(42px,11vw,64px); }
  .ai-hub__stage { padding-bottom:35px; }
  .ai-hub__stage h2 { font-size:36px; }
}
@media(max-width:600px) {
  .ai-field-notes { margin-top:72px; }
  .ai-field-notes>header,.ai-field-notes__item,.ai-field-note { grid-template-columns:1fr; }
  .ai-field-notes>header { gap:18px; padding-bottom:32px; }
  .ai-field-notes>header h2 { font-size:48px; }
  .ai-field-notes__item figure,.ai-field-notes__item>div { min-height:0; }
  .ai-field-notes__item figure { aspect-ratio:16/9; }
  .ai-field-notes__item>div { grid-template-columns:1fr; padding:26px 0 38px; }
  .ai-field-notes__item h3 { font-size:36px; }
  .ai-field-notes__item span { margin-top:10px; }
  .ai-field-note { margin-inline:-18px; }
  .ai-field-note__hero { border-right:0; border-bottom:1px solid var(--ink); }
  .ai-field-note__hero img,.ai-field-note__diagram svg { min-height:0; aspect-ratio:16/9; }
  .ai-field-note__diagram svg { padding:8px; }
  .ai-field-note figcaption { font-size:10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ai-field-note *,.ai-field-notes * { scroll-behavior:auto; animation:none!important; transition:none!important; }
  .ai-diagram__line,.ai-diagram__arc { stroke-dashoffset:0; }
}
@media print {
  .ai-field-notes__item img { position:static; }
  .ai-field-note { break-inside:avoid; }
  .ai-field-note *,.ai-field-notes * { animation:none!important; transition:none!important; }
  .ai-diagram__line,.ai-diagram__arc { stroke-dashoffset:0; }
}

/* Keep diagrams within reading flow, with full-size HTML labels on small screens. */
.ai-field-note { display:block; }
.ai-field-note__hero { border-right:0; }
.ai-field-note__hero img { min-height:0; height:auto; max-height:520px; object-fit:cover; }
.ai-field-note--explainer { margin:24px 0 56px; }
.ai-field-note__diagram svg { min-height:0; height:auto; padding:10px; }
.ai-diagram__label text,.ai-diagram__input text { font-size:18px; }
.ai-visual-summary { list-style:none; padding:24px!important; margin:0; background:white; }
.ai-visual-summary li { display:grid; grid-template-columns:32px minmax(0,1fr); gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.ai-visual-summary li:last-child { border-bottom:0; }
.ai-visual-summary li>span { color:var(--cobalt); font:600 15px/1.6 var(--sans); }
.ai-visual-summary strong { font:600 20px/1.4 var(--sans); }
.ai-visual-summary p { margin:6px 0 0; font:400 18px/1.65 var(--sans); }
.ai-field-notes__item small,.ai-field-notes__item span { font:600 14px/1.5 var(--sans); }
.ai-field-notes__item>div { grid-template-columns:minmax(0,1fr); }
.ai-field-note figcaption { font:400 14px/1.6 var(--sans); }
@media(max-width:600px) {
  .ai-field-note { margin-inline:0; }
  .ai-field-note__diagram { display:none; }
  .ai-visual-summary { padding:18px!important; }
}
