.canvas-case{--case-accent:#8a503d}.canvas-case .eyebrow,.canvas-case em{color:var(--case-accent)}.canvas-case a:focus-visible,.canvas-case summary:focus-visible{outline:3px solid var(--case-accent);outline-offset:5px}.canvas-case .section{padding-top:70px;padding-bottom:70px}.canvas-case h1{overflow-wrap:anywhere;margin:23px 0 26px;font-size:clamp(43px,4.6vw,66px);line-height:1.05}.canvas-case h2{margin:20px 0 30px;font-size:clamp(40px,4vw,57px)}.canvas-case h3{font-size:31px;line-height:1.15}.canvas-hero{grid-template-columns:1.08fr 1fr;align-items:start;gap:60px;padding-top:75px;padding-bottom:58px;display:grid}.canvas-hero .lede{margin:0 0 18px;font-size:1.125rem;line-height:1.65}.project-context{color:#615f58;font-size:1rem;line-height:1.65}.canvas-meta{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr;gap:24px;margin:26px 0;padding-top:20px;display:grid}.canvas-meta dt{letter-spacing:.12em;text-transform:uppercase;font-size:.875rem;font-weight:700}.canvas-meta dd{margin:7px 0 0;font-size:1rem;line-height:1.7}.ai-note{color:#615f58;margin-top:7px;display:block}.implementation-result{margin:22px 0;font-size:1rem;line-height:1.7}.implementation-result strong{text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px;font-size:.875rem;display:block}.release-status{letter-spacing:.06em;border:1px solid #b7b0a3;margin:0;padding:8px 12px;font-size:.875rem;font-weight:700;display:inline-block}.release-status span{letter-spacing:0;margin-left:6px;font-weight:400}.hero-evidence{min-width:0;padding-top:12px}.results-strip{border-top:1px solid var(--line);padding-top:28px;padding-bottom:32px}.metric-grid{grid-template-columns:repeat(5,1fr);gap:25px;margin:0;display:grid}.metric-grid>div{flex-direction:column;min-width:0;display:flex}.metric-grid dt{margin:8px 0 5px;font-size:1rem;font-weight:600;line-height:1.5}.metric-grid dd{margin:0}.metric-grid .metric-value{order:-1;font-family:Instrument Serif,Georgia,serif;font-size:50px;line-height:1}.metric-grid .metric-detail{color:#615f58;overflow-wrap:anywhere;font-size:.875rem;line-height:1.55}.scope-note{color:#615f58;margin-top:20px;font-size:1rem;line-height:1.7}.jump-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 24px;margin-top:24px;padding-top:20px}.jump-links a{text-underline-offset:5px;font-size:1rem;font-weight:500;text-decoration:underline}.section-intro-grid{grid-template-columns:1fr 1fr;align-items:center;gap:65px;display:grid}.section-copy{font-size:1.125rem;line-height:1.8}.section-copy p:first-child{margin-top:0}.course-journey{grid-template-columns:repeat(5,1fr);gap:14px;margin:15px 0 32px;padding:0;list-style:none;display:grid}.course-journey li{border-top:2px solid var(--case-accent);flex-direction:column;gap:5px;min-width:0;padding:14px 12px 12px 0;display:flex;position:relative}.course-journey li:not(:last-child):after{content:"→";color:#615f58;position:absolute;top:42px;right:0}.course-journey .journey-index{color:#615f58;margin-bottom:6px;font-size:.875rem}.course-journey strong{font-size:1rem;font-weight:600;line-height:1.5}.course-journey span:last-child{color:#615f58;font-size:.875rem}.contribution-grid{grid-template-columns:1fr 1fr;gap:0 40px;margin:15px 0 40px;display:grid}.contribution-grid article{border-top:1px solid var(--line);padding:22px 0 20px 34px;position:relative}.contribution-index{color:var(--case-accent);font-size:.875rem;position:absolute;top:25px;left:0}.contribution-grid h3{letter-spacing:0;margin:0 0 8px;font-family:DM Sans,sans-serif;font-size:1.125rem;font-weight:600;line-height:1.4}.contribution-grid p{max-width:740px;margin:0;font-size:1rem;line-height:1.75}.interface-gallery{grid-template-columns:1fr 1fr;gap:34px;display:grid}.technical-detail{border-top:1px solid #cec9bf;margin-top:20px}.technical-detail summary{cursor:pointer;padding:18px 0;font-size:1.125rem;font-weight:500;line-height:1.7}.technical-detail summary span{letter-spacing:.06em;text-transform:uppercase;color:var(--case-accent);margin:0 12px 0 0;font-size:.875rem;display:inline-block}.technical-detail>div{max-width:900px;padding:0 0 12px 20px;font-size:1.125rem;line-height:1.8}.technical-detail p{margin:0 0 14px}.technical-detail li{margin-bottom:9px}.code-pair{grid-template-columns:1fr 1fr;gap:28px;margin-top:22px;display:grid}.code-pair figure{min-width:0}.code-pair figcaption{color:#292a26;margin:0 0 10px;font-size:1rem}.code-pair pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f9f8f5;border:1px solid #d5d2c9;height:100%;min-height:110px;max-height:160px;margin:0;padding:20px;font-size:1.125rem;line-height:1.8}.code-pair code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.qa-cycles{grid-template-columns:1fr 1fr;gap:28px;display:grid}.qa-cycle{border:1px solid #d5d2c9;padding:24px}.qa-cycle h3{justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;display:flex}.qa-cycle h3 span{letter-spacing:0;font-family:DM Sans,sans-serif;font-size:1rem}.qa-counts{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;display:grid}.qa-counts dt{font-size:.875rem}.qa-counts dd{margin:0;font-size:27px}.qa-evidence-grid{grid-template-columns:1fr 1fr;align-items:start;gap:60px;margin-top:38px;display:grid}.qa-evidence-grid>div{font-size:1.125rem;line-height:1.8}.qa-evidence-grid h3{margin-top:0}.verification-boundary{border-left:2px solid var(--case-accent);padding-left:18px}.verification-boundary strong{margin-bottom:8px;display:block}.troubleshooting{margin-top:44px}.troubleshooting>h3{max-width:700px;margin-bottom:26px}.reflection-grid{grid-template-columns:1fr 1fr;align-items:start;gap:65px;display:grid}.reflection-grid>div:last-child{font-size:1.125rem;line-height:1.8}.reflection-grid h2{margin-top:20px}.source-links{flex-wrap:wrap;gap:10px 24px;margin-top:24px;font-size:1rem;display:flex}.canvas-case a{text-underline-offset:4px}.canvas-case section[id]{scroll-margin-top:25px}@media (width<=1000px){.canvas-hero{gap:32px}.canvas-meta{grid-template-columns:1fr;gap:14px}.section-intro-grid,.reflection-grid{gap:32px}.metric-grid{gap:16px}.qa-cycle h3{display:block}.qa-cycle h3 span{margin-top:10px;display:block}}@media (width<=760px){.canvas-hero,.section-intro-grid,.interface-gallery,.code-pair,.qa-cycles,.qa-evidence-grid,.reflection-grid{grid-template-columns:1fr}.canvas-hero{gap:30px;padding-top:48px;padding-bottom:40px}.hero-evidence{width:100%;max-width:540px;padding-top:0}.canvas-case h1{font-size:43px}.canvas-case h2{font-size:42px}.canvas-case .section{padding-top:48px;padding-bottom:48px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:25px 20px}.metric-grid>div:last-child{grid-column:1/-1}.metric-grid .metric-value{font-size:44px}.canvas-meta{grid-template-columns:1fr;gap:16px}.section-intro-grid{gap:0}.course-journey{grid-template-columns:1fr;gap:0;margin-top:24px}.course-journey li{grid-template-columns:24px 1fr;gap:3px 12px;padding:13px 0;display:grid}.course-journey .journey-index{grid-row:1/3;margin:0}.course-journey span:last-child{grid-column:2}.course-journey li:not(:last-child):after{display:none}.contribution-grid{grid-template-columns:1fr}.contribution-grid article:last-child{grid-column:auto}.interface-gallery{gap:30px}.code-pair{gap:24px}.code-pair pre{height:auto;min-height:100px;padding:15px;font-size:1rem}.qa-evidence-grid{gap:25px}.qa-cycle{padding:20px}.qa-cycle h3{display:flex}.qa-cycle h3 span{margin:0}.qa-counts{grid-template-columns:repeat(2,1fr)}.technical-detail summary span{margin-bottom:4px;display:block}.technical-detail>div{padding-left:0}.reflection-grid{gap:5px}.release-status span{margin-left:0;display:block}.jump-links{gap:12px 20px}}@media (prefers-reduced-motion:reduce){.canvas-case{scroll-behavior:auto}}.jump-links{margin-top:0;padding-bottom:28px}.contribution-grid article:last-child{border-bottom:0;grid-column:auto}.code-pair pre{height:auto}@media (width<=760px){.jump-links{gap:14px 20px}}.canvas-meta dt,.implementation-result strong,.journey-index,.contribution-index{font-size:.875rem}.canvas-meta dd,.project-context,.scope-note,.jump-links a,.course-journey strong,.course-journey span:last-child,.code-pair figcaption{font-size:1rem}.section-copy,.implementation-result,.contribution-grid p,.qa-evidence-grid>div,.reflection-grid>div:last-child{font-size:1.125rem}.course-journey li{padding-right:18px}.code-pair pre{max-height:none;font-size:1rem}.evidence-figure[data-astro-cid-wjvltqjh]{min-width:0;margin:0}.image-link[data-astro-cid-wjvltqjh]{background:#fff;border:1px solid #d5d2c9;display:block;overflow:hidden}img[data-astro-cid-wjvltqjh]{width:100%;height:auto;display:block}.is-cropped[data-astro-cid-wjvltqjh] img[data-astro-cid-wjvltqjh]{object-fit:cover;object-position:top;height:350px}figcaption[data-astro-cid-wjvltqjh]{color:#615f58;margin:14px 0 0;font-size:1rem;line-height:1.65}figcaption[data-astro-cid-wjvltqjh] strong[data-astro-cid-wjvltqjh]{color:#292a26;font-size:1.125rem;font-weight:600;display:block}figcaption[data-astro-cid-wjvltqjh] p[data-astro-cid-wjvltqjh]{margin:6px 0}.crop-note[data-astro-cid-wjvltqjh]{font-size:1rem}.evidence-links[data-astro-cid-wjvltqjh]{flex-wrap:wrap;gap:6px 22px;margin-top:10px;display:flex}a[data-astro-cid-wjvltqjh]{color:#292a26;text-underline-offset:4px}a[data-astro-cid-wjvltqjh]:focus-visible{outline-offset:5px;outline:3px solid #8a503d}@media (width<=760px){.is-cropped[data-astro-cid-wjvltqjh] img[data-astro-cid-wjvltqjh]{height:auto;max-height:360px}}
