:root {
  --lm-brand: var(--wp--preset--color--limpiamex-brand, #117E38);
  --lm-brand-dark: var(--wp--preset--color--limpiamex-brand-dark, #0D642D);
  --lm-lime: var(--wp--preset--color--limpiamex-lime, #97BE17);
  --lm-ink: var(--wp--preset--color--limpiamex-ink, #143020);
  --lm-mint: var(--wp--preset--color--limpiamex-mint, #EEF6EF);
  --lm-footer: var(--wp--preset--color--limpiamex-footer, #081C12);
  --lm-border: var(--wp--preset--color--limpiamex-border, #D8E5DC);
  --lm-shadow-sm: 0 8px 24px rgba(20,48,32,.08);
  --lm-shadow-md: 0 14px 34px rgba(20,48,32,.12);
  --lm-shadow-lg: 0 22px 55px rgba(20,48,32,.16);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body, .editor-styles-wrapper { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--lm-ink); }
body a { text-underline-offset: .18em; }
.wp-site-blocks { min-height: 100vh; }

/* Native layout helpers: these style presentation, not content ownership. */
.lm-section { padding-top: clamp(64px, 7vw, 96px); padding-bottom: clamp(64px, 7vw, 96px); }
.lm-section--stats { padding-top: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--lm-border); }
.lm-section--cta { padding-top: clamp(64px, 7vw, 88px); padding-bottom: clamp(64px, 7vw, 88px); }
.lm-page-hero { padding-top: clamp(72px, 8vw, 112px); padding-bottom: clamp(72px, 8vw, 112px); }
.lm-copy-max { max-width: 760px; margin-inline: 0; }
.lm-copy-wide { max-width: 900px; margin-inline: 0; }
.lm-copy-center { max-width: 920px; margin-inline: auto; text-align: center; }
.lm-narrow { max-width: 820px; margin-inline: auto; }
.lm-columns-center { align-items: center; }
.lm-columns-bottom { align-items: flex-end; }
.lm-columns-stretch { align-items: stretch; }

/* Native block style variants */
.wp-block-button.is-style-limpiamex-primary .wp-block-button__link {
  background: var(--lm-brand); color: #fff; border: 1px solid var(--lm-brand); border-radius: 999px;
  padding: .85rem 1.55rem; font-weight: 700; transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.wp-block-button.is-style-limpiamex-primary .wp-block-button__link:hover { background: var(--lm-brand-dark); border-color: var(--lm-brand-dark); transform: translateY(-1px); }
.wp-block-button.is-style-limpiamex-lime .wp-block-button__link {
  background: var(--lm-lime); color: var(--lm-ink); border: 1px solid var(--lm-lime); border-radius: 999px;
  padding: .85rem 1.55rem; font-weight: 800; transition: filter .2s ease, transform .2s ease;
}
.wp-block-button.is-style-limpiamex-lime .wp-block-button__link:hover { filter: brightness(.96); transform: translateY(-1px); }
.wp-block-button.is-style-limpiamex-outline .wp-block-button__link {
  background: transparent; color: var(--lm-brand); border: 1px solid rgba(17,126,56,.4); border-radius: 999px; padding: .8rem 1.5rem; font-weight: 700;
}
.wp-block-button.is-style-limpiamex-outline .wp-block-button__link:hover { background: var(--lm-mint); border-color: var(--lm-brand); }
.wp-block-button.is-style-limpiamex-outline-light .wp-block-button__link {
  background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: .8rem 1.5rem; font-weight: 700;
}
.wp-block-button.is-style-limpiamex-outline-light .wp-block-button__link:hover { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.65); }

.wp-block-group.is-style-limpiamex-card {
  overflow: hidden; border-radius: 24px; background: #fff; box-shadow: var(--lm-shadow-sm); height: 100%;
  transition: transform .25s ease, box-shadow .25s ease;
}
.wp-block-group.is-style-limpiamex-card:hover { transform: translateY(-2px); box-shadow: var(--lm-shadow-md); }
.wp-block-group.is-style-limpiamex-sector {
  min-height: 132px; padding: 26px 18px; border: 1px solid var(--lm-border); border-radius: 16px; background: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px;
  transition: background .2s ease, border-color .2s ease;
}
.wp-block-group.is-style-limpiamex-sector:hover { background: var(--lm-mint); border-color: var(--lm-brand); }
.wp-block-group.is-style-limpiamex-sector > p { margin: 0; font-family: Manrope, Inter, sans-serif; font-weight: 700; }
.wp-block-group.is-style-limpiamex-feature-dark {
  min-height: 196px; padding: 28px; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(255,255,255,.055); height: 100%;
  transition: border-color .2s ease, background .2s ease;
}
.wp-block-group.is-style-limpiamex-feature-dark:hover { border-color: rgba(151,190,23,.55); background: rgba(255,255,255,.075); }
.wp-block-group.is-style-limpiamex-feature-dark h3 { color: #fff; }
.wp-block-group.is-style-limpiamex-feature-dark p { color: rgba(255,255,255,.72); }
.wp-block-group.is-style-limpiamex-highlight-brand,
.wp-block-group.is-style-limpiamex-highlight-light { min-height: 100%; padding: clamp(28px,4vw,42px); border-radius: 24px; }
.wp-block-group.is-style-limpiamex-highlight-brand { background: var(--lm-brand); color: #fff; }
.wp-block-group.is-style-limpiamex-highlight-brand h3 { color: #fff; }
.wp-block-group.is-style-limpiamex-highlight-light { background: #fff; border: 1px solid rgba(17,126,56,.20); }
.wp-block-group.is-style-limpiamex-stat { padding: 18px 16px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 2px; }

p.is-style-limpiamex-kicker { margin: 0 0 12px; color: var(--lm-brand); font-size: 12px; font-weight: 800; letter-spacing: .20em; text-transform: uppercase; }
.has-limpiamex-ink-background-color p.is-style-limpiamex-kicker,
.lm-hero p.is-style-limpiamex-kicker { color: var(--lm-lime); }
p.is-style-limpiamex-lead { font-size: clamp(16px,1.5vw,19px); line-height: 1.7; opacity: .78; }
.has-limpiamex-ink-background-color p.is-style-limpiamex-lead, .lm-hero p.is-style-limpiamex-lead { color: rgba(255,255,255,.82); opacity: 1; }
p.is-style-limpiamex-badge {
  display: inline-flex; width: auto; align-items: center; gap: 9px; padding: 8px 16px; border-radius: 999px;
  border: 1px solid rgba(151,190,23,.42); background: rgba(151,190,23,.10); color: var(--lm-lime);
  font-size: 12px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase;
}
p.is-style-limpiamex-stat-number { margin: 4px 0 0; color: var(--lm-ink); font-family: Manrope, Inter, sans-serif; font-size: clamp(26px,2.4vw,34px); font-weight: 800; line-height: 1.05; letter-spacing: -.035em; }
p.is-style-limpiamex-stat-label { margin: 6px 0 0; color: rgba(20,48,32,.52); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

figure.wp-block-image.is-style-limpiamex-rounded { margin: 0; }
figure.wp-block-image.is-style-limpiamex-rounded img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: 24px; box-shadow: var(--lm-shadow-lg); }
figure.wp-block-image.is-style-limpiamex-card-image { margin: 0; overflow: hidden; border-radius: 24px 24px 0 0; }
figure.wp-block-image.is-style-limpiamex-card-image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; transition: transform .5s ease; }
.is-style-limpiamex-card:hover figure.is-style-limpiamex-card-image img { transform: scale(1.05); }

/* Header: all content remains editable through Appearance → Editor → Header. */
.lm-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(216,229,220,.82); background: rgba(255,255,255,.94) !important; backdrop-filter: blur(12px); }
.admin-bar .lm-header { top: 32px; }
.lm-header__inner { min-height: 88px; gap: 24px; }
.lm-brand { min-width: 0; gap: 12px; }
.lm-site-logo img, .lm-brand--footer .wp-block-site-logo img { border-radius: 12px; }
.lm-brand__text { gap: 0; }
.lm-brand__text > * { margin: 0; }
.lm-site-title, .lm-brand .wp-block-site-title { margin: 0; font-family: Manrope, Inter, sans-serif; font-weight: 800; line-height: 1.05; letter-spacing: -.025em; }
.lm-site-title a, .lm-brand .wp-block-site-title a { color: var(--lm-ink); text-decoration: none; }
.lm-site-tagline, .lm-brand .wp-block-site-tagline { margin: 3px 0 0; color: var(--lm-brand); font-size: 11px; font-weight: 600; line-height: 1.2; letter-spacing: .18em; text-transform: uppercase; }
.lm-header__actions { gap: 24px; }
.lm-navigation { gap: 28px; }
.lm-navigation .wp-block-navigation-item__content { color: rgba(20,48,32,.72); font-size: 15px; font-weight: 700; text-decoration: none; }
.lm-navigation .wp-block-navigation-item__content:hover { color: var(--lm-brand); }
.lm-header-cta .wp-block-button__link { white-space: nowrap; }

/* Hero */
.lm-hero { padding-left: clamp(18px,3vw,32px); padding-right: clamp(18px,3vw,32px); }
.lm-hero .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(90deg, rgba(20,48,32,.97) 0%, rgba(20,48,32,.82) 52%, rgba(20,48,32,.32) 100%) !important; }
.lm-hero-content { width: 100%; max-width: 1280px; margin-inline: auto; }
.lm-hero-content > * { max-width: 800px; }
.lm-hero-title { color: #fff; max-width: 820px; }
.lm-hero-lead { max-width: 650px !important; }
.lm-hero-buttons { margin-top: 32px; }

/* Decorative icons from the original Horizons visual language. */
[class*="lm-icon-"]::before,
.lm-process-icon::before,
.lm-big-icon::before {
  content: ""; display: block; flex: 0 0 auto; width: 28px; height: 28px; background: currentColor;
  -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
p[class*="lm-icon-"] { position: relative; }
p[class*="lm-icon-"]::before { display: inline-block; vertical-align: -6px; margin-right: 10px; }
.lm-icon-award::before { -webkit-mask-image:url("../icons/award.svg"); mask-image:url("../icons/award.svg"); }
.lm-icon-shield-check::before { -webkit-mask-image:url("../icons/shield-check.svg"); mask-image:url("../icons/shield-check.svg"); }
.lm-icon-map-pin::before { -webkit-mask-image:url("../icons/map-pin.svg"); mask-image:url("../icons/map-pin.svg"); }
.lm-icon-clock::before { -webkit-mask-image:url("../icons/clock.svg"); mask-image:url("../icons/clock.svg"); }
.lm-icon-building2::before { -webkit-mask-image:url("../icons/building2.svg"); mask-image:url("../icons/building2.svg"); }
.lm-icon-store::before { -webkit-mask-image:url("../icons/store.svg"); mask-image:url("../icons/store.svg"); }
.lm-icon-factory::before { -webkit-mask-image:url("../icons/factory.svg"); mask-image:url("../icons/factory.svg"); }
.lm-icon-ferris-wheel::before { -webkit-mask-image:url("../icons/ferris-wheel.svg"); mask-image:url("../icons/ferris-wheel.svg"); }
.lm-icon-truck::before { -webkit-mask-image:url("../icons/truck.svg"); mask-image:url("../icons/truck.svg"); }
.lm-icon-plane::before { -webkit-mask-image:url("../icons/plane.svg"); mask-image:url("../icons/plane.svg"); }
.lm-icon-car::before { -webkit-mask-image:url("../icons/car.svg"); mask-image:url("../icons/car.svg"); }
.lm-icon-landmark::before { -webkit-mask-image:url("../icons/landmark.svg"); mask-image:url("../icons/landmark.svg"); }
.lm-icon-heart-pulse::before { -webkit-mask-image:url("../icons/heart-pulse.svg"); mask-image:url("../icons/heart-pulse.svg"); }
.lm-icon-building::before { -webkit-mask-image:url("../icons/building.svg"); mask-image:url("../icons/building.svg"); }
.lm-icon-dumbbell::before { -webkit-mask-image:url("../icons/dumbbell.svg"); mask-image:url("../icons/dumbbell.svg"); }
.lm-icon-clapperboard::before { -webkit-mask-image:url("../icons/clapperboard.svg"); mask-image:url("../icons/clapperboard.svg"); }
.lm-icon-palette::before { -webkit-mask-image:url("../icons/palette.svg"); mask-image:url("../icons/palette.svg"); }
.lm-icon-flask-conical::before { -webkit-mask-image:url("../icons/flask-conical.svg"); mask-image:url("../icons/flask-conical.svg"); }
.lm-icon-leaf::before { -webkit-mask-image:url("../icons/leaf.svg"); mask-image:url("../icons/leaf.svg"); }
.lm-icon-users::before { -webkit-mask-image:url("../icons/users.svg"); mask-image:url("../icons/users.svg"); }
.lm-icon-clipboard-check::before { -webkit-mask-image:url("../icons/clipboard-check.svg"); mask-image:url("../icons/clipboard-check.svg"); }
.lm-icon-cpu::before { -webkit-mask-image:url("../icons/cpu.svg"); mask-image:url("../icons/cpu.svg"); }
.lm-icon-file-search::before { -webkit-mask-image:url("../icons/file-search.svg"); mask-image:url("../icons/file-search.svg"); }
.lm-icon-file-text::before { -webkit-mask-image:url("../icons/file-text.svg"); mask-image:url("../icons/file-text.svg"); }
.lm-icon-rocket::before { -webkit-mask-image:url("../icons/rocket.svg"); mask-image:url("../icons/rocket.svg"); }
.lm-icon-line-chart::before { -webkit-mask-image:url("../icons/line-chart.svg"); mask-image:url("../icons/line-chart.svg"); }
.lm-icon-target::before { -webkit-mask-image:url("../icons/target.svg"); mask-image:url("../icons/target.svg"); }
.lm-icon-eye::before { -webkit-mask-image:url("../icons/eye.svg"); mask-image:url("../icons/eye.svg"); }
.lm-icon-heart-handshake::before { -webkit-mask-image:url("../icons/heart-handshake.svg"); mask-image:url("../icons/heart-handshake.svg"); }

.is-style-limpiamex-stat[class*="lm-icon-"] { color: var(--lm-brand); }
.is-style-limpiamex-stat[class*="lm-icon-"]::before { width: 25px; height: 25px; margin-bottom: 8px; }
.is-style-limpiamex-sector[class*="lm-icon-"] { color: var(--lm-brand); }
.is-style-limpiamex-sector[class*="lm-icon-"]::before { width: 32px; height: 32px; margin-bottom: 4px; }
.is-style-limpiamex-feature-dark[class*="lm-icon-"] { color: var(--lm-lime); }
.is-style-limpiamex-feature-dark[class*="lm-icon-"]::before { width: 32px; height: 32px; margin-bottom: 16px; }
.is-style-limpiamex-highlight-brand[class*="lm-icon-"] { color: var(--lm-lime); }
.is-style-limpiamex-highlight-light[class*="lm-icon-"] { color: var(--lm-brand); }
.is-style-limpiamex-highlight-brand[class*="lm-icon-"]::before,
.is-style-limpiamex-highlight-light[class*="lm-icon-"]::before { width: 40px; height: 40px; margin-bottom: 20px; }
.lm-mission-card[class*="lm-icon-"] { color: var(--lm-brand); padding: 40px; }
.lm-mission-card[class*="lm-icon-"]::before { width: 38px; height: 38px; margin-bottom: 16px; }
.lm-value-card[class*="lm-icon-"]::before { width: 30px; height: 30px; margin-bottom: 12px; }
.lm-big-icon { color: var(--lm-lime); }
.lm-big-icon::before { width: 42px; height: 42px; }

/* Problem / cards */
.lm-warning-list, .lm-check-list, .lm-article-list { list-style: none; padding-left: 0; }
.lm-warning-list li, .lm-check-list li { position: relative; padding-left: 32px; margin: 15px 0; }
.lm-warning-list li::before, .lm-check-list li::before { content:""; position:absolute; left:0; top:.15em; width:20px; height:20px; background:var(--lm-brand); -webkit-mask:center/contain no-repeat; mask:center/contain no-repeat; }
.lm-warning-list li::before { -webkit-mask-image:url("../icons/alert-triangle.svg"); mask-image:url("../icons/alert-triangle.svg"); }
.lm-check-list li::before { -webkit-mask-image:url("../icons/check-circle.svg"); mask-image:url("../icons/check-circle.svg"); }
.lm-check-list--light li { color: rgba(255,255,255,.86); }
.lm-check-list--light li::before { background: var(--lm-lime); }
.lm-check-list--spacious li { margin-block: 20px; }
.lm-image-wrap { position: relative; }
.lm-float-note { position: absolute; left: -30px; bottom: -24px; width: auto; min-width: 260px; padding: 17px 24px; border-radius: 17px; background: var(--lm-ink); box-shadow: var(--lm-shadow-md); z-index: 3; }
.lm-float-note__big { margin:0; color:var(--lm-lime); font-family:Manrope,Inter,sans-serif; font-size:22px; font-weight:800; }
.lm-float-note__small { margin:3px 0 0; color:rgba(255,255,255,.72); font-size:13px; }
.lm-card-body { padding: 26px 28px 30px; }
.lm-card-body > :first-child { margin-top: 0; }

/* Process */
.lm-process-item { min-width: 0; }
.lm-process-number { margin: 0 0 8px; color: #dceadf; font-family: Manrope, Inter, sans-serif; font-size: 48px; font-weight: 800; line-height: 1; letter-spacing: -.04em; }
.lm-process-icon { color: var(--lm-brand); }
.lm-process-icon::before { width: 29px; height: 29px; margin-bottom: 12px; }
.lm-big-number { margin-top: 28px; color: var(--lm-lime); font-family: Manrope, Inter, sans-serif; font-size: 60px; font-weight: 800; line-height: 1; }

/* FAQ */
.lm-faq .wp-block-details { margin:0; padding:0; border-bottom:1px solid var(--lm-border); }
.lm-faq summary { position:relative; cursor:pointer; list-style:none; padding:20px 38px 20px 0; font-family:Manrope,Inter,sans-serif; font-size:16px; font-weight:700; color:var(--lm-ink); }
.lm-faq summary::-webkit-details-marker { display:none; }
.lm-faq summary::after { content:"+"; position:absolute; right:5px; top:50%; transform:translateY(-50%); color:var(--lm-brand); font-size:25px; font-weight:400; transition:transform .2s ease; }
.lm-faq details[open] summary::after { transform:translateY(-50%) rotate(45deg); }
.lm-faq details p { margin-top:0; padding-right:36px; color:rgba(20,48,32,.72); }

/* Blog cards are native Query Loop blocks. */
.lm-post-grid { gap: 30px; }
.lm-post-card { height:100%; min-width:0; overflow:hidden; border:1px solid var(--lm-border); border-radius:24px; background:#fff; box-shadow:0 5px 18px rgba(20,48,32,.055); transition:transform .25s ease, box-shadow .25s ease; }
.lm-post-card:hover { transform:translateY(-2px); box-shadow:var(--lm-shadow-md); }
.lm-post-card__image { margin:0; overflow:hidden; }
.lm-post-card__image img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .5s ease; }
.lm-post-card:hover .lm-post-card__image img { transform:scale(1.045); }
.lm-post-card__body { padding:25px 27px 28px; height:100%; }
.lm-post-card__meta { gap:10px; }
.lm-post-card__meta > * { margin:0; color:var(--lm-brand); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.lm-post-card__meta a { color:inherit; text-decoration:none; }
.lm-post-card__title { margin-top:10px; font-family:Manrope,Inter,sans-serif; font-size:21px; font-weight:800; line-height:1.3; }
.lm-post-card__title a { color:var(--lm-ink); text-decoration:none; }
.lm-post-card__title a:hover { color:var(--lm-brand); }
.lm-post-card__excerpt { color:rgba(20,48,32,.72); font-size:14px; line-height:1.7; }
.lm-post-card__more, .lm-post-card__more a { color:var(--lm-brand); font-size:14px; font-weight:700; text-decoration:none; }
.lm-pagination { margin-top:48px; }
.lm-blog-heading-button { align-self:flex-end; }

/* Single post template — editable in Appearance → Editor → Templates. */
.lm-single-hero { padding-top:70px; padding-bottom:76px; }
.lm-single-hero__inner { gap:14px; }
.lm-single-hero a { color:var(--lm-lime); }
.lm-single-meta { gap:10px; }
.lm-single-meta > * { margin:0; letter-spacing:.06em; text-transform:uppercase; }
.lm-single-meta a { color:var(--lm-lime); }
.lm-single-body { padding-bottom:90px; }
.lm-single-content { position:relative; }
.lm-single-featured { margin-top:-38px; margin-bottom:36px; }
.lm-single-featured img { border-radius:24px; box-shadow:var(--lm-shadow-lg); }
.lm-single-content .wp-block-post-content h2 { margin-top:2.25em; }
.lm-single-content .wp-block-post-content p, .lm-single-content .wp-block-post-content li { color:rgba(20,48,32,.77); line-height:1.8; }
.lm-article-list li { position:relative; padding-left:24px; margin:10px 0; }
.lm-article-list li::before { content:""; position:absolute; left:3px; top:.75em; width:7px; height:7px; border-radius:50%; background:var(--lm-brand); }
.lm-single-cta { margin-top:56px; padding:34px; border-radius:24px; }

/* Contact */
.lm-contact-facts { margin-top:32px; padding:26px; border-radius:22px; }
.lm-fact { margin:12px 0; font-size:14px; font-weight:700; }
.lm-fact::before, .lm-footer-fact::before { width:20px !important; height:20px !important; color:var(--lm-brand); background:currentColor; }

/* Footer is a native template part. */
.lm-footer { border-top: 4px solid var(--lm-lime); }
.lm-footer__main { padding-top:48px; padding-bottom:42px; gap:48px; }
.lm-footer__brand, .lm-footer__social, .lm-footer__operation { min-width:0; }
.lm-brand--footer .wp-block-site-title a { color:#fff; }
.lm-footer__description { max-width:440px; color:rgba(255,255,255,.70); font-size:14px; line-height:1.75; }
.lm-footer h3 { margin-top:0; text-transform:uppercase; letter-spacing:.10em; }
.lm-footer .wp-block-social-links { margin-top:18px; }
.lm-footer .wp-social-link { background:transparent !important; }
.lm-footer-fact { margin:13px 0; color:rgba(255,255,255,.80); font-size:14px; font-weight:600; }
.lm-footer-fact::before { background:var(--lm-lime) !important; }
.lm-footer__operation .wp-block-buttons { margin-top:22px; }
.lm-footer__bottom { padding-top:20px; padding-bottom:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.54); }
.lm-footer__bottom p { margin:0; }
.lm-footer__bottom a { color:rgba(255,255,255,.70); }
.lm-footer__bottom a:hover { color:var(--lm-lime); }

/* Privacy / 404 */
.lm-privacy-section { padding:24px 0; border-bottom:1px solid var(--lm-border); }
.lm-privacy-section h2 { margin-top:0; }
.lm-muted { color:rgba(20,48,32,.55); font-size:13px; }
.lm-404 { min-height:62vh; padding-top:100px; padding-bottom:100px; display:flex; align-items:center; }

/* Motion: without JS the content remains visible. */
.lm-motion-ready .lm-reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }
.lm-motion-ready .lm-reveal.lm-visible { opacity:1; transform:none; }

@media (max-width: 1000px) {
  .lm-post-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .lm-header__actions { gap:14px; }
  .lm-navigation { gap:18px; }
}

@media (max-width: 782px) {
  .admin-bar .lm-header { top:46px; }
  .lm-header__inner { min-height:76px; }
  .lm-header-cta { display:none; }
  .lm-brand__text { display:none; }
  .lm-site-logo img { max-width:54px !important; }
  .lm-hero { min-height:660px !important; }
  .lm-float-note { position:relative; left:auto; bottom:auto; min-width:0; margin:-34px 18px 0; }
  .lm-blog-heading-button { align-self:auto; }
  .lm-footer__main { padding-top:40px; padding-bottom:36px; gap:36px; }
}

@media (max-width: 680px) {
  .lm-section { padding-top:58px; padding-bottom:58px; }
  .lm-page-hero { padding-top:64px; padding-bottom:64px; }
  .lm-hero-buttons { flex-direction:column; align-items:stretch; }
  .lm-hero-buttons .wp-block-button, .lm-hero-buttons .wp-block-button__link { width:100%; text-align:center; }
  .lm-post-grid--2, .lm-post-grid--3 { grid-template-columns: 1fr !important; }
  .lm-single-hero { padding-top:54px; padding-bottom:62px; }
  .lm-single-featured { margin-top:-28px; }
  .lm-single-cta { padding:26px 20px; }
  .lm-footer__bottom { align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .lm-motion-ready .lm-reveal { opacity:1; transform:none; }
}

/* =========================================================
   v3.1 — amplitud visual + header/footer compactos
   Mantiene la arquitectura de Block Theme nativa.
   ========================================================= */

/* Evita el "doble constrained" de Gutenberg dentro de las secciones anchas.
   Los bloques de lectura con lm-copy-* conservan su ancho editorial. */
.lm-section > .alignwide.is-layout-constrained > :where(.wp-block-columns, .wp-block-query),
.lm-section > .alignwide.is-layout-constrained > .wp-block-group:not(.lm-copy-max):not(.lm-copy-wide):not(.lm-copy-center):not(.lm-narrow) {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Elimina separación artificial entre contenido y partes de plantilla. */
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > .wp-block-post-content {
  margin-block-start: 0;
}

/* Header más cercano a la proporción original de Horizons. */
.lm-header__inner { min-height: 80px; }
.lm-brand { gap: 0; }
.lm-site-logo { margin: 0; }

/* Footer: diferencia cromática sutil respecto al último bloque #143020,
   sin una franja decorativa que corte la transición. */
.lm-footer { border-top: 0; }
.lm-footer__main {
  padding-top: 30px;
  padding-bottom: 26px;
  gap: 34px;
}
.lm-footer__brand,
.lm-footer__social,
.lm-footer__operation { align-self: start; }
.lm-footer-logo { margin: 0 0 12px; }
.lm-footer__description {
  max-width: 360px;
  margin: 0;
  color: rgba(255,255,255,.70);
  font-size: 13px;
  line-height: 1.6;
}
.lm-footer h3 { margin: 0 0 10px; }
.lm-footer .wp-block-social-links { margin-top: 8px; margin-bottom: 0; }
.lm-footer-fact { margin: 8px 0; font-size: 13px; }
.lm-footer-fact::before { width: 18px !important; height: 18px !important; }
.lm-footer__operation .wp-block-buttons { margin-top: 14px; }
.lm-footer__operation .wp-block-button__link { padding-top: .7rem; padding-bottom: .7rem; }
.lm-footer__bottom {
  padding-top: 14px;
  padding-bottom: 16px;
}

@media (max-width: 899px) {
  .lm-header__inner { min-height: 72px; }
  .lm-footer__main { padding-top: 28px; padding-bottom: 24px; gap: 28px; }
}

@media (max-width: 640px) {
  .lm-footer__main { padding-top: 24px; padding-bottom: 20px; gap: 24px; }
  .lm-footer__bottom { padding-top: 12px; padding-bottom: 14px; gap: 8px; }
}
