 :root{
      --bg:#eef5ff;
      --bg-2:#f7fbff;
      --surface:#ffffff;
      --surface-2:#f6f9ff;
      --line:rgba(54,84,133,.12);
      --line-strong:rgba(54,84,133,.18);
      --text:#10233f;
      --muted:#54657f;
      --muted-2:#6b7c96;
      --brand:#2563eb;
      --brand-2:#06b6d4;
      --brand-3:#7c3aed;
      --success:#16a34a;
      --shadow:0 22px 60px rgba(25, 49, 88, .10);
      --shadow-strong:0 28px 78px rgba(25, 49, 88, .16);
      --radius:26px;
      --radius-sm:18px;
      --max:1180px;
      --pad:clamp(16px, 2vw, 28px);
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:
        radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 24%),
        radial-gradient(circle at top right, rgba(6,182,212,.10), transparent 22%),
        linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
      color:var(--text);
      line-height:1.65;
      overflow-x:hidden;
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(16,35,63,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16,35,63,.035) 1px, transparent 1px);
      background-size:46px 46px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.26), transparent 78%);
      opacity:.55;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea{font:inherit}

    .container{
      width:min(var(--max), calc(100% - 2 * var(--pad)));
      margin-inline:auto;
      position:relative;
      z-index:1;
    }

    .glass{
      background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,249,255,.88));
      border:1px solid var(--line);
      backdrop-filter:blur(14px);
      box-shadow:var(--shadow);
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:1000;
      border-bottom:1px solid rgba(54,84,133,.10);
      background:rgba(245,249,255,.84);
      backdrop-filter:blur(18px);
    }

    .nav-wrap{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      min-height:80px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:14px;
      min-width:0;
    }

    .brand-mark{
      width:52px;height:52px;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg, rgba(37,99,235,.96), rgba(6,182,212,.96));
      color:#fff;
      font-weight:900;
      letter-spacing:-.04em;
      box-shadow:0 16px 34px rgba(37,99,235,.18);
      flex:none;
      overflow:hidden;
      position:relative;
    }

    .brand-mark img{
      width:100%;
      height:100%;
      object-fit:contain;
      padding:8px;
      display:block;
    }

    .brand-fallback,
    .avatar-fallback{
      display:none;
      position:relative;
      z-index:1;
    }

    .brand-text strong{
      display:block;
      font-size:1.04rem;
      line-height:1.1;
      letter-spacing:.01em;
    }

    .brand-text span{
      display:block;
      font-size:.88rem;
      color:var(--muted);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width:360px;
    }

    .nav{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .nav a{
      padding:10px 14px;
      border-radius:999px;
      color:var(--muted);
      transition:.22s ease;
      border:1px solid transparent;
      font-size:.95rem;
    }

    .nav a:hover,
    .nav a:focus-visible{
      color:var(--text);
      border-color:rgba(37,99,235,.18);
      background:rgba(37,99,235,.06);
      outline:none;
    }

    .nav-cta{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:12px 16px;
      border-radius:999px;
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      color:#fff;
      font-weight:800;
      box-shadow:0 14px 28px rgba(37,99,235,.16);
      border:0;
    }

    .menu-btn{
      display:none;
      border:1px solid var(--line-strong);
      width:46px;height:46px;
      border-radius:14px;
      background:#fff;
      color:var(--text);
      box-shadow:var(--shadow);
    }

    .menu-icon{
      width:20px;height:20px;
      margin:auto;
      display:block;
    }

    .hero{
      padding:clamp(34px, 6vw, 80px) 0 28px;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:1.04fr .96fr;
      gap:28px;
      align-items:center;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 14px;
      border-radius:999px;
      border:1px solid rgba(37,99,235,.14);
      background:rgba(37,99,235,.06);
      color:#1747a8;
      font-size:.92rem;
      margin-bottom:18px;
      font-weight:700;
    }

    .eyebrow-dot{
      width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 0 6px rgba(22,163,74,.12);
    }

    h1{
      font-size:clamp(2.35rem, 5.2vw, 5rem);
      line-height:1.03;
      letter-spacing:-.055em;
      margin-bottom:16px;
      max-width:12ch;
    }

    .hero p{
      color:var(--muted);
      font-size:clamp(1rem, 1.3vw, 1.12rem);
      max-width:62ch;
    }

    .hero-actions{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      margin-top:26px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:14px 18px;
      border-radius:16px;
      font-weight:800;
      border:1px solid transparent;
      transition:transform .18s ease, background .18s ease, border .18s ease, box-shadow .18s ease;
      min-height:48px;
    }

    .btn:hover{transform:translateY(-1px)}

    .btn-primary{
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      color:#fff;
      box-shadow:0 18px 32px rgba(37,99,235,.14);
    }

    .btn-secondary{
      background:#fff;
      color:var(--text);
      border-color:rgba(54,84,133,.18);
    }

    .hero-note{
      margin-top:22px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      color:var(--muted-2);
      font-size:.95rem;
    }

    .hero-note span{
      padding:8px 12px;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(54,84,133,.10);
    }

    .hero-card{
      border-radius:28px;
      padding:22px;
      position:relative;
      overflow:hidden;
      min-height:540px;
    }

    .hero-card::before,
    .hero-card::after{
      content:"";
      position:absolute;
      border-radius:999px;
      filter:blur(18px);
      opacity:.75;
    }

    .hero-card::before{
      width:180px;height:180px;
      background:rgba(37,99,235,.15);
      top:-40px;right:-36px;
    }

    .hero-card::after{
      width:220px;height:220px;
      background:rgba(6,182,212,.14);
      bottom:-60px;left:-56px;
    }

    .showcase{position:relative;z-index:1;display:grid;gap:14px}

    .showcase-main{
      border-radius:24px;
      padding:20px;
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,255,.88));
      border:1px solid rgba(54,84,133,.10);
      box-shadow:var(--shadow);
    }

    .showcase-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      margin-bottom:16px;
    }

    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(22,163,74,.10);
      color:#0f6f31;
      border:1px solid rgba(22,163,74,.14);
      font-size:.86rem;
      white-space:nowrap;
      font-weight:700;
    }

    .mini-figure{ text-align:right; color:var(--muted); font-size:.88rem; }
    .mini-figure strong{display:block;color:var(--text);font-size:1.25rem}

    .mock-dashboard{
      border-radius:20px;
      background:
        linear-gradient(180deg, rgba(248,251,255,.95), rgba(239,245,255,.90)),
        linear-gradient(135deg, rgba(37,99,235,.12), rgba(6,182,212,.08));
      border:1px solid rgba(54,84,133,.08);
      overflow:hidden;
    }

    .mock-dashboard__bar{
      display:flex;
      align-items:center;
      gap:8px;
      padding:14px 16px;
      background:rgba(37,99,235,.04);
      border-bottom:1px solid rgba(54,84,133,.08);
    }

    .dots{display:flex;gap:6px}
    .dots i{width:10px;height:10px;border-radius:999px;background:rgba(16,35,63,.22);display:block}

    .mock-dashboard__body{padding:18px;display:grid;gap:14px}

    .dashboard-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
    }

    .stat-card,
    .feature-card,
    .project-card,
    .info-card,
    .quote-card{
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.92));
      border:1px solid rgba(54,84,133,.10);
      border-radius:22px;
      box-shadow:var(--shadow);
    }

    .stat-card{padding:16px;min-height:102px}
    .stat-card span{color:var(--muted);font-size:.88rem}
    .stat-card strong{display:block;font-size:1.8rem;line-height:1.1;margin-top:8px}
    .stat-card small{display:block;margin-top:8px;color:var(--muted-2)}

    .stack-card{display:grid;gap:12px;grid-template-columns:1.1fr .9fr}
    .stack-card__left,
    .stack-card__right{
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.65);
      border:1px solid rgba(54,84,133,.09);
    }

    .stack-card__left h4,
    .stack-card__right h4,
    .section-heading h2,
    .contact-panel h2,
    .about-panel h2,
    .process-panel h2,
    .work-panel h2{
      font-size:clamp(1.5rem, 2.8vw, 2.4rem);
      letter-spacing:-.04em;
      line-height:1.08;
      margin-bottom:10px;
    }

    .stack-card__left p,
    .stack-card__right p{color:var(--muted);font-size:.95rem}

    .quick-list{display:grid;gap:10px;margin-top:14px}
    .quick-item{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:#24405f;
      padding:10px 0;
      border-top:1px solid rgba(54,84,133,.09);
    }
    .quick-item:first-child{border-top:0;padding-top:0}
    .quick-icon{color:var(--brand-2);flex:none}

    .section{padding:26px 0 0}
    .section-heading{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:18px;
      flex-wrap:wrap;
    }

    .section-heading p,
    .lead,
    .subtle{color:var(--muted);max-width:70ch}

    .chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
    .chip{
      padding:8px 12px;
      border-radius:999px;
      border:1px solid rgba(54,84,133,.10);
      background:#fff;
      color:#294160;
      font-size:.9rem;
    }

    .service-grid,
    .project-grid,
    .process-grid{
      display:grid;
      gap:16px;
      grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .feature-card,
    .project-card,
    .info-card,
    .quote-card{
      padding:20px;
      overflow:hidden;
      position:relative;
    }

    .feature-card::after,
    .project-card::after,
    .info-card::after,
    .quote-card::after{
      content:"";
      position:absolute;
      inset:auto -20px -20px auto;
      width:180px;height:180px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(37,99,235,.10), transparent 65%);
      pointer-events:none;
    }

    .feature-icon,
    .process-step__icon,
    .project-tag{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-radius:14px;
      font-weight:800;
    }

    .feature-icon{
      width:48px;height:48px;
      margin-bottom:14px;
      background:rgba(37,99,235,.08);
      color:#1747a8;
      border:1px solid rgba(37,99,235,.14);
    }

    .feature-card h3,
    .project-card h3,
    .info-card h3,
    .process-step h3{font-size:1.18rem;margin-bottom:8px;letter-spacing:-.02em}
    .feature-card p,
    .project-card p,
    .info-card p,
    .process-step p,
    .contact-card p{color:var(--muted);font-size:.96rem}

    .service-visual{
      margin-top:14px;
      padding:12px;
      border-radius:18px;
      background:linear-gradient(180deg, rgba(37,99,235,.05), rgba(6,182,212,.04));
      border:1px solid rgba(54,84,133,.10);
    }

    .service-visual img{
      width:100%;
      height:auto;
      display:block;
      border-radius:14px;
    }

    .sector-box{
      margin-top:16px;
      padding:16px;
      border-radius:20px;
      background:#fff;
      border:1px solid rgba(54,84,133,.10);
    }

    .sector-head{
      margin-bottom:14px;
    }

    .sector-head strong{
      display:block;
      font-size:1rem;
      color:#10233f;
      margin-bottom:4px;
    }

    .sector-head span{
      display:block;
      color:#6b7c96;
      font-size:.92rem;
    }

    .sector-list{
      display:grid;
      gap:10px;
    }

    .sector-item{
      display:grid;
      grid-template-columns:56px minmax(0, 1fr);
      gap:12px;
      align-items:center;
      padding:12px;
      border-radius:16px;
      background:#f8fbff;
      border:1px solid rgba(54,84,133,.08);
    }

    .sector-item img{
      width:56px;
      height:56px;
      border-radius:14px;
      object-fit:cover;
      flex:none;
      border:1px solid rgba(54,84,133,.10);
      background:#eaf2ff;
    }

    .sector-item strong{
      display:block;
      color:#10233f;
      font-size:.95rem;
      line-height:1.25;
      margin-bottom:4px;
    }

    .sector-item p{
      color:#6b7c96;
      font-size:.88rem;
      line-height:1.45;
    }

    .sector-foot{
      margin-top:14px;
      padding-top:12px;
      border-top:1px solid rgba(54,84,133,.10);
      color:#54657f;
      font-size:.95rem;
      font-weight:600;
    }

    .project-thumb{
      margin-top:14px;
      border-radius:18px;
      overflow:hidden;
      aspect-ratio:16/10;
      background:
        linear-gradient(135deg, rgba(37,99,235,.16), rgba(6,182,212,.12)),
        linear-gradient(180deg, rgba(255,255,255,.82), rgba(237,244,255,.88));
      border:1px solid rgba(54,84,133,.10);
      position:relative;
    }

    .project-thumb::before{
      content:"";
      position:absolute;
      inset:16px;
      border-radius:14px;
      border:1px solid rgba(54,84,133,.14);
      background:
        linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,.15)),
        radial-gradient(circle at 20% 25%, rgba(255,255,255,.85), transparent 12%),
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.55), transparent 10%),
        linear-gradient(135deg, rgba(237,244,255,.88), rgba(222,235,255,.94));
    }

    .project-thumb--vendo::after,
    .project-thumb--fitness::after{
      content:"";
      position:absolute;
      inset:26px;
      border-radius:12px;
      background:
        linear-gradient(180deg, rgba(37,99,235,.16), transparent),
        linear-gradient(90deg, rgba(37,99,235,.22) 0 36%, transparent 36% 100%);
      padding:1px;
      mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
      -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    }

    .project-meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-top:12px;
      flex-wrap:wrap;
    }

    .project-tag{
      padding:7px 12px;
      background:rgba(22,163,74,.10);
      color:#0f6f31;
      border:1px solid rgba(22,163,74,.14);
      font-size:.86rem;
    }

    .project-link{
      color:#1747a8;
      font-weight:800;
      display:inline-flex;
      align-items:center;
      gap:8px;
    }

    .project-link span{transition:transform .18s ease}
    .project-link:hover span{transform:translateX(2px)}

    .layout-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}

    .about-panel,
    .process-panel,
    .contact-panel{padding:22px;border-radius:var(--radius)}

    .about-row{
      display:grid;
      grid-template-columns:160px 1fr;
      gap:18px;
      align-items:center;
      margin-top:16px;
    }

    .avatar{
      width:160px;height:160px;
      border-radius:28px;
      background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,.7), transparent 18%),
        linear-gradient(135deg, rgba(37,99,235,.92), rgba(6,182,212,.82));
      display:grid;
      place-items:center;
      color:#fff;
      font-weight:900;
      font-size:2.3rem;
      box-shadow:0 18px 40px rgba(37,99,235,.16);
      border:1px solid rgba(54,84,133,.12);
      overflow:hidden;
      position:relative;
    }

    .avatar img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .story-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
    .story-badges span{
      padding:8px 12px;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(54,84,133,.10);
      color:#294160;
      font-size:.9rem;
    }

    .process-step{
      padding:20px;
      border-radius:22px;
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.92));
      border:1px solid rgba(54,84,133,.10);
    }

    .process-step__icon{
      width:44px;height:44px;
      margin-bottom:14px;
      background:rgba(6,182,212,.08);
      border:1px solid rgba(6,182,212,.14);
      color:#0f6f7b;
    }

    .contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:16px}

    .contact-card{
      padding:20px;
      border-radius:22px;
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.92));
      border:1px solid rgba(54,84,133,.10);
    }

    .contact-list{display:grid;gap:12px;margin-top:18px}
    .contact-item{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:14px 16px;
      border-radius:18px;
      border:1px solid rgba(54,84,133,.10);
      background:rgba(255,255,255,.7);
      flex-wrap:wrap;
    }

    .contact-item strong{display:block}
    .contact-item span{color:var(--muted);font-size:.92rem}

    .contact-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:14px 16px;
      border-radius:16px;
      font-weight:800;
      border:1px solid transparent;
      min-height:48px;
    }

    .contact-btn.whatsapp{background:linear-gradient(135deg, #25d366, #18a84b);color:#04120a}
    .contact-btn.instagram{background:linear-gradient(135deg, #e1306c, #833ab4);color:#fff}
    .contact-btn.mail{background:#fff;color:var(--text);border-color:rgba(54,84,133,.14)}

    .quote-card{padding:24px}

    .quote{
      font-size:clamp(1.1rem, 1.8vw, 1.45rem);
      line-height:1.45;
      letter-spacing:-.02em;
      color:#18304d;
    }

    .quote strong{color:#0f2d56}
    .quote-author{margin-top:12px;color:var(--muted)}

    footer{
      padding:26px 0 34px;
      color:var(--muted-2);
      text-align:center;
    }

    .footer-inner{
      padding-top:18px;
      border-top:1px solid rgba(54,84,133,.10);
      display:flex;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      align-items:center;
    }

    .footer-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
    .footer-links a:hover{color:#1747a8}

    .reveal{
      opacity:0;
      transform:translateY(18px);
      transition:opacity .7s ease, transform .7s ease;
    }

    .reveal.is-visible{opacity:1;transform:none}
    .mobile-nav{display:none}

    .spotlight{
      position:relative;
      overflow:hidden;
    }

    .spotlight::after{
      content:"";
      position:absolute;
      inset:auto -20% -25% auto;
      width:320px;height:320px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(37,99,235,.10), transparent 68%);
      pointer-events:none;
    }

    .live-ribbon{
      display:flex;
      align-items:center;
      gap:10px;
      margin-top:14px;
      padding:12px 14px;
      border-radius:16px;
      background:rgba(37,99,235,.06);
      border:1px solid rgba(37,99,235,.12);
      color:#1d4ed8;
      font-weight:700;
      flex-wrap:wrap;
    }

    .live-dot{width:10px;height:10px;border-radius:999px;background:var(--success);box-shadow:0 0 0 6px rgba(22,163,74,.12)}

    @media (max-width: 980px){
      .hero-grid,
      .contact-grid,
      .layout-two,
      .stack-card,
      .about-row,
      .service-grid,
      .project-grid,
      .process-grid{grid-template-columns:1fr}

      .hero-card{min-height:auto}
      .nav{display:none}
      .menu-btn{display:inline-grid;place-items:center}
      .mobile-nav{display:none;padding:0 0 18px}
      .mobile-nav.open{display:block}
      .mobile-nav .nav{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr))}
      .mobile-nav .nav a,
      .mobile-nav .nav .nav-cta{justify-content:center;width:100%}
      .brand-text span{max-width:220px}
    }

    @media (max-width: 640px){
      .container{width:min(var(--max), calc(100% - 22px))}
      .nav-wrap{min-height:68px}
      .brand-mark{width:44px;height:44px;border-radius:14px}
      .brand-text strong{font-size:.98rem}
      .brand-text span{display:none}
      .hero{padding-top:24px}
      .hero-actions{flex-direction:column}
      .btn{width:100%}
      .dashboard-grid{grid-template-columns:1fr}
      .showcase-main{padding:16px}
      .mini-figure{text-align:left}
      .about-row{justify-items:center;text-align:center}
      .avatar{width:124px;height:124px;border-radius:24px}
      .mobile-nav .nav{grid-template-columns:1fr}
      .footer-inner{justify-content:center;text-align:center}
      .contact-item{flex-direction:column;align-items:flex-start}
      h1{max-width:13ch}
    }

    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *, *::before, *::after{animation:none !important;transition:none !important}
    }