@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/inter-latin-wght.v03c.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#0B0D10;--surface:#14181D;--surface2:#1B2027;--text:#E9ECEF;--muted:#A3ACB6;--border:#262D35;--accent:#3EE6C8;--accent2:#5B8CFF;--radius:14px;--head:"Iowan Old Style","Charter","Georgia",serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:hover{color:#fff}img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.15}h1{font-size:clamp(2.3rem,4vw + 1rem,4rem)}h2{font-size:clamp(1.6rem,2vw + 1rem,2.4rem);margin-bottom:1rem}h3{font-size:1.2rem;margin-bottom:.5rem}
.container{max-width:1200px;margin:0 auto;padding:0 24px}.prose{max-width:760px}.prose p,.prose ul{margin-bottom:1rem}.prose ul{padding-left:1.2rem}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:8px;z-index:9}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:5;background:rgba(11,13,16,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:600}
nav ul{display:flex;gap:18px;list-style:none;flex-wrap:wrap}nav a{color:var(--muted);text-decoration:none;font-size:.95rem}nav a:hover,nav a[aria-current]{color:var(--text)}nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}
section{padding:72px 0}section.alt{background:var(--surface)}
.hero{padding:120px 0 96px;background:radial-gradient(60% 80% at 80% 0%,rgba(62,230,200,.16),transparent 60%),radial-gradient(50% 60% at 0% 100%,rgba(91,140,255,.14),transparent 60%)}.hero.sm{padding:88px 0 40px}
.grad{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-weight:600;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}
.lede{font-size:1.2rem;color:var(--muted);max-width:720px;margin:1.25rem 0 2rem}
.btn{display:inline-block;padding:12px 22px;border-radius:999px;background:var(--accent);color:#04201B;font-weight:600;text-decoration:none}.btn:hover{background:#fff;color:#000}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:1.5rem 0 2rem}
.card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-3px);border-color:rgba(62,230,200,.45)}.card p{color:var(--muted)}
.card.featured{background:linear-gradient(160deg,rgba(62,230,200,.12),var(--surface2))}
.outcome{margin-top:1rem;color:var(--accent)!important;font-weight:600;font-size:.9rem}
.cta{text-align:center;border-top:1px solid var(--border)}.cta p{color:var(--muted);margin-bottom:1.5rem}
address{font-style:normal;margin-bottom:1.5rem}
.site-footer{border-top:1px solid var(--border);padding:40px 0;color:var(--muted);font-size:.92rem}.foot{display:grid;gap:16px}.small{font-size:.8rem}
/* v03: content is never hidden; cards only rise slightly as they enter (site.v03c.js adds .in) */
.reveal.in{animation:rise .6s ease-out both}@keyframes rise{from{transform:translateY(12px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}
@media (max-width:600px){.bar{padding-top:10px;padding-bottom:10px}nav ul{gap:6px 14px}nav a{font-size:.9rem;display:inline-block;padding:4px 0}.hero{padding:72px 0 56px}section{padding:56px 0}}
.muted{color:var(--muted)}
/* v03c: compact phone menu. Without JS the button stays hidden and the links stay visible. */
.menu-btn{display:none;align-items:center;gap:8px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:999px;padding:8px 14px;min-height:44px;font:inherit;font-size:.9rem;cursor:pointer}
.menu-btn:hover{border-color:var(--accent)}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s,opacity .2s}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}.menu-icon::before{top:-5px}.menu-icon::after{top:5px}
.menu-btn[aria-expanded="true"] .menu-icon{background:transparent}.menu-btn[aria-expanded="true"] .menu-icon::before{transform:translateY(5px) rotate(45deg)}.menu-btn[aria-expanded="true"] .menu-icon::after{transform:translateY(-5px) rotate(-45deg)}
@media (max-width:760px){
 .has-menu .menu-btn:not([hidden]){display:inline-flex;margin-left:auto;padding:8px 12px}
 .has-menu .bar{gap:10px}
 .brand{gap:8px;font-size:.95rem}
 .brand img{width:56px;height:auto}
 .has-menu #primary-nav{display:none;width:100%}
 .has-menu.menu-open #primary-nav{display:block}
 .has-menu #primary-nav ul{flex-direction:column;gap:0;padding:8px 0 4px}
 .has-menu #primary-nav a{display:block;padding:12px 4px;font-size:1rem;border-top:1px solid var(--border);min-height:44px}
}

/* v04: engagement steps (Capabilities) and the licensed-engineer note (AI Leadership) */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:1.5rem 0 0;counter-reset:none}
.steps .card{position:relative;padding-top:56px}
.step-n{position:absolute;top:22px;left:28px;width:26px;height:26px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);font:600 .85rem/24px var(--body);text-align:center}
.note-eng{max-width:760px;margin:0 0 1.5rem;padding:14px 18px;border-left:3px solid var(--accent2);background:var(--surface2);border-radius:0 var(--radius) var(--radius) 0;color:var(--muted);font-size:.95rem}
.note-eng strong{color:var(--text)}
