:root{--bg:#FFFFFF;--bg2:#F5F7FA;--line:#E3E7ED;--line2:#D3D9E1;--text:#2A2F37;--head:#111418;--muted:#5A6371;--dim:#7A8494;--accent:#1F6FD1}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:#1F6FD1;text-decoration:none}a:hover{color:#1557A8}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px;letter-spacing:.18em}
.display{font-family:"Space Grotesk",Inter,sans-serif;font-weight:600;color:var(--head);margin:0}
.btn{display:inline-block;color:#fff;background:var(--accent);padding:16px 28px;border-radius:999px;font-weight:600;font-size:16px}
.btn:hover{color:#fff;filter:brightness(1.1)}
.btn-ghost{display:inline-block;color:var(--text);border:1px solid var(--line2);padding:16px 28px;border-radius:999px;font-weight:500;font-size:16px}
.btn-ghost:hover{color:var(--head);border-color:#9AA4B2}

/* header */
header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;color:var(--head)}
.brand:hover{color:var(--head)}
.brand img{display:block;height:36px;width:auto}
.brand span{font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:20px;letter-spacing:.02em}
.links{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:15px}
.links a{color:var(--muted);padding:12px 14px}
.links a:hover{color:var(--head)}
.links a.cta{color:#fff;background:var(--accent);padding:10px 20px;border-radius:999px;font-weight:600;margin-left:6px}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background-image:linear-gradient(#EDF0F4 1px,transparent 1px),linear-gradient(90deg,#EDF0F4 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 50%,rgba(31,111,209,.08),transparent 55%),linear-gradient(180deg,rgba(255,255,255,0) 60%,var(--bg));pointer-events:none}
.hero .inner{position:relative;z-index:1;padding-top:140px;padding-bottom:120px;display:flex;flex-direction:column;gap:28px}
.hero .eyebrow{color:var(--accent)}
.hero h1{font-size:clamp(44px,7vw,88px);line-height:1.02;letter-spacing:-.03em;max-width:820px}
.hero p{margin:0;font-size:20px;line-height:1.6;color:var(--muted);max-width:620px}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}
.hero .cube{position:absolute;z-index:1;right:max(24px,calc((100% - 1200px)/2 + 24px));top:50%;transform:translateY(-50%);width:min(24vw,300px);height:auto;filter:drop-shadow(0 24px 48px rgba(17,20,24,.12));pointer-events:none;animation:float 8s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 12px))}}
@media (prefers-reduced-motion:reduce){.hero .cube{animation:none}html{scroll-behavior:auto}}
@media (max-width:860px){.hero .cube{display:none}.hero .inner{padding-top:96px;padding-bottom:88px}}

/* sections */
.split{padding-top:120px;padding-bottom:120px;display:flex;flex-wrap:wrap;gap:48px}
.split>.label{flex:1 1 280px;display:flex;flex-direction:column;gap:12px}
.split>.body{flex:2 1 520px}
.label .mono{color:var(--dim)}
h2.display{font-size:40px;line-height:1.1;letter-spacing:-.02em}
.lead{margin:0;font-size:19px;line-height:1.75;color:#3F4753}
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.band .inner{padding-top:120px;padding-bottom:120px;display:flex;flex-direction:column;gap:56px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cards article{background:var(--bg2);padding:36px 32px;display:flex;flex-direction:column;gap:14px;transition:background .2s}
.cards article:hover{background:#EEF2F7}
.cards h3{margin:0;font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:22px;color:var(--head)}
.cards p{margin:0;font-size:15px;line-height:1.65;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:48px}
.tags>div{flex:1 1 320px;display:flex;flex-direction:column;gap:16px}
.tags h3{margin:0;font-weight:500;color:var(--dim)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.pills li{border:1px solid var(--line2);border-radius:999px;padding:10px 18px;font-size:15px;color:var(--text);background:#fff}
dl.profile{margin:0;display:grid;grid-template-columns:minmax(120px,200px) 1fr;border-top:1px solid var(--line);font-size:16px;line-height:1.6}
dl.profile dt,dl.profile dd{padding:20px 0;border-bottom:1px solid var(--line)}
dl.profile dt{color:var(--dim)}
dl.profile dd{margin:0;color:var(--text)}
@media (max-width:520px){dl.profile{grid-template-columns:1fr}dl.profile dt{padding-bottom:0;border-bottom:0}dl.profile dd{padding-top:4px}}
.contact{padding-bottom:120px}
.contact .box{border:1px solid var(--line);border-radius:24px;padding:72px 48px;background:radial-gradient(ellipse at 100% 0%,rgba(31,111,209,.08),transparent 50%),var(--bg2);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.contact .text{flex:1 1 420px;display:flex;flex-direction:column;gap:14px}
.contact .mono{color:var(--accent)}
.contact h2.display{font-size:44px}
.contact p{margin:0;font-size:17px;line-height:1.6;color:var(--muted)}
@media (max-width:600px){.contact .box{padding:48px 24px}.contact h2.display{font-size:34px}h2.display{font-size:32px}.split,.band .inner{padding-top:88px;padding-bottom:88px}}

/* footer */
footer{border-top:1px solid var(--line)}
footer .inner{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:var(--dim)}
footer .flinks{display:flex;flex-wrap:wrap;gap:24px}
footer a{color:var(--muted)}

/* legal page */
.legal{max-width:760px;margin:0 auto;padding:96px 24px 120px}
.legal h1{font-size:clamp(36px,5vw,52px);letter-spacing:-.02em;margin-bottom:12px}
.legal .meta{color:var(--dim);font-size:14px;margin:0 0 48px}
.legal h2{font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:22px;color:var(--head);margin:48px 0 12px}
.legal p,.legal li{font-size:16px;line-height:1.8;color:#3F4753}
.legal ul{padding-left:1.2em}

.hero .cube{width:min(26vw,320px)}
.brand img{height:40px}

.menu{display:none;width:44px;height:44px;border:1px solid var(--line2);border-radius:10px;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.menu span{display:block;width:18px;height:2px;background:var(--head);border-radius:2px;transition:transform .2s}
@media (max-width:720px){
 .menu{display:flex}
 .links{display:none;width:100%;flex-direction:column;align-items:stretch;padding:8px 0 12px}
 .links a{padding:14px 4px;border-top:1px solid var(--line)}
 .links a.cta{margin:12px 0 0;text-align:center;padding:14px 20px}
 body.nav-open .links{display:flex}
 body.nav-open .menu span:first-child{transform:translateY(4px) rotate(45deg)}
 body.nav-open .menu span:last-child{transform:translateY(-4px) rotate(-45deg)}
}
.hero h1{font-size:clamp(40px,5.6vw,76px);max-width:880px}
