@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_49a339{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_49a339{--font-grotesk:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_898c26{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_898c26{--font-mono-jb:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#060809;--bg-2:#0a0e11;--panel:rgba(18,24,28,0.72);--panel-solid:#0e1418;--line:rgba(120,200,220,0.14);--line-strong:rgba(120,200,220,0.28);--ink:#e8f1f2;--ink-dim:#8fa3a8;--ink-faint:#5b6b70;--amber:#ffb020;--amber-soft:#ffd27a;--cyan:#22d3ee;--cyan-soft:#7ff0ff;--green:#34e5a0;--red:#ff5d5d;--glow-cyan:0 0 24px rgba(34,211,238,0.35);--glow-amber:0 0 24px rgba(255,176,32,0.35);--radius:14px;--maxw:1180px;--font-sans:var(--font-grotesk),"Segoe UI",system-ui,sans-serif;--font-mono:var(--font-mono-jb),"SF Mono","JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box}html{scroll-behavior:auto;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.05;margin:0;letter-spacing:-.02em}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}::selection{background:rgba(255,176,32,.28);color:#fff}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{position:relative;padding:120px 0}.mono{font-size:.72rem;letter-spacing:.28em;color:var(--cyan)}.eyebrow,.mono{font-family:var(--font-mono);text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.3em;color:var(--ink-dim)}.eyebrow:before{content:"";width:26px;height:1px;background:var(--amber);box-shadow:var(--glow-amber)}.section-title{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:600;margin:18px 0 10px}.section-lead{color:var(--ink-dim);max-width:60ch;font-size:1.02rem}.fx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.fx-grid{inset:-2px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 78%);mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 78%);opacity:.6}.fx-grid,.fx-orb{position:absolute}.fx-orb{border-radius:50%;filter:blur(90px);opacity:.5}.fx-orb.a{width:520px;height:520px;background:radial-gradient(circle,rgba(34,211,238,.5),transparent 65%);top:-160px;right:-120px}.fx-orb.b{width:480px;height:480px;background:radial-gradient(circle,rgba(255,176,32,.32),transparent 65%);bottom:-180px;left:-140px}.fx-scan{background:repeating-linear-gradient(180deg,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 2px,transparent 4px);mix-blend-mode:overlay;opacity:.5}.fx-scan,.fx-vignette{position:absolute;inset:0}.fx-vignette{background:radial-gradient(circle at 50% 40%,transparent 55%,rgba(0,0,0,.6) 100%)}main{position:relative;z-index:1}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;transition:background .3s ease,border-color .3s ease,-webkit-backdrop-filter .3s;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s,-webkit-backdrop-filter .3s;border-bottom:1px solid transparent}.nav.scrolled{background:rgba(6,8,9,.72);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-weight:700;letter-spacing:.04em}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.nav-links{display:flex;gap:26px;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}.nav-links a{color:var(--ink-dim);transition:color .2s;position:relative}.nav-links a:hover{color:var(--ink)}.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--cyan);box-shadow:var(--glow-cyan);transition:width .25s}.nav-links a:hover:after{width:100%}@media (max-width:760px){.nav-links{display:none}}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--ink);background:rgba(255,255,255,.02);cursor:pointer;transition:transform .15s ease,border-color .2s,background .2s,box-shadow .2s}.btn:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.btn-primary{background:linear-gradient(135deg,var(--amber),var(--amber-soft));color:#1a1200;border-color:transparent;font-weight:600}.btn-primary:hover{box-shadow:var(--glow-amber)}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:90px}.hero-title{font-size:clamp(2.8rem,8vw,6.4rem);font-weight:700;letter-spacing:-.03em;margin:18px 0}.hero-title .accent{background:linear-gradient(120deg,var(--cyan-soft),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{font-family:var(--font-mono);color:var(--amber-soft);font-size:clamp(.9rem,2vw,1.15rem);letter-spacing:.06em}.hero-meta{color:var(--ink-dim);font-family:var(--font-mono);font-size:.82rem;margin-top:14px;gap:8px 18px}.hero-actions,.hero-meta{display:flex;flex-wrap:wrap}.hero-actions{gap:14px;margin-top:34px}.boot{font-family:var(--font-mono);font-size:.72rem;color:var(--green);letter-spacing:.08em;display:flex;align-items:center;gap:10px;margin-bottom:8px}.boot .brk{color:var(--ink-faint)}.metrics{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.metric{background:var(--panel-solid);padding:26px 22px;position:relative}.metric:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);opacity:.5}.metric .num{font-family:var(--font-mono);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;color:var(--cyan-soft);text-shadow:var(--glow-cyan)}.metric .lab{color:var(--ink-dim);font-size:.82rem;margin-top:6px}@media (max-width:860px){.metrics{grid-template-columns:repeat(2,1fr)}}.panel{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:34px}.panel:after{content:"";position:absolute;inset:0;border-radius:var(--radius);padding:1px;background:linear-gradient(135deg,rgba(34,211,238,.4),transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.6}.ticks:after,.ticks:before{content:"";position:absolute;width:14px;height:14px;border-color:var(--cyan);opacity:.7}.ticks:before{top:10px;left:10px;border-top:1px solid;border-left:1px solid}.ticks:after{bottom:10px;right:10px;border-bottom:1px solid;border-right:1px solid}.timeline{position:relative;margin-top:48px;padding-left:28px}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--cyan),var(--amber));opacity:.5}.exp{position:relative;margin-bottom:22px}.exp .node{position:absolute;left:-28px;top:26px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--cyan);box-shadow:var(--glow-cyan)}.exp-card{background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;transition:border-color .25s,transform .25s}.exp-card:hover{border-color:var(--line-strong)}.exp-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:baseline}.exp-role{font-size:1.22rem;font-weight:600}.exp-role span{color:var(--amber)}.exp-period{font-family:var(--font-mono);font-size:.74rem;color:var(--ink-dim);letter-spacing:.08em}.exp-points{margin:16px 0 0;padding:0;list-style:none;display:grid;grid-gap:9px;gap:9px}.exp-points li{position:relative;padding-left:20px;color:var(--ink-dim);font-size:.94rem}.exp-points li:before{content:"▸";position:absolute;left:0;color:var(--cyan)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 30px}.filter{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;border-radius:999px;border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;background:transparent;transition:all .2s}.filter:hover{color:var(--ink);border-color:var(--line-strong)}.filter.active{color:#1a1200;background:var(--amber);border-color:transparent;font-weight:600}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px}@media (max-width:800px){.projects-grid{grid-template-columns:1fr}}.project{position:relative;background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);padding:26px;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s;transform-style:preserve-3d}.project:hover{border-color:var(--cyan);box-shadow:0 18px 50px rgba(0,0,0,.5)}.project .cat{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--line-strong);border-radius:6px;padding:4px 9px;display:inline-block}.project h3{font-size:1.22rem;margin:16px 0 10px;font-weight:600}.project p{color:var(--ink-dim);font-size:.95rem}.project .rows{margin-top:16px;display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding-top:16px}.project .row{display:flex;gap:12px;font-size:.86rem}.project .row b{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);min-width:92px}.project .row span{color:var(--ink-dim)}.project .idx{position:absolute;top:18px;right:22px;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-faint)}.contact{text-align:center}.contact .section-title{margin-bottom:18px}.contact-mail{font-family:var(--font-mono);font-size:clamp(1rem,3.4vw,1.8rem);color:var(--cyan-soft);letter-spacing:.02em;display:inline-block;margin-top:20px;padding-bottom:6px;border-bottom:1px solid var(--line-strong);transition:color .2s,border-color .2s}.contact-mail:hover{color:var(--amber-soft);border-color:var(--amber)}.footer{border-top:1px solid var(--line);padding:30px 0;color:var(--ink-faint);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.footer a:hover{color:var(--cyan)}.reveal-up{will-change:transform,opacity}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}