/* millikenautomation.com — no external requests, no JS, no cookies. */

:root{
  --paper:#FBFAF8;
  --surface:#FFFFFF;
  --ink:#16140F;
  --ink-2:#6B6459;
  --ink-3:#756E62;
  --line:#E5E0D7;
  --line-strong:#D3CCC0;
  --accent:#B33C08;
  --accent-ink:#FFFFFF;
  --live:#16733C;
  --tint:rgba(179,60,8,.05);
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono","Cascadia Mono","Segoe UI Mono","Roboto Mono",Menlo,Consolas,monospace;
  --gutter:20px;
  --shell:1080px;
}

@media (prefers-color-scheme: dark){
  :root{
    --paper:#141210;
    --surface:#1B1815;
    --ink:#F4F1EB;
    --ink-2:#A9A296;
    --ink-3:#8A8377;
    --line:#2C2823;
    --line-strong:#3A352E;
    --accent:#F5813C;
    --accent-ink:#1A1512;
    --live:#4ADE80;
    --tint:rgba(245,129,60,.07);
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-synthesis-weight:none;
}

.shell{max-width:var(--shell); margin:0 auto; padding:0 var(--gutter)}
.prose{max-width:62ch}

a{color:var(--ink); text-underline-offset:3px; text-decoration-thickness:1px}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:2px}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--line)}
.masthead .shell{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 28px;
  padding-top:20px; padding-bottom:20px;
}
.wordmark{
  font-family:var(--mono); font-size:14px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  margin-right:auto; white-space:nowrap;
}
.wordmark .dot{color:var(--accent)}
.nav{display:flex; flex-wrap:wrap; gap:6px 22px; font-size:15px}
.nav a{color:var(--ink-2); text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink)}
.nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}

/* ---------- type ---------- */
h1,h2,h3{margin:0; font-weight:680; letter-spacing:-.022em; line-height:1.14}
h1{font-size:clamp(34px,6.4vw,54px)}
h2{font-size:clamp(25px,3.6vw,33px); letter-spacing:-.02em}
h3{font-size:20px; letter-spacing:-.012em; line-height:1.25}
p{margin:0 0 16px}
.lede{font-size:clamp(18px,2.2vw,21px); line-height:1.5; color:var(--ink-2); margin:18px 0 0; max-width:54ch}

.label{
  display:flex; align-items:center; gap:14px;
  font-family:var(--mono); font-size:12px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3);
  margin:0 0 26px;
}
.label::after{content:""; flex:1; height:1px; background:var(--line)}
.label .num{color:var(--accent)}

/* ---------- sections ---------- */
section{padding:clamp(52px,8vw,92px) 0; border-top:1px solid var(--line)}
section:first-of-type{border-top:0}
.hero{padding-top:clamp(44px,7vw,76px); padding-bottom:clamp(40px,6vw,64px); border-top:0}

.hero-grid{display:grid; gap:40px}
@media (min-width:920px){
  .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:56px; align-items:start}
}

.actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px}
.btn{
  display:inline-flex; align-items:center; gap:9px;
  font-size:15px; font-weight:600; text-decoration:none;
  padding:12px 20px; border-radius:2px; border:1px solid var(--accent);
  background:var(--accent); color:var(--accent-ink);
}
.btn:hover{background:transparent; color:var(--accent)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--ink); color:var(--ink); background:transparent}

/* ---------- status board (hero graphic, built from type) ---------- */
.board{
  border:1px solid var(--line-strong); background:var(--surface);
  border-radius:3px; overflow:hidden;
  font-family:var(--mono); font-size:13px;
}
.board-head{
  display:flex; justify-content:space-between; gap:12px;
  padding:11px 16px; border-bottom:1px solid var(--line);
  background:var(--tint); color:var(--ink-3);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
}
.board-row{
  display:flex; align-items:center; gap:12px;
  padding:14px 16px; border-bottom:1px solid var(--line);
  text-decoration:none; color:var(--ink);
}
.board-row:last-child{border-bottom:0}
.board-row:hover{background:var(--tint)}
.board-row .name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.board-row .arrow{color:var(--ink-3)}
.board-row:hover .arrow{color:var(--accent)}
.live-dot{
  width:7px; height:7px; border-radius:50%; background:var(--live);
  flex:none; box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 18%,transparent);
}
.board-note{padding:12px 16px; color:var(--ink-3); font-size:11.5px; line-height:1.5}
.board-foot{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3); margin:14px 0 0; line-height:1.7;
}

/* ---------- system rows ---------- */
.rows{border-top:1px solid var(--line)}
.row{
  display:grid; gap:14px;
  padding:30px 0; border-bottom:1px solid var(--line);
}
@media (min-width:820px){
  .row{grid-template-columns:148px minmax(0,1fr) auto; gap:36px; align-items:start}
}
.row-meta{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-3);
  display:flex; align-items:center; gap:9px; padding-top:5px;
}
.row-body p{margin:8px 0 0; color:var(--ink-2); max-width:58ch}
.tags{display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; padding:0; list-style:none}
.tags li{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.04em;
  color:var(--ink-2); border:1px solid var(--line-strong);
  border-radius:100px; padding:3px 11px;
}
.row-cta{align-self:start; padding-top:3px}
.tlink{
  font-family:var(--mono); font-size:13px; font-weight:600; letter-spacing:.02em;
  text-decoration:none; color:var(--accent); white-space:nowrap;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent); padding-bottom:2px;
}
.tlink:hover{border-bottom-color:var(--accent)}

/* ---------- generic grids ---------- */
.grid{display:grid; gap:1px; background:var(--line); border:1px solid var(--line)}
@media (min-width:760px){ .grid.cols-2{grid-template-columns:1fr 1fr} }
@media (min-width:880px){ .grid.cols-3{grid-template-columns:repeat(3,1fr)} }
.cell{background:var(--paper); padding:26px 24px}
.cell h3{margin-bottom:9px}
.cell p{color:var(--ink-2); margin:0; font-size:16px}
.cell .kicker{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); display:block; margin-bottom:12px;
}

/* ---------- steps ---------- */
.steps{list-style:none; margin:0; padding:0; counter-reset:step}
.steps li{
  display:grid; gap:4px 26px; padding:22px 0; border-bottom:1px solid var(--line);
}
@media (min-width:760px){ .steps li{grid-template-columns:200px minmax(0,1fr)} }
.steps li:first-child{border-top:1px solid var(--line)}
.steps .step-h{display:flex; align-items:baseline; gap:12px}
.steps .n{font-family:var(--mono); font-size:12px; color:var(--accent); letter-spacing:.1em}
.steps strong{font-weight:660}
.steps p{margin:0; color:var(--ink-2)}
.steps .when{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3); margin-top:6px; display:block;
}

/* ---------- price ---------- */
.price-head{
  font-family:var(--mono); font-size:clamp(24px,3.4vw,30px); font-weight:600;
  letter-spacing:-.01em; color:var(--ink);
}
.cell .price-note{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3); display:block; margin:10px 0 14px;
}

/* ---------- misc ---------- */
.callout{
  border-left:2px solid var(--accent); background:var(--tint);
  padding:18px 22px; margin:28px 0;
}
.callout p:last-child{margin-bottom:0}
.dl{margin:0; border-top:1px solid var(--line)}
.dl > div{padding:18px 0; border-bottom:1px solid var(--line)}
@media (min-width:760px){ .dl > div{display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px} }
.dl dt{
  font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3);
}
.dl dd{margin:6px 0 0; color:var(--ink-2)}
@media (min-width:760px){ .dl dd{margin:0} }
.page-head{padding:clamp(40px,6vw,68px) 0 clamp(28px,4vw,40px); border-top:0}
ul.plain{padding-left:20px; color:var(--ink-2)}
ul.plain li{margin-bottom:9px}
.contact-lines{list-style:none; margin:24px 0 0; padding:0; font-size:19px}
.contact-lines li{margin-bottom:12px}
.contact-lines .k{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); display:block; margin-bottom:2px;
}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line); padding:38px 0 56px; color:var(--ink-3); font-size:14px}
.foot-grid{display:grid; gap:26px}
@media (min-width:760px){ .foot-grid{grid-template-columns:1.4fr 1fr; gap:48px} }
footer p{margin:0 0 6px}
footer a{color:var(--ink-2)}
.foot-nav{display:flex; flex-wrap:wrap; gap:8px 20px; font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase}
.foot-nav a{text-decoration:none}
.foot-nav a:hover{color:var(--accent)}

/* ---------- utilities (no inline styles: CSP forbids them) ---------- */
.muted{color:var(--ink-2)}
.mt-16{margin-top:16px}
.mt-18{margin-top:18px}
.mt-20{margin-top:20px}
.mt-34{margin-top:34px}
.mt-38{margin-top:38px}
.foot-note{margin-top:18px; font-size:12.5px; line-height:1.55}
.foot-name{color:var(--ink-2)}
.board-list{padding:18px 16px; font-size:13px; line-height:1.7; color:var(--ink-2)}

/* .shell.prose must keep the shell's centred 1080 frame and constrain only the text */
.shell.prose{max-width:var(--shell)}
.shell.prose > h1,.shell.prose > h2,.shell.prose > p,.shell.prose > ul,.shell.prose > ol{max-width:62ch}
