.elementor-kit-78{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-78 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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* ================================================================
   Espíritu Creativo — Site-wide Custom CSS
   Loaded from: Site Settings → Custom CSS (Kit ID 78)
   Reference: React mockup at /sito espiritu creativo/dist
   ================================================================ */

/* ----------------------------------------------------------------
   1. DESIGN TOKENS — colors, fonts, spacing
   ---------------------------------------------------------------- */
:root {
  /* Brand colors */
  --ec-bg:        #FAF6EF; /* page background */
  --ec-fg:        #13192D; /* primary foreground (text) */
  --ec-deepblue:  #172447; /* deep navy — Founder/Obras */
  --ec-secondary: #F1EBDF; /* warm cream — section bg @ 40% */
  --ec-accent:    #C8884A; /* terracotta accent */
  --ec-gold:      #CB9135; /* gold accent */
  --ec-muted:     #5A6478; /* muted foreground */
  --ec-border:    #E3DBC9; /* border */

  /* Font families */
  --ec-font-display: 'Cormorant Garamond', serif;
  --ec-font-script:  'Dancing Script', cursive;
  --ec-font-body:    'Inter', sans-serif;

  /* Layout */
  --ec-max-w: 1280px;
  --ec-px-mobile: 24px;
  --ec-px-desktop: 40px;

  /* Header */
  --ec-header-h: 96px;
  --ec-header-h-mobile: 80px;
}

/* ----------------------------------------------------------------
   2. GLOBAL RESET / SMOOTH SCROLL
   ---------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}
section[id], [id^="filosofia"], [id^="experiencia"], [id^="obras"], [id^="elementos"], [id^="contacto"], [id^="founder"] {
  scroll-margin-top: var(--ec-header-h);
}

/* ----------------------------------------------------------------
   3. HEADER (.espiritu-header) — sticky, transparent → cream on scroll
   ---------------------------------------------------------------- */
.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 100;
}
.espiritu-header {
  width: 100% !important;
  max-width: 100% !important;
  transition: background-color .35s ease, box-shadow .35s ease;
}
.espiritu-header.scrolled,
.elementor-location-header.scrolled .espiritu-header {
  background-color: rgba(250, 246, 239, 0.95) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(227, 219, 201, 0.6);
}
.espiritu-header > .e-con-inner {
  max-width: var(--ec-max-w);
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  width: 100%;
}

/* Logo */
.espiritu-header .header-logo {
  flex: 0 0 auto;
}
.espiritu-header .header-logo img {
  height: 64px !important;
  width: auto !important;
  max-width: 240px !important;
  object-fit: contain !important;
}

/* Nav menu (center) */
.espiritu-header .header-nav {
  flex: 1 1 auto !important;
  min-width: 0;
  display: flex !important;
  justify-content: center !important;
}
/* Desktop: main horizontal menu visible, dropdown hidden */
@media (min-width: 1024px) {
  .espiritu-header .header-nav .elementor-nav-menu--main {
    display: block !important;
  }
  .espiritu-header .header-nav .elementor-nav-menu--main .elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  .espiritu-header .header-nav .elementor-menu-toggle {
    display: none !important;
  }
  .espiritu-header .header-nav .elementor-nav-menu--dropdown {
    display: none !important;
  }
}
.espiritu-header .header-nav .elementor-nav-menu--main li a {
  white-space: nowrap;
  padding: 8px 14px !important;
  font-size: 14px !important;
}

/* Actions group (right) */
.espiritu-header .header-actions {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 320px !important;
  margin-left: auto !important;
}
.espiritu-header .header-actions > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-end;
  gap: 10px !important;
  width: auto !important;
  max-width: 320px !important;
}

/* ---- Header responsive: tablet & mobile ---- */
@media (max-width: 1100px) and (min-width: 1024px) {
  .espiritu-header .header-nav .elementor-nav-menu--main li a {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
}

/* ---- TABLET & MOBILE: hamburger menu ---- */
@media (max-width: 1023px) {
  /* Hide horizontal main menu */
  .espiritu-header .header-nav .elementor-nav-menu--main {
    display: none !important;
  }
  /* Hide actions group (CTA + lang) on tablet/mobile */
  .espiritu-header .header-actions { display: none !important; }

  /* Header layout: logo left, hamburger right */
  .espiritu-header > .e-con-inner {
    justify-content: space-between !important;
  }
  .espiritu-header .header-nav {
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
  }

  /* Hamburger toggle button */
  .espiritu-header .header-nav .elementor-menu-toggle {
    display: flex !important;
    color: var(--ec-fg) !important;
    font-size: 24px;
    background: transparent;
    border: 0;
    padding: 8px;
    cursor: pointer;
  }
  .espiritu-header .header-nav .elementor-menu-toggle svg {
    width: 28px;
    height: 28px;
    fill: var(--ec-fg);
  }

  /* Dropdown panel — full-width slide-down */
  .espiritu-header .header-nav .elementor-nav-menu--dropdown {
    position: fixed !important;
    top: var(--ec-header-h-mobile) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    background: var(--ec-bg) !important;
    box-shadow: 0 16px 32px rgba(23, 36, 71, 0.08);
    border-top: 1px solid var(--ec-border);
    padding: 16px 0 !important;
    z-index: 99;
    display: none;
  }
  /* When toggle is active, show dropdown */
  .espiritu-header .header-nav .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
  .espiritu-header .header-nav .elementor-nav-menu--dropdown.elementor-active {
    display: block !important;
  }
  .espiritu-header .header-nav .elementor-nav-menu--dropdown .elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .espiritu-header .header-nav .elementor-nav-menu--dropdown .elementor-nav-menu li {
    width: 100% !important;
    display: block;
  }
  .espiritu-header .header-nav .elementor-nav-menu--dropdown li a {
    padding: 16px 24px !important;
    font-size: 18px !important;
    border-bottom: 1px solid rgba(227, 219, 201, 0.4);
    width: 100%;
    display: block !important;
    font-family: var(--ec-font-body);
    color: var(--ec-fg) !important;
    text-decoration: none;
  }
  .espiritu-header .header-nav .elementor-nav-menu--dropdown li a:hover {
    background: rgba(241, 235, 223, 0.5);
    color: var(--ec-gold) !important;
  }
}

/* ----------------------------------------------------------------
   4. TYPOGRAPHY — global heading scale
   ---------------------------------------------------------------- */
.elementor-widget-heading h1.elementor-heading-title {
  font-family: var(--ec-font-display) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  font-size: 48px;
}
@media (min-width: 768px)  { .elementor-widget-heading h1.elementor-heading-title { font-size: 80px; } }
@media (min-width: 1280px) { .elementor-widget-heading h1.elementor-heading-title { font-size: 112px; } }

.elementor-widget-heading h2.elementor-heading-title {
  font-family: var(--ec-font-display) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  font-size: 36px;
}
@media (min-width: 768px)  { .elementor-widget-heading h2.elementor-heading-title { font-size: 48px; } }
@media (min-width: 1024px) { .elementor-widget-heading h2.elementor-heading-title { font-size: 60px; } }

.elementor-widget-heading h3.elementor-heading-title {
  font-family: var(--ec-font-display) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  font-size: 30px;
}
@media (min-width: 768px) { .elementor-widget-heading h3.elementor-heading-title { font-size: 36px; } }

/* ----------------------------------------------------------------
   5a. HERO BACKGROUND — decorative blur orbs (top-left accent + bottom-right deepblue)
   matches React Hero.jsx
   ---------------------------------------------------------------- */
.espiritu-hero {
  position: relative;
  overflow: hidden;
}
.espiritu-hero::before {
  content: "";
  position: absolute;
  top: -160px; left: -160px;
  width: 520px; height: 520px;
  border-radius: 50%;
  background: rgba(200, 136, 74, 0.20); /* accent at 20% */
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
.espiritu-hero::after {
  content: "";
  position: absolute;
  bottom: -160px; right: -128px;
  width: 480px; height: 480px;
  border-radius: 50%;
  background: rgba(23, 36, 71, 0.10); /* deepblue at 10% */
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
.espiritu-hero > * { position: relative; z-index: 1; }

/* ----------------------------------------------------------------
   5b. BRUSH-STROKE BACKGROUND (.section-brush)
   Used: Philosophy, Quote, Elements, Testimonials
   ---------------------------------------------------------------- */
.section-brush {
  position: relative;
  overflow: hidden;
}
.section-brush::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.6;
  mix-blend-mode: multiply;
  background:
    radial-gradient(60% 40% at 20% 30%, rgba(200, 136,  74, 0.35) 0%, transparent 60%),
    radial-gradient(50% 35% at 80% 70%, rgba(203, 145,  53, 0.30) 0%, transparent 65%),
    radial-gradient(45% 30% at 50% 50%, rgba( 23,  36,  71, 0.18) 0%, transparent 70%);
  background-size: 200% 200%, 200% 200%, 200% 200%;
  animation: brushStroke 18s ease-in-out infinite;
}
.section-brush > * { position: relative; z-index: 1; }
@keyframes brushStroke {
  0%   { background-position:   0% 50%, 100% 50%,  50%   0%; }
  50%  { background-position: 100% 50%,   0% 50%,  50% 100%; }
  100% { background-position:   0% 50%, 100% 50%,  50%   0%; }
}

/* Testimonials — extra deepblue orb */
.section-testimonials::after {
  content: "";
  position: absolute;
  bottom: -120px; right: -120px;
  width: 420px; height: 420px;
  border-radius: 50%;
  background: rgba(23, 36, 71, 0.10);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}

/* ----------------------------------------------------------------
   6. PHILOSOPHY — 3 cards row, floating top icon
   ---------------------------------------------------------------- */
#philosophy-cards.e-con-boxed > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  align-items: stretch !important;
}
@media (min-width: 1024px) {
  #philosophy-cards > .e-con-inner > .elementor-element {
    flex: 1 1 calc(33.333% - 22px) !important;
    max-width: calc(33.333% - 22px) !important;
  }
}
@media (max-width: 1023px) {
  #philosophy-cards > .e-con-inner > .elementor-element {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

/* Philosophy card icon: floating top edge */
#philosophy-cards .elementor-widget-icon-box {
  position: relative;
  margin-top: 28px;
}
#philosophy-cards .elementor-icon-box-wrapper { text-align: left; }
#philosophy-cards .elementor-icon-box-icon {
  position: absolute !important;
  top: 0 !important;
  left: 32px;
  transform: translateY(-50%);
  margin: 0 !important;
  z-index: 2;
}
#philosophy-cards .elementor-icon-box-icon .elementor-icon {
  background-color: var(--ec-deepblue) !important;
  color: var(--ec-bg) !important;
  border-radius: 50% !important;
  width: 56px !important;
  height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: background-color .5s ease;
}
#philosophy-cards .elementor-icon-box-icon .elementor-icon i,
#philosophy-cards .elementor-icon-box-icon .elementor-icon svg {
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  color: var(--ec-bg) !important;
  fill: var(--ec-bg) !important;
}
#philosophy-cards .elementor-widget-icon-box:hover .elementor-icon {
  background-color: var(--ec-gold) !important;
}
#philosophy-cards .elementor-icon-box-content { margin-top: 32px; }

/* ----------------------------------------------------------------
   7. FOUNDER (#founder) — deepblue, 2 columns 38%/62%, gold orbs
   ---------------------------------------------------------------- */
#founder { color: var(--ec-bg); position: relative; overflow: hidden; }
#founder::before {
  content: "";
  position: absolute;
  top: -120px; right: -120px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: rgba(203, 145, 53, 0.15);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
#founder::after {
  content: "";
  position: absolute;
  bottom: -160px; left: -120px;
  width: 420px; height: 420px;
  border-radius: 50%;
  background: rgba(200, 136, 74, 0.10);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
#founder > * { position: relative; z-index: 1; }
#founder.e-con-boxed > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 48px !important;
}
@media (min-width: 1024px) {
  #founder > .e-con-inner { gap: 64px !important; }
  #founder > .e-con-inner > .elementor-element:nth-child(1) {
    flex: 0 0 calc(38% - 32px) !important;
    max-width: calc(38% - 32px) !important;
    position: sticky !important;
    top: 120px !important;
    align-self: flex-start !important;
  }
  #founder > .e-con-inner > .elementor-element:nth-child(2) {
    flex: 0 0 calc(62% - 32px) !important;
    max-width: calc(62% - 32px) !important;
  }
}
@media (max-width: 1023px) {
  #founder > .e-con-inner > .elementor-element {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    position: relative !important;
  }
}
.founder-image .elementor-image,
.founder-image img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.founder-paragraphs p { margin-bottom: 24px; }
.founder-paragraphs p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------------
   8. EXPERIENCE — 4 step cards, 2x2 grid, big gold numbers
   ---------------------------------------------------------------- */
#experience-steps.e-con-boxed > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 56px 64px !important;
  align-items: stretch !important;
}
@media (min-width: 768px) {
  #experience-steps > .e-con-inner > .elementor-element {
    flex: 1 1 calc(50% - 32px) !important;
    max-width: calc(50% - 32px) !important;
  }
}
@media (max-width: 767px) {
  #experience-steps > .e-con-inner > .elementor-element {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

/* ----------------------------------------------------------------
   9. OBRAS GALLERY — deepblue bg, gold orb, 3:4 paintings
   ---------------------------------------------------------------- */
#obras { position: relative; overflow: hidden; color: var(--ec-bg); }
#obras::before {
  content: "";
  position: absolute;
  top: -120px; right: -120px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: rgba(203, 145, 53, 0.10);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
#obras > * { position: relative; z-index: 1; }
#obras .e-gallery-image,
#obras .elementor-gallery-item__image {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 2px;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  transition: transform 1.2s ease;
}
#obras .e-gallery-item:hover .e-gallery-image,
#obras .elementor-gallery-item:hover .elementor-gallery-item__image {
  transform: scale(1.05);
}

/* ----------------------------------------------------------------
   10. ELEMENTS — 4 cards row (Tierra/Agua/Fuego/Aire)
   ---------------------------------------------------------------- */
.elementor-element[class*="-65566b8"].e-con-boxed > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  align-items: stretch !important;
}
@media (min-width: 1024px) {
  .elementor-element[class*="-65566b8"] > .e-con-inner > .elementor-element {
    flex: 1 1 calc(25% - 18px) !important;
    max-width: calc(25% - 18px) !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .elementor-element[class*="-65566b8"] > .e-con-inner > .elementor-element {
    flex: 1 1 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
  }
}
@media (max-width: 767px) {
  .elementor-element[class*="-65566b8"] > .e-con-inner > .elementor-element {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}
.elemento-card { transition: border-color .5s ease; }
.elemento-card:hover { border-color: rgba(203, 145, 53, 0.5) !important; }

/* ----------------------------------------------------------------
   11. MOMENTOS GALLERY — Experience masonry
   ---------------------------------------------------------------- */
#experiencia .elementor-gallery .e-gallery-image,
#experiencia .elementor-gallery .elementor-gallery-item__image {
  border-radius: 2px;
  box-shadow: 0 20px 30px rgba(23, 36, 71, .15);
  transition: transform .7s ease;
}
#experiencia .elementor-gallery .e-gallery-item:hover .e-gallery-image,
#experiencia .elementor-gallery .elementor-gallery-item:hover .elementor-gallery-item__image {
  transform: scale(1.02);
}

/* ----------------------------------------------------------------
   12. CONTACT FORM — card wrap + 2-col Nombre+Email, full-width Mensaje
   ---------------------------------------------------------------- */
#contacto .frm-fluent-form {
  max-width: 720px !important;
  margin: 0 auto !important;
  /* Card-like wrap (like React .bg-card border border-border rounded-sm p-8 lg:p-12 shadow-xl) */
  background: var(--ec-bg) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: 2px !important;
  padding: 32px !important;
  box-shadow: 0 25px 50px -12px rgba(23, 36, 71, 0.15) !important;
  position: relative;
}
@media (min-width: 1024px) {
  #contacto .frm-fluent-form {
    padding: 48px !important;
  }
}
#contacto .frm-fluent-form fieldset {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-inline-size: 100%;
}
#contacto .frm-fluent-form fieldset > * { grid-column: 1 / -1; }
#contacto .frm-fluent-form fieldset > .ff-el-group:nth-of-type(1) { grid-column: 1 / 2; }
#contacto .frm-fluent-form fieldset > .ff-el-group:nth-of-type(2) { grid-column: 2 / 3; }
#contacto .frm-fluent-form fieldset > legend,
#contacto .frm-fluent-form fieldset > input[type="hidden"] { display: none !important; }
@media (max-width: 640px) {
  #contacto .frm-fluent-form fieldset { grid-template-columns: 1fr !important; }
  #contacto .frm-fluent-form fieldset > .ff-el-group:nth-of-type(1),
  #contacto .frm-fluent-form fieldset > .ff-el-group:nth-of-type(2) { grid-column: 1 / -1 !important; }
}

/* Field underline-only style */
#contacto .ff-el-input--label label {
  font-family: var(--ec-font-body);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ec-muted);
  font-weight: 500;
}
#contacto .ff-el-form-control,
#contacto input[type="text"],
#contacto input[type="email"],
#contacto textarea {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--ec-border) !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  font-family: var(--ec-font-body) !important;
  color: var(--ec-fg) !important;
  box-shadow: none !important;
  transition: border-color .25s ease;
}
#contacto .ff-el-form-control:focus,
#contacto input:focus,
#contacto textarea:focus {
  border-bottom-color: var(--ec-deepblue) !important;
  outline: none !important;
}
#contacto .ff-btn-submit,
#contacto button[type="submit"] {
  background: var(--ec-deepblue) !important;
  color: var(--ec-bg) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 16px 40px !important;
  font-family: var(--ec-font-body) !important;
  font-size: 14px !important;
  letter-spacing: .04em;
  font-weight: 500 !important;
  transition: all .3s ease;
  cursor: pointer;
}
#contacto .ff-btn-submit:hover {
  background: rgba(23, 36, 71, .9) !important;
  transform: scale(1.02);
}
#contacto .frm-fluent-form .ff-el-group.ff-el-submit-form,
#contacto .frm-fluent-form .ff_submit_btn_wrapper {
  text-align: center !important;
}

/* ----------------------------------------------------------------
   13. FOOTER (#site-footer) — deepblue, 3 columns
   ---------------------------------------------------------------- */
#site-footer { color: rgba(250, 246, 239, 0.85); }
#site-footer .footer-logo img,
#site-footer img.attachment-full {
  height: 80px !important;
  width: auto !important;
  max-width: 280px !important;
  object-fit: contain !important;
}
#footer-cols.e-con-boxed > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 48px !important;
  align-items: flex-start !important;
}
@media (min-width: 768px) {
  #footer-cols > .e-con-inner > .elementor-element:nth-child(1) {
    flex: 0 0 calc(40% - 32px) !important;
    max-width: calc(40% - 32px) !important;
  }
  #footer-cols > .e-con-inner > .elementor-element:nth-child(2),
  #footer-cols > .e-con-inner > .elementor-element:nth-child(3) {
    flex: 0 0 calc(25% - 32px) !important;
    max-width: calc(25% - 32px) !important;
  }
}
@media (max-width: 767px) {
  #footer-cols > .e-con-inner > .elementor-element {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}
#site-footer .elementor-icon-list-item a {
  color: rgba(250, 246, 239, 0.7) !important;
  font-family: var(--ec-font-body);
  font-size: 14px;
  font-weight: 300;
  transition: color .25s ease;
}
#site-footer .elementor-icon-list-item a:hover {
  color: var(--ec-bg) !important;
}
#site-footer .elementor-icon-list-icon svg,
#site-footer .elementor-icon-list-icon i {
  color: var(--ec-gold) !important;
}

/* ----------------------------------------------------------------
   13b. BLOG SINGLE POST — header + content
   ---------------------------------------------------------------- */
/* Hero (post-header) — same gradient as homepage hero */
.post-hero { position: relative; }
.post-hero .post-feat-image .elementor-image,
.post-hero .post-feat-image img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  width: 100%;
  border-radius: 2px;
}

/* Post info inline (date · author · reading time) */
.post-hero .elementor-post-info {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 0;
}
.post-hero .elementor-post-info .elementor-post-info__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.post-hero .elementor-post-info .elementor-post-info__terms-list-item,
.post-hero .elementor-post-info .elementor-post-info__terms {
  font-family: var(--ec-font-body);
}

/* Content area typography */
.post-body .elementor-widget-theme-post-content {
  font-family: var(--ec-font-body);
  color: var(--ec-fg);
  font-size: 18px;
  line-height: 1.8;
  font-weight: 300;
}
.post-body .elementor-widget-theme-post-content p {
  margin-bottom: 1.5em;
}
.post-body .elementor-widget-theme-post-content h2 {
  font-family: var(--ec-font-display) !important;
  font-weight: 400;
  color: var(--ec-deepblue);
  font-size: 36px;
  line-height: 1.15;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
}
@media (min-width: 768px) {
  .post-body .elementor-widget-theme-post-content h2 { font-size: 42px; }
}
.post-body .elementor-widget-theme-post-content h3 {
  font-family: var(--ec-font-display) !important;
  font-weight: 400;
  color: var(--ec-deepblue);
  font-size: 28px;
  margin-top: 1.4em;
  margin-bottom: 0.5em;
}
.post-body .elementor-widget-theme-post-content blockquote {
  border-left: 3px solid var(--ec-gold);
  padding: 16px 0 16px 32px;
  margin: 32px 0;
  font-family: var(--ec-font-display);
  font-style: italic;
  font-size: 24px;
  font-weight: 400;
  color: var(--ec-gold);
  line-height: 1.4;
}
.post-body .elementor-widget-theme-post-content blockquote p { margin: 0; }
.post-body .elementor-widget-theme-post-content em,
.post-body .elementor-widget-theme-post-content i {
  font-style: italic;
  color: var(--ec-accent);
}
.post-body .elementor-widget-theme-post-content strong {
  font-weight: 600;
  color: var(--ec-deepblue);
}
.post-body .elementor-widget-theme-post-content a {
  color: var(--ec-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ----------------------------------------------------------------
   14. RESPONSIVE — section padding scale on mobile
   ---------------------------------------------------------------- */
@media (max-width: 767px) {
  #obras, #elementos, #contacto, #founder,
  .section-brush {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
}/* End custom CSS */