:root{
  --ink:#0f1418;
  --ink-soft:#363b40;
  --muted:#6c7178;
  --line:#dde0e3;
  --line-soft:#ecedef;
  --bg:#fafaf8;
  --paper:#ffffff;
  --tint:#f1f2ee;
  --accent:#3a2f6e;
  --accent-soft:#e4e1ee;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Georgia,"Iowan Old Style","Times New Roman",ui-serif,serif;
  color:var(--ink);
  background:var(--bg);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.sans, .util, .util *, .kicker, .num, .meta-k, .meta-v,
.cat-table, .sig-table, .cta, .acq-card, .acq-list, .foot, .foot-sale, .fine,
.card-tag, .card h4, .reason h3, .level h4, .lvl-tag, .use{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

.container{max-width:1140px;margin:0 auto;padding:0 28px}

/* Utility bar */
.util{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}
.util-inner{max-width:1140px;margin:0 auto;padding:12px 28px;display:flex;align-items:center;gap:24px;font-size:14px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;letter-spacing:.2px}
.brand i{font-style:italic;font-weight:400;font-family:Georgia,serif;color:var(--accent)}
.brand:hover{text-decoration:none}
.mark{width:12px;height:12px;background:var(--accent);display:inline-block;position:relative;transform:rotate(45deg)}
.mark::after{content:"";position:absolute;inset:3px;background:var(--paper)}
.util-nav{display:flex;gap:20px;margin-left:8px;flex:1}
.util-nav a{color:var(--ink-soft)}
.util-nav a.current{color:var(--ink);font-weight:600}
.util-sale{color:var(--muted);font-size:12.5px;white-space:nowrap;letter-spacing:.02em}
.util-sale:hover{color:var(--accent);text-decoration:none}

/* Hero */
.hero{padding:80px 0 56px;border-bottom:1px solid var(--line)}
.hero-short{padding:60px 0 40px}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:20px;display:inline-flex;align-items:center;gap:10px}
.kicker.dark{color:var(--accent)}
.kdot{width:8px;height:8px;background:var(--accent);display:inline-block;transform:rotate(45deg)}
.hero h1{
  font-size:64px;line-height:1.02;letter-spacing:-.02em;margin:0 0 18px;font-weight:400;
}
.hero h1 em{font-style:italic;font-weight:400;color:var(--accent)}
.hero-short h1{font-size:46px;line-height:1.06}
.lede{font-size:21px;line-height:1.45;color:var(--ink-soft);max-width:780px;margin:0 0 14px;font-style:italic}
.note{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:13px;color:var(--muted);margin:0 0 28px;letter-spacing:.02em;
}

/* Meta row */
.meta-row{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);margin-top:36px;padding-top:20px}
.meta-item{flex:1;min-width:170px;display:flex;flex-direction:column;gap:4px;padding-right:18px}
.meta-k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.meta-v{font-size:14px;color:var(--ink)}

/* Sections */
.section{padding:72px 0;border-bottom:1px solid var(--line)}
.section-tint{background:var(--tint)}

/* Two-column research layout */
.two-col{display:grid;grid-template-columns:200px 1fr;gap:48px;align-items:start}
.col-side{position:sticky;top:80px}
.col-side .num{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:12px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin-bottom:6px;
}
.col-side h2{font-size:22px;margin:0;font-weight:400;letter-spacing:-.005em;color:var(--ink)}
.col-side h2 em{font-style:italic;color:var(--accent)}
.col-body{font-size:17px;line-height:1.7;color:var(--ink-soft);max-width:720px}
.col-body p{margin:0 0 16px}
.col-body .lead-p{font-size:20px;line-height:1.55;color:var(--ink);margin-bottom:18px}
.prose-small{font-size:14px;color:var(--muted);margin-top:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-style:normal}

/* Reasons */
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px}
.reason h3{
  margin:0 0 6px;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--ink);
}
.reason p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-soft)}

/* Card grid */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{
  border:1px solid var(--line);background:var(--paper);padding:18px 18px 18px 52px;position:relative;
}
.card-tag{
  position:absolute;left:18px;top:18px;
  width:24px;height:24px;background:var(--accent-soft);color:var(--accent);
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;letter-spacing:.04em;
}
.card h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ink)}
.card p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-soft)}

/* Tables */
.cat-table, .sig-table{
  width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);
  font-size:14px;
}
.cat-table th, .sig-table th{
  text-align:left;padding:12px 16px;background:var(--tint);border-bottom:1px solid var(--line);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;
}
.cat-table td, .sig-table td{
  padding:14px 16px;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:top;
}
.cat-table tr:last-child td, .sig-table tr:last-child td{border-bottom:none}
.cat-table td b, .sig-table td b{color:var(--ink)}

/* Questions */
.questions{padding-left:0;list-style:none;margin:0;counter-reset:q}
.questions li{
  padding:14px 0 14px 48px;border-bottom:1px solid var(--line-soft);
  color:var(--ink);font-size:17px;line-height:1.5;position:relative;counter-increment:q;
  font-family:Georgia,serif;
}
.questions li:last-child{border-bottom:none}
.questions li::before{
  content:counter(q,decimal-leading-zero);
  position:absolute;left:0;top:14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:12px;letter-spacing:.12em;color:var(--accent);font-weight:600;
}

/* Pillars (numbered list, framework page) */
.method{padding-left:0;list-style:none;margin:0;counter-reset:m}
.method li{
  padding:14px 0 14px 56px;border-bottom:1px solid var(--line-soft);
  color:var(--ink-soft);font-size:16px;line-height:1.55;position:relative;counter-increment:m;
}
.method li:last-child{border-bottom:none}
.method li::before{
  content:counter(m,decimal-leading-zero);
  position:absolute;left:0;top:14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:12px;letter-spacing:.12em;color:var(--accent);font-weight:600;width:40px;
}
.method li b{color:var(--ink);font-weight:600;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px}

/* Maturity levels */
.levels{display:grid;gap:10px}
.level{
  display:flex;gap:18px;padding:16px 18px;background:var(--paper);border:1px solid var(--line);align-items:flex-start;
}
.lvl-tag{
  flex:0 0 auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
  background:var(--accent-soft);padding:5px 10px;font-weight:600;min-width:64px;text-align:center;
}
.level h4{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--ink)}
.level p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-soft)}

/* Use cases */
.uses{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.use{
  padding:14px 16px;background:var(--paper);border:1px solid var(--line);font-size:14px;color:var(--ink-soft);
}
.use b{color:var(--accent);font-weight:600;margin-right:2px}

/* Disclaimer */
.disclaimer{
  border-left:3px solid var(--accent);padding:14px 22px;background:var(--paper);
  color:var(--ink-soft);font-size:14px;line-height:1.65;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.disclaimer strong{color:var(--ink)}

/* Acquisition */
.acq{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.acq-left h2{
  font-size:34px;margin:0 0 16px;font-weight:400;letter-spacing:-.01em;
}
.acq-left h2 em{font-style:italic;color:var(--accent)}
.acq-left p{color:var(--ink-soft);font-size:17px;line-height:1.65;margin:0 0 18px;max-width:560px}
.acq-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.acq-list li{font-size:14px;color:var(--ink-soft);padding-left:22px;position:relative}
.acq-list li::before{
  content:"";position:absolute;left:0;top:8px;width:8px;height:8px;
  background:var(--paper);border:2px solid var(--accent);transform:rotate(45deg);
}
.acq-card{
  border:1px solid var(--line);background:var(--paper);padding:24px;
  box-shadow:0 1px 0 rgba(15,20,24,.02), 0 8px 24px rgba(15,20,24,.04);
}
.acq-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px;color:var(--ink-soft)}
.acq-row:last-of-type{border-bottom:none;margin-bottom:10px}
.acq-row b{color:var(--ink);font-weight:600}
.cta{
  display:flex;justify-content:space-between;align-items:center;
  background:var(--accent);color:#fff;padding:14px 18px;
  font-weight:500;margin-top:8px;letter-spacing:.02em;font-size:14px;
}
.cta:hover{text-decoration:none;background:#2c2453}
.fine{font-size:12px;color:var(--muted);text-align:center;margin-top:12px}

/* Footer */
footer{border-top:1px solid var(--line);padding:32px 0;background:var(--paper)}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.foot > div{max-width:720px;line-height:1.5}
.foot-sale{color:var(--ink-soft);white-space:nowrap}
.foot-sale:hover{color:var(--accent);text-decoration:none}

/* Responsive */
@media (max-width:880px){
  .hero h1{font-size:48px}
  .hero-short h1{font-size:36px}
  .lede{font-size:19px}
  .two-col{grid-template-columns:1fr;gap:20px}
  .col-side{position:static}
  .col-side h2{font-size:18px}
  .reasons, .grid, .uses{grid-template-columns:1fr}
  .acq{grid-template-columns:1fr;gap:24px}
  .util-nav{gap:14px;font-size:13px}
  .util-sale{display:none}
  .util-inner{gap:14px}
  .meta-row{gap:14px 0}
  .meta-item{flex:0 0 50%;min-width:0}
  .foot{flex-direction:column;gap:10px}
}
@media (max-width:540px){
  .hero{padding:52px 0 40px}
  .hero h1{font-size:38px}
  .section{padding:48px 0}
  .cat-table, .sig-table{font-size:13px}
  .cat-table th, .sig-table th{padding:10px 12px}
  .cat-table td, .sig-table td{padding:12px}
  .level{flex-direction:column;gap:8px}
}
