@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-main:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{color-scheme:dark;--bg:#050913;--bg-soft:#0b1220;--surface:#0f1a2c;--surface-soft:#0b1526;--nav-bg:rgba(5,9,19,0.92);--line:rgba(166,183,214,0.3);--line-soft:rgba(166,183,214,0.16);--text:#eef4ff;--text-soft:#c3d2eb;--muted:#99abc8;--accent:#5eaaff;--accent-2:#3bd2a1;--chip-active:rgba(238,244,255,0.08);--focus:rgba(94,170,255,0.5);--max:1120px}[data-theme=light]{color-scheme:light;--bg:#f5f8fc;--bg-soft:#edf2f8;--surface:#ffffff;--surface-soft:#f5f7fb;--nav-bg:rgba(245,248,252,0.95);--line:rgba(25,47,84,0.24);--line-soft:rgba(25,47,84,0.12);--text:#102033;--text-soft:#1e3250;--muted:#475b77;--accent:#266bd8;--accent-2:#0a8a63;--chip-active:rgba(16,32,51,0.08);--focus:rgba(38,107,216,0.35)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:var(--font-main),"Segoe UI",sans-serif;color:var(--text);background:var(--bg);line-height:1.65}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3{margin:0;line-height:1.2}ul{margin:0}.mono{font-family:var(--font-mono),"SFMono-Regular",Menlo,monospace}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--bg)}.content{width:min(var(--max),calc(100% - 2.2rem));margin-inline:auto}.top-nav{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line-soft)}.nav-inner{min-height:74px;gap:1rem}.nav-head,.nav-inner{display:flex;justify-content:space-between;align-items:center}.nav-head{gap:.8rem}.nav-actions{display:none;align-items:center;gap:.55rem}.breadcrumb{margin:0;color:var(--accent-2);font-size:1.03rem;letter-spacing:.04em}.menu-group{align-items:center;gap:.55rem}.menu,.menu-group{display:flex;justify-content:flex-end}.menu{flex-wrap:nowrap;gap:.22rem}.menu-link{color:var(--muted);border:none;border-radius:11px;padding:.5rem .88rem;font-size:1rem;font-weight:500;background:transparent;transition:color .14s ease,background-color .14s ease}.menu-link:hover{color:var(--text);background:var(--surface-soft)}.menu-link.active{color:var(--text);background:var(--chip-active)}.achievement-org-link:focus-visible,.back-link:focus-visible,.guestbook-contact a:focus-visible,.hero-contact a:focus-visible,.inline-link:focus-visible,.menu-link:focus-visible,.menu-toggle:focus-visible,.social-chip:focus-visible,.theme-toggle:focus-visible,.verify-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.menu-toggle{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;color:var(--text);padding:.28rem;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.menu-toggle,.menu-toggle:active,.menu-toggle:hover{background:transparent}.menu-toggle svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:14px;width:2.9rem;height:2.9rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text);background:transparent;cursor:pointer;transition:background-color .14s ease,color .14s ease}.theme-toggle:hover{background:var(--chip-active)}.theme-toggle svg{width:1.05rem;height:1.05rem;fill:currentColor}.mobile-theme-toggle{display:none}.shell{padding:clamp(1.9rem,3.8vw,3rem) 0 4rem}.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:start;grid-gap:clamp(1.4rem,3vw,2.5rem);gap:clamp(1.4rem,3vw,2.5rem)}.hero-kicker{color:var(--accent-2);letter-spacing:.03em;font-size:.88rem}.hero h1{margin-top:.55rem;font-size:clamp(2.1rem,5vw,4rem);letter-spacing:-.02em}.hero-identity{display:block}.profile-mini{display:none;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);object-fit:cover;flex-shrink:0}.hero-title{margin-top:.35rem;font-size:clamp(1.1rem,2.1vw,1.45rem);color:var(--text-soft)}.hero-tagline{margin-top:1.15rem;color:var(--text);font-size:1.13rem}.hero-copy p+p{margin-top:.92rem;color:var(--muted)}.hero-contact{margin-top:1.1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.95rem}.guestbook-contact a,.hero-contact a{display:inline-flex;align-items:center;border:1px solid var(--line-soft);border-radius:999px;padding:.34rem .78rem;color:var(--text-soft);transition:color .14s ease,border-color .14s ease,background-color .14s ease}.guestbook-contact a:hover,.hero-contact a:hover{border-color:var(--line);color:var(--text);background:var(--surface-soft)}.hero-media{display:flex;justify-content:center}.profile-img{width:min(100%,360px);height:auto;border-radius:999px;border:1px solid var(--line)}.social-row{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.62rem}.social-chip{border:1px solid var(--line-soft);border-radius:999px;padding:.35rem .72rem .35rem .45rem;display:inline-flex;align-items:center;gap:.54rem;color:var(--text-soft);transition:color .14s ease,border-color .14s ease,background-color .14s ease}.social-chip:hover{border-color:var(--line);color:var(--text);background:var(--surface-soft)}.chip-badge{width:1.8rem;height:1.8rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--chip-active);color:var(--text)}.chip-badge svg{width:.98rem;height:.98rem;fill:currentColor}.section{margin-top:clamp(2.6rem,6vw,4.4rem)}.compact-space{margin-top:1.4rem}.process-feature{border:1px solid var(--line-soft);border-radius:18px;background:var(--surface);padding:1.15rem}.process-copy{display:grid;grid-gap:.85rem;gap:.85rem}.process-kicker{color:var(--accent-2);font-size:.83rem;letter-spacing:.04em}.section-top{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.section h2,.section-top h2{font-size:clamp(1.45rem,3vw,2.2rem)}.inline-link{color:var(--accent-2);font-weight:600;font-size:.98rem}.inline-link[target=_blank]:after{content:"↗";margin-left:.24rem;font-size:.72em;vertical-align:super}.inline-link:hover{text-decoration:underline}.page-head h1{font-size:clamp(2rem,4.6vw,3.5rem)}.page-head p{margin-top:.72rem;color:var(--muted);max-width:76ch}.project-stack{margin-top:1.4rem;display:flex;flex-direction:column;gap:1.05rem}.project-row{display:grid;grid-template-columns:1fr 1.05fr;grid-gap:1rem;gap:1rem;padding:.95rem;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface)}.project-row.compact{grid-template-columns:1.05fr .95fr}.project-preview-link{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line-soft)}.project-preview-shell{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(120deg,#091931,#102844 52%,#0d1e2f)}.project-preview-track{height:100%;display:flex;transition:transform .65s ease}.project-preview-pane{position:relative;min-width:100%;height:100%}.project-preview-media{width:100%;height:100%;display:block;object-fit:cover}.project-preview-dots{position:absolute;left:0;right:0;bottom:.6rem;display:flex;justify-content:center;gap:.32rem}.project-preview-dot{width:.48rem;height:.48rem;border-radius:999px;background:rgba(238,244,255,.46)}.project-preview-dot.active{background:var(--accent-2)}.project-copy{display:flex;flex-direction:column;gap:.5rem}.project-kicker{font-size:.75rem;letter-spacing:.04em;color:var(--accent)}.project-copy h2{font-size:clamp(1.25rem,2vw,1.55rem)}.project-short{color:var(--text-soft)}.project-text{color:var(--muted)}.stack-list{padding-left:1rem;color:var(--text-soft);display:grid;grid-gap:.25rem;gap:.25rem}.project-actions{margin-top:auto;display:flex;gap:1rem;flex-wrap:wrap}.experience-list{margin-top:1.3rem;display:grid;grid-gap:.7rem;gap:.7rem}.experience-list article{border-left:2px solid var(--accent);padding:.25rem 0 .2rem 1rem}.exp-time{color:var(--accent-2);font-size:.83rem}.exp-org{color:var(--text-soft);margin-top:.2rem}.experience-list ul{margin-top:.5rem;padding-left:1.05rem;color:var(--muted);display:grid;grid-gap:.2rem;gap:.2rem}.skills-board{margin-top:1rem;border-top:1px solid var(--line-soft)}.skills-board>div{padding:.95rem 0;border-bottom:1px solid var(--line-soft)}.skills-board h3{font-size:1.08rem}.skills-board p{margin-top:.38rem;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.blog-item{border:1px solid var(--line-soft);border-radius:16px;padding:.82rem;background:var(--surface-soft)}.blog-cover{width:100%;height:auto;border-radius:10px;border:1px solid var(--line-soft);object-fit:cover;aspect-ratio:16/9;filter:saturate(.72) contrast(.9) brightness(.92)}.blog-item h2{margin-top:.7rem;font-size:1.35rem}.blog-meta{margin-top:.28rem;color:var(--accent-2);font-size:.78rem;letter-spacing:.04em}.blog-item p{margin-top:.5rem;color:var(--muted)}.achievement-list{display:grid;grid-gap:1rem;gap:1rem}.achievement-intro{border:1px solid var(--line-soft);border-radius:16px;background:var(--surface);padding:1rem;display:grid;grid-gap:.7rem;gap:.7rem;margin-bottom:1rem}.achievement-intro p{color:var(--muted)}.achievement-list article{padding-bottom:.95rem;border-bottom:1px solid var(--line-soft)}.achievement-meta{margin-top:.35rem;color:var(--accent-2);font-size:.83rem;letter-spacing:.04em}.achievement-org-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-2);border-radius:8px}.external-link-icon{width:1.05rem;height:1.05rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:.32rem;color:var(--text-soft);background:var(--surface-soft);transition:border-color .12s ease,color .12s ease,background-color .12s ease}.external-link-icon svg{width:.72rem;height:.72rem}.achievement-org-link:hover .external-link-icon{border-color:var(--accent);color:var(--accent);background:var(--chip-active)}.achievement-list p:last-child{margin-top:.5rem;color:var(--muted)}.verify-button{margin-top:.68rem;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;padding:.48rem .74rem;color:var(--text);background:var(--surface-soft);font-weight:600;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}.verify-button:hover{border-color:var(--accent);background:var(--chip-active);transform:translateY(-1px)}.verify-button.subtle{background:transparent}.credential-note{color:var(--muted)}.credential-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.credential-item{border:1px solid var(--line-soft);border-radius:16px;background:var(--surface);padding:.82rem;display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);grid-gap:.85rem;gap:.85rem;align-items:start}.credential-image{width:100%;height:100%;border-radius:12px;border:1px solid var(--line-soft);aspect-ratio:16/10;object-fit:cover}.credential-copy{display:grid;grid-gap:.45rem;gap:.45rem}.credential-item h3{margin-top:0}.credential-item p{margin-top:0;color:var(--muted)}.credential-actions{margin-top:.4rem;display:flex;flex-wrap:wrap;gap:.5rem}.guestbook-layout{display:grid;grid-template-columns:.82fr 1.18fr;grid-gap:1.1rem;gap:1.1rem}.guestbook-layout>div p{margin-top:.55rem;color:var(--muted)}.guestbook-contact{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.55rem}.cv-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);grid-gap:.95rem;gap:.95rem;align-items:start}.cv-aside{position:-webkit-sticky;position:sticky;top:90px;display:grid;grid-gap:.75rem;gap:.75rem}.cv-main{display:grid;grid-gap:.8rem;gap:.8rem}.cv-card{border:1px solid var(--line-soft);border-radius:16px;padding:.9rem;background:radial-gradient(160px 120px at top right,rgba(12,143,106,.08),transparent 78%),linear-gradient(165deg,var(--surface),var(--surface-soft))}.cv-card h2{margin-top:0;font-size:1.35rem}.cv-role{margin-top:.38rem;color:var(--text-soft)}.cv-eyebrow{margin-top:0;color:var(--accent-2);letter-spacing:.05em;font-size:.82rem}.cv-actions{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.5rem}.cv-actions .verify-button{margin-top:0}.cv-contact-list{margin-top:.6rem;padding-left:0;list-style:none;display:grid;grid-gap:.58rem;gap:.58rem}.cv-contact-list li{display:grid;grid-gap:.15rem;gap:.15rem}.cv-contact-list span{color:var(--accent-2);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.cv-contact-list a{color:var(--text);text-decoration:none;word-break:break-word}.cv-contact-list a:hover{color:var(--accent)}.cv-tag-cloud{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.44rem}.cv-tag{border:1px solid var(--line);border-radius:999px;padding:.32rem .7rem;color:var(--text-soft);background:var(--surface-soft);font-size:.82rem}.cv-block p+p{margin-top:.62rem;color:var(--muted)}.cv-timeline{margin-top:.75rem;display:grid;grid-gap:.75rem;gap:.75rem}.cv-timeline-item{border-left:2px solid var(--line-soft);padding-left:.78rem}.cv-timeline-head{display:flex;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.cv-timeline-head h3{margin-top:0}.cv-timeline-head p{margin-top:.12rem;color:var(--accent-2);font-size:.85rem}.cv-org{margin-top:.2rem;color:var(--text-soft)}.cv-timeline-item ul{margin-top:.44rem;padding-left:1rem;display:grid;grid-gap:.28rem;gap:.28rem;color:var(--muted)}.cv-projects{margin-top:.76rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.cv-project{border:1px solid var(--line-soft);border-radius:12px;padding:.7rem;background:var(--surface)}.cv-project h3{margin-top:0}.cv-project a{color:var(--text)}.cv-project a:hover{color:var(--accent)}.cv-project p{margin-top:.38rem;color:var(--muted)}.cv-project-stack{color:var(--accent-2);font-size:.82rem}.cv-edu-list{margin-top:.7rem;display:grid;grid-gap:.7rem;gap:.7rem}.cv-edu-list article{border-top:1px solid var(--line-soft);padding-top:.62rem}.cv-edu-list article:first-child{border-top:none;padding-top:0}.cv-edu-list h3{margin-top:0}.cv-edu-list p{margin-top:.28rem}.contact-form{border:1px solid var(--line-soft);border-radius:16px;padding:1rem;background:var(--surface);display:grid;grid-gap:.7rem;gap:.7rem}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem}.contact-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.95rem;color:var(--text-soft)}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text);padding:.74rem .78rem;font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--focus);border-color:var(--accent)}.contact-form button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:10px;padding:.75rem 1rem;font:inherit;font-weight:600;color:var(--text);background:var(--surface-soft);cursor:pointer}.form-note{color:var(--accent-2)}.detail-page{max-width:860px;margin-inline:auto}.back-link{color:var(--accent-2);font-weight:600}.detail-kicker{margin-top:.85rem;letter-spacing:.04em;font-size:.78rem;color:var(--accent)}.detail-page h1{margin-top:.5rem;font-size:clamp(1.8rem,4vw,3rem)}.detail-subtitle{margin-top:.5rem;color:var(--text-soft)}.detail-image{margin-top:1rem;width:100%;border-radius:14px;border:1px solid var(--line)}.detail-reference{display:inline-flex;align-items:baseline}.detail-text,.post-body p{margin-top:.95rem;color:var(--muted)}.detail-page h2{margin-top:1rem;font-size:1.26rem}.detail-list{margin-top:.55rem;padding-left:1.06rem;display:grid;grid-gap:.3rem;gap:.3rem;color:var(--muted)}.post-body{margin-top:.7rem}.site-footer{border-top:1px solid var(--line-soft);padding:1rem 0 2rem;display:flex;justify-content:space-between;gap:.7rem;color:var(--muted);font-size:.86rem}.reveal-up{animation:reveal .52s ease both}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:940px){.cv-layout,.guestbook-layout,.hero,.project-row,.project-row.compact{grid-template-columns:1fr}.hero-media{justify-content:flex-start}.profile-img{width:250px}.cv-aside{position:static}}@media (max-width:760px){.content{width:min(var(--max),calc(100% - 1.3rem))}.top-nav{position:-webkit-sticky;position:sticky;top:0}.nav-inner{display:flex;flex-direction:column;gap:.75rem;align-items:stretch;padding:.58rem 0}.nav-head{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-column-gap:.8rem;column-gap:.8rem}.nav-actions{display:flex;justify-content:flex-end}.breadcrumb{font-size:.95rem}.menu-toggle,.mobile-theme-toggle{display:inline-flex}.desktop-theme-toggle,.menu-group{display:none}.menu-group{width:100%}.menu-group.open{display:grid;grid-gap:.45rem;gap:.45rem}.menu{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;padding-top:.45rem}.menu-link{width:100%;text-align:center;font-size:1.1rem;font-weight:600;padding:.64rem .5rem}.hero-identity{display:flex;align-items:center;gap:.62rem}.hero-identity h1{margin-top:0;font-size:clamp(1.9rem,8.6vw,2.45rem);line-height:1.08}.profile-mini{display:inline-block}.hero-media{display:none}.section-top{flex-direction:column;align-items:flex-start}.blog-grid,.cv-projects,.field-row{grid-template-columns:1fr}.site-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){.project-preview-track{transition:none}*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}