@import url("../os-theme.css");
:root{color-scheme:light;--ink:#172033;--muted:#4b5563;--line:#cbd0d8;--paper:#fff;--accent:#facc15;font-family:var(--os-font);color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid #2563eb;outline-offset:4px}p,li{font-size:1rem;line-height:1.85}p{margin:0 0 1.2rem}h1,h2,h3{line-height:1.25;overflow-wrap:anywhere}h1{font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.035em;margin:.4rem 0 1rem}h2{font-size:1.125rem;letter-spacing:-.035em;margin:0 0 1.3rem}h3{font-size:1.125rem;margin:1.75rem 0 .7rem}small,.eyebrow{font-size:.875rem;line-height:1.6}.site-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 28px;font-size:.875rem}.site-bar span{color:var(--muted)}.skip-link{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:4}.skip-link:focus{top:12px}.layout{display:grid;grid-template-columns:165px minmax(0,1fr);gap:32px;max-width:1080px;margin:auto;padding:36px 28px 64px}.contents{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:6px;font-size:.875rem}.contents p{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}.contents a{display:block;padding:10px 0;text-decoration:none}.contents a:hover{text-decoration:underline}.case-article{min-width:0;max-width:760px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--muted)}.file-number{padding:4px 8px;background:var(--accent);color:var(--ink);border:1px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.lede{font-size:1rem;line-height:1.75;max-width:62ch}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}dt{font-size:.875rem;color:var(--muted);margin-bottom:8px}dd{margin:0;font-size:1rem;line-height:1.65}.case-section{padding-top:44px;scroll-margin-top:24px}.section-number{display:block;font-size:.75rem;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.stack{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}.stack li{font-size:.875rem;line-height:1.5;padding:6px 10px;border:1px solid var(--line);background:#f8fafc}.architecture{margin:24px 0}.architecture img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:4px;background:#f8fafc}.architecture figcaption,.gallery figcaption{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:12px}.design-note{border-left:3px solid var(--ink);padding-left:20px;margin:24px 0}.design-note h3{margin-top:0}.design-note p:last-child{margin-bottom:0}details{border-top:1px dashed var(--line);padding:16px 0}details:last-of-type{border-bottom:1px dashed var(--line)}summary{font-size:1rem;font-weight:600;cursor:pointer;padding:4px 0;line-height:1.6}details p{margin:16px 0 0}.scope-note{border:1px solid var(--line);background:#f8fafc;padding:20px;margin-top:24px}.scope-note p:last-child{margin-bottom:0}.gallery{display:grid;gap:28px;margin-top:24px}.gallery figure{margin:0}.gallery img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:4px}.project-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}.project-links a{padding:12px 0}.case-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);margin-top:48px;padding-top:24px;font-size:.875rem}code{overflow-wrap:anywhere}
@media(max-width:768px){.layout{display:block;padding:24px 20px 48px}.contents{position:static;flex-direction:row;flex-wrap:wrap;gap:4px 16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:28px}.contents p{width:100%;margin:0}.contents a{padding:6px 0}.site-bar{padding:14px 20px}.site-bar span{display:none}.facts{gap:16px}.case-section{padding-top:36px}h2{font-size:1.4rem}}
@media(max-width:380px){.facts{grid-template-columns:1fr}.layout{padding-left:16px;padding-right:16px}}
@media print{.site-bar,.contents,.skip-link,.case-footer{display:none}.layout{display:block;padding:0;max-width:none}.case-article{max-width:none}.case-section{padding-top:24px}.architecture,figure,.scope-note{break-inside:avoid}details>*{display:block!important}h1{font-size:2.5rem}p,li{font-size:11pt}}


.embedded .site-bar{display:none}.embedded .case-footer a[target="_top"]{text-decoration:underline}.file-number{box-shadow:none;border-radius:3px}.facts{background:#f8fafc;padding:20px;border:1px solid var(--line);border-radius:4px}
