/* The dialog reserves space for the floating contact control. */
html.case-modal-open{overflow:hidden}
.case-modal{--case-ink:#101b2b;--case-muted:#4a5667;position:fixed;inset:0;margin:auto;width:min(1180px,calc(100% - 56px));height:min(960px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;border:1px solid #ffffff30;border-radius:16px;background:#fff;color:var(--case-ink);box-shadow:0 35px 110px #0009;overflow:hidden}
.case-modal[open]{display:flex;flex-direction:column}
.case-modal::backdrop{background:#030914d9;backdrop-filter:blur(8px)}
.case-modal-toolbar{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:20px;min-height:64px;padding:8px 24px;background:#0b1424;color:#fff}
.case-modal-toolbar::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:calc(var(--case-progress,0)*100%);background:#df8737}
.case-modal-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;background:transparent;color:inherit;min-height:44px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:600}
.case-modal-toolbar button:hover{background:#ffffff15}
.case-modal-back>span{font-size:23px;font-weight:400}
.case-modal-caption{display:flex;align-items:center;gap:20px;margin-left:auto;color:#b7c3d6;font-size:12px}
.case-modal-count{font:11px/1.4 var(--mono);letter-spacing:.05em}
.case-modal-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.case-modal :is(a,button,[tabindex="0"]):focus-visible{outline:3px solid #c3712f;outline-offset:4px}
.case-modal [tabindex="-1"]:focus{outline:none}
.case-modal-scroll{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;scroll-padding-top:32px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;outline-offset:-4px!important}
.case-cover{display:grid;grid-template-columns:1.12fr 1fr;gap:24px 40px;align-items:center;padding:32px 48px 24px;background:#0b1424;color:#fff}
.case-cover-copy{min-width:0}
.case-kicker{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#edaa6c}
.case-kicker::before{content:"";width:20px;height:2px;background:currentColor}
:is(.case-modal,.case-page) .case-dialog-title{font-size:clamp(40px,4.3vw,57px);font-weight:750;letter-spacing:-.055em;line-height:1.035;margin:22px 0 0;text-wrap:balance}
.case-deck{font-size:20px;line-height:1.55;color:#c8d3e4;margin-top:24px;max-width:560px}
.case-cover-art{align-self:center;justify-self:end;position:relative;min-width:0;max-width:360px}
.case-cover-art img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:8px;box-shadow:0 20px 50px #0004}
.case-focus{display:flex;flex-wrap:wrap;gap:14px 28px;grid-column:1/-1;font-size:13px;line-height:1.5;color:#c8d3e4;padding-top:6px}
.case-focus>span{display:flex;align-items:center;gap:10px}
.case-focus>span::before{content:"";width:4px;height:4px;border-radius:50%;background:#df8737}
.case-reading{display:grid;grid-template-columns:170px minmax(0,1fr);gap:52px;padding:56px 58px 52px 48px}
.case-toc{position:sticky;top:32px;align-self:start;display:flex;flex-direction:column;gap:3px}
.case-label{font:600 11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:#8a4a17}
.case-toc>.case-label{color:#647083;margin-bottom:17px}
.case-toc a{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px;line-height:1.4;color:#647083;padding:8px 0}
.case-toc a::before{content:"";width:5px;height:5px;background:transparent;border-radius:50%;flex-shrink:0}
.case-toc a:hover{color:#101b2b}
.case-toc a[aria-current="location"]{color:#101b2b;font-weight:650}
.case-toc a[aria-current="location"]::before{background:#b96b2b}
.case-narrative{min-width:0;max-width:720px}
.case-narrative>section+section{margin-top:58px}
.case-narrative :is(h2,h3){font-size:36px;line-height:1.13;font-weight:700;letter-spacing:-.045em;margin-top:16px;text-wrap:balance}
.case-narrative section>p:not(.case-label){font-size:19px;line-height:1.75;color:var(--case-muted);margin-top:24px}
.case-steps{list-style:none;display:grid;gap:30px;margin-top:35px}
.case-steps li{display:grid;grid-template-columns:38px 1fr;gap:16px}
.case-step-marker{width:32px;height:32px;display:grid;place-items:center;border:1px solid #ccd3df;border-radius:50%;font:11px/1 var(--mono);color:#556479;margin-top:1px}
.case-steps :is(h3,h4){font-size:23px;line-height:1.35;font-weight:700;letter-spacing:-.025em}
.case-steps p{font-size:18px;line-height:1.75;color:var(--case-muted);margin-top:10px}
.case-verification{padding:32px;background:#edf2f8;border-radius:10px;border-top:3px solid #df8737}
.case-narrative .case-verification :is(h2,h3){font-size:32px;text-wrap:initial}
.case-narrative .case-verification>p:not(.case-label){font-size:18px;line-height:1.7;margin-top:20px}
.case-checks{list-style:none;display:grid;gap:18px;margin-top:26px}
.case-checks li{display:flex;align-items:flex-start;gap:13px;font-size:17px;line-height:1.6;color:#25364d}
.case-checks svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:#9b4e17;stroke-width:1.7;margin-top:3px}
.case-modal-dock{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;height:82px;padding:10px 25px 16px;background:#fff}
.case-modal-talk{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;min-width:167px;padding:14px 22px;background:#df8737;color:#101b2b;border:1px solid #c7762d;border-radius:999px;box-shadow:0 5px 15px #a8582426;font-size:16px;line-height:1.3;font-weight:650;transition:background .2s,box-shadow .2s}
.case-modal-talk svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.case-modal-talk:hover{background:#eb9a50;box-shadow:0 7px 20px #a8582436}
.case-modal-talk:focus-visible{outline-color:#101b2b}
@media(max-width:950px){.case-cover{padding:40px 32px 28px;gap:30px;grid-template-columns:1.1fr 1fr}:is(.case-modal,.case-page) .case-dialog-title{font-size:43px}.case-deck{font-size:18px}.case-reading{padding:40px 32px;grid-template-columns:145px minmax(0,1fr);gap:30px}.case-narrative :is(h2,h3){font-size:31px}.case-verification{padding:25px}}
@media(max-width:720px){.case-reading{display:block}.case-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:0 18px;margin-bottom:35px}.case-toc>.case-label{width:100%;margin-bottom:7px}.case-toc a{font-size:13px;gap:0}.case-toc a::before{display:none}.case-toc a[aria-current="location"]{font-weight:600}.case-cover{grid-template-columns:1fr}.case-cover-art{max-width:520px}.case-focus{gap:12px 21px}.case-modal-caption{font-size:0;gap:0}}
@media(max-width:620px){.case-modal{width:calc(100% - 12px);height:calc(100dvh - 12px);border-radius:12px}.case-modal-toolbar{min-height:58px;padding:7px 12px;gap:10px}.case-modal-toolbar button{font-size:13px;padding:8px;gap:8px}.case-modal-close{min-width:44px}.case-modal-close>span{display:none}.case-modal-count{font-size:10px}.case-cover{padding:28px 23px 25px;gap:28px}.case-kicker{font-size:10px}:is(.case-modal,.case-page) .case-dialog-title{font-size:40px;line-height:1.07;margin-top:17px;text-wrap:initial}.case-deck{font-size:18px;line-height:1.55;margin-top:20px}.case-focus{font-size:12px;gap:10px 17px;padding:0}.case-cover-art img{border-radius:6px}.case-reading{padding:30px 23px 34px}.case-toc{gap:0 18px;margin-bottom:30px}.case-toc>.case-label{font-size:10px}.case-narrative :is(h2,h3){font-size:31px}.case-narrative section>p:not(.case-label){font-size:18px;line-height:1.72;margin-top:20px}.case-narrative>section+section{margin-top:42px}.case-steps{gap:26px;margin-top:28px}.case-steps li{grid-template-columns:28px 1fr;gap:13px}.case-step-marker{width:26px;height:26px;font-size:10px}.case-steps :is(h3,h4){font-size:21px}.case-steps p{font-size:17px;line-height:1.7;margin-top:9px}.case-verification{padding:24px 20px;margin-inline:-4px}.case-narrative .case-verification :is(h2,h3){font-size:29px}.case-narrative .case-verification>p:not(.case-label){font-size:17px}.case-checks li{font-size:16px}.case-modal-dock{height:78px;padding:9px 16px 15px}.case-modal-talk{min-height:52px;min-width:158px;font-size:15px;padding:13px 20px}}
@media(max-width:360px){.case-cover,.case-reading{padding-inline:18px}:is(.case-modal,.case-page) .case-dialog-title{font-size:35px}.case-toc{gap:0 13px}.case-toc a{font-size:12px}.case-narrative :is(h2,h3){font-size:28px}.case-narrative .case-verification :is(h2,h3){font-size:26px}}
@media(prefers-reduced-motion:reduce){.case-modal *{scroll-behavior:auto;transition:none!important}}
.reduce-motion .case-modal *{scroll-behavior:auto;transition:none!important}

/* Keep the reading area usable on phones held in landscape. */
@media(max-height:500px) and (orientation:landscape){
 .case-modal{height:calc(100dvh - 16px);width:min(1180px,calc(100% - 24px));border-radius:10px}
 .case-modal-toolbar{min-height:52px;padding:4px 16px}
 .case-modal-dock{height:60px;padding:7px 16px 9px}
 .case-modal-talk{min-height:44px;padding:10px 18px;font-size:15px}
 .case-cover{padding-top:24px}
 .case-reading{padding-top:30px}
}
