:root{--navy:#100f4f;--navy-2:#08073d;--cyan:#00b8e8;--blue:#2f7cff;--lime:#c9ed18;--yellow:#f4c430;--ink:#182047;--muted:#66708b;--paper:#f5f7fb;--line:#dce4f0;--white:#fff;--radius:24px;--max:1280px;--shadow:0 22px 60px rgba(7,11,58,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),90%);margin:auto}.topbar{background:#fff;border-bottom:1px solid var(--line);height:82px;display:flex;align-items:center;position:sticky;top:0;z-index:20}.topbar .container{display:flex;align-items:center;gap:18px}.ep-logo{width:160px;max-height:42px;object-fit:contain;object-position:left}.brand-divider{width:1px;height:36px;background:var(--line)}.mission-logo{width:160px;height:48px;object-fit:contain;object-position:left}.nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:.88rem;font-weight:700}.nav a:hover{color:#0878d8}.language{border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:#fff;color:var(--ink);font-weight:800}.header-cta,.btn{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;font-weight:850;transition:.25s;white-space:nowrap}.header-cta{padding:11px 16px;background:var(--navy);color:#fff}.btn{padding:15px 22px;border:1px solid transparent;gap:9px}.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--blue));color:white}.btn-secondary{border-color:rgba(255,255,255,.42);color:white;background:rgba(255,255,255,.07)}.btn-dark{border-color:var(--navy);color:var(--navy)}.btn:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,100,230,.22)}.menu-btn{display:none;margin-left:auto;border:0;background:transparent;font-size:24px}.hero{min-height:700px;color:#fff;background:linear-gradient(90deg,rgba(8,7,61,.98) 0%,rgba(9,10,61,.90) 44%,rgba(8,10,56,.25) 100%),url('assets/visual/hero-smart-cities-night.png') center/cover;display:grid;align-items:center}.hero-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:50px;align-items:center}.eyebrow{color:var(--cyan);text-transform:uppercase;font-weight:900;letter-spacing:.14em;font-size:.78rem}.hero h1,.page-hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.96;letter-spacing:-.055em;margin:20px 0}.hero p{font-size:1.2rem;max-width:650px;color:#e5eaff}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.hero-note{font-size:.92rem!important;color:#cbd7ff!important}.hero-card{justify-self:end;background:rgba(5,6,44,.73);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:26px;padding:25px;width:min(360px,100%)}.hero-card p{font-size:1rem;margin:0 0 14px}.hero-card strong{font-size:2.4rem;display:block;color:var(--lime)}.hero-card span{color:#d8e2ff;font-size:.9rem}.partner-strip{background:#fff;padding:34px 0;border-bottom:1px solid var(--line)}.partner-strip .container{display:grid;grid-template-columns:190px 1fr;gap:40px;align-items:center}.partner-title{font-weight:800;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.partner-logos{display:flex;align-items:center;justify-content:space-between;gap:38px}.partner-logo{width:auto;max-width:190px;height:54px;object-fit:contain}.partner-logo.camara{max-width:230px}.partner-logo.scec{max-width:145px}.partner-logo.icities{max-width:145px}.section{padding:100px 0}.section-soft{background:var(--paper)}.section-dark{background:linear-gradient(135deg,var(--navy),#173a7a);color:#fff}.section-heading{max-width:790px;margin-bottom:48px}.section-heading h2{font-size:clamp(2.2rem,4.2vw,4.4rem);line-height:1;letter-spacing:-.05em;margin:12px 0}.section-heading p{font-size:1.1rem;color:var(--muted)}.section-dark .section-heading p{color:#d8e1ff}.proof-grid,.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.proof-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:29px}.proof-card .n,.step .n{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:900;color:#fff;background:linear-gradient(135deg,#14caeb,#6455ef);margin-bottom:18px}.proof-card h3{font-size:1.3rem;margin:0 0 10px}.media-split{display:grid;grid-template-columns:1.06fr .94fr;gap:68px;align-items:center}.media-split.reverse{grid-template-columns:.94fr 1.06fr}.media-image{width:100%;height:520px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.media-copy h2{font-size:clamp(2.2rem,3.8vw,4rem);line-height:1.03;letter-spacing:-.05em;margin:14px 0 20px}.media-copy p{font-size:1.06rem;color:#4b5670}.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.tag{border:1px solid rgba(0,184,232,.28);background:rgba(0,184,232,.08);color:var(--navy);padding:9px 13px;border-radius:999px;font-weight:800;font-size:.86rem}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.stat-row>div{background:rgba(10,10,69,.52);padding:24px}.stat-row strong{font-size:1.6rem;display:block;color:var(--lime)}.stat-row span{font-size:.86rem;color:#d8e2ff}.image-band{min-height:430px;display:grid;align-items:end;background:linear-gradient(90deg,rgba(8,7,61,.95),rgba(8,7,61,.20)),url('assets/visual/smart-cities-network-landscape.png') center/cover;color:#fff;padding:58px 0}.image-band h2{font-size:clamp(2.4rem,4vw,4rem);line-height:1;letter-spacing:-.05em;max-width:710px;margin:10px 0}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:22px;min-height:230px}.step h3{margin:0 0 8px;font-size:1.18rem}.step p{color:#d6def9;font-size:.92rem;margin:0}.method-visual{background:#0c0b4b;border-radius:30px;padding:22px;margin-top:45px}.method-visual img{width:100%}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.package{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 14px 38px rgba(7,11,58,.07)}.package.featured{background:var(--navy);border-color:var(--navy);color:#fff}.package .label{font-weight:900;font-size:.74rem;letter-spacing:.1em;color:#0b7ca4}.featured .label{color:var(--cyan)}.package h3{font-size:2.45rem;margin:10px 0}.package p{color:#59647d}.featured p{color:#d5e0ff}.package ul{padding-left:19px;line-height:1.75}.package .btn{margin-top:auto;align-self:start}.follow-up{margin-top:25px;border-radius:25px;border:1px solid var(--line);padding:29px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff}.follow-up h3{font-size:1.6rem;margin:0 0 5px}.page-hero{padding:100px 0 76px;color:#fff;background:linear-gradient(135deg,var(--navy),#16407f)}.page-hero p{color:#d6e1ff;max-width:720px;font-size:1.15rem}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.program-card{padding:34px;border-radius:25px;background:#fff;border:1px solid var(--line)}.program-card .place{font-size:.82rem;color:#007faa;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.program-card h2{font-size:2rem;margin:10px 0}.program-card ul{padding-left:20px;line-height:1.75}.expo-gallery{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.expo-gallery img{width:100%;height:330px;object-fit:cover;border-radius:24px}.expo-gallery .main{height:680px;grid-row:span 2}.logo-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.logo-wall div{height:100px;border:1px solid var(--line);background:#fff;border-radius:16px;display:grid;place-items:center;font-weight:800;color:#27304c;padding:10px;text-align:center}.faq details{background:#fff;border:1px solid var(--line);padding:20px 22px;border-radius:18px;margin-bottom:12px}.faq summary{font-weight:850;cursor:pointer}.final{padding:100px 0;background:linear-gradient(130deg,#f4f6fb 0%,#f4f6fb 52%,var(--navy) 52%)}.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.final h2{font-size:clamp(2.5rem,4.4vw,4.8rem);line-height:1;letter-spacing:-.055em;margin:0 0 28px}.final-panel{color:#fff;text-align:center}.final-panel img{width:280px;max-width:100%;margin:auto}.footer{background:#08073d;color:#cbd6f4;padding:30px 0;font-size:.9rem}.footer .container{display:flex;justify-content:space-between;gap:20px}.floating-method{position:fixed;right:24px;bottom:22px;z-index:18;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#20358b,#284bab);color:#fff;border:1px solid rgba(255,255,255,.22);padding:14px 17px;border-radius:22px;box-shadow:0 16px 38px rgba(7,9,63,.25);font-weight:800}.floating-method small{display:block;color:#35d8f4;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}.floating-method b{font-size:.9rem}.floating-arrow{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--cyan);color:#fff;font-size:1.25rem}.notice{border-left:4px solid var(--yellow);padding:12px 17px;background:rgba(244,196,48,.12);font-weight:650}.contact-card{background:#fff;border-radius:25px;padding:30px;box-shadow:var(--shadow)}.contact-card h3{font-size:1.6rem;margin:0 0 12px}.contact-card a{color:#075ece;text-decoration:underline;font-weight:800}
@media(max-width:1050px){.nav{display:none}.menu-btn{display:block}.header-cta{display:none}.hero-grid,.media-split,.media-split.reverse,.final-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:95px 0}.hero-card{justify-self:start}.steps{grid-template-columns:repeat(3,1fr)}.partner-strip .container{grid-template-columns:1fr}.partner-logos{justify-content:flex-start;flex-wrap:wrap}.proof-grid{grid-template-columns:1fr 1fr}.stat-row{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.topbar{height:72px}.ep-logo{width:120px}.mission-logo{width:126px}.brand-divider{height:28px}.section{padding:72px 0}.hero h1{font-size:3.35rem}.partner-logo{height:42px;max-width:140px}.proof-grid,.package-grid,.program-grid,.steps,.logo-wall{grid-template-columns:1fr}.media-image{height:330px}.image-band{min-height:350px}.stat-row{grid-template-columns:1fr 1fr}.expo-gallery{grid-template-columns:1fr}.expo-gallery .main,.expo-gallery img{height:300px;grid-row:auto}.final{background:#f4f6fb}.final-panel{background:var(--navy);border-radius:26px;padding:35px}.footer .container{display:block}.footer p{margin:0 0 10px}.floating-method{right:14px;bottom:14px;padding:10px 13px}.floating-method b{display:none}}
