/* Millrace promo site — built on Millrace design tokens (2026-09-28) */
@font-face{font-family:"IBM Plex Sans";src:url("../assets/fonts/plex-sans-var.woff2") format("woff2-variations");font-weight:100 700;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Mono";src:url("../assets/fonts/plex-mono-regular.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"IBM Plex Mono";src:url("../assets/fonts/plex-mono-semibold.woff2") format("woff2");font-weight:600;font-display:swap;}

:root{
  --ink:#0B1F24; --deep:#123A42; --deep2:#0E2C33;
  --teal:#1D7A8C; --teal-lt:#7FB8C4;
  --copper:#C87E46; --copper-lt:#E3A97A;
  --paper:#F4F1EA; --cloud:#E9E4D9;
  --line:rgba(127,184,196,.16);
  --sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
  --radius:10px;
  --wrap:1160px;
  --hdr-h:70px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--copper-lt);text-decoration:none}
a:hover{color:var(--copper)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

.skip{position:absolute;left:-9999px;top:0;background:var(--copper);color:#111;padding:10px 16px;z-index:99}
.skip:focus{left:12px;top:12px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,31,36,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:28px;height:var(--hdr-h)}
.brand img{height:26px;width:auto}
.site-nav{display:flex;gap:24px;margin-left:auto}
.site-nav a{color:var(--cloud);font-size:.95rem}
.site-nav a:hover{color:var(--copper-lt)}

/* ---------- buttons ---------- */
.btn{display:inline-block;border-radius:var(--radius);padding:13px 22px;font-weight:600;font-size:.98rem;line-height:1;transition:transform .12s ease,background .12s ease,color .12s ease;border:1px solid transparent}
.btn:hover{transform:translateY(-1px)}
.btn-copper{background:var(--copper);color:#14100b}
.btn-copper:hover{background:var(--copper-lt);color:#14100b}
.btn-ghost{border-color:var(--line);color:var(--paper)}
.btn-ghost:hover{border-color:var(--teal-lt);color:var(--teal-lt)}
.btn-sm{padding:10px 16px;font-size:.9rem}
.btn-lg{padding:16px 30px;font-size:1.05rem}
.btn-block{display:block;text-align:center;width:100%}

/* ---------- type ---------- */
.eyebrow{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);margin-bottom:14px}
h1{font-size:clamp(2.3rem,5vw,3.9rem);line-height:1.08;font-weight:650;letter-spacing:-.01em}
h1 .accent{color:var(--copper-lt)}
h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15;font-weight:640;margin-bottom:16px}
h3{font-size:1.12rem;font-weight:620;margin-bottom:8px}
.section-lede{max-width:760px;color:var(--teal-lt);font-size:1.08rem}
.section-lede em{color:var(--teal-lt);opacity:.75;font-style:normal;font-size:.95rem}
.lede{color:var(--teal-lt);font-size:1.16rem;max-width:560px;margin:20px 0 26px}
.lede strong{color:var(--paper)}
.center{text-align:center}
.center-wrap{text-align:center;max-width:760px;margin:0 auto}

/* ---------- sections ---------- */
.section{padding:88px 0}
.section.alt{background:linear-gradient(180deg,var(--deep2),var(--ink))}
.section h2 + .section-lede,.section .eyebrow + h2{margin-top:0}

/* ---------- hero ---------- */
.hero{position:relative;padding:84px 0 72px;background:
  radial-gradient(1100px 500px at 85% -10%,rgba(29,122,140,.28),transparent 60%),
  radial-gradient(900px 480px at -10% 110%,rgba(200,126,70,.16),transparent 60%),
  var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin-top:30px}
.chips li{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-lt);border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:rgba(18,58,66,.35)}
.chips-lg li{font-size:.88rem;padding:10px 18px}
.chips-lg{justify-content:center;margin-top:26px}
.chip-tag{color:var(--copper);margin-left:6px}
.hero-shot{margin:0}
.hero-shot img{border-radius:12px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 6px rgba(18,58,66,.35);}
.hero-shot figcaption,.shot figcaption{font-size:.82rem;color:var(--teal-lt);margin-top:10px;opacity:.85}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.center-row{justify-content:center}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.step{background:rgba(18,58,66,.32);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px 24px;position:relative}
.step-num{font-family:var(--mono);font-size:.8rem;color:var(--copper);letter-spacing:.12em;display:block;margin-bottom:14px}
.step h3{color:var(--paper)}
.step p{color:var(--teal-lt);font-size:.95rem}

/* ---------- capabilities ---------- */
.caps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}
.cap{background:rgba(11,31,36,.6);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px}
.cap h3{font-size:1.02rem}
.cap p{color:var(--teal-lt);font-size:.92rem}

/* ---------- gallery ---------- */
.gallery-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 22px}
.gtab{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-lt);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 18px;cursor:pointer;transition:all .12s ease}
.gtab:hover{border-color:var(--teal-lt);color:var(--paper)}
.gtab.is-active{background:var(--copper);border-color:var(--copper);color:#14100b}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gcard{background:rgba(18,58,66,.3);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .14s ease,border-color .14s ease}
.gcard:hover{transform:translateY(-3px);border-color:var(--teal-lt)}
.gcard img{width:100%;aspect-ratio:640/500;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}
.gcard .gmeta{padding:14px 16px 16px}
.gcard .gmeta h3{font-size:.98rem;margin-bottom:4px}
.gcard .gmeta p{font-size:.84rem;color:var(--teal-lt)}
.gallery-hint{font-size:.82rem;color:var(--teal-lt);opacity:.75;margin-top:18px}

/* ---------- split (dialer) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.feature-list{list-style:none;margin-top:26px;display:grid;gap:12px}
.feature-list li{padding-left:26px;position:relative;color:var(--cloud)}
.feature-list li::before{content:"→";position:absolute;left:0;color:var(--copper);font-family:var(--mono)}
.shot img{border-radius:12px;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.45)}

/* ---------- transfers ---------- */
.transfers{background:linear-gradient(135deg,rgba(200,126,70,.14),transparent 55%),var(--deep2)}
.transfers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.transfers-grid article{background:rgba(11,31,36,.55);border:1px solid rgba(200,126,70,.25);border-radius:var(--radius);padding:22px 20px}
.transfers-grid h3{color:var(--copper-lt)}
.transfers-grid p{color:var(--teal-lt);font-size:.92rem}

/* ---------- industries ---------- */
.industries{padding:72px 0}

/* ---------- pricing ---------- */
.pricing-wrap{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.price-card{background:rgba(11,31,36,.72);border:1px solid rgba(200,126,70,.35);border-radius:14px;padding:30px 28px;box-shadow:0 30px 70px rgba(0,0,0,.4)}
.price-tag{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--copper)}
.price-big{font-size:3rem;font-weight:650;margin:10px 0 2px;letter-spacing:-.02em}
.price-big span{font-size:1.05rem;color:var(--teal-lt);font-weight:500;margin-left:6px}
.price-head p{color:var(--teal-lt);font-size:.9rem;margin-bottom:18px}
.price-list{list-style:none;display:grid;gap:12px;margin:16px 0 24px;padding-top:18px;border-top:1px solid var(--line)}
.price-list li{font-size:.94rem;color:var(--cloud);padding-left:22px;position:relative}
.price-list li::before{content:"—";position:absolute;left:0;color:var(--copper)}
.price-list strong{color:var(--paper)}

/* ---------- cta / footer ---------- */
.cta-final{padding:96px 0;background:
  radial-gradient(800px 320px at 50% 120%,rgba(200,126,70,.22),transparent 60%),var(--ink)}
.site-footer{border-top:1px solid var(--line);padding:36px 0 46px;background:var(--deep2)}
.footer-inner{display:grid;gap:10px;justify-items:start}
.site-footer img{height:22px;width:auto}
.site-footer p{font-size:.9rem;color:var(--teal-lt)}
.site-footer .fine{font-size:.8rem;opacity:.7}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(7,20,24,.94);display:flex;align-items:center;justify-content:center;padding:26px}
.lightbox[hidden]{display:none}
.lb-figure{max-width:min(1200px,92vw);max-height:92vh;display:flex;flex-direction:column;gap:12px}
.lb-figure img{max-height:calc(92vh - 70px);width:auto;max-width:100%;margin:0 auto;border-radius:8px;border:1px solid var(--line);background:var(--ink)}
.lb-figure figcaption{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;color:var(--teal-lt);font-size:.9rem}
.lb-figure figcaption strong{color:var(--paper)}
.lb-close,.lb-prev,.lb-next{position:fixed;background:rgba(18,58,66,.8);border:1px solid var(--line);color:var(--paper);font-size:1.6rem;line-height:1;width:46px;height:46px;border-radius:50%;cursor:pointer}
.lb-close{top:18px;right:20px;font-size:1.3rem}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{border-color:var(--copper);color:var(--copper-lt)}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .hero-grid,.split,.pricing-wrap{grid-template-columns:1fr;gap:36px}
  .steps,.caps,.transfers-grid{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .site-nav{display:none}
  .section{padding:64px 0}
  .steps,.caps,.transfers-grid,.gallery{grid-template-columns:1fr}
  .header-inner{gap:14px}
  .btn{padding:12px 18px}
  .lb-prev{left:8px}.lb-next{right:8px}
}

/* ---------- v2 refinements ---------- */
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:24px !important}
.brand-word{font-family:var(--mono);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);font-size:.95rem}
.footer-brand{display:flex;align-items:center;gap:9px}
.footer-brand img{height:22px;width:auto}
.hero-copy{text-align:center;max-width:840px;margin:0 auto}
.hero-copy .lede{margin-left:auto;margin-right:auto}
.hero-copy .cta-row{justify-content:center}
.hero-copy .chips{justify-content:center}
.hero-shot{margin:54px 0 0}
.hero-shot img{width:100%;border-radius:14px;border:1px solid var(--line);box-shadow:0 40px 110px rgba(0,0,0,.55),0 0 0 8px rgba(18,58,66,.35)}
.hero-shot figcaption{text-align:center}
.chips li{color:var(--cloud);border-color:rgba(127,184,196,.3);background:rgba(18,58,66,.5)}
.hero-shot figcaption,.shot figcaption{font-size:.88rem;color:#9fc4cd}
.faq{margin-top:34px;border-top:1px solid var(--line);padding-top:8px}
.faq h3{margin:14px 0 2px}
.faq dt{font-weight:620;color:var(--paper);margin-top:16px;font-size:1rem}
.faq dd{color:var(--teal-lt);font-size:.94rem;margin-top:5px;max-width:560px}
.price-note{font-size:.86rem;color:#9fc4cd;margin:2px 0 14px}
.terms-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 6px}
.terms-row div{background:rgba(18,58,66,.5);border:1px solid var(--line);border-radius:8px;padding:10px 13px}
.terms-row span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-lt);margin-bottom:3px}
.terms-row strong{font-size:.92rem;color:var(--paper)}

/* ---------- v3 polish ---------- */
.lede{color:#A9CBD4}
.section-lede{color:#9FC4CD}
.chips li{font-size:.8rem;letter-spacing:.05em;border-color:rgba(127,184,196,.36)}
.terms-row span{color:#A9CBD4;font-size:.72rem}
.byline{margin-top:26px;background:rgba(18,58,66,.4);border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.byline p{color:var(--cloud);font-size:.94rem}

/* ---------- v4: management layer section ---------- */
.intelligence{background:radial-gradient(900px 420px at 15% -10%,rgba(200,126,70,.14),transparent 60%),var(--ink);border-top:1px solid rgba(200,126,70,.22)}
.hl-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px}
.hl{background:rgba(18,58,66,.32);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 20px;position:relative}
.hl-num{font-family:var(--mono);font-size:.78rem;color:var(--copper);letter-spacing:.12em;display:block;margin-bottom:10px}
.hl h3{font-size:1.05rem;margin-bottom:7px}
.hl p{color:var(--teal-lt);font-size:.93rem}
.scope-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:34px}
.scope{background:rgba(11,31,36,.6);border:1px solid rgba(200,126,70,.3);border-radius:var(--radius);padding:22px}
.scope h3{color:var(--copper-lt);font-size:1rem}
.scope p{color:var(--teal-lt);font-size:.93rem;margin-top:6px}
.intelligence .cta-row{margin-top:30px}
@media (max-width:1000px){ .hl-list,.scope-grid{grid-template-columns:1fr} }
