:root{--case-teal:#1f716f;--case-teal-dark:#155d5b;--case-mint:#e7f3f0;--case-cream:#f6f2ec;--case-line:rgba(30,102,103,.17)}
.portfolio-case{background:#f8fbfa;color:#182225}
.portfolio-case .atmosphere{opacity:.62}
.case-site-header{background:rgba(251,253,252,.92);border-color:var(--line);backdrop-filter:blur(18px)}
.case-site-header .case-header-actions{justify-self:end;display:flex;align-items:center;gap:24px}
.case-site-header .case-header-actions a{position:relative;color:#435156;text-decoration:none;font-size:11px;font-weight:600}
.case-main{position:relative;z-index:2;max-width:1180px;margin:auto;padding:142px clamp(24px,6vw,76px) 100px}
.case-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:7vw;align-items:center;min-height:520px;padding:52px 0 72px}
.case-kicker,.case-section-label{margin:0;color:var(--case-teal);font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.case-hero h1{max-width:12ch;margin:18px 0 16px;font-size:clamp(48px,5.6vw,76px);font-weight:500;line-height:.96;letter-spacing:-.055em}
.case-subtitle{max-width:64ch;margin:0;color:#52666a;font-size:15px;line-height:1.72}
.case-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.case-chips span{padding:7px 13px;border:1px solid rgba(31,113,111,.18);border-radius:999px;background:rgba(238,247,245,.72);color:#487174;font:500 10px var(--mono);letter-spacing:.025em}
.case-source-feature{width:min(100%,330px);justify-self:end;margin:0;padding:16px;border:1px solid var(--case-line);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 22px 52px rgba(40,91,91,.08)}
.case-source-feature img{display:block;width:100%;max-height:220px;object-fit:contain}
.case-source-feature figcaption,.source-card figcaption{margin-top:12px;color:#5f7276;font:400 10.5px/1.55 var(--mono)}
.case-idea{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:44px;align-items:start;margin-bottom:28px;padding:34px 38px;border:1px solid var(--case-line);border-radius:16px;background:linear-gradient(135deg,rgba(231,243,240,.92),rgba(255,255,255,.82))}
.case-idea h2{max-width:26ch;margin:0;font-size:clamp(28px,3.6vw,48px);font-weight:500;line-height:1.04;letter-spacing:-.045em}
.case-idea p:last-child{max-width:61ch;margin:4px 0 0;color:#52696c;font-size:13px;line-height:1.72}
.case-context{display:grid;grid-template-columns:minmax(220px,.72fr) repeat(3,minmax(0,1fr));gap:1px;margin-bottom:26px;border:1px solid var(--case-line);border-radius:15px;overflow:hidden;background:var(--case-line)}
.case-context>div{min-height:148px;padding:24px;background:rgba(255,255,255,.9)}
.case-context .context-lead{background:var(--case-mint)}
.case-context h2{max-width:13ch;margin:14px 0 0;font-size:25px;font-weight:500;line-height:1.08;letter-spacing:-.035em}
.case-context h3{margin:13px 0 8px;font-size:12px}
.case-context p{margin:0;color:#526469;font-size:13px;line-height:1.65}
.workflow-section{margin-top:28px;padding:34px;border:1px solid var(--case-line);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 20px 50px rgba(45,92,94,.055)}
.workflow-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}
.workflow-heading h2{max-width:24ch;margin:12px 0 0;font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.04;letter-spacing:-.04em}
.workflow-heading>p{max-width:42ch;margin:0;color:#6c7d81;font-size:11px;line-height:1.65}
.workflow-flow{display:grid;grid-template-columns:repeat(var(--steps,5),minmax(0,1fr));gap:10px}
.workflow-step{position:relative;min-height:150px;padding:18px;border:1px solid rgba(35,106,106,.13);border-radius:10px;background:#fff;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.workflow-step:hover{transform:translateY(-4px);border-color:rgba(31,113,111,.36);box-shadow:0 15px 30px rgba(35,92,92,.09)}
.workflow-step.is-teal{background:var(--case-mint)}
.workflow-step.is-warm{background:var(--case-cream)}
.workflow-step span{color:var(--case-teal);font:500 10px var(--mono)}
.workflow-step h3{margin:15px 0 8px;font-size:12px;line-height:1.25}
.workflow-step p{margin:0;color:#5a6d72;font-size:12px;line-height:1.55}
.workflow-concept{width:min(100%,390px)}
.workflow-concept .workflow-flow{gap:8px}
.workflow-concept .workflow-step{min-height:104px}
.workflow-concept .workflow-step h3{margin-top:9px;font-size:13px}
.workflow-concept .workflow-step p{font-size:12px}
.workflow-note{margin:22px 0 0;color:#617579;font:400 10.5px/1.65 var(--mono)}
.workflow-lanes{display:grid;gap:28px}
.workflow-lane{padding-top:22px;border-top:1px solid var(--case-line)}
.workflow-lane h3{margin:0 0 16px;color:#315f63;font:500 11px var(--mono);letter-spacing:.06em}
.case-module{margin-top:28px;padding:34px;border:1px solid var(--case-line);border-radius:16px;background:rgba(255,255,255,.76)}
.case-module-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:40px;align-items:end;margin-bottom:26px}
.case-module-heading h2{max-width:24ch;margin:12px 0 0;font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.04;letter-spacing:-.04em}
.case-module-heading>p{margin:0;color:#6c7d81;font-size:11px;line-height:1.65}
.model-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.model-type{min-height:180px;padding:22px;border:1px solid var(--case-line);border-radius:12px;background:#fff}
.model-type:nth-child(2){background:var(--case-mint)}
.model-type span{color:var(--case-teal);font:500 10px var(--mono);letter-spacing:.06em}
.model-type h3{margin:34px 0 9px;font-size:17px;font-weight:500;line-height:1.15}
.model-type p{margin:0;color:#586c71;font-size:13px;line-height:1.62}
.module-evidence{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:18px;align-items:stretch;margin-top:22px}
.module-evidence .source-card img{height:230px}
.module-callout{display:flex;flex-direction:column;justify-content:center;padding:28px;border-radius:12px;background:var(--case-teal-dark);color:#fff}
.module-callout .case-section-label{color:#bce2dc}
.module-callout h3{max-width:18ch;margin:15px 0 12px;font-size:25px;font-weight:500;line-height:1.08;letter-spacing:-.035em}
.module-callout p{margin:0;color:rgba(255,255,255,.8);font-size:13px;line-height:1.65}
.case-equity{margin-top:28px}
.case-equity h3{margin:0 0 15px;font-size:18px;font-weight:500}
.equity-table{width:100%;border-collapse:collapse;background:#fff;font-size:12px}
.equity-table th,.equity-table td{padding:13px 15px;border:1px solid var(--case-line);text-align:left}
.equity-table th{color:#49666b;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.equity-high{color:#176a63;font-weight:700}.equity-low{color:#b05a3d;font-weight:700}.equity-mid{color:#8d6b2b;font-weight:700}
.case-sources{margin-top:28px;padding:34px;border:1px solid var(--case-line);border-radius:16px;background:rgba(255,255,255,.7)}
.case-sources-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.case-sources h2{margin:12px 0 0;font-size:30px;font-weight:500;letter-spacing:-.035em}
.case-sources-header>p{max-width:48ch;margin:0;color:#5b6e73;font-size:13px;line-height:1.65}
.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.source-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.source-card{margin:0;padding:13px;border:1px solid var(--case-line);border-radius:11px;background:#fff}
.source-card img{display:block;width:100%;height:160px;object-fit:contain;background:#f7faf9}
.case-capability{display:grid;grid-template-columns:minmax(300px,1.1fr) repeat(3,minmax(0,.7fr));gap:30px;margin-top:28px;padding:38px;border-radius:16px;background:var(--case-teal);color:#fff}
.case-capability .case-section-label{color:#bce2dc}
.case-capability h2{max-width:15ch;margin:14px 0 0;font-size:clamp(30px,3.3vw,46px);font-weight:500;line-height:1.02;letter-spacing:-.04em}
.case-capability h3{margin:0 0 10px;font-size:12px}
.case-capability p{margin:0;color:rgba(255,255,255,.8);font-size:13px;line-height:1.6}
.case-caveat{margin:20px 0 0;padding:0 4px;color:#5f7276;font:400 10.5px/1.7 var(--mono)}
.case-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:54px;padding-top:25px;border-top:1px solid var(--case-line)}
.case-pagination a{color:#315f63;text-decoration:none;font:500 11px var(--mono)}
@media(max-width:900px){
  .case-main{padding-top:120px}
  .portfolio-case .primary-nav{display:flex;position:static;gap:12px;padding:0;border:0;box-shadow:none;background:transparent}
  .portfolio-case .primary-nav a{padding:8px 5px;font-size:10px}
  .case-hero{grid-template-columns:1fr;min-height:0;padding-top:35px}
  .case-source-feature{width:min(100%,420px);justify-self:start}
  .case-context{grid-template-columns:repeat(2,1fr)}
  .workflow-heading,.case-sources-header{align-items:flex-start;flex-direction:column}
  .case-idea,.case-module-heading{grid-template-columns:1fr;gap:18px}
  .model-types{grid-template-columns:1fr 1fr}
  .module-evidence{grid-template-columns:1fr}
  .workflow-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-capability{grid-template-columns:1fr 1fr}
  .case-site-header .case-header-actions{display:none}
}
@media(max-width:620px){
  .portfolio-case .brand-copy{display:none}
  .portfolio-case .primary-nav{gap:4px}
  .portfolio-case .primary-nav a{padding:8px 4px;font-size:10px}
  .case-main{padding:105px 18px 70px}
  .case-hero{gap:30px;padding-bottom:50px}
  .case-hero h1{font-size:clamp(42px,12vw,58px)}
  .case-context{grid-template-columns:1fr}
  .case-context>div{min-height:0}
  .workflow-section,.case-sources,.case-module,.case-idea{padding:23px 18px}
  .workflow-flow{grid-template-columns:1fr}
  .workflow-step{min-height:0}
  .source-grid,.source-grid.is-two{grid-template-columns:1fr}
  .model-types{grid-template-columns:1fr}
  .source-card img{height:auto;max-height:240px}
  .case-capability{grid-template-columns:1fr;padding:28px 22px}
  .case-pagination{flex-direction:column}
}
