@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/plus-jakarta-sans-latin-300-normal-ubitlNZx.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-300-normal-n-kmFdAV.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-800-normal-BRNHt2w0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Shared with the landing page: logo lockup, Plus Jakarta Sans and exact color tokens. */
:root{--blue:#2563eb;--blue-dark:#1d4ed8;--violet:#7c3aed;--cyan:#06b6d4;--green:#059669;--navy:#0a1128;--bg:#f8faff;--surface:#fff;--fg:#0f172a;--fg-soft:#475569;--muted:#eef3fe;--border:#e7edfb;--font:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;--radius:16px;--shadow-soft:0 1px 2px rgba(15,23,42,.04),0 8px 24px -12px rgba(37,99,235,.12);--gradient:linear-gradient(100deg,var(--blue) 0%,var(--violet) 55%,var(--cyan) 110%);font-family:var(--font);color:var(--fg);background:var(--bg)}
body{font-family:var(--font);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--blue);color:#fff}
a{color:var(--blue)}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;line-height:1.12}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-size:1.12rem;font-weight:700;letter-spacing:-.02em;line-height:1;white-space:nowrap;color:var(--fg);text-decoration:none;min-height:40px}
.brand img{display:block;width:30px;height:30px;border-radius:8px}
.brand>span{color:var(--fg)}.brand .labs{color:var(--blue)}
.brand small{font-family:var(--font);background:var(--muted);border:1px solid #dbe6fd;border-radius:999px;padding:6px 9px;color:var(--blue);font-size:10px;letter-spacing:.04em;margin:0 0 0 6px;text-transform:none;font-weight:600}
.site-header,.top{background:#ffffffd9;backdrop-filter:blur(18px) saturate(170%);border-color:var(--border)}
.site-header{height:64px;max-width:1208px;padding:12px 24px}
.top{padding:12px max(24px,calc((100% - 1160px)/2));min-height:64px}
.site-header nav a,.top nav a{font-weight:500;color:var(--fg-soft);font-size:.92rem}
button,.button,.site-header .nav-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;border:0;background:var(--blue);color:white;padding:.7rem 1.35rem;font-size:.95rem;font-weight:600;line-height:1.4;box-shadow:0 8px 20px -8px #2563eb8c;transition:background .2s ease,box-shadow .2s ease;overflow:hidden}
button:hover,.button:hover,.site-header .nav-cta:hover{background:var(--blue-dark);color:#fff;box-shadow:0 10px 26px -8px #2563ebb3}
.site-header .nav-cta{height:40px;min-height:40px;padding:0 1.05rem;font-size:.9rem;line-height:1}
.secondary{background:var(--surface);color:var(--fg);border:1.5px solid var(--border);box-shadow:none}.secondary:hover{background:var(--surface);color:var(--blue);border-color:var(--blue);box-shadow:none}
.text-button{background:transparent;color:var(--fg-soft);box-shadow:none;padding:0;font-size:.85rem}.text-button:hover{background:transparent;color:var(--blue);box-shadow:none}
input,textarea,select{font-family:var(--font);color:var(--fg);border:1.5px solid var(--border);border-radius:12px;background:var(--surface)}input:hover,textarea:hover,select:hover{border-color:#c6d6fb}input:focus,textarea:focus,select:focus{border-color:var(--blue)}
input[type=checkbox]{accent-color:var(--blue)}
.form-card,.panel,.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.form-card{padding:32px}.panel{padding:28px}
.eyebrow{display:inline-flex;align-items:center;border-radius:999px;background:var(--muted);border:1px solid #dbe6fd;color:var(--blue);font-size:.72rem;font-weight:600;letter-spacing:0;padding:.32rem .85rem;text-transform:none}
.form-layout>section:first-child{position:relative}
.intro,.aside-note,.muted,small,.foot,.site-footer{color:var(--fg-soft)}.aside-note,.site-footer,.foot,fieldset,th,td{border-color:var(--border)}
.status{background:var(--muted);border-color:#dbe6fd;color:var(--blue)}th{background:var(--muted);color:var(--fg-soft)}
@media(max-width:700px){.site-header{padding:12px 18px;height:64px}.brand{font-size:1.02rem;gap:8px}.brand img{width:28px;height:28px}.site-header nav{gap:10px}.site-header nav a{font-size:11px}.site-header .nav-cta{font-size:10px;min-height:32px;height:32px;padding:0 11px}.form-card,.panel{padding:22px 18px}.top{padding:12px 18px;gap:10px}.top nav{gap:16px}.top nav a,.text-button{font-size:12px}.brand small{font-size:9px}.form-layout>section:first-child:before{inset:-30px 0;max-width:100%}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

@media(max-width:700px){.aside-note{display:none}}

@media(max-width:1000px){.site-header .category-link{display:none}}

/* Support pages: full-width, transparent surfaces, content aligned with the main site. */
.site-header{max-width:none;width:100%;margin:0;background:transparent;border-bottom:none;padding-inline:max(24px,calc((100% - 1160px)/2))}
.site-footer{max-width:none;width:100%;margin:0;background:transparent;padding-inline:max(28px,calc((100% - 1144px)/2))}
@media(max-width:700px){.site-header{padding-inline:18px}.site-footer{padding-inline:20px}}
/* Logo hover: match the SPA nav-logo interaction */
.brand img{transition:transform .25s cubic-bezier(.16,1,.3,1)}
.brand:hover img{transform:rotate(-8deg) scale(1.06)}
