
/* Case studies — shared dark portfolio visual language */
.cases-page{max-width:1180px;margin:auto;padding:0 24px}
.cases-page a:focus-visible,.cases-page summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.cases-hero{padding:105px 0 92px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.6fr);gap:55px;align-items:end}
.cases-hero h1{font-size:clamp(56px,9vw,120px);letter-spacing:-.085em;line-height:.88;margin:24px 0 31px}
.cases-hero h1 span{color:var(--lime)}.cases-intro{font-size:clamp(19px,2.2vw,25px);color:#c5c5c0;max-width:650px;line-height:1.45}
.cases-quicklinks{display:flex;flex-wrap:wrap;gap:20px;margin-top:44px}
.cases-quicklinks a{font-weight:700;font-size:13px;border-bottom:1px solid #4c5250;padding-bottom:8px}
.cases-quicklinks a:hover{color:var(--lime);border-color:var(--lime)}
.cases-quicklinks span{color:var(--lime)}
.cases-hero-aside{border:1px solid var(--line);padding:27px;min-height:225px;display:flex;flex-direction:column;justify-content:space-between;background:#121419}
.cases-hero-aside span,.cases-hero-aside small{font:700 10px/1.4 monospace;letter-spacing:.08em;color:#969a9f}
.cases-hero-aside strong{font-size:clamp(20px,2vw,26px);line-height:1.2;letter-spacing:-.04em}
.cases-section{padding:77px 0 88px;border-top:1px solid var(--line);scroll-margin-top:90px}
.cases-section-title{max-width:790px;margin-bottom:43px}
.cases-section-title h2{font-size:clamp(35px,4.5vw,58px);line-height:1.02;letter-spacing:-.065em;margin:15px 0 16px}
.cases-section-title p{font-size:16px;line-height:1.6;color:var(--muted);max-width:700px}
.cases-client{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid #353940;background:#121419}
.cases-client-copy{padding:45px 43px 52px}
.case-kicker,.case-num,.case-notes-heading{font:700 10px/1.4 monospace;letter-spacing:.09em;color:var(--lime)}
.cases-client-copy h3{font-size:clamp(40px,5vw,64px);letter-spacing:-.07em;line-height:.98;margin:34px 0 27px}
.cases-client-copy p:not(.case-kicker){font-size:16px;line-height:1.65;color:#b3b7b6;max-width:590px}
.cases-client-notes{border-left:1px solid #353940;padding:44px 36px;background:#181b21}
.cases-client-notes ol{padding:0;margin:27px 0;list-style:none}
.cases-client-notes li{display:flex;gap:20px;align-items:flex-start;padding:20px 0;border-bottom:1px solid #343940}
.cases-client-notes li>span{font:700 11px monospace;color:var(--lime)}
.cases-client-notes strong{display:block;font-size:16px;margin-bottom:6px}
.cases-client-notes small{display:block;font-size:13px;color:#a4a9ae;line-height:1.55}
.case-notes-caption{font-size:11px;line-height:1.6;color:#858e93}
.case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.case-link{display:inline-flex;align-items:center;gap:8px;border:1px solid #52575f;padding:12px 16px;font-size:13px;font-weight:700;transition:border-color .2s,color .2s}
.case-link:hover{border-color:var(--lime);color:var(--lime)}
.case-link.primary-link{background:var(--lime);border-color:var(--lime);color:#111;border-radius:99px}
.case-link.primary-link:hover{background:#dcff86}
.case-link.secondary-link{border-color:#40444a;color:#c0c6c5}
.case-private{font-size:12px;color:#8d969b;line-height:1.5}
.case-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-feature-card,.case-index-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:#111418}
.case-feature-card{padding:34px;min-height:490px}
.case-feature-top,.case-index-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.case-status{font:11px/1.4 monospace;color:#929a9d;text-align:right}
.case-feature-card h3{font-size:clamp(31px,3.5vw,48px);letter-spacing:-.06em;line-height:1.07;margin:32px 0 17px}
.case-feature-card>p{font-size:16px;line-height:1.65;color:#b4b9b9;max-width:550px}
.case-meta{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 24px}
.case-meta span{font:11px/1.5 monospace;color:#a2aba7;border:1px solid #343940;padding:8px 11px}
.case-feature-card>.case-actions,.case-index-card>.case-actions{margin-top:auto;padding-top:25px}
.case-notes{border-top:1px solid #373b41;margin-top:24px}
.case-notes summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;cursor:pointer;font-size:13px;font-weight:700}
.case-notes summary::-webkit-details-marker{display:none}
.case-notes summary span{color:var(--lime);font-size:20px;line-height:1}
.case-notes[open] summary span{transform:rotate(45deg)}
.case-notes-body{border-top:1px solid #2d3238;padding-top:15px}
.case-notes-body p,.case-notes-body li{font-size:13px;line-height:1.7;color:#a7b0b0}
.case-notes-body ul{padding-left:21px}.case-notes-body li+li{margin-top:9px}
.case-notes-body .case-caution{color:#d0d4c4}
.case-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.case-index-card{padding:25px;min-height:330px}
.case-index-card h3{font-size:clamp(23px,2.5vw,31px);letter-spacing:-.045em;line-height:1.15;margin:28px 0 14px}
.case-index-card .case-summary{font-size:14px;line-height:1.65;color:#b1b7b7;margin:0 0 16px}
.case-index-card .case-tech{font:11px/1.6 monospace;color:#929f9a;margin:0}
.case-index-card .case-actions{padding-top:18px}.case-index-card .case-link{font-size:12px;padding:10px 13px}
.cases-end{border-top:1px solid var(--line);padding:72px 0 100px;display:flex;justify-content:space-between;gap:25px;align-items:center}
.cases-end h2{font-size:clamp(37px,4.7vw,59px);line-height:1;letter-spacing:-.06em;margin:16px 0}
.cases-end p{color:var(--muted);font-size:16px}
.cases-end>a{background:var(--lime);border-radius:99px;padding:15px 23px;color:#111;white-space:nowrap;font-weight:700;font-size:14px}
@media(max-width:980px){.cases-hero{gap:28px}.case-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cases-client-copy{padding:36px 30px}.cases-client-notes{padding:34px 28px}}
@media(max-width:760px){.cases-page{padding:0 20px}.cases-hero{padding:65px 0 70px;grid-template-columns:1fr;gap:32px}.cases-hero-aside{min-height:165px}.cases-section{padding:58px 0 68px}.cases-client{grid-template-columns:1fr}.cases-client-notes{border-left:0;border-top:1px solid #353940}.case-feature-grid{grid-template-columns:1fr}.case-feature-card{min-height:0}.cases-end{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.case-index-grid{grid-template-columns:1fr}.case-index-card{min-height:0}.cases-client-copy{padding:28px 23px}.cases-client-notes{padding:25px 23px}.case-feature-card{padding:25px}.cases-hero-aside strong{font-size:23px}.cases-quicklinks{gap:14px}.case-feature-card h3{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.case-link,.cases-quicklinks a{transition:none}}
