/* EXXO CONSULTING — Light Corporate Theme */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,600&display=swap');
:root{
  --bg-white:#ffffff;--bg-light:#f5f7fa;--bg-soft:#eef1f6;--bg-dark:#0c1024;--bg-dark-soft:#131730;--bg-card-dark:#181d38;
  --text-dark:#0c1024;--text-body:#3d4255;--text-muted:#6e7490;--text-on-dark:#e8eaf3;--text-muted-dark:#8b90ab;
  --accent:#2855e0;--accent-light:#4d78f5;--accent-soft:rgba(40,85,224,0.07);--accent-border:rgba(40,85,224,0.18);
  --border-light:#e0e4ec;--border-dark:#222745;
  --card-white:#ffffff;--card-dark:#181d38;
  --shadow-sm:0 1px 4px rgba(12,16,36,0.05);--shadow-md:0 4px 20px rgba(12,16,36,0.07);--shadow-lg:0 12px 40px rgba(12,16,36,0.09);
  --font:Montserrat,sans-serif;
  --nav-height:72px;--container:1180px;
  --ease-out:cubic-bezier(0.16,1,0.3,1);--ease-elastic:cubic-bezier(0.34,1.56,0.64,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--bg-white);color:var(--text-body);line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit;transition:color .3s}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
/* === NAV === */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:1000;background:rgba(255,255,255,0.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);transition:box-shadow .4s}
.nav.scrolled{box-shadow:var(--shadow-sm)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.nav__logo img{height:30px;width:auto}
.nav__links{display:flex;gap:28px;align-items:center}
.nav__links a{font-size:.82rem;font-weight:600;color:var(--text-muted);padding:4px 0;position:relative;transition:color .3s}
.nav__links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .4s var(--ease-out)}
.nav__links a:hover,.nav__links a.active{color:var(--text-dark)}
.nav__links a:hover::after,.nav__links a.active::after{width:100%}
.nav__cta{background:var(--accent)!important;color:#fff!important;padding:10px 24px!important;border-radius:8px;font-weight:700!important;letter-spacing:.01em;transition:transform .3s var(--ease-elastic),background .3s!important}
.nav__cta:hover{background:var(--accent-light)!important;transform:translateY(-2px)}
.nav__cta::after{display:none!important}
.nav__hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1001;padding:8px}
.nav__hamburger span{width:24px;height:2px;background:var(--text-dark);transition:all .3s;transform-origin:center}
.nav__hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__hamburger.open span:nth-child(2){opacity:0}
.nav__hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav__mobile{display:none;position:fixed;inset:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(30px);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.nav__mobile.open{display:flex}
.nav__mobile a{font-size:1.3rem;font-weight:700;color:var(--text-dark);transition:color .3s}
.nav__mobile a:hover{color:var(--accent)}
/* === HERO === */
.hero{min-height:85vh;padding:120px 0 100px;background:var(--bg-white);display:flex;align-items:center}
.hero .container{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;max-width:var(--container)}
.hero__content{max-width:600px}
.hero__bg-img{display:flex;align-items:center;justify-content:center;position:relative}
.hero__bg-img img{width:100%;max-width:520px;height:auto;border-radius:16px;transition:all .6s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 10px 40px rgba(40,85,224,0.15)}
.hero__bg-img:hover img{transform:translateY(-8px) scale(1.03);box-shadow:0 20px 60px rgba(40,85,224,0.3)}
.hero__badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.hero__title{font-size:clamp(2.4rem,4.8vw,3.6rem);font-weight:800;line-height:1.12;margin-bottom:24px;color:var(--text-dark)}
.hero__title span{color:var(--accent)}
.hero__subtitle{font-size:1.05rem;color:var(--text-body);line-height:1.7;margin-bottom:36px;max-width:540px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
/* === BUTTONS === */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:.88rem;font-weight:700;padding:14px 28px;border-radius:10px;border:none;cursor:pointer;transition:all .3s var(--ease-elastic)}
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:var(--accent-light);transform:translateY(-3px);box-shadow:0 10px 28px rgba(40,85,224,0.22)}
.btn--outline{background:transparent;border:1.5px solid var(--border-light);color:var(--text-dark)}
.btn--outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}
.btn--outline-dark{background:transparent;border:1.5px solid var(--border-dark);color:var(--text-on-dark)}
.btn--outline-dark:hover{border-color:var(--accent-light);color:var(--accent-light);transform:translateY(-3px)}
.btn--ghost{background:transparent;color:var(--accent);padding:14px 4px;font-weight:700}
.btn--ghost:hover{color:var(--accent-light);transform:translateX(4px)}
/* === SECTIONS === */
.section{padding:100px 0;position:relative}
.section--white{background:var(--bg-white)}
.section--light{background:var(--bg-light)}
.section--dark{background:var(--bg-dark);color:var(--text-on-dark)}
.section--darker{background:var(--bg-dark-soft);color:var(--text-on-dark)}
.section__tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.section--dark .section__tag,.section--darker .section__tag{color:var(--accent-light)}
.section__title{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;color:var(--text-dark);line-height:1.2;margin-bottom:14px}
.section__title span{color:var(--accent)}
.section--dark .section__title,.section--darker .section__title{color:var(--text-on-dark)}
.section--dark .section__title span,.section--darker .section__title span{color:var(--accent-light)}
.section__subtitle{font-size:.98rem;color:var(--text-muted);max-width:580px;line-height:1.7}
.section--dark .section__subtitle,.section--darker .section__subtitle{color:var(--text-muted-dark)}
.section__header{margin-bottom:52px}
.section__header--center{text-align:center}
.section__header--center .section__subtitle{margin:0 auto}
/* === MISSION (split with team preview) === */
.mission{display:grid;grid-template-columns:1.2fr 0.8fr;gap:40px;align-items:stretch}
.mission__card{background:var(--bg-light);border:1px solid var(--border-light);border-radius:20px;padding:44px 36px;display:flex;flex-direction:column;justify-content:center}
.mission__preview{background:var(--accent);border-radius:20px;padding:36px 28px;color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center}
.mission__preview h3{font-size:1.25rem;font-weight:800;margin-bottom:16px;line-height:1.3;text-align:center}
.mission__preview h3 span{display:block;opacity:.85;font-weight:600}
.mission__preview-carousel{position:relative;width:258px;height:100px;overflow:hidden;margin:0 auto 20px;display:flex;align-items:center}
.carousel-track{display:flex;gap:16px;animation:scroll-carousel 12s linear infinite;will-change:transform}
.carousel-photo{min-width:70px;width:70px;height:70px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,0.5);background:rgba(255,255,255,0.1);flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.carousel-photo img{width:100%;height:100%;object-fit:cover;display:block}
.mission__preview-carousel:hover .carousel-track{animation-play-state:paused}
@keyframes scroll-carousel{0%{transform:translateX(0)}100%{transform:translateX(calc(-86px * 5))}}
/* === SERVICES (side by side) === */
.services-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service-card{background:var(--card-white);border:1px solid var(--border-light);border-radius:20px;padding:40px 32px;transition:all .4s var(--ease-out);overflow:hidden}
.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.service-card__tag{font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.service-card__title{font-size:clamp(1.15rem,2vw,1.4rem);font-weight:800;color:var(--text-dark);line-height:1.3;margin-bottom:16px}
.service-card__image{border-radius:14px;overflow:hidden;margin-bottom:20px;background:var(--bg-light)}
.service-card__image img{width:100%;height:200px;object-fit:cover}
.service-card__list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.service-card__list li{font-size:.86rem;color:var(--text-body);padding-left:28px;position:relative;line-height:1.5}
.service-card__list li::before{content:'';position:absolute;left:0;top:6px;width:18px;height:18px;background:var(--accent-soft);border-radius:6px;display:flex;align-items:center;justify-content:center}
.service-card__list li::after{content:'→';position:absolute;left:3px;top:4px;color:var(--accent);font-size:.7rem;font-weight:700}
/* === TEAM === */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}
.team-card{text-align:center;padding:24px 14px;border-radius:16px;background:var(--card-white);border:1px solid var(--border-light);transition:all .4s var(--ease-out)}
.team-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--accent-border)}
.team-card__photo{width:100px;height:100px;border-radius:50%;margin:0 auto 14px;overflow:hidden;border:3px solid var(--border-light);transition:border-color .4s;background:var(--bg-light)}
.team-card:hover .team-card__photo{border-color:var(--accent)}
.team-card__photo img{width:100%;height:100%;object-fit:cover}
.team-card__name{font-size:.88rem;font-weight:700;color:var(--text-dark);margin-bottom:2px}
.team-card__role{font-size:.72rem;color:var(--text-muted);margin-bottom:2px}
.team-card__spec{font-size:.7rem;color:var(--accent);font-style:italic;margin-bottom:10px}
.team-card__linkedin{display:inline-flex;width:30px;height:30px;border-radius:8px;background:var(--accent-soft);align-items:center;justify-content:center;transition:background .3s}
.team-card__linkedin:hover{background:var(--accent)}
.team-card__linkedin svg{width:14px;height:14px;fill:var(--accent)}
.team-card__linkedin:hover svg{fill:#fff}
/* === EXPERIENCE === */
.exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.exp-card{background:var(--card-white);border:1px solid var(--border-light);border-radius:14px;overflow:hidden;transition:all .4s var(--ease-out)}
.exp-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-border)}
.exp-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
/* === STATS === */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.stat{background:var(--card-white);border:1px solid var(--border-light);border-radius:16px;padding:40px 20px;transition:all .4s var(--ease-out)}
.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.stat__number{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;color:var(--accent);line-height:1;margin-bottom:8px}
.stat__label{font-size:.85rem;color:var(--text-muted);line-height:1.4}
/* === OBSERVATORIO (PowerBI embed) === */
.powerbi-wrap{margin-top:40px;border-radius:16px;overflow:hidden;border:1px solid var(--border-light);background:var(--bg-light)}
.powerbi-wrap iframe{width:100%;height:500px;border:none;display:block}
/* === CONTACT FORM === */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact-form{background:var(--card-white);border:1px solid var(--border-light);border-radius:20px;padding:40px 32px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.78rem;font-weight:600;color:var(--text-muted);margin-bottom:6px}
.form-group input,.form-group textarea{width:100%;padding:13px 16px;background:var(--bg-light);border:1px solid var(--border-light);border-radius:10px;color:var(--text-dark);font-family:var(--font);font-size:.88rem;outline:none;transition:border-color .3s}
.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}
.form-group textarea{resize:vertical;min-height:110px}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.5}
.contact-form .btn{width:100%;justify-content:center;padding:16px;margin-top:8px}
/* === FOOTER === */
.footer{padding:40px 0 20px;border-top:1px solid var(--border-light);background:var(--bg-white)}
.footer__grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:20px}
.footer__logo img{height:28px}
.footer__bottom{padding-top:16px;border-top:1px solid var(--border-light);text-align:center;font-size:.72rem;color:var(--text-muted);opacity:.6}
.footer__estudio{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:8px}
.footer__estudio span{font-size:.72rem;color:var(--text-muted);letter-spacing:.05em}
.footer__estudio a{display:inline-block;padding:8px 20px;border:1px solid var(--border-light);border-radius:6px;font-size:.78rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em;transition:all .3s}
.footer__estudio a:hover{border-color:var(--accent);color:var(--accent)}
/* === ANIMATIONS === */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.visible{opacity:1;transform:translateY(0)}
.stagger-children>*{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.stagger-children.visible>*:nth-child(1){transition-delay:.05s}.stagger-children.visible>*:nth-child(2){transition-delay:.1s}.stagger-children.visible>*:nth-child(3){transition-delay:.15s}.stagger-children.visible>*:nth-child(4){transition-delay:.2s}.stagger-children.visible>*:nth-child(5){transition-delay:.25s}.stagger-children.visible>*:nth-child(6){transition-delay:.3s}.stagger-children.visible>*:nth-child(7){transition-delay:.35s}
.stagger-children.visible>*{opacity:1;transform:translateY(0)}
/* === RESPONSIVE === */
@media(max-width:900px){.services-row{grid-template-columns:1fr}.mission{grid-template-columns:1fr}.hero .container{grid-template-columns:1fr;gap:40px;text-align:center}.hero__content{max-width:100%;margin:0 auto}.hero__bg-img{order:-1}.hero__actions{justify-content:center}}
@media(max-width:768px){:root{--nav-height:64px}.section{padding:64px 0}.nav__links{display:none}.nav__hamburger{display:flex}.contact-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.exp-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.footer__grid{flex-direction:column;text-align:center}}
@media(max-width:480px){.team-grid{grid-template-columns:1fr}.exp-grid{grid-template-columns:1fr}.service-card{padding:28px 20px}}