:root{--bg:#f4f5f7;--surface:#fff;--surface-alt:#eceff2;--ink:#12151c;--ink-muted:#565e6c;--line:#d8dce3;--line-strong:#b9c0cc;--accent:#1f4fd8;--accent-ink:#0b2e9e;--accent-soft:#e7ecfc;--cta:#d9591f;--cta-ink:#fff;--shadow:0 1px 2px #12151c0a, 0 12px 24px -12px #12151c1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1116;--surface:#161a21;--surface-alt:#1b2028;--ink:#edeff3;--ink-muted:#9aa2af;--line:#2a2f3a;--line-strong:#3a4150;--accent:#7c9cff;--accent-ink:#b7c7ff;--accent-soft:#1b2540;--cta:#ff8a50;--cta-ink:#1a0d06;--shadow:0 1px 2px #0000004d, 0 16px 32px -16px #00000080}}:root[data-theme=dark]{--bg:#0e1116;--surface:#161a21;--surface-alt:#1b2028;--ink:#edeff3;--ink-muted:#9aa2af;--line:#2a2f3a;--line-strong:#3a4150;--accent:#7c9cff;--accent-ink:#b7c7ff;--accent-soft:#1b2540;--cta:#ff8a50;--cta-ink:#1a0d06;--shadow:0 1px 2px #0000004d, 0 16px 32px -16px #00000080}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;line-height:1.55}::selection{background:var(--accent-soft);color:var(--accent-ink)}#root{min-height:100svh}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}section{position:relative}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);align-items:center;gap:.5em;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;display:inline-flex}.eyebrow:before{content:"//";color:var(--ink-muted)}h1,h2,h3{text-wrap:balance;margin:0;font-family:Instrument Serif,Georgia,serif;font-weight:400}p{margin:0}a{color:inherit}header.nav{z-index:40;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:16px 28px;display:flex}.brand{align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:.95rem;font-weight:600;display:flex}.brand .dot{background:var(--accent);border-radius:1px;width:8px;height:8px;display:inline-block}nav.links{gap:28px;font-size:.88rem;display:flex}nav.links a{color:var(--ink-muted);text-decoration:none}nav.links a:hover{color:var(--ink)}.nav-cta{background:var(--ink);color:var(--bg);white-space:nowrap;border-radius:3px;padding:9px 16px;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:600;text-decoration:none}@media (width<=720px){nav.links{display:none}}.hero{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:50% -1px;background-size:48px 48px;padding:96px 0 72px;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.hero-inner{-webkit-mask-image:none;mask-image:none}.hero .wrap{position:relative}.hero-content{max-width:760px}.hero h1{margin-top:18px;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.08}.hero h1 em{color:var(--accent-ink);font-style:italic}.hero-sub{color:var(--ink-muted);max-width:56ch;margin-top:22px;font-size:1.08rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.btn{border:1px solid #0000;border-radius:3px;align-items:center;gap:8px;padding:13px 22px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--cta);color:var(--cta-ink);box-shadow:var(--shadow)}.btn-primary:hover{filter:brightness(1.06)}.btn-ghost{border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink-muted)}.stats{background:var(--line);border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:64px;display:grid;overflow:hidden}.stat{background:var(--surface);padding:20px 18px}.stat b{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace;font-size:1.5rem;display:block}.stat span{color:var(--ink-muted);font-size:.8rem}@media (width<=720px){.stats{grid-template-columns:repeat(2,1fr)}}.section{border-top:1px solid var(--line);padding:88px 0}.section-head{max-width:640px;margin-bottom:48px}.section-head h2{margin-top:14px;font-size:clamp(1.9rem,3vw,2.5rem)}.section-head p{color:var(--ink-muted);margin-top:14px}.about-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:56px;display:grid}.about-text p{color:var(--ink-muted);font-size:1rem}.about-text p+p{margin-top:16px}.timeline{border-left:2px solid var(--line);flex-direction:column;gap:22px;padding-left:24px;display:flex}.tl-item{position:relative}.tl-item:before{content:"";background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute;top:4px;left:-30px}.tl-year{color:var(--accent-ink);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.75rem}.tl-role{margin-top:2px;font-weight:600}.tl-desc{color:var(--ink-muted);margin-top:2px;font-size:.9rem}@media (width<=820px){.about-grid{grid-template-columns:1fr}}.services{background:var(--line);border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.service{background:var(--surface);flex-direction:column;gap:12px;padding:30px 24px;display:flex}.service .num{color:var(--ink-muted);font-family:IBM Plex Mono,monospace;font-size:.78rem}.service h3{font-family:IBM Plex Sans,sans-serif;font-size:1.05rem;font-weight:700}.service p{color:var(--ink-muted);font-size:.9rem}@media (width<=960px){.services{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.services{grid-template-columns:1fr}}.grid-cases{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}@media (width<=960px){.grid-cases{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-cases{grid-template-columns:1fr}}.case{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:4px;flex-direction:column;gap:14px;padding:22px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;position:relative}.case:hover{border-color:var(--accent);transform:translateY(-2px)}.case:before,.case:after{content:"";border:1.5px solid var(--line-strong);opacity:0;width:14px;height:14px;transition:opacity .15s;position:absolute}.case:before{border-bottom:none;border-right:none;top:-1px;left:-1px}.case:after{border-top:none;border-left:none;bottom:-1px;right:-1px}.case:hover:before,.case:hover:after{opacity:1;border-color:var(--accent)}.case-top{justify-content:space-between;align-items:center;display:flex}.case-tag{color:var(--ink-muted);font-family:IBM Plex Mono,monospace;font-size:.72rem}.case-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);background:var(--accent-soft);border-radius:2px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:.68rem}.case h3{font-family:IBM Plex Sans;font-size:1.15rem;font-weight:700}.case p{color:var(--ink-muted);font-size:.88rem}.case-stack{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.case-stack span{color:var(--ink-muted);border:1px solid var(--line);border-radius:2px;padding:3px 7px;font-family:IBM Plex Mono,monospace;font-size:.68rem}.case-link{color:var(--accent-ink);align-items:center;gap:6px;font-family:IBM Plex Mono,monospace;font-size:.8rem;display:inline-flex}.case:hover .case-link{text-decoration:underline}.contact{background:var(--surface-alt)}.contact-box{background:var(--surface);border:1px solid var(--line);border-radius:6px;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;padding:56px;display:grid}.contact-box h2{font-size:clamp(1.8rem,3vw,2.3rem)}.contact-box p{color:var(--ink-muted);max-width:48ch;margin-top:14px}.contact-actions{flex-direction:column;gap:12px;display:flex}.contact-actions .btn{justify-content:center}.wa-number{color:var(--ink-muted);text-align:center;font-family:IBM Plex Mono,monospace;font-size:.8rem}@media (width<=760px){.contact-box{grid-template-columns:1fr;padding:36px 24px}}footer{padding:36px 0}.foot-row{color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;display:flex}.foot-row a{color:var(--ink-muted);text-decoration:none}.foot-row a:hover{color:var(--ink)}
