@font-face{font-family:"IBM Plex Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-italic-cyrillic-ext.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 Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-italic-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"IBM Plex Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-italic-vietnamese.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 Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-italic-latin-ext.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 Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-italic-latin.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 Serif";font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-italic-cyrillic-ext.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 Serif";font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-italic-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"IBM Plex Serif";font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-italic-vietnamese.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 Serif";font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-italic-latin-ext.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 Serif";font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-italic-latin.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 Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-normal-cyrillic-ext.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 Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-normal-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-normal-vietnamese.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 Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-normal-latin-ext.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 Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-400-normal-latin.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 Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-normal-cyrillic-ext.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 Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-normal-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-normal-vietnamese.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 Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-normal-latin-ext.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 Serif";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-500-normal-latin.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 Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-serif-600-normal-cyrillic-ext.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 Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-serif-600-normal-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-serif-600-normal-vietnamese.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 Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-serif-600-normal-latin-ext.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 Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-serif-600-normal-latin.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:Exo\ 2;src:url(/fonts/exo2-variable-normal.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-variable-italic.ttf) format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-100-normal.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-200-normal.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-300-normal.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-400-normal.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-500-normal.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-600-normal.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-700-normal.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-800-normal.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-900-normal.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-100-italic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-200-italic.ttf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-300-italic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-400-italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-500-italic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-600-italic.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-700-italic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-800-italic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Exo\ 2;src:url(/fonts/exo2-900-italic.ttf) format("truetype");font-weight:900;font-style:italic;font-display:swap}:root{--orange:#E07820;--orange-dark:#BF6113;--orange-deep:#A8530C;--orange-tint:#F8E3CC;--orange-soft:#FCF1E4;--brown:#814A1B;--ink-900:#17120D;--ink-800:#241B14;--ink-700:#3A2E24;--ink-500:#6E5C49;--ink-400:#93826D;--white:#FFFFFF;--paper:#FBF8F3;--sand-100:#F3ECE1;--sand-200:#E9DECE;--sand-300:#DBCBB4;--line:#E2D7C6;--line-strong:#CDBCA3;--line-dark:#38302A;--bg:var(--paper);--surface:var(--white);--fg1:var(--ink-900);--fg2:var(--ink-500);--fg3:var(--ink-400);--accent:var(--orange);--accent-fg:#FFFFFF;--on-dark-1:#F6EFE6;--on-dark-2:#BCAA95;--font-display:"Exo 2",system-ui,sans-serif;--font-body:"Exo 2",system-ui,sans-serif;--font-serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;--fs-display:clamp(3.4rem,9vw,8rem);--fs-h1:clamp(2.6rem,6vw,5rem);--fs-h2:clamp(2rem,4vw,3.2rem);--fs-h3:clamp(1.4rem,2.2vw,1.9rem);--fs-lead:clamp(1.15rem,1.6vw,1.45rem);--fs-body:1.0625rem;--fs-small:0.9375rem;--fs-eyebrow:0.8125rem;--lh-tight:1.02;--lh-snug:1.15;--lh-body:1.6;--tracking-display:-0.025em;--tracking-tight:-0.01em;--tracking-eyebrow:0.22em;--w-light:300;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--w-black:900;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--sp-11:192px;--r-xs:4px;--r-sm:8px;--r-md:14px;--r-lg:22px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(33,21,12,.06),0 2px 6px rgba(33,21,12,.05);--shadow-md:0 6px 18px rgba(33,21,12,.08),0 2px 6px rgba(33,21,12,.05);--shadow-lg:0 24px 60px rgba(33,21,12,.14),0 6px 16px rgba(33,21,12,.07);--ease:cubic-bezier(.2,.7,.2,1);--dur-fast:140ms;--dur:260ms;--dur-slow:520ms;--maxw:1240px;--gutter:clamp(20px,5vw,72px)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:clip}body{margin:0;background:var(--paper);color:var(--fg1);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--orange);color:#fff}a{color:inherit}img{max-width:100%;display:block}[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--orange-deep);outline-offset:3px;border-radius:4px}.mk-skip-link{position:absolute;left:8px;top:-60px;z-index:1000;background:var(--ink-900);color:var(--on-dark-1);padding:12px 20px;border-radius:var(--r-sm);font-family:var(--font-display);font-weight:600;font-size:.95rem;text-decoration:none;transition:top var(--dur) var(--ease)}.mk-skip-link:focus{top:8px;outline:2px solid var(--orange);outline-offset:2px}@media (max-width:1120px){.mk-hero-monkey{display:none!important}}@media (max-width:920px){.mk-hero-grid{grid-template-columns:1fr!important;gap:40px!important}.mk-hero-portrait{max-width:460px}}@media (max-width:860px){.mk-about-grid{grid-template-columns:1fr!important}.mk-about-portrait{position:static!important;max-width:460px}.mk-contact-grid{grid-template-columns:1fr!important}.mk-service-row{grid-template-columns:auto 1fr!important}.mk-service-row>p{grid-column:2/3}.mk-project-row{grid-template-columns:1fr!important;gap:clamp(18px,4vw,28px)!important}.mk-navlinks{display:none!important}}@media (max-width:560px){header a[href="#contact"]{padding:9px 14px!important;font-size:.82rem!important;gap:6px!important}}@media (max-width:400px){header>div{padding-left:14px!important;padding-right:14px!important}.mk-logo{font-size:20px!important;gap:6px!important}header a[href="#contact"]{padding:8px 12px!important;font-size:.74rem!important}}.mk-legal{max-width:760px;margin:0 auto;padding:clamp(48px,8vw,96px) var(--gutter) clamp(72px,10vw,140px)}.mk-legal h1{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.02em;margin:28px 0 0}.mk-legal h1,.mk-legal h2{font-family:var(--font-display);font-weight:700;color:var(--ink-900)}.mk-legal h2{font-size:var(--fs-h3);letter-spacing:-.015em;margin:clamp(36px,5vw,56px) 0 0}.mk-legal p{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg2);margin:16px 0 0}.mk-legal a{color:var(--orange-deep)}.mk-legal h3{font-weight:700;font-size:1.15rem;letter-spacing:-.01em;margin:28px 0 0}.mk-legal h3,.mk-legal h4{font-family:var(--font-display);color:var(--ink-900)}.mk-legal h4{font-weight:600;font-size:1rem;margin:22px 0 0}.mk-legal ul{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg2);margin:16px 0 0;padding-left:22px}.mk-legal li{margin-top:8px}