/* v77 — Unified case-study UI based on Surplus. Content, metrics and evidence unchanged. */
:root{--case-ink:#121212;--case-rule:#dcdcdc}
/* Hero layout and matching actions: compact Surplus sizing on every project. */
.ll-case .ll-hero-columns{grid-template-columns:minmax(0,1.25fr) minmax(340px,.7fr);gap:6%;align-items:end}
.ll-case .ll-hero-links{display:flex;flex-wrap:nowrap;gap:11px;width:auto;max-width:none;margin:0}
.ll-case .ll-hero-links>a,.sp-case .sp-actions>a,
.unified-hero-actions>a{
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:46px;height:46px;
 padding:13px 18px;border:1px solid #111;border-radius:0;
 font:700 11px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.07em;
 text-decoration:none;white-space:nowrap;text-align:center;gap:3px;flex:0 0 auto;width:auto;
 transition:background .2s,color .2s,transform .2s;
}
.ll-case .ll-hero-links .ll-primary-link,.sp-case .sp-action-primary,.unified-hero-actions .unified-cta-primary{background:#111;color:#fff}
.ll-case .ll-hero-links .ll-secondary-link,.sp-case .sp-action-secondary,.unified-hero-actions .unified-cta-secondary{background:#fff;color:#111}
.ll-case .ll-hero-links>a:hover,.sp-case .sp-actions>a:hover,.unified-hero-actions>a:hover{transform:translateY(-2px);opacity:1}
.ll-case .ll-hero-links .ll-secondary-link:hover,.sp-case .sp-action-secondary:hover,.unified-hero-actions .unified-cta-secondary:hover{background:#111;color:#fff}
.ll-case .ll-hero-links>a:focus-visible,.sp-case .sp-actions>a:focus-visible,.unified-hero-actions>a:focus-visible{outline:3px solid #4377e8;outline-offset:3px}
.unified-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px}
.mayo-case .mayo-hero-bottom,.mesa-case .mesa-hero-bottom,.circle-case .circle-hero-bottom{display:grid;grid-template-columns:minmax(0,1.3fr) auto;align-items:end;gap:clamp(22px,3vw,60px)}
.mayo-case .mayo-hero-bottom p,.mesa-case .mesa-hero-bottom p,.circle-case .circle-hero-bottom p{max-width:760px}
/* Consistent chapter navigation: same pill dimensions, label spacing, wrap behavior. */
.ll-case .unified-case-nav,.sp-case .unified-case-nav,.mayo-case .unified-case-nav,.mesa-case .unified-case-nav,.circle-case .unified-case-nav{
 display:flex;flex-direction:row;align-items:center;gap:28px;padding:34px 0;margin:0 0 30px;
 border-top:0;border-bottom:1px solid var(--case-rule);background:#fff;flex-wrap:wrap;
}
.ll-case .unified-case-nav>span,.sp-case .unified-case-nav>span,.mayo-case .unified-case-nav>span,.mesa-case .unified-case-nav>span,.circle-case .unified-case-nav>span{
 flex:0 0 auto;white-space:nowrap;margin:0;padding:0;color:#696969;
 font:700 11px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.13em;
}
.ll-case .unified-case-nav .ll-chapter-nav-links,.sp-case .unified-case-nav>div{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:9px;min-width:0}
.ll-case .unified-case-nav a,.sp-case .unified-case-nav a,.mayo-case .unified-case-nav a,.mesa-case .unified-case-nav a,.circle-case .unified-case-nav a{
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:36px;height:36px;
 padding:9px 14px;margin:0;border:1px solid #ddd;border-radius:30px;
 background:#fff;color:#252525;text-decoration:none;white-space:nowrap;
 font:500 12px/1.25 'DM Sans',Arial,sans-serif;letter-spacing:0;transition:background .2s,color .2s;
}
.ll-case .unified-case-nav a:hover,.sp-case .unified-case-nav a:hover,.mayo-case .unified-case-nav a:hover,.mesa-case .unified-case-nav a:hover,.circle-case .unified-case-nav a:hover{background:#101010;color:#fff;border-color:#101010;transform:none}
/* Shared snapshot rhythm: retain each project's true original evidence. */
.ll-case .ll-facts,.sp-case .sp-snapshot,.mayo-case .mayo-meta,.mesa-case .mesa-meta,.circle-case .circle-meta{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #111;border-bottom:1px solid #111;padding:0;margin-top:44px;margin-bottom:24px;
}
.ll-case .ll-facts>div,.sp-case .sp-snapshot>div,.mayo-case .mayo-meta>div,.mesa-case .mesa-meta>div,.circle-case .circle-meta>div{
 box-sizing:border-box;min-width:0;padding:27px 19px 28px 0;margin:0 19px 0 0;
 border-right:1px solid var(--case-rule);border-bottom:0;display:flex;flex-direction:column;gap:13px;
}
.ll-case .ll-facts>div:last-child,.sp-case .sp-snapshot>div:last-child,.mayo-case .mayo-meta>div:last-child,.mesa-case .mesa-meta>div:last-child,.circle-case .circle-meta>div:last-child{border-right:0;margin-right:0}
.ll-case .ll-facts span,.sp-case .sp-snapshot small,.mayo-case .mayo-meta span,.mesa-case .mesa-meta span,.circle-case .circle-meta span{
 display:block;margin:0;color:#696969;font:700 11px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;
}
.ll-case .ll-facts strong,.sp-case .sp-snapshot strong,.mayo-case .mayo-meta strong,.mesa-case .mesa-meta strong,.circle-case .circle-meta strong{
 display:block;margin:0;font:500 clamp(16px,1.65vw,25px)/1.25 'DM Sans',Arial,sans-serif;letter-spacing:-.025em;
}
/* Mayo and Circle include a fifth metadata slot: allow that slot to continue on its own row, full width. */
.mayo-case .mayo-meta>div:nth-child(5),.circle-case .circle-meta>div:nth-child(5){grid-column:1/-1;border-top:1px solid var(--case-rule);padding-top:18px;padding-bottom:18px}
/* Keep smaller viewports usable while preventing the 1200px rule from turning LeaveLens buttons into large blocks. */
@media(max-width:1200px){
.ll-case .ll-hero-columns,.mayo-case .mayo-hero-bottom,.mesa-case .mesa-hero-bottom,.circle-case .circle-hero-bottom{grid-template-columns:1fr;gap:25px}
.ll-case .ll-hero-links{flex-wrap:wrap;max-width:none}
}
@media(max-width:850px){
.ll-case .unified-case-nav,.sp-case .unified-case-nav,.mayo-case .unified-case-nav,.mesa-case .unified-case-nav,.circle-case .unified-case-nav{gap:14px;align-items:flex-start}
.ll-case .ll-facts,.sp-case .sp-snapshot,.mayo-case .mayo-meta,.mesa-case .mesa-meta,.circle-case .circle-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
.ll-case .ll-facts>div,.sp-case .sp-snapshot>div,.mayo-case .mayo-meta>div,.mesa-case .mesa-meta>div,.circle-case .circle-meta>div{border-bottom:1px solid var(--case-rule);padding:22px 14px 22px 0!important;margin-right:12px}
.ll-case .ll-facts>div:nth-child(2n),.sp-case .sp-snapshot>div:nth-child(2n),.mayo-case .mayo-meta>div:nth-child(2n),.mesa-case .mesa-meta>div:nth-child(2n),.circle-case .circle-meta>div:nth-child(2n){border-right:0;margin-right:0;padding-left:12px!important}
}
@media(max-width:560px){
.ll-case .ll-hero-links,.unified-hero-actions,.sp-case .sp-actions{display:flex;flex-direction:column;align-items:stretch;width:100%}
.ll-case .ll-hero-links>a,.sp-case .sp-actions>a,.unified-hero-actions>a{min-height:46px;height:auto;white-space:normal;width:100%;padding:13px 10px}
.ll-case .unified-case-nav a,.sp-case .unified-case-nav a,.mayo-case .unified-case-nav a,.mesa-case .unified-case-nav a,.circle-case .unified-case-nav a{height:34px;min-height:34px;padding:7px 12px}
}
@media(prefers-reduced-motion:reduce){.ll-case .ll-hero-links>a,.sp-case .sp-actions>a,.unified-hero-actions>a{transition:none;transform:none!important}}

/* v80 — all five case studies share the same compact, stable Surplus grammar. */
.ll-case .ll-hero-columns{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:5%;align-items:end}
.ll-case .ll-hero-links,.sp-case .sp-actions,.unified-hero-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:auto!important;max-width:100%!important;margin:0!important}
.ll-case .ll-hero-links>a,.sp-case .sp-actions>a,.unified-hero-actions>a{box-sizing:border-box!important;display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;width:auto!important;min-height:46px!important;height:46px!important;padding:12px 17px!important;border:1px solid #111!important;border-radius:0!important;font:700 11px/1.25 'DM Sans',Arial,sans-serif!important;letter-spacing:.055em!important;white-space:nowrap!important;text-align:center!important;text-decoration:none!important;}
.ll-case .ll-hero-links .ll-primary-link,.sp-case .sp-actions .sp-action-primary,.unified-hero-actions .unified-cta-primary{background:#111!important;color:#fff!important}
.ll-case .ll-hero-links .ll-secondary-link,.sp-case .sp-actions .sp-action-secondary,.unified-hero-actions .unified-cta-secondary{background:#fff!important;color:#111!important}
/* Correct button contrast in the green prototype banner; no conflicting primary styling. */
.sp-case .sp-prototype-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.sp-case .sp-prototype-cta .sp-prototype-link{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;min-height:48px;padding:14px 21px;border:1px solid #fff;background:#fff!important;color:#102e24!important;font:700 12px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.07em;text-decoration:none;white-space:nowrap}
.sp-case .sp-prototype-cta .sp-prototype-link span{color:inherit!important;margin-left:7px}
.sp-case .sp-prototype-cta .sp-prototype-link:hover{background:#e9f4ef!important;color:#102e24!important}
/* Project facts use one equal-height row and no redundant view-project/prototype column. */
.ll-case .ll-facts,.sp-case .sp-snapshot,.mayo-case .mayo-meta,.mesa-case .mesa-meta,.circle-case .circle-meta{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:42px 0 22px!important;padding:0!important;border-top:1px solid #111!important;border-bottom:1px solid #111!important}
.ll-case .ll-facts>div,.sp-case .sp-snapshot>div,.mayo-case .mayo-meta>div,.mesa-case .mesa-meta>div,.circle-case .circle-meta>div{box-sizing:border-box!important;min-width:0!important;margin:0!important;padding:25px 22px!important;border-right:1px solid #dcdcdc!important;border-bottom:0!important;display:flex!important;flex-direction:column!important;gap:14px!important}
.ll-case .ll-facts>div:first-child,.sp-case .sp-snapshot>div:first-child,.mayo-case .mayo-meta>div:first-child,.mesa-case .mesa-meta>div:first-child,.circle-case .circle-meta>div:first-child{padding-left:0!important}
.ll-case .ll-facts>div:last-child,.sp-case .sp-snapshot>div:last-child,.mayo-case .mayo-meta>div:last-child,.mesa-case .mesa-meta>div:last-child,.circle-case .circle-meta>div:last-child{border-right:0!important}
.ll-case .ll-facts span,.sp-case .sp-snapshot small,.mayo-case .mayo-meta span,.mesa-case .mesa-meta span,.circle-case .circle-meta span{display:block!important;margin:0!important;color:#6b6b6b!important;font:700 11px/1.5 'DM Sans',Arial,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.ll-case .ll-facts strong,.sp-case .sp-snapshot strong,.mayo-case .mayo-meta strong,.mesa-case .mesa-meta strong,.circle-case .circle-meta strong{margin:0!important;font:500 clamp(17px,1.6vw,25px)/1.3 'DM Sans',Arial,sans-serif!important;letter-spacing:-.02em!important;overflow-wrap:break-word}
.sp-case .sp-snapshot strong span{font:400 13px/1.4 'DM Sans',Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;margin-top:6px!important}
/* consistent compact chapter navigation */
.ll-case .unified-case-nav,.sp-case .unified-case-nav,.mayo-case .unified-case-nav,.mesa-case .unified-case-nav,.circle-case .unified-case-nav{box-sizing:border-box;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:20px!important;padding:32px 0!important;margin:22px 0 34px!important;border-bottom:1px solid #ddd!important}
.ll-case .unified-case-nav .ll-chapter-nav-links,.sp-case .unified-case-nav>div{flex:0 1 auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;flex-wrap:wrap!important}
.ll-case .unified-case-nav a,.sp-case .unified-case-nav a,.mayo-case .unified-case-nav a,.mesa-case .unified-case-nav a,.circle-case .unified-case-nav a{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;height:36px!important;flex:0 0 auto!important;margin:0!important;padding:8px 14px!important;border:1px solid #dedede!important;border-radius:22px!important;background:#fff!important;color:#262626!important;font:500 12px/1.2 'DM Sans',Arial,sans-serif!important;letter-spacing:0!important;white-space:nowrap!important;text-decoration:none!important}
.ll-case .unified-case-nav a:hover,.sp-case .unified-case-nav a:hover,.mayo-case .unified-case-nav a:hover,.mesa-case .unified-case-nav a:hover,.circle-case .unified-case-nav a:hover{background:#111!important;color:#fff!important}
@media(max-width:1050px){.ll-case .ll-hero-columns,.mayo-case .mayo-hero-bottom,.mesa-case .mesa-hero-bottom,.circle-case .circle-hero-bottom{grid-template-columns:1fr!important;gap:24px!important}}
@media(max-width:780px){.ll-case .ll-facts,.sp-case .sp-snapshot,.mayo-case .mayo-meta,.mesa-case .mesa-meta,.circle-case .circle-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ll-case .ll-facts>div,.sp-case .sp-snapshot>div,.mayo-case .mayo-meta>div,.mesa-case .mesa-meta>div,.circle-case .circle-meta>div{padding:20px 13px!important;border-bottom:1px solid #ddd!important}.ll-case .ll-facts>div:nth-child(odd),.sp-case .sp-snapshot>div:nth-child(odd),.mayo-case .mayo-meta>div:nth-child(odd),.mesa-case .mesa-meta>div:nth-child(odd),.circle-case .circle-meta>div:nth-child(odd){padding-left:0!important}.ll-case .ll-facts>div:nth-child(even),.sp-case .sp-snapshot>div:nth-child(even),.mayo-case .mayo-meta>div:nth-child(even),.mesa-case .mesa-meta>div:nth-child(even),.circle-case .circle-meta>div:nth-child(even){border-right:0!important}.sp-case .sp-prototype-cta{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.ll-case .ll-hero-links,.sp-case .sp-actions,.unified-hero-actions{flex-wrap:wrap!important;flex-direction:row!important;align-items:flex-start!important;width:auto!important}.ll-case .ll-hero-links>a,.sp-case .sp-actions>a,.unified-hero-actions>a{white-space:normal!important;height:auto!important;min-height:44px!important}.sp-case .sp-prototype-cta .sp-prototype-link{white-space:normal}}

/* v82: canonical Surplus-style project snapshot. No stacked, duplicated metadata. */
.ll-case .case-project-summary,
.mayo-case .case-project-summary,
.mesa-case .case-project-summary,
.circle-case .case-project-summary{font-family:'DM Sans',Arial,sans-serif;margin:38px 0 14px!important;padding:0!important;max-width:none;}
.case-project-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #202020;border-bottom:1px solid #202020;}
.case-project-summary-cell{min-width:0;box-sizing:border-box;padding:22px 20px 24px;border-right:1px solid #dedede;display:flex;flex-direction:column;align-items:flex-start;gap:9px;}
.case-project-summary-cell:first-child{padding-left:0;}
.case-project-summary-cell:last-child{border-right:0;}
.case-project-summary-label{display:block;color:#666;font:700 10px/1.35 'DM Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;}
.case-project-summary-cell strong{font:500 clamp(19px,1.55vw,25px)/1.28 'DM Sans',Arial,sans-serif;color:#161616;letter-spacing:-.025em;overflow-wrap:anywhere;}
.case-project-summary-cell small{font:400 12px/1.45 'DM Sans',Arial,sans-serif;color:#727272;letter-spacing:0;max-width:300px;}
.case-project-summary-note{font:400 12px/1.65 'DM Sans',Arial,sans-serif;color:#767676;margin:18px 0 0!important;max-width:1000px;}
/* Keep navigation immediately beneath the snapshot, without a second box. */
.ll-case .case-project-summary + .unified-case-nav,
.mayo-case .case-project-summary + .unified-case-nav,
.mesa-case .case-project-summary + .unified-case-nav,
.circle-case .case-project-summary + .unified-case-nav{margin-top:24px!important;}
@media(max-width:780px){.case-project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-project-summary-cell:nth-child(2){border-right:0}.case-project-summary-cell:nth-child(-n+2){border-bottom:1px solid #ddd}.case-project-summary-cell:nth-child(3){padding-left:0}}
@media(max-width:480px){.case-project-summary-grid{grid-template-columns:1fr}.case-project-summary-cell{padding:18px 0!important;border-right:0;border-bottom:1px solid #ddd}.case-project-summary-cell:last-child{border-bottom:0}}
