/* Project-page typography and grid measured from the Astra reference.
   Loaded only by editorial project and utility pages, never the homepage. */
@font-face{font-family:'OpenAI Sans';src:url('/assets/fonts/OpenAISans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'OpenAI Sans';src:url('/assets/fonts/OpenAISans-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
.case-page{--sans:'OpenAI Sans',Arial,sans-serif;--presentation-width:1136px;--reading-column:676px;--article:676px;--reading-surface:#111219;--reading-border:#262a34;--reading-pad:32px;font-size:17px;line-height:28px;background:#08090c}
.case-page .hero{padding:80px 32px 0}
.case-page .hero>.wrap,.case-page footer>.foot{width:100%;max-width:var(--presentation-width);margin-inline:auto}
.case-page .hero>.wrap{padding:64px 32px;text-align:center}
.case-page .hero .role{margin:0 0 24px;font:500 12px/20px var(--sans);letter-spacing:.08em}
.case-page .hero h1{max-width:850px;margin:0 auto;font-size:48px;line-height:55.68px;font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.case-page .hero .blurb{max-width:var(--reading-column);margin:24px auto 0;font-size:17px;line-height:28px;text-align:left}
.case-page .meta-row{max-width:850px;justify-content:center;margin:32px auto 0;gap:16px 24px;font:400 14px/23px var(--sans);letter-spacing:0}
.case-page main.rule{padding:64px 32px;border:0}
.case-page main>.prose{width:100%;max-width:var(--presentation-width);margin-inline:auto;padding:48px 32px}
.case-page .prose>p,.case-page .prose>h2,.case-page .prose>h3,.case-page .prose>.callout,.case-page .prose>figure.code,.case-page .prose>ul,.case-page .prose>ol,.case-page .prose>table.t,.case-page .prose>.stat-reveal,.case-page .prose>.live-feed,.case-page .prose>.stack-row,.case-page .prose>.stack-caption{width:100%;max-width:var(--reading-column);margin-inline:auto}
.case-page .stat-reveal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:40px auto}
.case-page .stat-reveal__card{padding:20px 12px;text-align:center;background:var(--reading-surface);border:1px solid var(--reading-border);border-radius:12px}
.case-page .stat-reveal__card strong{display:block;font:500 28px/1.15 var(--sans);letter-spacing:-.01em}
.case-page .stat-reveal__card span{display:block;margin-top:8px;font-size:13px;line-height:18px;color:#9296a6}
.case-page .prose p,.case-page .prose>p:first-of-type,.case-page .prose li{font-size:17px;line-height:28px}
.case-page .prose p{margin-bottom:24px}
.case-page .prose h2{margin-top:64px;margin-bottom:24px;font-size:30px;line-height:39.6px;font-weight:500;letter-spacing:-.01em;text-wrap:balance}
.case-page .prose h3{margin-top:40px;margin-bottom:24px;font-size:24px;line-height:32px;font-weight:500;letter-spacing:-.01em}
.case-page .prose .callout{font-size:17px;line-height:28px;padding:24px;border-color:var(--reading-border);border-radius:12px}
.case-page .prose table.t{font-size:14px;line-height:23px;margin-block:32px;table-layout:fixed}
.case-page .prose table.t th,.case-page .prose table.t td{padding:16px;overflow-wrap:anywhere}
.case-page .prose table.t th:first-child{width:35%}
.case-page .prose figure.code{margin-block:32px}
.case-page .prose figure.code pre{max-width:100%;overflow-x:auto}
.case-page figure.shot-video{width:100%;max-width:none;left:auto;transform:none;margin:64px auto;border:1px solid var(--reading-border);border-radius:12px;overflow:hidden;background:var(--reading-surface)}
.case-page .shot-video__stage{min-height:0;padding:48px;border:0}
.case-page .shot-video__media{width:min(100%,300px);height:auto;aspect-ratio:9/16}
.case-page figure.shot-video figcaption,.case-page .shot-video__transcript{width:calc(100% - 64px);max-width:634px;margin-inline:auto;font-size:14px;line-height:22.96px}
.case-page figure.shot-video figcaption{margin-top:0;padding:32px 0 0}
.case-page .shot-video__transcript{margin-top:24px;margin-bottom:32px}
.case-page .shot-video__transcript li{font-size:14px;line-height:22.96px}
.case-page footer{padding:0 32px 32px;background:transparent;border:0}
.case-page footer>.foot{padding:24px 32px;font-size:14px}
.case-page.utility-page .hero{padding-bottom:64px}
.case-page.utility-page .hero .blurb{text-align:center}
@media(max-width:600px){
.case-page .hero{padding:32px 16px 0}
.case-page .hero>.wrap{padding:32px 20px}
.case-page .hero h1{font-size:34px;line-height:39.44px;letter-spacing:-.025em}
.case-page .meta-row{gap:16px;flex-wrap:wrap}
.case-page .meta-row>span{flex-basis:100%}
.case-page main.rule{padding:40px 16px}
.case-page main>.prose{width:100%;padding:32px 20px}
.case-page .prose h2{font-size:26px;line-height:34px;margin-top:48px}
.case-page .prose h3{font-size:22px;line-height:30px}
.case-page .prose>.callout{padding:20px}
.case-page .stat-reveal{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px auto}
.case-page .stat-reveal__card{padding:16px 10px}
.case-page .stat-reveal__card strong{font-size:24px}
.case-page figure.shot-video{margin-block:40px}
.case-page .shot-video__stage{padding:24px 16px}
.case-page .shot-video__media{width:min(100%,260px)}
.case-page figure.shot-video figcaption,.case-page .shot-video__transcript{width:calc(100% - 32px)}
.case-page .prose .shot-video__transcript{padding:16px}
.case-page .prose table.t{display:table;overflow:visible;white-space:normal;font-size:13px;line-height:21px}
.case-page .prose table.t th,.case-page .prose table.t td{padding:12px 8px}
.case-page footer{padding-inline:16px}.case-page footer>.foot{padding:24px 20px}
}
