/* evolv — developer tools for local AI models
   Calm slate ground, one ember accent. System fonts only (no third-party requests).
   Edit --accent to reskin the page. */

:root{
  --bg:#F3F5F7;
  --surface:#FFFFFF;
  --surface-2:#E8ECF0;
  --ink:#111820;
  --ink-2:#2F3C48;
  --muted:#5F6E7B;
  --line:#D8E0E6;
  --accent:#B0400C;
  --accent-ink:#8F3309;
  --accent-soft:#FBEBE2;
  --on-accent:#FFFFFF;
  --ok:#3F6B12;
  --ok-soft:#EDF3E2;
  --radius:6px;
  --shadow:0 1px 2px rgba(17,24,32,.05), 0 14px 34px -24px rgba(17,24,32,.45);
  --maxw:1120px;
  --font-sans:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-head:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,Menlo,monospace;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1015;
    --surface:#131A21;
    --surface-2:#1B242C;
    --ink:#E8EEF3;
    --ink-2:#BCC9D3;
    --muted:#8393A0;
    --line:#25313A;
    --accent:#F0884A;
    --accent-ink:#F5A472;
    --accent-soft:#2A1710;
    --on-accent:#160B05;
    --ok:#A3CC5C;
    --ok-soft:#1B2412;
    --shadow:0 1px 2px rgba(0,0,0,.45), 0 14px 34px -24px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --bg:#0B1015;
  --surface:#131A21;
  --surface-2:#1B242C;
  --ink:#E8EEF3;
  --ink-2:#BCC9D3;
  --muted:#8393A0;
  --line:#25313A;
  --accent:#F0884A;
  --accent-ink:#F5A472;
  --accent-soft:#2A1710;
  --on-accent:#160B05;
  --ok:#A3CC5C;
  --ok-soft:#1B2412;
  --shadow:0 1px 2px rgba(0,0,0,.45), 0 14px 34px -24px rgba(0,0,0,.9);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:72px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
figure{margin:0;}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:clamp(16px,4vw,28px);}

a{color:var(--accent);text-underline-offset:2px;}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

h1,h2,h3{font-family:var(--font-head);letter-spacing:-.015em;text-wrap:balance;margin:0;}

.mono{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;}

.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:var(--radius);z-index:50;}
.skip:focus{left:12px;}

/* ---------- nav ---------- */
.nav{
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter:saturate(1.4) blur(8px);
  position:sticky;top:env(safe-area-inset-top,0px);z-index:20;
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:60px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.brand .mark{
  width:26px;height:26px;flex:none;border-radius:5px;background:var(--accent);
  display:grid;place-items:center;color:var(--on-accent);
  font-family:var(--font-head);font-weight:800;font-size:15px;line-height:1;
}
.brand .name{font-family:var(--font-head);font-weight:700;font-size:19px;letter-spacing:-.02em;}
.navlinks{display:flex;gap:clamp(12px,2.4vw,24px);align-items:center;}
.navlinks a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:500;}
.navlinks a:hover{color:var(--ink);}
@media (max-width:640px){.navlinks a[data-opt]{display:none;}}

/* ---------- buttons, pills ---------- */
.btn{
  display:inline-block;padding:10px 18px;border-radius:var(--radius);
  font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;
  transition:background-color .15s, border-color .15s;
}
.btn-primary{background:var(--accent);color:var(--on-accent);}
.btn-primary:hover{background:var(--accent-ink);}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--surface);}
.btn-ghost:hover{border-color:var(--muted);}

.pill{
  display:inline-block;padding:3px 8px;border-radius:3px;font-weight:500;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
}
.pill-vs{background:var(--accent-soft);color:var(--accent);}
.pill-oss{background:var(--ok-soft);color:var(--ok);}
.pill-soon{background:var(--surface-2);color:var(--ink-2);}
.tags{display:flex;flex-wrap:wrap;gap:7px;}

/* ---------- hero ---------- */
.hero{padding:clamp(56px,9vw,96px) 0 clamp(44px,7vw,72px);border-bottom:1px solid var(--line);}
.hero .eyebrow{display:block;color:var(--accent);margin-bottom:18px;}
.hero h1{font-weight:800;font-size:clamp(2.2rem,5.4vw,3.6rem);line-height:1.06;max-width:18ch;margin-bottom:22px;}
.hero .lede{font-size:clamp(1.05rem,1.8vw,1.2rem);color:var(--ink-2);max-width:58ch;margin:0 0 30px;}
.cta{display:flex;flex-wrap:wrap;gap:12px;}

/* ---------- facts strip ---------- */
.facts{background:var(--surface);border-bottom:1px solid var(--line);}
.facts .wrap{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:24px;padding-block:26px;
}
.fact{border-left:2px solid var(--accent);padding-left:14px;}
.fact .v{display:block;font-family:var(--font-head);font-weight:700;font-size:1.8rem;line-height:1.1;font-variant-numeric:tabular-nums;}
.fact .k{display:block;color:var(--muted);margin-top:2px;}

/* ---------- sections ---------- */
section{padding-block:clamp(56px,8vw,88px);border-bottom:1px solid var(--line);}
section.compact{padding-block:clamp(36px,5vw,52px);}
.sechead{margin-bottom:36px;max-width:62ch;}
.sechead .mono{color:var(--accent);display:block;margin-bottom:12px;}
.sechead h2{font-weight:700;font-size:clamp(1.6rem,3.2vw,2.1rem);line-height:1.15;margin-bottom:10px;}
.sechead p{color:var(--muted);margin:0;}

/* ---------- flagship features ---------- */
.feature-alt{background:var(--surface);}
.feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,64px);align-items:center;}
.feature-alt .feature-text{order:2;}
@media (max-width:880px){
  .feature-grid{grid-template-columns:1fr;}
  .feature-alt .feature-text{order:0;}
}
.feature .kicker{display:block;color:var(--accent);margin-bottom:10px;}
.feature h2{font-weight:800;font-size:clamp(2rem,4vw,2.7rem);line-height:1.05;margin-bottom:10px;}
.feature .sub{font-size:1.15rem;color:var(--ink);font-weight:600;margin:0 0 14px;max-width:44ch;}
.feature-text > p{color:var(--ink-2);margin:0 0 18px;max-width:56ch;}
.points{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px;}
.points li{position:relative;padding-left:22px;color:var(--ink-2);font-size:.97rem;}
.points li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--accent);}
.points strong{color:var(--ink);font-weight:600;}
.feature .tags{margin-bottom:18px;}
.actions{display:flex;flex-wrap:wrap;gap:12px;}

.shot{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--surface-2);box-shadow:var(--shadow);
}
.shot img{width:100%;}
.media-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.media-pair .shot img{aspect-ratio:1/1;object-fit:cover;object-position:top left;}
.media-pair .shot:nth-child(2) img{object-position:center bottom;}
.media-pair .shot:nth-child(2){margin-top:40px;}
.media-stack{display:grid;gap:16px;}
.media-stack .shot:nth-child(2){margin-left:12%;margin-top:-8%;position:relative;}
@media (max-width:480px){
  .media-pair .shot:nth-child(2){margin-top:0;}
  .media-stack .shot:nth-child(2){margin:0;}
}

/* ---------- nemotron note ---------- */
.note{
  display:flex;gap:18px;align-items:flex-start;
  background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:var(--radius);padding:22px 24px;
}
.note h3{font-size:1.2rem;font-weight:700;margin-bottom:6px;}
.note p{margin:0;color:var(--ink-2);max-width:72ch;}
.note .pill{flex:none;margin-top:4px;}
@media (max-width:560px){.note{flex-direction:column;gap:10px;}}

/* ---------- more from evolv ---------- */
.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.mini{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;display:flex;flex-direction:column;gap:8px;
}
.mini h3{font-size:1.08rem;font-weight:700;}
.mini p{margin:0;color:var(--ink-2);font-size:.94rem;}
.links{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:16px;}
.links a{font-size:14px;font-weight:600;text-decoration:none;}
.links a:hover{text-decoration:underline;}

/* ---------- models ---------- */
.models{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.model{background:var(--surface);padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:12px 32px;align-items:start;}
.model h3{font-weight:700;font-size:1.08rem;margin-bottom:6px;}
.model p{margin:0;color:var(--ink-2);font-size:.95rem;max-width:66ch;}
.go-col{display:flex;flex-direction:column;gap:6px;}
.go{white-space:nowrap;font-weight:600;font-size:14px;text-decoration:none;}
.go:hover{text-decoration:underline;}
@media (max-width:600px){.model{grid-template-columns:1fr;}}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:start;}
@media (max-width:820px){.about{grid-template-columns:1fr;gap:32px;}}
.about p{color:var(--ink-2);max-width:62ch;}
.about p:first-child{margin-top:0;}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:24px;}
.person{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;}
.person strong{display:block;font-family:var(--font-head);}
.person span{color:var(--muted);font-size:.92rem;}
.principles{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.principles li{background:var(--surface);padding:15px 20px;font-size:.95rem;color:var(--ink-2);}
.principles li strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px;font-family:var(--font-head);}

/* ---------- contact ---------- */
.contact{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;}
.contact h2{font-size:1.5rem;font-weight:700;margin-bottom:4px;}
.contact p{margin:0;color:var(--muted);}

/* ---------- footer ---------- */
footer{padding:48px 0 calc(56px + env(safe-area-inset-bottom,0px));}
.foot{display:flex;flex-wrap:wrap;gap:32px 64px;}
.foot .col h4{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:500;}
.foot .col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px;}
.foot .col a{text-decoration:none;color:var(--ink-2);font-size:15px;}
.foot .col a:hover{color:var(--accent);}
.legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;}
.legal p{margin:0;}
