:root{--fg:#1d1d1f;--mut:#6e6e73;--acc:#0071e3;--glass:rgba(255,255,255,.45);--edge:rgba(255,255,255,.7);--shadow:0 8px 32px rgba(31,38,135,.10);--b1:#ff6ec4;--b2:#7873f5;--b3:#4adede;--b4:#ffcf5c;--base:#f2f2f7;color-scheme:light dark}
@media(prefers-color-scheme:dark){:root{--fg:#f5f5f7;--mut:#a1a1a6;--acc:#2997ff;--glass:rgba(40,40,46,.42);--edge:rgba(255,255,255,.14);--shadow:0 8px 40px rgba(0,0,0,.45);--b1:#c2187a;--b2:#4b3fd6;--b3:#0f8f9a;--b4:#b3741a;--base:#050507}}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Helvetica Neue",Arial,sans-serif;color:var(--fg);background:var(--base);line-height:1.5;-webkit-font-smoothing:antialiased;font-size:17px;overflow-x:hidden}
a{color:var(--acc);text-decoration:none}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden}
.bg i{position:absolute;width:55vmax;height:55vmax;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform}
.bg i:nth-child(1){background:var(--b1);top:-15vmax;left:-10vmax;animation:d1 26s ease-in-out infinite alternate}
.bg i:nth-child(2){background:var(--b2);top:10vmax;right:-15vmax;animation:d2 32s ease-in-out infinite alternate}
.bg i:nth-child(3){background:var(--b3);bottom:-20vmax;left:10vmax;animation:d3 28s ease-in-out infinite alternate}
.bg i:nth-child(4){background:var(--b4);top:40%;left:40%;width:30vmax;height:30vmax;opacity:.35;animation:d2 36s ease-in-out infinite alternate-reverse}
@keyframes d1{to{transform:translate(20vw,15vh) scale(1.15)}}@keyframes d2{to{transform:translate(-18vw,20vh) scale(.9)}}@keyframes d3{to{transform:translate(15vw,-18vh) scale(1.1)}}
.glass{position:relative;background:var(--glass);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--edge);box-shadow:var(--shadow),inset 0 1px 0 var(--edge),inset 0 -1px 0 rgba(255,255,255,.05);border-radius:28px;overflow:hidden}
.glass:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,-40%),rgba(255,255,255,.28),transparent 45%);opacity:0;transition:opacity .4s}
.glass:hover:after{opacity:1}
nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:10;width:min(680px,calc(100% - 28px));border-radius:980px!important}
nav .in{display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 10px 0 22px}
nav .logo{font-weight:700;color:var(--fg);letter-spacing:-.02em}
nav ul{display:flex;gap:4px;list-style:none;font-size:14px}nav ul a{color:var(--fg);padding:7px 14px;border-radius:980px;display:block;transition:background .2s}nav ul a:hover{background:var(--edge)}
.wrap{max-width:880px;margin:auto;padding:0 24px}
section{padding:120px 0}
.eyebrow{color:var(--mut);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
h1{font-size:clamp(56px,11vw,120px);line-height:1;letter-spacing:-.035em;font-weight:800}
h2{font-size:clamp(36px,6vw,60px);line-height:1.05;letter-spacing:-.025em;font-weight:700;margin-bottom:56px}
h3{font-size:21px;letter-spacing:-.01em;line-height:1.25;font-weight:600}
.grad{background:linear-gradient(100deg,#0a84ff,#bf5af2,#ff375f,#ff9f0a,#0a84ff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sh 10s linear infinite}
@keyframes sh{to{background-position:300% 0}}
.hero{min-height:100vh;display:grid;place-items:center;text-align:center;padding:120px 0 80px}
.hero .sub{font-size:clamp(20px,2.6vw,26px);color:var(--mut);margin:28px auto 0;max-width:560px;font-weight:500}
.btns{margin-top:44px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 28px;border-radius:980px;font-size:17px;font-weight:500;transition:transform .2s}
.btn:hover{transform:scale(1.03)}
.btn.p{background:var(--acc);color:#fff;box-shadow:0 6px 20px color-mix(in srgb,var(--acc) 40%,transparent),inset 0 1px 0 rgba(255,255,255,.35)}
.btn.g{color:var(--fg)}
.lead{font-size:clamp(26px,3.6vw,38px);line-height:1.25;font-weight:600;letter-spacing:-.02em}
.lead span{color:var(--mut)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}
.stat{padding:30px}.stat b{display:block;font-size:34px;letter-spacing:-.02em}.stat span{color:var(--mut);font-size:15px}
.jobs{display:grid;gap:16px}
.job{padding:0}
.job summary{list-style:none;cursor:pointer;padding:28px 32px;display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center}
.job summary::-webkit-details-marker{display:none}
.job .co{color:var(--mut);font-size:15px}.job .date{color:var(--mut);font-size:14px;grid-row:1/3;grid-column:2;text-align:right;white-space:nowrap}
.job .date:after{content:"＋";display:block;margin-top:4px;color:var(--acc);font-size:18px;transition:transform .3s}
.job[open] .date:after{transform:rotate(45deg)}
.job ul{list-style:none;padding:0 32px 28px;color:var(--mut);font-size:15px;display:grid;gap:6px}
.job li:before{content:"·";margin-right:10px;color:var(--acc);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.chip{font-size:15px;padding:10px 18px;border-radius:980px!important}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.card{padding:30px}.card h3{margin-bottom:8px}.card p{color:var(--mut);font-size:15px}
.center{text-align:center}
.contact{padding:64px 32px;text-align:center}.contact h2{margin-bottom:16px}.contact p{color:var(--mut);font-size:19px}
footer{padding:40px 0 60px;font-size:12px;color:var(--mut);text-align:center}
.reveal{opacity:0;transform:translateY(32px) scale(.98);filter:blur(6px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),filter 1s}
.reveal.on{opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;filter:none;transition:none}.bg i,.grad{animation:none}html{scroll-behavior:auto}}
@media(max-width:734px){nav ul li.h{display:none}nav ul a{padding:7px 10px;font-size:13px}section{padding:80px 0}.stats{grid-template-columns:1fr}.job summary{grid-template-columns:1fr;padding:24px}.job .date{grid-row:auto;grid-column:auto;text-align:left;order:-1}.job .date:after{display:none}.job ul{padding:0 24px 24px}h2{margin-bottom:36px}.bg i{filter:blur(60px)}}
