@font-face{font-family:__Bebas_Neue_d758cf;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8b44c7e6549520b2-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:__Bebas_Neue_d758cf;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6c25f6e897d845a3-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:__Bebas_Neue_Fallback_d758cf;src:local("Arial");ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.00%;size-adjust:76.72%}.__className_d758cf{font-family:__Bebas_Neue_d758cf,__Bebas_Neue_Fallback_d758cf;font-weight:400;font-style:normal}.__variable_d758cf{--font-display:"__Bebas_Neue_d758cf","__Bebas_Neue_Fallback_d758cf"}@font-face{font-family:__Space_Grotesk_4e71c2;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_4e71c2;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.p.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_4e71c2;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_4e71c2;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_4e71c2;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.p.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_4e71c2;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_4e71c2;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_4e71c2;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.p.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_4e71c2;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_4e71c2;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_4e71c2{font-family:__Space_Grotesk_4e71c2,__Space_Grotesk_Fallback_4e71c2;font-style:normal}.__variable_4e71c2{--font-body:"__Space_Grotesk_4e71c2","__Space_Grotesk_Fallback_4e71c2"}@font-face{font-family:__IBM_Plex_Mono_fef6f4;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_fef6f4;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_fef6f4;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_fef6f4;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.p.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_fef6f4;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_fef6f4;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/704b853f32d191d5-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_fef6f4;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/656feb427634a431-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_fef6f4;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/991629005c80bdf1-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_fef6f4;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46e154b2fcbd6033-s.p.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_fef6f4;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/37786be940ec402b-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_fef6f4;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_fef6f4{font-family:__IBM_Plex_Mono_fef6f4,__IBM_Plex_Mono_Fallback_fef6f4;font-style:normal}.__variable_fef6f4{--font-mono:"__IBM_Plex_Mono_fef6f4","__IBM_Plex_Mono_Fallback_fef6f4"}:root{--bg-0:#efe9dc;--bg-1:#f6f2e8;--surface:#fff9ef;--surface-strong:#fff4df;--line:#101010;--line-soft:#1d1d1d;--text:#0f0f0f;--muted:#363228;--accent:#ff5a36;--accent-2:#00b6cc;--danger:#ca1f1f;--radius:4px;--radius-lg:8px;--shadow:8px 8px 0 #0f0f0f;--shadow-soft:5px 5px 0 #0f0f0f;--max:1160px}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px) 0 0/22px 22px,radial-gradient(circle at 8% 14%,rgba(255,90,54,.19),transparent 26%),radial-gradient(circle at 87% 22%,rgba(0,182,204,.17),transparent 30%),linear-gradient(175deg,var(--bg-0),var(--bg-1));font-family:var(--font-body),"Space Grotesk","Segoe UI",sans-serif;line-height:1.6}.site-shell,body{min-height:100vh}.skip-link{position:absolute;left:12px;top:-48px;background:#111;color:#fff;padding:10px 14px;border:2px solid #111;border-radius:var(--radius);z-index:100;font-weight:700}.skip-link:focus{top:12px}.section,.site-footer,.site-header{width:min(var(--max),100% - 2rem);margin-inline:auto}.site-header{padding-top:1.1rem}.top-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.9rem;gap:.9rem;position:-webkit-sticky;position:sticky;top:10px;z-index:30;border:3px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,249,239,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-soft);padding:.45rem .55rem}.brand{min-width:78px;height:48px;display:inline-flex;border:2px solid var(--line);border-radius:var(--radius);font:700 1rem/1 var(--font-mono),IBM Plex Mono,monospace;text-decoration:none;color:#fff;background:#111;letter-spacing:.08em}.brand,.menu-links{align-items:center;justify-content:center}.menu-links{margin:0;padding:0;list-style:none;display:flex;gap:.3rem;flex-wrap:wrap}.menu-links a{text-decoration:none;color:var(--text);font:700 .78rem/1 var(--font-mono),IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em;border:2px solid transparent;border-radius:var(--radius);padding:.45rem .5rem;transition:transform .13s ease,border-color .13s ease,background-color .13s ease}.menu-links a:hover{border-color:var(--line);background:#fff;transform:translate(1px,1px)}.nav-toggle{display:none}.lang-switcher{display:inline-flex;border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.lang-switcher a,.lang-switcher button{border:0;padding:.5rem .7rem;background:transparent;color:var(--muted);font:700 .72rem/1 var(--font-mono),IBM Plex Mono,monospace;cursor:pointer;text-decoration:none}.lang-switcher a.active,.lang-switcher button.active{background:#111;color:#fff}.blog-header-controls{display:flex;align-items:center;gap:.8rem}.blog-nav-links{display:flex;width:100%;align-items:center;justify-content:center;gap:.7rem}.blog-nav-links a{text-decoration:none;color:var(--text);font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-family:var(--font-mono),"IBM Plex Mono",monospace;font-weight:700;color:#111;margin:0}h1,h2,h3,h4{margin-top:0}.copy{color:var(--muted)}.hero{margin-top:1rem;padding:clamp(1rem,2.4vw,1.9rem);border:3px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);display:grid;grid-template-columns:1.55fr 1fr;grid-gap:.9rem;gap:.9rem;align-items:stretch;overflow:hidden}.hero-content,.hero-panel,.hero-photo-wrap{border:2px solid var(--line);border-radius:var(--radius);background:#fff}.hero-content{padding:1rem;animation:stamp-in .46s cubic-bezier(.2,.75,.25,1) both}.hero-kicker-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}.hero-code{font:700 .7rem/1 var(--font-mono),IBM Plex Mono,monospace;letter-spacing:.1em;border:2px solid var(--line);padding:.35rem .45rem;background:var(--surface-strong)}.hero h1,.hero-code{text-transform:uppercase}.hero h1{font-family:var(--font-display),"Bebas Neue",sans-serif;font-size:clamp(2.7rem,7vw,5.1rem);line-height:.95;margin:.55rem 0 .9rem;letter-spacing:.03em;text-shadow:2px 2px 0 #fff,4px 4px 0 var(--accent)}.hero h1 span{display:block;font-family:var(--font-body),"Space Grotesk",sans-serif;font-size:clamp(1rem,2.1vw,1.34rem);color:var(--muted);margin-top:.6rem;letter-spacing:0;text-transform:none;text-shadow:none}.hero-tagline{font-size:clamp(1.4rem,2.8vw,2.1rem);font-weight:800;line-height:1.25;margin:1.8rem 0 1.2rem;color:#111;max-width:25ch}.hero-copy{max-width:62ch;color:var(--muted)}.hero-actions{display:flex;gap:.55rem;margin-top:1.2rem;flex-wrap:wrap}.hero-panel{padding:.9rem;display:grid;align-content:start;grid-gap:.75rem;gap:.75rem;background:var(--surface-strong);animation:stamp-in .56s cubic-bezier(.2,.75,.25,1) both}.hero-panel-title{margin:0;font:700 .78rem/1 var(--font-mono),IBM Plex Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.hero-panel ul{margin:0;padding:0;list-style:none;display:grid;grid-gap:.55rem;gap:.55rem}.hero-panel li{border:2px solid var(--line);background:#fff;padding:.55rem;display:grid;grid-gap:.2rem;gap:.2rem}.hero-panel span{font:700 .68rem/1 var(--font-mono),IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero-panel strong{font-size:.92rem}.hero-photo-wrap{align-items:center;justify-content:center;display:flex;padding:.65rem;background:repeating-linear-gradient(-45deg,rgba(0,0,0,.04),rgba(0,0,0,.04) 8px,transparent 0,transparent 16px),#fff;animation:stamp-in .62s cubic-bezier(.2,.75,.25,1) both}.hero-photo{width:min(100%,290px);border-radius:0;border:3px solid var(--line);box-shadow:6px 6px 0 #111;transform:rotate(-2deg)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);padding:.65rem 1rem;text-decoration:none;font:700 .78rem/1 var(--font-mono),IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.07em;border:2px solid var(--line);box-shadow:4px 4px 0 #111;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #111}.social-proof-belt{margin-top:1rem}.social-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.social-proof-card{background:hsla(0,0%,100%,.45);border:3px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:4px 4px 0 rgba(0,0,0,.08)}.social-proof-card p{font-size:.85rem;font-style:italic;margin:0;color:var(--text);line-height:1.5}.social-proof-card footer{margin-top:.8rem;font-size:.8rem;color:#111}.social-proof-card footer strong{text-transform:uppercase;letter-spacing:.05em}.social-proof-card footer span{color:var(--muted)}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#ff6f50}.btn-ghost{color:var(--text);background:#fff}.section{padding:3.6rem 0;animation:fade-rise .4s ease both}.section-alt,.section-panel{background:hsla(0,0%,100%,.55);border:3px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding-inline:1.1rem}.section-panel{padding-block:1rem}.section-head{max-width:780px;margin-bottom:1.25rem}.section-head h2{font-family:var(--font-display),"Bebas Neue",sans-serif;font-size:clamp(2rem,5vw,3.35rem);margin:.25rem 0 0;line-height:.96;text-transform:uppercase;letter-spacing:.03em}.about-layout{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:.8rem;gap:.8rem}.about-layout>div,.about-meta{background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-soft)}.about-meta{list-style:none;margin:0}.about-meta li{margin-bottom:.45rem;color:var(--muted)}.about-meta strong{color:var(--text)}.about-meta a,.about-meta a:visited{color:var(--text);text-decoration:underline;text-underline-offset:2px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.surface-card{background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:.9rem;box-shadow:6px 6px 0 #111;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.surface-card:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 #111;background:#fff8ea}.surface-card h3{margin-bottom:.55rem;font-size:1.08rem}.surface-card p{margin:0;color:var(--muted);line-height:1.65}.timeline-item{border-top:2px dashed var(--line);padding-top:.8rem;margin-top:.8rem}.timeline-item.compact{padding-top:.55rem;margin-top:.55rem}.timeline-item h4{margin-bottom:.2rem}.muted{color:var(--muted)}.experience-points{margin:.45rem 0 0;padding-left:1.1rem}.experience-points li{margin-bottom:.35rem;color:var(--muted)}.skills-block{margin-bottom:1.4rem}.skills-block h3{margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.02em}.skills-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.skill-card{margin:0;background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:.7rem;text-align:center;box-shadow:4px 4px 0 #111;transition:transform .12s ease,box-shadow .12s ease}.skill-card:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #111}.skill-card img{width:40px;height:40px;object-fit:contain}.skill-text-chip{width:40px;height:40px;margin:0 auto;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:#111}.skill-card p{margin:.45rem 0 0;font-size:.87rem;line-height:1.5}.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.testimonials-grid .testimonial{display:flex;flex-direction:column;justify-content:space-between}.systems-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.systems-list li{background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:.85rem;box-shadow:var(--shadow-soft)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.project-grid .surface-card{display:flex;flex-direction:column;height:100%}.project-grid>:last-child:nth-child(odd){grid-column:1/-1}.project-points{margin:.7rem 0 0;padding-left:1.1rem}.project-points li{margin-bottom:.35rem;color:var(--muted)}.project-impact{margin-top:.7rem!important;font-size:.93rem}.project-tech{margin-top:.8rem;font-size:.92rem;color:var(--text)}.project-cta{margin-top:auto;padding-top:.8rem;align-self:flex-start}.section-cta-wrap{margin-top:1rem}.testimonial p{font-style:italic}.testimonial cite{display:inline-block;margin-top:.7rem;font-weight:700;font-style:normal}.testimonial footer{display:flex;flex-direction:column;gap:.15rem}.testimonial-role{font-size:.82rem;color:var(--muted);font-family:var(--font-mono),"IBM Plex Mono",monospace}.stats-bar{width:min(var(--max),100% - 2rem);margin:1.2rem auto 0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.8rem;gap:.8rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .6rem;border:3px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:6px 6px 0 #111;text-align:center;transition:transform .12s ease,box-shadow .12s ease}.stat-item:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 #111}.stat-value{font-family:var(--font-display),"Bebas Neue",sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1;letter-spacing:.03em;color:var(--accent)}.stat-label{font:700 .7rem/1.2 var(--font-mono),IBM Plex Mono,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.why-me-card{text-align:center}.why-me-icon{display:inline-block;font-size:1.7rem;margin-bottom:.4rem}.why-me-card h3{font-size:1rem}.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.8rem;gap:.8rem}.process-step{display:flex;flex-direction:column;gap:.5rem;padding:.9rem;border:2px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:6px 6px 0 #111;position:relative;transition:transform .12s ease,box-shadow .12s ease}.process-step:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 #111}.process-number{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:2px solid var(--line);border-radius:var(--radius);background:#111;color:#fff;font:700 .82rem/1 var(--font-mono),IBM Plex Mono,monospace;flex-shrink:0}.process-step h3{margin:0 0 .2rem;font-size:1.05rem}.process-step p{margin:0;color:var(--muted);font-size:.92rem}.mid-cta{width:min(var(--max),100% - 2rem);margin:0 auto;padding:1.8rem 1.4rem;border:3px solid var(--line);border-radius:var(--radius-lg);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;box-shadow:var(--shadow)}.mid-cta p{margin:0;font-family:var(--font-display),"Bebas Neue",sans-serif;font-size:clamp(1.4rem,3vw,2rem);line-height:1.1;text-transform:uppercase;letter-spacing:.03em}.mid-cta .btn-primary{background:#fff;color:var(--text);border-color:var(--line);flex-shrink:0}.mid-cta .btn-primary:hover{background:var(--surface-strong)}.faq-list{display:grid;grid-gap:.7rem;gap:.7rem}.faq-item{border-radius:var(--radius);border:2px solid var(--line);background:#fff;overflow:hidden;box-shadow:var(--shadow-soft)}.faq-item button{width:100%;padding:.9rem;text-align:left;border:0;cursor:pointer;background:#fff;color:var(--text);font-weight:700;font-size:.96rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem;transition:background-color .13s ease}.faq-item button:after{content:"+";font-size:1.2rem;font-weight:700;line-height:1;flex-shrink:0;transition:transform .2s ease}.faq-item button[aria-expanded=true]:after{content:"−"}.faq-item button:hover{background:var(--bg-1)}.faq-item p{margin:0;padding:0 .9rem .9rem;color:var(--muted)}.contact-section{padding-bottom:2.2rem}.contact-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem;align-items:start}.contact-form,.contact-layout>div{border-radius:var(--radius);border:2px solid var(--line);background:#fff;padding:1rem;box-shadow:var(--shadow-soft)}.contact-layout p{margin-top:0;color:var(--muted)}.contact-layout ul{margin:0;padding-left:1.1rem;color:var(--muted)}.contact-layout a{color:var(--text);font-weight:700}.contact-form{display:grid;grid-gap:.55rem;gap:.55rem}.contact-form label{font-weight:700;font-size:.87rem;font-family:var(--font-mono),"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.05em}.contact-form input,.contact-form textarea{width:100%;border:2px solid var(--line);border-radius:var(--radius);font:inherit;padding:.62rem;background:#fff;color:var(--text)}.send-error{margin:0;color:var(--danger);font-size:.9rem}.site-footer{padding-bottom:2.8rem}.seo-footer{padding:1.1rem;border:3px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);margin-top:2rem;margin-bottom:3rem}.seo-footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-gap:1rem;gap:1rem}.seo-footer h2{font-size:1rem;margin-bottom:.5rem;font-family:var(--font-mono),"IBM Plex Mono",monospace;text-transform:uppercase}.seo-footer p{margin-top:0;margin-bottom:.6rem;color:var(--muted)}.seo-footer-links{margin:0;padding-left:1.1rem;display:grid;grid-gap:.35rem;gap:.35rem}.seo-footer a{color:var(--text);font-weight:700}.seo-footer address{font-style:normal;display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.7rem}.seo-keywords{font-size:.92rem}.seo-footer-copy{margin:0;padding-top:.8rem;border-top:2px solid var(--line);color:var(--muted);font-size:.9rem}.back-to-top{position:fixed;right:16px;bottom:16px;width:44px;height:44px;border-radius:var(--radius);background:var(--accent);border:2px solid var(--line);color:#fff;display:grid;place-items:center;text-decoration:none;box-shadow:var(--shadow-soft);font-weight:700}@keyframes fade-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes stamp-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1120px){.hero{grid-template-columns:1fr;gap:1.2rem}.hero-photo-wrap{order:-1;min-height:280px}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.testimonials-grid{grid-template-columns:1fr}.process-timeline,.stats-bar{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.about-layout,.card-grid,.contact-layout,.hero,.project-grid,.resume-grid,.seo-footer-grid,.social-proof-grid,.systems-list{grid-template-columns:1fr}.stats-bar{grid-template-columns:repeat(2,1fr)}.process-timeline{grid-template-columns:1fr}.mid-cta{flex-direction:column;text-align:center}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-nav{grid-template-columns:auto auto 1fr}.nav-toggle{display:inline-flex;color:var(--text);padding:.45rem .72rem;font:700 .72rem/1 var(--font-mono),IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.menu-links,.nav-toggle{border:2px solid var(--line);background:#fff;border-radius:var(--radius)}.menu-links{position:absolute;top:64px;right:0;max-width:min(90vw,320px);flex-direction:column;align-items:stretch;padding:.55rem;box-shadow:var(--shadow-soft);display:none;z-index:30}.menu-links a{display:block;width:100%}.menu-links.open{display:flex}.lang-switcher{justify-self:end}.blog-header-controls{width:100%;justify-content:space-between;order:2}}@media(max-width:560px){.section,.site-footer,.site-header{width:min(var(--max),100% - 1rem)}.hero h1{font-size:clamp(2.3rem,13vw,3rem)}.hero-tagline{font-size:1.05rem}.hero-copy{font-size:.95rem}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.back-to-top{right:10px;bottom:10px}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.75,.25,1),transform .6s cubic-bezier(.2,.75,.25,1)}.reveal.visible{opacity:1;transform:translateY(0)}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{width:min(1160px,calc(100% - 2rem));margin:0 auto}.topbar{justify-content:space-between;padding:1rem 0;border-bottom:2px solid var(--line)}.nav,.topbar{display:flex;align-items:center}.nav{gap:.7rem}.lang{display:inline-flex;gap:.35rem}.lang a{padding:.32rem .55rem;border-radius:4px;border:2px solid var(--line);color:var(--text);text-decoration:none;font:700 .74rem/1 var(--font-mono),IBM Plex Mono,monospace;text-transform:uppercase}.lang a.active{color:#fff;background:#111}.blog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.blog-categories{margin-bottom:1rem;padding:.9rem;border:2px solid var(--line);border-radius:6px;background:#fff;box-shadow:var(--shadow-soft)}.blog-categories-head h2{margin:0}.blog-categories-head p{margin:.35rem 0 0}.blog-category-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.blog-category-chip{border:2px solid var(--line);background:#fff;color:var(--text);text-decoration:none;padding:.28rem .64rem;border-radius:4px;font-size:.84rem;font-family:var(--font-mono),"IBM Plex Mono",monospace;text-transform:uppercase;transition:transform .12s ease}.blog-category-chip:hover{transform:translate(-2px,-2px)}.blog-category-chip.active{background:var(--accent);color:#fff}.blog-card{position:relative;border:2px solid var(--line);border-radius:6px;background:#fff;overflow:hidden;display:flex;flex-direction:column;height:100%;box-shadow:var(--shadow-soft);transition:transform .12s ease,box-shadow .12s ease}.blog-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 #111}.blog-card-link{position:absolute;inset:0;z-index:1;text-decoration:none;color:transparent;cursor:pointer}.blog-category-pill{position:relative;z-index:2}.blog-card-media{width:100%;aspect-ratio:16/10;overflow:hidden;background:#efe9dc;border-bottom:2px solid var(--line)}.blog-card-image{width:100%;height:100%;object-fit:cover;display:block}.blog-card-content{padding:.9rem;display:flex;flex-direction:column;gap:.5rem;flex:1 1}.blog-card-categories,.post-categories{display:flex;flex-wrap:wrap;gap:.4rem}.blog-category-pill{border:2px solid var(--line);background:#fff;color:var(--text);text-decoration:none;padding:.16rem .56rem;border-radius:4px;font-size:.76rem;line-height:1.35;font-family:var(--font-mono),"IBM Plex Mono",monospace;text-transform:uppercase}.blog-card-title{margin:0;line-height:1.2}.blog-card-excerpt{margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-content a,.blog-card-cta{margin-top:auto;color:var(--text);font-weight:700}.blog-card-cta{font-size:.92rem}.post-meta-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.post-reading-time{font-size:.88rem}.share-section{display:flex;gap:.5rem;margin-top:1.4rem;padding-top:1rem;border-top:2px solid var(--line);flex-wrap:wrap}.share-btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border:2px solid var(--line);border-radius:4px;background:#fff;color:var(--text);font:700 .76rem/1 var(--font-mono),IBM Plex Mono,monospace;text-transform:uppercase;text-decoration:none;cursor:pointer;letter-spacing:.06em;transition:transform .12s ease,box-shadow .12s ease}.share-btn:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 #111}.reading-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:50;transition:width 60ms linear;pointer-events:none}.resume-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem}.case-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.sticky-mobile-cta{display:none;position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:1000;width:min(90%,320px);animation:slide-up .3s cubic-bezier(.2,.75,.25,1)}.btn-sticky{width:100%;box-shadow:6px 6px 0 #111;font-size:.9rem;padding:.8rem;white-space:nowrap}@keyframes slide-up{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}@media (max-width:640px){.sticky-mobile-cta{display:block}}.expertise-bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(180px,auto);grid-gap:.8rem;gap:.8rem}.bento-card{display:flex;flex-direction:column;justify-content:flex-start;height:100%}.bento-card h3{margin:.5rem 0 1rem}.bento-icon{font-size:1.5rem;margin-bottom:.5rem}.bento-wide{grid-column:span 2}.bento-normal{grid-column:span 1}@media (max-width:1024px){.expertise-bento{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.expertise-bento{grid-template-columns:1fr}.bento-normal,.bento-wide{grid-column:span 1}}.case-study-results-bar{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin:2rem 0;padding:1.5rem;background-color:var(--color-background);border:4px solid var(--color-text);box-shadow:8px 8px 0 var(--color-text)}.case-study-results-bar[data-metrics="2"]{grid-template-columns:repeat(2,1fr)}.case-study-results-bar[data-metrics="1"]{grid-template-columns:1fr}.metric-item{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.metric-value{display:block;font-size:2rem;font-weight:800;color:var(--color-primary);line-height:1.2}.metric-label{display:block;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}@media (max-width:640px){.case-study-results-bar,.case-study-results-bar[data-metrics="1"],.case-study-results-bar[data-metrics="2"],.case-study-results-bar[data-metrics="3"]{grid-template-columns:1fr;gap:1.5rem;padding:1rem;box-shadow:4px 4px 0 var(--color-text)}}.case-study-tech-chips{gap:.5rem;margin-bottom:2rem}.case-study-grid>:last-child:nth-child(odd){grid-column:1/-1}.case-study-page h2{margin-bottom:.45rem}.case-study-meta{display:grid;grid-gap:.4rem;gap:.4rem;padding:.85rem;border:2px solid var(--line);border-radius:6px;background:#fff8ea;margin-bottom:.9rem}.case-study-meta p{margin:0}.case-study-section ul{margin:0;padding-left:1.1rem}.case-study-section li{margin-bottom:.45rem;color:var(--muted)}.case-study-card-header{display:flex;align-items:flex-start;gap:.6rem}.case-study-card-index{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;border:2px solid var(--line);border-radius:4px;background:#111;color:#fff;font:700 .76rem/1 var(--font-mono),IBM Plex Mono,monospace;flex-shrink:0;margin-top:.1rem}.case-study-tech-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.3rem}.case-study-tech-chip{display:inline-block;border:2px solid var(--line);background:#fff;color:var(--text);padding:.14rem .48rem;border-radius:4px;font-size:.7rem;font-family:var(--font-mono),"IBM Plex Mono",monospace;text-transform:uppercase;white-space:nowrap}.case-study-section{margin-bottom:1.1rem;padding-left:.9rem;border-left:3px solid var(--line)}.case-study-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.4rem;padding-top:1rem;border-top:2px solid var(--line)}.case-study-nav-link{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;color:var(--text);max-width:48%}.case-study-nav-link:last-child{text-align:right;margin-left:auto}.case-study-nav-label{font:700 .7rem/1 var(--font-mono),IBM Plex Mono,monospace;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.case-study-nav-title{font-weight:700;font-size:.92rem;line-height:1.25}.cs-slider-section{margin-top:1.8rem;padding:1rem;background:#fff;border:2px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft)}.cs-slider-head{display:flex;justify-content:space-between;gap:.9rem;align-items:center;margin-bottom:.8rem}.cs-slider-head h2{margin:0}.cs-slider-controls{display:inline-flex;gap:.45rem}.cs-slider-controls button{width:38px;height:38px;border:2px solid var(--line);border-radius:4px;background:#fff;color:var(--text);font-size:1.05rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.cs-slider-controls button:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 #111}.cs-slider-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,calc((100% - 1rem) / 2));grid-gap:.9rem;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:.35rem 0 .6rem}.cs-slide{scroll-snap-align:start;background:#fff;border:2px solid var(--line);border-radius:6px;padding:.9rem;display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:var(--text);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.cs-slide:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.12)}.cs-slide h3{margin:0;font-size:.95rem;line-height:1.25}.cs-slide-summary{margin:0;color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cs-slide-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.15rem}.cs-slide-cta{margin-top:auto;color:var(--text);font-weight:700;font-size:.88rem;text-decoration:none}.post-layout{width:min(1160px,calc(100% - 2rem));margin:1.6rem auto 0}.post{width:min(860px,100%);margin:0 auto}.post-article{padding:clamp(1rem,2.3vw,1.4rem);background:#fff;border:2px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft)}.post-cover{width:min(100%,680px);height:auto;display:block;border-radius:6px;border:2px solid var(--line);margin:.9rem auto 0}.post-content-image{width:auto;max-width:100%;height:auto;display:block;margin:1rem auto;border-radius:4px;border:2px solid var(--line)}.post-body{margin-top:1.2rem;line-height:1.72}.post-body li,.post-body p,.post-breadcrumbs{color:var(--muted)}.post-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;font-size:.88rem}.post-breadcrumbs a{color:var(--text);text-decoration:none;font-weight:700}.post-body h2,.post-body h3{line-height:1.16}.post-body a{color:var(--text);font-weight:700}.preview-banner{margin-bottom:.8rem;padding:.5rem .7rem;border:2px dashed var(--line);border-radius:6px;background:#fff8ea;display:flex;gap:.6rem;align-items:center;justify-content:space-between}.preview-banner a{text-decoration:none;color:var(--text);font-weight:700}.post-code-wrap{margin:1rem 0;border:2px solid var(--line);border-radius:6px;overflow:hidden;background:#0f172a}.post-code-label{padding:.3rem .6rem;background:#0b1220;color:#cbd5e1;border-bottom:1px solid rgba(203,213,225,.25);font:600 .72rem/1.2 var(--font-mono),IBM Plex Mono,monospace;text-transform:lowercase}.post-code{margin:0;padding:.9rem;overflow-x:auto}.post-code code{color:#f8fafc;font:500 .88rem/1.6 var(--font-mono),IBM Plex Mono,monospace;white-space:pre}.related-posts-section{margin-top:1.8rem;padding:1rem;background:#fff;border:2px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft)}.related-posts-head{display:flex;justify-content:space-between;gap:.9rem;align-items:center;margin-bottom:.8rem}.related-posts-head h2{margin:0}.related-posts-controls{display:inline-flex;gap:.45rem}.related-posts-controls button{width:38px;height:38px;border:2px solid var(--line);border-radius:4px;background:#fff;color:var(--text);font-size:1.05rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.related-posts-controls button:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 #111}.related-slider{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,calc((100% - 1rem) / 2));grid-gap:.9rem;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:.35rem 0 .6rem}.related-slide{scroll-snap-align:start;background:#fff;border:2px solid var(--line);border-radius:6px;padding:.9rem;display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:var(--text);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.related-slide:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.12)}.related-slide h3{margin:0;font-size:.95rem;line-height:1.25}.related-slide p{margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-slide-cta{margin-top:auto;color:var(--text);font-weight:700;font-size:.88rem}@media (max-width:900px){.blog-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-grid{grid-template-columns:minmax(0,1fr)}.cs-slider-track,.related-slider{grid-auto-columns:minmax(250px,85%)}}@media (max-width:640px){.post-layout,.shell{width:min(1160px,calc(100% - 1rem))}.blog-list{grid-template-columns:minmax(0,1fr)}}