:root{--yellow: #FFEB3B;--yellow-hover: #FDD835;--ink: #000000;--gray-light: #F5F5F5;--gray-alt: #EEEEEE;--text: #111111;--text-2: #4A4A4A;--text-3: #777777;--border: rgba(0, 0, 0, .12);--border-strong: rgba(0, 0, 0, .28);--radius: 12px;--radius-lg: 20px;--max: 1120px;--shadow: 0 8px 28px rgba(0, 0, 0, .08);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .14);--font-display: "Ubuntu", system-ui, -apple-system, sans-serif;--font-body: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--gray-light);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);margin:0;letter-spacing:-.02em;line-height:1.1;color:var(--ink);font-weight:700}h1{font-size:clamp(2.4rem,6vw,4.75rem);font-weight:700}h2{font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:.5rem}h3{font-size:1.15rem;font-weight:600}p{margin:0 0 1rem;color:var(--text-2)}a{color:inherit;text-decoration:none}ul,ol{padding:0;margin:0;list-style:none}em{font-style:normal;position:relative;white-space:nowrap}em:after{content:"";position:absolute;inset:auto -.08em -.12em;height:.35em;background:var(--yellow);z-index:-1;border-radius:2px}.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}.eyebrow{display:inline-block;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--ink);margin:0 0 1.25rem;padding:.25rem .65rem;background:var(--yellow);border-radius:4px}.section{padding:7rem 0;position:relative}.section--alt{background:var(--gray-alt)}.section--yellow{background:var(--yellow)}.section--yellow .eyebrow{background:var(--ink);color:var(--yellow)}.section__lede{font-size:1.05rem;color:var(--text-2);max-width:600px;margin:0 0 2.75rem}.lede{font-size:1.1rem;color:var(--text)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.35rem;border-radius:999px;font-family:var(--font-display);font-weight:500;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;line-height:1}.btn--sm{padding:.55rem .95rem;font-size:.85rem}.btn--xl{padding:1.15rem 1.9rem;font-size:1.1rem;font-weight:600}.btn--ink{background:var(--ink);color:var(--gray-light)}.btn--ink:hover{background:#000;transform:translateY(-1px)}.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn--outline:hover,.section--yellow .btn--ink{background:var(--ink);color:var(--yellow)}.nav{position:sticky;top:0;z-index:100;padding:1.25rem 0;transition:background .25s ease,padding .25s ease,border-color .25s ease;border-bottom:1px solid transparent}.nav--scrolled{padding:.6rem 0;background:#f5f5f5e0;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom-color:var(--border)}.nav__inner{display:flex;align-items:center;gap:2rem}.nav__brand{display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--ink)}.nav__brand svg{color:var(--ink)}.nav__dot{color:var(--yellow-hover)}.nav__links{display:flex;gap:1.75rem;margin-left:auto;font-family:var(--font-display)}.nav__links a{font-size:.92rem;color:var(--text);font-weight:500;transition:color .2s;position:relative}.nav__links a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--yellow);transition:width .2s}.nav__links a:hover{color:var(--ink)}.nav__links a:hover:after{width:100%}@media (max-width: 760px){.nav{display:none}}.hero{background:var(--yellow);padding:9rem 0 7rem;position:relative;overflow:hidden}@media (max-width: 760px){.container{padding:0 1.25rem}.section{padding:3rem 0}.hero{padding:2rem 0 2.75rem}.hero:before,.hero:after{display:none}.hero__title{margin-bottom:1.1rem}.hero__lede{font-size:1.02rem;margin-bottom:1.75rem;line-height:1.5}h2{font-size:1.75rem}.hero__tag{margin-bottom:1.25rem;padding:.35rem .75rem;font-size:.75rem}.hero__cta{margin-bottom:2rem;gap:.5rem}.hero__stack{gap:.4rem;font-size:.76rem}.hero__stack li{padding:.35rem .7rem}.btn{padding:.75rem 1.15rem;font-size:.92rem}.btn--xl{padding:.95rem 1.5rem;font-size:1rem}.card{padding:1.4rem}.card--service{padding-top:2.2rem}.eyebrow{font-size:.7rem;margin-bottom:.9rem}.section--yellow{padding:3.25rem 0}.contact__lede{font-size:1rem;margin-bottom:1.75rem}.contact__mark{margin-bottom:1rem}.footer{padding:1.5rem 0;text-align:center}.footer__inner{justify-content:center;gap:.75rem}.footer__links{justify-content:center;gap:1.25rem}.about__logos{gap:1.5rem 2rem;margin-top:2rem;padding-top:1.5rem}.about__logo-item img{height:22px}}.hero:before,.hero:after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(11,11,11,.14)}.hero:before{top:18%;right:-80px;width:300px;height:300px;border-radius:50%;border-style:dashed;opacity:.5}.hero:after{bottom:-120px;left:-60px;width:360px;height:360px;border-radius:50%;opacity:.35}.hero__inner{position:relative;max-width:860px;animation:fadeUp .7s ease-out .05s both}.hero__tag{display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .9rem;background:var(--ink);color:var(--yellow);border-radius:999px;font-family:var(--font-display);font-size:.8rem;font-weight:500;letter-spacing:.04em;margin-bottom:2rem}.hero__tag svg{color:var(--yellow)}.hero__title{margin:0 0 1.75rem;color:var(--ink);font-weight:700}.hero__lede{font-size:1.2rem;color:var(--ink);opacity:.82;max-width:640px;margin:0 0 2.5rem;line-height:1.55}.hero__cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:3.5rem}.hero__stack{display:flex;flex-wrap:wrap;gap:.5rem;font-family:"JetBrains Mono",var(--font-display),monospace;font-size:.82rem}.hero__stack li{padding:.4rem .85rem;background:#0b0b0b0f;color:var(--ink);border-radius:999px;font-weight:500;border:1px solid rgba(11,11,11,.1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.grid{display:grid;gap:2rem}.grid--services{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}.grid--cases{grid-template-columns:repeat(3,1fr);gap:1.25rem}@media (max-width: 920px){.grid--services,.grid--cases{grid-template-columns:1fr}}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow)}.card h3{margin-bottom:.5rem}.card p{margin:0;color:var(--text-2);font-size:.95rem}.about{max-width:860px}.about__photo{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--ink);float:left;margin:.25rem 1.5rem .5rem 0;shape-outside:circle(50%);background:var(--yellow)}.about__body:after{content:"";display:block;clear:both}.about__body p{font-size:1rem;color:var(--text)}.about__logos{list-style:none;margin:2.5rem 0 0;padding:2rem 0 0;border-top:1px solid var(--border);display:flex;gap:2.5rem;flex-wrap:wrap;align-items:center;justify-content:center}.about__logo-item{display:flex;align-items:center}.about__logo-item img{height:28px;width:auto;max-width:150px;object-fit:contain;opacity:.9;mix-blend-mode:multiply}@media (max-width: 640px){.about__photo{width:120px;height:120px;float:none;display:block;margin:0 0 1.5rem;shape-outside:none}}.card--service{position:relative;padding-top:2.5rem}.card--service .card__n{position:absolute;top:1.25rem;right:1.5rem;font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.14em;color:var(--text-3)}.card--service:before{content:"";position:absolute;top:1.75rem;left:1.75rem;width:32px;height:4px;background:var(--yellow);border-radius:2px}.card--service h3{margin-top:1.5rem}.card--service:nth-child(odd){background:var(--ink);color:var(--gray-light);border-color:var(--ink)}.card--service:nth-child(odd):before{background:var(--yellow);width:48px;height:5px}.card--service:nth-child(odd) h3{color:var(--yellow)}.card--service:nth-child(odd) p{color:#f5f5f5d1}.card--service:nth-child(odd) .card__n{color:var(--yellow);opacity:.7}.card--case .card__tag{display:inline-block;padding:.3rem .7rem;font-size:.72rem;font-family:var(--font-display);font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--yellow);color:var(--ink);border-radius:4px;margin-bottom:1rem}.card--case ul{margin:1.1rem 0 1.25rem;font-size:.92rem}.card--case .card__tech{margin:0;padding-top:1rem;border-top:1px solid var(--border);font-family:var(--font-display);font-size:.78rem;color:var(--text-3);letter-spacing:.02em}.card--case .card__logos{display:flex;gap:1.25rem;align-items:center;margin-top:.75rem;padding-top:.75rem}.card--case .card__logos img{height:22px;width:auto;max-width:110px;object-fit:contain;opacity:.85;mix-blend-mode:multiply}.card--case li{padding:.6rem 0;color:var(--text-2);border-top:1px solid var(--border);display:flex;align-items:flex-start;gap:.55rem}.card--case li:first-child{border-top:none}.card--case li:before{content:"→";color:var(--ink);font-weight:600;flex-shrink:0}.industries{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem}.industry{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;transition:border-color .25s,transform .25s;position:relative}.industry:hover{border-color:var(--ink);transform:translateY(-3px)}.industry__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:1rem;background:var(--yellow);color:var(--ink);border-radius:10px;border:1.5px solid var(--ink)}.industry__icon svg{width:26px;height:26px;stroke-width:2}.industry h3{margin-bottom:.5rem}.industry p{margin:0;color:var(--text-2);font-size:.95rem}@media (max-width: 920px){.industries{grid-template-columns:1fr}}.timeline{margin:2.75rem 0 0;position:relative;padding-left:0}.timeline:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:var(--border)}.timeline__item{position:relative;padding-left:2.5rem;padding-bottom:2rem}.timeline__item:last-child{padding-bottom:0}.timeline__dot{position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;background:var(--yellow);border:2px solid var(--ink)}.timeline__top{display:flex;align-items:center;gap:1.25rem;margin-bottom:.5rem}.timeline__head{flex:1;min-width:0}.timeline__head h3{font-size:1.1rem;color:var(--ink);margin-bottom:.2rem}.timeline__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.timeline__company{color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:.92rem}.timeline__period{font-family:var(--font-display);font-size:.78rem;color:var(--text-3);letter-spacing:.02em}.timeline__logo{flex-shrink:0;height:32px;max-width:130px;width:auto;object-fit:contain;object-position:right center;opacity:.85}.timeline__item p{margin:0;font-size:.98rem}@media (max-width: 640px){.timeline__top{flex-direction:column-reverse;align-items:flex-start;gap:.75rem}.timeline__logo{object-position:left center;height:26px}}.section--yellow{position:relative;overflow:hidden}.contact{text-align:center;max-width:680px;margin:0 auto;position:relative}.contact__mark-wrap{display:flex;justify-content:center;margin-bottom:1.5rem}.contact__mark{color:var(--ink);display:block}.contact__title{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem}.contact__lede{font-size:1.1rem;color:var(--ink);opacity:.8;margin:0 auto 2.25rem;max-width:560px;line-height:1.55}.contact__actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn--outline-ink{background:transparent;color:var(--ink);border-color:var(--ink);padding:1.15rem 1.9rem;font-size:1.1rem;font-weight:600;border-width:2px}.btn--outline-ink:hover{background:var(--ink);color:var(--yellow)}.footer{padding:2.25rem 0;background:var(--ink);color:var(--gray-light);font-family:var(--font-display);font-size:.88rem}.footer__inner{display:flex;justify-content:center;align-items:center;gap:1.25rem;flex-wrap:wrap}.footer__meta{color:var(--text-3)}.lang-toggle{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-display);font-size:.82rem}.lang-toggle__btn{background:transparent;border:none;padding:.2rem .4rem;color:var(--text-3);cursor:pointer;font-family:inherit;font-size:inherit;letter-spacing:.08em;font-weight:500;transition:color .2s}.lang-toggle__btn:hover{color:var(--gray-light)}.lang-toggle__btn.is-active{color:var(--yellow);font-weight:700}.lang-toggle__sep{color:var(--text-3);opacity:.5}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.hero__inner{animation:none}.card,.btn{transition:none}}
