:root{--bg:#f7f5f1;--bg-2:#efece5;--ink:#12292b;--teal:#0f8b7d;--teal-600:#0c7267;--teal-700:#0a5c53;--teal-deep:#0d6f64;--teal-tint:#e3f1ed;--rule:#dcd8ce;--lime:#cdea6a;--font:"Nunito Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",monospace;--edge:clamp(20px,5vw,72px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);text-wrap:pretty;-webkit-font-smoothing:antialiased}
a{color:var(--teal-700)}a:hover{color:var(--teal-600)}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
::selection{background:color-mix(in srgb,var(--teal) 18%,transparent)}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;padding:16px max(var(--edge),calc((100% - 1240px)/2 + var(--edge)));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:2px solid var(--rule)}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto;text-decoration:none}
.brand img{height:28px;width:auto;display:block}
.by{white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 60%,transparent);padding-left:14px;border-left:2px solid var(--rule)}
.navlink{font-size:14.5px;font-weight:700;text-decoration:none;color:color-mix(in srgb,var(--ink) 74%,transparent);white-space:nowrap}
.navlink:hover{color:var(--teal-600)}
.navlink[aria-current="page"]{color:var(--teal-700)}
@media (max-width:1100px){.nav .navlink{display:none}}
@media (max-width:420px){.by{display:none}}
.cta{white-space:nowrap;display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;font-size:15px;padding:12px 22px;border-radius:10px;border:2px solid var(--teal-600);background:var(--teal-600);color:#f7f5f1;transition:transform .18s ease,background .18s ease}
.cta:hover{background:var(--teal-700);border-color:var(--teal-700);color:#f7f5f1;transform:translateY(-2px)}
.cta.ghost{background:transparent;color:var(--teal-700)}
.cta.ghost:hover{background:color-mix(in srgb,var(--teal) 8%,transparent);color:var(--teal-700)}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--edge)}
.head{position:relative;padding:72px 0 44px;overflow:hidden}
.amb{position:absolute;inset:0;pointer-events:none}
.amb i{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.5}
.amb .b1{width:40vw;height:40vw;left:-10vw;top:-18vw;background:rgba(15,139,125,.20)}
.amb .b2{width:28vw;height:28vw;right:-6vw;top:-4vw;background:rgba(205,234,106,.32)}
.head .wrap{position:relative}
.kicker{display:flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--teal-700);font-weight:800;margin:0 0 14px}
.kicker::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--lime);flex:none}
h1{font-weight:900;font-size:clamp(38px,6vw,72px);line-height:1.03;letter-spacing:-.035em;margin:0}
.updated{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;margin:18px 0 0;color:color-mix(in srgb,var(--ink) 62%,transparent)}
.intro{font-size:17.5px;line-height:29px;max-width:66ch;margin:26px 0 0}
.intro strong{font-weight:800}
.glass{background:linear-gradient(152deg,rgba(255,255,255,.82),rgba(255,255,255,.46));backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border:1px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 1px 2px rgba(18,41,43,.04),0 20px 44px -20px rgba(18,41,43,.20)}
.owner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:34px;max-width:900px}
.owner div{padding:18px 22px}
.owner div+div{border-left:1px solid var(--rule)}
.owner .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 58%,transparent)}
.owner .v{font-size:15.5px;font-weight:800;margin-top:5px;line-height:22px}
@media (max-width:720px){.owner{grid-template-columns:1fr}.owner div+div{border-left:0;border-top:1px solid var(--rule)}}
.body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,5vw,80px);padding:40px 0 96px;border-top:2px solid var(--rule)}
.toc{position:sticky;top:96px;align-self:start;display:grid;gap:2px}
.toc .t{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 55%,transparent);margin:0 0 10px}
.toc a{display:grid;grid-template-columns:26px 1fr;font-size:13.5px;line-height:20px;padding:6px 0;text-decoration:none;color:color-mix(in srgb,var(--ink) 72%,transparent)}
.toc a span{font-family:var(--mono);font-size:11.5px;color:var(--teal-700)}
.toc a:hover{color:var(--teal-700)}
@media (max-width:900px){.body{grid-template-columns:1fr}.toc{position:static;display:none}}
.doc{max-width:72ch}
.doc section{padding:30px 0;border-bottom:1px solid var(--rule);scroll-margin-top:90px}
.doc section:first-child{padding-top:0}
.doc h2{display:flex;gap:14px;align-items:baseline;font-size:22px;font-weight:900;letter-spacing:-.015em;line-height:29px;margin:0 0 14px}
.doc h2 .n{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--teal-700);flex:none}
.doc p,.doc li{font-size:16px;line-height:27px;color:color-mix(in srgb,var(--ink) 86%,transparent)}
.doc p{margin:0 0 14px}.doc p:last-child{margin-bottom:0}
.doc strong{font-weight:800;color:var(--ink)}
.doc ul,.doc ol{margin:0 0 14px;padding-left:22px;display:grid;gap:6px}
.doc ul li::marker{color:var(--teal)}
.doc ol li::marker{font-family:var(--mono);font-size:13px;color:var(--teal-700)}
.callout{padding:22px 24px;margin:0 0 30px}
.callout h3{font-size:18px;font-weight:900;margin:0 0 8px}
.callout p{margin:0 0 16px}
.callout .row{display:flex;flex-wrap:wrap;gap:10px}
.contact{list-style:none;padding:0!important}
.contact li{display:grid;grid-template-columns:110px 1fr;gap:12px}
.contact li b{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 58%,transparent);padding-top:3px}
footer{background:var(--teal-deep);color:#f7f5f1}
footer .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px 48px;padding-top:56px;padding-bottom:56px}
footer .logo{display:inline-flex;padding:10px 14px;border-radius:10px;background:#f7f5f1}
footer .logo img{height:24px;width:auto;display:block}
footer p{font-size:14px;line-height:23px;margin:16px 0 0;max-width:52ch;color:color-mix(in srgb,#f7f5f1 82%,transparent)}
footer p strong{color:#fff;font-weight:800}
footer nav{display:grid;gap:10px;align-content:start}
footer nav .t{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
footer nav a{font-size:15px;font-weight:700;text-decoration:none;color:#f7f5f1}
footer nav a:hover{color:var(--lime)}
footer .legal{grid-column:1/-1;border-top:1px solid color-mix(in srgb,#f7f5f1 22%,transparent);padding-top:20px;font-size:13px;line-height:21px;color:color-mix(in srgb,#f7f5f1 72%,transparent);display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between}
@media (max-width:720px){footer .wrap{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta:hover{transform:none}}