/* Stratavyn studio system: shared by the public site, workbench, kit and owner view. */
:root {
  --ink:#09141e; --ink-soft:#0d1b27; --panel:#10222f; --panel-strong:#10222f;
  --text:#f3f0e7; --ivory:#f3f0e7; --cream:#f3f0e7; --muted:#b4c2cc;
  --cyan:#61d8ef; --blue:#61d8ef; --gold:#e1c592; --error:#ffaea2;
  --line:#304451; --line-bright:#61d8ef; --serif:Georgia,"Iowan Old Style",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --radius:.65rem; --shadow:0 12px 35px #0003; --content:1240px;
  --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2rem; --space-5:3rem;
  color-scheme:dark;
}
body { background:var(--ink); color:var(--text); font-family:var(--sans); line-height:1.6; }
[hidden] { display:none !important; }
*,*::before,*::after { box-sizing:border-box; }
h1,h2,h3 { letter-spacing:-.035em; font-weight:400; text-wrap:balance; }
h1 { line-height:1.09; } h2 { line-height:1.18; } h3 { line-height:1.3; }
p,li,dd { overflow-wrap:anywhere; }
.eyebrow { color:var(--gold); font-size:.82rem; letter-spacing:.08em; font-weight:600; }
.button,.text-button,.back-link { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:.6rem; }
button { min-height:44px; }
.button { border-radius:var(--radius); box-shadow:none; font-size:.95rem; padding:.8rem 1.1rem; line-height:1.35; transition:background .16s,border-color .16s; }
.button:hover { transform:none; box-shadow:none; }
.button-primary,.button-light { background:var(--cyan); color:var(--ink); border-color:var(--cyan); }
.button-primary:hover,.button-light:hover { background:#a0eafa; color:var(--ink); }
.button-secondary,.button-quiet,.button-ghost { border:1px solid var(--line); color:var(--text); background:transparent; }
.button-secondary:hover,.button-quiet:hover,.button-ghost:hover { background:var(--panel); border-color:var(--muted); }
.text-button,.back-link { color:var(--cyan); text-align:left; line-height:1.4; padding:.5rem .2rem; background:transparent; border:0; }
button:disabled { opacity:.6; cursor:not-allowed; }
input,select,textarea { color:var(--text); background:#0b1924; border:1px solid #536674; border-radius:.4rem; min-height:46px; padding:.75rem; max-width:100%; font:inherit; }
input::placeholder,textarea::placeholder { color:#9eafbb; opacity:1; }
input,select,textarea { font-size:1rem; }
input[type=checkbox],input[type=radio] { min-height:24px; min-width:24px; accent-color:var(--cyan); }
label { font-size:.95rem; line-height:1.5; }
:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
summary { min-height:44px; padding:.7rem 0; cursor:pointer; }
.demo-pill,.status-pill { border:1px solid var(--line); background:var(--panel); color:var(--muted); font-size:.8rem; line-height:1.4; border-radius:4px; padding:.35rem .6rem; }
.section-intro,.operator-note,.workflow-note { color:var(--muted); font-size:1rem; line-height:1.65; }
.section-head h2,.workflow-view h2,.review-view h2,.delivery-view h2 { font-size:clamp(1.85rem,3vw,2.7rem); max-width:25ch; line-height:1.15; }
.workspace-layout { gap:2rem; }
.builder { max-width:var(--content); }
.builder.planning .builder-layout { grid-template-columns:1fr; }
.builder.planning .build-summary { display:none; }
.workspace { background:transparent; box-shadow:none; border:0; padding:1.5rem 0; }
.workspace h2 { font-size:clamp(1.9rem,3vw,2.7rem); line-height:1.15; max-width:26ch; }
.workspace h2:focus { outline:none; }
.workflow-form fieldset .workflow-fields { grid-template-columns:1fr; }
.build-summary { background:var(--panel); border-color:var(--line); box-shadow:none; }
.build-summary h2 { font-size:1.6rem; }
.summary-disclosure>summary { display:none; }
.summary-count strong { font-size:2rem; }
.capability-card,.review-card,.route-card,.delivery-card,.scan-context,.assistant-conversation { background:var(--ink-soft); box-shadow:none; border-color:var(--line); }
.capability-card h3 { font-size:1.35rem; }
.capability-card p,.capability-card small,.review-card p { font-size:.9rem; line-height:1.55; }
.delivery-card strong { font-size:1.05rem; }.delivery-card small { font-size:.9rem; }
.workflow-form fieldset,.workflow-form details { border:0; border-top:1px solid var(--line); border-radius:0; padding:1.2rem 0; margin:0; background:transparent; }
.workflow-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem 1.4rem; }
.workflow-fields label { display:grid; gap:.5rem; }.workflow-fields label:first-child { grid-column:1/-1; }
.workflow-form legend,.workflow-form summary { font-family:var(--sans); font-size:1.05rem; font-weight:600; color:var(--text); }
.workflow-form textarea { resize:vertical; }.workflow-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.25rem 0; }
.workflow-canvas { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr); gap:2rem; align-items:start; }
.brief-live { position:sticky; top:1.5rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:1.3rem; }
.brief-live h3 { font-size:1.65rem; margin:.4rem 0 1rem; }.brief-live p { font-size:.95rem; }.brief-live dl { margin:0; }
.brief-live dt { color:var(--cyan); font-size:.83rem; margin-top:1.1rem; }.brief-live dd { margin:.25rem 0 0; font-size:.95rem; }
.workflow-output { font-family:var(--sans); white-space:normal; padding:1.4rem; border:1px solid var(--line); background:var(--panel); border-radius:var(--radius); color:var(--text); overflow-wrap:anywhere; }
.brief-artifact { max-height:none; overflow:visible; }
.brief-only .review-grid { grid-template-columns:1fr; }
.brief-only [data-review-workflow] { margin:1.5rem 0; }
.brief-only [data-review-workflow] .brief-artifact { border:0; border-block:1px solid var(--line); border-radius:0; background:transparent; padding:1.5rem 0; }
.brief-only [data-review-workflow] .brief-artifact>h3 { display:none; }
@media(max-width:600px) {
  .site-header[data-header] { grid-template-columns:minmax(0,1fr) auto; }
  .site-header[data-header] .brand { min-width:0; }
  .site-header[data-header] .brand img { width:min(170px,100%); }
  .site-header[data-header] .header-cta { font-size:.82rem; padding:.65rem .8rem; min-height:44px; }
  .site-header[data-header] .nav-links { min-width:0; flex-wrap:wrap; gap:.25rem .5rem; }
  .site-header[data-header] .nav-links a { min-height:44px; display:inline-flex; align-items:center; }
}
.journey-step { color:var(--muted); }
@media(max-width:600px) { .journey-step { flex-direction:column; gap:.25rem; }.journey-step strong { display:block; font-size:.7rem; text-align:center; }.journey-steps { gap:.25rem; } }
[data-advanced-interface] { grid-column:1/-1; border-top:1px solid var(--line); padding-top:.5rem; }
[data-advanced-interface]>.delivery-card { margin:.75rem 0; }
.workflow-note a,.draft-resume a { color:var(--cyan); text-decoration:underline; }
@media print {
  body.printing-brief { background:white; color:#152332; }
  body.printing-brief>:not(.printable-brief) { display:none!important; }
  body.printing-brief .printable-brief,body.printing-brief .printable-brief * { color:#152332; background:white; }
  body.printing-brief .printable-brief { width:100%; height:auto; max-height:none; overflow:visible; border:0; padding:0; font-size:11pt; }
  body.printing-brief .brief-map,body.printing-brief .brief-artifact dl { display:block; }
  body.printing-brief .brief-artifact dl>div { margin:.5rem 0; break-inside:avoid; }
  body.printing-brief h3,body.printing-brief h4 { break-after:avoid; }
  @page { margin:18mm; }
}
.brief-artifact h3 { font-family:var(--serif); font-size:1.85rem; margin:0 0 .5rem; }.brief-artifact h4 { color:var(--gold); font-size:1rem; margin:1.5rem 0 .65rem; }
.brief-artifact dl { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.5rem; }.brief-artifact dt { color:var(--muted); font-size:.87rem; }.brief-artifact dd { margin:.2rem 0; }
.brief-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; border-block:1px solid var(--line); padding:1rem 0; }
.brief-map strong { color:var(--cyan); display:block; font-size:.85rem; }.brief-map p { margin:.3rem 0; font-size:.95rem; }
.workflow-kit { max-width:var(--content); padding:3rem 1.5rem; }.workflow-kit h1 { max-width:20ch; font-size:clamp(2.4rem,5vw,4rem); }.workflow-kit>section { margin:3rem 0; padding:0; border:0; }
.workflow-kit-header { display:flex; justify-content:space-between; }.kit-checks { gap:1.5rem; }.kit-checks article { padding:1rem 0; border:0; border-top:1px solid var(--line); background:none; }.kit-checks h3 { font-size:1.35rem; }
.operator-shell { max-width:var(--content); }.operator-heading h1 { max-width:24ch; font-size:clamp(2rem,4vw,3.2rem); }.operator-request { padding:1.5rem; background:var(--ink-soft); box-shadow:none; border:1px solid var(--line); }.operator-scope { border-color:var(--line); }
.operator-request h2 { font-size:1.65rem; }.operator-scope h3 { font-size:1.3rem; }
.owner-toolbar { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; margin:1rem 0; }.owner-toolbar label { display:grid; gap:.35rem; flex:1 1 180px; }.owner-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }.owner-metrics div { border-top:2px solid var(--line); padding:1rem 0; }.owner-metrics strong { display:block; font-size:1.7rem; color:var(--text); }.owner-metrics span { color:var(--muted); font-size:.9rem; }
.candidate-card { border-top:1px solid var(--line); padding:1.5rem 0; }.candidate-card h3 { margin:.4rem 0; font-size:1.6rem; }.candidate-card header { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }.candidate-card dl { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.candidate-card dt { color:var(--muted); }.candidate-card dd { margin:0; }.candidate-source { margin:.75rem 0; padding:.8rem 1rem; border-left:2px solid var(--cyan); background:var(--panel); }.candidate-source p { margin:.4rem 0; }.candidate-source a { color:var(--cyan); }.owner-action-form { display:grid; gap:.8rem; padding:1rem 0; }.owner-action-form label { display:grid; gap:.35rem; }.owner-history { font-size:.9rem; color:var(--muted); }
@media(max-width:1050px) { .workflow-canvas { grid-template-columns:1fr; }.brief-live { position:static; }.brief-live details { width:100%; }.workspace-layout { gap:1.2rem; } }
@media(max-width:1050px) {
  .build-summary { position:static; max-height:none; overflow:visible; display:block; }
  .summary-disclosure>summary { display:list-item; font-size:.9rem; color:var(--cyan); }
  .summary-disclosure[open] .summary-items { display:block; }
  .summary-disclosure[open] .summary-foundations,.summary-disclosure[open] .summary-route,.summary-disclosure[open] .summary-quote { display:block; }
  .mobile-selection-summary { font-size:.9rem; line-height:1.5; }
  .summary-review { width:100%; float:none; margin-top:.75rem; }
}
@media(max-width:600px) { .workflow-fields,.brief-artifact dl,.brief-map,.candidate-card dl { grid-template-columns:1fr; }.workflow-kit { padding:2rem 1.1rem; }.workflow-kit-header .button { font-size:.8rem; max-width:42%; }.workflow-kit-header .brand img { width:170px; }.owner-metrics { gap:.75rem; }.owner-metrics span { font-size:.8rem; }.operator-shell { width:calc(100% - 2rem); }.workflow-actions .button { flex:1 1 130px; }.brief-live { padding:1rem; }.workflow-output { padding:1rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
