/* Socrates Crayon · Outcomes page shared styles */
:root{
  --navy:#0B1F3A; --navy-85:#1E3151;
  --bone:#F5F1EA; --bone-deep:#EDE7DC; --bone-pale:#FAF7F1;
  --gold:#B8904A; --gold-tint:rgba(184,144,74,.10); --gold-tint-2:rgba(184,144,74,.22);
  --slate:#4A5763; --slate-60:#808993;
  --ink:#1A1D24;
  --green:#2F7A4A; --amber:#C08417; --red:#A0342B;
  --hair:rgba(26,29,36,.14); --hair-soft:rgba(26,29,36,.08);
  --serif:"Source Serif 4", Georgia, serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --wrap:1280px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bone);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body{font-size:15px;line-height:1.55}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold-tint-2)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 48px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.eyebrow.slate{color:var(--slate)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--navy);letter-spacing:-.008em;margin:0}
h1{font-size:88px;line-height:.98;letter-spacing:-.02em}
h2{font-size:38px;line-height:1.1}
h3{font-size:22px;line-height:1.22}
p{margin:0;max-width:62ch}
.arr{width:14px;height:8px;position:relative;display:inline-block}
.arr::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor}
.arr::before{content:"";position:absolute;right:0;top:50%;width:5px;height:5px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;font-size:14px;font-weight:500;border:1px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer}
.btn:hover{background:var(--navy);color:var(--bone)}
.btn.primary{background:var(--navy);color:var(--bone)}
.btn.primary:hover{background:var(--ink)}

/* NAV */
nav.top{position:sticky;top:0;z-index:20;background:var(--bone);border-bottom:1px solid var(--hair)}
nav.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--navy);font-family:var(--serif);font-weight:600;font-size:19px}
.wordmark svg{width:22px;height:22px}
nav.top ul{list-style:none;display:flex;gap:28px;padding:0;margin:0}
nav.top ul a{font-size:13.5px;color:var(--ink);padding:6px 0;position:relative}
nav.top ul a.active{color:var(--navy);font-weight:500}
nav.top ul a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold)}
nav.top ul a:hover{color:var(--navy)}
nav.top .cta{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;background:var(--navy);color:var(--bone);font-size:13.5px;font-weight:500;border:1px solid var(--navy)}
nav.top .cta:hover{background:var(--ink)}

/* HEADER */
.out-hdr{padding:96px 0 88px;border-bottom:1px solid var(--hair);position:relative}
.out-hdr .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end}
.out-hdr .eyebrow{display:block;margin-bottom:28px}
.out-hdr h1 em{font-style:italic;color:var(--gold);font-weight:500}
.out-hdr .sub{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.4;color:var(--slate);margin-top:28px;max-width:32ch}
.out-hdr .stepper{border-left:1px solid var(--navy);padding:10px 0 10px 28px;display:flex;flex-direction:column;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--slate);text-transform:uppercase}
.out-hdr .stepper a{display:grid;grid-template-columns:26px 1fr auto;gap:14px;align-items:center;padding:6px 0;border-bottom:1px dotted var(--hair-soft)}
.out-hdr .stepper a:last-child{border-bottom:0}
.out-hdr .stepper a .n{color:var(--slate-60)}
.out-hdr .stepper a.on{color:var(--navy)}
.out-hdr .stepper a.on .n{color:var(--gold);font-weight:500}
.out-hdr .stepper a.on::after{content:"●";color:var(--gold);font-size:8px}
.out-hdr .stepper a:not(.on)::after{content:"";width:8px;height:8px;border:1px solid var(--hair);border-radius:50%}

/* PROBLEM */
.problem{padding:120px 0;background:var(--bone)}
.problem .wrap{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.problem .eyebrow{display:block;margin-bottom:24px}
.problem h2{max-width:14ch;margin-bottom:40px;font-size:34px;line-height:1.15}
.problem .examples{font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--ink)}
.problem .examples b{color:var(--navy);font-weight:500}
.problem .examples span{display:block;padding:14px 0;border-top:1px solid var(--hair)}
.problem .examples span:first-child{border-top:0;padding-top:0}
.problem .stake{padding-top:64px}
.problem .stake p{color:var(--slate);font-size:17px;line-height:1.6;max-width:42ch}
.problem .stake p + p{margin-top:18px}
.problem .stake .punch{font-family:var(--serif);font-style:italic;color:var(--navy);font-size:22px;line-height:1.4;margin-top:28px;padding-top:24px;border-top:1px solid var(--navy);max-width:34ch}

/* HOW */
.how{padding:120px 0;background:var(--bone-deep);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.how .sec-head{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:end;margin-bottom:56px}
.how .sec-head .eyebrow{display:block;margin-bottom:18px}
.how .sec-head h2{max-width:18ch}
.how .sec-head .sub{color:var(--slate);font-size:17px;line-height:1.55;max-width:50ch}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#fff;border:1px solid var(--hair)}
.how-card{padding:40px 36px 36px;border-right:1px solid var(--hair);position:relative;display:flex;flex-direction:column;gap:14px}
.how-card:last-child{border-right:0}
.how-card::before{content:"";position:absolute;top:0;left:0;width:48px;height:2px;background:var(--gold)}
.how-card .nn{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--slate);text-transform:uppercase}
.how-card h3{font-size:22px;max-width:14ch}
.how-card p{color:var(--slate);font-size:14.5px;line-height:1.6}
.how-card .ex{margin-top:6px;padding-top:14px;border-top:1px dotted var(--hair);font-family:var(--mono);font-size:11px;color:var(--slate);letter-spacing:.02em;line-height:1.6}
.how-card .ex b{color:var(--ink);font-weight:500}

/* SAMPLE FINDING SECTION */
.sample{padding:120px 0;background:var(--bone)}
.sample .sec-head{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:end;margin-bottom:48px}
.sample .sec-head .eyebrow{display:block;margin-bottom:18px}
.sample .sec-head h2{max-width:20ch}
.sample .sec-head .sub{color:var(--slate);font-size:17px;line-height:1.55;max-width:48ch}
.sample .note{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--slate);margin-top:20px;line-height:1.6}
.sample .note b{color:var(--ink);font-weight:500}

/* ===== canonical finding card ===== */
.finding-card{background:#fff;border:1px solid var(--hair);padding:0;display:grid;grid-template-columns:1.35fr .9fr;gap:0}
.fc-main{padding:32px 36px 28px;border-right:1px solid var(--hair);display:flex;flex-direction:column;gap:18px}
.fc-side{padding:32px 32px 28px;background:var(--bone-pale);display:flex;flex-direction:column;gap:20px}
.fc-top{display:flex;align-items:flex-start;gap:16px}
.fc-sev{width:14px;height:14px;border-radius:50%;flex:0 0 auto;margin-top:6px;position:relative}
.fc-sev.amber{background:var(--amber);box-shadow:0 0 0 4px rgba(192,132,23,.15)}
.fc-sev.red{background:var(--red);box-shadow:0 0 0 4px rgba(160,52,43,.15)}
.fc-sev.gold{background:var(--gold);box-shadow:0 0 0 4px var(--gold-tint-2)}
.fc-sev.green{background:var(--green);box-shadow:0 0 0 4px rgba(47,122,74,.15)}
.fc-meta{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);flex-wrap:wrap}
.fc-sev-label{color:var(--amber);font-weight:500}
.fc-sev.red ~ .fc-body .fc-meta .fc-sev-label{color:var(--red)}
.fc-meta .dom-tag{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--hair);color:var(--ink);background:#fff;white-space:nowrap}
.fc-meta .sep{color:var(--slate-60)}
.fc-title{font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--navy);font-weight:500;margin:8px 0 4px;max-width:34ch}
.fc-sum{font-size:14.5px;line-height:1.6;color:var(--slate);max-width:52ch}
.fc-split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hair);margin-top:6px}
.fc-split > div{padding:14px 16px 14px;border-right:1px solid var(--hair)}
.fc-split > div:last-child{border-right:0;background:rgba(26,29,36,.02)}
.fc-split .lb{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.fc-split p{font-size:13.5px;line-height:1.55;color:var(--ink);max-width:none}
.fc-split .dn .lb{color:var(--slate-60)}
.fc-split .dn p{color:var(--slate)}
.fc-next{border:1.5px solid var(--gold);padding:16px 18px 14px;background:var(--gold-tint);display:flex;flex-direction:column;gap:6px;margin-top:4px}
.fc-next .lb{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.fc-next p{font-family:var(--serif);font-size:15.5px;line-height:1.5;color:var(--navy);font-weight:500;max-width:none}
.fc-next .detail{font-family:var(--sans);font-weight:400;font-size:13.5px;color:var(--slate);line-height:1.5;margin-top:2px}

/* side */
.fc-side .lb{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.fc-conf{display:flex;flex-direction:column;gap:8px}
.fc-conf .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--slate);white-space:nowrap}
.fc-conf .row b{color:var(--navy);font-weight:500}
.fc-conf .bar{position:relative;height:6px;background:var(--bone-deep);border:1px solid var(--hair)}
.fc-conf .fill{position:absolute;inset:0 auto 0 0;background:var(--navy)}
.fc-conf .cursor{position:absolute;top:-3px;width:2px;height:12px;background:var(--gold);pointer-events:none}
.fc-conf .scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--slate-60);text-transform:uppercase}
.fc-cites{display:flex;flex-direction:column;gap:8px}
.fc-cite{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--hair);background:#fff;font-family:var(--mono);font-size:11.5px;color:var(--ink);letter-spacing:.02em;cursor:pointer;white-space:nowrap;text-align:left}
.fc-cite > span{white-space:nowrap}
.fc-cite:hover{border-color:var(--navy)}
.fc-cite .doc-ico{width:12px;height:15px;border:1px solid currentColor;position:relative;flex:0 0 auto}
.fc-cite .doc-ico::before{content:"";position:absolute;top:-1px;right:-1px;width:5px;height:5px;background:#fff;border-left:1px solid currentColor;border-bottom:1px solid currentColor}
.fc-cite .sec{color:var(--slate)}
.fc-actions{display:flex;gap:8px;margin-top:4px;border-top:1px solid var(--hair);padding-top:18px}
.fc-actions button{flex:1;height:34px;border:1px solid var(--hair);background:#fff;font-size:11.5px;font-family:var(--sans);color:var(--ink);cursor:pointer;letter-spacing:.02em}
.fc-actions button.primary{background:var(--navy);border-color:var(--navy);color:var(--bone)}
.fc-actions button:hover{border-color:var(--navy)}
.fc-actions button.primary:hover{background:var(--ink)}

/* CLOSING */
.closing{padding:130px 0 140px;background:var(--bone-deep);text-align:center;border-top:1px solid var(--hair)}
.closing .eyebrow{display:block;margin-bottom:20px}
.closing h2{font-size:54px;line-height:1.05;margin-bottom:8px;letter-spacing:-.01em}
.closing h2 em{font-style:italic;color:var(--gold);font-weight:500}
.closing .sub{font-family:var(--serif);font-style:italic;color:var(--slate);font-size:18px;margin:18px auto 38px;max-width:50ch}
.closing .ctas{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* FOOTER */
footer{background:var(--navy);color:var(--bone);padding:72px 0 32px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px}
footer .fbrand .wordmark{color:var(--bone)}
footer .fbrand p{font-family:var(--serif);font-style:italic;color:rgba(245,241,234,.72);font-size:14.5px;line-height:1.55;margin-top:18px;max-width:36ch}
footer h5{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
footer ul a{color:rgba(245,241,234,.82);font-size:14px}
footer ul a:hover{color:var(--bone);border-bottom:1px solid var(--gold)}
footer .legal{grid-column:1/-1;margin-top:56px;padding-top:24px;border-top:1px solid rgba(245,241,234,.18);display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:rgba(245,241,234,.6);flex-wrap:wrap;gap:16px}
footer .legal .disclaim{max-width:48ch;font-family:var(--sans);font-size:12px;color:rgba(245,241,234,.52);line-height:1.5;font-style:italic}

@media (max-width:960px){
  .wrap{padding:0 24px}
  nav.top ul{display:none}
  h1{font-size:52px}
  h2{font-size:28px}
  .out-hdr{padding:56px 0}
  .out-hdr .wrap{grid-template-columns:1fr;gap:40px}
  .problem,.how,.sample,.closing{padding:72px 0}
  .problem .wrap{grid-template-columns:1fr;gap:40px}
  .problem .stake{padding-top:0}
  .how .sec-head,.sample .sec-head{grid-template-columns:1fr;gap:16px;margin-bottom:32px}
  .how-grid{grid-template-columns:1fr}
  .how-card{border-right:0;border-bottom:1px solid var(--hair)}
  .how-card:last-child{border-bottom:0}
  .finding-card{grid-template-columns:1fr}
  .fc-main{border-right:0;border-bottom:1px solid var(--hair)}
  .closing h2{font-size:34px}
  footer .wrap{grid-template-columns:1fr 1fr}
  footer .fbrand{grid-column:1/-1}
}
