:root{--bg: #0a1410;--bg-elev: #0f1f18;--bg-card: rgba(20, 38, 30, .55);--border: rgba(127, 200, 160, .12);--border-strong: rgba(127, 200, 160, .22);--text: #e6f0ea;--text-muted: #8aa89a;--text-dim: #5e7a6c;--accent: #2f9d67;--accent-bright: #43c98a;--accent-light: #7dd3a8;--accent-dark: #0f3d2e;--glow: rgba(47, 157, 103, .45);--radius: 16px;--maxw: 1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;line-height:1.1;margin:0}.bg-mesh{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at top left,rgba(15,61,46,.6),transparent 60%),radial-gradient(ellipse at bottom right,rgba(15,61,46,.45),transparent 60%),var(--bg)}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:drift 22s ease-in-out infinite}.blob-a{width:520px;height:520px;background:radial-gradient(circle,#1f7a4d,transparent 70%);top:-120px;left:-120px}.blob-b{width:620px;height:620px;background:radial-gradient(circle,#2f9d67,transparent 70%);top:20%;right:-180px;animation-delay:-8s;opacity:.35}.blob-c{width:480px;height:480px;background:radial-gradient(circle,#0f3d2e,transparent 70%);bottom:-160px;left:30%;animation-delay:-15s;opacity:.5}@keyframes drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,40px) scale(.95)}}.grain{position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.1  0 0 0 0 0.07  0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.55;mix-blend-mode:overlay}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:var(--maxw);margin:0 auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0a14108c;border-bottom:1px solid var(--border)}.nav-logo{display:inline-flex;align-items:center;gap:10px;font-weight:700}.logo-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent-dark),var(--accent));color:#e8ffef;font-weight:800;box-shadow:0 0 24px var(--glow)}.logo-text{font-size:15px;letter-spacing:.02em;color:var(--text)}.nav nav{display:flex;gap:28px}.nav nav a{font-size:14px;color:var(--text-muted);transition:color .2s ease}.nav nav a:hover{color:var(--text)}main{max-width:var(--maxw);margin:0 auto;padding:0 32px}.section{padding:120px 0;position:relative}.section-head{margin-bottom:48px}.section-head.center{text-align:center}.section-tag{display:inline-block;font-size:12px;font-weight:500;color:var(--accent-light);letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}.section-head h2{font-size:clamp(28px,4vw,44px);font-weight:700}.prose{max-width:640px;font-size:18px;color:var(--text-muted);line-height:1.75}.prose.center{margin:0 auto;text-align:center}.hero{min-height:calc(100dvh - 70px);display:flex;flex-direction:column;justify-content:center;padding:80px 0 120px;position:relative}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--accent-light);background:#2f9d6714;border:1px solid var(--border-strong);padding:6px 14px;border-radius:999px;width:max-content;margin:0 0 28px}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 10px var(--accent-bright);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.hero h1{font-size:clamp(44px,8vw,88px);font-weight:800;line-height:1.02;margin:0 0 20px;background:linear-gradient(180deg,#fff,#b8d4c4);-webkit-background-clip:text;background-clip:text;color:transparent;max-width:14ch}.tagline{font-size:clamp(20px,2.4vw,26px);font-weight:500;color:var(--accent-light);margin:0 0 24px}.lede{max-width:560px;font-size:18px;color:var(--text-muted);margin:0 0 40px;line-height:1.7}.cta-row{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;font-size:15px;font-weight:500;transition:transform .2s ease,box-shadow .25s ease,background .2s ease,border-color .2s ease;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-bright));color:#04140c;box-shadow:0 10px 30px -10px var(--glow),inset 0 1px #ffffff2e;font-weight:600}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px -10px var(--glow),inset 0 1px #ffffff40}.btn-ghost{background:#ffffff05;color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{background:#7fc8a00f;border-color:var(--accent-light)}.timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.timeline-item{display:grid;grid-template-columns:160px 1fr;gap:32px;padding:24px 0;border-top:1px solid var(--border);transition:background .2s ease}.timeline-item:hover{background:#7fc8a006}.timeline-period{font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums;letter-spacing:.04em;padding-top:4px}.timeline-body h3{font-size:19px;font-weight:600;margin-bottom:8px}.timeline-body .at{color:var(--text-dim);margin:0 4px}.timeline-body .company{color:var(--accent-light);font-weight:500}.timeline-body p{margin:0;color:var(--text-muted);font-size:15px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.project-card{position:relative;border-radius:20px;background:var(--bg-card);border:1px solid var(--border);overflow:hidden;transition:transform .3s ease,border-color .3s ease;backdrop-filter:blur(8px)}.project-card:hover{transform:translateY(-4px);border-color:var(--border-strong)}.project-card:hover .project-glow{opacity:1}.project-card:hover .project-arrow{color:var(--accent-bright);transform:translate(2px,-2px)}.project-glow{position:absolute;inset:-1px;border-radius:20px;background:radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%),rgba(47,157,103,.18),transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.project-inner{position:relative;padding:28px;display:flex;flex-direction:column;gap:14px;min-height:220px}.project-inner h3{font-size:20px;font-weight:600}.project-inner p{margin:0;color:var(--text-muted);font-size:15px;line-height:1.65;flex:1}.tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.tags li{font-size:11.5px;font-weight:500;padding:4px 10px;border-radius:999px;background:#2f9d671a;color:var(--accent-light);border:1px solid var(--border)}.project-arrow{position:absolute;top:22px;right:22px;color:var(--text-dim);transition:color .25s ease,transform .25s ease}.section-contact{padding:140px 0 120px}.contact-actions{margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:24px}.socials{display:flex;gap:12px}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffff05;border:1px solid var(--border-strong);color:var(--text-muted);transition:color .2s ease,border-color .2s ease,transform .2s ease,background .2s ease}.icon-btn:hover{color:var(--accent-light);border-color:var(--accent-light);background:#2f9d671a;transform:translateY(-2px)}.footer{max-width:var(--maxw);margin:0 auto;padding:40px 32px 60px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);font-size:13px;color:var(--text-dim)}.footer-domain{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent-light);letter-spacing:.04em}@media (max-width: 720px){.nav{padding:14px 20px}.nav nav{display:none}main{padding:0 20px}.section{padding:80px 0}.hero{padding:60px 0 80px;min-height:auto}.timeline-item{grid-template-columns:1fr;gap:6px}.timeline-period{font-size:12px}.footer{padding:30px 20px;flex-direction:column;gap:8px}}@media (prefers-reduced-motion: reduce){.blob,.dot{animation:none}html{scroll-behavior:auto}}
