
:root {
  --bg: #f4f7fb;
  --bg-soft: rgba(255,255,255,.72);
  --surface: #ffffff;
  --surface-2: #eef4ff;
  --surface-3: #e0ecff;
  --text: #0f172a;
  --muted: #64748b;
  --primary: #1d4ed8;
  --primary-2: #2563eb;
  --secondary: #14b8a6;
  --danger: #dc2626;
  --danger-2: #ef4444;
  --accent: #8b5cf6;
  --gold: #f59e0b;
  --border: rgba(15,23,42,.08);
  --shadow: 0 20px 60px rgba(15,23,42,.10);
  --shadow-lg: 0 30px 100px rgba(15,23,42,.18);
  --hero-overlay: linear-gradient(135deg, rgba(2,6,23,.88), rgba(29,78,216,.68));
}
html[data-theme="dark"] {
  --bg: #020617;
  --bg-soft: rgba(15,23,42,.72);
  --surface: #0f172a;
  --surface-2: #111b31;
  --surface-3: #172554;
  --text: #e5eefc;
  --muted: #94a3b8;
  --primary: #60a5fa;
  --primary-2: #3b82f6;
  --secondary: #2dd4bf;
  --danger: #ef4444;
  --danger-2: #f87171;
  --accent: #a78bfa;
  --gold: #fbbf24;
  --border: rgba(148,163,184,.14);
  --shadow: 0 20px 60px rgba(0,0,0,.34);
  --shadow-lg: 0 30px 100px rgba(0,0,0,.55);
  --hero-overlay: linear-gradient(135deg, rgba(2,6,23,.92), rgba(15,23,42,.78));
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{
  margin:0; font-family:'Inter',system-ui,sans-serif; color:var(--text); line-height:1.65;
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.12), transparent 24%),
    radial-gradient(circle at 100% 0%, rgba(20,184,166,.10), transparent 22%),
    radial-gradient(circle at 0% 100%, rgba(139,92,246,.08), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0)),
    var(--bg);
  transition:background .35s ease,color .35s ease;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image: linear-gradient(rgba(148,163,184,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(148,163,184,.08) 1px, transparent 1px);
  background-size: 72px 72px; mask-image: radial-gradient(circle at center, black 25%, transparent 82%); opacity:.22;
}
a{text-decoration:none;color:inherit} img{display:block;max-width:100%}
.container{width:min(1200px,calc(100% - 32px));margin:0 auto}
.section{padding:96px 0; position:relative}.section-sm{padding:60px 0}
.section::before{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:min(180px,40%); height:1px; background:linear-gradient(90deg, transparent, var(--border), transparent)}
.badge{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);backdrop-filter:blur(14px);color:var(--muted);font-size:14px;font-weight:700; box-shadow: inset 0 1px 0 rgba(255,255,255,.4)}
.badge i{color:var(--secondary)}
.section-title{font-size:clamp(2rem,4vw,3.6rem);line-height:1.03;letter-spacing:-.05em;margin:16px 0 12px}
.section-text,.muted{color:var(--muted)}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--secondary);font-weight:800}
.topbar{position:sticky;top:0;z-index:1000;background:linear-gradient(135deg,#25D366,#128C7E);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff; box-shadow:0 10px 30px rgba(18,140,126,.24)}
.topbar-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 12px 32px rgba(37,99,235,.35);color:#fff;font-size:20px; position:relative; isolation:isolate}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.brand-mark::after{content:""; position:absolute; inset:2px; border-radius:14px; border:1px solid rgba(255,255,255,.25)}
.brand span{font-size:1.05rem}.brand small{display:block;font-size:12px;color:#fff;font-weight:600}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;width:46px;height:46px;border-radius:14px;font-size:18px}
.nav{display:flex;align-items:center;gap:8px}.nav a{padding:12px 14px;border-radius:12px;color:#fff;font-weight:700;font-size:14px;transition:.25s ease; position:relative}
.nav a:hover,.nav a.active{background:rgba(255,255,255,.09);color:#fff}
.actions{display:flex;align-items:center;gap:10px}.icon-btn,.btn{border:0;cursor:pointer;transition:transform .2s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease}.icon-btn:hover,.btn:hover{transform:translateY(-2px)}
.icon-btn{width:48px;height:48px;border-radius:14px;display:inline-grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:16px;font-weight:800}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 16px 36px rgba(37,99,235,.28)}
.header-cta.elearning-cta{background:linear-gradient(135deg,var(--danger),var(--danger-2));box-shadow:0 16px 36px rgba(220,38,38,.28)}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-light{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.14)}
.btn-ghost{background:var(--surface); color:var(--text); border:1px solid var(--border)}
.hero,.page-hero{position:relative;overflow:hidden;background:var(--hero-overlay), var(--hero-image) center/cover no-repeat}
.hero{min-height:calc(100vh - 76px);display:flex;align-items:center}
.hero::before,.page-hero::before{content:"";position:absolute;inset:auto auto -120px -90px;width:320px;height:320px;border-radius:50%;background:rgba(20,184,166,.14);filter:blur(30px)}
.hero::after,.page-hero::after{content:"";position:absolute;inset:70px -80px auto auto;width:260px;height:260px;border-radius:50%;background:rgba(99,102,241,.18);filter:blur(30px)}
.hero-grid,.shell{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;padding:92px 0}
.hero h1,.page-hero h1{font-size:clamp(2.8rem,6vw,5.8rem);line-height:.94;letter-spacing:-.06em;margin:18px 0;color:#fff}
.hero p,.page-hero p{color:rgba(255,255,255,.84);font-size:1.06rem;max-width:720px}.page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem)}
.page-panel,.hero-card,.glass{background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10)); border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(20px);border-radius:28px;padding:28px;box-shadow:var(--shadow-lg);color:#fff; position:relative; overflow:hidden}
.page-panel::after,.hero-card::after,.glass::after{content:""; position:absolute; inset:-30% auto auto -20%; width:220px; height:220px; background:radial-gradient(circle, rgba(255,255,255,.16), transparent 70%)}
.hero-stats{margin-top:34px;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px;max-width:760px}.stat,.mini-box{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);border-radius:20px;padding:18px; position:relative; overflow:hidden}.stat::before,.mini-box::before{content:""; position:absolute; inset:auto -25px -25px auto; width:90px; height:90px; background:radial-gradient(circle, rgba(255,255,255,.22), transparent 65%)}
.stat strong{display:block;color:#fff;font-size:1.6rem}.stat span{color:rgba(255,255,255,.76);font-size:14px}
.mini-grid,.grid-4,.grid-3,.grid-2,.grid-auto{display:grid;gap:22px}.mini-grid{grid-template-columns:1fr 1fr;margin-top:22px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:linear-gradient(180deg,var(--bg-soft), rgba(255,255,255,.55));border:1px solid var(--border);border-radius:24px;padding:26px;box-shadow:var(--shadow);backdrop-filter:blur(14px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative;overflow:hidden; isolation:isolate}
html[data-theme="dark"] .card{background:linear-gradient(180deg, rgba(15,23,42,.88), rgba(15,23,42,.72))}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:rgba(59,130,246,.28)}
.card::before{content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,255,255,.18), transparent 35%, transparent 65%, rgba(255,255,255,.08)); opacity:.5; z-index:-1}
.card::after{content:"";position:absolute;inset:auto -50px -50px auto;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg, rgba(59,130,246,.09), rgba(20,184,166,.10));opacity:.8}
.metric-card h3{font-size:2.25rem;margin:0 0 8px;color:var(--primary)}.metric-card p{margin:0;color:var(--muted);font-weight:700}
.feature-icon,.service-icon,.icon-chip{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg, rgba(29,78,216,.12), rgba(20,184,166,.16));color:var(--primary);font-size:22px;margin-bottom:16px; box-shadow: inset 0 1px 0 rgba(255,255,255,.45)}
.service-card,.project-card,.gallery-card,.blog-card{padding:0}.service-image,.blog-image,.project-media{height:220px;overflow:hidden}.service-image img,.blog-image img,.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.service-card:hover .service-image img,.project-card:hover .project-media img,.blog-card:hover .blog-image img{transform:scale(1.08)}.service-body,.blog-body{padding:24px}.service-link,.text-link{color:var(--primary);font-weight:800}
.content-card{background:linear-gradient(180deg,var(--bg-soft), rgba(255,255,255,.55))} html[data-theme="dark"] .content-card{background:linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.68))}
.feature-list,.contact-list,.timeline,.list-clean,.spec-list{display:grid;gap:14px}.list-clean{list-style:none;padding:0;margin:0}.spec-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); padding:0; list-style:none; margin:24px 0 0}
.feature-item,.contact-item,.timeline-item{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--border)}
.feature-item i,.timeline-item i,.contact-item i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg, rgba(59,130,246,.14), rgba(20,184,166,.16));color:var(--primary);flex:0 0 auto}
.project-media{position:relative;height:260px}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(2,6,23,.86), rgba(2,6,23,.08));display:flex;align-items:end;padding:22px}.project-overlay h4,.project-overlay p{margin:0;color:#fff}.project-overlay p{margin-top:6px;color:rgba(255,255,255,.78)}
.quote{font-size:1.06rem;font-weight:600}.stars{color:var(--gold);letter-spacing:2px}
.contact-panel{background:linear-gradient(135deg,var(--primary), #0f766e);color:#fff}.contact-panel p{color:rgba(255,255,255,.86)}.form-card form{display:grid;gap:14px}
.contact-panel .contact-item{background:rgba(255,255,255,.96);color:#0f172a;border-color:rgba(255,255,255,.32)}
.contact-panel .contact-item strong{color:#0f172a}
.contact-panel .contact-item a{color:#0b5fa5;font-weight:700}
.field{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:16px;padding:16px 18px;font:inherit;width:100%;outline:none}.field:focus{border-color:rgba(37,99,235,.35);box-shadow:0 0 0 4px rgba(37,99,235,.10)}textarea.field{min-height:160px;resize:vertical}
.cta-band{padding:36px;border-radius:30px;background:linear-gradient(135deg,var(--primary), #0f766e);color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.cta-band::after{content:""; position:absolute; inset:-30% auto auto -10%; width:260px; height:260px; background:radial-gradient(circle, rgba(255,255,255,.18), transparent 70%)}.cta-band p{color:rgba(255,255,255,.84)}
.footer{padding:38px 0 44px;border-top:1px solid var(--border);background:linear-gradient(180deg, transparent, rgba(15,23,42,.03))} html[data-theme="dark"] .footer{background:linear-gradient(180deg, transparent, rgba(255,255,255,.02))}
.footer-main{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px}.footer h3{margin-top:0;margin-bottom:14px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.footer a:hover{color:var(--primary)}.footer-bottom{padding-top:22px;margin-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;color:var(--muted)}
.socials{display:flex;gap:10px;flex-wrap:wrap}.socials a{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--bg-soft);border:1px solid var(--border);box-shadow:var(--shadow)}
.kicker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.kicker{padding:18px;border-radius:18px;background:var(--surface);border:1px solid var(--border)}.kicker strong{display:block;font-size:1.1rem;margin-bottom:6px}
.reveal{opacity:0;transform:translateY(24px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}
.page-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--secondary), var(--primary), var(--accent));z-index:1400;box-shadow:0 0 18px rgba(59,130,246,.45)}
.floating-whatsapp,.back-to-top{position:fixed;right:22px;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;z-index:1100;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(16px);transition:transform .25s ease, opacity .25s ease}
.floating-whatsapp{bottom:24px;background:linear-gradient(135deg,#25D366,#128C7E);color:#fff}.floating-whatsapp:hover,.back-to-top:hover{transform:translateY(-4px)}
.back-to-top{bottom:92px;background:rgba(2,6,23,.76);color:#fff;opacity:0;pointer-events:none}.back-to-top.show{opacity:1;pointer-events:auto}
.trust-strip{margin-top:26px;display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:12px;max-width:760px}.trust-pill{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);color:#fff;font-weight:700}.trust-pill span{display:block;color:rgba(255,255,255,.72);font-size:13px;font-weight:500}
.hero-orbit{position:absolute; right:3%; top:18%; width:180px; height:180px; border:1px dashed rgba(255,255,255,.22); border-radius:50%; z-index:0}
.hero-orbit::before,.hero-orbit::after{content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.22)} .hero-orbit::before{width:18px;height:18px; top:-8px; left:50%; transform:translateX(-50%)} .hero-orbit::after{width:14px;height:14px; bottom:18px; right:-7px}
.spec-card{padding:22px; border-radius:22px; background:var(--surface); border:1px solid var(--border)} .spec-card strong{display:block; font-size:1.1rem; margin-bottom:8px}
@media (max-width:1080px){.hero-grid,.shell,.grid-2,.grid-3,.grid-4,.footer-main{grid-template-columns:1fr 1fr}.hero-card,.page-panel{order:-1}.hero-orbit{display:none}}
@media (max-width:920px){ .nav-toggle{display:inline-grid;place-items:center} .nav{position:absolute;left:16px;right:16px;top:calc(100% + 10px);padding:14px;border-radius:22px;flex-direction:column;align-items:stretch;background:rgba(2,6,23,.94);border:1px solid rgba(255,255,255,.10);box-shadow:var(--shadow-lg);display:none} .nav.open{display:flex} .actions .header-cta{display:none} .hero-grid,.shell,.grid-2,.grid-3,.grid-4,.footer-main,.kicker-grid,.trust-strip{grid-template-columns:1fr} .hero{min-height:auto} .hero-stats{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .section{padding:72px 0}.container{width:min(100% - 20px,1200px)}.hero-grid,.shell{padding:56px 0} .hero h1,.page-hero h1{font-size:2.45rem}.hero-stats{grid-template-columns:1fr}.brand small{display:none}.brand span{font-size:.95rem} .icon-btn,.floating-whatsapp,.back-to-top{width:48px;height:48px;border-radius:16px} .back-to-top{bottom:82px; right:16px}.floating-whatsapp{right:16px;bottom:20px} }

.academy-strip{background:#087b56;color:#fff;font-size:14px;font-weight:700}
.academy-strip .container{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.academy-strip strong{font-weight:800}
.academy-platform{font-weight:800;white-space:nowrap}
.topbar{background:#0b5fa5;color:#fff;box-shadow:0 8px 24px rgba(11,95,165,.22);border-bottom:1px solid rgba(255,255,255,.12)}
.topbar-wrap{min-height:64px}
.brand-mark{width:58px;height:32px;border-radius:6px;background:#fff;box-shadow:none;padding:3px}
.brand-mark img{width:100%;height:100%;max-width:52px;max-height:26px;object-fit:contain;border-radius:0}
.brand-mark::after{display:none}
.brand>div:not(.brand-mark){display:none}
.nav{gap:26px}
.nav a{color:#fff;padding:8px 0;border-radius:0;font-size:15px}
.nav a:hover,.nav a.active{background:transparent;color:#b8f0d0}
.nav-toggle{color:#fff;border-color:rgba(255,255,255,.28)}
.actions .icon-btn{display:inline-grid;background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.24)}
.header-cta{border-radius:8px;padding:12px 22px;background:#0faa4f;box-shadow:none}
.header-cta i{display:none}
@media (max-width:920px){
  .academy-strip .container{min-height:auto;padding:10px 0;align-items:flex-start;flex-direction:column;gap:4px}
  .topbar-wrap{min-height:66px}
  .actions{margin-left:auto;gap:8px;order:2}
  .nav-toggle{order:3;flex:0 0 auto}
  .nav{top:calc(100% + 8px);gap:0;background:#0b5fa5;border-color:rgba(255,255,255,.16)}
  .nav a{color:#fff;padding:12px 14px}
  .actions .header-cta{display:inline-flex}
}
@media (max-width:640px){
  .academy-platform{white-space:normal}
  .brand-mark{width:54px;height:30px}
  .header-cta{display:none!important}
}
