:root {
  color-scheme: light;
  --forest: #183c32;
  --forest-deep: #102b24;
  --moss: #627858;
  --sage: #dce5d8;
  --cream: #f7f5ef;
  --paper: #fffefa;
  --ink: #1b2b26;
  --muted: #718078;
  --line: #e4e6de;
  --gold: #c49357;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--cream); }
body { margin: 0; color: var(--ink); font-family: var(--sans); background: var(--cream); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #c49357; outline-offset: 3px; }
.topbar { height: 76px; padding: 0 clamp(20px, 5vw, 76px); display:flex; align-items:center; justify-content:space-between; color:#f8f6ef; background:var(--forest-deep); }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand-mark { width:37px; height:37px; border:1px solid #96a998; border-radius:50%; display:grid; place-items:center; font:22px var(--serif); color:#e4e9dc; }
.brand strong,.brand small { display:block; letter-spacing:.12em; }
.brand strong { font-size:11px; }
.brand small { margin-top:4px; font-size:8px; color:#aab8ad; }
.top-actions { display:flex; align-items:center; gap:28px; }
.live-pill { display:flex; gap:9px; align-items:center; color:#ccd5cc; font-size:11px; }
.live-pill i,.footer-dot { width:7px; height:7px; border-radius:50%; background:#93ad7e; box-shadow:0 0 0 4px #93ad7e22; }
.studio-link { color:#f3e7d6; font-size:12px; font-weight:600; text-decoration:none; }
.studio-link:hover { color:white; }
.presentation { min-height:calc(100vh - 76px); padding:0 clamp(20px, 5vw, 76px) 25px; display:flex; flex-direction:column; }
.progress-track { height:3px; background:#e9e9e0; }
.progress-track div { height:100%; width:0; background:var(--gold); transition:width .35s ease; }
.deck { flex:1; max-width:1420px; width:100%; margin:0 auto; display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(30px,5vw,80px); align-items:stretch; }
.step-nav { display:flex; flex-direction:column; min-height:calc(100vh - 150px); padding:54px 0 28px; }
.step-nav-label { margin-bottom:22px; color:#939c92; font-size:9px; letter-spacing:.16em; font-weight:700; }
.step-nav ol { display:grid; gap:5px; list-style:none; padding:0; margin:0; }
.step-nav button { display:flex; align-items:center; gap:13px; width:100%; border:0; border-radius:9px; padding:11px 10px; text-align:left; color:#78847c; background:transparent; cursor:pointer; font-size:11px; transition:background .2s,color .2s; }
.step-nav button:hover { background:#ebece5; color:var(--ink); }
.step-nav button[aria-current="step"] { color:var(--forest); background:#e6ebe2; font-weight:700; }
.step-number { width:24px; height:24px; flex:none; border:1px solid #d5dad1; border-radius:50%; display:grid; place-items:center; font-size:9px; }
.step-nav button[aria-current="step"] .step-number { border-color:var(--forest); color:white; background:var(--forest); }
.nav-footer { margin-top:auto; padding-top:24px; border-top:1px solid #e3e5dc; display:flex; align-items:flex-start; gap:11px; color:#748078; font-size:10px; line-height:1.55; }
.nav-footer b { color:#36483f; }
.slide-shell { display:flex; flex-direction:column; min-width:0; padding:54px 0 24px; }
.slide-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.eyebrow { color:#7f8e7c; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.slide-count { color:#969f97; font-size:11px; font-variant-numeric:tabular-nums; }
.slide { flex:1; min-height:500px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr); gap:clamp(30px,5vw,76px); align-items:center; animation:appear .38s ease both; }
@keyframes appear { from {opacity:0;transform:translateY(7px)} to {opacity:1;transform:translateY(0)} }
.slide-copy { max-width:620px; }
.slide h1,.slide h2 { margin:0; color:var(--forest-deep); font:clamp(42px,5.1vw,76px)/1.04 var(--serif); letter-spacing:-.035em; }
.slide h2 { font-size:clamp(37px,4.4vw,62px); }
.slide-lead { max-width:570px; margin:22px 0 0; color:#637168; font-size:clamp(15px,1.4vw,19px); line-height:1.62; }
.slide-points { display:grid; gap:12px; padding:0; margin:28px 0 0; list-style:none; }
.slide-points li { display:flex; gap:11px; align-items:flex-start; max-width:600px; color:#3e5046; font-size:13px; line-height:1.5; }
.slide-points li:before { content:""; flex:none; width:7px; height:7px; margin-top:5px; border-radius:50%; background:var(--gold); }
.prompt-note { margin-top:27px; padding:13px 15px; border-left:2px solid var(--gold); color:#748078; background:#f0eee6; font-size:11px; line-height:1.5; }
.visual { position:relative; min-width:0; padding:24px; border:1px solid #e5e5dc; border-radius:20px; background:var(--paper); box-shadow:0 22px 60px #253c3010; }
.visual-label { margin-bottom:18px; color:#87928a; font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.hero-visual { padding:0; overflow:hidden; background:#dce5d9; }
.hero-visual svg { display:block; width:100%; height:auto; }
.flow-visual { display:grid; gap:10px; }
.flow-row { display:flex; align-items:center; gap:9px; }
.flow-node { flex:1; min-width:0; padding:12px 10px; border:1px solid #e5e8df; border-radius:10px; background:#fff; }
.flow-node b { display:block; color:#32483d; font-size:11px; }
.flow-node small { display:block; margin-top:4px; color:#89928b; font-size:9px; line-height:1.35; }
.flow-arrow { color:#bb8b52; font-size:16px; }
.flow-row.secondary { padding-left:25px; }
.side-note { padding:12px 14px; border-radius:9px; color:#596b5f; background:#edf1e8; font-size:10px; line-height:1.45; }
.layer-stack { display:grid; gap:8px; }
.layer-card { position:relative; display:grid; grid-template-columns:38px 1fr auto; gap:11px; align-items:center; padding:12px 14px; border:1px solid #e5e8df; border-radius:11px; background:#fff; }
.layer-num { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; background:var(--forest); font:15px var(--serif); }
.layer-card b { display:block; color:#32483d; font-size:12px; }
.layer-card small { display:block; margin-top:3px; color:#8a948c; font-size:9px; }
.layer-arrow { color:#aeb9a8; font-size:15px; }
.handoff-chip { padding:9px 12px; border-radius:8px; color:#657761; background:#edf1e8; text-align:center; font-size:9px; font-weight:700; letter-spacing:.08em; }
.diagram-divider { text-align:center; color:#c29a66; }
.unstructured-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.input-tile { min-height:76px; padding:12px; border:1px solid #e8e8df; border-radius:10px; background:#fff; }
.input-tile span { display:block; font-size:18px; }
.input-tile b { display:block; margin-top:6px; color:#53645a; font-size:10px; }
.intake-arrow { display:flex; justify-content:center; padding:6px; color:#ad8555; }
.ai-box { padding:15px; border:1px solid #dce5d8; border-radius:12px; background:#f4f6f0; }
.ai-box b { display:block; color:var(--forest); font-size:12px; }
.ai-box p { margin:6px 0 0; color:#6d7c70; font-size:10px; line-height:1.5; }
.audit-pipeline { display:grid; gap:9px; }
.audit-stage { display:grid; grid-template-columns:28px 1fr auto; gap:10px; align-items:center; padding:12px 13px; border-radius:10px; background:#fff; border:1px solid #e7e8e1; }
.audit-stage .check { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; color:#426149; background:#e5eee1; font-weight:700; }
.audit-stage b { color:#405447; font-size:11px; }
.audit-stage small { color:#8b958c; font-size:9px; }
.pipeline-arrow { text-align:center; color:#c29a66; line-height:.7; }
.callout { padding:13px; border-radius:10px; color:#5d6e5f; background:#f2eee4; font-size:10px; line-height:1.45; }
.demo-wrap { grid-column:1/-1; display:grid; grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr); gap:28px; align-items:start; }
.demo-intro { max-width:520px; }
.demo-intro .slide-lead { margin-top:15px; }
.demo-panel { padding:22px; border:1px solid #e3e6dc; border-radius:16px; background:#fffefa; box-shadow:0 18px 50px #253c300d; }
.demo-panel-head { display:flex; justify-content:space-between; gap:12px; align-items:center; padding-bottom:16px; border-bottom:1px solid var(--line); }
.demo-panel-head b { color:var(--forest); font-size:13px; }
.demo-panel-head span { color:#89948a; font-size:9px; }
.magic-gate { max-width:440px; padding:20px 0 8px; }
.magic-gate label { display:block; margin-bottom:7px; color:#6f7a72; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.magic-gate p { margin:8px 0 0; color:#89948a; font-size:10px; line-height:1.5; }
.magic-entry,.species-entry { display:flex; gap:8px; align-items:center; }
.magic-entry input { flex:1; min-width:0; min-height:40px; padding:9px 11px; border:1px solid #dce1d8; border-radius:8px; color:#31443a; background:white; font-size:12px; }
.species-entry select { flex:1; min-width:0; }
.demo-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:16px; }
.field { display:grid; gap:6px; }
.field.full { grid-column:1/-1; }
.field label { color:#6f7a72; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.field input,.field select { width:100%; min-height:39px; padding:9px 11px; border:1px solid #dce1d8; border-radius:8px; color:#31443a; background:white; font-size:12px; }
.field input::placeholder { color:#abb2aa; }
.field-hint { color:#939c94; font-size:9px; }
.form-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin-top:15px; }
.primary-button,.secondary-button,.quiet-button { min-height:40px; padding:10px 15px; border:0; border-radius:8px; cursor:pointer; font-size:11px; font-weight:700; }
.primary-button { color:#fff; background:var(--forest); }
.primary-button:hover:not(:disabled) { background:#244f40; }
.primary-button:disabled { cursor:not-allowed; opacity:.5; }
.secondary-button { color:#40584a; border:1px solid #d8dfd5; background:#fff; }
.quiet-button { color:#5d7462; background:transparent; }
.bot-prompt { display:flex; gap:9px; justify-content:space-between; align-items:center; margin-top:15px; padding:11px 13px; border-radius:9px; color:#69766b; background:#f1f2eb; font-size:10px; line-height:1.45; }
.bot-prompt button { flex:none; border:0; color:var(--forest); background:none; cursor:pointer; font-size:10px; font-weight:700; }
.demo-message { min-height:20px; margin-top:10px; color:#596d5d; font-size:11px; line-height:1.5; }
.demo-message.error { color:#a34738; }
.review-card { margin-top:14px; padding:15px; border:1px solid #dbe5d8; border-radius:11px; background:#f5f7f1; }
.review-card h3 { margin:0 0 11px; color:var(--forest); font:20px var(--serif); }
.review-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.review-grid span { display:block; color:#87928a; font-size:9px; }
.review-grid b { display:block; margin-top:3px; color:#33483b; font-size:11px; }
.saved-card { margin-top:14px; padding:14px; border-radius:11px; color:#395340; background:#eaf1e6; }
.saved-card strong { display:block; font-size:12px; }
.saved-card p { margin:5px 0 0; color:#718172; font-size:10px; }
.saved-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
.saved-trusses { margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
.saved-trusses-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.saved-trusses-head h3 { margin:0; color:var(--forest); font:18px var(--serif); }
.saved-truss-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #edf0e9; }
.saved-truss-row b,.saved-truss-row span { display:block; }
.saved-truss-row b { color:#33483b; font-size:11px; }
.saved-truss-row span { margin-top:4px; color:#859087; font-size:9px; }
.truss-preview-image { display:block; width:100%; height:auto; margin:12px 0; border:1px solid var(--line); border-radius:8px; background:white; }
.business-visual { overflow:hidden; padding:0; background:var(--forest); }
.business-visual svg { display:block; width:100%; height:auto; }
.slide-controls { margin-top:28px; padding-top:17px; border-top:1px solid #e2e4dc; display:flex; justify-content:space-between; align-items:center; gap:15px; }
.back-button,.next-button { min-height:42px; border:0; border-radius:8px; cursor:pointer; font-size:11px; font-weight:700; }
.back-button { padding:0 12px; color:#69766e; background:transparent; }
.back-button:hover:not(:disabled) { color:var(--forest); background:#ebece5; }
.back-button:disabled { cursor:default; opacity:.35; }
.next-button { padding:0 18px; color:white; background:var(--forest); }
.next-button:hover { background:#244f40; }
.keyboard-hint { color:#969e96; font-size:9px; }
kbd { padding:3px 5px; border:1px solid #dfe1d9; border-radius:4px; color:#6e786f; background:#fafaf7; font:9px var(--sans); }
.source-note { max-width:1420px; width:100%; margin:0 auto; padding:12px 0 0 260px; color:#99a096; font-size:8px; letter-spacing:.17em; }
.source-note span { padding:0 6px; color:#c39b69; }
.error-banner { margin:12px auto; max-width:1420px; padding:12px 16px; border-radius:8px; color:#8f4037; background:#fbece8; font-size:12px; }
.text-button { margin-left:12px; border:0; text-decoration:underline; color:inherit; background:none; cursor:pointer; }
.loading { padding:30px; color:#738076; }
.placeholder-diagram { display:grid; min-height:240px; place-items:center; color:#7d8b7d; text-align:center; }
.email-preview { overflow:auto; max-height:220px; margin:14px 0; padding:13px; border-radius:8px; color:#53645a; background:#fff; font:11px/1.55 var(--sans); white-space:pre-wrap; }
.email-attachments { display:grid; gap:7px; padding-left:19px; color:#65756a; font-size:10px; }
.launch-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--cream); }
.launch-card { width:min(100%,520px); padding:36px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 22px 60px #253c3010; }
.launch-card .brand-mark { color:var(--forest); }
.launch-card .eyebrow { margin-top:26px; }
.launch-card h1 { margin:13px 0; color:var(--forest-deep); font:42px/1.05 var(--serif); }
.launch-card p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.55; }
.launch-card .studio-link { display:inline-block; margin-top:16px; color:var(--forest); }
.launch-card form { display:grid; gap:9px; margin:18px 0; }
.launch-card form label { color:#6f7a72; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.launch-card form input { min-height:40px; padding:9px 11px; border:1px solid #dce1d8; border-radius:8px; }

@media (max-width: 980px) {
  .deck { grid-template-columns:minmax(0,1fr); gap:0; }
  .step-nav { min-width:0; min-height:0; padding:17px 0 0; }
  .step-nav-label,.nav-footer { display:none; }
  .step-nav ol { display:flex; min-width:0; max-width:100%; overflow:auto; gap:6px; padding:0 0 12px; }
  .step-nav button { width:auto; min-width:42px; padding:7px; }
  .step-title { display:none; }
  .step-number { width:28px; height:28px; }
  .slide-shell { padding-top:25px; }
  .slide { min-height:420px; }
  .source-note { padding-left:0; }
}
@media (max-width: 700px) {
  .topbar { height:64px; padding:0 16px; }
  .live-pill { display:none; }
  .top-actions { gap:0; }
  .studio-link { font-size:10px; }
  .presentation { min-height:calc(100vh - 64px); padding:0 17px 20px; }
  .step-nav { padding-top:9px; }
  .slide-shell { padding-top:19px; }
  .slide-top { margin-bottom:19px; }
  .slide { grid-template-columns:1fr; gap:22px; min-height:0; align-content:start; }
  .slide h1 { font-size:48px; }
  .slide h2 { font-size:40px; }
  .slide-lead { margin-top:13px; font-size:15px; }
  .slide-points { margin-top:18px; gap:9px; }
  .slide-points li { font-size:12px; }
  .visual { padding:17px; border-radius:14px; }
  .hero-visual,.business-visual { padding:0; }
  .demo-wrap { grid-column:auto; grid-template-columns:1fr; gap:17px; }
  .demo-panel { padding:16px; }
  .demo-form { gap:10px; }
  .magic-entry,.species-entry { align-items:stretch; }
  .magic-entry { flex-direction:column; }
  .slide-controls { margin-top:19px; }
  .keyboard-hint { display:none; }
  .source-note { padding-top:15px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
