:root{--ink:#172033;--muted:#62708a;--paper:#fff;--canvas:#f5f7fb;--soft:#eef4ff;--line:#d9e1ee;--blue:#185ccf;--blue-dark:#123c83;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--canvas);font:17px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;padding:.6rem .8rem;background:#fff;z-index:3}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(5vw,1.25rem);background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:800;color:var(--ink);text-decoration:none}.site-header nav{display:flex;gap:1.15rem;flex-wrap:wrap}.site-header a,footer a{color:var(--blue);text-underline-offset:.18em}main{width:min(1040px,calc(100% - 2rem));margin:2.5rem auto 4rem}.case{background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 35px rgba(20,43,85,.07);border-radius:var(--radius);overflow:hidden}.case-header{padding:clamp(1.6rem,5vw,4.2rem);padding-bottom:clamp(1.8rem,4vw,3rem);background:linear-gradient(135deg,#fff 0%,#f5f8ff 100%);border-bottom:1px solid var(--line)}.back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:2.25rem;color:var(--blue);font-size:.95rem;font-weight:700;text-decoration:none}.eyebrow{margin:0 0 .6rem;color:var(--blue);font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.76rem}.meta{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.25rem;color:var(--muted);font-size:.9rem}.tag{padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;background:#fff}h1{max-width:18ch;margin:0;font-size:clamp(2.2rem,5.2vw,4rem);line-height:1.08;letter-spacing:-.04em}h2{margin:0 0 1rem;font-size:clamp(1.3rem,2vw,1.55rem);line-height:1.25;letter-spacing:-.02em}h3{margin:0 0 .45rem;font-size:.93rem;text-transform:uppercase;letter-spacing:.06em;color:var(--blue-dark)}p{max-width:72ch;margin:.1rem 0 1rem}.lede{margin:0;max-width:62ch;font-size:clamp(1.08rem,1.8vw,1.25rem);line-height:1.65;color:#35435d}.case-body{padding:clamp(1.6rem,5vw,4.2rem)}.case-section{padding:0 0 2.6rem;margin:0 0 2.6rem;border-bottom:1px solid var(--line)}.case-section:last-child{border:0;margin:0;padding:0}.flow{display:grid;gap:.7rem;max-width:760px;padding:1.1rem;border:1px solid #cfdcf2;border-radius:12px;background:var(--soft)}.flow-step{position:relative;padding:.75rem 1rem .75rem 1.35rem;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;background:#fff;color:#253651;font-weight:600;line-height:1.55}.flow-step:not(:last-child)::after{content:"↓";position:absolute;left:-.54rem;bottom:-1.1rem;width:1rem;height:1rem;border-radius:50%;background:var(--blue);color:#fff;text-align:center;font-size:.72rem;line-height:1rem}.contributions{display:grid;gap:.8rem;max-width:800px;margin:0;padding:0;list-style:none;counter-reset:item}.contributions li{position:relative;padding:1rem 1rem 1rem 3.6rem;border:1px solid var(--line);border-radius:10px;background:#fff;line-height:1.6}.contributions li::before{counter-increment:item;content:counter(item);position:absolute;left:1rem;top:1rem;display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--soft);color:var(--blue-dark);font-weight:800;font-size:.82rem}.scope-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1rem}.scope-card{padding:1.25rem;border:1px solid var(--line);border-radius:10px;background:#f9fbff}.scope-card p{margin:0;color:#3d4c65}.skill-list{display:flex;gap:.45rem;flex-wrap:wrap}.skill{padding:.28rem .58rem;border-radius:999px;background:#e9f1ff;color:#174b9e;font-size:.88rem;font-weight:650}.links{display:flex;gap:.7rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;padding:.68rem .95rem;border:1px solid var(--blue);border-radius:8px;text-decoration:none;color:var(--blue);font-weight:750;font-size:.95rem}.button:hover,.button:focus{background:var(--blue);color:#fff}.notice{padding:1rem;background:#fff6dc}footer{padding:1.5rem max(5vw,1.25rem);border-top:1px solid var(--line);color:var(--muted);background:#fff;font-size:.95rem}@media(max-width:700px){body{font-size:16px}.site-header{align-items:flex-start;flex-direction:column}.case{border-radius:10px}.scope-grid{grid-template-columns:1fr}.case-header,.case-body{padding:1.5rem}.back{margin-bottom:1.5rem}.case-section{padding-bottom:2rem;margin-bottom:2rem}.contributions li{padding-left:3.35rem}}
