:root{
  --ink:#16181d; --text:#33353b; --muted:#6b6e76; --line:#ececee; --bg:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text)}
body{font-family:"Inter",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}

/* nav */
header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(10px);box-shadow:0 1px 0 rgba(0,0,0,.035),0 2px 8px rgba(0,0,0,.02)}
.nav{max-width:1440px;margin:0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,5vw,108px)}
.logo{font-family:"Lexend",sans-serif;font-weight:600;font-size:23px;letter-spacing:.02em;color:var(--ink);display:flex;align-items:baseline;gap:7px}
.logo .labs{font-weight:300;color:#8a8d94}
.links{display:flex;gap:36px;font-family:"Lexend",sans-serif;font-size:15px;font-weight:400;color:var(--ink)}
.links a{opacity:.85;transition:opacity .2s}
.links a:hover,.links a[aria-current]{opacity:1}

/* hero */
.hero{position:relative;flex:1;min-height:calc(100vh - 76px);overflow:hidden;display:flex;align-items:center}
.rings{position:absolute;inset:0;pointer-events:none;
  background:
   radial-gradient(circle at 72% 118%, transparent 0 34%, rgba(0,0,0,.018) 34.1% 34.4%, transparent 34.5% 52%, rgba(0,0,0,.016) 52.1% 52.4%, transparent 52.5% 70%, rgba(0,0,0,.014) 70.1% 70.4%, transparent 70.5% 88%, rgba(0,0,0,.012) 88.1% 88.4%, transparent 88.5%);}
#field{position:absolute;right:0;bottom:-6vh;width:min(62vw,1100px);height:min(78vh,820px);filter:blur(5px);opacity:.95}
.hero-copy{position:relative;z-index:2;max-width:1440px;width:100%;margin:0 auto;padding:0 clamp(16px,5vw,100px)}
h1{font-family:"DM Sans",sans-serif;font-weight:700;color:#2b2c30;font-size:clamp(40px,5.6vw,80px);line-height:1.05;letter-spacing:-.02em}
.tag{margin-top:20px;font-size:clamp(18px,1.5vw,24px);font-weight:500;color:#3a3c41;letter-spacing:-.01em}
.cta{display:inline-block;margin-top:clamp(40px,6vh,72px);background:var(--ink);color:#fff;font-size:clamp(16px,1.2vw,19px);font-weight:500;padding:.7em 1.2em;border-radius:12px;transition:transform .2s,background .2s}
.cta:hover{background:#000;transform:translateY(-1px)}
.fade{opacity:0;transform:translateY(14px);animation:up 1s cubic-bezier(.2,.7,.2,1) forwards}
.d1{animation-delay:.12s}.d2{animation-delay:.28s}
@keyframes up{to{opacity:1;transform:none}}

/* about */
.about{max-width:1440px;margin:0 auto;padding:clamp(48px,9vh,110px) clamp(16px,5vw,100px) 120px;width:100%}
.about h1{font-size:clamp(36px,4vw,56px)}
.about p{margin-top:28px;max-width:720px;font-size:clamp(17px,1.25vw,19px);line-height:1.7;color:#3a3c41;letter-spacing:-.003em}
.about p + p{margin-top:22px}
.about a.mail{border-bottom:1px solid #bbb}
.about a.mail:hover{border-color:var(--ink)}
.pillars{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:960px}
.pillar{border-top:1px solid var(--line);padding-top:22px}
.pillar h3{font-family:"DM Sans",sans-serif;font-size:17px;font-weight:700;color:#2b2c30}
.pillar div{margin-top:8px;font-size:15px;line-height:1.6;color:var(--muted)}
footer{color:#9a9ca3;font-size:14px;padding:28px clamp(16px,5vw,100px);max-width:1440px;margin:0 auto;width:100%}

@media (max-width:760px){
  .nav{height:64px}.logo{font-size:23px}.links{gap:20px;font-size:15px}
  .hero{min-height:calc(100svh - 64px);align-items:flex-start;padding-top:18vh}
  #field{width:130vw;height:52vh;right:-30vw;bottom:-4vh}
  .pillars{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.fade{animation:none;opacity:1;transform:none}}
