:root{--ink:#0f172a;--muted:#536176;--blue:#2563eb;--blue-dark:#1d4ed8;--line:#dce5f1;--paper:#fff;--wash:#f8fafc;--radius:1.5rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wash);color:var(--ink);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
.shell{width:min(100% - 2.5rem,72rem);margin-inline:auto}
.section{padding-block:5rem}
.eyebrow{margin:0 0 .75rem;color:#1d4ed8;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em}
h1{font-size:clamp(2.6rem,6vw,4.5rem)}
h2{font-size:clamp(2rem,4vw,3.2rem)}
h3{font-size:1.2rem}
.site-header{position:sticky;z-index:10;top:.75rem;padding:0 1.25rem}
.site-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;width:min(100%,42rem);margin:auto;padding:.4rem .5rem;border:1px solid #dce3ec;border-radius:999px;background:#fffffff0;box-shadow:0 12px 30px #0f172a0d;backdrop-filter:blur(12px);font-size:.875rem;font-weight:650}
.site-nav__left,.site-nav__right{display:flex;align-items:center;gap:.65rem}
.site-nav__left{justify-content:flex-end}
.site-nav__right{justify-content:flex-start}
.site-nav__left>a,.site-nav__right>a:not(.button),.service-menu summary{padding:.45rem .55rem;border-radius:999px;color:#526074}
.site-nav a:hover,.service-menu summary:hover{background:#f1f5f9;color:var(--blue)}
.site-logo{display:grid;place-items:center;padding:.25rem .4rem}
.site-logo img{display:block;width:auto;height:1.65rem}
.service-menu{position:relative}
.service-menu summary{cursor:pointer;list-style:none}
.service-menu summary::-webkit-details-marker{display:none}
.service-menu__panel{position:absolute;top:2.7rem;left:0;display:grid;width:14rem;padding:.45rem;border:1px solid var(--line);border-radius:1rem;background:white;box-shadow:0 18px 35px #0f172a20}
.service-menu__panel a{padding:.55rem .7rem;border-radius:.7rem}
.service-menu__panel a:hover{background:#eff6ff;color:var(--blue)}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;padding:.78rem 1.1rem;font-size:.9rem;font-weight:750;transition:transform .2s ease,box-shadow .2s ease}
.button--primary{background:var(--blue);color:white;box-shadow:0 14px 28px #2563eb38}
.button--light{border:1px solid #d9e1ec;background:white;color:#38475d}
.button:hover{transform:translateY(-2px)}
.hero--home{padding:7rem 1.25rem 6rem;background:linear-gradient(90deg,#ffffffdb,#ffffffaa),url('/assets/hero-banner.png') center/cover}
.hero__content{max-width:68rem;text-align:center}
.hero h1{max-width:61rem;margin:0 auto}
.hero h1 span{color:var(--blue)}
.hero__lead{max-width:42rem;margin:1.5rem auto 0;color:var(--muted);font-size:1.05rem}
.button-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}
.hero__note{margin:1.2rem 0 0;color:#64748b;font-size:.78rem}
.clients{padding:3.75rem 0;border-block:1px solid var(--line);overflow:hidden}
.clients__intro{position:relative;text-align:center}
.clients__intro h2{max-width:44rem;margin-inline:auto;font-size:clamp(1.7rem,3vw,2.35rem)}
.clients__intro>.text-link{position:absolute;right:0;top:0}
.text-link{color:#1d4ed8;font-size:.9rem;font-weight:750}
.client-marquee{width:min(calc(100% - 2.5rem),72rem);margin:2rem auto 0;overflow:hidden}
.client-marquee-track{display:flex;width:max-content;gap:1rem;animation:clientMarquee 34s linear infinite}
.client-marquee:hover .client-marquee-track,.client-marquee:focus-within .client-marquee-track{animation-play-state:paused}
.client-logo-card{display:grid;place-items:center;gap:.55rem;width:13.6rem;min-height:8rem;padding:1rem;border:1px solid #e7edf5;border-radius:1rem;background:white;font-size:.76rem;color:#64748b}
.client-logo-card img{width:6rem;max-height:3rem;object-fit:contain}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:45rem;margin-top:2.25rem}
.stat-card{padding:1rem;border:1px solid #dbeafe;border-radius:1rem;background:white;text-align:center;box-shadow:0 8px 20px #2563eb0a}
.stat-card strong{display:block;color:var(--blue);font-size:1.85rem;line-height:1}
.stat-card span{display:block;margin-top:.5rem;color:#64748b;font-size:.75rem}
.section-heading{max-width:43rem;margin:0 auto 2.5rem;text-align:center}
.section-heading>p:last-child{color:var(--muted)}
.section-heading--row{display:flex;max-width:none;align-items:end;justify-content:space-between;gap:1rem;text-align:left}
.service-grid,.portfolio-grid,.insight-grid{display:grid;gap:1.25rem}
.service-grid{grid-template-columns:repeat(2,1fr)}
.service-card,.portfolio-card,.insight-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 8px 20px #0f172a08;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card{padding:1.5rem}
.service-card:hover,.portfolio-card:hover,.insight-card:hover{transform:translateY(-.35rem);border-color:#b8cffb;box-shadow:0 18px 28px #0f172a12}
.service-card__visual{display:flex;align-items:end;justify-content:space-between;height:8.5rem;margin-bottom:1.4rem;padding:1.25rem;border-radius:1rem;background:linear-gradient(135deg,#dbeafe,#fff,#cffafe)}
.service-card__visual--1{background:linear-gradient(135deg,#e0e7ff,#fff,#ede9fe)}
.service-card__visual--2{background:linear-gradient(135deg,#ffedd5,#fff,#dbeafe)}
.service-card__visual--3{background:linear-gradient(135deg,#e2e8f0,#fff,#dbeafe)}
.service-card__visual span{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:1rem;background:#ffffffd9;color:var(--blue);font-weight:850}
.service-card__visual b{color:#0f172a14;font-size:3.2rem;line-height:1}
.service-card p,.service-card small{display:block;color:var(--muted)}
.service-card small{min-height:3rem;font-size:.83rem}
.service-card .text-link{display:inline-block;margin-top:1rem}
.umkm{padding:5rem 1.25rem;background:#1d4ed8;color:white}
.umkm .eyebrow{color:#bfdbfe}
.umkm__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.umkm h2{max-width:42rem}
.umkm p:not(.eyebrow){color:#dbeafe}
.offer-grid{display:grid;gap:.75rem}
.offer-grid article{padding:1.25rem;border:1px solid #ffffff36;border-radius:1rem;background:#ffffff14}
.offer-grid strong{color:#bfdbfe}
.offer-grid h3{margin:.4rem 0}
.offer-grid p{margin:0;font-size:.86rem}
.portfolio-feature{background:linear-gradient(#eff6ff,#fff)}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;padding:.45rem;border:1px solid #dbeafe;border-radius:1rem;background:#ffffffd9;font-size:.84rem;font-weight:650}
.portfolio-filters span{padding:.5rem .75rem;border-radius:.7rem;color:#58667b}
.portfolio-filters span:first-child{background:var(--blue);color:white}
.portfolio-grid{grid-template-columns:repeat(3,1fr)}
.portfolio-card__image{display:grid;place-items:start;height:10.5rem;padding:1rem;background:linear-gradient(135deg,#1d4ed8,#22d3ee)}
.portfolio-card:nth-child(2n) .portfolio-card__image{background:linear-gradient(135deg,#312e81,#a78bfa)}
.portfolio-card:nth-child(3n) .portfolio-card__image{background:linear-gradient(135deg,#0f172a,#3b82f6)}
.portfolio-card__image span{padding:.3rem .6rem;border-radius:999px;background:#ffffff25;color:white;font-size:.72rem;font-weight:750}
.portfolio-card__image img{width:100%;height:100%;margin:-1rem;object-fit:cover}
.portfolio-card>div:last-child{padding:1.25rem}
.portfolio-card h2,.portfolio-card h3{margin-bottom:.3rem}
.portfolio-card p,.portfolio-card small{color:var(--muted);font-size:.82rem}
.philosophy{padding:5rem 1.25rem;background:linear-gradient(110deg,#020617,#172554,#0f172a);color:white;text-align:center}
.philosophy>div{max-width:48rem}
.philosophy .eyebrow{color:#93c5fd}
.philosophy>div>p:not(.eyebrow){color:#cbd5e1}
.philosophy span{display:inline-block;margin:.35rem;padding:.45rem .8rem;border:1px solid #60a5fa4d;border-radius:999px;background:#ffffff12;font-size:.76rem;font-weight:700}
.insight-grid{grid-template-columns:repeat(3,1fr)}
.insight-card{padding:1.25rem}
.insight-card__art{height:7.5rem;margin-bottom:1.25rem;border-radius:.8rem;background:linear-gradient(135deg,#1d4ed8,#22d3ee)}
.insight-card__art--1{background:linear-gradient(135deg,#4338ca,#a78bfa)}
.insight-card__art--2{background:linear-gradient(135deg,#0f172a,#2563eb)}
.insight-card>p{color:var(--blue);font-size:.73rem;font-weight:750;text-transform:uppercase}
.insight-card>span{display:block;color:var(--muted);font-size:.86rem}
.insight-card .text-link{display:inline-block;margin-top:1rem}
.about-preview{display:grid;grid-template-columns:1fr .9fr;gap:3rem;align-items:center}
.about-preview>div>p:not(.eyebrow){color:var(--muted)}
.process-card{padding:2rem;border-radius:var(--radius);background:#0f172a;color:white}
.process-card>p{color:#93c5fd;font-weight:750}
.process-card ol{display:grid;gap:1rem;padding:0;list-style:none;color:#cbd5e1;font-size:.9rem}
.process-card strong{color:white}
.contact-section{padding-bottom:5rem}
.contact-section>div{padding:3.2rem;border-radius:var(--radius);background:linear-gradient(110deg,#1d4ed8e9,#6d28d9e6),url('/assets/hero-banner.png') center/cover;color:white;text-align:center;box-shadow:0 20px 35px #1d4ed833}
.contact-section .eyebrow{color:#bfdbfe}
.contact-section p:not(.eyebrow){max-width:38rem;margin-inline:auto;color:#dbeafe}
.site-footer{padding:2.5rem 1.25rem;background:linear-gradient(110deg,#eff6ffeb,#f5f3ffeb),url('/assets/hero-banner.png') center/cover;border-top:1px solid #bfdbfe}
.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:72rem;margin:auto;padding:.9rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:#ffffffeb;font-size:.75rem}
.site-footer img{height:1.65rem}
.site-footer__inner>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.8rem;color:#5f6c7e}
.page-hero{padding:7rem 1.25rem 5rem;background:linear-gradient(90deg,#ffffffdf,#ffffffb5),url('/assets/hero-banner.png') center/cover;text-align:center}
.page-hero .shell{max-width:55rem}
.page-hero p:not(.eyebrow){color:var(--muted);font-size:1.05rem}
.page-hero__logo{height:3.2rem;margin-bottom:2rem}
.company-card{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding:2.5rem;border-radius:var(--radius);background:linear-gradient(135deg,#1d4ed8,#4f46e5);color:white;box-shadow:0 20px 35px #1d4ed833}
.company-card .eyebrow{color:#bfdbfe}
.company-card p{color:#e0e7ff}
.company-card>div:last-child{display:grid;align-content:center;gap:.65rem;padding:1.25rem;border:1px solid #ffffff40;border-radius:1rem;background:#ffffff13}
.company-card>div:last-child>a,.company-card>div:last-child>span{padding:.75rem;border-radius:.75rem;background:#ffffff15;font-weight:700}
.company-card small{float:right;color:#bfdbfe}
.page-content{padding-block:5rem}
.case-study{max-width:54rem}
.case-study__summary{font-size:1.2rem;color:var(--muted)}
.case-study__hero{width:100%;max-height:28rem;margin:1.5rem 0;object-fit:cover;border-radius:var(--radius)}
.case-study__body{white-space:normal;color:#334155}
@keyframes clientMarquee{to{transform:translateX(-50%)}
}
html.js [data-reveal]{opacity:0;transform:translateY(1.25rem);transition:opacity .7s ease,transform .7s ease}
html.js [data-reveal].is-visible{opacity:1;transform:none}
html.js .hero[data-reveal]{transform:translateY(.75rem)}
@media (max-width:720px){.site-nav{grid-template-columns:auto 1fr;max-width:26rem}
.site-nav__left{display:none}
.site-nav__right{justify-content:flex-end}
.site-nav__right>a:not(.button){display:none}
.site-logo{justify-self:start}
.clients__intro>.text-link{position:static;display:inline-block;margin-top:1rem}
.client-logo-card{width:10rem;min-height:6.7rem;padding:.8rem}
.client-logo-card img{width:4.5rem;max-height:2.2rem}
.stats,.service-grid,.portfolio-grid,.insight-grid,.umkm__grid,.about-preview,.company-card{grid-template-columns:1fr}
.section-heading--row{align-items:start;flex-direction:column}
.site-footer__inner{justify-content:center;border-radius:1.25rem;text-align:center}
.site-footer__inner>div{justify-content:center}
.page-hero{padding-top:5.5rem}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}
.client-marquee-track{animation:none}
.button,.service-card,.portfolio-card,.insight-card{transition:none}
html.js [data-reveal],html.js [data-reveal].is-visible{opacity:1;transform:none;transition:none}
}
