/* Shared stylesheet for case-study pages — matches index.html palette and type */
:root{
  --ink:#1b2033;--ink-2:#3d4257;--ink-3:#646a7c;
  --paper:#faf7f0;--paper-2:#f1ecdf;--rule:#cdc5b3;
  --green:#1f2a44;--green-2:#2b3a5e;--brass:#d9a441;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono','SF Mono',Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
::selection{background:var(--green);color:var(--paper)}
a{color:inherit}

nav{position:sticky;top:0;z-index:50;background:rgba(250,247,240,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav-in{max-width:1180px;margin:0 auto;padding:16px 40px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.mark{width:34px;height:34px;border-radius:7px;background:var(--green);color:var(--paper);font-family:var(--serif);font-weight:600;font-size:.95rem;display:grid;place-items:center}
.brand-name{font-family:var(--serif);font-size:1.12rem;font-weight:500}
.brand-name small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:400;margin-top:1px}
.back{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-decoration:none}
.back:hover{color:var(--green)}

.wrap{max-width:860px;margin:0 auto;padding:0 40px}
.case-head{padding:80px 0 48px;border-bottom:1px solid var(--rule)}
.kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:28px;height:1px;background:var(--brass)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;letter-spacing:-.015em;font-variation-settings:'opsz' 144;max-width:20ch}
.dek{margin-top:20px;font-size:1.12rem;color:var(--ink-2);max-width:60ch}
.facts{margin-top:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fact{border:1px solid var(--rule);background:#fffdf8;border-radius:5px;padding:14px 16px}
.fact small{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:4px}
.fact b{font-family:var(--serif);font-weight:500;font-size:1.05rem;display:block;line-height:1.3}
@media(max-width:760px){.facts{grid-template-columns:repeat(2,1fr)}}

article{padding:56px 0 80px}
article h2{font-family:var(--serif);font-weight:500;font-size:1.55rem;margin:44px 0 14px;font-variation-settings:'opsz' 144;color:var(--green);display:flex;align-items:baseline;gap:14px}
article h2 span{font-family:var(--mono);font-size:.7rem;color:var(--brass);font-weight:400;letter-spacing:.1em}
article p{color:var(--ink-2);font-size:1.02rem;margin-bottom:1.05em;max-width:66ch}
article p strong{color:var(--ink);font-weight:600}
article ul{list-style:none;margin:0 0 1.2em;max-width:66ch}
article li{position:relative;padding:5px 0 5px 20px;color:var(--ink-2)}
article li::before{content:"";position:absolute;left:0;top:15px;width:9px;height:1px;background:var(--brass)}
article li b{color:var(--ink);font-weight:600}
.pull{border-left:2px solid var(--brass);padding:6px 0 6px 20px;margin:28px 0;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink);max-width:54ch}

/* simple flow diagram */
.diagram{margin:26px 0 34px;border:1px solid var(--rule);background:#fffdf8;border-radius:6px;padding:22px}
.diagram .cap{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.flow{display:flex;align-items:stretch;gap:0;flex-wrap:wrap}
.node{flex:1 1 140px;border:1px solid var(--rule);background:var(--paper);border-radius:4px;padding:12px 14px;min-width:140px}
.node b{display:block;font-family:var(--serif);font-weight:500;font-size:.98rem;margin-bottom:3px}
.node small{font-family:var(--mono);font-size:.64rem;color:var(--ink-3);letter-spacing:.04em;line-height:1.4;display:block}
.node.hi{border-color:var(--green);background:#f3efe4}
.arrow{display:flex;align-items:center;justify-content:center;width:34px;color:var(--brass);font-size:1.1rem;flex:0 0 34px}
@media(max-width:760px){.flow{flex-direction:column}.arrow{width:auto;height:26px;transform:rotate(90deg)}}

.results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 8px}
.res{border-top:2px solid var(--green);padding-top:12px}
.res b{font-family:var(--serif);font-weight:500;font-size:2rem;line-height:1;display:block;font-variation-settings:'opsz' 144}
.res b i{font-style:normal;color:var(--brass);font-size:1.1rem}
.res span{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block;margin-top:8px}
@media(max-width:760px){.results{grid-template-columns:1fr}}

.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tags span{font-family:var(--mono);font-size:.7rem;padding:4px 9px;background:var(--paper-2);border-radius:3px;color:var(--ink-2)}

.next{border-top:1px solid var(--rule);padding:34px 0 64px}
.next .cap{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.next a{display:block;text-decoration:none;font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--rule)}
.next a:hover{color:var(--green)}
.next a small{display:block;font-family:var(--sans);font-size:.85rem;color:var(--ink-3);font-weight:400;margin-top:2px}

footer{padding:30px 0 44px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.7rem;color:var(--ink-3)}
footer a{color:var(--ink-2);text-decoration:none}
