﻿/* Home: visual direction inspired by premium agency/SaaS layouts. */
:root{
  --home-ink:#111111;
  --home-muted:#5f6368;
  --home-line:#e7e4de;
  --home-paper:#f6f3ed;
  --home-green:#82bd03;
  --home-radius:8px;
  --home-shadow:0 22px 60px rgba(17,17,17,.09);
}

body{background:var(--home-paper);color:var(--home-ink)}
body p{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important}

.home-section-shell,.svc2-wrap{width:min(1180px,92vw) !important;margin-inline:auto !important}
.svc2-section,.process,.home-work,.home-faq,.home-ctaGrid{
  background:var(--home-paper) !important;color:var(--home-ink) !important;
  padding:clamp(54px,7vw,96px) 0 !important;
}
.svc2-hero,.svc2-hero--left{
  background:transparent !important;border-radius:0 !important;padding:0 !important;
  margin-bottom:clamp(24px,4vw,38px) !important;
}
.svc2-eyebrow{
  background:#fff !important;border:1px solid var(--home-line) !important;color:#111 !important;
  border-radius:999px !important;font-size:.72rem !important;letter-spacing:.08em !important;text-transform:uppercase !important;
}
.svc2-title{
  max-width:840px;font-size:clamp(2.1rem,5vw,4.7rem) !important;line-height:.98 !important;
  letter-spacing:0 !important;margin:.78rem 0 .85rem !important;
}
.svc2-title .grad,.grad{
  background:none !important;-webkit-background-clip:initial !important;color:var(--home-ink) !important;animation:none !important;
}
.svc2-lede{
  max-width:780px;color:var(--home-muted) !important;font-size:clamp(1rem,1.5vw,1.18rem) !important;line-height:1.65 !important;
}
.svc2-grid{grid-template-columns:repeat(4,1fr) !important;gap:14px !important}
.svc2-card,.p3-step,.w-card,.hf-item,.home-ctaGrid__item{
  border:1px solid var(--home-line) !important;border-radius:var(--home-radius) !important;
  background:rgba(255,255,255,.82) !important;box-shadow:none !important;
}
.svc2-card:hover,.p3-step:hover,.w-card:hover,.home-ctaGrid__item:hover{
  transform:translateY(-4px) !important;box-shadow:var(--home-shadow) !important;
}
.svc2-ico,.p3-ico{width:42px !important;height:42px !important;border-radius:50% !important;background:#111 !important;color:#fff !important;border:0 !important}
.p3-ico svg{color:#fff !important}
.svc2-badge,.w-badge{background:#f2f0ea !important;color:#111 !important;border:1px solid var(--home-line) !important}
.svc2-link,.home-work__cta .btn,.btn-primary,.btn-primary:visited{
  background:#111 !important;border:1px solid #111 !important;color:#fff !important;box-shadow:none !important;border-radius:999px !important;
}
.btn-ghost,.btn-outline,.svc2-btn.btn.btn-ghost{
  background:#fff !important;border:1px solid var(--home-line) !important;color:#111 !important;box-shadow:none !important;
}
.home-work__grid{grid-template-columns:repeat(3,1fr) !important;gap:14px !important}
.w-thumb{aspect-ratio:4/3 !important;margin:10px 10px 0;border-radius:6px}
.w-body{padding:18px !important}
.hf-item summary{padding:18px 20px !important}
.hf-icon{border-radius:50% !important;border-color:var(--home-line) !important;background:#fff !important}
.hf-icon::before,.hf-icon::after{background:#111 !important}
.home-ctaGrid .container{width:min(1180px,92vw) !important;grid-template-columns:1.2fr .8fr 1fr !important}
.home-ctaM{background:#111 !important;color:#fff !important}
.home-ctaM p,.home-ctaM h2{color:#fff !important}
.site-footer{margin-top:0;background:#111}

@media (max-width:980px){
  .svc2-grid,.home-work__grid,.home-ctaGrid .container{grid-template-columns:1fr 1fr !important}
}
@media (max-width:700px){
  .svc2-grid,.home-work__grid,.home-ctaGrid .container{grid-template-columns:1fr !important}
  .svc2-title{font-size:clamp(2rem,12vw,3.2rem) !important}
}

/* ===== INDEX SECTIONS ===== */
.hero-webio{position:relative;overflow:hidden;min-height:760px;padding:150px 0 98px;background:radial-gradient(circle at 28% 28%,rgba(130,189,3,.16),transparent 24%),radial-gradient(circle at 74% 22%,rgba(82,39,255,.13),transparent 26%),radial-gradient(circle at center,rgba(255,255,255,0) 0 34%,rgba(255,255,255,.72) 58%,#f4f6f8 100%),radial-gradient(circle,rgba(148,163,184,.35) 1px,transparent 1.5px),linear-gradient(180deg,#fbfcfd 0%,#f4f6f8 100%);background-size:auto,auto,auto,18px 18px,auto;color:#111}
.hero-webio::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f4f6f8 0%,rgba(244,246,248,0) 22%,rgba(244,246,248,0) 78%,#f4f6f8 100%),linear-gradient(180deg,rgba(244,246,248,.35),rgba(244,246,248,.92))}
.hero-webio::after{content:"";position:absolute;inset:-18% -10%;pointer-events:none;background:radial-gradient(ellipse at 18% 48%,rgba(130,189,3,.18),transparent 34%),radial-gradient(ellipse at 52% 36%,rgba(255,255,255,.72),transparent 32%),radial-gradient(ellipse at 82% 52%,rgba(82,39,255,.16),transparent 34%);filter:blur(38px);opacity:.72;mix-blend-mode:multiply;animation:hero-smoke 18s ease-in-out infinite alternate}
@keyframes hero-smoke{0%{transform:translate3d(-2%,1%,0) scale(1);opacity:.58}50%{transform:translate3d(2%,-1.5%,0) scale(1.04);opacity:.76}100%{transform:translate3d(4%,1%,0) scale(1.02);opacity:.64}}
.hero-shell{position:relative;z-index:1;width:min(1180px,92vw);min-height:520px;margin:auto}.hero-center{width:min(760px,92vw);margin:0 auto;text-align:center;display:grid;justify-items:center;opacity:0;transform:translateY(18px) scale(.98);animation:hero-center-in .75s cubic-bezier(.22,.61,.36,1) .12s forwards}
.hero-status{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid #edf0f3;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 10px 24px rgba(15,23,42,.04);color:#3f3f46;font-size:.95rem;font-weight:600}.hero-status span{width:8px;height:8px;border-radius:50%;background:#12b76a}
.hero-center h1{max-width:760px;margin:30px 0 22px;padding:0;color:#111;font-size:clamp(1.2rem,3.8vw,3.25rem);line-height:1.05;letter-spacing:-.04em;font-weight:700}.hero-center h1::after{display:none}.hero-lead{max-width:590px;margin:0;color:#4f535a!important;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.45}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:58px}.hero-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.hero-btn:hover{transform:translateY(-2px)}.hero-btn--dark{gap:18px;padding-right:8px;background:#030712;color:#fff;box-shadow:0 18px 30px rgba(15,23,42,.18)}.hero-btn--light{background:#fff;color:#111;border:1px solid #e5e7eb}.hero-btn__icon{display:grid;place-items:center;width:42px;height:34px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#111827;color:#fff;font-size:1.1rem}
.hero-trust-signals{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 0;padding:0;list-style:none}.hero-trust-signals li{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 16px;border:1px solid #d8d2c6;border-radius:999px;background:rgba(238,236,230,.72);color:#3f3f3f;font-size:.88rem;font-weight:500;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.hero-proof{display:flex;align-items:center;gap:18px;margin-top:40px}.hero-avatars{display:flex}.hero-avatars span{width:34px;height:34px;margin-left:-8px;border:2px solid #fff;border-radius:50%;background:linear-gradient(135deg,#88d8b0,#3b82f6)}.hero-avatars span:first-child{margin-left:0}.hero-avatars span:nth-child(2){background:linear-gradient(135deg,#f59e0b,#ef4444)}.hero-avatars span:nth-child(3){background:linear-gradient(135deg,#64748b,#111827)}.hero-avatars span:nth-child(4){background:linear-gradient(135deg,#fde68a,#92400e)}.hero-stars{color:#111827;font-size:.96rem;letter-spacing:2px;line-height:1;text-align:left}.hero-proof p{margin:6px 0 0;color:#111827!important;font-size:.86rem;line-height:1.2;text-align:left}
.hero-floating{position:absolute;width:224px;min-height:112px;padding:18px 20px;border:1px solid #eef1f4;border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 16px 40px rgba(15,23,42,.08);opacity:0;will-change:transform,opacity}.hero-floating::after{content:"\201D";position:absolute;right:20px;top:20px;color:#b8c0cc;font-size:2rem;font-weight:800;line-height:1}.hero-floating p{margin:0 0 14px;max-width:170px;color:#30343a!important;font-size:.92rem;line-height:1.25;font-weight:500}.hero-floating span{color:#3f4650;font-size:.84rem;font-weight:600}.hero-floating--muted{filter:blur(.2px)}.hero-floating--left{left:-16px;top:88px;transform:translateX(-52px) translateY(18px) rotate(3deg);animation:hero-card-left .75s cubic-bezier(.22,.61,.36,1) .72s forwards}.hero-floating--left-mid{left:-26px;top:250px;transform:translateX(-62px) translateY(18px) rotate(-1deg);animation:hero-card-left-mid .75s cubic-bezier(.22,.61,.36,1) .88s forwards}.hero-floating--right{right:-14px;top:86px;transform:translateX(52px) translateY(18px) rotate(-3deg);animation:hero-card-right .75s cubic-bezier(.22,.61,.36,1) .78s forwards}.hero-floating--right-mid{right:-24px;top:246px;transform:translateX(62px) translateY(18px) rotate(1deg);animation:hero-card-right-mid .75s cubic-bezier(.22,.61,.36,1) .96s forwards}
@keyframes hero-center-in{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hero-card-left{to{opacity:.28;transform:translateX(0) translateY(0) rotate(3deg)}}
@keyframes hero-card-left-mid{to{opacity:1;transform:translateX(0) translateY(0) rotate(-1deg)}}
@keyframes hero-card-right{to{opacity:.28;transform:translateX(0) translateY(0) rotate(-3deg)}}
@keyframes hero-card-right-mid{to{opacity:1;transform:translateX(0) translateY(0) rotate(1deg)}}
.impact-section,.process-section,.services-showcase,.projects-section,.faq-section{background:#f5f6f7;padding:80px 0;color:#111}.impact-wrap,.process-wrap,.services-wrap,.projects-wrap,.faq-wrap{width:min(1280px,90vw);margin-inline:auto}
.impact-head,.projects-head{text-align:left;margin:0 0 clamp(46px,6vw,78px)}.impact-kicker,.process-kicker,.services-kicker,.projects-kicker,.faq-kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:28px;color:#4f535a;font-size:1rem;font-weight:500}.impact-kicker span,.process-kicker span,.services-kicker span,.projects-kicker span,.faq-kicker span{width:10px;height:10px;border-radius:3px;background:#ef4444}
.impact-head h2,.services-head h2,.projects-head h2,.process-copy h2,.faq-copy h2{margin:0;padding:0;color:#111;font-size:clamp(2.35rem,4.2vw,4rem);line-height:1.16;letter-spacing:-.045em;font-weight:700}.impact-head h2::after,.services-head h2::after,.projects-head h2::after,.process-copy h2::after,.faq-copy h2::after{display:none}.impact-head h2 span,.services-head h2 span,.projects-head h2 span,.process-copy h2 span,.faq-copy h2 span{color:#6b7280}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.impact-card{min-height:214px;padding:30px 28px 26px;border:1px solid #e5e7eb;border-radius:26px;background:#fff}.impact-card strong{display:block;margin-bottom:18px;color:#030712;font-size:clamp(2.1rem,3vw,3.15rem);line-height:1;letter-spacing:-.055em;font-weight:700}.impact-card h3{margin:0 0 18px;color:#5f6672;font-size:clamp(1.08rem,1.55vw,1.45rem);line-height:1.2;letter-spacing:-.035em;font-weight:500}.impact-card p{margin:0;color:#74777d!important;font-size:1rem;line-height:1.3;font-weight:500}
.process-wrap{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(520px,1fr);gap:clamp(56px,8vw,120px);align-items:start}.process-copy{position:sticky;top:120px;align-self:start}.process-copy p{max-width:560px;margin:28px 0 0;color:#4f535a!important;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.35;font-weight:500}.process-timeline{position:relative;display:grid;gap:38px;padding-left:74px}.process-timeline::before{content:"";position:absolute;left:24px;top:26px;bottom:26px;width:3px;border-radius:999px;background:linear-gradient(180deg,#ef4444 0 22%,#e5e7eb 22% 100%)}.process-step{position:relative;min-height:182px}.process-number{position:absolute;left:-73px;top:-12px;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d7dce2;border-radius:50%;background:#f8fafc;color:#111827;font-size:1rem;font-weight:500;box-shadow:0 2px 8px rgba(15,23,42,.04)}.process-card{min-height:164px;padding:30px 34px;border:1px solid #e5e7eb;border-radius:28px;background:#fff}.process-card h3{margin:0 0 28px;color:#6b7280;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.1;letter-spacing:-.04em;font-weight:500}.process-card p{max-width:560px;margin:0;color:#4f535a!important;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.25;font-weight:500}
.services-head{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;margin-bottom:clamp(44px,6vw,74px)}.services-cta,.projects-footer a{display:inline-flex;align-items:center;gap:18px;min-height:54px;padding:0 8px 0 24px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#111;text-decoration:none;font-size:1rem;font-weight:500;box-shadow:0 16px 30px rgba(15,23,42,.08)}.services-cta span:last-child,.projects-footer span{display:grid;place-items:center;width:42px;height:34px;border:1px solid #d8dde4;border-radius:999px;background:#f8fafc}.services-grid{display:grid;grid-template-columns:minmax(420px,.96fr) minmax(520px,1fr);gap:32px;align-items:start}.services-list{display:grid;gap:16px}.service-item{overflow:hidden;border:1px solid #e5e7eb;border-radius:28px;background:#fff}.service-toggle{width:100%;min-height:76px;display:grid;grid-template-columns:64px 1fr 24px;gap:18px;align-items:center;padding:14px 24px 14px 14px;border:0;background:transparent;color:#111;cursor:pointer;text-align:left;font:inherit}.service-title{font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.1;letter-spacing:-.04em;font-weight:500}.service-chevron{color:#6b7280;font-size:1.25rem;transition:transform .2s ease}.service-icon{position:relative;display:grid;place-items:center;width:48px;height:40px;border:1px solid #d8dde4;border-radius:999px;background:#f8fafc}.service-icon::before,.service-icon::after{content:"";position:absolute;border:1.7px solid #6b7280}.service-icon--layout::before{width:15px;height:18px;border-radius:4px}.service-icon--shop::before{width:18px;height:14px;border-radius:3px}.service-icon--shop::after{width:20px;height:6px;border-radius:8px 8px 0 0;transform:translateY(-10px)}.service-icon--chart::before{width:18px;height:18px;border-left-color:transparent;border-top-color:transparent;transform:rotate(-45deg)}.service-icon--bolt::before{width:10px;height:19px;border-radius:2px;transform:skewX(-18deg)}.service-body{display:none;margin:0 14px 14px;padding:14px 18px;border:1px solid #edf0f3;border-radius:16px;background:#fbfcfd}.service-body p{margin:0;color:#4f535a!important;font-size:1rem;line-height:1.35;font-weight:500}.service-body a{display:inline-flex;margin-top:12px;color:#111827;font-size:.95rem;font-weight:600}.service-item.is-active .service-body{display:block}.service-item.is-active .service-chevron{transform:rotate(180deg)}.services-visual{position:sticky;top:110px;margin:0;aspect-ratio:1.25/1;overflow:hidden;border:8px solid #fff;border-radius:28px;background:#111;box-shadow:0 20px 50px rgba(15,23,42,.14)}.services-visual img{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease,transform .45s ease}.services-visual img.is-changing{opacity:.35;transform:scale(1.02)}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:34px;background:#fff}.project-card{padding:28px;border-right:1px solid #eef1f4}.project-card:nth-child(2n){border-right:0}.project-card:nth-child(n+3){border-top:1px solid #eef1f4}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.project-meta h3{margin:0;color:#222;font-size:1.2rem;line-height:1.2;letter-spacing:-.03em;font-weight:500}.project-view{display:inline-flex;align-items:center;gap:12px;color:#222;text-decoration:none;font-size:.95rem;font-weight:500}.project-view span:last-child{display:grid;place-items:center;width:42px;height:28px;border:1px solid #d8dde4;border-radius:999px;background:#f8fafc}.project-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.project-tags span{display:inline-flex;align-items:center;min-height:30px;padding:0 14px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#4f535a;font-size:.82rem;font-weight:500}.project-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.24/1;border:7px solid #f5f6f7;border-radius:28px;background:#111;box-shadow:0 18px 38px rgba(15,23,42,.12)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}.project-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);display:inline-flex;align-items:center;justify-content:center;min-width:140px;min-height:42px;padding:0 24px;border-radius:999px;background:rgba(17,24,39,.78);color:#fff;font-size:.94rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease,left .16s ease-out,top .16s ease-out;backdrop-filter:blur(8px);will-change:left,top,transform}.project-image:hover img{transform:scale(1.04);filter:saturate(.95) brightness(.82)}.project-image:hover .project-overlay{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-card p{margin:18px 0 0;color:#5f6672!important;font-size:1rem;line-height:1.35;font-weight:500}.projects-footer{display:flex;justify-content:center;margin-top:32px}
.faq-wrap{display:grid;grid-template-columns:minmax(300px,.62fr) minmax(520px,1fr);gap:clamp(58px,8vw,120px);align-items:start}
.faq-copy{min-height:0;align-self:stretch}
.faq-sticky-head{position:sticky;top:112px;z-index:1;padding-bottom:6px;background:#f5f6f7}
.faq-copy h2{font-size:clamp(2.25rem,3.6vw,3.35rem);line-height:1.12}
.faq-contact{position:sticky;top:320px;margin-top:72px;max-width:360px;min-height:178px;padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #1f2937;border-radius:28px;background:radial-gradient(circle,rgba(148,163,184,.28) 1px,transparent 1.4px),#030712;background-size:16px 16px;box-shadow:0 18px 36px rgba(15,23,42,.12)}.faq-contact h3{margin:0;color:#fff;font-size:1.55rem;line-height:1.1;letter-spacing:-.04em;font-weight:700}
.faq-contact a{align-self:flex-end;display:inline-flex;align-items:center;gap:18px;min-height:52px;padding:0 8px 0 24px;border-radius:999px;background:#fff;color:#111;text-decoration:none;font-weight:500}
.faq-contact a span:last-child{display:grid;place-items:center;width:42px;height:34px;border:1px solid #d8dde4;border-radius:999px;background:#f8fafc}.faq-list{display:grid;gap:10px}.faq-item{overflow:hidden;border:1px solid #e5e7eb;border-radius:26px;background:#fff}.faq-question{min-height:58px;width:100%;display:grid;grid-template-columns:1fr 42px;gap:18px;align-items:center;padding:0 14px 0 22px;cursor:pointer;border:0;background:transparent;text-align:left;font:inherit}.faq-item h3{margin:0;color:#5f6672;font-size:.98rem;line-height:1.25;font-weight:600}.faq-icon{position:relative;display:grid;place-items:center;width:34px;height:26px;border:1px solid #e1e5ea;border-radius:999px;background:#fff}.faq-icon::before,.faq-icon::after{content:"";position:absolute;width:10px;height:1.5px;border-radius:999px;background:#9aa1ad}.faq-icon::after{transform:rotate(90deg)}.faq-item.is-open .faq-icon::after{opacity:0}.faq-answer{max-height:0;overflow:hidden;padding:0 14px;opacity:0;transform:translateY(-4px);transition:max-height .42s cubic-bezier(.22,.61,.36,1),opacity .28s ease,transform .36s ease,padding .36s ease}.faq-item.is-open .faq-answer{padding:0 14px 14px;opacity:1;transform:translateY(0)}.faq-answer-inner{overflow:hidden}.faq-answer p{margin:0;padding:16px 18px;border:1px solid #edf0f3;border-radius:14px;background:#fbfcfd;color:#7a8089!important;font-size:.92rem;line-height:1.35;font-weight:500}
@media (max-width:1100px){.hero-floating{display:none}}@media (max-width:980px){.impact-grid,.projects-grid,.process-wrap,.services-head,.services-grid,.faq-wrap{grid-template-columns:1fr}.process-copy,.services-visual,.faq-sticky-head,.faq-contact{position:static}.faq-contact{max-width:none}.services-cta{width:max-content}}@media (max-width:720px){.hero-webio{min-height:auto;padding:126px 0 78px}.hero-center h1{font-size:clamp(2.7rem,13vw,4.3rem);letter-spacing:-.03em}.hero-actions{width:100%;flex-direction:column;margin-top:36px}.hero-btn{width:100%}.hero-trust-signals{gap:8px}.hero-trust-signals li{min-height:30px;padding-inline:13px;font-size:.82rem}.hero-proof{align-items:flex-start}}@media (max-width:620px){.service-toggle{grid-template-columns:54px 1fr 20px;padding-right:18px}.services-cta,.faq-contact a{width:100%;justify-content:space-between}.project-card{padding:18px}.project-meta{align-items:flex-start}.project-view span:first-child{display:none}.faq-question{grid-template-columns:1fr 34px;padding-left:18px}}

.reveal-on-scroll{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0) scale(1)}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none;transition:none}}

@media (max-width:980px){
  .projects-head{
    grid-template-columns:1fr !important;
  }
  .projects-cta{
    width:max-content;
  }
}

@media (max-width:620px){
  .projects-cta{
    width:100%;
    justify-content:space-between;
  }
}

.impact-head{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.services-intro,
.projects-intro{
  max-width:560px;
  margin:28px 0 0;
  color:#4f535a !important;
  font-size:clamp(1.05rem,1.35vw,1.25rem);
  line-height:1.35;
  font-weight:500;
}

.projects-head{
  display:grid !important;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:end;
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.projects-cta{
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-height:54px;
  padding:0 8px 0 24px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  color:#111;
  text-decoration:none;
  font-size:1rem;
  font-weight:500;
  box-shadow:0 16px 30px rgba(15,23,42,.08);
}

.projects-cta span:last-child{
  display:grid;
  place-items:center;
  width:42px;
  height:34px;
  border:1px solid #d8dde4;
  border-radius:999px;
  background:#f8fafc;
}

/* Hero: fondo reactivo al raton */
.hero-webio{
  --hero-glow-x:50%;
  --hero-glow-y:38%;
  background:
    radial-gradient(circle at var(--hero-glow-x) var(--hero-glow-y),rgba(130,189,3,.18),transparent 25%),
    radial-gradient(circle at calc(var(--hero-glow-x) + 18%) calc(var(--hero-glow-y) - 14%),rgba(82,39,255,.14),transparent 24%),
    radial-gradient(circle at center,rgba(255,255,255,0) 0 34%,rgba(255,255,255,.72) 58%,#f4f6f8 100%),
    radial-gradient(circle,rgba(148,163,184,.35) 1px,transparent 1.5px),
    linear-gradient(180deg,#fbfcfd 0%,#f4f6f8 100%) !important;
  background-size:auto,auto,auto,18px 18px,auto !important;
}

.hero-webio::after{
  background:
    radial-gradient(ellipse at calc(var(--hero-glow-x) - 22%) calc(var(--hero-glow-y) + 10%),rgba(130,189,3,.18),transparent 34%),
    radial-gradient(ellipse at var(--hero-glow-x) var(--hero-glow-y),rgba(255,255,255,.74),transparent 32%),
    radial-gradient(ellipse at calc(var(--hero-glow-x) + 26%) calc(var(--hero-glow-y) + 8%),rgba(82,39,255,.16),transparent 34%) !important;
}

/* Botones home: mismo microefecto del CTA del menu */
.hero-btn,
.services-cta,
.projects-cta,
.projects-footer a,
.faq-contact a,
.project-view{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,background .28s ease,border-color .28s ease,color .28s ease;
}

.hero-btn:not(:has(.hero-btn__icon))::after,
.services-cta:not(:has(> span:last-child))::after,
.projects-cta:not(:has(> span:last-child))::after,
.projects-footer a:not(:has(> span:last-child))::after,
.faq-contact a:not(:has(> span:last-child))::after,
.project-view:not(:has(> span:last-child))::after{
  content:"\2192";
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:34px;
  border-radius:999px;
  border:1px solid #d8dde4;
  background:#f8fafc;
  color:#111827;
  font-size:1.1rem;
  line-height:1;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),background .28s ease,border-color .28s ease;
}

.hero-btn__icon,
.services-cta span:last-child,
.projects-cta span:last-child,
.projects-footer span,
.faq-contact a span:last-child,
.project-view span:last-child{
  transition:transform .28s cubic-bezier(.22,.61,.36,1),background .28s ease,border-color .28s ease;
}

.hero-btn:hover,
.services-cta:hover,
.projects-cta:hover,
.projects-footer a:hover,
.faq-contact a:hover,
.project-view:hover{
  transform:translateY(-2px);
}

.hero-btn:hover::after,
.services-cta:hover::after,
.projects-cta:hover::after,
.projects-footer a:hover::after,
.faq-contact a:hover::after,
.project-view:hover::after,
.hero-btn:hover .hero-btn__icon,
.services-cta:hover span:last-child,
.projects-cta:hover span:last-child,
.projects-footer a:hover span,
.faq-contact a:hover span:last-child,
.project-view:hover span:last-child{
  transform:translateX(3px);
}

body .hero-btn::after,
body .services-cta::after,
body .projects-cta::after,
body .projects-footer a::after,
body .faq-contact a::after,
body .project-view::after{
  content:none !important;
  display:none !important;
}

.final-cta{
  background:#eceff3;
  padding:clamp(72px,9vw,118px) 0 clamp(82px,10vw,132px);
  color:#111;
}

.final-cta__wrap{
  width:min(1280px,90vw);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(32px,6vw,84px);
  align-items:center;
}

.final-cta__copy h2{
  margin:0;
  padding:0;
  color:#111;
  font-size:clamp(2.25rem,3.6vw,3.35rem);
  line-height:1.12;
  letter-spacing:-.045em;
  font-weight:700;
}

.final-cta__copy h2::after{
  display:none;
}

.final-cta__copy h2 span{
  color:#6b7280;
}

.final-cta__copy p{
  max-width:620px;
  margin:34px 0 0;
  color:#4f535a !important;
  font-size:clamp(1.05rem,1.35vw,1.2rem);
  line-height:1.42;
  font-weight:700;
}

.final-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-height:58px;
  padding:0 8px 0 24px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  color:#111;
  text-decoration:none;
  font-size:1rem;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 18px 46px rgba(15,23,42,.08);
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;
}

.final-cta__button span:last-child{
  display:grid;
  place-items:center;
  width:42px;
  height:34px;
  border:1px solid #d8dde4;
  border-radius:999px;
  background:#f8fafc;
  color:#111827;
  font-size:1.1rem;
  line-height:1;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),background .28s ease,border-color .28s ease;
}

.final-cta__button:hover{
  transform:translateY(-2px);
  border-color:#d8dde4;
  box-shadow:0 22px 54px rgba(15,23,42,.12);
}

.final-cta__button:hover span:last-child{
  transform:translateX(3px);
  background:#fff;
}

@media (max-width:980px){
  .final-cta__wrap{
    grid-template-columns:1fr;
    align-items:start;
  }

  .final-cta__button{
    width:max-content;
  }
}

@media (max-width:620px){
  .final-cta{
    padding:64px 0 86px;
  }

  .final-cta__copy h2{
    font-size:clamp(2.25rem,11vw,3.35rem);
    line-height:1.12;
    letter-spacing:-.045em;
  }

  .final-cta__copy p{
    margin-top:28px;
    font-size:1rem;
  }

  .final-cta__button{
    width:100%;
    justify-content:space-between;
  }
}

/* Proceso: linea viva al hacer scroll */
.process-timeline{
  --process-progress:0%;
  z-index:0;
}

.process-timeline::before{
  background:#e5e7eb !important;
  z-index:0;
}

.process-timeline::after{
  content:"";
  position:absolute;
  left:24px;
  top:26px;
  z-index:0;
  width:3px;
  height:var(--process-progress);
  max-height:calc(100% - 52px);
  border-radius:999px;
  background:linear-gradient(180deg,#ef4444,#fb7185);
  box-shadow:0 0 18px rgba(239,68,68,.34),0 0 34px rgba(239,68,68,.16);
  transition:height .18s ease-out;
}

.process-step{
  z-index:1;
}

.process-number{
  z-index:2;
  color:#8b929e;
  background:#f8fafc;
  border-color:#d7dce2;
  transition:background .28s ease,border-color .28s ease,color .28s ease,box-shadow .28s ease,transform .28s ease;
}

.process-step.is-process-active .process-number{
  border-color:#f2b5b5;
  background:#fff1f1;
  color:#d64a4a;
  box-shadow:0 0 0 7px rgba(239,68,68,.07),0 10px 26px rgba(239,68,68,.14);
  transform:scale(1.025);
}

.process-step.is-process-current .process-card{
  border-color:#f2b5b5;
  background:
    radial-gradient(circle at 10% 18%,rgba(239,68,68,.1),transparent 34%),
    #fff;
  box-shadow:0 20px 48px rgba(239,68,68,.12),0 18px 44px rgba(15,23,42,.08);
  transform:translateY(-2px);
}

.process-card{
  transition:border-color .28s ease,box-shadow .28s ease,background .28s ease,transform .28s ease;
}

