:root{
  --bg:#f7f8fc;--surface:#ffffff;--surface-2:#f0f3f9;--ink:#111526;--muted:#667085;
  --line:#e6eaf1;--red:#ef233c;--red-2:#ff5a67;--navy:#161b33;--blue:#2f6df6;
  --shadow:0 18px 60px rgba(20,26,48,.10);--shadow-sm:0 10px 30px rgba(20,26,48,.08);
  --radius:28px;--radius-sm:18px;--max:1180px;--ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-3;background:radial-gradient(900px 500px at 8% -10%,rgba(239,35,60,.10),transparent 60%),radial-gradient(900px 520px at 100% 6%,rgba(47,109,246,.08),transparent 60%),linear-gradient(#fbfcfe,#f6f8fc)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:112px 0;position:relative}.section.compact{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:46px}.section-head .copy{max-width:720px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:14px}.eyebrow::before{content:"";width:28px;height:2px;background:var(--red);border-radius:99px}.display{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:0;font-weight:800}.h2{font-size:clamp(34px,4.7vw,56px);line-height:1.04;letter-spacing:-.045em;margin:0 0 16px}.h3{font-size:24px;line-height:1.15;letter-spacing:-.03em;margin:0 0 10px}.lead{font-size:18px;color:var(--muted);max-width:700px}.muted{color:var(--muted)}.red{color:var(--red)}
/* top progress */.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--red),#ff7a86);z-index:9999}
/* nav */.site-header{position:fixed;top:14px;left:0;right:0;z-index:1000;pointer-events:none}.nav-shell{width:min(1200px,calc(100% - 28px));margin:auto;padding:10px 12px 10px 18px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-radius:18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 32px rgba(20,26,48,.08);pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:white;position:relative;overflow:hidden}.brand-mark::after{content:"";position:absolute;width:16px;height:16px;border:3px solid var(--red);transform:rotate(45deg)}.brand span:last-child b{color:var(--red)}.nav-links{display:flex;align-items:center;gap:6px}.nav-links a{padding:9px 12px;border-radius:10px;font-size:14px;font-weight:650;color:#40475a;transition:.25s}.nav-links a:hover,.nav-links a.active{background:#f3f5f9;color:var(--ink)}.nav-links a.active{box-shadow:inset 0 -2px var(--red)}.nav-actions{display:flex;gap:9px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;padding:13px 18px;border-radius:13px;font-weight:750;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 25px rgba(239,35,60,.24)}.btn-primary:hover{box-shadow:0 14px 30px rgba(239,35,60,.3)}.btn-dark{background:var(--navy);color:#fff}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:12px}.menu-btn i,.menu-btn i::before,.menu-btn i::after{display:block;width:18px;height:2px;background:#20263a;position:relative;margin:auto}.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0}.menu-btn i::before{top:-6px}.menu-btn i::after{top:6px}
/* hero */.hero{padding:155px 0 72px;min-height:780px;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.hero-kicker{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm);margin-bottom:24px}.dot-live{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.10)}.hero p{font-size:18px;color:var(--muted);max-width:620px;margin:22px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap}.proof-stat strong{display:block;font-size:22px;letter-spacing:-.03em}.proof-stat span{font-size:12px;color:var(--muted)}.hero-visual{position:relative;min-height:600px}.portrait-wrap{position:absolute;inset:10px 28px 0 50px;border-radius:38px;overflow:hidden;background:#dce5f3;box-shadow:0 30px 80px rgba(20,26,48,.18)}.portrait-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,16,30,.12))}.portrait-wrap img{width:100%;height:100%;object-fit:cover}.portrait-deco{position:absolute;inset:-20px;border:1px dashed rgba(239,35,60,.24);border-radius:46px;z-index:-1;transform:rotate(-2deg)}.float-card{position:absolute;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-sm);border-radius:18px;padding:14px 16px;z-index:3;animation:float 5s ease-in-out infinite}.float-card.top{top:60px;left:0}.float-card.right{right:-8px;top:180px;animation-delay:-1.3s}.float-card.bottom{left:8px;bottom:48px;animation-delay:-2.4s}.float-card small{display:block;color:var(--muted);font-size:11px}.float-card b{font-size:20px}.mini-line{width:86px;height:28px;margin-top:7px}.mini-line svg{width:100%;height:100%}@keyframes float{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-12px) rotate(.5deg)}}
/* marquee */.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.55);overflow:hidden}.marquee{display:flex;width:max-content;animation:marquee 28s linear infinite;padding:18px 0}.marquee span{display:inline-flex;align-items:center;gap:10px;margin:0 25px;font-size:14px;font-weight:750;color:#3a4256}.marquee span::before{content:"•";color:var(--red);font-size:20px}@keyframes marquee{to{transform:translateX(-50%)}}
/* cards */.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:26px;min-height:240px;position:relative;overflow:hidden;transition:.35s var(--ease);box-shadow:0 1px 0 rgba(255,255,255,.9)}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#d8dee8}.service-icon{width:48px;height:48px;border-radius:15px;background:#fff0f2;color:var(--red);display:grid;place-items:center;margin-bottom:30px;font-weight:900}.service-card p{color:var(--muted);font-size:15px;margin:0}.service-card .num{position:absolute;right:20px;top:20px;color:#b8bfcc;font-size:12px;font-weight:800}.service-card::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;bottom:-55px;background:radial-gradient(circle,rgba(239,35,60,.10),transparent 70%);transition:.4s}.service-card:hover::after{transform:scale(1.6)}
/* bento expertise */.bento{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:220px;gap:18px}.bento-card{border:1px solid var(--line);background:white;border-radius:26px;padding:26px;overflow:hidden;position:relative}.bento-card.big{grid-row:span 2}.bento-card.wide{grid-column:span 2}.bento-card .bg-orb{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(47,109,246,.13),transparent 70%);right:-60px;bottom:-80px}.tech-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.chip{padding:8px 11px;border:1px solid var(--line);background:#f8f9fc;border-radius:999px;font-size:12px;font-weight:750;color:#4d5568}.chip.red{background:#fff0f2;color:var(--red);border-color:#ffd7dc}
/* project showcase */.project-showcase{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}.project-feature{position:relative;min-height:520px;border-radius:30px;overflow:hidden;background:#111827;box-shadow:var(--shadow);isolation:isolate}.project-feature img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s var(--ease)}.project-feature:hover img{transform:scale(1.035)}.project-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,10,20,.88) 94%);z-index:1}.project-feature .content{position:absolute;left:30px;right:30px;bottom:28px;z-index:2;color:white}.project-feature h3{font-size:36px;margin:8px 0 10px;letter-spacing:-.04em}.project-feature p{max-width:640px;color:rgba(255,255,255,.72);margin:0}.project-feature .tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.project-stack{display:grid;gap:22px}.project-mini{position:relative;border-radius:26px;overflow:hidden;background:#111827;min-height:249px;box-shadow:var(--shadow-sm)}.project-mini img{position:absolute;width:100%;height:100%;object-fit:cover;transition:.6s var(--ease)}.project-mini:hover img{transform:scale(1.04)}.project-mini::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,14,25,.86))}.project-mini .content{position:absolute;left:20px;right:20px;bottom:18px;color:white;z-index:2}.project-mini h4{font-size:21px;margin:0 0 4px}.project-mini span{font-size:12px;color:rgba(255,255,255,.7)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{border:1px solid var(--line);border-radius:24px;background:white;overflow:hidden;transition:.35s var(--ease);box-shadow:0 1px 0 rgba(255,255,255,.8)}.project-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#d7dce7}.project-thumb{aspect-ratio:16/10;overflow:hidden;background:#111827}.project-thumb img{width:100%;height:100%;object-fit:cover;transition:.55s var(--ease)}.project-card:hover .project-thumb img{transform:scale(1.035)}.project-body{padding:20px}.project-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.project-cat{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.project-status{font-size:11px;color:#7a8395}.project-body h3{font-size:21px;letter-spacing:-.03em;margin:0 0 8px}.project-body p{font-size:14px;color:var(--muted);margin:0 0 16px;min-height:44px}.project-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.project-link::after{content:"↗";color:var(--red)}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px}.filter-btn{border:1px solid var(--line);background:white;padding:10px 14px;border-radius:999px;font-weight:700;color:#545c6f;cursor:pointer}.filter-btn.active{background:var(--navy);border-color:var(--navy);color:white}
/* stats */.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.stat-card strong{font-size:38px;line-height:1;letter-spacing:-.05em;display:block;margin-bottom:8px}.stat-card span{font-size:13px;color:var(--muted)}
/* process */.process-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-line::before{content:"";position:absolute;top:33px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,#ffd6dc,var(--red),#d9e2ff)}.step{position:relative;z-index:1;background:white;border:1px solid var(--line);border-radius:24px;padding:24px}.step-num{width:64px;height:64px;border-radius:20px;background:#fff2f4;border:1px solid #ffd8dd;display:grid;place-items:center;color:var(--red);font-weight:900;margin-bottom:40px}.step p{font-size:14px;color:var(--muted);margin:0}.timeline{display:grid;gap:18px}.timeline-row{display:grid;grid-template-columns:140px 1fr;gap:24px}.timeline-label{font-size:13px;font-weight:850;color:var(--red);padding-top:24px}.timeline-card{background:white;border:1px solid var(--line);border-radius:24px;padding:26px}.timeline-card ul{margin:14px 0 0;padding-left:18px;color:var(--muted)}
/* about */.about-hero{padding:160px 0 80px}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.about-photo{border-radius:34px;overflow:hidden;box-shadow:var(--shadow);position:relative}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.quote-card{background:var(--navy);color:white;border-radius:28px;padding:34px}.quote-card p{font-size:26px;line-height:1.35;letter-spacing:-.02em;margin:0}.quote-card small{display:block;color:#aeb6ca;margin-top:16px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card{padding:28px;background:white;border:1px solid var(--line);border-radius:24px}.value-card .icon{font-size:24px;margin-bottom:26px;color:var(--red)}
/* contact */.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px}.contact-panel{background:var(--navy);color:white;border-radius:30px;padding:34px;position:relative;overflow:hidden}.contact-panel::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(239,35,60,.25),transparent 68%);right:-120px;bottom:-160px}.contact-panel h2{font-size:42px;line-height:1.05;margin:0 0 16px;letter-spacing:-.04em}.contact-list{display:grid;gap:12px;margin-top:34px}.contact-item{display:flex;gap:12px;align-items:center;padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:15px;position:relative;z-index:1}.contact-item b{display:block;font-size:13px}.contact-item span{font-size:12px;color:#b9c1d1}.contact-form{background:white;border:1px solid var(--line);border-radius:30px;padding:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#525a6b}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fafbfe;border-radius:13px;padding:13px 14px;outline:none;transition:.2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#c7ceda;box-shadow:0 0 0 4px rgba(47,109,246,.07);background:#fff}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:12px;color:var(--muted);margin-top:12px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:990;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#20c863;color:white;font-size:24px;box-shadow:0 14px 30px rgba(32,200,99,.28);transition:.25s}.whatsapp-float:hover{transform:translateY(-4px) rotate(-3deg)}
/* page hero */.page-hero{padding:165px 0 72px}.page-hero .inner{background:linear-gradient(135deg,#fff,#f7f9fd);border:1px solid var(--line);border-radius:34px;padding:56px;position:relative;overflow:hidden}.page-hero .inner::after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-190px;top:-220px;background:radial-gradient(circle,rgba(239,35,60,.12),transparent 68%)}.breadcrumbs{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}.breadcrumbs b{color:var(--red)}
/* CTA */.cta-band{background:linear-gradient(120deg,var(--navy),#242b50 62%,#3a2141);color:white;border-radius:32px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.cta-band::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:5%;top:-140px;background:radial-gradient(circle,rgba(239,35,60,.55),transparent 70%)}.cta-band h2{font-size:38px;line-height:1.05;letter-spacing:-.04em;margin:0 0 9px}.cta-band p{margin:0;color:#b9c1d3}.cta-band .btn{position:relative;z-index:1;white-space:nowrap}
/* footer */footer{padding:42px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr .9fr;gap:28px;padding:38px 0;border-top:1px solid var(--line)}.footer-grid h4{font-size:13px;margin:0 0 13px}.footer-grid p,.footer-grid a{font-size:13px;color:var(--muted)}.footer-links{display:grid;gap:8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:#8a92a2}
/* reveal animation system */[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal="left"]{transform:translateX(-40px)}[data-reveal="right"]{transform:translateX(40px)}[data-reveal="scale"]{transform:scale(.94)}[data-reveal].is-visible{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(24px);transition:.7s var(--ease)}.stagger.is-visible>*{opacity:1;transform:none}.stagger.is-visible>*:nth-child(2){transition-delay:.07s}.stagger.is-visible>*:nth-child(3){transition-delay:.14s}.stagger.is-visible>*:nth-child(4){transition-delay:.21s}.stagger.is-visible>*:nth-child(5){transition-delay:.28s}.stagger.is-visible>*:nth-child(6){transition-delay:.35s}.page-enter{animation:pageIn .65s var(--ease) both}@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* cursor glow */.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(239,35,60,.075),transparent 70%);pointer-events:none;z-index:-1;transform:translate(-50%,-50%);transition:opacity .2s}
@media (max-width:1000px){.nav-links{display:none;position:absolute;top:62px;left:14px;right:14px;background:white;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:12px}.menu-btn{display:block}.nav-actions .btn{display:none}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero{padding-top:140px}.hero-visual{max-width:650px;width:100%;margin:auto;min-height:620px}.grid-3,.project-grid{grid-template-columns:repeat(2,1fr)}.bento{grid-template-columns:1fr 1fr}.bento-card.big{grid-row:auto}.bento-card.wide{grid-column:span 2}.project-showcase{grid-template-columns:1fr}.project-stack{grid-template-columns:1fr 1fr}.process-line{grid-template-columns:1fr 1fr}.process-line::before{display:none}.stats{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.section{padding:88px 0}.page-hero{padding-top:140px}}
@media (max-width:680px){.container{width:min(var(--max),calc(100% - 28px))}.site-header{top:8px}.nav-shell{width:calc(100% - 16px)}.brand span:last-child{font-size:14px}.hero{padding:120px 0 50px}.hero-grid{gap:38px}.display{font-size:48px}.hero p{font-size:16px}.hero-visual{min-height:520px}.portrait-wrap{inset:0 18px 0 18px;border-radius:28px}.float-card.right{right:0;top:150px}.float-card.top{left:0;top:32px}.float-card.bottom{left:0;bottom:25px}.float-card{padding:11px 13px}.section{padding:72px 0}.section-head{display:block}.section-head .btn{margin-top:18px}.grid-3,.project-grid,.value-grid{grid-template-columns:1fr}.bento{display:grid;grid-template-columns:1fr}.bento-card.wide{grid-column:auto}.project-feature{min-height:440px}.project-stack{grid-template-columns:1fr}.project-mini{min-height:230px}.stats{grid-template-columns:1fr 1fr}.process-line{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr;gap:4px}.timeline-label{padding-top:0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-hero .inner{padding:34px 24px}.cta-band{padding:30px 24px;display:block}.cta-band .btn{margin-top:20px}.cta-band h2{font-size:32px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}.about-hero{padding-top:125px}.contact-form,.contact-panel{padding:24px}.stats .stat-card{padding:18px}.stat-card strong{font-size:32px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-reveal],.stagger>*{opacity:1!important;transform:none!important}}
