.cases-section{background:var(--paper);border-top:1px solid var(--line)}
.cases-section .section-heading>p{max-width:380px;color:var(--muted);font-size:1.125rem}
.cases-grid{display:block}
.case-card{display:flex;flex-direction:column;min-width:0;padding:27px 25px 20px;background:#fff9;border:1px solid #ccd4cc;border-radius:16px;transition:border-color .25s,transform .25s,box-shadow .25s;scroll-margin-top:110px}
.case-card-top{display:flex;justify-content:space-between;gap:15px;align-items:start;font-size:.8125rem;color:var(--muted);line-height:1.5;min-height:39px}
.case-client{font-size:clamp(1.75rem,2.6vw,2.5rem);font-weight:650;letter-spacing:-.05em;color:var(--ink);margin:15px 0 20px}
.case-card h3{font-size:1.375rem;line-height:1.3;letter-spacing:-.035em;min-height:86px;text-wrap:initial}
.case-tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}
.case-tags span{font-size:.875rem;padding:5px 10px;background:#e9ede6;border-radius:20px;line-height:1.5}
.case-map{background:#182019;color:var(--paper);border-radius:11px;padding:22px 20px;margin-top:auto}
.case-map>p{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#bbc4bb;margin-bottom:19px}
.case-flow{list-style:none;padding:0;margin:0;display:grid;gap:0}
.case-flow li{display:flex;align-items:center;gap:13px;font-size:1rem;line-height:1.4;position:relative;min-height:54px}
.case-step{display:grid;place-items:center;position:relative;z-index:1;flex:0 0 30px;height:30px;border:1px solid #62705e;background:#182019;color:var(--signal);font-size:.75rem;border-radius:50%}
.case-flow li:not(:last-child):after{content:'';position:absolute;left:14px;top:calc(50% + 15px);height:24px;border-left:1px solid #62705e}
.case-flow li:last-child .case-step{background:var(--signal);color:var(--ink);border-color:var(--signal)}
.case-takeaway{font-size:1rem;line-height:1.5;margin:22px 0;min-height:72px;color:#394a3c}
.case-open{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1rem;border-top:1px solid var(--line);padding-top:17px;margin-top:auto;min-height:59px}
.case-open>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;font-size:24px;transition:background .2s,rotate .2s}
.case-open:focus-visible{outline:3px solid #657961;outline-offset:5px;border-radius:4px}
.cases-note{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:22px;max-width:800px}
.case-dialog{width:min(980px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:55px 48px 38px;background:var(--paper);color:var(--ink);border:1px solid #b6c3b6;border-radius:18px;overflow-y:auto;overscroll-behavior:contain}
.case-dialog::backdrop{background:#07100bd9;backdrop-filter:blur(8px)}
.case-dialog .dialog-close{position:absolute;right:18px;top:16px;background:var(--paper);z-index:2}
.case-dialog .eyebrow{margin:0 45px 18px 0;font-size:.8125rem;line-height:1.5}
.case-dialog h2{font-size:clamp(1.875rem,3.8vw,3rem);line-height:1.15;max-width:820px}
.case-dialog h2:focus{outline:none}
.case-dialog h3{font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;margin:0 0 15px}
.case-detail-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;border-top:1px solid var(--line);padding-top:26px;margin-top:25px}
.case-detail-columns p,.case-detail-columns li{font-size:1rem;line-height:1.65}
.case-detail-columns ul{padding-left:20px;margin:0;display:grid;gap:10px}
.case-detail-columns li::marker{color:#7f901d}
.case-detail-map{margin-top:28px;background:#182019;color:var(--paper);padding:24px 27px;border-radius:12px}
.case-detail-map .case-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.case-detail-map .case-flow li{align-items:flex-start;flex-direction:column;gap:12px}
.case-detail-map .case-flow li:not(:last-child):after{top:14px;left:43px;right:-9px;height:0;border-left:0;border-top:1px solid #62705e}
.case-caption{font-size:.8125rem;line-height:1.6;margin-top:17px;color:var(--muted)}
.case-detail-map .case-caption{color:#b6c2b5}
.case-result{margin-top:20px;padding:24px 27px;background:var(--sage);border-radius:12px}
.case-result>p:not(.case-caption){font-size:1.125rem;line-height:1.6}
.case-detail-actions{margin-top:25px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.case-detail-actions .button{font-size:1rem;min-height:58px}
.case-detail-actions>a{font-size:.875rem;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
@media(hover:hover) and (pointer:fine){.case-card:hover{border-color:#859779;transform:translateY(-4px);box-shadow:0 20px 40px -30px #263e2855}.case-open:hover>span{background:var(--signal);rotate:45deg}}
@media(max-width:1000px){.cases-grid{gap:14px}.case-card{padding:22px 18px 18px}.case-card h3{font-size:1.25rem;min-height:104px}.case-map{padding:19px 14px}.case-takeaway{min-height:96px}}
@media(max-width:800px){.cases-grid{grid-template-columns:minmax(0,1fr);max-width:550px;margin-inline:auto;gap:20px}.case-card{padding:26px}.case-card-top,.case-card h3,.case-takeaway{min-height:0}.case-card h3{font-size:1.5rem;max-width:420px}.case-client{font-size:2.25rem}.case-takeaway{margin-bottom:22px}.case-dialog{padding:64px 24px 28px}.case-detail-columns{grid-template-columns:1fr;gap:24px}.case-detail-actions .button{width:100%}}
@media(max-width:450px){.case-detail-map{padding:23px 20px}.case-detail-map .case-flow{grid-template-columns:1fr;gap:0}.case-detail-map .case-flow li{flex-direction:row;align-items:center;gap:13px}.case-detail-map .case-flow li:not(:last-child):after{left:14px;top:calc(50% + 15px);right:auto;height:24px;border-left:1px solid #62705e;border-top:0}.case-result{padding:22px 20px}}
@media(prefers-reduced-motion:reduce){.case-card,.case-open>span{transition:none}.case-card:hover{transform:none}.case-open:hover>span{rotate:none}}

/* A3: one featured story, stable controls, three explorable stages. */
.cases-section .section-heading{align-items:end}
.case-project-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}
.case-project-tabs button{min-height:54px;border:1px solid #bbc2b7;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:1.125rem;font-weight:600;transition:background .22s,border-color .22s}
.case-project-tabs button span{font-weight:400;color:#697369;margin-right:14px}
.case-project-tabs button[aria-selected=true]{background:var(--signal);border-color:var(--signal)}
.case-project-tabs button[aria-selected=true] span{color:var(--ink)}
.case-feature{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.35fr);gap:24px;background:#151917;color:var(--paper);border-radius:20px;padding:42px 30px 32px 38px;overflow:hidden;isolation:isolate}
.case-feature-copy{display:flex;flex-direction:column;min-width:0;position:relative;z-index:2}
.case-industry{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;color:#bec7be;min-height:40px}
.case-feature h3{font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 22px}
.case-feature-title{font-size:clamp(1.45rem,2.65vw,2.25rem);line-height:1.18;letter-spacing:-.035em;min-height:112px;max-width:490px}
.case-stage-tabs{display:grid;gap:6px;margin:18px 0 28px}
.case-stage-tabs button{display:flex;align-items:center;gap:18px;text-align:left;min-height:92px;padding:12px;border:1px solid transparent;border-radius:12px;color:var(--paper);background:transparent;font:inherit;transition:background .22s,border-color .22s}
.case-stage-tabs button[aria-selected=true]{border-color:#d9d733;background:#dfe8320b}
.case-stage-number{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid #6e796e;border-radius:50%;font-size:.9375rem;transition:background .22s,color .22s}
.case-stage-tabs button[aria-selected=true] .case-stage-number{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.case-stage-tabs strong{display:block;font-size:1rem;font-weight:600;margin-bottom:5px}
.case-stage-tabs button[aria-selected=true] strong{color:var(--signal)}
.case-stage-tabs small{display:block;font-size:.875rem;line-height:1.45;color:#bdc6bd;max-width:350px}
.case-feature-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:auto}
.case-feature-actions .button{font-size:1rem;min-height:56px;padding:16px 22px;gap:20px}
.case-more{display:flex;align-items:center;justify-content:center;min-height:56px;border:1px solid #737e74;border-radius:9px;padding:12px 17px;font-size:.875rem;transition:background .2s}
.case-feature-visual{min-width:0;display:flex;flex-direction:column;justify-content:center}
.case-scene{position:relative;min-height:470px;flex:1;animation:case-reveal .35s ease-out;isolation:isolate}
.case-art{position:absolute;inset:90px -4% 0;width:108%;height:calc(100% - 90px);object-fit:contain;mix-blend-mode:lighten;pointer-events:none;filter:drop-shadow(0 22px 25px #0005)}
.case-scene-hint{position:absolute;right:0;top:0;font-size:.8125rem;color:#bbc4bb;letter-spacing:.02em}
.case-callout{position:absolute;left:4%;top:42px;max-width:310px;min-height:100px;padding:17px 20px;background:var(--paper);border-radius:12px;color:var(--ink);box-shadow:0 12px 35px #0003;z-index:3}
.case-callout strong{display:block;font-size:1rem;line-height:1.3;margin-bottom:7px;letter-spacing:-.02em}
.case-callout p{font-size:.875rem;line-height:1.45;color:#536054;margin:0}
.case-hotspot{position:absolute;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #f3e92c99;background:#151917e6;color:var(--signal);font:inherit;font-size:1rem;z-index:4;box-shadow:0 0 0 5px #f3e92c12;transition:background .2s,box-shadow .2s,transform .2s}
.case-hotspot.is-active{background:var(--signal);color:var(--ink);box-shadow:0 0 0 7px #f3e92c20,0 0 24px #f3e92c30}
.case-hotspot.point-0{left:21%;top:44%}.case-hotspot.point-1{left:74%;top:48%}.case-hotspot.point-2{left:62%;top:73%}
.case-art-caption{position:absolute;right:0;bottom:5px;font-size:.75rem;color:#aab4ab}
.case-technology{border-top:1px solid #65716466;margin-top:22px;padding-top:16px}
.case-technology>span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#aeb9ae}
.case-technology .case-tags{margin:10px 0 0}.case-technology .case-tags span{background:#ffffff08;border:1px solid #5d6b5b;color:var(--paper);padding:6px 14px}
.case-stage-note{font-size:.8125rem;line-height:1.45;color:#abb9aa;margin-top:14px}
.case-project-tabs button:focus-visible,.case-stage-tabs button:focus-visible,.case-hotspot:focus-visible,.case-more:focus-visible{outline:3px solid #8e9e64;outline-offset:4px}
@keyframes case-reveal{from{opacity:.25;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.case-project-tabs button:hover{background:var(--signal)}.case-stage-tabs button:hover{background:#ffffff08}.case-more:hover{background:#ffffff14}.case-hotspot:hover{transform:scale(1.1);background:var(--signal);color:var(--ink)}}
@media(max-width:1100px){.case-feature{padding:30px 24px;gap:16px;grid-template-columns:1fr 1.15fr}.case-feature-title{min-height:105px}.case-stage-tabs button{gap:12px;padding:10px 8px;min-height:105px}.case-feature-actions{align-items:stretch;flex-direction:column}.case-callout{max-width:270px;left:0}.case-art{inset:125px -5% 0;width:110%;height:calc(100% - 125px)}}
@media(max-width:800px){.cases-grid{max-width:none;margin:0}.case-feature{grid-template-columns:1fr;padding:28px 22px;gap:22px}.case-feature h3{font-size:3rem}.case-feature-title{min-height:0;font-size:1.7rem;max-width:570px}.case-industry{min-height:0;margin-bottom:18px}.case-stage-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:24px 0}.case-stage-tabs button{flex-direction:column;align-items:flex-start;gap:12px;padding:12px;min-height:155px}.case-stage-tabs small{font-size:.8125rem}.case-stage-number{width:34px;height:34px}.case-feature-actions{flex-direction:row}.case-feature-actions>*{flex:1}.case-feature-visual{min-height:510px}.case-scene{min-height:420px}.case-art{inset:75px -2% 0;width:104%;height:calc(100% - 75px)}.case-callout{top:38px;max-width:290px}.case-project-tabs button{font-size:1rem}.case-project-tabs button span{margin-right:6px}.case-technology{margin-top:18px}}
@media(max-width:480px){.case-project-tabs{gap:5px}.case-project-tabs button{font-size:.875rem;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.case-project-tabs button span{font-size:.75rem;margin:0}.case-feature{padding:24px 16px;border-radius:16px}.case-feature h3{font-size:2.75rem}.case-stage-tabs button{padding:10px 8px;min-height:80px;align-items:center;text-align:center;gap:8px}.case-stage-tabs strong{font-size:.8125rem}.case-stage-tabs small{display:none}.case-feature-actions{flex-direction:column}.case-feature-visual{min-height:460px}.case-scene{min-height:360px}.case-callout{position:relative;left:auto;top:auto;max-width:none;margin:32px 0 0;min-height:94px;padding:14px 16px}.case-art{inset:100px -4% 0;width:108%;height:calc(100% - 100px)}.case-hotspot.point-0{top:57%;left:12%}.case-hotspot.point-1{top:59%;left:80%}.case-hotspot.point-2{top:78%;left:54%}.case-hotspot{width:36px;height:36px}.case-art-caption{font-size:.75rem}.case-technology .case-tags{gap:5px}.case-technology .case-tags span{font-size:.8125rem;padding:5px 10px}}
@media(prefers-reduced-motion:reduce){.case-scene{animation:none}.case-project-tabs button,.case-stage-tabs button,.case-stage-number,.case-hotspot,.case-more{transition:none}.case-hotspot:hover{transform:none}}
