/* Shared public design system: Home, Viviendas, AC, DC, Enlaces, Servicios. */
.ap-root {
  --ap-accent:#126846; --ap-soft:#edf6f1; --ap-ink:#163c30;
  --ap-muted:#61756c; --ap-line:#dce7e1; --ap-width:1210px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  color:var(--ap-ink)!important; background:#f5f8f6!important;
  min-height:100vh; margin:0; overflow-x:clip!important;
}
.ap-root[data-module="ac"] {--ap-accent:#2563eb;--ap-soft:#eef4ff}
.ap-root[data-module="dc"] {--ap-accent:#b65f19;--ap-soft:#fff5eb}
.ap-root *, .ap-root *::before, .ap-root *::after {box-sizing:border-box}
.ap-root .ap-header {position:sticky;top:0;z-index:1100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--ap-line);backdrop-filter:blur(18px);box-shadow:0 4px 24px #17362d04;padding:0;margin:0}
.ap-root .ap-header-inner {width:min(var(--ap-width),calc(100% - 48px));margin:auto;min-height:76px;display:grid;grid-template-columns:235px minmax(0,1fr) 235px;gap:12px;align-items:center}
.ap-root .ap-brand {display:flex;gap:11px;align-items:center;color:#163c30;text-decoration:none;min-width:0}
.ap-root .ap-brand-mark {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:#126846;color:white;border-radius:14px;font-size:22px;font-weight:800;box-shadow:0 6px 18px #12684618}
.ap-root .ap-brand strong {display:block;font-size:25px;font-weight:800;letter-spacing:-1px;line-height:1.1}
.ap-root .ap-brand small {display:block;margin-top:5px;font-size:8px;font-weight:650;letter-spacing:1.65px;text-transform:uppercase;color:var(--ap-muted);white-space:nowrap}
.ap-root .ap-nav {display:flex;gap:3px;align-items:center;justify-content:center;min-width:0;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.ap-root .ap-nav::-webkit-scrollbar {display:none}
.ap-root .ap-nav-link {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:38px;padding:9px 10px;border-radius:10px;color:#486257;text-decoration:none;font-size:12px;font-weight:700;line-height:20px;transition:background .18s,color .18s}
.ap-root .ap-nav-link:hover {background:var(--ap-soft);color:var(--ap-accent)}
.ap-root .ap-nav-link.is-active {background:var(--ap-accent);color:#fff}
.ap-root .ap-header-actions {display:flex;align-items:center;justify-content:flex-end;gap:14px}
.ap-root .ap-login,.ap-root .ap-register {display:inline-flex;align-items:center;justify-content:center;min-height:38px;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap;border-radius:10px;line-height:20px}
.ap-root .ap-login {color:#315748;padding:9px 4px}
.ap-root .ap-register {color:white;background:#126846;padding:9px 13px}
.ap-root a:focus-visible,.ap-root button:focus-visible {outline:3px solid var(--ap-accent);outline-offset:4px}
.ap-root .ap-wrap {width:min(var(--ap-width),calc(100% - 48px))!important;margin-left:auto!important;margin-right:auto!important}
.ap-root .ap-main {max-width:none!important;width:min(var(--ap-width),calc(100% - 48px))!important;margin:40px auto 0!important;padding:0 0 64px!important}
.ap-root .ap-hero-section {width:100%!important;max-width:none!important;padding:40px 0 32px!important;margin:0!important;background:none!important}
.ap-root .ap-hero {
  display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  align-items:center!important;gap:48px!important;min-height:420px!important;
  padding:24px 36px!important;border:1px solid var(--ap-line)!important;border-radius:28px!important;
  background:linear-gradient(125deg,#ffffff 35%,var(--ap-soft))!important;
  box-shadow:0 12px 40px #17362d06!important;margin-bottom:0!important;position:relative;overflow:hidden;
}
.ap-root .ap-hero::before,.ap-root .ap-hero::after {display:none!important}
.ap-root .ap-hero-copy {min-width:0;position:relative;z-index:1}
.ap-root .ap-hero h1 {font-size:clamp(34px,3vw,40px)!important;font-weight:780!important;letter-spacing:-2px!important;line-height:1.08!important;color:var(--ap-ink)!important;margin:14px 0!important;max-width:none!important;text-wrap:balance}
.ap-root .ap-hero h1 span {color:var(--ap-accent)!important;background:none!important;-webkit-text-fill-color:var(--ap-accent)}
.ap-root .ap-hero-copy>p {font-size:16px!important;line-height:1.65!important;color:var(--ap-muted)!important;margin:0 0 16px!important;max-width:none!important}
.ap-root .ap-eyebrow {display:inline-flex!important;align-items:center;gap:8px;border:1px solid var(--ap-line)!important;background:#fff!important;color:var(--ap-accent)!important;border-radius:999px;padding:7px 11px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.5px!important;margin:0!important;line-height:18px}
.ap-root .ap-visual {position:relative!important;overflow:hidden!important;aspect-ratio:5/3!important;width:100%!important;max-width:none!important;border:0!important;border-radius:20px!important;background:#eaf1ed!important;box-shadow:0 12px 30px #17362d0b!important;margin:0!important;padding:0!important;order:initial!important}
.ap-root .ap-visual img {position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;margin:0!important;border:0!important;border-radius:0!important}
.ap-root .ap-visual>span {position:absolute!important;left:12px!important;right:12px!important;bottom:12px!important;padding:10px 12px!important;background:rgba(255,255,255,.94)!important;color:var(--ap-ink)!important;border:1px solid #ffffffb8!important;border-radius:12px!important;font-size:10px!important;font-weight:750!important;line-height:1.5!important;text-align:center!important;backdrop-filter:blur(12px);box-shadow:none!important}
.ap-root .ap-visual-wrap {min-width:0;order:initial!important}
.ap-root .ap-hero-actions {display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.ap-root .ap-hero-actions>a {min-height:42px!important;border-radius:11px!important;font-size:12px!important;font-weight:750!important;padding:11px 15px!important;line-height:20px!important}
.ap-root .ap-hero .official-row {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ap-root .ap-hero .publication-inline {margin-top:12px;color:var(--ap-muted);font-size:11px}
.ap-root .ap-hero-meta {display:flex;flex-wrap:wrap;gap:14px!important;margin-top:16px!important;font-size:11px;color:var(--ap-muted)}
.ap-root .ap-hero-meta span {font-size:11px!important;color:var(--ap-muted)!important}
.ap-root .ap-section {padding-top:40px!important;padding-bottom:40px!important}
.ap-root .ap-section h2 {font-size:clamp(28px,3vw,38px)!important;line-height:1.15!important;letter-spacing:-1px!important;color:var(--ap-ink)!important}
.ap-root .ap-balanced-grid {display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:20px!important}
.ap-root .ap-balanced-grid>* {grid-column:span 2;min-width:0}
.ap-root .ap-balanced-grid>*:nth-last-child(-n+2) {grid-column:span 3}
.ap-root .ap-home-card {min-height:410px!important;border-radius:22px!important;box-shadow:0 8px 28px #17362d06!important}
.ap-root .ap-home-card:last-child {background:#fff}
.ap-root .ap-category-card {min-height:220px!important;border-radius:22px!important;padding:24px!important;text-align:left!important;box-shadow:0 8px 28px #17362d06!important}
.ap-root .ap-category-card h2 {font-size:19px!important;letter-spacing:-.35px!important;line-height:1.3!important}
.ap-root .ap-category-card p {font-size:13px!important;line-height:1.6!important}
.ap-root .ap-grid-four {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
.ap-root .ap-grid-four>button {min-height:210px!important;border-radius:22px!important;padding:24px!important;box-shadow:0 8px 28px #17362d06!important}
.ap-root .ap-housing-section {width:min(var(--ap-width),calc(100% - 48px))!important;margin:0 auto 32px!important}
.ap-root .ap-housing-note {padding:22px 26px!important;border:1px solid var(--ap-line)!important;background:white!important;border-radius:20px!important;box-shadow:0 8px 28px #17362d04!important}
.ap-root .landingDifferentiator {margin:0!important}
.ap-root .ap-housing-note .landingDifferentiator {width:100%!important;max-width:none!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.ap-root .landingHeroCopy .landingMicrocopy {font-size:11px!important;line-height:1.6!important;margin-top:14px!important;margin-bottom:0!important}
.ap-root .landingRoleCta {background:#126846!important}
.ap-root .landingRoleCta.secondary {background:#fff!important;color:#126846!important;border-color:var(--ap-line)!important}
.ap-root .ap-hero-search {margin-top:16px;border-radius:14px!important;border:1px solid var(--ap-line)!important;box-shadow:none!important;padding:12px!important}
.ap-root .ap-hero-search a {border-radius:10px!important;font-size:12px!important;padding:12px!important;white-space:nowrap}
.ap-root .ap-hero-topline {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ap-root .ap-hero-topline>a {font-size:11px!important;padding:7px 10px!important;box-shadow:none}
.ap-root .intro {margin-bottom:24px}
.ap-root .stats {gap:20px;margin:24px 0}
.ap-root .stat {border-radius:18px;padding:20px;border-color:var(--ap-line);box-shadow:0 6px 24px #17362d04}
.ap-root .layout {gap:20px}
.ap-root .panel {border-radius:22px;border-color:var(--ap-line);box-shadow:0 8px 28px #17362d05}
.ap-root .ap-footer,.ap-root~.legalFooter {width:min(1210px,calc(100% - 48px));margin:24px auto 0;padding:24px 0 32px;border-top:1px solid #dce7e1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#61756c;font:11px/1.6 Inter,ui-sans-serif,system-ui,sans-serif;background:transparent}
.ap-root .ap-footer nav,.ap-root~.legalFooter nav {display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ap-root .ap-footer a,.ap-root~.legalFooter a {color:#486257;text-decoration:none}
@media(max-width:1150px) {
 .ap-root .ap-header-inner {grid-template-columns:1fr auto;gap:0 16px;padding:14px 0 10px;min-height:112px}
 .ap-root .ap-nav {grid-column:1/-1;grid-row:2;justify-content:center;margin-top:10px}
 .ap-root .ap-header-actions {grid-column:2;grid-row:1}
 .ap-root .ap-hero {gap:32px!important;padding:28px!important}
}
@media(max-width:900px) {
 .ap-root .ap-hero {grid-template-columns:1fr!important;min-height:0!important;gap:28px!important}
 .ap-root .ap-hero h1 {font-size:40px!important}
 .ap-root .ap-visual {width:100%!important;max-width:none!important}
 .ap-root .ap-grid-four {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ap-root .ap-hero-copy {order:0}
 .ap-root .ap-visual,.ap-root .ap-visual-wrap {order:1!important}
}
@media(max-width:600px) {
 .ap-root .ap-header-inner,.ap-root .ap-wrap,.ap-root .ap-main,.ap-root .ap-housing-section {width:calc(100% - 32px)!important}
 .ap-root .ap-header-inner {min-height:116px;padding:12px 0 10px;gap:0 8px}
 .ap-root .ap-brand-mark {width:36px;height:36px;flex-basis:36px;border-radius:12px;font-size:19px}
 .ap-root .ap-brand {gap:8px}
 .ap-root .ap-brand strong {font-size:21px}
 .ap-root .ap-brand small {font-size:6px;letter-spacing:1px;margin-top:4px}
 .ap-root .ap-header-actions {gap:8px}
 .ap-root .ap-login,.ap-root .ap-register {font-size:11px;min-height:34px}
 .ap-root .ap-register {padding:7px 9px}
 .ap-root .ap-nav {justify-content:flex-start;width:100%;gap:4px;padding:2px 0;margin-top:10px}
 .ap-root .ap-nav-link {font-size:11px;padding:7px 10px;min-height:34px}
 .ap-root .ap-main {margin-top:24px!important}
 .ap-root .ap-hero-section {padding:24px 0!important}
 .ap-root .ap-hero {padding:24px!important;border-radius:22px!important;gap:24px!important}
 .ap-root .ap-hero h1 {font-size:34px!important;letter-spacing:-1.2px!important}
 .ap-root .ap-hero-copy>p {font-size:15px!important}
 .ap-root .ap-visual {border-radius:16px!important}
 .ap-root .ap-visual>span {left:8px!important;right:8px!important;bottom:8px!important;padding:7px 9px!important;font-size:9px!important}
 .ap-root .ap-balanced-grid {grid-template-columns:1fr!important;gap:16px!important}
 .ap-root .ap-balanced-grid>* {grid-column:auto!important}
 .ap-root .ap-home-card {min-height:0!important}
 .ap-root .ap-grid-four {gap:12px!important}
 .ap-root .ap-grid-four>button {padding:16px!important;min-height:170px!important}
 .ap-root .ap-category-card {min-height:200px!important}
 .ap-root .ap-hero-search {display:grid!important;grid-template-columns:1fr!important;gap:12px}
 .ap-root .ap-hero-search input {width:100%;min-width:0;font-size:12px}
 .ap-root .ap-hero-actions {display:grid;grid-template-columns:1fr;width:100%}
 .ap-root .ap-hero-actions>a {justify-content:center;text-align:center}
 .ap-root .stats {gap:10px}
 .ap-root .stat {padding:12px}
 .ap-root .ap-section {padding-top:28px!important;padding-bottom:28px!important}
 .ap-root .ap-footer,.ap-root~.legalFooter {width:calc(100% - 32px);align-items:flex-start;flex-direction:column;gap:14px}
}
@media(max-width:380px) {.ap-root .ap-brand small{display:none}.ap-root .ap-header-actions{gap:6px}.ap-root .ap-login,.ap-root .ap-register{font-size:10px}.ap-root .ap-register{padding:7px 8px}}
@media(prefers-reduced-motion:reduce) {.ap-root *, .ap-root *::before, .ap-root *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The same social invitation follows the hero on all six public pages. */
.ap-root .ap-channel {width:min(var(--ap-width),calc(100% - 48px));margin:0 auto 32px;min-height:128px;padding:24px;display:flex;align-items:center;gap:20px;background:linear-gradient(110deg,#effbf3,#fff 65%,#fff4fa);border:1px solid #c6e5d3;border-radius:20px;box-shadow:0 8px 28px #128c7e0a}
.ap-root .ap-main .ap-channel {width:100%;margin-top:32px}
.ap-root .ap-channel-icons {display:flex;align-items:center;gap:10px;flex-shrink:0}
.ap-root .ap-channel-icon {width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;border-radius:50%;background:#25d366;box-shadow:0 5px 16px #25d36630;text-decoration:none;transition:background .18s,box-shadow .18s}
.ap-root .ap-channel-icon img {display:block;width:36px;height:36px}
.ap-root .ap-channel-copy {flex:1;min-width:0}
.ap-root .ap-channel-kicker {display:block;margin:0 0 6px;color:#126846;font-size:10px;line-height:14px;font-weight:800;letter-spacing:1.2px}
.ap-root .ap-channel h2 {margin:0 0 6px;color:var(--ap-ink);font-size:22px;line-height:1.25;letter-spacing:-.5px;font-weight:750}
.ap-root .ap-channel p {margin:0;color:var(--ap-muted);font-size:13px;line-height:1.6}
.ap-root .ap-channel-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:0 0 440px}
.ap-root .ap-channel-link {display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 14px;border-radius:12px;background:#25d366;color:#083b1e;font-size:13px;font-weight:800;line-height:20px;text-decoration:none;white-space:nowrap;box-shadow:0 5px 16px #25d36624;transition:background .18s,box-shadow .18s}
.ap-root .ap-channel-link img {display:block;width:22px;height:22px;flex:0 0 22px}
.ap-root .ap-channel-icon:hover,.ap-root .ap-channel-link:hover {background:#20c75e}
.ap-root .ap-instagram-icon,.ap-root .ap-instagram-icon:hover {background:linear-gradient(135deg,#f58529,#dd2a7b 48%,#8134af);box-shadow:0 5px 16px #dd2a7b24}
.ap-root .ap-instagram-link,.ap-root .ap-instagram-link:hover {background:linear-gradient(110deg,#c13584,#833ab4 60%,#405de6);color:#fff;box-shadow:0 5px 16px #833ab420}
.ap-root .ap-instagram-icon:hover,.ap-root .ap-instagram-link:hover {box-shadow:0 6px 20px #833ab440}
@media(max-width:1050px) {.ap-root .ap-channel {display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px}.ap-root .ap-channel-actions {grid-column:1/-1}.ap-root .ap-channel h2 {font-size:20px}}
@media(max-width:600px) {.ap-root .ap-channel {width:calc(100% - 32px);padding:20px;grid-template-columns:1fr;gap:16px;margin-bottom:24px;text-align:center}.ap-root .ap-main .ap-channel {margin-top:24px}.ap-root .ap-channel-icons {justify-content:center;gap:14px}.ap-root .ap-channel-icon {width:48px;height:48px;flex-basis:48px}.ap-root .ap-channel-icon img {width:28px;height:28px}.ap-root .ap-channel-actions {grid-template-columns:1fr;gap:10px}.ap-root .ap-channel-link {width:100%}.ap-root .ap-channel h2 {font-size:19px}}
