@import url('/fonts/fonts.css');
:root{font-family:Inter,Arial,sans-serif;color-scheme:light;--bg:#f8f6f2;--paper:#fff;--ink:#152333;--sub:#596a7d;--line:#d9e1e8;--blue:#2368d5;--navy:#0d223b;--soft:#eaf0f8;--accent:#c3884f;--shadow:0 24px 80px rgba(18,34,55,.08)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0d1118;--paper:#151e2b;--ink:#eef4fc;--sub:#b8c5d4;--line:#39485a;--blue:#8ebcff;--navy:#aaccff;--soft:#1d3047;--accent:#f4bd83;--shadow:0 24px 80px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);line-height:1.7;overflow-wrap:break-word}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}p{margin:0 0 1.2em}h1,h2,h3{line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5.8vw,5.3rem);margin:.3em 0 .3em;font-weight:700}h2{font-size:clamp(1.55rem,3vw,2.35rem);margin:0 0 .6em}h3{font-size:1.28rem;margin:.2em 0 .55em}.wrap{width:min(1120px,calc(100% - 44px));margin:0 auto}.skip{position:absolute;transform:translateY(-200%);left:15px;top:10px;padding:12px;background:var(--paper)}.skip:focus{transform:none;z-index:20}.topbar{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:var(--bg);background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(20px)}.topbar-inner{min-height:76px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;letter-spacing:-.035em;white-space:nowrap}.brand img{width:54px;height:35px;object-fit:contain}.nav{display:flex;align-items:center;gap:clamp(12px,3vw,35px);margin-left:auto}.nav a{font-size:.84rem;font-weight:700;letter-spacing:.06em}.theme{border:1px solid var(--line);border-radius:100px;padding:9px 14px;background:var(--paper);color:var(--ink);font:inherit;font-weight:650;cursor:pointer;white-space:nowrap}.hero{position:relative;padding:clamp(55px,8vw,116px) 0 45px;isolation:isolate}.hero:before{content:"";position:absolute;z-index:-1;top:-180px;left:40%;width:55vw;max-width:780px;height:640px;background:radial-gradient(circle,rgba(43,122,224,.1),transparent 66%);pointer-events:none}.crumbs{font-size:.85rem;color:var(--sub);margin:0 0 28px}.crumbs a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}.crumbs span{padding:0 9px}.eyebrow{color:var(--blue);font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.18em;font-family:'IBM Plex Mono',monospace}.hero .lead{font-size:clamp(1.13rem,1.95vw,1.35rem);line-height:1.7;color:var(--sub);max-width:780px}.hero .kicker{display:inline-block;border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:.77rem;color:var(--sub);letter-spacing:.055em;margin-bottom:14px}.accent{color:var(--blue)}.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:45px;padding:10px 19px;border:1px solid var(--line);border-radius:7px;font-weight:700;font-size:.9rem;background:var(--paper);transition:transform .15s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--navy);border-color:var(--navy);color:var(--bg)}:root[data-theme="dark"] .button.primary{background:#9fc7ff;color:#0c1625}.section{padding:45px 0 70px}.section-kicker{margin-bottom:14px}.intro{max-width:770px;color:var(--sub)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:26px;min-width:0}.panel p,.panel li{color:var(--sub)}.panel p:last-child{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{overflow:hidden;padding:0}.project-card .cover{display:block;width:100%;height:245px;object-fit:cover;background:var(--soft)}.card-inner{padding:26px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 22px;padding:0;list-style:none}.tags li{font-size:.72rem;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;font-weight:700;border:1px solid var(--line);border-radius:99px;padding:6px 10px;color:var(--sub)}.text-link{display:inline-block;color:var(--blue);font-weight:750;text-underline-offset:5px;text-decoration:underline}.feature-image{width:100%;max-height:520px;object-fit:cover;background:var(--soft);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:32px 0}.metric{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.metric strong{display:block;font-size:clamp(1.7rem,3.4vw,2.65rem);line-height:1.1;color:var(--blue);margin-bottom:8px}.metric span{font-size:.88rem;color:var(--sub)}.article-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(245px,1fr);gap:38px;align-items:start}.prose h2{margin-top:2em}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--sub)}.prose ul,.prose ol{padding-left:24px}.sidebar{position:sticky;top:100px}.sidebar .panel{margin-bottom:16px}.sidebar ul{padding-left:18px}.sidebar a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.related{border-top:1px solid var(--line);padding:56px 0 80px}.related-links{display:flex;flex-wrap:wrap;gap:12px}.notice{border-left:3px solid var(--accent);padding:12px 18px;background:var(--soft);font-size:.9rem;color:var(--sub)}.footer{border-top:1px solid var(--line);padding:32px 0 55px;margin-top:20px;color:var(--sub);font-size:.85rem}.footer .wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.footer a{color:var(--blue)}.small{font-size:.89rem;color:var(--sub)}.figcaption{font-size:.84rem;color:var(--sub);margin-top:10px}.list-links{display:flex;flex-wrap:wrap;gap:14px}.list-links a{color:var(--blue);text-decoration:underline}.pill{display:inline-block;padding:5px 11px;border:1px solid var(--line);border-radius:99px;color:var(--sub);font-size:.75rem;font-weight:700}
@media(max-width:760px){.topbar-inner{flex-wrap:wrap;gap:8px;padding:12px 0}.nav{order:3;width:100%;justify-content:center;margin:0;gap:20px}.brand{margin-right:auto}.hero{padding:52px 0 28px}.grid,.cards,.article-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{position:static}.project-card .cover{height:215px}.section{padding:28px 0 55px}}@media(max-width:420px){.wrap{width:calc(100% - 32px)}.nav{gap:14px}.nav a{font-size:.75rem}.metric-row{grid-template-columns:1fr}.panel{padding:20px}.brand img{width:42px}.brand span{font-size:.9rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
