/* 0to1 Advisory public case studies */
.case-studies-page{background:#fff}
.case-hero{background:var(--paper2);border-bottom:1px solid var(--line)}
.case-hero-grid{display:grid;grid-template-columns:1.15fr .7fr;gap:68px;align-items:end;padding:92px 0 70px}
.case-hero h1{font-family:var(--serif);font-size:clamp(52px,6vw,92px);line-height:.98;letter-spacing:-.045em;margin:0;color:var(--ink);max-width:900px}
.case-hero-copy{font-size:20px;line-height:1.6;color:var(--ink2);margin:0;max-width:610px}
.case-topic-nav{position:sticky;top:76px;z-index:28;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.case-topic-scroll{display:flex;gap:8px;overflow:auto;padding:12px 0;scrollbar-width:none}
.case-topic-scroll::-webkit-scrollbar{display:none}
.case-topic-link{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 12px;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.case-topic-link:hover,.case-topic-link:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}
.case-library{padding:56px 0 92px}
.case-group{scroll-margin-top:150px;padding:22px 0 58px;border-bottom:1px solid var(--line)}
.case-group:first-child{padding-top:0}
.case-group:last-child{border-bottom:0;padding-bottom:0}
.case-group-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:20px}
.case-group-title{margin:0;color:var(--cyan2);font-size:13px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;font-weight:850}
.case-group-count{font-family:var(--serif);font-size:18px;color:var(--ink2)}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.case-card{appearance:none;width:100%;text-align:left;color:var(--ink);background:#fff;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 32px 28px;min-height:310px;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:background .18s ease,transform .18s ease}
.case-card:hover{background:var(--paper2)}
.case-card:focus-visible{outline:3px solid var(--cyan2);outline-offset:-3px}
.case-card-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:42px}
.case-card-no{font-family:var(--serif);font-size:18px;color:var(--cyan2)}
.case-card-category{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--cyan2);text-align:right}
.case-card h2{font-family:var(--serif);font-size:clamp(30px,2.5vw,44px);line-height:1.08;letter-spacing:-.028em;margin:0 0 16px;max-width:780px}
.case-card p{font-family:var(--serif);font-size:18px;line-height:1.5;color:#2f3f45;margin:0 0 26px;max-width:780px}
.case-card-open{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:850;letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.case-card-open:after{content:'→';font-size:20px;color:var(--cyan2)}

.case-modal[hidden]{display:none}
.case-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:22px}
.case-modal-backdrop{position:absolute;inset:0;background:rgba(8,29,34,.66);backdrop-filter:blur(7px)}
.case-modal-panel{position:relative;width:min(1180px,100%);height:min(900px,calc(100dvh - 44px));background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.28);display:grid;grid-template-rows:auto minmax(0,1fr);outline:0}
.case-modal-toolbar{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px 10px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.98);z-index:2}
.case-close,.case-share-actions button{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);min-height:38px;padding:8px 11px;cursor:pointer;font-size:12px;font-weight:850}
.case-close:hover,.case-share-actions button:hover,.case-close:focus-visible,.case-share-actions button:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}
.case-share-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.case-modal-scroll{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.case-document{width:min(1000px,calc(100% - 72px));margin:0 auto;padding:46px 0 58px;color:#242a2d}
.case-doc-header{display:flex;justify-content:flex-end;gap:9px;align-items:center;font-family:var(--serif);font-size:14px;color:#58666c;margin-bottom:22px}
.case-doc-header strong{color:var(--ink);font-weight:700}
.case-doc-category{font-family:var(--serif);font-size:17px;line-height:1.2;color:var(--cyan2);font-weight:800;margin:0 0 14px;text-transform:uppercase}
.case-document h2{font-family:var(--serif);font-size:clamp(42px,5vw,65px);line-height:1.02;letter-spacing:-.035em;margin:0 0 13px;color:var(--ink);font-weight:700}
.case-doc-dek{font-family:var(--serif);font-size:24px;line-height:1.35;color:#2d3235;margin:0 0 22px}
.case-document h3{font-family:var(--serif);font-size:16px;line-height:1.2;color:var(--cyan2);font-weight:800;margin:22px 0 9px;text-transform:uppercase}
.case-doc-body{font-family:var(--serif);font-size:19px;line-height:1.42;margin:0 0 8px;color:#242a2d}
.case-stake-grid{display:grid;grid-template-columns:1fr 1fr;margin:6px 0 28px}
.case-stake{padding:15px 17px 14px;min-height:138px;background:#f0f2f2}
.case-stake.good{background:#e6f4f6;border-left:1px solid #fff}
.case-stake strong{display:block;font-family:var(--serif);font-size:15px;line-height:1.2;color:var(--ink);margin-bottom:8px}
.case-stake p{font-family:var(--serif);font-size:17px;line-height:1.36;margin:0;color:#242a2d}
.case-doc-cta{font-family:var(--serif);font-size:20px;line-height:1.34;font-weight:800;color:var(--ink);background:#e6f4f6;padding:14px 16px;margin:10px 0 9px}
.case-doc-disclaimer{font-family:var(--serif);font-style:italic;font-size:13px;line-height:1.5;color:#68757a;margin:0 0 38px}
.case-doc-footer{font-family:var(--serif);font-size:12px;line-height:1.4;text-align:center;color:#68757a;border-top:1px solid rgba(18,54,65,.08);padding-top:18px}
.case-toast{position:fixed;left:50%;bottom:26px;z-index:240;transform:translate(-50%,14px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;padding:11px 15px;font-size:13px;font-weight:800;box-shadow:0 12px 34px rgba(0,0,0,.18);transition:.18s ease}
.case-toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){
  .case-hero-grid{grid-template-columns:1fr;gap:26px;padding:68px 0 52px}.case-hero-copy{font-size:18px}.case-topic-nav{top:76px}
  .case-grid{grid-template-columns:1fr}.case-card{min-height:270px}.case-document{width:min(100% - 48px,900px)}
}
@media(max-width:760px){
  .case-hero-grid{padding:52px 0 38px}.case-hero h1{font-size:clamp(42px,13vw,64px)}.case-hero-copy{font-size:17px;line-height:1.55}.case-topic-nav{top:64px}
  .case-topic-scroll{width:100%;padding:10px 0}.case-library{padding:38px 0 64px}.case-group{scroll-margin-top:125px;padding:12px 0 42px}.case-group-head{margin-bottom:14px}.case-group-count{font-size:15px}
  .case-card{padding:25px 22px 23px;min-height:0}.case-card-meta{margin-bottom:28px;align-items:flex-start}.case-card-category{max-width:62%}.case-card h2{font-size:33px}.case-card p{font-size:17px;margin-bottom:24px}
  .case-modal{padding:0;place-items:stretch}.case-modal-panel{width:100%;height:100dvh;max-height:none;box-shadow:none}.case-modal-toolbar{min-height:58px;padding:8px 10px;position:sticky;top:0;display:grid;grid-template-columns:auto 1fr}.case-share-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:none;width:100%;overflow:visible}.case-share-actions [data-share-native]{display:none!important}.case-share-actions::-webkit-scrollbar{display:none}.case-close,.case-share-actions button{flex:0 0 auto;min-height:40px;padding:8px 7px;font-size:11px}
  .case-document{width:auto;margin:0;padding:30px 20px calc(46px + env(safe-area-inset-bottom))}.case-doc-header{justify-content:flex-start;font-size:12px;margin-bottom:20px}.case-doc-category{font-size:15px}.case-document h2{font-size:clamp(34px,10.4vw,48px);line-height:1.04}.case-doc-dek{font-size:20px;line-height:1.38}.case-document h3{margin-top:24px}.case-doc-body{font-size:18px;line-height:1.48}.case-stake-grid{grid-template-columns:1fr;gap:1px}.case-stake.good{border-left:0}.case-stake{min-height:0;padding:16px}.case-stake p{font-size:17px;line-height:1.45}.case-doc-cta{font-size:19px;line-height:1.4;padding:15px 16px}.case-doc-disclaimer{font-size:13px;line-height:1.55}.case-doc-footer{text-align:left}
.case-next-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.case-next-actions .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
  .case-toast{bottom:calc(18px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);text-align:center}
}
@media(max-width:430px){
  .case-card h2{font-size:30px}.case-doc-header span:nth-child(2){display:none}
  .case-next-actions{display:grid;grid-template-columns:1fr}.case-next-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.case-card,.case-toast{transition:none}}
