/* How we use AI · base styles (light cream theme, from v1) */
/* ============================================================
   Dialed In · How we use AI
   Tokens first — values aligned to the live Dialed In palette
   (styles.css :root + dialedin-theme.css html[data-bc]) on 2026-09-24.
   Draft variable names kept; values now use live hexes. Rain texture is one token (--rain) — set
   it to none to switch it off.
   ============================================================ */
:root{
  /* Light theme · 2026-09-24 · matched to the live Dialed In paper cards (--paper #FBF3E8, --ink #2A1D1B, --charcoal #3D2C29),
     autumn accents deepened for AA contrast on cream. Dark originals: /workspace/ci-build/dark-backup/ */
  --bg:#F4EADC;           /* warm cream page */
  --bg-2:#EFE2D0;
  --theme:#3D2C29;        /* Dialed In charcoal */
  --card:linear-gradient(178deg,#FFFCF7 0%,#FBF3E8 100%);  /* live --paper card */
  --glass:#FDF8F1;
  --glass-2:rgba(61,44,41,.06);
  --well:rgba(124,106,94,.07);
  --line:rgba(124,106,94,.22);
  --line-2:rgba(61,44,41,.2);
  --ink:#2A1D1B;          /* live --ink */
  --ink-2:#4A3A34;
  --muted:#6B584D;
  --amber:#8F5418;        /* gold, deepened for text */
  --gold:#D4A574;         /* live --gold, fills only */
  --gold-fill:#C98A3E;
  --rust:#A34A25;         /* terracotta, deepened */
  --moss:#55623F;         /* live --moss */
  --sage:#8B9A7D;         /* live --sage, fills */
  --window:#3D5E76;       /* cool slate */
  --st-g:#6E8B55; --st-a:#D08A2A; --st-r:#B8462A;          /* status fills */
  --st-g-t:#46612F; --st-a-t:#85510E; --st-r-t:#9A3A22;    /* status text */
  --shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 16px 32px -24px rgba(61,44,41,.35);
  --radius:18px;
  --radius-sm:12px;
  --serif:"Fraunces", "Iowan Old Style", Georgia, serif;
  --sans:Karla, "Segoe UI", system-ui, -apple-system, sans-serif;
  --wrap:1080px;
  --rain:none;
}
/* one darker accent: the hero "screenshot me" card, like the live site's .card.dark */
.dark{
  --card:linear-gradient(178deg,#3D2C29 0%,#2D201D 100%);
  --glass-2:rgba(255,238,220,.09);
  --line:rgba(212,165,116,.3);
  --ink:#F5E6D3; --ink-2:#E3D2C0; --muted:#C2AB99; --amber:#E4B77F;
  color:var(--ink);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 17px/1.62 var(--sans);
  background-image:
    radial-gradient(900px 600px at 8% -8%, rgba(181,121,63,0.242), transparent 60%),
    radial-gradient(700px 520px at 100% 4%, rgba(163,74,37,0.084), transparent 62%),
    radial-gradient(900px 700px at 50% 120%, rgba(85,98,63,0.132), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  background-attachment:scroll;
  overflow-x:hidden;
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
a{color:var(--amber);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#6E3F10}
img{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
@media (max-width:560px){.wrap{padding:0 16px}}

/* ---------- site nav (matches Dialed In) ---------- */
.site{
  position:sticky;top:0;z-index:20;
  background:rgba(251,246,239,0.92);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
}
.site .wrap{display:flex;align-items:center;gap:18px;height:60px}
.brand{font:600 19px/1 var(--serif);color:var(--ink);text-decoration:none;white-space:nowrap}
.brand em{font-style:italic;font-weight:400;color:var(--amber)}
.site nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-left:auto}
.site nav::-webkit-scrollbar{display:none}
.site nav a{color:var(--ink-2);text-decoration:none;font-size:14px;padding:7px 11px;border-radius:999px;white-space:nowrap}
.site nav a:hover{background:var(--glass-2);color:var(--ink)}
.site nav a[aria-current]{background:var(--glass-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
@media (max-width:720px){.site .wrap{height:auto;padding-top:10px;padding-bottom:8px;flex-wrap:wrap;gap:6px}.site nav{margin-left:0;width:100%}}

/* ---------- in-page jump rail ---------- */
.jump{border-bottom:1px solid var(--line);background:rgba(251,246,239,0.8)}
.jump .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.jump .wrap::-webkit-scrollbar{display:none}
.jump a{flex:none;font-size:13px;color:var(--muted);text-decoration:none;padding:5px 10px;border:1px solid var(--line);border-radius:999px}
.jump a:hover{color:var(--ink);border-color:var(--line-2)}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.14;margin:0}
h1{font-size:clamp(38px,6.4vw,68px);font-weight:400}
h1 em,h2 em{font-style:italic;color:var(--amber);font-weight:400}
h2{font-size:clamp(28px,4vw,40px);font-weight:400}
h3{font-size:20px}
p{margin:0 0 14px}
.kicker{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.kicker .ph{color:var(--amber);font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;font-size:15px}
.lede{font-size:clamp(18px,2.1vw,21px);color:var(--ink-2);max-width:62ch}
.small{font-size:14px;color:var(--muted)}
.depth{display:inline-flex;gap:6px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 8px;margin-left:auto}
.depth i{width:7px;height:7px;border-radius:50%;background:var(--line-2);display:inline-block}
.depth i.on{background:var(--amber)}

/* ---------- sections ---------- */
section{padding:72px 0 8px}
@media (max-width:560px){section{padding-top:56px}}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;margin-bottom:26px}
.sec-head > div{flex:1 1 420px}
.sec-head p{margin:12px 0 0;color:var(--ink-2);max-width:64ch}

.glass{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.pad{padding:22px 24px}
@media (max-width:560px){.pad{padding:18px}}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}

/* margin note — Hallie's voice */
.note{
  font:italic 400 17px/1.55 var(--serif);color:var(--ink-2);
  border-left:2px solid var(--rust);padding:4px 0 4px 16px;margin:22px 0;max-width:60ch;
}
.note b{font-style:normal;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);display:block;margin-bottom:4px;font-weight:600}

/* ---------- hero ---------- */
.hero{padding:76px 0 30px}
.hero .wrap{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:end}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr;gap:28px}.hero{padding-top:48px}}
.hero.solo .wrap{grid-template-columns:1fr}
.hero h1{margin:6px 0 20px}


/* ---------- read-me strip ---------- */
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:0;overflow:hidden}
@media (max-width:720px){.levels{grid-template-columns:1fr}}
.levels > div{padding:20px 22px;border-right:1px solid var(--line)}
.levels > div:last-child{border-right:0}
@media (max-width:720px){.levels > div{border-right:0;border-bottom:1px solid var(--line)}.levels > div:last-child{border-bottom:0}}
.levels h3{font-size:18px;margin-bottom:6px;display:flex;gap:10px;align-items:center}
.levels p{font-size:15px;color:var(--ink-2);margin:0}

/* ---------- build plan ---------- */
.plan-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 20px;margin-bottom:14px}
.seg{display:inline-flex;background:var(--well);border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button{all:unset;cursor:pointer;font-size:14px;padding:7px 14px;border-radius:999px;color:var(--ink-2)}
.seg button[aria-pressed="true"]{background:var(--glass-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.seg button:focus-visible,.status:focus-visible,.pause:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.meter{display:flex;gap:4px;align-items:center;flex:1 1 220px;min-width:200px}
.meter i{flex:1;height:8px;border-radius:4px;background:rgba(61,44,41,0.064)}
.meter i.prog{background:linear-gradient(90deg,var(--gold-fill) 50%,rgba(61,44,41,.1) 50%)}
.meter i.solid{background:var(--st-g)}
.meter-label{font-size:14px;color:var(--ink-2);white-space:nowrap}
.pause{all:unset;cursor:pointer;font-size:14px;color:var(--ink-2);display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border:1px dashed var(--line-2);border-radius:999px}
.pause[aria-pressed="true"]{color:var(--window);border-color:var(--window)}
.paused-msg{display:none;margin:0 0 14px;padding:16px 20px;color:var(--window);font:italic 400 17px/1.5 var(--serif)}
.plan.is-paused .paused-msg{display:block}
.plan.is-paused .phases{opacity:.45;filter:saturate(.6)}

.phases{display:grid;gap:10px;transition:opacity .3s}
.phase{display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:start;padding:18px 20px}
@media (max-width:640px){.phase{grid-template-columns:40px 1fr;gap:12px}.phase .status{grid-column:2;justify-self:start}}
.phase .n{font:italic 400 32px/1 var(--serif);color:var(--amber);padding-top:2px}
@media (max-width:640px){.phase .n{font-size:26px}}
.phase h3{font-size:19px;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.phase p{margin:6px 0 8px;color:var(--ink-2);font-size:15.5px}
.tag{font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted)}
.tag.req{color:var(--amber);border-color:rgba(181,121,63,0.495)}
.tag.rec{color:var(--ink-2)}
.done-when{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14.5px;color:var(--ink-2)}
.done-when li{display:flex;gap:10px}
.done-when li::before{content:"";flex:none;width:12px;height:12px;margin-top:5px;border:1.5px solid var(--muted);border-radius:3px}
.phase .go{font-size:13px;margin-top:8px;display:inline-block}
.house-note{font-size:13.5px;color:var(--muted);margin-top:8px;font-style:italic;font-family:var(--serif)}
.status{
  all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  font-size:13.5px;color:var(--ink-2);padding:7px 12px 7px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.7)
}
.status[disabled]{cursor:default}
.ring{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--muted);position:relative;flex:none}
.status[data-s="1"] .ring{border-color:var(--gold-fill);background:linear-gradient(90deg,var(--gold-fill) 50%,transparent 50%)}
.status[data-s="2"] .ring{border-color:var(--st-g);background:var(--st-g)}
.status[data-s="2"]{color:var(--ink)}
.phase[data-s="2"]{border-color:rgba(85,98,63,0.385)}

/* ---------- future self ---------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:820px){.trio{grid-template-columns:1fr}}
.trio .glass h3{margin-bottom:4px}
.trio .ask{font:italic 400 18px/1.4 var(--serif);color:var(--ink);margin:10px 0 12px}
.trio .eg{font-size:14.5px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:12px;margin:0}
.trio .eg b{color:var(--muted);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:4px}

/* ---------- SIPOC ---------- */
.sipoc{display:grid;grid-template-columns:repeat(5,1fr);gap:0;overflow:hidden}
@media (max-width:900px){.sipoc{grid-template-columns:1fr}}
.sipoc > div{padding:20px 18px;border-right:1px solid var(--line)}
.sipoc > div:last-child{border-right:0}
@media (max-width:900px){.sipoc > div{border-right:0;border-bottom:1px solid var(--line)}.sipoc > div:last-child{border-bottom:0}}
.sipoc .L{font:400 44px/1 var(--serif);color:var(--amber);font-style:italic}
.sipoc h3{font-size:15px;font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:6px 0 10px;color:var(--ink)}
.sipoc ul{margin:0;padding:0;list-style:none;font-size:15px;color:var(--ink-2);display:grid;gap:5px}
.sipoc .P ul li{display:flex;gap:8px}
.sipoc .P ul li::before{content:"→";color:var(--rust)}
.sipoc .P{background:rgba(181,121,63,0.055)}
.steps{counter-reset:st;list-style:none;padding:0;margin:0;display:grid;gap:10px}
.steps li{counter-increment:st;display:grid;grid-template-columns:34px 1fr;gap:12px;font-size:16px;color:var(--ink-2)}
.steps li::before{content:counter(st);font:italic 400 22px/1.2 var(--serif);color:var(--amber)}
.steps b{color:var(--ink);font-weight:600}

/* ---------- loop ---------- */
.loop{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative}
@media (max-width:820px){.loop{grid-template-columns:1fr}}
.loop .step{padding:18px;position:relative}
.loop .step .v{font:italic 400 24px/1 var(--serif);color:var(--amber)}
.loop .step p{margin:8px 0 0;font-size:14.5px;color:var(--ink-2)}
.loop .step .who{margin-top:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.loop .step:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:20px;color:var(--rust);font-size:16px;z-index:1}
@media (max-width:820px){.loop .step:not(:last-child)::after{content:"↓";right:auto;left:22px;top:auto;bottom:-15px}}
.clock{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:720px){.clock{grid-template-columns:1fr}}
.clock h3{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.clock h3 small{font:400 14px var(--sans);color:var(--muted)}
.clock p{font-size:15.5px;color:var(--ink-2);margin:0}

/* ---------- homes ---------- */
.homes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0;overflow:hidden}
.homes > div{padding:18px 20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:130px 1fr;gap:12px}
@media (max-width:420px){.homes > div{grid-template-columns:1fr;gap:2px}}
.homes b{font-family:var(--serif);font-weight:600;font-size:17px}
.homes span{color:var(--ink-2);font-size:15px}

/* ---------- flow ---------- */
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:20px}
.flow .node{padding:10px 14px;border-radius:12px;background:var(--glass-2);border:1px solid var(--line);font-size:14.5px}
.flow .node small{display:block;color:var(--muted);font-size:12px}
.flow .node.hub{border-color:rgba(181,121,63,0.55);box-shadow:0 0 0 4px rgba(181,121,63,0.066)}
.flow .node.you{border-color:rgba(85,98,63,0.605)}
.flow .arr{color:var(--rust)}
@media (max-width:560px){.flow{flex-direction:column;align-items:stretch}.flow .arr{transform:rotate(90deg);align-self:center;line-height:1}}
.roles{margin-top:14px}
.roles .glass h3{margin:6px 0 6px}
.roles .glass p{font-size:15px;color:var(--ink-2);margin:0}
.roles .ico{font:italic 400 14px var(--serif);color:var(--amber)}

/* decides table */
.rules{width:100%;border-collapse:collapse;font-size:15.5px}
.rules th,.rules td{text-align:left;vertical-align:top;padding:14px 18px;border-top:1px solid var(--line)}
.rules thead th{border-top:0;font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rules td:first-child{font-family:var(--serif);font-size:18px;white-space:nowrap;color:var(--ink)}
.rules td{color:var(--ink-2)}
.rules tr.you td:first-child{color:var(--moss)}
@media (max-width:640px){
  .rules thead{display:none}
  .rules tr{display:block;border-top:1px solid var(--line);padding:12px 16px}
  .rules tr:first-child{border-top:0}
  .rules td{display:block;border:0;padding:3px 0}
}
.golden{margin-top:14px;padding:18px 22px;display:flex;gap:14px;align-items:center;font:italic 400 clamp(19px,2.4vw,24px)/1.35 var(--serif)}
.golden::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--st-g);box-shadow:0 0 0 6px rgba(85,98,63,0.165)}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px}
.bot{padding:16px 18px;display:flex;gap:14px;align-items:flex-start}
.bot .av{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:600 17px var(--serif);color:#2A1D1B;background:var(--c,var(--gold));box-shadow:inset 0 0 0 1px rgba(61,44,41,.12)}
.bot h3{font-size:17px}
.bot p{margin:3px 0 0;font-size:14px;color:var(--ink-2);line-height:1.45}
.bot.lead{grid-column:1/-1;border-color:rgba(181,121,63,0.44)}
.bot.lead .av{width:52px;height:52px;font-size:22px}
.bot.lead p{font-size:15.5px}

/* ---------- workflow ---------- */
.wf{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
@media (max-width:880px){.wf{grid-template-columns:1fr}}
.timeline{list-style:none;margin:0;padding:6px 0;position:relative}
.timeline li{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:12px 22px;position:relative}
.timeline .t{font:italic 400 16px/1.4 var(--serif);color:var(--amber)}
.timeline b{color:var(--ink);font-weight:600}
.timeline span{color:var(--ink-2);font-size:15px}
.timeline li.hold{background:rgba(85,98,63,0.077);border-left:2px solid var(--moss)}
.timeline li.hold .t{color:var(--moss)}
.mock{padding:18px;font-size:14.5px}
.mock .hdr{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.pile{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.pile .ct{font:600 15px var(--serif);color:var(--amber);min-width:22px}
.pile .act{font-size:12px;color:var(--ink-2);border:1px solid var(--line-2);border-radius:999px;padding:3px 9px;white-space:nowrap}
.mock .foot{margin-top:10px;font-size:12.5px;color:var(--muted);font-style:italic}
.rulebox{margin-top:14px}
.rulebox ul{margin:0;padding:0 0 0 18px;color:var(--ink-2);font-size:15.5px;display:grid;gap:6px}
.rulebox li::marker{color:var(--rust)}

/* placeholders */
.slot{border:1.5px dashed var(--line-2);border-radius:var(--radius);padding:22px;background:var(--well)}
.slot .lbl{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--window);border:1px solid rgba(61,94,118,0.495);padding:5px 9px;border-radius:999px;margin-bottom:12px}
.shot{aspect-ratio:16/10;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:14px}
.shot.tall{aspect-ratio:9/12}
.skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin-top:6px}
.skeleton > div{border-top:1px solid var(--line);padding-top:10px}
.skeleton b{display:block;font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.skeleton span{color:var(--ink-2);font-size:15px}

/* principles */
.principles{columns:2 340px;column-gap:14px}
.principles .glass{break-inside:avoid;margin-bottom:14px;padding:18px 20px}
.principles h3{font-size:18px;margin-bottom:4px}
.principles p{margin:0;font-size:15px;color:var(--ink-2)}

/* details / appendix */
details{border-top:1px solid var(--line)}
details:first-of-type{border-top:0}
summary{cursor:pointer;list-style:none;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;font:600 17px var(--serif)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 22px var(--sans);color:var(--amber);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
.dbody{padding:0 22px 18px}
.routine{width:100%;border-collapse:collapse;font-size:15px}
.routine td{padding:9px 0;border-top:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.routine td:first-child{width:150px;font-family:var(--serif);font-style:italic;color:var(--amber);padding-right:12px}
@media (max-width:480px){.routine td:first-child{width:108px}}

.stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0}
.stack > div{padding:14px 20px;border-bottom:1px solid var(--line)}
.stack b{font-weight:600}
.stack span{display:block;color:var(--ink-2);font-size:14.5px}
.stack em{font-style:normal;font-size:12px;color:var(--window)}

/* checklist */
.steal{counter-reset:c;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.steal li{counter-increment:c;padding:16px 18px;display:grid;grid-template-columns:30px 1fr;gap:10px;font-size:15.5px;color:var(--ink-2)}
.steal li::before{content:counter(c,decimal-leading-zero);font:italic 400 18px/1.3 var(--serif);color:var(--amber)}
.steal b{color:var(--ink)}

footer{padding:70px 0 60px;color:var(--muted);font-size:14px}
footer .glass{padding:20px 22px;display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:space-between;align-items:center}
footer .foot-links{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center}

/* ---------- CI tools · continuous-improvement blocks ---------- */
.ci{margin-top:22px;padding:24px 26px}
@media (max-width:560px){.ci{padding:18px 16px}}
.ci-kicker{margin:44px 0 0}
.ci-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:12px}
.ci-head h3{font-size:clamp(22px,2.8vw,27px);font-weight:400;flex:1 1 280px;line-height:1.2}
.ci-head h3 em{font-style:italic;color:var(--amber)}
.chip{display:inline-flex;align-items:center;gap:7px;font:600 11px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--window);border:1px solid rgba(61,94,118,0.462);background:rgba(61,94,118,0.077);padding:5px 10px 5px 8px;border-radius:999px;white-space:nowrap}
.chip::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--window);opacity:.85}
.ci-lede{color:var(--ink-2);max-width:66ch;margin:0 0 18px;font-size:16px}
.ci-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.ci-foot .note{margin:0;flex:1 1 300px}
.print-link{font-size:14px;white-space:nowrap;text-decoration:none;border:1px solid var(--line-2);border-radius:999px;padding:7px 13px;color:var(--amber);display:inline-block}
.print-link:hover{background:var(--glass-2)}
.inline-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.mini{border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,253,249,.7);padding:16px 18px}
.mini .hdr{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.mini h4,.cascade h4,.fives h4,.mm h4,.pdca h4{font:600 17px/1.25 var(--serif);margin:0;color:var(--ink)}

/* generic tool table */
.ci-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--well)}
.ci-table{width:100%;border-collapse:collapse;font-size:15px}
.ci-table th,.ci-table td{text-align:left;vertical-align:top;padding:11px 14px;border-top:1px solid var(--line)}
.ci-table thead th{border-top:0;font:600 11.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:rgba(61,44,41,0.04)}
.ci-table td{color:var(--ink-2)}
.ci-table td:first-child{font-family:var(--serif);font-size:17px;color:var(--ink)}
@media (max-width:640px){
  .ci-table.stackable thead{display:none}
  .ci-table.stackable tr{display:block;border-top:1px solid var(--line);padding:12px 14px}
  .ci-table.stackable tr:first-child{border-top:0}
  .ci-table.stackable td{display:block;border:0;padding:2px 0}
  .ci-table.stackable td[data-l]::before{content:attr(data-l);display:block;font:600 11px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:8px}
}
.sipoc .to-ci{display:inline-block;margin-top:12px;font-size:13.5px}

/* cascade: future self → macro plan → 90 days → week */
.cascade{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:820px){.cascade{grid-template-columns:1fr;gap:18px}}
.cascade > div{position:relative;padding:16px 16px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well)}
.cascade > div.here{border-color:rgba(181,121,63,0.495)}
.cascade .lvl{font:italic 400 14px/1 var(--serif);color:var(--amber)}
.cascade h4{margin:6px 0 2px}
.cascade .hz{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cascade ul{margin:10px 0 0;padding:0;list-style:none;font-size:14.5px;color:var(--ink-2);display:grid;gap:4px}
.cascade ul li{display:flex;gap:7px}
.cascade ul li::before{content:"·";color:var(--rust);font-weight:600}
.cascade > div:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:18px;color:var(--rust);z-index:1}
@media (max-width:820px){.cascade > div:not(:last-child)::after{content:"↓";right:auto;left:22px;top:auto;bottom:-19px}}

/* virtual 5S */
.fives{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--well)}
@media (max-width:900px){.fives{grid-template-columns:1fr}}
.fives > div{padding:16px;border-right:1px solid var(--line)}
.fives > div:last-child{border-right:0}
@media (max-width:900px){.fives > div{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:34px 1fr;gap:0 10px}.fives > div:last-child{border-bottom:0}}
.fives .S{font:italic 400 28px/1 var(--serif);color:var(--amber);display:block;margin-bottom:6px}
.fives p{margin:4px 0 0;font-size:14.5px;color:var(--ink-2)}
.fives .eg{font:italic 400 13.5px/1.45 var(--serif);color:var(--muted);margin-top:8px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:15px;color:var(--ink-2)}
.checks li{display:flex;gap:10px}
.checks li::before{content:"";flex:none;width:13px;height:13px;margin-top:5px;border:1.5px solid var(--muted);border-radius:3px}
.checks li.ok::before{background:var(--moss);border-color:var(--moss)}
.fname{font:500 14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);background:rgba(61,44,41,0.048);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:block;overflow-wrap:anywhere;margin:6px 0}

/* RACI */
.raci{width:100%;border-collapse:collapse;font-size:15px;table-layout:fixed}
.raci th,.raci td{padding:12px 10px;border-top:1px solid var(--line);vertical-align:middle;text-align:center}
.raci thead th{border-top:0;font:600 11.5px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:rgba(61,44,41,0.04)}
.raci thead th small{display:block;font-weight:400;letter-spacing:.02em;text-transform:none;font-size:12px;margin-top:3px}
.raci th:first-child,.raci td:first-child{text-align:left;width:44%;padding-left:14px}
.raci td:first-child{font-family:var(--serif);font-size:17px;color:var(--ink)}
.raci td:first-child small{display:block;font:400 13px/1.4 var(--sans);color:var(--muted);margin-top:3px}
.rb{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;font:600 15px/1 var(--sans);border:1px solid var(--line-2);color:var(--ink-2)}
.rb.A{background:var(--moss);border-color:var(--moss);color:#FBF3E8}
.rb.R{border-color:rgba(181,121,63,0.715);color:var(--amber);background:rgba(181,121,63,0.088)}
.rb.C{border-color:rgba(61,94,118,0.55);color:var(--window)}
.rb.I{color:var(--muted);border-style:dashed}
@media (max-width:560px){.raci th,.raci td{padding:10px 3px}.raci th:first-child,.raci td:first-child{width:40%;padding-left:12px}.raci thead th{font-size:10px;letter-spacing:.02em;overflow-wrap:anywhere}.rb{width:28px;height:28px;font-size:14px}}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13.5px;color:var(--ink-2)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend .rb{width:24px;height:24px;font-size:12px;border-radius:7px}
.ci-rule{margin-top:14px;padding:14px 18px;display:flex;gap:14px;align-items:center;font:italic 400 clamp(17px,2.1vw,20px)/1.4 var(--serif);border-left:2px solid var(--moss);background:rgba(85,98,63,0.077);border-radius:0 var(--radius-sm) var(--radius-sm) 0}

/* visual management */
.vm{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
@media (max-width:820px){.vm{grid-template-columns:1fr}}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}
.week > div{border:1px solid var(--line);border-radius:10px;padding:7px 4px 8px;text-align:center;font-size:12px;color:var(--muted);min-width:0}
.week > div b{display:block;font:600 13px var(--sans);color:var(--ink-2);margin-bottom:5px}
.week > div.off{border-style:dashed;opacity:.8}
.week > div.off b{color:var(--moss)}
.week i{display:inline-block;width:7px;height:7px;border-radius:50%;margin:1px}
.dot{flex:none;width:11px;height:11px;border-radius:50%;display:inline-block}
.g{background:var(--st-g)} .a{background:var(--st-a)} .r{background:var(--st-r)}
.dot.a{box-shadow:0 0 0 4px rgba(208,138,42,.18)} .dot.r{box-shadow:0 0 0 4px rgba(184,70,42,.16)}
.vm-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.vm-row .st{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
@media (max-width:420px){.vm-row{grid-template-columns:auto 1fr}.vm-row .st{grid-column:2}}
.waiting{border-color:rgba(163,74,37,0.473)}
.waiting .item{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.waiting .item .dot{margin-top:6px}
.waiting .item b{color:var(--ink);font-weight:600}
.keylist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;font-size:14.5px;color:var(--ink-2)}
.keylist li{display:flex;gap:10px;align-items:center}

/* mind map */
.mm{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:1fr;gap:18px 26px;padding:6px 0}
.mm svg.lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.mm svg.lines line{stroke:rgba(163,74,37,0.578);stroke-width:1.5;stroke-dasharray:4 4}
.mm > div{position:relative;z-index:1}
.mm .node{border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(251,246,239,0.96);padding:12px 14px}
.mm .node ul{margin:6px 0 0;padding:0 0 0 16px;font-size:14px;color:var(--ink-2);display:grid;gap:3px}
.mm .node li::marker{color:var(--rust)}
.mm .center{grid-column:2;grid-row:2;align-self:center;text-align:center;border:1px solid rgba(181,121,63,0.605);border-radius:999px;padding:18px 16px;background:#FBEBD6;box-shadow:0 0 0 6px rgba(181,121,63,0.198)}
.mm .center b{display:block;font:italic 400 20px/1.25 var(--serif);color:#3D2C29}
.mm .center small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.mm .n1{grid-column:1;grid-row:1}.mm .n2{grid-column:3;grid-row:1}.mm .n3{grid-column:1;grid-row:2}
.mm .n4{grid-column:3;grid-row:2}.mm .n5{grid-column:1;grid-row:3}.mm .n6{grid-column:3;grid-row:3}
.mm .gap1{grid-column:2;grid-row:1}.mm .gap2{grid-column:2;grid-row:3}
@media (max-width:760px){
  .mm{grid-template-columns:1fr;grid-auto-rows:auto;gap:10px;padding-left:18px}
  .mm svg.lines,.mm .gap1,.mm .gap2{display:none}
  .mm::before{content:"";position:absolute;left:6px;top:30px;bottom:24px;border-left:1.5px dashed rgba(163,74,37,0.578)}
  .mm .center,.mm .n1,.mm .n2,.mm .n3,.mm .n4,.mm .n5,.mm .n6{grid-column:1;grid-row:auto}
  .mm .center{margin-left:-18px;border-radius:var(--radius-sm)}
  .mm .node::before{content:"";position:absolute;left:-12px;top:22px;width:12px;border-top:1.5px dashed rgba(163,74,37,0.578)}
}

/* PDCA feedback loop */
.pdca{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
@media (max-width:820px){.pdca{grid-template-columns:1fr;gap:18px}}
.pdca > div{position:relative;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);padding:14px 16px}
.pdca .k{display:flex;align-items:baseline;gap:8px;font:italic 400 22px/1 var(--serif);color:var(--amber);margin-bottom:6px}
.pdca .k small{font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-style:normal}
.pdca p{margin:4px 0 0;font-size:14.5px;color:var(--ink-2)}
.pdca > div.you{border-color:rgba(85,98,63,0.605)}
.pdca > div:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:16px;color:var(--rust);z-index:1}
@media (max-width:820px){.pdca > div:not(:last-child)::after{content:"↓";right:auto;left:22px;top:auto;bottom:-19px}}
.loopback{position:relative;margin:0 12.5% 0;height:40px;border:1.5px dashed rgba(163,74,37,0.735);border-top:0;border-radius:0 0 18px 18px}
.loopback::before{content:"▲";position:absolute;left:-6.5px;top:-6px;font-size:11px;color:var(--rust);line-height:1}
.loopback span{position:absolute;left:0;right:0;bottom:8px;text-align:center;font:italic 400 14.5px/1.4 var(--serif);color:var(--ink-2)}
.loopback-m{display:none}
@media (max-width:820px){.loopback{display:none}.loopback-m{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px 14px;border:1.5px dashed rgba(163,74,37,0.735);border-radius:var(--radius-sm);font:italic 400 15px/1.4 var(--serif);color:var(--ink-2)}.loopback-m b{font:400 22px/1 var(--sans);color:var(--rust);font-style:normal}}
.flow-back{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:10px 0 0;padding:10px 16px;border:1.5px dashed rgba(163,74,37,0.578);border-radius:var(--radius-sm);font-size:14.5px;color:var(--ink-2)}
.flow-back .ret{color:var(--rust);font-size:18px;line-height:1}

/* control tower */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:#FFFDF9;padding:14px 16px 12px;display:grid;gap:4px;border-top:3px solid var(--st,var(--line))}
.tile.g{--st:var(--st-g);--st-t:var(--st-g-t)} .tile.a{--st:var(--st-a);--st-t:var(--st-a-t)} .tile.r{--st:var(--st-r);--st-t:var(--st-r-t)}
.tile.g,.tile.a,.tile.r{background:#FFFDF9}
.tile .lbl{font-size:13.5px;color:var(--ink-2);line-height:1.35;min-height:2.7em}
@media (max-width:560px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{padding:12px 12px 10px}.tile .val{font-size:28px;gap:6px}.tile .val small{font-size:12.5px}.tile .lbl{font-size:13px;min-height:3.9em}.tile .ft{flex-direction:column;gap:2px;font-size:10.5px}.tile.wide{grid-column:1/-1}}
.tile .val{display:flex;align-items:baseline;gap:8px;font:400 34px/1 var(--serif);color:var(--ink)}
.tile .val small{font:400 14px var(--sans);color:var(--muted)}
.tile .trend{font:600 14px/1 var(--sans);color:var(--st-t,var(--st))}
.tile svg{width:100%;height:28px;display:block}
.tile svg polyline{fill:none;stroke:var(--st);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tile .ft{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tile .ft .s{color:var(--st-t,var(--st))}
.ex-tag{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);border-radius:999px;padding:5px 9px}
.by-spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 18px;margin-top:10px}
.by-spec > div{display:grid;grid-template-columns:auto 96px 1fr;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.by-spec > div b{font:600 15px var(--serif);color:var(--ink)}
.by-spec .dot{align-self:center}
@media (max-width:420px){.by-spec > div{grid-template-columns:auto 1fr}.by-spec > div span:last-child{grid-column:2}}
.pick{margin-top:14px}
.pick ol{margin:6px 0 0;padding-left:20px;color:var(--ink-2);font-size:15px;display:grid;gap:4px}
.pick li::marker{color:var(--amber);font-family:var(--serif);font-style:italic}
/* team: drives toward */
.bot > div:last-child{align-self:stretch;display:flex;flex-direction:column}
.drives{margin:auto 0 0 !important;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:13px !important;color:var(--ink) !important;line-height:1.4 !important;border-top:1px dashed var(--line);padding-top:8px}
.bot > div:last-child > p:not(.drives){margin-bottom:10px}
.drives span{flex:none;font:600 10.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--moss)}
.drives span::before{content:"◎ ";}
.rollup{margin-top:14px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font:italic 400 17px/1.45 var(--serif);color:var(--ink-2)}

/* say vs. do coach */
.sd{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
@media (max-width:860px){.sd{grid-template-columns:1fr}}
.sd-row{display:grid;grid-template-columns:92px 1fr;gap:4px 12px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.sd-row:first-of-type{border-top:0}
.sd-row .nm{font:600 16px/1.2 var(--serif);color:var(--ink);grid-row:span 2}
.sd-row .nm small{display:block;font:600 11px/1.3 var(--sans);letter-spacing:.1em;color:var(--amber);margin-top:3px}
.bar{display:grid;grid-template-columns:40px 1fr 44px;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.bar i{display:block;height:9px;border-radius:5px;background:rgba(61,44,41,0.056);position:relative;overflow:hidden}
.bar i b{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.bar.said i b{background:var(--gold-fill)}
.bar.did i b{background:#6F93AE}
.bar span:last-child{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}
.sd-row.gap .bar.did span:last-child{color:var(--rust);font-weight:600}
.sd-row.gap .nm small{color:var(--rust)}
.sd-row.gap .bar.did i b{background:var(--st-r)}
.sd-key{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);margin:2px 0 8px}
.sd-key span{display:inline-flex;align-items:center;gap:6px}
.sd-key i{width:16px;height:8px;border-radius:4px;display:inline-block}
.coach-note{border:1px solid rgba(85,98,63,0.495);border-radius:var(--radius-sm);background:rgba(85,98,63,0.066);padding:16px 18px}
.coach-note .hdr{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.coach-note blockquote{margin:0;font:400 17px/1.55 var(--serif);color:var(--ink)}
.coach-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;font-size:14.5px;color:var(--ink-2)}
.coach-steps li{display:grid;grid-template-columns:96px 1fr;gap:10px}
.coach-steps b{font:600 11px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--moss)}
.ties{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ties a{font-size:13px;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:5px 11px;color:var(--ink-2)}
.ties a:hover{color:var(--ink);border-color:var(--line-2)}

/* toolkit callout */
.kit{margin-top:18px;padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:14px 20px;align-items:center;border-color:rgba(61,94,118,0.385)}
@media (max-width:720px){.kit{grid-template-columns:1fr}}
.kit .ico{width:46px;height:56px;border:1.5px solid var(--window);border-radius:6px;position:relative;opacity:.9}
.kit .ico::before{content:"";position:absolute;left:8px;right:8px;top:12px;height:28px;background:repeating-linear-gradient(180deg,rgba(61,94,118,0.77) 0 1.5px,transparent 1.5px 7px)}
.kit h3{font-size:21px;font-weight:400;margin:6px 0 4px}
.kit p{margin:0;font-size:15px;color:var(--ink-2)}
.kit .btns{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-block;text-decoration:none;font-size:14.5px;padding:9px 15px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink);background:var(--glass-2);white-space:nowrap}
.btn.primary{border-color:rgba(181,121,63,0.605);color:var(--amber)}
.btn:hover{background:rgba(61,44,41,0.112);color:var(--ink)}
