
:root{
  --ink:#0A1F3C; --ink-deep:#061428; --line:#1E3A63; --line-soft:#16304F;
  --chalk:#EFEDE6; --chalk-dim:#B9C2D0; --amber:#F5A623; --amber-deep:#8F5709;
  --paper-line:#D8D4C8; --maxw:1180px;
}
[data-theme="light"]{ --ink:#F5F3ED; --ink-deep:#FFFFFF; --line:#D8D4C8; --line-soft:#E5E2D8; --chalk:#0A1F3C; --chalk-dim:#5A6B85; }
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--chalk);font-family:'Inter',sans-serif;line-height:1.6}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:1.15;margin:0 0 16px}
.eyebrow{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.1em;font-size:12px;color:var(--amber);margin-bottom:12px}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--amber);color:var(--ink-deep);font-family:'Space Grotesk',sans-serif;font-weight:600;padding:14px 26px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;font-size:16px;transition:transform .15s ease}
.btn-primary:hover{transform:translateY(-1px)}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--chalk);border:1px solid var(--line);padding:13px 24px;border-radius:8px;text-decoration:none;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px}

/* Nav (baseline, unmodified) */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(6,20,40,0.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
[data-theme="light"] nav{background:rgba(245,243,237,0.92)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--chalk)}
.brand-mark svg{width:28px;height:28px}
.brand-word{font-family:'Space Grotesk',sans-serif;font-weight:700}
.brand-word .b2{color:var(--amber);margin-left:4px}
.theme-btn,.menu-btn{background:none;border:none;color:var(--chalk);cursor:pointer}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{color:var(--chalk);text-decoration:none;font-size:14px}
.nav-cta{background:var(--amber);color:var(--ink-deep)!important;padding:8px 16px;border-radius:6px;display:flex;align-items:center;gap:6px}
@media(max-width:860px){ .nav-links{display:none} }

section{padding:64px 0;border-top:1px solid var(--line-soft)}
.hero{padding-top:140px;text-align:center}
.hero h1{font-size:clamp(32px,5vw,54px)}
.hero p.lede{max-width:640px;margin:0 auto 28px;color:var(--chalk-dim);font-size:18px}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:24px}
.problem-item{background:var(--ink-deep);border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px;font-size:14px}

.cap-group{margin-bottom:28px}
.cap-group h3{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--amber-deep)}
.cap-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.cap-card{background:var(--ink-deep);border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px;font-size:14px}

.scenario-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:24px}
.scenario-item{display:flex;gap:10px;font-size:14px;background:var(--ink-deep);border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px}
.scenario-item::before{content:"→";color:var(--amber)}

.approach{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}
.approach div{background:var(--ink-deep);border:1px solid var(--line-soft);border-radius:10px;padding:18px}
@media(max-width:700px){ .approach{grid-template-columns:1fr} }

footer{border-top:1px solid var(--line-soft);padding:48px 0;font-size:14px;color:var(--chalk-dim)}
footer a{color:var(--chalk-dim)}
.foot-social-link svg{width:20px;height:20px}

/* ---- Client Brief form layout (extends client-brief.css primitives with
   this page-shell's own field-grouping classes — shared across all three
   landing pages via this one file, not duplicated per page) ---- */
.cb-label{display:block;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.04em;text-transform:uppercase;color:var(--chalk-dim);margin:18px 0 6px}
.cb-label input[type="text"],.cb-label input[type="email"],.cb-label input[type="tel"],.cb-label input[type="url"],.cb-label select,.cb-label textarea{
  display:block;width:100%;margin-top:6px;padding:12px 14px;border-radius:8px;border:1px solid var(--line-soft);
  background:var(--ink-deep);color:var(--chalk);font-family:'Inter',sans-serif;font-size:15px;min-height:44px;
}
.cb-label textarea{min-height:88px;resize:vertical}
.cb-radio-cards,.cb-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:8px}
.cb-radio-card,.cb-checkbox{
  display:flex;align-items:center;gap:8px;background:var(--ink-deep);border:1px solid var(--line-soft);
  border-radius:8px;padding:12px 14px;font-size:14px;cursor:pointer;min-height:44px;
}
.cb-radio-card:has(input:checked),.cb-checkbox:has(input:checked){border-color:var(--amber);background:rgba(245,166,35,0.08)}
.cb-radio-card input,.cb-checkbox input{accent-color:var(--amber);width:18px;height:18px}
.cb-step-title{font-family:'Space Grotesk',sans-serif;font-size:20px;margin-bottom:4px;color:var(--chalk)}
.cb-field-error{color:#ff8a8a;font-size:13px;margin-top:4px;min-height:0}
.cb-error{background:rgba(255,90,90,0.1);border:1px solid #ff8a8a;color:#ffb3b3;padding:12px 16px;border-radius:8px;margin-bottom:16px}
.cb-progress{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:20px}
.cb-nav{display:flex;gap:12px;margin-top:28px}
.cb-step[hidden]{display:none}
fieldset.cb-step{border:none;padding:0;margin:0}
@media(max-width:600px){
  .cb-radio-cards,.cb-checkbox-grid{grid-template-columns:1fr}
  .cb-nav{flex-direction:column-reverse}
  .cb-nav button{width:100%}
}
@media(prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important}
}
