.elementor-kit-25{--e-global-color-primary:#0B2D4E;--e-global-color-secondary:#2E9BD6;--e-global-color-text:#12202E;--e-global-color-accent:#F2B705;--e-global-color-smgreen:#3F8F5C;--e-global-color-smcoral:#EF6C4D;--e-global-color-smslate:#4B5B68;--e-global-color-smpaper:#FBF9F4;--e-global-typography-primary-font-family:"Manrope";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Work Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-weight:700;}.elementor-kit-25 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Estilos de Séptimo Milenio (antes en el tema; ahora aquí para usar OceanWP) ===== */
/* --- Base (antes theme.css) --- */
/* ===== Séptimo Milenio — hoja de estilos base ===== */

:root {
  --navy: #0B2D4E;
  --navy2: #123A63;
  --navytint: #E4ECF4;
  --sky: #2E9BD6;
  --skytint: #E6F3FB;
  --green: #3F8F5C;
  --greentint: #E9F5EC;
  --yellow: #F2B705;
  --yellowtint: #FDF3D6;
  --coral: #EF6C4D;
  --coraltint: #FCE7E0;
  --ink: #12202E;
  --slate: #4B5B68;
  --paper: #FBF9F4;
  --line: #E3DFD3;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Work Sans', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button { font-family: inherit; cursor: pointer; }
::selection { background: var(--yellow); color: var(--ink); }
:focus-visible { outline: 2.5px solid var(--coral); outline-offset: 2px; }

/* ---------- micro-interactions ---------- */
.nav-link { position: relative; }
.nav-link:after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -6px;
  height: 2px; background: var(--coral);
  transform: scaleX(0); transition: transform .18s ease;
}
.nav-link:hover:after, .nav-link.active:after { transform: scaleX(1); }
.btn-primary { transition: transform .15s ease, box-shadow .15s ease; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11,45,78,0.22); }
.btn-outline { transition: background .15s ease, color .15s ease, border-color .15s ease; }
.card-hover { transition: transform .2s ease, box-shadow .2s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,45,78,0.14); }
.link-arrow svg { transition: transform .15s ease; }
.link-arrow:hover svg { transform: translateX(4px); }
.pill-btn { transition: background .15s ease, color .15s ease, border-color .15s ease; }

/* ---------- scroll reveal ---------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
  width: 100%;
  position: sticky; top: 0; z-index: 100;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  transition: box-shadow .2s ease;
}
.site-header.scrolled { box-shadow: 0 8px 24px rgba(11,45,78,0.08); }
.header-inner {
  max-width: 1440px; margin: 0 auto;
  height: 88px; padding: 0 var(--gutter, 64px);
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
}
.brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand img { height: 52px; width: 52px; object-fit: contain; border-radius: 12px; }
.brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.brand-name { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 800; color: var(--navy); letter-spacing: .01em; }
.brand-sub { font-family: 'Work Sans', sans-serif; font-size: 10px; font-weight: 500; color: var(--slate); letter-spacing: .04em; }

.main-nav { display: flex; align-items: center; gap: 32px; }
.main-nav > a, .main-nav > .nav-dropdown > .dropdown-toggle {
  font-family: 'Work Sans', sans-serif; font-size: 15px; font-weight: 500; color: var(--ink);
  background: none; border: none; padding: 6px 2px; display: flex; align-items: center; gap: 6px;
}
.nav-dropdown { position: relative; }
.dropdown-toggle svg { transition: transform .15s ease; }
.dropdown-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.dropdown-panel {
  position: absolute; top: 40px; left: -220px; width: 620px;
  background: #fff; border-radius: 18px; border: 1px solid var(--line);
  box-shadow: 0 24px 56px rgba(11,45,78,0.22);
  padding: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.dropdown-panel.open { opacity: 1; visibility: visible; transform: translateY(0); }
.proj-drop-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--ink); }
.proj-drop-item:hover { background: var(--paper); }
.proj-drop-item .icon-badge { width: 34px; height: 34px; border-radius: 9px; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.proj-drop-item .meta { display: flex; flex-direction: column; gap: 1px; }
.proj-drop-item .num { font-family: 'Work Sans', sans-serif; font-size: 11px; color: var(--slate); letter-spacing: .03em; }
.proj-drop-item .name { font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.2; }
.dropdown-panel .see-all {
  grid-column: 1 / -1; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 700; color: var(--coral);
}

.header-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--coral); color: #fff;
  font-family: 'Manrope', sans-serif; font-size: 14.5px; font-weight: 700;
  padding: 12px 22px; border-radius: 999px; flex-shrink: 0;
}

.hamburger {
  display: none; background: none; border: 1.5px solid var(--line); border-radius: 10px;
  width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--navy);
  flex-shrink: 0;
}
.hamburger .icon-close { display: none; }
.hamburger[aria-expanded="true"] .icon-menu { display: none; }
.hamburger[aria-expanded="true"] .icon-close { display: block; }

.mobile-nav {
  display: none;
  max-height: 0; overflow: hidden;
  background: #fff; border-bottom: 1px solid var(--line);
  transition: max-height .25s ease;
}
.mobile-nav.open { max-height: 640px; overflow-y: auto; }
.mobile-nav-inner { padding: 8px var(--gutter, 24px) 24px; display: flex; flex-direction: column; }
.mobile-nav a, .mobile-nav .m-accordion-toggle {
  font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 600; color: var(--ink);
  padding: 14px 4px; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between;
  background: none; border-left: none; border-right: none; border-top: none; text-align: left; width: 100%;
}
.m-accordion-toggle svg { transition: transform .15s ease; }
.m-accordion-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.m-submenu { max-height: 0; overflow: hidden; transition: max-height .2s ease; }
.m-submenu.open { max-height: 600px; }
.m-submenu a {
  font-size: 14px; font-weight: 500; padding: 11px 4px 11px 18px; border-bottom: none; color: var(--slate);
}
.mobile-nav .header-cta { margin-top: 18px; justify-content: center; }

@media (max-width: 1180px) {
  .main-nav { display: none; }
  .header-cta { display: none; }
  .hamburger { display: flex; }
  .mobile-nav { display: block; }
  .header-inner { height: 76px; }
  .brand img { height: 44px; width: 44px; }
}
@media (max-width: 900px) {
  .header-inner { padding: 0 22px; }
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer { width: 100%; background: var(--navy); position: relative; overflow: hidden; padding: 72px var(--gutter, 64px) 32px; }
.footer-grid { position: relative; display: grid; grid-template-columns: 1.3fr .9fr .9fr .9fr; gap: 40px; max-width: 1312px; margin: 0 auto; }
.footer-bottom { position: relative; max-width: 1312px; margin: 56px auto 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.14); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }

@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: 36px; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   RESPONSIVE — global layout rules for section content
   (sections/grids below are authored with inline styles; these
   rules intentionally use !important to override them at
   narrower breakpoints, the standard technique for retrofitting
   a fixed-width design without rewriting every inline style)
   ============================================================ */
@media (max-width: 1024px) {
  section[style] { padding-left: 32px !important; padding-right: 32px !important; }
  [style*="grid-template-columns: repeat(12"] { grid-template-columns: repeat(6, 1fr) !important; }
  [style*="grid-column: span 7"],
  [style*="grid-column: span 6"] { grid-column: span 6 !important; }
  [style*="grid-column: span 5"],
  [style*="grid-column: span 4"] { grid-column: span 3 !important; }
  [style*="grid-template-columns: repeat(6"] { grid-template-columns: repeat(3, 1fr) !important; }
  [style*="grid-template-columns: repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
  [style*="grid-template-columns: 1.3fr"] { grid-template-columns: 1fr 1fr !important; }
  [style*="columns: 4"] { columns: 3 !important; }
}
@media (max-width: 760px) {
  section[style] { padding-left: 22px !important; padding-right: 22px !important; }
  [style*="gap: 72px"], [style*="gap: 64px"], [style*="gap: 56px"] {
    flex-direction: column !important; align-items: stretch !important;
  }
  [style*="grid-template-columns: repeat(12"],
  [style*="grid-template-columns: repeat(6"],
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns: repeat(2"] { grid-template-columns: 1fr !important; }
  [style*="grid-column: span"] { grid-column: 1 / -1 !important; }
  [style*="columns: 4"] { columns: 1 !important; }
  [style*="width: 38%"], [style*="width: 42%"], [style*="width: 44%"] { width: 100% !important; }
  h1 { font-size: 34px !important; }
  h2:not([style*="font-size: 2"]) { font-size: 26px !important; }
}

/* ---------- impact hero ---------- */
.sm-hero { position: relative; min-height: calc(100vh - 80px); min-height: calc(100svh - 80px); display: flex; align-items: center; overflow: hidden; background: var(--navy); isolation: isolate; }
.sm-hero-bg { position: absolute; inset: -8% 0; background-size: cover; background-position: center; transform: translate3d(0,0,0) scale(1.06); will-change: transform; z-index: -3; animation: sm-kenburns 22s ease-out forwards; }
.sm-hero-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(100deg, rgba(8,28,48,0.94) 0%, rgba(8,28,48,0.78) 42%, rgba(8,28,48,0.25) 100%), linear-gradient(0deg, rgba(8,28,48,0.55) 0%, transparent 40%); }
.sm-hero-arcs { position: absolute; right: -120px; bottom: -40px; width: 760px; z-index: -1; fill: none; stroke-width: 22; stroke-linecap: round; opacity: .9; }
.sm-hero-arcs path { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: sm-draw 2.2s cubic-bezier(.65,0,.35,1) forwards; }
.sm-hero-arcs path:nth-child(2) { animation-delay: .15s; }
.sm-hero-arcs path:nth-child(3) { animation-delay: .3s; }
.sm-hero-arcs path:nth-child(4) { animation-delay: .45s; }
.sm-hero-inner { width: 100%; max-width: 1312px; margin: 0 auto; padding: 96px 64px 170px; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; }
.sm-hero-inner > * { opacity: 0; transform: translateY(26px); animation: sm-rise .9s cubic-bezier(.2,.7,.2,1) forwards; }
.sm-hero-inner > :nth-child(2) { animation-delay: .12s; }
.sm-hero-inner > :nth-child(3) { animation-delay: .24s; }
.sm-hero-inner > :nth-child(4) { animation-delay: .36s; }
.sm-hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px; border-radius: 999px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.22); backdrop-filter: blur(6px); color: #fff; font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.sm-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px rgba(242,183,5,0.25); }
.sm-hero-title { margin: 0; max-width: 900px; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(44px, 6.6vw, 96px); line-height: 1.02; letter-spacing: -.025em; color: #fff; }
.sm-hl { color: var(--yellow); background: linear-gradient(transparent 72%, rgba(239,108,77,0.55) 72%); padding: 0 .06em; }
.sm-hero-lead { margin: 0; max-width: 560px; font-family: 'Work Sans', sans-serif; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.65; color: rgba(255,255,255,0.86); }
.sm-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
.sm-btn { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 16px 30px; border-radius: 999px; font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 800; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; box-sizing: border-box; }
.sm-btn svg { width: 18px; height: 18px; transition: transform .2s ease; }
.sm-btn:hover { transform: translateY(-3px); }
.sm-btn:hover svg { transform: translateX(4px); }
.sm-btn-coral { background: var(--coral); color: #fff; box-shadow: 0 14px 30px rgba(239,108,77,0.4); }
.sm-btn-ghost { color: #fff; border: 1.5px solid rgba(255,255,255,0.6); background: rgba(255,255,255,0.06); }
.sm-btn-ghost:hover { background: #fff; color: var(--navy); }
.sm-hero-scroll { position: absolute; left: 50%; bottom: 96px; width: 28px; height: 46px; margin-left: -14px; border: 2px solid rgba(255,255,255,0.55); border-radius: 20px; }
.sm-hero-scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 9px; margin-left: -2px; border-radius: 2px; background: #fff; animation: sm-scroll 1.8s ease-in-out infinite; }

/* ---------- floating stats ---------- */
.sm-stats { position: relative; z-index: 3; padding: 0 64px; margin-top: -72px; }
.sm-stats-card { max-width: 1184px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: 26px; box-shadow: 0 30px 70px rgba(11,45,78,0.16); padding: 40px 16px; }
.sm-stat { display: flex; flex-direction: column; gap: 10px; padding: 0 32px; border-left: 1px solid var(--line); }
.sm-stat:first-child { border-left: 0; }
.sm-stat-num { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -.02em; }
.sm-stat-word { font-size: 44px; }
.sm-stat-label { font-family: 'Work Sans', sans-serif; font-size: 14.5px; color: var(--slate); }

/* ---------- marquee ---------- */
.sm-marquee { margin-top: 72px; background: var(--navy); overflow: hidden; padding: 22px 0; transform: rotate(-1.2deg) scale(1.02); }
.sm-marquee-track { display: inline-flex; align-items: center; gap: 34px; white-space: nowrap; animation: sm-marquee 38s linear infinite; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 26px; color: #fff; }
.sm-marquee-track i { font-style: normal; color: var(--yellow); font-size: 20px; }

@keyframes sm-kenburns { to { transform: translate3d(0,0,0) scale(1); } }
@keyframes sm-draw { to { stroke-dashoffset: 0; } }
@keyframes sm-rise { to { opacity: 1; transform: none; } }
@keyframes sm-scroll { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
@keyframes sm-marquee { to { transform: translateX(-50%); } }

@media (max-width: 900px) {
  .sm-hero-inner { padding: 72px 22px 150px; }
  .sm-hero-arcs { width: 440px; right: -160px; opacity: .55; }
  .sm-hero-overlay { background: linear-gradient(0deg, rgba(8,28,48,0.95) 10%, rgba(8,28,48,0.7) 100%); }
  .sm-stats { padding: 0 18px; }
  .sm-stats-card { grid-template-columns: repeat(2, 1fr); row-gap: 28px; padding: 30px 8px; }
  .sm-stat { padding: 0 18px; }
  .sm-stat:nth-child(3) { border-left: 0; }
  .sm-stat-num { font-size: 42px; }
  .sm-stat-word { font-size: 34px; }
  .sm-marquee-track { font-size: 19px; }
  .sm-hero-scroll { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sm-hero-bg, .sm-hero-arcs path, .sm-hero-inner > *, .sm-marquee-track, .sm-hero-scroll span { animation: none; opacity: 1; transform: none; stroke-dashoffset: 0; }
}
html, body { overflow-x: clip; }

/* ---------- inner page hero ---------- */
.sm-phero { position: relative; min-height: 560px; display: flex; align-items: flex-end; overflow: hidden; background: var(--navy); isolation: isolate; }
.sm-phero-bg { position: absolute; inset: -10% 0; background-size: cover; background-position: center; z-index: -3; transform: scale(1.06); animation: sm-kenburns 22s ease-out forwards; will-change: transform; }
.sm-phero-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(95deg, rgba(8,28,48,0.95) 0%, rgba(8,28,48,0.8) 45%, rgba(8,28,48,0.35) 100%), linear-gradient(0deg, rgba(8,28,48,0.6) 0%, transparent 50%); }
.sm-phero-arcs { width: 560px; right: -90px; bottom: -30px; opacity: .85; }
.sm-phero-inner { width: 100%; max-width: 1312px; margin: 0 auto; padding: 72px 64px 80px; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.sm-phero-inner > * { opacity: 0; transform: translateY(22px); animation: sm-rise .85s cubic-bezier(.2,.7,.2,1) forwards; }
.sm-phero-inner > :nth-child(2) { animation-delay: .08s; }
.sm-phero-inner > :nth-child(3) { animation-delay: .16s; }
.sm-phero-inner > :nth-child(4) { animation-delay: .24s; }
.sm-phero-inner > :nth-child(5) { animation-delay: .32s; }
.sm-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-family: 'Work Sans', sans-serif; font-size: 14px; color: rgba(255,255,255,0.6); }
.sm-crumbs a { color: rgba(255,255,255,0.78); text-decoration: none; }
.sm-crumbs a:hover { color: var(--yellow); }
.sm-crumb-current { color: #fff; font-weight: 600; }
.sm-phero-title { margin: 0; max-width: 860px; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(38px, 5vw, 72px); line-height: 1.05; letter-spacing: -.02em; color: #fff; }

@media (max-width: 900px) {
  .sm-phero { min-height: 480px; }
  .sm-phero-inner { padding: 56px 22px 60px; }
  .sm-phero-arcs { width: 340px; right: -130px; opacity: .5; }
  .sm-phero-overlay { background: linear-gradient(0deg, rgba(8,28,48,0.95) 15%, rgba(8,28,48,0.72) 100%); }
}
@media (prefers-reduced-motion: reduce) {
  .sm-phero-bg, .sm-phero-inner > * { animation: none; opacity: 1; transform: none; }
}

/* ---------- news ---------- */
.sm-btn-outline { color: var(--navy); border: 1.5px solid var(--navy); background: #fff; }
.sm-btn-outline:hover { background: var(--navy); color: #fff; }
.sm-news { padding: 88px 64px 110px; }
.sm-news-inner { max-width: 1312px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }
.sm-news-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; text-decoration: none; color: inherit; }
.sm-news-photo { position: relative; height: 210px; overflow: hidden; background: var(--navy); }
.sm-news-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.sm-news-card:hover .sm-news-photo img { transform: scale(1.06); }
.sm-news-body { padding: 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.sm-news-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-family: 'Work Sans', sans-serif; font-size: 13px; color: var(--slate); }
.sm-news-cat { font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--coral); background: var(--coraltint); padding: 5px 12px; border-radius: 999px; }
.sm-news-card h3 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 19px; font-weight: 800; line-height: 1.3; color: var(--navy); }
.sm-news-card p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 14.5px; line-height: 1.6; color: var(--slate); flex: 1; }
.sm-news-more { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 800; color: var(--coral); }
.sm-news-featured { flex-direction: row; min-height: 400px; }
.sm-news-featured .sm-news-photo { flex: 1.15; height: auto; }
.sm-news-featured .sm-news-body { flex: 1; padding: 48px; justify-content: center; gap: 16px; }
.sm-news-featured h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: clamp(26px, 2.6vw, 38px); font-weight: 800; line-height: 1.15; color: var(--navy); }
.sm-news-featured p { flex: 0; font-size: 16px; }
.sm-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.sm-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 16px; font-family: 'Manrope', sans-serif; font-weight: 700; }
.sm-pagination .page-numbers { padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line); color: var(--navy); text-decoration: none; background: #fff; }
.sm-pagination .page-numbers.current { background: var(--navy); color: #fff; border-color: var(--navy); }
.sm-news-empty { text-align: center; max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 56px 40px; background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 20px 50px rgba(11,45,78,0.06); }
.sm-news-empty svg { width: 52px; height: 52px; color: var(--coral); }
.sm-news-empty h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 28px; font-weight: 800; color: var(--navy); }
.sm-news-empty p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 16px; line-height: 1.65; color: var(--slate); }
.sm-news-empty-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
.sm-news-related { padding-top: 0; }
.sm-news-related-title { margin: 0; font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 800; color: var(--navy); }

/* ---------- single article ---------- */
.sm-article { max-width: 780px; margin: 0 auto; padding: 80px 24px 90px; }
.sm-article-content { font-family: 'Work Sans', sans-serif; font-size: 18px; line-height: 1.8; color: var(--ink); }
.sm-article-content h2, .sm-article-content h3 { font-family: 'Manrope', sans-serif; font-weight: 800; color: var(--navy); line-height: 1.25; margin: 1.8em 0 .6em; }
.sm-article-content h2 { font-size: 30px; }
.sm-article-content h3 { font-size: 23px; }
.sm-article-content p { margin: 0 0 1.3em; }
.sm-article-content a { color: var(--coral); }
.sm-article-content img { max-width: 100%; height: auto; border-radius: 20px; }
.sm-article-content blockquote { margin: 2em 0; padding: 8px 0 8px 28px; border-left: 4px solid var(--yellow); font-family: 'Manrope', sans-serif; font-size: 22px; font-weight: 700; color: var(--navy); }
.sm-article-footer { display: flex; gap: 14px; flex-wrap: wrap; justify-content: space-between; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--line); }

@media (max-width: 900px) {
  .sm-news { padding: 56px 18px 80px; }
  .sm-news-grid { grid-template-columns: 1fr; }
  .sm-news-featured { flex-direction: column; }
  .sm-news-featured .sm-news-photo { height: 240px; flex: none; }
  .sm-news-featured .sm-news-body { padding: 26px; }
  .sm-article { padding: 56px 20px 70px; }
  .sm-article-content { font-size: 17px; }
}
@media (min-width: 901px) and (max-width: 1150px) {
  .sm-news-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- whatsapp float ---------- */
.sm-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: inline-flex; align-items: center; gap: 10px; height: 58px; padding: 0 22px 0 16px; border-radius: 999px; background: #25D366; color: #fff; text-decoration: none; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 15px; box-shadow: 0 14px 34px rgba(18,140,74,0.4); transition: transform .2s ease, box-shadow .2s ease; animation: sm-wa-in .6s 1.2s cubic-bezier(.2,.7,.2,1) both; }
.sm-whatsapp svg { width: 28px; height: 28px; }
.sm-whatsapp:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(18,140,74,0.5); }
@keyframes sm-wa-in { from { opacity: 0; transform: translateY(20px) scale(.9); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) { .sm-whatsapp { right: 16px; bottom: 16px; padding: 0; width: 58px; justify-content: center; } .sm-whatsapp span { display: none; } }
@media (prefers-reduced-motion: reduce) { .sm-whatsapp { animation: none; } }

/* ---------- contact consent ---------- */
.sm-consent { display: flex; align-items: flex-start; gap: 10px; font-family: 'Work Sans', sans-serif; font-size: 13.5px; line-height: 1.5; color: var(--slate); cursor: pointer; }
.sm-consent input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--coral); flex-shrink: 0; }
.sm-consent a { color: var(--coral); text-decoration: underline; }
.sm-form-error { margin: 0; padding: 12px 16px; border-radius: 12px; background: var(--coraltint); color: #9A3412; font-family: 'Work Sans', sans-serif; font-size: 14px; font-weight: 600; }

/* ---------- support page ---------- */
.sm-support { padding: 90px 64px 40px; }
.sm-support-grid { max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.sm-support-card { background: #fff; border: 1px solid var(--line); border-radius: 26px; padding: 40px 34px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; box-shadow: 0 18px 44px rgba(11,45,78,0.06); transition: transform .25s ease, box-shadow .25s ease; }
.sm-support-card:hover { transform: translateY(-6px); box-shadow: 0 26px 56px rgba(11,45,78,0.12); }
.sm-support-card h2 { margin: 6px 0 0; font-family: 'Manrope', sans-serif; font-size: 28px; font-weight: 800; color: var(--navy); }
.sm-support-card p { margin: 0 0 8px; font-family: 'Work Sans', sans-serif; font-size: 15.5px; line-height: 1.65; color: var(--slate); flex: 1; }
.sm-support-icon { width: 60px; height: 60px; border-radius: 18px; display: flex; align-items: center; justify-content: center; }
.sm-support-icon svg { width: 28px; height: 28px; }
.sm-steps { padding: 70px 64px; }
.sm-steps-inner { max-width: 1312px; margin: 0 auto; background: var(--navy); border-radius: 32px; padding: 64px; display: flex; flex-direction: column; gap: 18px; position: relative; overflow: hidden; }
.sm-eyebrow-dark { width: fit-content; }
.sm-steps-title { margin: 0 0 20px; font-family: 'Manrope', sans-serif; font-size: clamp(28px, 3vw, 42px); font-weight: 800; color: #fff; }
.sm-steps-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.sm-steps-list li { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 22px; padding: 30px; display: flex; flex-direction: column; gap: 10px; }
.sm-steps-list span { width: 44px; height: 44px; border-radius: 50%; background: var(--yellow); color: var(--navy); font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 19px; display: flex; align-items: center; justify-content: center; }
.sm-steps-list h3 { margin: 8px 0 0; font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; color: #fff; }
.sm-steps-list p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,0.78); }
.sm-trust { padding: 30px 64px 110px; }
.sm-trust-inner { max-width: 1312px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; padding: 44px 52px; border-radius: 28px; background: var(--yellowtint); border: 1px solid #F3E1A8; }
.sm-trust h2 { margin: 0 0 8px; font-family: 'Manrope', sans-serif; font-size: 26px; font-weight: 800; color: var(--navy); }
.sm-trust p { margin: 0; max-width: 640px; font-family: 'Work Sans', sans-serif; font-size: 15.5px; line-height: 1.6; color: var(--slate); }
@media (max-width: 900px) {
  .sm-support, .sm-steps, .sm-trust { padding-left: 18px; padding-right: 18px; }
  .sm-support { padding-top: 56px; }
  .sm-support-grid, .sm-steps-list { grid-template-columns: 1fr; }
  .sm-steps-inner { padding: 40px 24px; }
  .sm-trust-inner { padding: 32px 26px; }
}

/* ---------- related lines ---------- */
.sm-related { padding-top: 0; }
.sm-related-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.sm-related-eyebrow { display: inline-block; margin-bottom: 12px; font-family: 'Manrope', sans-serif; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--coral); }

/* ---------- header on scroll ---------- */
.site-header { transition: box-shadow .25s ease, background .25s ease; }
.header-inner { transition: height .25s ease; }
.brand img { transition: height .25s ease, width .25s ease; }
.site-header.is-scrolled { background: rgba(255,255,255,0.88); backdrop-filter: saturate(1.6) blur(14px); -webkit-backdrop-filter: saturate(1.6) blur(14px); box-shadow: 0 10px 30px rgba(11,45,78,0.08); border-bottom-color: transparent; }
.site-header.is-scrolled .header-inner { height: 70px; }
.site-header.is-scrolled .brand img { height: 42px; width: 42px; }
.sm-progress { position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--coral), var(--yellow), var(--green), var(--sky)); pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .site-header, .header-inner, .brand img { transition: none; } }

/* ---------- project page closing band ---------- */
.sm-cta-band { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(120deg, var(--navy) 0%, #123A63 60%, #1B4E7E 100%); box-shadow: 0 30px 70px rgba(11,45,78,0.25); }
.sm-cta-band::after { content: ''; position: absolute; right: -90px; bottom: -150px; width: 420px; height: 420px; border-radius: 50%; z-index: -1; background: radial-gradient(circle, transparent 52%, rgba(239,108,77,0.55) 53%, rgba(239,108,77,0.55) 57%, transparent 58%, transparent 61%, rgba(242,183,5,0.55) 62%, rgba(242,183,5,0.55) 66%, transparent 67%, transparent 70%, rgba(63,143,92,0.55) 71%, rgba(63,143,92,0.55) 75%, transparent 76%); }
.sm-cta-band h3 { color: #fff !important; font-size: clamp(24px, 2.4vw, 32px) !important; }
.sm-cta-band p { color: rgba(255,255,255,0.8) !important; }
.sm-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; position: relative; z-index: 1; }
.sm-cta-band .btn-primary { background: var(--coral) !important; min-height: 52px; padding: 16px 30px !important; box-shadow: 0 14px 30px rgba(239,108,77,0.4); transition: transform .2s ease; }
.sm-cta-band .btn-primary:hover { transform: translateY(-3px); }
@media (max-width: 900px) { .sm-cta-band { padding: 36px 26px !important; } }

/* ---------- gallery lightbox ---------- */
.gallery-item { cursor: zoom-in; }
.gallery-item img { transition: transform .6s ease; }
.gallery-item:hover img, .gallery-item:focus-visible img { transform: scale(1.05); }
.gallery-item:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.sm-lb-open { overflow: hidden; }
.sm-lightbox { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 40px 90px; background: rgba(6,20,36,0.92); backdrop-filter: blur(6px); animation: sm-lb-in .25s ease; }
.sm-lightbox[hidden] { display: none; }
.sm-lb-figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 100%; max-height: 100%; }
.sm-lb-figure img { max-width: min(1200px, 100%); max-height: calc(100vh - 140px); object-fit: contain; border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,0.5); }
.sm-lb-figure figcaption { font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 700; color: rgba(255,255,255,0.85); letter-spacing: .04em; }
.sm-lb-close, .sm-lb-nav { position: absolute; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.08); color: #fff; border-radius: 50%; cursor: pointer; transition: background .2s ease; }
.sm-lb-close:hover, .sm-lb-nav:hover { background: rgba(255,255,255,0.2); }
.sm-lb-close { top: 22px; right: 22px; width: 48px; height: 48px; font-size: 30px; line-height: 1; }
.sm-lb-nav { top: 50%; width: 56px; height: 56px; margin-top: -28px; font-size: 38px; line-height: 1; }
.sm-lb-prev { left: 22px; }
.sm-lb-next { right: 22px; }
@keyframes sm-lb-in { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 700px) { .sm-lightbox { padding: 70px 12px; } .sm-lb-nav { top: auto; bottom: 18px; margin-top: 0; } .sm-lb-prev { left: calc(50% - 70px); } .sm-lb-next { right: calc(50% - 70px); } }

/* ---------- 404 ---------- */
.sm-404-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sm-404-link { display: flex; flex-direction: column; gap: 8px; padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 20px; text-decoration: none; }
.sm-404-link strong { font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800; color: var(--navy); }
.sm-404-link span { font-family: 'Work Sans', sans-serif; font-size: 14.5px; line-height: 1.55; color: var(--slate); }
@media (max-width: 900px) { .sm-404-links { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .sm-404-links { grid-template-columns: 1fr; } }

/* ---------- contact: visit us ---------- */
.sm-visit { padding: 0 64px 120px; }
.sm-visit-inner { max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: stretch; }
.sm-visit-info { display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.sm-visit-info h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: clamp(28px, 3vw, 38px); font-weight: 800; color: var(--navy); line-height: 1.15; }
.sm-visit-address { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 17px; line-height: 1.6; color: var(--ink); }
.sm-visit-list { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; font-family: 'Work Sans', sans-serif; font-size: 15px; color: var(--slate); }
.sm-visit-list a { color: var(--coral); }
.sm-map { position: relative; min-height: 380px; border-radius: 28px; overflow: hidden; background: linear-gradient(135deg, var(--navy), #1B4E7E); }
.sm-map::before { content: ''; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,0.8) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.8) 1px, transparent 1px); background-size: 46px 46px; }
.sm-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sm-map-load { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; border: 0; background: none; color: #fff; cursor: pointer; font-family: 'Manrope', sans-serif; }
.sm-map-load svg { width: 54px; height: 54px; padding: 14px; border-radius: 50%; background: var(--coral); box-shadow: 0 14px 30px rgba(239,108,77,0.45); transition: transform .2s ease; }
.sm-map-load:hover svg { transform: translateY(-4px); }
.sm-map-load span { font-size: 18px; font-weight: 800; }
.sm-map-load small { font-family: 'Work Sans', sans-serif; font-size: 13px; opacity: .75; }
@media (max-width: 900px) { .sm-visit { padding: 0 18px 80px; } .sm-visit-inner { grid-template-columns: 1fr; } .sm-map { min-height: 300px; } }

/* ---------- skip link ---------- */
.sm-skip { position: absolute; left: 16px; top: -60px; z-index: 200; padding: 12px 20px; border-radius: 12px; background: var(--navy); color: #fff; font-family: 'Manrope', sans-serif; font-weight: 800; text-decoration: none; transition: top .2s ease; }
.sm-skip:focus { top: 16px; outline: 3px solid var(--yellow); }
.site-footer { padding-bottom: 96px; }

/* ---------- footer v2 ---------- */
.sm-footer { padding: 88px 64px 32px; background: radial-gradient(1200px 500px at 85% 0%, #123A63 0%, var(--navy) 60%); color: rgba(255,255,255,0.8); }
.sm-footer-arcs { position: absolute; right: -140px; top: -170px; width: 560px; fill: none; stroke-width: 18; stroke-linecap: round; opacity: .14; pointer-events: none; }
.sm-footer-grid { position: relative; max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr 1fr 1.2fr 1fr; gap: 48px; }
.sm-footer-brand { display: flex; flex-direction: column; gap: 18px; max-width: 400px; }
.sm-footer-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; font-family: 'Manrope', sans-serif; font-size: 15px; font-weight: 600; line-height: 1.3; }
.sm-footer-logo strong { display: block; font-size: 19px; font-weight: 800; }
.sm-footer-logo-img { width: 64px; height: 64px; flex-shrink: 0; border-radius: 16px; background: #fff; padding: 6px; display: flex; box-shadow: 0 10px 24px rgba(0,0,0,0.25); }
.sm-footer-logo-img img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; }
.sm-footer-brand > p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.72); }
.sm-footer-contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sm-footer-contact li { display: flex; align-items: flex-start; gap: 10px; font-family: 'Work Sans', sans-serif; font-size: 14.5px; line-height: 1.5; }
.sm-footer-contact svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; fill: none; stroke: var(--yellow); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sm-footer-contact a { color: rgba(255,255,255,0.85); text-decoration: none; }
.sm-footer-contact a:hover { color: #fff; text-decoration: underline; }
.sm-footer-cta { width: fit-content; margin-top: 4px; }
.sm-footer-col { display: flex; flex-direction: column; gap: 10px; }
.sm-footer-col h2 { margin: 0 0 8px; font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--yellow); }
.sm-footer-col a { width: fit-content; font-family: 'Work Sans', sans-serif; font-size: 14.5px; color: rgba(255,255,255,0.78); text-decoration: none; transition: color .2s ease, transform .2s ease; }
.sm-footer-col a:hover { color: #fff; transform: translateX(3px); }
.sm-footer-bottom { position: relative; max-width: 1312px; margin: 64px auto 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.12); display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-family: 'Work Sans', sans-serif; font-size: 13px; color: rgba(255,255,255,0.55); }
.sm-footer-top { color: rgba(255,255,255,0.75); text-decoration: none; font-weight: 600; margin-right: 190px; }
.sm-footer-top:hover { color: #fff; }
@media (max-width: 1100px) { .sm-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
  .sm-footer { padding: 64px 20px 110px; }
  .sm-footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .sm-footer-top { margin-right: 0; }
}

/* ---------- Nosotros: trajectory ---------- */
.sm-track { padding: 100px 64px; }
.sm-track-inner { max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.15fr; gap: 72px; align-items: center; }
.sm-track-eyebrow { display: inline-block; font-family: 'Manrope', sans-serif; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--coral); background: var(--coraltint); padding: 8px 16px; border-radius: 999px; }
.sm-track-number { margin: 22px 0 0; font-family: 'Manrope', sans-serif; font-size: clamp(110px, 14vw, 190px); font-weight: 800; line-height: .9; letter-spacing: -.05em; background: linear-gradient(120deg, var(--coral) 0%, var(--yellow) 40%, var(--green) 70%, var(--sky) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sm-track-label { margin: 10px 0 18px; font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; color: var(--navy); }
.sm-track-years h2 { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--slate); }
.sm-track-list { list-style: none; margin: 0; padding: 0; position: relative; display: flex; flex-direction: column; gap: 22px; }
.sm-track-list::before { content: ''; position: absolute; left: 13px; top: 18px; bottom: 18px; width: 2px; background: linear-gradient(var(--coral), var(--yellow), var(--green)); opacity: .5; }
.sm-track-list li { position: relative; display: flex; gap: 22px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 24px 26px 24px 0; margin-left: 0; box-shadow: 0 14px 34px rgba(11,45,78,0.06); }
.sm-track-dot { position: relative; z-index: 1; flex-shrink: 0; width: 28px; height: 28px; margin-left: -1px; border-radius: 50%; border: 6px solid var(--paper); transform: translateX(-14px); }
.sm-track-list strong { display: block; margin-bottom: 4px; font-family: 'Manrope', sans-serif; font-size: 21px; font-weight: 800; color: var(--navy); }
.sm-track-list p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.6; color: var(--slate); }
@media (max-width: 900px) { .sm-track { padding: 72px 20px; } .sm-track-inner { grid-template-columns: 1fr; gap: 40px; } }

/* ---------- form polish ---------- */
#contactForm input:not([type="checkbox"]):not([type="hidden"]), #contactForm select, #contactForm textarea { transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; background: #fff; }
#contactForm input:not([type="checkbox"]):hover, #contactForm select:hover, #contactForm textarea:hover { border-color: #CFC8B8 !important; }
#contactForm input:not([type="checkbox"]):focus, #contactForm select:focus, #contactForm textarea:focus { border-color: var(--sky) !important; box-shadow: 0 0 0 4px rgba(46,155,214,0.16); outline: none; }
#contactForm button[type="submit"] { cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; box-shadow: 0 14px 30px rgba(239,108,77,0.35); }
#contactForm button[type="submit"]:hover { transform: translateY(-2px); }
a.card-hover { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
a.card-hover:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,45,78,0.1); }

/* ---------- global polish ---------- */
html { scroll-padding-top: 96px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
::selection { background: rgba(242,183,5,0.4); color: var(--navy); }
a:focus-visible, button:focus-visible, input[type="checkbox"]:focus-visible, select:focus-visible, .sm-btn:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; border-radius: 10px; }
img { max-width: 100%; }

/* ---------- Elementor widgets: contact card + topic cards ---------- */
.sm-ccard { display: flex; flex-direction: column; gap: 22px; }
.sm-ccard-box { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 16px; background: var(--navy); border-radius: 24px; padding: 34px; }
.sm-ccard-arcs { position: absolute; right: -50px; bottom: -80px; width: 320px; opacity: .18; fill: none; stroke: #fff; stroke-width: 12; stroke-linecap: round; pointer-events: none; }
.sm-ccard-name { position: relative; font-family: 'Manrope', sans-serif; font-size: 17px; font-weight: 800; color: #fff; line-height: 1.35; }
.sm-ccard-row { position: relative; display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,0.85); }
.sm-ccard-row svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--yellow); margin-top: 1px; }
.sm-ccard-row a { color: rgba(255,255,255,0.85); text-decoration: none; overflow-wrap: break-word; min-width: 0; }
.sm-ccard-row a:hover { color: #fff; text-decoration: underline; }
.sm-ccard-photo { height: 260px; border-radius: 24px; overflow: hidden; background: var(--green); }
.sm-ccard-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.sm-topics { background: var(--paper); border-radius: 28px; padding: 56px; }
.sm-topics-head { display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; margin-bottom: 36px; }
.sm-topics-head h2 { margin: 0; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); }
.sm-topics-head p { margin: 0; font-size: 15px; color: var(--slate); }
.sm-topics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.sm-topic { display: flex; flex-direction: column; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 24px 12px; text-align: center; text-decoration: none; }
.sm-topic-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--skytint); color: var(--sky); display: flex; align-items: center; justify-content: center; }
.sm-topic-icon svg { width: 21px; height: 21px; }
.sm-topic-label { font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; color: var(--ink); line-height: 1.3; }
@media (max-width: 760px) {
  .sm-topics { padding: 36px 20px; }
  .sm-topics-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- gallery (Elementor widget + classic pills) ---------- */
.gallery-pill.active { background: var(--navy) !important; color: #fff !important; border-color: var(--navy) !important; }
.gallery-pill:not(.active) { background: #fff !important; color: var(--ink) !important; border-color: var(--line) !important; }
.sm-gallery { padding: 0 64px 110px; }
.sm-gallery-inner { max-width: 1312px; margin: 0 auto; }
.sm-gallery-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.sm-gallery-pills .gallery-pill { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 700; padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--line); cursor: pointer; }
.sm-gallery-grid { columns: 4; column-gap: 20px; }
.sm-gallery-grid .gallery-item { break-inside: avoid; margin-bottom: 20px; position: relative; border-radius: 20px; overflow: hidden; background: var(--navy); }
.sm-gallery-grid .gallery-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.95) contrast(1.05); }
.sm-gallery-cap { position: absolute; left: 16px; bottom: 16px; display: flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; background: rgba(18,32,46,0.55); border: 1px solid rgba(255,255,255,0.35); font-size: 11px; letter-spacing: .03em; text-transform: uppercase; color: #fff; }
.sm-gallery-cap svg { width: 14px; height: 14px; display: block; flex-shrink: 0; }
.sm-gallery-cap span { font-family: 'Work Sans', sans-serif; }
/* same breakpoints as the classic gallery template */
@media (max-width: 1024px) { .sm-gallery { padding-left: 32px; padding-right: 32px; } .sm-gallery-grid { columns: 3; } }
@media (max-width: 760px) { .sm-gallery { padding-left: 22px; padding-right: 22px; } .sm-gallery-grid { columns: 1; } }

/* --- Ajustes para Elementor (antes elementor.css) --- */
/* Séptimo Milenio — design layer for pages built with Elementor.
   Layout and look come from these classes (set in each block's Advanced → CSS Classes);
   any style changed inside Elementor still wins over them. */

body .site-main { overflow-x: clip; }
body .site-main .e-con.smx { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
body.elementor-page-154 .site-main .elementor-widget .elementor-heading-title { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; margin: 0; }
body.elementor-page-154 .site-main .elementor-widget-text-editor p { margin: 0; }
body.elementor-page-154 .site-main .elementor-widget-text-editor p + p { margin-top: 1em; }
body.elementor-page-154 .site-main .elementor-widget:not(.elementor-widget-heading) { font-family: 'Work Sans', sans-serif; }

body .site-main /* ---------- shared pieces ---------- */
.smx-wrap { width: 100%; max-width: 1312px; margin: 0 auto; }
body .site-main .smx-section.e-con { padding: 110px 64px; position: relative; overflow: hidden; }
body .site-main .smx-eyebrow { display: inline-flex; width: fit-content; max-width: 100%; font-family: 'Manrope', sans-serif; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 8px 16px; border-radius: 999px; background: var(--coraltint); color: var(--coral); }
body .site-main .smx-eyebrow-navy { background: var(--navytint); color: var(--navy); }
body .site-main .smx-eyebrow-green { background: var(--greentint); color: var(--green); }
body .site-main .smx-eyebrow-yellow { background: rgba(242,183,5,0.16); color: var(--yellow); }
body .site-main .smx-h2 { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(28px, 3vw, 38px); line-height: 1.18; color: var(--navy); }
body .site-main .smx-text { font-size: 16.5px; line-height: 1.75; color: var(--slate); }
body .site-main .smx-on-dark .smx-h2, body .site-main .smx-on-dark.smx-h2 { color: #fff; }
body .site-main .smx-on-dark .smx-text, body .site-main .smx-on-dark.smx-text { color: rgba(255,255,255,0.8); }

body .site-main .smx-btn .elementor-button { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 16px 30px; border-radius: 999px; font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 800; line-height: 1.2; background: var(--coral); color: #fff; border: 1.5px solid transparent; box-shadow: 0 14px 30px rgba(239,108,77,0.35); transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
body .site-main .smx-btn .elementor-button:hover { transform: translateY(-3px); }
body .site-main .smx-btn-ghost .elementor-button { background: rgba(255,255,255,0.06); color: #fff; border-color: rgba(255,255,255,0.6); box-shadow: none; }
body .site-main .smx-btn-ghost .elementor-button:hover { background: #fff; color: var(--navy); }
body .site-main .smx-btn-outline .elementor-button { background: #fff; color: var(--navy); border-color: var(--navy); box-shadow: none; }
body .site-main .smx-btn-outline .elementor-button:hover { background: var(--navy); color: #fff; }
body .site-main .smx-btn-navy .elementor-button { background: var(--navy); box-shadow: 0 14px 30px rgba(11,45,78,0.3); }
body .site-main .smx-link .elementor-button { padding: 0; min-height: 0; background: none; border: 0; box-shadow: none; color: var(--coral); font-family: 'Manrope', sans-serif; font-size: 14.5px; font-weight: 800; }
body .site-main .smx-link-yellow .elementor-button { color: var(--yellow); }
body .site-main .smx-link .elementor-button:hover { transform: translateX(4px); }

body .site-main .smx-arcs { position: absolute !important; pointer-events: none; z-index: 0; }
body .site-main .smx-arcs svg { display: block; width: 100%; height: auto; fill: none; stroke-linecap: round; }

body .site-main /* ---------- hero ---------- */
.smx-hero.e-con { min-height: calc(100svh - 80px); justify-content: center; padding: 96px 64px 170px; background-color: var(--navy); position: relative; overflow: hidden; isolation: isolate; }
body .site-main .smx-hero > .elementor-background-slideshow { z-index: -2; }
body .site-main .smx-hero .smx-arcs { right: -120px; bottom: -40px; width: 760px; z-index: -1; opacity: .9; }
body .site-main .smx-hero .smx-arcs path { stroke-width: 22; stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: sm-draw 2.2s cubic-bezier(.65,0,.35,1) forwards; }
body .site-main .smx-hero .smx-arcs path:nth-child(2) { animation-delay: .15s; }
body .site-main .smx-hero .smx-arcs path:nth-child(3) { animation-delay: .3s; }
body .site-main .smx-hero .smx-arcs path:nth-child(4) { animation-delay: .45s; }
body .site-main .smx-hero-inner.e-con { width: 100%; max-width: 1312px; margin: 0 auto; align-items: flex-start; gap: 28px; }
body .site-main .smx-hero-inner > .elementor-element { opacity: 0; transform: translateY(26px); animation: sm-rise .9s cubic-bezier(.2,.7,.2,1) forwards; }
body .site-main .smx-hero-inner > .elementor-element:nth-child(2) { animation-delay: .12s; }
body .site-main .smx-hero-inner > .elementor-element:nth-child(3) { animation-delay: .24s; }
body .site-main .smx-hero-inner > .elementor-element:nth-child(4) { animation-delay: .36s; }
body.elementor-editor-active .site-main .smx-hero-inner > .elementor-element { opacity: 1; transform: none; animation: none; }
body .site-main .smx-hero-eyebrow { display: inline-flex; width: fit-content; padding: 9px 18px 9px 34px; border-radius: 999px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.22); color: #fff; font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .04em; position: relative; }
body .site-main .smx-hero-eyebrow::before { content: ''; position: absolute; left: 16px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px rgba(242,183,5,0.25); }
body .site-main .smx-hero-title { max-width: 900px; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(44px, 6.6vw, 96px); line-height: 1.02; letter-spacing: -.025em; color: #fff; }
body .site-main .smx-hero-title .sm-hl, body .site-main .smx-hero-title strong, body .site-main .smx-hero-title em { font-style: normal; font-weight: inherit; color: var(--yellow); background: linear-gradient(transparent 72%, rgba(239,108,77,0.55) 72%); padding: 0 .06em; }
body .site-main .smx-hero-lead { max-width: 560px; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.65; color: rgba(255,255,255,0.86); }
body .site-main .smx-actions.e-con { flex-direction: row; flex-wrap: wrap; gap: 16px; }
body .site-main .smx-actions.e-con > .elementor-widget { width: auto; }

body .site-main /* ---------- stats ---------- */
.smx-stats.e-con { padding: 0 64px; margin-top: -72px; z-index: 3; position: relative; overflow: visible; }
body .site-main .smx-stats-card.e-con { max-width: 1184px; width: 100%; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: 26px; box-shadow: 0 30px 70px rgba(11,45,78,0.16); padding: 40px 16px; }
body .site-main .smx-stat { padding: 0 32px; border-left: 1px solid var(--line); }
body .site-main .smx-stat:first-child { border-left: 0; }
body .site-main .smx-stat .elementor-counter { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 10px; }
body .site-main .smx-stat .elementor-counter-number-wrapper { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -.02em; color: var(--navy); }
body .site-main .smx-stat .elementor-counter-title { font-family: 'Work Sans', sans-serif; font-size: 14.5px; font-weight: 400; line-height: 1.4; color: var(--slate); text-align: left; }
body .site-main .smx-stat-coral .elementor-counter-number-wrapper { color: var(--coral); }
body .site-main .smx-stat-green .elementor-counter-number-wrapper { color: var(--green); }
body .site-main .smx-stat-word { display: flex; flex-direction: column; gap: 10px; }
body .site-main .smx-stat-word .smx-stat-big { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 44px; line-height: 1.1; color: var(--sky); }
body .site-main .smx-stat-word .smx-stat-small { font-size: 14.5px; color: var(--slate); }

body .site-main /* ---------- marquee ---------- */
.smx-marquee-block { margin-top: 72px; }

body .site-main /* ---------- two columns ---------- */
.smx-cols.e-con { flex-direction: row; align-items: center; gap: 72px; }
body .site-main .smx-cols > .e-con { flex: 1 1 0; }
body .site-main .smx-col.e-con { align-items: flex-start; gap: 22px; }
body .site-main .smx-chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 12px; }
body .site-main .smx-chips .elementor-icon-list-item { margin: 0 !important; padding: 10px 16px; border-radius: 999px; background: var(--greentint); font-size: 13.5px; font-weight: 500; color: var(--ink); }
body .site-main .smx-chips .elementor-icon-list-item::after { display: none; }
body .site-main .smx-chips .elementor-icon-list-icon i, body .site-main .smx-chips .elementor-icon-list-icon svg { color: var(--green); fill: var(--green); }
body .site-main .smx-chips-white .elementor-icon-list-item { background: #fff; border: 1px solid var(--line); padding: 12px 20px; }
body .site-main .smx-chips-white .elementor-icon-list-icon i, body .site-main .smx-chips-white .elementor-icon-list-icon svg { color: var(--sky); fill: var(--sky); }
body .site-main .smx-center .elementor-icon-list-items { justify-content: center; }
body .site-main .smx-photo.e-con { position: relative; overflow: visible; }
body .site-main .smx-img img { width: 100%; height: 480px; object-fit: cover; border-radius: 28px; display: block; filter: saturate(0.95) contrast(1.05); }
body .site-main .smx-img-380 img { height: 380px; }
body .site-main .smx-float { position: absolute !important; z-index: 2; width: auto !important; max-width: 320px; background: #fff; border-radius: 14px; padding: 12px 18px; box-shadow: 0 16px 34px rgba(11,45,78,0.16); font-size: 13.5px; font-weight: 600; color: var(--ink); }
body .site-main .smx-float-bl { left: 22px; bottom: -22px; }
body .site-main .smx-float-tr { right: 22px; top: -18px; background: var(--navy); color: #fff; font-size: 12.5px; }
body .site-main .smx-float p { margin: 0; }

body .site-main /* ---------- projects grid ---------- */
.smx-head.e-con { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 48px; flex-wrap: wrap; }
body .site-main .smx-head-text.e-con { max-width: 640px; gap: 18px; }
body .site-main .smx-grid.e-con { display: grid; grid-template-columns: repeat(12, 1fr); gap: 28px; }
body .site-main .smx-span-12 { grid-column: span 12; }
body .site-main .smx-span-7 { grid-column: span 7; }
body .site-main .smx-span-6 { grid-column: span 6; }
body .site-main .smx-span-5 { grid-column: span 5; }
body .site-main .smx-span-4 { grid-column: span 4; }
body .site-main .smx-card.e-con { border-radius: 24px; overflow: hidden; position: relative; transition: transform .25s ease, box-shadow .25s ease; }
body .site-main .smx-card.e-con:hover { transform: translateY(-6px); box-shadow: 0 26px 56px rgba(11,45,78,0.16); }
body .site-main .smx-card-overlay.e-con { min-height: 420px; justify-content: flex-end; padding: 26px; background-color: var(--navy); }
body .site-main .smx-card-overlay.smx-span-12.e-con { min-height: 360px; }
body .site-main .smx-card-num { font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 800; color: rgba(255,255,255,0.85); position: absolute !important; top: 26px; right: 26px; width: auto !important; }
body .site-main .smx-card-box.e-con { background: rgba(11,32,54,0.72); backdrop-filter: blur(3px); border-radius: 16px; padding: 22px 24px; gap: 8px; max-width: 640px; }
body .site-main .smx-card-title { font-family: 'Manrope', sans-serif; font-size: 22px; font-weight: 800; line-height: 1.2; color: #fff; }
body .site-main .smx-card-text { font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,0.86); }
body .site-main .smx-card-plain.e-con { background: #fff; border: 1px solid var(--line); }
body .site-main .smx-card-plain .smx-img img { height: 190px; border-radius: 0; }
body .site-main .smx-card-body.e-con { padding: 22px; gap: 8px; flex: 1; }
body .site-main .smx-card-plain .smx-card-num { position: static !important; color: var(--slate); }
body .site-main .smx-card-plain .smx-card-title { font-size: 17px; color: var(--navy); }
body .site-main .smx-card-plain .smx-card-text { color: var(--slate); }

body .site-main /* ---------- colored sections ---------- */
.smx-navy.e-con { background-color: var(--navy); }
body .site-main .smx-coral.e-con { background-color: var(--coral); }
body .site-main .smx-white.e-con { background-color: #fff; }
body .site-main .smx-centered.e-con { align-items: center; text-align: center; gap: 18px; }
body .site-main .smx-centered .smx-text { max-width: 700px; }
body .site-main .smx-cta-title { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; color: #fff; max-width: 680px; }
body .site-main .smx-cta-text { font-size: 17px; line-height: 1.7; color: rgba(255,255,255,0.92); max-width: 560px; }
body .site-main .smx-navy .smx-arcs { left: -100px; bottom: -160px; width: 520px; opacity: .18; }
body .site-main .smx-coral .smx-arcs { right: -120px; top: -160px; width: 560px; opacity: .22; }
body .site-main .smx-navy .smx-arcs path, body .site-main .smx-coral .smx-arcs path { stroke-width: 18; }
body .site-main .smx-section > .e-con:not(.smx-arcs), body .site-main .smx-section > .elementor-widget:not(.smx-arcs) { position: relative; z-index: 1; }

@media (max-width: 1024px) {
  body .site-main .smx-span-7, body .site-main .smx-span-5, body .site-main .smx-span-6 { grid-column: span 12; }
  body .site-main .smx-span-4 { grid-column: span 6; }
}
@media (max-width: 900px) {
  body .site-main .smx-section.e-con { padding: 72px 20px; }
  body .site-main .smx-hero.e-con { padding: 72px 22px 150px; }
  body .site-main .smx-hero .smx-arcs { width: 440px; right: -160px; opacity: .55; }
  body .site-main .smx-stats.e-con { padding: 0 18px; }
  body .site-main .smx-stats-card.e-con { grid-template-columns: repeat(2, 1fr); row-gap: 28px; padding: 30px 8px; }
  body .site-main .smx-stat { padding: 0 18px; }
  body .site-main .smx-stat:nth-child(3) { border-left: 0; }
  body .site-main .smx-stat .elementor-counter-number-wrapper { font-size: 42px; }
  body .site-main .smx-stat-word .smx-stat-big { font-size: 34px; }
  body .site-main .smx-cols.e-con { flex-direction: column; gap: 44px; }
  body .site-main .smx-cols > .e-con { width: 100%; }
  body .site-main .smx-img img { height: 300px; }
  body .site-main .smx-span-4 { grid-column: span 12; }
  body .site-main .smx-card-overlay.e-con { min-height: 380px; padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body .site-main .smx-hero .smx-arcs path, body .site-main .smx-hero-inner > .elementor-element { animation: none; opacity: 1; transform: none; stroke-dashoffset: 0; }
}

/* text measure: applied to the inner element because Elementor forces widget wrappers to 100% */
body .site-main .smx-hero-title .elementor-heading-title { max-width: 900px; }
body .site-main .smx-hero-lead p { max-width: 560px; }
body .site-main .smx-cta-title .elementor-heading-title { max-width: 680px; margin: 0 auto; }
body .site-main .smx-cta-text p { max-width: 560px; margin-left: auto; margin-right: auto; }
body .site-main .smx-centered .smx-text p { max-width: 700px; margin-left: auto; margin-right: auto; }
body .site-main .smx-centered .smx-h2 .elementor-heading-title { max-width: 760px; margin: 0 auto; }
body .site-main .smx-hero-lead, body .site-main .smx-hero-title, body .site-main .smx-cta-title, body .site-main .smx-cta-text { max-width: none; }
body .site-main .smx-chips .elementor-icon-list-text { color: var(--ink); font-family: 'Work Sans', sans-serif; font-size: 13.5px; font-weight: 500; padding-left: 8px; }

/* ---------- inner pages: generic two-column band ---------- */
body .site-main .smx-band.e-con { padding: 0 64px 100px; }
body .site-main .smx-band-last.e-con { padding-bottom: 120px; }
body .site-main .smx-hero-widget + .smx-band.e-con, body .site-main .smx-band-first.e-con { padding-top: 90px; }
body .site-main .smx-split.e-con { display: flex; flex-direction: row; gap: 56px; align-items: flex-start; }
body .site-main .smx-split > .smx-side { flex: 0 0 38%; max-width: 38%; }
body .site-main .smx-split > .smx-main { flex: 1 1 0; min-width: 0; }
body .site-main .smx-card-white.e-con { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 40px; gap: 22px; }
body .site-main .smx-form-title { font-family: 'Manrope', sans-serif; font-size: 22px; font-weight: 800; color: var(--navy); }
body .site-main .smx-hero-widget.e-con, body .site-main .smx-visit-widget.e-con { padding: 0; }
body .site-main .smx-visit-widget .sm-visit { padding-top: 0; }

/* ---------- Elementor Pro form in the brand style ---------- */
body .site-main .smx-form .elementor-form-fields-wrapper { row-gap: 18px; }
body .site-main .smx-form .elementor-field-group { margin-bottom: 0; }
body .site-main .smx-form .elementor-field-label { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 700; color: var(--navy); margin-bottom: 7px; }
body .site-main .smx-form .elementor-field-textual, body .site-main .smx-form .elementor-select-wrapper select {
  width: 100%; box-sizing: border-box; min-height: 50px; border: 1.5px solid var(--line); border-radius: 12px; padding: 13px 16px;
  font-family: 'Work Sans', sans-serif; font-size: 14.5px; color: var(--ink); background: #fff; transition: border-color .2s ease, box-shadow .2s ease;
}
body .site-main .smx-form textarea.elementor-field-textual { min-height: 140px; resize: vertical; }
body .site-main .smx-form .elementor-field-textual:focus, body .site-main .smx-form select:focus { border-color: var(--sky); box-shadow: 0 0 0 4px rgba(46,155,214,0.15); outline: none; }
body .site-main .smx-form .elementor-field-textual::placeholder { color: #8a97a2; }
body .site-main .smx-form .elementor-field-type-acceptance { font-size: 13.5px; color: var(--slate); line-height: 1.5; }
body .site-main .smx-form .elementor-field-type-acceptance a { color: var(--navy); font-weight: 600; }
body .site-main .smx-form .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; }
body .site-main .smx-form .elementor-field-option input { margin-top: 3px; width: 17px; height: 17px; accent-color: var(--coral); flex-shrink: 0; }
body .site-main .smx-form .elementor-mark-required .elementor-field-label::after { color: var(--coral); }
body .site-main .smx-form .e-form__buttons { margin-top: 6px; }
body .site-main .smx-form .elementor-button[type="submit"] {
  width: auto; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 15px 30px; border-radius: 999px; border: 0;
  background: var(--coral); color: #fff; font-family: 'Manrope', sans-serif; font-size: 15px; font-weight: 800; box-shadow: 0 14px 30px rgba(239,108,77,0.3);
  transition: transform .2s ease, box-shadow .2s ease;
}
body .site-main .smx-form .elementor-button[type="submit"]:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(239,108,77,0.4); }
body .site-main .smx-form .elementor-message { margin-top: 16px; padding: 14px 18px; border-radius: 12px; font-size: 14.5px; }
body .site-main .smx-form .elementor-message-success { background: var(--greentint); color: var(--green); }
body .site-main .smx-form .elementor-message-danger, body .site-main .smx-form .elementor-error .elementor-message { background: var(--coraltint); color: #b43d22; }
body .site-main .smx-form .elementor-field-group.elementor-error .elementor-field-textual { border-color: var(--coral); }

@media (max-width: 980px) {
  body .site-main .smx-split.e-con { flex-direction: column; gap: 32px; }
  body .site-main .smx-split > .smx-side { flex-basis: auto; max-width: 100%; width: 100%; }
}
@media (max-width: 760px) {
  body .site-main .smx-band.e-con { padding: 0 16px 64px; }
  body .site-main .smx-hero-widget + .smx-band.e-con, body .site-main .smx-band-first.e-con { padding-top: 56px; }
  body .site-main .smx-card-white.e-con { padding: 26px 20px; }
  body .site-main .smx-form-title .elementor-heading-title { font-size: 21px !important; }
}

/* ---------- theme sections rendered as widgets ---------- */
body .site-main .smx-secwrap > .elementor-widget, body .site-main .smx-hero-widget > .elementor-widget { width: 100%; }
body.elementor-editor-active .reveal { opacity: 1; transform: none; }

/* ---------- Theme Builder header/footer: let the theme markup behave as if unwrapped ---------- */

.elementor-location-footer .smx-chrome.e-con, .elementor-location-header .smx-chrome.e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; padding: 0; }
.elementor-location-footer .smx-chrome > .elementor-widget, .elementor-location-header .smx-chrome > .elementor-widget { width: 100%; }

/* ---------- pages converted to native Elementor (class smx-n, see inc/html-to-elementor.php) ----------
   Elementor's container/widget defaults are driven by CSS variables: reset them so the theme
   classes and each element's Custom CSS decide the layout, exactly as the original markup did. */
.smx-n.e-con {
  --display: block; --flex-direction: row; --flex-wrap: nowrap; --justify-content: normal; --align-items: normal; --align-content: normal;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px;
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --width: auto; --min-height: 0; --height: auto; --position: static; --overflow: visible; --z-index: auto; --border-radius: 0;
  --flex-grow: 0; --flex-shrink: 1; --flex-basis: auto;
  --container-widget-width: auto; --container-widget-flex-grow: 0;
  min-width: auto; transition: none;
}
.smx-n.elementor-widget { --kit-widget-spacing: 0px; position: static; }
.smx-n .elementor-heading-title:is(h1, h2, h3, h4, h5, h6, p, span, div) { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; margin: 0; }
.smx-n .elementor-heading-title a { color: inherit; }
body:not(.elementor-editor-active) .smx-n.smx-h { display: contents; }
.smx-n.smx-img img { border-radius: inherit; }

/* --- Contenido convertido a Elementor (antes theme-native.css) --- */
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) * { box-sizing: border-box; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) img { max-width: 100%; display: block; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor img { max-width: 100%; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) a { text-decoration: none; color: inherit; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) button { font-family: inherit; cursor: pointer; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) ::selection { background: var(--yellow); color: var(--ink); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) :focus-visible { outline: 2.5px solid var(--coral); outline-offset: 2px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .nav-link { position: relative; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .nav-link:after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -6px;
  height: 2px; background: var(--coral);
  transform: scaleX(0); transition: transform .18s ease;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .nav-link:hover:after, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .nav-link.active:after { transform: scaleX(1); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .btn-primary { transition: transform .15s ease, box-shadow .15s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11,45,78,0.22); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .btn-outline { transition: background .15s ease, color .15s ease, border-color .15s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .card-hover { transition: transform .2s ease, box-shadow .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .card-hover:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,45,78,0.14); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .link-arrow svg { transition: transform .15s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .link-arrow:hover svg { transform: translateX(4px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .pill-btn { transition: background .15s ease, color .15s ease, border-color .15s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .reveal { opacity: 1; transform: none; transition: none; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-header {
  width: 100%;
  position: sticky; top: 0; z-index: 100;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  transition: box-shadow .2s ease;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-header.scrolled { box-shadow: 0 8px 24px rgba(11,45,78,0.08); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .header-inner {
  max-width: 1440px; margin: 0 auto;
  height: 88px; padding: 0 var(--gutter, 64px);
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .header-inner { max-width: 1440px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand img { height: 52px; width: 52px; object-fit: contain; border-radius: 12px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand-text { display: flex; flex-direction: column; line-height: 1.15; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand-name { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 800; color: var(--navy); letter-spacing: .01em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand-sub { font-family: 'Work Sans', sans-serif; font-size: 10px; font-weight: 500; color: var(--slate); letter-spacing: .04em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .main-nav { display: flex; align-items: center; gap: 32px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .main-nav > a, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .main-nav > .nav-dropdown > .dropdown-toggle {
  font-family: 'Work Sans', sans-serif; font-size: 15px; font-weight: 500; color: var(--ink);
  background: none; border: none; padding: 6px 2px; display: flex; align-items: center; gap: 6px;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .nav-dropdown { position: relative; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .dropdown-toggle svg { transition: transform .15s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .dropdown-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .dropdown-panel {
  position: absolute; top: 40px; left: -220px; width: 620px;
  background: #fff; border-radius: 18px; border: 1px solid var(--line);
  box-shadow: 0 24px 56px rgba(11,45,78,0.22);
  padding: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .dropdown-panel.open { opacity: 1; visibility: visible; transform: translateY(0); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .proj-drop-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--ink); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .proj-drop-item:hover { background: var(--paper); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .proj-drop-item .icon-badge { width: 34px; height: 34px; border-radius: 9px; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .proj-drop-item .meta { display: flex; flex-direction: column; gap: 1px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .proj-drop-item .num { font-family: 'Work Sans', sans-serif; font-size: 11px; color: var(--slate); letter-spacing: .03em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .proj-drop-item .name { font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.2; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .dropdown-panel .see-all {
  grid-column: 1 / -1; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 700; color: var(--coral);
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .dropdown-panel .see-all { margin-top: 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .header-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--coral); color: #fff;
  font-family: 'Manrope', sans-serif; font-size: 14.5px; font-weight: 700;
  padding: 12px 22px; border-radius: 999px; flex-shrink: 0;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .hamburger {
  display: none; background: none; border: 1.5px solid var(--line); border-radius: 10px;
  width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--navy);
  flex-shrink: 0;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .hamburger .icon-close { display: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .hamburger[aria-expanded="true"] .icon-menu { display: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .hamburger[aria-expanded="true"] .icon-close { display: block; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .mobile-nav {
  display: none;
  max-height: 0; overflow: hidden;
  background: #fff; border-bottom: 1px solid var(--line);
  transition: max-height .25s ease;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .mobile-nav.open { max-height: 640px; overflow-y: auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .mobile-nav-inner { padding: 8px var(--gutter, 24px) 24px; display: flex; flex-direction: column; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .mobile-nav a, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .mobile-nav .m-accordion-toggle {
  font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 600; color: var(--ink);
  padding: 14px 4px; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between;
  background: none; border-left: none; border-right: none; border-top: none; text-align: left; width: 100%;
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .m-accordion-toggle svg { transition: transform .15s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .m-accordion-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .m-submenu { max-height: 0; overflow: hidden; transition: max-height .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .m-submenu.open { max-height: 600px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .m-submenu a {
  font-size: 14px; font-weight: 500; padding: 11px 4px 11px 18px; border-bottom: none; color: var(--slate);
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .mobile-nav .header-cta { margin-top: 18px; justify-content: center; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .mobile-nav .header-cta { margin-top: 18px; }
@media (max-width: 1180px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .main-nav { display: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .header-cta { display: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .hamburger { display: flex; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .mobile-nav { display: block; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .header-inner { height: 76px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand img { height: 44px; width: 44px; }
}
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .header-inner { padding: 0 22px; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-footer { width: 100%; background: var(--navy); position: relative; overflow: hidden; padding: 72px var(--gutter, 64px) 32px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .footer-grid { position: relative; display: grid; grid-template-columns: 1.3fr .9fr .9fr .9fr; gap: 40px; max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .footer-grid { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .footer-bottom { position: relative; max-width: 1312px; margin: 56px auto 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.14); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .footer-bottom { max-width: 1312px; margin: 56px auto 0; }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .footer-grid { grid-template-columns: 1fr 1fr; row-gap: 36px; }
}
@media (max-width: 560px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) h1 { font-size: 34px !important; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero { position: relative; min-height: calc(100vh - 80px); min-height: calc(100svh - 80px); display: flex; align-items: center; overflow: hidden; background: var(--navy); isolation: isolate; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-bg { position: absolute; inset: -8% 0; background-size: cover; background-position: center; transform: translate3d(0,0,0) scale(1.06); will-change: transform; z-index: -3; animation: sm-kenburns 22s ease-out forwards; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(100deg, rgba(8,28,48,0.94) 0%, rgba(8,28,48,0.78) 42%, rgba(8,28,48,0.25) 100%), linear-gradient(0deg, rgba(8,28,48,0.55) 0%, transparent 40%); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-arcs { position: absolute; right: -120px; bottom: -40px; width: 760px; z-index: -1; fill: none; stroke-width: 22; stroke-linecap: round; opacity: .9; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-arcs path { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: sm-draw 2.2s cubic-bezier(.65,0,.35,1) forwards; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-arcs path:nth-child(2) { animation-delay: .15s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-arcs path:nth-child(3) { animation-delay: .3s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-arcs path:nth-child(4) { animation-delay: .45s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-inner { width: 100%; max-width: 1312px; margin: 0 auto; padding: 96px 64px 170px; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-hero-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-inner > * { opacity: 0; transform: translateY(26px); animation: sm-rise .9s cubic-bezier(.2,.7,.2,1) forwards; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-inner > :nth-child(2) { animation-delay: .12s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-inner > :nth-child(3) { animation-delay: .24s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-inner > :nth-child(4) { animation-delay: .36s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px; border-radius: 999px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.22); backdrop-filter: blur(6px); color: #fff; font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px rgba(242,183,5,0.25); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-title { margin: 0; max-width: 900px; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(44px, 6.6vw, 96px); line-height: 1.02; letter-spacing: -.025em; color: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-hero-title { margin: 0; max-width: 900px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hl { color: var(--yellow); background: linear-gradient(transparent 72%, rgba(239,108,77,0.55) 72%); padding: 0 .06em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-lead { margin: 0; max-width: 560px; font-family: 'Work Sans', sans-serif; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.65; color: rgba(255,255,255,0.86); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-hero-lead { margin: 0; max-width: 560px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-hero-actions { margin-top: 6px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 16px 30px; border-radius: 999px; font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 800; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; box-sizing: border-box; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn svg { width: 18px; height: 18px; transition: transform .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn:hover { transform: translateY(-3px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn:hover svg { transform: translateX(4px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn-coral { background: var(--coral); color: #fff; box-shadow: 0 14px 30px rgba(239,108,77,0.4); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn-ghost { color: #fff; border: 1.5px solid rgba(255,255,255,0.6); background: rgba(255,255,255,0.06); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn-ghost:hover { background: #fff; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-scroll { position: absolute; left: 50%; bottom: 96px; width: 28px; height: 46px; margin-left: -14px; border: 2px solid rgba(255,255,255,0.55); border-radius: 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-hero-scroll { margin-left: -14px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 9px; margin-left: -2px; border-radius: 2px; background: #fff; animation: sm-scroll 1.8s ease-in-out infinite; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-hero-scroll span { margin-left: -2px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stats { position: relative; z-index: 3; padding: 0 64px; margin-top: -72px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-stats { margin-top: -72px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stats-card { max-width: 1184px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: 26px; box-shadow: 0 30px 70px rgba(11,45,78,0.16); padding: 40px 16px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-stats-card { max-width: 1184px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat { display: flex; flex-direction: column; gap: 10px; padding: 0 32px; border-left: 1px solid var(--line); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat:first-child { border-left: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat-num { font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -.02em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat-word { font-size: 44px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat-label { font-family: 'Work Sans', sans-serif; font-size: 14.5px; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-marquee { margin-top: 72px; background: var(--navy); overflow: hidden; padding: 22px 0; transform: rotate(-1.2deg) scale(1.02); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-marquee { margin-top: 72px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-marquee-track { display: inline-flex; align-items: center; gap: 34px; white-space: nowrap; animation: sm-marquee 38s linear infinite; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 26px; color: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-marquee-track i { font-style: normal; color: var(--yellow); font-size: 20px; }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-inner { padding: 72px 22px 150px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-arcs { width: 440px; right: -160px; opacity: .55; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-overlay { background: linear-gradient(0deg, rgba(8,28,48,0.95) 10%, rgba(8,28,48,0.7) 100%); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stats { padding: 0 18px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stats-card { grid-template-columns: repeat(2, 1fr); row-gap: 28px; padding: 30px 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat { padding: 0 18px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat:nth-child(3) { border-left: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat-num { font-size: 42px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-stat-word { font-size: 34px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-marquee-track { font-size: 19px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-bg, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-arcs path, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-inner > *, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-marquee-track, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-hero-scroll span { animation: none; opacity: 1; transform: none; stroke-dashoffset: 0; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero { position: relative; min-height: 560px; display: flex; align-items: flex-end; overflow: hidden; background: var(--navy); isolation: isolate; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-bg { position: absolute; inset: -10% 0; background-size: cover; background-position: center; z-index: -3; transform: scale(1.06); animation: sm-kenburns 22s ease-out forwards; will-change: transform; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(95deg, rgba(8,28,48,0.95) 0%, rgba(8,28,48,0.8) 45%, rgba(8,28,48,0.35) 100%), linear-gradient(0deg, rgba(8,28,48,0.6) 0%, transparent 50%); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-arcs { width: 560px; right: -90px; bottom: -30px; opacity: .85; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner { width: 100%; max-width: 1312px; margin: 0 auto; padding: 72px 64px 80px; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-phero-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner > * { opacity: 0; transform: translateY(22px); animation: sm-rise .85s cubic-bezier(.2,.7,.2,1) forwards; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner > :nth-child(2) { animation-delay: .08s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner > :nth-child(3) { animation-delay: .16s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner > :nth-child(4) { animation-delay: .24s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner > :nth-child(5) { animation-delay: .32s; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-family: 'Work Sans', sans-serif; font-size: 14px; color: rgba(255,255,255,0.6); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-crumbs a { color: rgba(255,255,255,0.78); text-decoration: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-crumbs a:hover { color: var(--yellow); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-crumb-current { color: #fff; font-weight: 600; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-title { margin: 0; max-width: 860px; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(38px, 5vw, 72px); line-height: 1.05; letter-spacing: -.02em; color: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-phero-title { margin: 0; max-width: 860px; }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero { min-height: 480px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner { padding: 56px 22px 60px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-arcs { width: 340px; right: -130px; opacity: .5; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-overlay { background: linear-gradient(0deg, rgba(8,28,48,0.95) 15%, rgba(8,28,48,0.72) 100%); }
}
@media (prefers-reduced-motion: reduce) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-bg, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-phero-inner > * { animation: none; opacity: 1; transform: none; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn-outline { color: var(--navy); border: 1.5px solid var(--navy); background: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn-outline:hover { background: var(--navy); color: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news { padding: 88px 64px 110px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-inner { max-width: 1312px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; text-decoration: none; color: inherit; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-photo { position: relative; height: 210px; overflow: hidden; background: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-card:hover .sm-news-photo img { transform: scale(1.06); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-body { padding: 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-family: 'Work Sans', sans-serif; font-size: 13px; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-cat { font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--coral); background: var(--coraltint); padding: 5px 12px; border-radius: 999px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-card h3 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 19px; font-weight: 800; line-height: 1.3; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-card h3 { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-card p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 14.5px; line-height: 1.6; color: var(--slate); flex: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-card p { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-card .elementor-widget:has(> p.elementor-heading-title) { flex: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-more { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 800; color: var(--coral); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured { flex-direction: row; min-height: 400px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured .sm-news-photo { flex: 1.15; height: auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured .sm-news-body { flex: 1; padding: 48px; justify-content: center; gap: 16px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: clamp(26px, 2.6vw, 38px); font-weight: 800; line-height: 1.15; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-featured h2 { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured p { flex: 0; font-size: 16px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured .elementor-widget:has(> p.elementor-heading-title) { flex: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 16px; font-family: 'Manrope', sans-serif; font-weight: 700; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-pagination { margin-top: 16px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-pagination .page-numbers { padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line); color: var(--navy); text-decoration: none; background: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-pagination .page-numbers.current { background: var(--navy); color: #fff; border-color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-empty { text-align: center; max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 56px 40px; background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 20px 50px rgba(11,45,78,0.06); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-empty { max-width: 620px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-empty svg { width: 52px; height: 52px; color: var(--coral); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-empty h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 28px; font-weight: 800; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-empty h2 { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-empty p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 16px; line-height: 1.65; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-empty p { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-empty-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-empty-actions { margin-top: 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-related { padding-top: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-related-title { margin: 0; font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 800; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-news-related-title { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article { max-width: 780px; margin: 0 auto; padding: 80px 24px 90px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-article { max-width: 780px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content { font-family: 'Work Sans', sans-serif; font-size: 18px; line-height: 1.8; color: var(--ink); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content h2, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content h3 { font-family: 'Manrope', sans-serif; font-weight: 800; color: var(--navy); line-height: 1.25; margin: 1.8em 0 .6em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-article-content h2, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-article-content h3 { margin: 1.8em 0 .6em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content h2 { font-size: 30px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content h3 { font-size: 23px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content p { margin: 0 0 1.3em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-article-content p { margin: 0 0 1.3em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content a { color: var(--coral); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content img { max-width: 100%; height: auto; border-radius: 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-article-content img { max-width: 100%; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content blockquote { margin: 2em 0; padding: 8px 0 8px 28px; border-left: 4px solid var(--yellow); font-family: 'Manrope', sans-serif; font-size: 22px; font-weight: 700; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-article-content blockquote { margin: 2em 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-footer { display: flex; gap: 14px; flex-wrap: wrap; justify-content: space-between; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--line); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-article-footer { margin-top: 48px; }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news { padding: 56px 18px 80px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-grid { grid-template-columns: 1fr; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured { flex-direction: column; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured .sm-news-photo { height: 240px; flex: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-featured .sm-news-body { padding: 26px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article { padding: 56px 20px 70px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-article-content { font-size: 17px; }
}
@media (min-width: 901px) and (max-width: 1150px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-news-grid { grid-template-columns: repeat(2, 1fr); }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: inline-flex; align-items: center; gap: 10px; height: 58px; padding: 0 22px 0 16px; border-radius: 999px; background: #25D366; color: #fff; text-decoration: none; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 15px; box-shadow: 0 14px 34px rgba(18,140,74,0.4); transition: transform .2s ease, box-shadow .2s ease; animation: sm-wa-in .6s 1.2s cubic-bezier(.2,.7,.2,1) both; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-whatsapp svg { width: 28px; height: 28px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-whatsapp:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(18,140,74,0.5); }
@media (max-width: 560px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-whatsapp { right: 16px; bottom: 16px; padding: 0; width: 58px; justify-content: center; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-whatsapp span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-whatsapp { animation: none; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-consent { display: flex; align-items: flex-start; gap: 10px; font-family: 'Work Sans', sans-serif; font-size: 13.5px; line-height: 1.5; color: var(--slate); cursor: pointer; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-consent input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--coral); flex-shrink: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-consent input { margin-top: 3px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-consent a { color: var(--coral); text-decoration: underline; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-form-error { margin: 0; padding: 12px 16px; border-radius: 12px; background: var(--coraltint); color: #9A3412; font-family: 'Work Sans', sans-serif; font-size: 14px; font-weight: 600; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-form-error { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support { padding: 90px 64px 40px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-grid { max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-support-grid { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-card { background: #fff; border: 1px solid var(--line); border-radius: 26px; padding: 40px 34px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; box-shadow: 0 18px 44px rgba(11,45,78,0.06); transition: transform .25s ease, box-shadow .25s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-card:hover { transform: translateY(-6px); box-shadow: 0 26px 56px rgba(11,45,78,0.12); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-card h2 { margin: 6px 0 0; font-family: 'Manrope', sans-serif; font-size: 28px; font-weight: 800; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-support-card h2 { margin: 6px 0 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-card p { margin: 0 0 8px; font-family: 'Work Sans', sans-serif; font-size: 15.5px; line-height: 1.65; color: var(--slate); flex: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-support-card p { margin: 0 0 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-card .elementor-widget:has(> p.elementor-heading-title) { flex: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-icon { width: 60px; height: 60px; border-radius: 18px; display: flex; align-items: center; justify-content: center; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-icon svg { width: 28px; height: 28px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps { padding: 70px 64px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-inner { max-width: 1312px; margin: 0 auto; background: var(--navy); border-radius: 32px; padding: 64px; display: flex; flex-direction: column; gap: 18px; position: relative; overflow: hidden; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-steps-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-eyebrow-dark { width: fit-content; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-title { margin: 0 0 20px; font-family: 'Manrope', sans-serif; font-size: clamp(28px, 3vw, 42px); font-weight: 800; color: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-steps-title { margin: 0 0 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-steps-list { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-list li, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-list .smx-li { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 22px; padding: 30px; display: flex; flex-direction: column; gap: 10px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-list span { width: 44px; height: 44px; border-radius: 50%; background: var(--yellow); color: var(--navy); font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 19px; display: flex; align-items: center; justify-content: center; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-list h3 { margin: 8px 0 0; font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; color: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-steps-list h3 { margin: 8px 0 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-list p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,0.78); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-steps-list p { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-trust { padding: 30px 64px 110px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-trust-inner { max-width: 1312px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; padding: 44px 52px; border-radius: 28px; background: var(--yellowtint); border: 1px solid #F3E1A8; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-trust-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-trust h2 { margin: 0 0 8px; font-family: 'Manrope', sans-serif; font-size: 26px; font-weight: 800; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-trust h2 { margin: 0 0 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-trust p { margin: 0; max-width: 640px; font-family: 'Work Sans', sans-serif; font-size: 15.5px; line-height: 1.6; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-trust p { margin: 0; max-width: 640px; }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-trust { padding-left: 18px; padding-right: 18px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support { padding-top: 56px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-support-grid, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-list { grid-template-columns: 1fr; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-steps-inner { padding: 40px 24px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-trust-inner { padding: 32px 26px; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-related { padding-top: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-related-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-related-eyebrow { display: inline-block; margin-bottom: 12px; font-family: 'Manrope', sans-serif; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--coral); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-related-eyebrow { margin-bottom: 12px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-header { transition: box-shadow .25s ease, background .25s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .header-inner { transition: height .25s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand img { transition: height .25s ease, width .25s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-header.is-scrolled { background: rgba(255,255,255,0.88); backdrop-filter: saturate(1.6) blur(14px); -webkit-backdrop-filter: saturate(1.6) blur(14px); box-shadow: 0 10px 30px rgba(11,45,78,0.08); border-bottom-color: transparent; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-header.is-scrolled .header-inner { height: 70px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-header.is-scrolled .brand img { height: 42px; width: 42px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-progress { position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--coral), var(--yellow), var(--green), var(--sky)); pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-header, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .header-inner, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .brand img { transition: none; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-band { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(120deg, var(--navy) 0%, #123A63 60%, #1B4E7E 100%); box-shadow: 0 30px 70px rgba(11,45,78,0.25); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-band::after { content: ''; position: absolute; right: -90px; bottom: -150px; width: 420px; height: 420px; border-radius: 50%; z-index: -1; background: radial-gradient(circle, transparent 52%, rgba(239,108,77,0.55) 53%, rgba(239,108,77,0.55) 57%, transparent 58%, transparent 61%, rgba(242,183,5,0.55) 62%, rgba(242,183,5,0.55) 66%, transparent 67%, transparent 70%, rgba(63,143,92,0.55) 71%, rgba(63,143,92,0.55) 75%, transparent 76%); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-band h3 { color: #fff !important; font-size: clamp(24px, 2.4vw, 32px) !important; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-band p { color: rgba(255,255,255,0.8) !important; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; position: relative; z-index: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-band .btn-primary { background: var(--coral) !important; min-height: 52px; padding: 16px 30px !important; box-shadow: 0 14px 30px rgba(239,108,77,0.4); transition: transform .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-band .btn-primary:hover { transform: translateY(-3px); }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-cta-band { padding: 36px 26px !important; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .gallery-item { cursor: zoom-in; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .gallery-item img { transition: transform .6s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .gallery-item:hover img, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .gallery-item:focus-visible img { transform: scale(1.05); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .gallery-item:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-open { overflow: hidden; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lightbox { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 40px 90px; background: rgba(6,20,36,0.92); backdrop-filter: blur(6px); animation: sm-lb-in .25s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lightbox[hidden] { display: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 100%; max-height: 100%; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-lb-figure { margin: 0; max-width: 100%; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-figure img { max-width: min(1200px, 100%); max-height: calc(100vh - 140px); object-fit: contain; border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,0.5); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-lb-figure img { max-width: min(1200px, 100%); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-figure figcaption { font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 700; color: rgba(255,255,255,0.85); letter-spacing: .04em; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-close, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-nav { position: absolute; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.08); color: #fff; border-radius: 50%; cursor: pointer; transition: background .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-close:hover, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-nav:hover { background: rgba(255,255,255,0.2); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-close { top: 22px; right: 22px; width: 48px; height: 48px; font-size: 30px; line-height: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-nav { top: 50%; width: 56px; height: 56px; margin-top: -28px; font-size: 38px; line-height: 1; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-lb-nav { margin-top: -28px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-prev { left: 22px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-next { right: 22px; }
@media (max-width: 700px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lightbox { padding: 70px 12px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-nav { top: auto; bottom: 18px; margin-top: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-lb-nav { margin-top: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-prev { left: calc(50% - 70px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-lb-next { right: calc(50% - 70px); }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-404-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-404-link { display: flex; flex-direction: column; gap: 8px; padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 20px; text-decoration: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-404-link strong { font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-404-link span { font-family: 'Work Sans', sans-serif; font-size: 14.5px; line-height: 1.55; color: var(--slate); }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-404-links { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-404-links { grid-template-columns: 1fr; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit { padding: 0 64px 120px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit-inner { max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: stretch; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-visit-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit-info { display: flex; flex-direction: column; justify-content: center; gap: 14px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit-info h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: clamp(28px, 3vw, 38px); font-weight: 800; color: var(--navy); line-height: 1.15; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-visit-info h2 { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit-address { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 17px; line-height: 1.6; color: var(--ink); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-visit-address { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit-list { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; font-family: 'Work Sans', sans-serif; font-size: 15px; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-visit-list { margin: 0 0 10px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit-list a { color: var(--coral); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map { position: relative; min-height: 380px; border-radius: 28px; overflow: hidden; background: linear-gradient(135deg, var(--navy), #1B4E7E); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map::before { content: ''; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,0.8) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.8) 1px, transparent 1px); background-size: 46px 46px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map-load { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; border: 0; background: none; color: #fff; cursor: pointer; font-family: 'Manrope', sans-serif; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map-load svg { width: 54px; height: 54px; padding: 14px; border-radius: 50%; background: var(--coral); box-shadow: 0 14px 30px rgba(239,108,77,0.45); transition: transform .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map-load:hover svg { transform: translateY(-4px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map-load span { font-size: 18px; font-weight: 800; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map-load small { font-family: 'Work Sans', sans-serif; font-size: 13px; opacity: .75; }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit { padding: 0 18px 80px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-visit-inner { grid-template-columns: 1fr; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-map { min-height: 300px; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-skip { position: absolute; left: 16px; top: -60px; z-index: 200; padding: 12px 20px; border-radius: 12px; background: var(--navy); color: #fff; font-family: 'Manrope', sans-serif; font-weight: 800; text-decoration: none; transition: top .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-skip:focus { top: 16px; outline: 3px solid var(--yellow); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .site-footer { padding-bottom: 96px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer { padding: 88px 64px 32px; background: radial-gradient(1200px 500px at 85% 0%, #123A63 0%, var(--navy) 60%); color: rgba(255,255,255,0.8); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-arcs { position: absolute; right: -140px; top: -170px; width: 560px; fill: none; stroke-width: 18; stroke-linecap: round; opacity: .14; pointer-events: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-grid { position: relative; max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr 1fr 1.2fr 1fr; gap: 48px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-grid { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-brand { display: flex; flex-direction: column; gap: 18px; max-width: 400px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-brand { max-width: 400px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; font-family: 'Manrope', sans-serif; font-size: 15px; font-weight: 600; line-height: 1.3; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-logo strong { display: block; font-size: 19px; font-weight: 800; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-logo-img { width: 64px; height: 64px; flex-shrink: 0; border-radius: 16px; background: #fff; padding: 6px; display: flex; box-shadow: 0 10px 24px rgba(0,0,0,0.25); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-logo-img img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-brand > p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.72); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-brand > p { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-contact { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-contact li, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-contact .smx-li { display: flex; align-items: flex-start; gap: 10px; font-family: 'Work Sans', sans-serif; font-size: 14.5px; line-height: 1.5; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-contact svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; fill: none; stroke: var(--yellow); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-contact svg { margin-top: 2px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-contact a { color: rgba(255,255,255,0.85); text-decoration: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-contact a:hover { color: #fff; text-decoration: underline; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-cta { width: fit-content; margin-top: 4px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-cta { margin-top: 4px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-col { display: flex; flex-direction: column; gap: 10px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-col h2 { margin: 0 0 8px; font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--yellow); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-col h2 { margin: 0 0 8px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-col a { width: fit-content; font-family: 'Work Sans', sans-serif; font-size: 14.5px; color: rgba(255,255,255,0.78); text-decoration: none; transition: color .2s ease, transform .2s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-col a:hover { color: #fff; transform: translateX(3px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-bottom { position: relative; max-width: 1312px; margin: 64px auto 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.12); display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-family: 'Work Sans', sans-serif; font-size: 13px; color: rgba(255,255,255,0.55); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-bottom { max-width: 1312px; margin: 64px auto 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-top { color: rgba(255,255,255,0.75); text-decoration: none; font-weight: 600; margin-right: 190px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-top { margin-right: 190px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-top:hover { color: #fff; }
@media (max-width: 1100px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer { padding: 64px 20px 110px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-grid { grid-template-columns: 1fr; gap: 36px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-footer-top { margin-right: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-footer-top { margin-right: 0; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track { padding: 100px 64px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-inner { max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.15fr; gap: 72px; align-items: center; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-eyebrow { display: inline-block; font-family: 'Manrope', sans-serif; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--coral); background: var(--coraltint); padding: 8px 16px; border-radius: 999px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-number { margin: 22px 0 0; font-family: 'Manrope', sans-serif; font-size: clamp(110px, 14vw, 190px); font-weight: 800; line-height: .9; letter-spacing: -.05em; background: linear-gradient(120deg, var(--coral) 0%, var(--yellow) 40%, var(--green) 70%, var(--sky) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-number { margin: 22px 0 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-label { margin: 10px 0 18px; font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-label { margin: 10px 0 18px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-years h2 { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-years h2 { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-list { list-style: none; margin: 0; padding: 0; position: relative; display: flex; flex-direction: column; gap: 22px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-list { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-list::before { content: ''; position: absolute; left: 13px; top: 18px; bottom: 18px; width: 2px; background: linear-gradient(var(--coral), var(--yellow), var(--green)); opacity: .5; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-list li, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-list .smx-li { position: relative; display: flex; gap: 22px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 24px 26px 24px 0; margin-left: 0; box-shadow: 0 14px 34px rgba(11,45,78,0.06); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-list li, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-list .smx-li { margin-left: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-dot { position: relative; z-index: 1; flex-shrink: 0; width: 28px; height: 28px; margin-left: -1px; border-radius: 50%; border: 6px solid var(--paper); transform: translateX(-14px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-dot { margin-left: -1px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-list strong { display: block; margin-bottom: 4px; font-family: 'Manrope', sans-serif; font-size: 21px; font-weight: 800; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-list strong { margin-bottom: 4px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-list p { margin: 0; font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.6; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-track-list p { margin: 0; }
@media (max-width: 900px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track { padding: 72px 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-track-inner { grid-template-columns: 1fr; gap: 40px; }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm input:not([type="checkbox"]):not([type="hidden"]), :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm select, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm textarea { transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; background: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm input:not([type="checkbox"]):hover, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm select:hover, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm textarea:hover { border-color: #CFC8B8 !important; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm input:not([type="checkbox"]):focus, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm select:focus, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm textarea:focus { border-color: var(--sky) !important; box-shadow: 0 0 0 4px rgba(46,155,214,0.16); outline: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm button[type="submit"] { cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; box-shadow: 0 14px 30px rgba(239,108,77,0.35); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) #contactForm button[type="submit"]:hover { transform: translateY(-2px); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) a.card-hover { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) a.card-hover:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,45,78,0.1); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) ::selection { background: rgba(242,183,5,0.4); color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) a:focus-visible, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) button:focus-visible, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) input[type="checkbox"]:focus-visible, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) select:focus-visible, :is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-btn:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; border-radius: 10px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) img { max-width: 100%; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor img { max-width: 100%; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard { display: flex; flex-direction: column; gap: 22px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-box { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 16px; background: var(--navy); border-radius: 24px; padding: 34px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-arcs { position: absolute; right: -50px; bottom: -80px; width: 320px; opacity: .18; fill: none; stroke: #fff; stroke-width: 12; stroke-linecap: round; pointer-events: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-name { position: relative; font-family: 'Manrope', sans-serif; font-size: 17px; font-weight: 800; color: #fff; line-height: 1.35; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-row { position: relative; display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,0.85); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-row svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--yellow); margin-top: 1px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-ccard-row svg { margin-top: 1px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-row a { color: rgba(255,255,255,0.85); text-decoration: none; overflow-wrap: break-word; min-width: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-row a:hover { color: #fff; text-decoration: underline; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-photo { height: 260px; border-radius: 24px; overflow: hidden; background: var(--green); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-ccard-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topics { background: var(--paper); border-radius: 28px; padding: 56px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topics-head { display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; margin-bottom: 36px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-topics-head { margin-bottom: 36px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topics-head h2 { margin: 0; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-topics-head h2 { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topics-head p { margin: 0; font-size: 15px; color: var(--slate); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-topics-head p { margin: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topic { display: flex; flex-direction: column; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 24px 12px; text-align: center; text-decoration: none; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topic-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--skytint); color: var(--sky); display: flex; align-items: center; justify-content: center; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topic-icon svg { width: 21px; height: 21px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topic-label { font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; color: var(--ink); line-height: 1.3; }
@media (max-width: 760px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topics { padding: 36px 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-topics-grid { grid-template-columns: repeat(2, 1fr); }
}
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .gallery-pill.active { background: var(--navy) !important; color: #fff !important; border-color: var(--navy) !important; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .gallery-pill:not(.active) { background: #fff !important; color: var(--ink) !important; border-color: var(--line) !important; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery { padding: 0 64px 110px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-gallery-inner { max-width: 1312px; margin: 0 auto; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-gallery-pills { margin-bottom: 36px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-pills .gallery-pill { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 700; padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--line); cursor: pointer; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-grid { columns: 4; column-gap: 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-grid .gallery-item { break-inside: avoid; margin-bottom: 20px; position: relative; border-radius: 20px; overflow: hidden; background: var(--navy); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .elementor.elementor .sm-gallery-grid .gallery-item { margin-bottom: 20px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-grid .gallery-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.95) contrast(1.05); }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-cap { position: absolute; left: 16px; bottom: 16px; display: flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; background: rgba(18,32,46,0.55); border: 1px solid rgba(255,255,255,0.35); font-size: 11px; letter-spacing: .03em; text-transform: uppercase; color: #fff; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-cap svg { width: 14px; height: 14px; display: block; flex-shrink: 0; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-cap span { font-family: 'Work Sans', sans-serif; }
@media (max-width: 1024px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery { padding-left: 32px; padding-right: 32px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-grid { columns: 3; }
}
@media (max-width: 760px) {
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery { padding-left: 22px; padding-right: 22px; }
:is(body:not(.elementor-page-154), .elementor-location-header, .elementor-location-footer, .elementor-widget-loop-grid) .sm-gallery-grid { columns: 1; }
}

/* --- Menú, galería y tarjetas de Elementor --- */
/* OceanWP pone html a 10px y body a 14px / 1.8: el diseño se hizo con la base del navegador (16px, interlineado normal). */
html { font-size: 100%; }
html body { font-size: 16px; line-height: normal; }

/* Cabecera: Elementor la fija arriba (Movimiento → Fijo); estos son sus estados. */
.sm-header-wrap { background: #fff; }
.sm-header-wrap .site-header { position: relative; }
.sm-header-wrap.elementor-sticky--effects .site-header { background: rgba(255,255,255,0.88); backdrop-filter: saturate(1.6) blur(14px); -webkit-backdrop-filter: saturate(1.6) blur(14px); box-shadow: 0 10px 30px rgba(11,45,78,0.08); border-bottom-color: transparent; }
.sm-header-wrap.elementor-sticky--effects { background: transparent; }
.sm-header-wrap.elementor-sticky--effects .header-inner { height: 70px; }
.sm-header-wrap.elementor-sticky--effects .brand img { height: 42px; width: 42px; }
.admin-bar .sm-header-wrap.elementor-sticky--active { top: 32px !important; }

/* Menú principal (widget Menú de Elementor) con el diseño del tema. */
.sm-nav { flex: 1 1 auto; }
@media (min-width: 1025px) { .sm-nav .elementor-nav-menu--main { display: flex; justify-content: center; } }
.sm-nav .elementor-nav-menu--main > .elementor-nav-menu { gap: 32px; }
.sm-nav .elementor-nav-menu--main .elementor-item { font-family: 'Work Sans', sans-serif !important; font-size: 15px !important; font-weight: 500 !important; line-height: normal !important; color: var(--ink) !important; padding: 6px 2px; }
.sm-nav .elementor-nav-menu--main .elementor-item:hover,
.sm-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.sm-nav .elementor-nav-menu--main .elementor-item.highlighted { color: var(--ink) !important; fill: var(--ink) !important; }
.sm-nav .elementor-nav-menu--main .elementor-item:after { background-color: var(--coral) !important; height: 2px !important; bottom: -4px !important; }
.sm-nav .elementor-nav-menu--main .sub-arrow { padding-left: 6px; font-size: 10px; }
/* Desplegable «Proyectos»: panel de dos columnas, como antes. */
.sm-nav .elementor-nav-menu--main .sub-menu { width: 620px !important; max-width: none !important; background: #fff; border-radius: 18px; border: 1px solid var(--line); box-shadow: 0 24px 56px rgba(11,45,78,0.22); padding: 16px; margin-top: 14px !important; margin-left: -220px !important; }
.sm-nav .elementor-nav-menu--main .sub-menu[aria-hidden="false"], .sm-nav .elementor-nav-menu--main .sub-menu:not([aria-hidden]) { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 4px; }
.sm-nav .elementor-nav-menu--main .sub-menu li { width: auto; }
.sm-nav .elementor-nav-menu--main .elementor-sub-item { font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.2; padding: 12px 12px; border-radius: 10px; border: 0; white-space: normal; background: transparent; }
.sm-nav .elementor-nav-menu--main .elementor-sub-item:hover, .sm-nav .elementor-nav-menu--main .elementor-sub-item.elementor-item-active { background: var(--paper); color: var(--navy); }
/* Botón del menú en celular y tablet. */
.sm-nav .elementor-menu-toggle { margin-left: auto; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--line); background: #fff; color: var(--navy); font-size: 20px; }
.sm-nav .elementor-menu-toggle:hover { background: var(--paper); }
.sm-nav .elementor-nav-menu--dropdown { background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 18px 40px rgba(11,45,78,0.12); }
.sm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 16px; padding: 8px 22px 22px; max-height: calc(100vh - 90px); overflow-y: auto; }
.sm-nav .elementor-nav-menu--dropdown a { font-family: 'Manrope', sans-serif; font-size: 16px; font-weight: 600; color: var(--ink); padding: 14px 4px !important; border-bottom: 1px solid var(--line); justify-content: space-between; background: transparent !important; }
.sm-nav .elementor-nav-menu--dropdown a.elementor-item-active { color: var(--navy); }
.sm-nav .elementor-nav-menu--dropdown .sub-menu a { font-size: 14px; font-weight: 500; color: var(--slate); padding: 11px 4px 11px 18px !important; border-bottom: 0; }
@media (max-width: 1024px) {
	.sm-nav { flex: 0 0 auto; margin-left: auto; }
}

/* Galería (widget Galería de Elementor) con los filtros en forma de píldora. */
.sm-gal .elementor-gallery__titles-container { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; margin-bottom: 36px; }
.sm-gal .elementor-gallery-title { font-family: 'Manrope', sans-serif; font-size: 13.5px; font-weight: 700; padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--line); background: #fff; color: var(--ink); margin: 0; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.sm-gal .elementor-gallery-title:after, .sm-gal .elementor-gallery-title:before { display: none !important; }
.sm-gal .elementor-gallery-title.elementor-item-active, .sm-gal .elementor-gallery-title:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.sm-gal .e-gallery-item { border-radius: 20px; overflow: hidden; background: var(--navy); }
.sm-gal .e-gallery-image { filter: saturate(0.95) contrast(1.05); }
.sm-gal .elementor-gallery-item__overlay { background: linear-gradient(180deg, rgba(11,45,78,0) 55%, rgba(11,45,78,0.55)) !important; }
.sm-gal .elementor-gallery-item__content { justify-content: flex-end; align-items: flex-start; padding: 16px; }
.sm-gal .elementor-gallery-item__title { padding: 7px 13px; border-radius: 999px; background: rgba(18,32,46,0.55); border: 1px solid rgba(255,255,255,0.35); font-family: 'Work Sans', sans-serif; font-size: 11px; letter-spacing: .03em; text-transform: uppercase; color: #fff; }

/* Tarjetas de noticias (Loop Grid de Elementor). */
.sm-loop .e-loop-item, .sm-loop .e-loop-item > .e-con, .sm-loop .sm-news-card { height: 100%; }
.sm-loop .sm-news-card { display: flex !important; flex-direction: column; }
.sm-loop-featured .sm-news-card { flex-direction: row; }
.sm-loop-featured { margin-bottom: 28px; }
.sm-loop .sm-news-photo .elementor-widget-container, .sm-loop .sm-news-photo .elementor-widget-image { height: 100%; }
.sm-loop .sm-news-photo img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.sm-loop .sm-time .elementor-heading-title { font-family: 'Work Sans', sans-serif; font-size: 13px; color: var(--slate); font-weight: 400; }
@media (max-width: 760px) { .sm-loop-featured .sm-news-card { flex-direction: column; } }

/* Contenido de noticias y política (antes lo pintaba single.php / page.php). */
.sm-post-content { width: 100%; }

/* OceanWP: el diseño del sitio va de borde a borde. */
body.elementor-template-full-width #main #content-wrap, body .elementor-template-full-width #content-wrap { padding: 0; }
#scroll-top { display: none !important; }

/* Pie: el párrafo de descripción ahora va dentro de un widget de Título (antes era hijo directo). */
.sm-footer-brand > .elementor-widget-heading .elementor-heading-title { font-family: 'Work Sans', sans-serif; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.72); }

/* 404: «Nosotros →» y su descripción van en un mismo widget de Título: uno debajo del otro, como antes. */
.sm-404-link .elementor-heading-title { display: flex; flex-direction: column; gap: 8px; }

/* Galería: las leyendas se ven siempre (antes no dependían del mouse). */
.sm-gal .elementor-gallery-item__overlay, .sm-gal .elementor-gallery-item__content, .sm-gal .elementor-gallery-item__content > * { opacity: 1 !important; transform: none !important; }

/* Menú: «Proyectos» subrayado también dentro de cada línea de acción. */
.sm-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item:after { opacity: 1 !important; transform: none !important; }

/* «Más noticias» en cada noticia: tarjetas sin extracto, como antes. */
.sm-news-related .sm-loop .sm-news-body p.elementor-heading-title { display: none; }
.sm-news-related .sm-loop .sm-news-body .elementor-widget-heading:has(> p.elementor-heading-title) { display: none; }/* End custom CSS */