/* Page 3 — Kodari case study. Relies on v2-foundation.css. */
.kodari-case-v2{background:#0b0d0f}
.kodari-case-v2 section[id]{scroll-margin-top:82px}
.kodari-case-v2 .nav-links a[aria-current="page"]{color:var(--v2-text)}

.case-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:clamp(30px,4vw,50px);color:var(--v2-muted);font-size:.76rem;font-weight:700}
.case-breadcrumb a{display:inline-flex;min-height:32px;align-items:center;border-bottom:1px solid transparent}

.kodari-hero{padding:clamp(38px,5.5vw,72px) 0 clamp(58px,7vw,92px);border-bottom:1px solid var(--v2-line);background:#0a0c0e}
.kodari-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:clamp(48px,8vw,110px);align-items:center}
.kodari-hero-copy h1{max-width:13ch;margin:16px 0 20px;font-size:clamp(2.65rem,4.2vw,3.45rem);line-height:.99;letter-spacing:-.047em}
.kodari-hero-copy .v2-lead{max-width:58ch}
.kodari-hero-copy .v2-actions{margin-top:26px}
.kodari-identity{padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--v2-line-strong);border-bottom:1px solid var(--v2-line);background:#0d1013}
.kodari-identity>img{width:min(78%,480px);height:auto;margin:0 auto clamp(28px,4vw,42px)}
.kodari-identity dl{margin:0;padding:0 clamp(20px,4vw,42px)}
.kodari-identity dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:10px 0;border-top:1px solid var(--v2-line)}
.kodari-identity dt{color:var(--v2-text-soft);font-size:.72rem;font-weight:750}
.kodari-identity dd{margin:0;color:var(--v2-muted);font-size:.76rem;line-height:1.5}

.case-intro{padding:clamp(62px,7vw,94px) 0;background:#0d1013;border-bottom:1px solid var(--v2-line)}
.case-intro-grid{display:grid;grid-template-columns:minmax(150px,.25fr) minmax(0,1fr);gap:clamp(34px,6.5vw,88px)}
.case-intro h2{max-width:21ch;font-size:clamp(2.1rem,3.3vw,3.1rem);line-height:1.03}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,48px);margin-top:28px;border-top:1px solid var(--v2-line);padding-top:22px}
.intro-columns p{max-width:49ch;color:var(--v2-muted);line-height:1.72}

.case-section-head{display:grid;grid-template-columns:minmax(150px,.25fr) minmax(0,1fr);gap:clamp(34px,6.5vw,88px);align-items:start;margin-bottom:clamp(38px,5vw,62px)}
.case-section-head>div{max-width:800px}
.case-section-head h2{max-width:19ch;font-size:clamp(2.08rem,3.15vw,3.05rem);line-height:1.03}
.case-section-head p{max-width:61ch;margin-top:13px;color:var(--v2-muted);line-height:1.68}

.workflow-section{background:#0b0d0f}
.kodari-flow{list-style:none;margin:0;padding:0;border-top:1px solid var(--v2-line-strong)}
.kodari-flow li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;padding:18px 0;border-bottom:1px solid var(--v2-line)}
.kodari-flow li>span{color:var(--v2-muted);font-size:.72rem;font-weight:760;padding-top:3px}
.kodari-flow strong{display:block;font-size:1rem}
.kodari-flow p{max-width:70ch;margin-top:4px;color:var(--v2-muted);font-size:.81rem;line-height:1.55}
.code-evidence{margin-top:clamp(38px,5vw,58px);border:1px solid var(--v2-line);background:#090b0d;overflow:hidden}
.code-heading{display:flex;justify-content:space-between;gap:20px;padding:12px 16px;border-bottom:1px solid var(--v2-line);color:var(--v2-muted);font-size:.7rem;font-weight:720}
.code-heading span:first-child{color:var(--v2-text-soft)}
.code-grid{display:grid;grid-template-columns:1fr 1fr}
.code-panel+.code-panel{border-left:1px solid var(--v2-line)}
.code-file{padding:10px 16px;border-bottom:1px solid var(--v2-line);color:var(--v2-text-soft);font-size:.72rem;font-weight:740}
.code-panel pre{margin:0;padding:20px;overflow:auto;color:#d8ded9;font:500 .78rem/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;tab-size:2}
.code-panel code{font:inherit}

.compatibility-section{background:#0e1114}
.compatibility-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(48px,8vw,104px);align-items:start}
.compatibility-copy h2{max-width:18ch;margin:14px 0 17px;font-size:clamp(2.1rem,3.15vw,3rem);line-height:1.03}
.compatibility-copy p{max-width:50ch;color:var(--v2-muted);line-height:1.7}
.compatibility-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--v2-line-strong)}
.compatibility-list span{min-height:49px;display:flex;align-items:center;padding:9px 14px 9px 0;border-bottom:1px solid var(--v2-line);color:var(--v2-text-soft);font-size:.79rem;font-weight:680}
.compatibility-list span:nth-child(even){padding-left:18px;border-left:1px solid var(--v2-line)}

.engineering-section{background:#0a0c0e}
.engineering-ledger{border-top:1px solid var(--v2-line-strong)}
.engineering-ledger article{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(210px,.44fr);gap:clamp(24px,4.2vw,56px);align-items:start;padding:28px 0;border-bottom:1px solid var(--v2-line)}
.ledger-index{color:var(--v2-muted);font-size:.72rem;font-weight:760;padding-top:5px}
.engineering-ledger h3{max-width:24ch;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.12;letter-spacing:-.025em}
.engineering-ledger article>div:nth-child(2) p{max-width:63ch;margin-top:9px;color:var(--v2-muted);font-size:.87rem;line-height:1.65}
.ledger-proof{display:flex;flex-direction:column;gap:5px;border-left:1px solid var(--v2-line);padding-left:20px;color:var(--v2-muted);font-size:.72rem}
.ledger-proof strong{margin-bottom:3px;color:var(--v2-text-soft);font-size:.74rem}

.reliability-section{background:#101419}
.reliability-grid{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:clamp(48px,8vw,104px);align-items:start}
.reliability-copy h2{max-width:17ch;margin:14px 0 16px;font-size:clamp(2.05rem,3vw,2.9rem);line-height:1.04}
.reliability-copy p{max-width:47ch;color:var(--v2-muted);line-height:1.68}
.reliability-flow{list-style:none;margin:0;padding:0;border-top:1px solid var(--v2-line-strong)}
.reliability-flow li{display:grid;grid-template-columns:125px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--v2-line)}
.reliability-flow strong{font-size:.83rem}
.reliability-flow span{color:var(--v2-muted);font-size:.79rem;line-height:1.5}

.evidence-section{background:#0b0d0f}
.evidence-ledger{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--v2-line-strong);border-bottom:1px solid var(--v2-line-strong)}
.evidence-ledger>div{min-height:170px;padding:24px 28px 22px 0}
.evidence-ledger>div+div{padding-left:28px;border-left:1px solid var(--v2-line)}
.evidence-ledger strong{display:block;font-size:clamp(1.75rem,2.5vw,2.35rem);letter-spacing:-.04em}
.evidence-ledger span{display:block;max-width:28ch;margin-top:10px;color:var(--v2-muted);font-size:.78rem;line-height:1.55}
.evidence-details{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,66px);margin-top:32px}
.evidence-details h3{font-size:1rem;letter-spacing:-.015em}
.evidence-details p{max-width:58ch;margin-top:8px;color:var(--v2-muted);font-size:.82rem;line-height:1.62}

.direction-section{background:#0e1114}
.direction-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(48px,8vw,104px);align-items:start}
.direction-grid h2{max-width:16ch;margin-top:14px;font-size:clamp(2.05rem,3vw,2.9rem);line-height:1.04}
.direction-list{border-top:1px solid var(--v2-line-strong)}
.direction-list>div{display:grid;grid-template-columns:82px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--v2-line)}
.direction-list strong{color:var(--v2-text-soft);font-size:.8rem}
.direction-list span{color:var(--v2-muted);font-size:.81rem;line-height:1.55}

.kodari-next{padding:clamp(64px,7vw,94px) 0;background:#0a0c0e;border-top:1px solid var(--v2-line)}
.kodari-next-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.95fr);gap:clamp(42px,7vw,92px);align-items:end}
.kodari-next h2{max-width:16ch;margin-top:14px;font-size:clamp(2.05rem,3vw,2.9rem);line-height:1.04}
.kodari-next p{max-width:55ch;color:var(--v2-muted);line-height:1.65}
.kodari-next .v2-actions{margin-top:22px}

@media(hover:hover){
  .case-breadcrumb a:hover{color:var(--v2-accent);border-color:var(--v2-accent)}
}

@media(max-width:1000px){
  .kodari-hero-grid{grid-template-columns:1fr 1fr;gap:50px}
  .engineering-ledger article{grid-template-columns:48px minmax(0,1fr) 190px;gap:26px}
}

@media(max-width:900px){
  .kodari-hero-grid,.case-intro-grid,.case-section-head,.compatibility-grid,.reliability-grid,.direction-grid,.kodari-next-grid{grid-template-columns:1fr}
  .kodari-hero-copy{max-width:760px}
  .kodari-hero-copy h1{max-width:15ch;font-size:clamp(2.4rem,6.3vw,3.05rem)}
  .kodari-identity{max-width:760px}
  .case-intro-grid,.case-section-head{gap:12px}
  .intro-columns{max-width:780px}
  .compatibility-copy,.reliability-copy{max-width:720px}
  .compatibility-list{max-width:760px}
  .engineering-ledger article{grid-template-columns:48px minmax(0,1fr);gap:22px}
  .ledger-proof{grid-column:2;border-left:0;border-top:1px solid var(--v2-line);padding:13px 0 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 18px}
  .ledger-proof strong{width:100%}
  .evidence-ledger{grid-template-columns:1fr}
  .evidence-ledger>div{min-height:0;padding:20px 0}
  .evidence-ledger>div+div{padding-left:0;border-left:0;border-top:1px solid var(--v2-line)}
  .evidence-ledger span{max-width:60ch}
}

@media(max-width:680px){
  .kodari-case-v2 section[id]{scroll-margin-top:72px}
  .kodari-hero{padding:30px 0 52px}
  .case-breadcrumb{margin-bottom:28px}
  .kodari-hero-copy h1{font-size:clamp(2.08rem,8.7vw,2.5rem);line-height:1.02}
  .kodari-identity{padding-block:30px}
  .kodari-identity>img{width:min(84%,430px);margin-bottom:28px}
  .kodari-identity dl>div{grid-template-columns:88px 1fr;gap:13px}
  .intro-columns{grid-template-columns:1fr;gap:14px}
  .case-section-head h2,.compatibility-copy h2,.reliability-copy h2,.direction-grid h2,.kodari-next h2{font-size:clamp(1.85rem,7.8vw,2.35rem)}
  .kodari-flow li{grid-template-columns:42px 1fr;gap:14px;padding:16px 0}
  .code-heading{display:block}
  .code-heading span{display:block}
  .code-heading span+span{margin-top:3px}
  .code-grid{grid-template-columns:1fr}
  .code-panel+.code-panel{border-left:0;border-top:1px solid var(--v2-line)}
  .code-panel pre{font-size:.72rem;padding:17px 15px}
  .compatibility-list{grid-template-columns:1fr}
  .compatibility-list span:nth-child(even){padding-left:0;border-left:0}
  .engineering-ledger article{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:23px 0}
  .ledger-proof{gap:5px 14px}
  .reliability-flow li{grid-template-columns:100px 1fr;gap:12px}
  .evidence-details{grid-template-columns:1fr;gap:24px}
  .direction-list>div{grid-template-columns:62px 1fr;gap:14px}
}

@media(max-width:420px){
  .kodari-hero-copy .v2-actions,.kodari-next .v2-actions{display:grid;grid-template-columns:1fr;align-items:stretch}
  .kodari-hero-copy .v2-button,.kodari-next .v2-button{width:100%}
  .kodari-identity dl>div{grid-template-columns:1fr;gap:2px}
  .reliability-flow li{grid-template-columns:1fr;gap:3px}
}
