:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
--bg:#f3f6f6;--card:#fff;--fg:#1d2528;--muted:#5a676c;--border:#dce4e4;--secondary:#e6eded;--teal:#0f766e;--teal-soft:#d8eeeb;--lime:#a3e635;--lime-soft:#ecf8cf;--lime-text:#4a6a0a;--hero:#1b2326;
--display:"Newsreader",Georgia,serif;--sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#111618;--card:#192023;--fg:#e9f0f0;--muted:#9aa8ac;--border:#2a3438;--secondary:#232d30;--teal:#5eead4;--teal-soft:#16302e;--lime:#bef264;--lime-soft:#26310f;--lime-text:#bef264;--hero:#0c1113}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#111618;--card:#192023;--fg:#e9f0f0;--muted:#9aa8ac;--border:#2a3438;--secondary:#232d30;--teal:#5eead4;--teal-soft:#16302e;--lime:#bef264;--lime-soft:#26310f;--lime-text:#bef264;--hero:#0c1113}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:39}
a{color:inherit}ul{list-style:none;margin:0;padding:0}h1,h2,h3,p{margin:0}
.wrap{max-width:72rem;margin:0 auto;padding:0 20px}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px)}
.bar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.mb{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--hero);color:var(--lime);font:500 14px var(--display);letter-spacing:.05em}
.bn{font:400 20px var(--display)}
nav ul{display:flex;gap:4px;font-size:14px}nav a{display:block;padding:8px 14px;border-radius:999px;font-weight:500;text-decoration:none}
nav a:hover{background:var(--secondary)}nav a.on{background:var(--hero);color:#fff}
.hero{background:radial-gradient(ellipse at 85% 0%,rgba(45,212,191,.28),transparent 55%),radial-gradient(ellipse at 5% 100%,rgba(163,230,53,.14),transparent 50%),var(--hero);color:#eef4f4}
.hero .wrap{padding-top:104px;padding-bottom:88px}.hero .eyebrow{color:#a3e635;margin-bottom:24px}
h1{font:400 clamp(44px,8.5vw,92px)/.97 var(--display);letter-spacing:-.025em;margin-bottom:28px}
.lead{max-width:42rem;font:italic 400 clamp(20px,2.6vw,24px)/1.6 var(--display);color:#b7c6c8;margin-bottom:36px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:opacity .2s,border-color .2s}
.btn.lime{background:#a3e635;color:#17200a}.btn.teal{background:var(--teal);color:var(--card)}
.btn.ghost{border-color:rgba(255,255,255,.3);color:#fff}.btn.out{border-color:var(--border);background:var(--card)}
.btn:hover{opacity:.88}.btn.ghost:hover,.btn.out:hover{border-color:var(--teal)}
.badges{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}.badge{font:500 12px/1 var(--mono);padding:8px 12px;border:1px solid rgba(163,230,53,.5);border-radius:999px;color:#d4f08a}
.rise{animation:rise .7s ease both}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rise{animation:none}}
.ic{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.ic .lm,.lm{fill:var(--lime)}
.ico{display:grid;place-items:center;width:56px;height:56px;padding:9px;border-radius:16px;background:var(--teal-soft);color:var(--teal);flex-shrink:0}
.ico.big{width:72px;height:72px;padding:12px;border-radius:20px}.ico.s{background:var(--lime-soft);color:var(--lime-text)}
section.block{padding:64px 0 8px}.head{margin-bottom:32px}.head .eyebrow{margin-bottom:12px}
h2.title{font:400 clamp(30px,4vw,36px)/1.15 var(--display)}
.grid{display:grid;gap:20px;grid-template-columns:1fr}@media (min-width:768px){.grid.g2{grid-template-columns:1fr 1fr}.grid.g3{grid-template-columns:repeat(3,1fr)}}
.explore{display:flex;flex-direction:column;justify-content:space-between;gap:28px;position:relative;overflow:hidden;min-height:250px;padding:28px;border-radius:16px;text-decoration:none;background:var(--teal-soft);transition:transform .3s}
.explore.s{background:var(--lime-soft)}.explore.d{background:var(--hero);color:#eef4f4}.explore:hover{transform:translateY(-4px)}
.explore .bgi{position:absolute;right:-26px;bottom:-26px;width:170px;height:170px;opacity:.13;color:var(--teal)}.explore.s .bgi{color:var(--lime-text)}.explore.d .bgi{color:#a3e635}
.explore .top{display:flex;justify-content:space-between;align-items:center;font:400 13px var(--mono)}
.explore h3{font:400 32px/1.15 var(--display);margin-bottom:8px}.explore p{max-width:22rem;opacity:.78;font-size:15px}
.work{position:relative;display:flex;flex-direction:column;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--card);transition:transform .3s,box-shadow .3s}
.work:hover{transform:translateY(-2px);box-shadow:0 14px 30px -16px rgba(15,40,40,.4)}.work:focus-within{box-shadow:0 0 0 2px var(--teal)}
.wt{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;background:var(--teal-soft);color:var(--teal)}.pill.s{background:var(--lime-soft);color:var(--lime-text)}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.work h3{font:400 24px/1.3 var(--display);margin-bottom:10px}.work h3 a{text-decoration:none;outline:none}.work h3 a::after{content:"";position:absolute;inset:0;border-radius:14px}
.work p{color:var(--muted);margin-bottom:20px;font-size:15px}.work .sub{font:500 13px var(--mono);color:var(--teal);margin:-4px 0 10px}
.foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.tags{display:flex;flex-wrap:wrap;gap:6px}.tags li{border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:12px;color:var(--muted)}
.more{font-size:13px;font-weight:600;color:var(--teal);white-space:nowrap}
.about{display:grid;gap:40px;padding:32px;border:1px solid var(--border);border-radius:16px;background:var(--card)}
@media (min-width:640px){.about{padding:48px}}@media (min-width:768px){.about{grid-template-columns:1fr 1.4fr}}
.about h2{font:400 34px/1.15 var(--display);margin:12px 0 16px}.about .ed{color:var(--muted);margin-bottom:12px;font-size:15px}
.ul{font-weight:500;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:4px}.ul:hover{text-decoration-color:var(--teal)}
.about h3{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.int{font:400 24px/1.3 var(--display);display:grid;gap:8px;margin-bottom:32px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips li{border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:14px}
.back{display:inline-block;margin:36px 0 24px;font-size:14px;font-weight:600;color:var(--teal);text-decoration:none}.back:hover{text-decoration:underline}
.ph{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.ph+h1{font-size:clamp(34px,6vw,56px);line-height:1.05;margin-bottom:14px}.psub{font:500 14px var(--mono);color:var(--teal);margin-bottom:8px}
.cols{display:grid;gap:28px;margin:32px 0 0}@media (min-width:900px){.cols{grid-template-columns:1.7fr 1fr;align-items:start}}
.panel{border:1px solid var(--border);border-radius:14px;background:var(--card);padding:28px;margin-bottom:20px}
.panel h2{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.panel p{font-size:17px}.panel ul{display:grid;gap:10px}.panel li{padding-left:22px;position:relative;font-size:16px}
.panel li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 2px var(--teal-soft)}
dl{margin:0;display:grid;gap:14px}dt{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}dd{margin:0;font-size:15px}
.side .btn{width:100%;justify-content:center;margin-top:10px}
.fig{margin:0 0 20px}.fig img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border);background:#fff}.fig figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.pdf{width:100%;height:min(80vh,900px);border:1px solid var(--border);border-radius:12px;background:var(--card)}
footer{margin-top:96px;border-top:1px solid var(--border)}
footer .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:24px;justify-content:space-between}@media (min-width:640px){footer .wrap{flex-direction:row;align-items:flex-end}}
footer .n{font:400 24px/1.2 var(--display);margin-bottom:4px}footer .s{font-size:14px;color:var(--muted)}footer ul{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}
@media (max-width:620px){.bn{display:none}nav a{padding:8px 10px}.hero .wrap{padding-top:64px;padding-bottom:56px}}
.fig.sm{max-width:420px}
