:root {
  --redeec-radius: .75rem;
  --redeec-ink:#171717;
  --redeec-deep:#14213d;
  --redeec-gold:#f7b801;
  --redeec-soft:#f6f9f7;
  --redeec-shadow:0 .3rem 1rem rgba(20,33,61,.07);
  --pry-50:#f6f9f7; --pry-100:#e8f0ea; --pry-200:#d8e4dc;
  --pry-300:#b9cabf; --pry-400:#718272; --pry-500:#40563f;
  --pry-600:#14213d; --pry-700:#101a31; --pry-800:#0b1426; --pry-900:#070d18;
  --acc-500:#f7b801; --acc-ink:#14213d;
  --signal-50:#e8f7f7; --signal-600:#006d77; --signal-700:#005f69;
}
html[data-redeec-theme="verde"] {
  --redeec-ink:#10251c; --redeec-deep:#064e3b; --redeec-gold:#d9a441; --redeec-soft:#ecfdf5;
  --pry-50:#ecfdf5; --pry-100:#d1fae5; --pry-200:#a7f3d0; --pry-300:#6ee7b7;
  --pry-400:#34d399; --pry-500:#10b981; --pry-600:#047857; --pry-700:#065f46; --pry-800:#064e3b; --pry-900:#022c22;
  --acc-500:#d9a441; --acc-ink:#10251c;
  --signal-50:#e0f2fe; --signal-600:#075985; --signal-700:#0c4a6e;
}
html[data-redeec-theme="azul"] {
  --redeec-ink:#0f172a; --redeec-deep:#1d4ed8; --redeec-gold:#f7b801; --redeec-soft:#eff6ff;
  --pry-50:#eff6ff; --pry-100:#dbeafe; --pry-200:#bfdbfe; --pry-300:#93c5fd;
  --pry-400:#60a5fa; --pry-500:#3b82f6; --pry-600:#1d4ed8; --pry-700:#1e40af; --pry-800:#1e3a8a; --pry-900:#172554;
  --acc-500:#f7b801; --acc-ink:#0f172a;
  --signal-50:#ecfdf5; --signal-600:#047857; --signal-700:#065f46;
}
html[data-redeec-theme="alto-contraste"] {
  --redeec-ink:#020617; --redeec-deep:#000000; --redeec-gold:#b45309; --redeec-soft:#f8fafc;
  --pry-50:#f8fafc; --pry-100:#e2e8f0; --pry-200:#cbd5e1; --pry-300:#94a3b8;
  --pry-400:#64748b; --pry-500:#334155; --pry-600:#020617; --pry-700:#000000; --pry-800:#000000; --pry-900:#000000;
  --acc-500:#b45309; --acc-ink:#ffffff;
  --signal-50:#ecfeff; --signal-600:#005f69; --signal-700:#004b54;
}
html[data-redeec-font="compacta"], html[data-sp-font="compacta"] { font-size: 14px; }
body {
  background:#fff;
  color:var(--redeec-ink);
  font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size:1rem;
  font-weight:400;
  line-height:1.55;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.hero-section { background: linear-gradient(180deg, var(--redeec-soft) 0%, #ffffff 100%); }
.redeec-motion-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--pry-300) 34%, transparent) 0, transparent 30%),
    radial-gradient(circle at 82% 8%, color-mix(in srgb, var(--acc-500) 25%, transparent) 0, transparent 28%),
    linear-gradient(180deg, var(--redeec-soft) 0%, #ffffff 100%);
}
.redeec-motion-hero::before,
.redeec-motion-hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
}
.redeec-motion-hero::before {
  opacity:.42;
  background-image:
    linear-gradient(color-mix(in srgb, var(--pry-600) 13%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--pry-600) 13%, transparent) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(180deg, #000 0%, transparent 78%);
  animation: redeecGridDrift 18s linear infinite;
}
.redeec-motion-hero::after {
  inset:10% -12% auto auto;
  width:min(48vw, 520px);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid color-mix(in srgb, var(--pry-600) 18%, transparent);
  background:
    radial-gradient(circle, transparent 46%, color-mix(in srgb, var(--pry-300) 24%, transparent) 47%, transparent 49%),
    conic-gradient(from 90deg, transparent, color-mix(in srgb, var(--acc-500) 42%, transparent), transparent 34%);
  filter:blur(.1px);
  opacity:.54;
  animation: redeecOrbitalSpin 24s linear infinite;
}
.redeec-motion-hero > .container,
.redeec-motion-section > .container,
.redeec-motion-section > .container-fluid { position:relative; z-index:1; }
.redeec-hero { background: linear-gradient(135deg, var(--redeec-deep) 0%, #1f2937 54%, #2f3a2f 100%); }
.premium-band { background: linear-gradient(135deg, #171717 0%, #263238 62%, #3a3322 100%); }
.hero-panel {
  position:relative;
  overflow:hidden;
  border-radius: var(--redeec-radius);
  padding: 1.15rem;
  backdrop-filter: blur(14px);
}
.hero-panel::before {
  content:"";
  position:absolute;
  inset:-45% auto auto -35%;
  width:80%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--acc-500) 22%, transparent), transparent 68%);
  animation: redeecPanelGlow 9s ease-in-out infinite;
}
.hero-panel > * { position:relative; z-index:1; }
.privacy-chip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  border:1px solid #dde2e6;
  border-radius:.65rem;
  padding:.55rem .65rem;
  font-size:.9rem;
  font-weight:600;
  background:#f8f9fa;
  color:var(--redeec-ink);
  text-decoration:none;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.privacy-chip i { color:var(--pry-600); font-size:.8rem; }
.redeec-panel-title-link {
  color:var(--redeec-ink);
  text-decoration:none;
}
.redeec-panel-title-link:hover,
.redeec-panel-title-link:focus-visible { color:var(--pry-600); }
.redeec-panel-title-link i { font-size:.8em; }
.privacy-chip:hover {
  transform:translateY(-2px);
  border-color:var(--pry-300);
  background:#fff;
  box-shadow:0 .65rem 1.35rem rgba(20,33,61,.12);
}
.py-lg-6 { padding-top: 4.25rem !important; padding-bottom: 4.25rem !important; }
.redeec-page { background:var(--redeec-soft); min-height:100vh; padding:1.5rem 0 2rem; }
.redeec-card { border-radius:var(--redeec-radius); box-shadow:var(--redeec-shadow); }
.redeec-card .card-body { padding:1rem; }
.redeec-compact-stack { display:grid; gap:.75rem; }
.redeec-section-title { margin-bottom:.75rem; }
.metric-card { border-radius: .7rem; padding: .8rem .9rem; min-height: 78px; display:flex; flex-direction:column; justify-content:space-between; }
.metric-card small { color:#6c757d; text-transform:capitalize; }
.metric-card strong { font-size:1.25rem; line-height:1.2; }
.feature-card {
  border:1px solid #e6e6e6;
  border-radius:var(--redeec-radius);
  padding:1rem;
  background:#fff;
  box-shadow:var(--redeec-shadow);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.js .redeec-motion-hero .col-lg-7,
.js .redeec-motion-hero .hero-panel {
  animation:redeecSoftReveal .72s ease both;
}
.js .redeec-motion-hero .hero-panel { animation-delay:.12s; }
.js .redeec-motion-section .feature-card,
.js .redeec-motion-section .redeec-future-card,
.js .redeec-motion-section .badge,
.js .redeec-motion-section .narrow,
.js .redeec-motion-section .redeec-saas-model div {
  opacity:1;
  transform:translateY(18px);
}
.js .redeec-motion-section.redeec-motion-visible .feature-card,
.js .redeec-motion-section.redeec-motion-visible .redeec-future-card,
.js .redeec-motion-section.redeec-motion-visible .badge,
.js .redeec-motion-section.redeec-motion-visible .narrow,
.js .redeec-motion-section.redeec-motion-visible .redeec-saas-model div {
  opacity:1;
  transform:translateY(0);
  transition:opacity .58s ease, transform .58s ease, box-shadow .24s ease, border-color .24s ease, background-color .24s ease;
}
.js .redeec-motion-section.redeec-motion-visible .row > div:nth-child(2) .feature-card,
.js .redeec-motion-section.redeec-motion-visible .row > div:nth-child(2) .redeec-future-card,
.js .redeec-motion-section.redeec-motion-visible .badge:nth-child(2),
.js .redeec-motion-section.redeec-motion-visible .redeec-saas-model div:nth-child(2) { transition-delay:.06s; }
.js .redeec-motion-section.redeec-motion-visible .row > div:nth-child(3) .feature-card,
.js .redeec-motion-section.redeec-motion-visible .row > div:nth-child(3) .redeec-future-card,
.js .redeec-motion-section.redeec-motion-visible .badge:nth-child(3),
.js .redeec-motion-section.redeec-motion-visible .redeec-saas-model div:nth-child(3) { transition-delay:.12s; }
.js .redeec-motion-section.redeec-motion-visible .row > div:nth-child(4) .feature-card,
.js .redeec-motion-section.redeec-motion-visible .row > div:nth-child(4) .redeec-future-card,
.js .redeec-motion-section.redeec-motion-visible .badge:nth-child(4) { transition-delay:.18s; }
.redeec-motion-section.redeec-motion-visible .feature-card:hover,
.redeec-motion-section .feature-card:hover {
  transform:translateY(-4px);
  border-color:var(--pry-300);
  box-shadow:0 .9rem 2rem rgba(20,33,61,.13);
}
.feature-card p:last-child, .redeec-card p:last-child { margin-bottom:0; }
.redeec-saas-band { background:linear-gradient(180deg, #ffffff 0%, var(--pry-50) 100%); }
.redeec-saas-card { min-height: 100%; }
.redeec-icon-circle {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--pry-100);
  color: var(--pry-600);
  font-size: 1.25rem;
}
.redeec-saas-model {
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:.75rem;
}
.redeec-saas-model div {
  border:1px solid var(--pry-200);
  border-radius:var(--redeec-radius);
  padding:.85rem;
  background:#fff;
  box-shadow:var(--redeec-shadow);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.redeec-motion-section.redeec-motion-visible .redeec-saas-model div:hover,
.redeec-saas-model div:hover { transform:translateY(-3px); border-color:var(--pry-300); box-shadow:0 .8rem 1.8rem rgba(20,33,61,.12); }
.redeec-saas-model strong { display:block; margin-bottom:.25rem; color:var(--pry-600); }
.redeec-saas-model span { display:block; color:#495057; font-size:.9rem; line-height:1.45; }
.redeec-future-band {
  background:linear-gradient(180deg, var(--redeec-soft) 0%, #fff 100%);
  border-top:1px solid color-mix(in srgb, var(--pry-200) 72%, #fff);
}
.redeec-future-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1.5rem;
}
.redeec-future-heading > div { max-width:780px; }
.redeec-future-card {
  position:relative;
  padding:1rem;
  border:1px solid #dfe5e3;
  border-top:3px solid var(--pry-500);
  border-radius:var(--redeec-radius);
  background:#fff;
  box-shadow:var(--redeec-shadow);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.redeec-future-card:hover {
  transform:translateY(-4px);
  border-color:var(--acc-500);
  box-shadow:0 .9rem 2rem rgba(20,33,61,.13);
}
.redeec-future-icon {
  width:2.5rem;
  height:2.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:.8rem;
  border-radius:50%;
  background:var(--pry-100);
  color:var(--pry-600);
  font-size:1.1rem;
}
.redeec-future-value {
  display:block;
  margin-bottom:.3rem;
  color:var(--signal-700);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
}
.redeec-future-card p { margin:0; color:#4a535c; font-size:.9rem; line-height:1.5; }
.redeec-future-path {
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:.75rem;
  padding:.9rem 1rem;
  border:1px solid var(--pry-200);
  border-radius:var(--redeec-radius);
  background:color-mix(in srgb, var(--pry-100) 55%, #fff);
}
.redeec-future-path span { color:#4a535c; font-size:.88rem; }
.redeec-future-path strong { display:block; color:var(--redeec-ink); }
.redeec-future-path i { color:var(--signal-600); }
.saas-path-list div {
  border:1px solid var(--pry-200);
  border-radius:var(--redeec-radius);
  padding:.9rem 1rem;
  background:#fff;
  box-shadow:var(--redeec-shadow);
}
.saas-path-list strong { display:block; color:var(--pry-600); margin-bottom:.2rem; }
.saas-path-list span { display:block; color:#495057; font-size:.95rem; line-height:1.45; }
.saas-proposal-form textarea { resize:vertical; }
.saas-proposal-form .form-label { color:var(--redeec-ink); }
.service-tier { border:1px solid #e6e6e6; border-radius:var(--redeec-radius); padding:1.25rem; background:#fff; display:flex; flex-direction:column; }
.service-tier-premium { background:#171717; color:#fff; border-color:#171717; box-shadow:0 1rem 2.5rem rgba(0,0,0,.18); }
.service-check { flex:0 0 auto; font-weight:700; }
.narrow { max-width: 760px; }
.auth-box { max-width: 520px; }
.navbar-brand { letter-spacing:0; }
.navbar-brand, .navbar .nav-link:hover { color:var(--redeec-deep); }
.text-pry-600 { color: var(--pry-600) !important; }
.text-acc-600 { color: var(--acc-500) !important; }
.bg-pry-50 { background-color: var(--pry-50) !important; }
.bg-pry-100 { background-color: var(--pry-100) !important; }
.bg-pry-600 { background-color: var(--pry-600) !important; }
.bg-acc-500 { background-color: var(--acc-500) !important; }
.border-pry-200 { border-color: var(--pry-200) !important; }
.ring-pry-300 { box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--pry-300) 72%, transparent) !important; }
.shadow-sp { box-shadow: 0 .55rem 1.5rem rgba(15, 23, 42, .12) !important; }
.rounded-sp { border-radius: .75rem !important; }
.btn-dark, .btn-primary { background: var(--pry-600); border-color: var(--pry-600); }
.btn-dark:hover, .btn-primary:hover { background: var(--pry-700); border-color: var(--pry-700); }
.btn-outline-dark { border-color: var(--pry-600); color: var(--pry-600); }
.btn-outline-dark:hover { background: var(--pry-600); border-color: var(--pry-600); color:#fff; }
.redeec-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  border-width:1px;
  font-weight:750;
  text-align:center;
}
.redeec-cta-primary {
  background:var(--acc-500) !important;
  border-color:var(--acc-500) !important;
  color:var(--acc-ink) !important;
  box-shadow:0 .55rem 1.15rem color-mix(in srgb, var(--pry-600) 22%, transparent);
}
.redeec-cta-primary:hover,
.redeec-cta-primary:focus-visible {
  background:color-mix(in srgb, var(--acc-500) 88%, #000) !important;
  border-color:color-mix(in srgb, var(--acc-500) 88%, #000) !important;
  color:var(--acc-ink) !important;
  box-shadow:0 .75rem 1.45rem color-mix(in srgb, var(--pry-600) 30%, transparent);
}
.redeec-cta-arrow { transition:transform .2s ease; }
.redeec-cta:hover .redeec-cta-arrow,
.redeec-cta:focus-visible .redeec-cta-arrow { transform:translateX(3px); }
.redeec-card-cta {
  width:100%;
  justify-content:space-between;
  border-color:var(--signal-600);
  background:var(--signal-50);
  color:var(--signal-700);
}
.redeec-card-cta:hover,
.redeec-card-cta:focus-visible {
  border-color:var(--signal-600);
  background:var(--signal-600);
  color:#fff;
}
.redeec-results-action { flex:0 0 auto; background:#fff; }
.redeec-cta-emphasis { box-shadow:0 .6rem 1.35rem rgba(0,0,0,.24); }
.redeec-final-cta {
  border-block:1px solid var(--pry-300);
  background:color-mix(in srgb, var(--pry-100) 72%, #fff);
}
.redeec-final-cta h2 { color:var(--pry-700); }
.redeec-final-cta .container { padding-block:.35rem; }
.redeec-motion-hero .btn,
.redeec-motion-section .btn { transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease; }
.redeec-motion-hero .btn:hover,
.redeec-motion-section .btn:hover { transform:translateY(-1px); box-shadow:0 .55rem 1.25rem rgba(20,33,61,.13); }
.redeec-motion-section .badge {
  position:relative;
  overflow:hidden;
}
.redeec-motion-section .badge::after {
  content:"";
  position:absolute;
  inset:0 auto 0 -120%;
  width:72%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  transform:skewX(-18deg);
}
.redeec-motion-section.redeec-motion-visible .badge::after {
  animation:redeecBadgeScan 4.8s ease-in-out infinite;
}
.redeec-motion-section .accordion-item,
.redeec-motion-section .service-tier,
.redeec-motion-section .redeec-card {
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.redeec-motion-section .accordion-item:hover,
.redeec-motion-section .service-tier:hover,
.redeec-motion-section .redeec-card:hover {
  transform:translateY(-2px);
  box-shadow:0 .85rem 1.8rem rgba(20,33,61,.12) !important;
}
.alert, .form-control, .form-select, .btn { border-radius:.55rem; }
.navbar .dropdown-menu { border-radius:.7rem; }
@media (max-width: 767.98px) { .redeec-saas-model { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) {
  .redeec-future-heading { align-items:stretch; flex-direction:column; gap:1rem; }
  .redeec-future-heading .btn { align-self:flex-start; }
  .redeec-future-path { grid-template-columns:1fr; }
  .redeec-future-path i { transform:rotate(90deg); justify-self:start; }
}
@media (max-width: 575.98px) { .display-5 { font-size:2.15rem; } .hero-panel { padding:1rem; } .redeec-page { padding-top:1rem; } .redeec-card .card-body { padding:.9rem; } }
@keyframes redeecSoftReveal {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes redeecGridDrift {
  from { background-position:0 0, 0 0; }
  to { background-position:54px 54px, 54px 54px; }
}
@keyframes redeecOrbitalSpin {
  to { transform:rotate(360deg); }
}
@keyframes redeecPanelGlow {
  0%, 100% { transform:translate3d(0, 0, 0) scale(1); opacity:.72; }
  50% { transform:translate3d(42%, 24%, 0) scale(1.15); opacity:1; }
}
@keyframes redeecBadgeScan {
  0%, 55% { transform:translateX(0) skewX(-18deg); opacity:0; }
  68% { opacity:.88; }
  100% { transform:translateX(320%) skewX(-18deg); opacity:0; }
}
@media (prefers-reduced-motion: reduce) {
  .redeec-motion-hero::before,
  .redeec-motion-hero::after,
  .hero-panel::before,
  .js .redeec-motion-hero .col-lg-7,
  .js .redeec-motion-hero .hero-panel,
  .js .redeec-motion-section .feature-card,
  .js .redeec-motion-section .redeec-future-card,
  .js .redeec-motion-section .badge,
  .js .redeec-motion-section .narrow,
  .js .redeec-motion-section .redeec-saas-model div,
  .redeec-motion-section .badge::after {
    animation:none !important;
  }
  .js .redeec-motion-section .feature-card,
  .js .redeec-motion-section .redeec-future-card,
  .js .redeec-motion-section .badge,
  .js .redeec-motion-section .narrow,
  .js .redeec-motion-section .redeec-saas-model div {
    opacity:1 !important;
    transform:none !important;
  }
  .feature-card,
  .privacy-chip,
  .redeec-motion-hero .btn,
  .redeec-motion-section .btn,
  .redeec-saas-model div,
  .redeec-future-card,
  .redeec-motion-section .accordion-item,
  .redeec-motion-section .service-tier,
  .redeec-motion-section .redeec-card {
    transition:none !important;
  }
  .feature-card:hover,
  .privacy-chip:hover,
  .redeec-motion-hero .btn:hover,
  .redeec-motion-section .btn:hover,
  .redeec-saas-model div:hover {
    transform:none !important;
  }
}

/* Registro, multiperfil y panel prioritario 10.25. */
.redeec-profile-picker {
  padding:.9rem;
  border:1px solid var(--pry-200);
  border-radius:.55rem;
  background:var(--pry-50);
}
.redeec-check-tile {
  display:flex;
  align-items:center;
  gap:.5rem;
  min-height:2.65rem;
  padding:.48rem .6rem;
  border:1px solid #dde4df;
  border-radius:.45rem;
  background:#fff;
  color:#303842;
  font-size:.82rem;
  font-weight:600;
  cursor:pointer;
}
.redeec-check-tile:has(input:checked) {
  border-color:var(--pry-500);
  background:color-mix(in srgb, var(--pry-50) 75%, #fff);
  color:var(--pry-700);
}
.redeec-check-tile.is-primary { opacity:.65; cursor:default; }
[data-tool-profiles][hidden] { display:none !important; }
.redeec-register-optional { overflow:hidden; border:1px solid #dde4df; border-radius:.5rem; background:#fff; }
.redeec-register-optional > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem; cursor:pointer; list-style:none; }
.redeec-register-optional > summary::-webkit-details-marker { display:none; }
.redeec-register-optional > summary span,.redeec-register-optional > summary strong,.redeec-register-optional > summary small { display:block; }
.redeec-register-optional > summary strong { font-size:.82rem; }
.redeec-register-optional > summary small { margin-top:.1rem; color:#6b747d; font-size:.7rem; }
.redeec-register-optional > summary i { transition:transform .2s ease; }
.redeec-register-optional[open] > summary i { transform:rotate(180deg); }
.redeec-register-optional .redeec-profile-picker { margin:.1rem .75rem .75rem; }
.redeec-priority-tool {
  display:grid;
  grid-template-columns:1fr auto;
  align-content:start;
  gap:.65rem;
  min-height:8.4rem;
  padding:.9rem;
  border:1px solid var(--pry-200);
  border-radius:.55rem;
  background:#fff;
  color:var(--redeec-ink);
  text-decoration:none;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.redeec-priority-tool .badge { grid-column:1 / -1; justify-self:start; }
.redeec-priority-tool strong { font-size:.92rem; line-height:1.35; }
.redeec-priority-tool i { color:var(--pry-600); }
.redeec-priority-tool:hover,
.redeec-priority-tool:focus-visible {
  transform:translateY(-2px);
  border-color:var(--pry-400);
  box-shadow:0 .45rem 1rem rgba(20,33,61,.08);
}
.input-group [data-password-toggle] {
  width:2.9rem;
  padding-inline:.6rem;
}
@media (max-width: 575.98px) {
  .redeec-check-tile { font-size:.76rem; }
  .redeec-priority-tool { min-height:0; }
}
@media (prefers-reduced-motion: reduce) {
  .redeec-priority-tool { transition:none; }
  .redeec-priority-tool:hover,
  .redeec-priority-tool:focus-visible { transform:none; }
}

.service-card-premium { border: 1px solid #f7b801 !important; background: #fffdf3; }
.service-card-premium .card-body { position: relative; }
.service-card-premium h3 { color: #171717 !important; }
.service-card-premium:hover { box-shadow: 0 .75rem 1.75rem rgba(20, 33, 61, .14) !important; transform: translateY(-1px); }

/* Premium tier card - dark background */
.service-tier-premium { background:#1a1a2e; color:#fff; border-color:#1a1a2e; }
.service-tier-premium .service-check { color: #f7b801; }

/* Improve text-secondary contrast on light backgrounds */
.text-secondary { color: #495057 !important; }

/* PWA - boton flotante de instalacion */
.redeec-install-floating {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 1080;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem 1.1rem;
  border: none;
  border-radius: 2rem;
  background: #14213d;
  color: #fff;
  font-size: .9rem;
  font-weight: 600;
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.28);
}
.redeec-install-floating:hover { background: #1f2937; color: #fff; }
.redeec-visual-customizer {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1080;
}
.redeec-visual-toggle {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  background: #fff;
  color: var(--pry-600);
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.18);
}
.redeec-visual-toggle:hover { color: var(--pry-700); box-shadow: 0 .7rem 1.8rem rgba(0,0,0,.22); }
.redeec-visual-panel {
  position: absolute;
  right: 0;
  bottom: 3.8rem;
  width: min(18rem, calc(100vw - 2rem));
  padding: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.18);
}
.redeec-visual-label {
  margin-bottom: .35rem;
  color: #6c757d;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}
.redeec-swatch-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:.5rem; }
.redeec-swatch, .redeec-font-option {
  border: 1px solid #dee2e6;
  border-radius: .75rem;
  background: #fff;
  color: #495057;
  font-size: .75rem;
  font-weight: 700;
}
.redeec-swatch { padding:.5rem; text-align:left; }
.redeec-swatch span { display:block; height:1.5rem; margin-bottom:.3rem; border-radius:.5rem; }
.redeec-swatch.is-active, .redeec-font-option.is-active { border-color: var(--pry-300); box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--pry-300) 72%, transparent); }
.redeec-font-option.is-active { background: var(--pry-600); color:#fff; }

/* Accesos por necesidad: extension compacta de la portada publicada. */
.redeec-motion-hero.py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
.redeec-motion-hero > .container.py-lg-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.redeec-motion-hero h1 { font-size: 2.45rem; line-height: 1.13; }
.redeec-motion-hero .lead { font-size: 1.08rem; line-height: 1.5; }
.redeec-motion-hero .mt-4 { margin-top: 1rem !important; }
.redeec-hero-result {
  max-width: 40rem;
  color: var(--signal-700);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.45;
}
.redeec-outcome-nav {
  border-top: 1px solid color-mix(in srgb, var(--pry-600) 12%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--pry-600) 12%, transparent);
  background: #fff;
  padding: .9rem .75rem;
}
.redeec-outcome-title {
  margin: 0 0 .55rem;
  color: var(--signal-700);
  font-size: .875rem;
  font-weight: 700;
}
.redeec-outcome-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .5rem;
}
.redeec-outcome-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 2.75rem;
  padding: .45rem .65rem;
  border: 1px solid var(--pry-200);
  border-radius: .55rem;
  color: var(--pry-700);
  background: var(--pry-50);
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.redeec-outcome-links a:hover,
.redeec-outcome-links a:focus-visible {
  border-color: var(--pry-400);
  background: var(--pry-100);
  transform: translateY(-2px);
}
.redeec-outcome-links a:focus-visible {
  outline: 2px solid var(--pry-600);
  outline-offset: 2px;
}
.redeec-outcome-links i { font-size: 1.1rem; line-height: 1; }
.redeec-benefits-heading,
.redeec-start-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem 2rem;
}
.redeec-benefits-heading > .text-secondary { max-width:21rem; }
.redeec-section-kicker {
  margin:0 0 .35rem;
  color:var(--signal-700);
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
}
.redeec-benefit-card {
  display:flex;
  flex-direction:column;
  border-top:3px solid var(--pry-600);
  padding:1.1rem;
}
.redeec-benefit-card h3 {
  min-height:3.4rem;
  margin:.65rem 0 .7rem;
  color:var(--redeec-ink);
  font-size:1.17rem;
  line-height:1.35;
}
.redeec-need-label {
  color:var(--signal-700);
  font-size:.78rem;
  font-weight:700;
}
.redeec-capability-label {
  margin:0 0 .5rem;
  color:#303842;
  font-size:.86rem;
  font-weight:600;
  line-height:1.4;
}
.redeec-benefit-card .btn { align-self:flex-start; }
.redeec-start-band {
  padding:2.65rem 0;
  border-block:1px solid var(--pry-200);
  background:color-mix(in srgb, var(--pry-50) 68%, #fff);
}
.redeec-start-heading { margin-bottom:1.65rem; }
.redeec-start-steps {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.5rem;
}
.redeec-start-steps > div {
  min-width:0;
  padding-left:1.15rem;
  border-left:2px solid var(--pry-300);
}
.redeec-step-number {
  color:var(--pry-600);
  font-size:.86rem;
  font-weight:800;
}
.redeec-start-steps h3 {
  margin:.45rem 0 .4rem;
  font-size:1.07rem;
  font-weight:700;
}
.redeec-start-steps p { margin:0; color:#495057; font-size:.92rem; line-height:1.48; }
.redeec-trust-line {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem 1.5rem;
  margin-top:1.7rem;
  padding-top:1rem;
  border-top:1px solid var(--pry-200);
  color:#3c4650;
  font-size:.83rem;
}
.redeec-trust-line span { display:inline-flex; align-items:baseline; gap:.45rem; }
.redeec-trust-line i { color:var(--pry-600); }
@media (max-width: 767.98px) {
  .redeec-motion-hero.py-5 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .redeec-motion-hero > .container.py-lg-4 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .redeec-motion-hero h1 { font-size: 1.8rem; line-height: 1.12; }
  .redeec-motion-hero .redeec-hero-result { font-size: 1rem; line-height: 1.35; }
  .redeec-motion-hero .lead { font-size: .95rem; line-height: 1.4; }
  .redeec-motion-hero .col-lg-7 .mb-3 { margin-bottom: .65rem !important; }
  .redeec-motion-hero .col-lg-7 .mb-4 { margin-bottom: .75rem !important; }
  .redeec-motion-hero .btn-lg { font-size: 1rem; padding: .45rem .65rem; }
  .redeec-motion-hero .mt-4 { margin-top: .65rem !important; }
  .redeec-outcome-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .redeec-outcome-links a:last-child { grid-column: 1 / -1; }
  .redeec-benefits-heading,
  .redeec-start-heading { align-items:start; flex-direction:column; }
  .redeec-benefit-card h3 { min-height:0; }
  .redeec-start-band { padding:2rem 0; }
  .redeec-start-steps { grid-template-columns:1fr; gap:1.15rem; }
  .redeec-trust-line { display:grid; gap:.65rem; }
  .redeec-hero-actions { display:grid !important; grid-template-columns:1fr; }
  .redeec-hero-actions .btn,
  .redeec-start-heading .btn { width:100%; }
  .redeec-results-action { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  .redeec-outcome-links a { transition: none; }
  .redeec-cta-arrow { transition:none; }
  .redeec-outcome-links a:hover,
  .redeec-outcome-links a:focus-visible { transform: none; }
}

/* Experiencia operativa 10.24: densidad, jerarquia y navegacion por resultados. */
.redeec-screen-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem 2rem;
  padding:0 0 1rem;
  border-bottom:1px solid var(--pry-200);
}
.redeec-screen-head > div:first-child { max-width:48rem; }
.redeec-screen-head h1 { color:var(--redeec-ink); }
.redeec-screen-head .btn { flex:0 0 auto; }
.redeec-form-shell { max-width:680px; }
.redeec-form-surface,
.redeec-filter-surface {
  padding:1rem;
  border:1px solid var(--pry-200) !important;
  border-radius:var(--redeec-radius);
  background:#fff;
  box-shadow:0 .3rem 1rem rgba(20,33,61,.055) !important;
}
.redeec-form-surface .form-label,
.redeec-filter-surface .form-label { color:#303842; font-size:.84rem; font-weight:700; }
.redeec-step-pill {
  flex:0 0 auto;
  padding:.38rem .65rem;
  border:1px solid var(--pry-200);
  border-radius:999px;
  background:var(--pry-50);
  color:var(--pry-700);
  font-size:.78rem;
  font-weight:700;
}
.redeec-context-bar {
  padding:.7rem .85rem;
  border-left:3px solid var(--pry-600);
  background:color-mix(in srgb, var(--pry-50) 72%, #fff);
  color:#3d4650;
  font-size:.86rem;
}
.redeec-work-nav {
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:.55rem;
}
.redeec-work-nav a {
  display:flex;
  align-items:center;
  gap:.6rem;
  min-width:0;
  padding:.7rem .8rem;
  border:1px solid var(--pry-200);
  border-radius:.6rem;
  background:#fff;
  color:var(--pry-700);
  font-size:.88rem;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 .2rem .7rem rgba(20,33,61,.045);
  transition:transform .2s ease, border-color .2s ease, background-color .2s ease;
}
.redeec-work-nav a:hover,
.redeec-work-nav a:focus-visible {
  transform:translateY(-2px);
  border-color:var(--pry-400);
  background:var(--pry-50);
}
.redeec-work-nav i { font-size:1rem; }
.redeec-market-flow {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.7rem .85rem;
  border:1px solid var(--pry-200);
  border-radius:.6rem;
  background:var(--pry-50);
  color:#3d4650;
  font-size:.84rem;
}
.redeec-market-flow span { display:inline-flex; align-items:center; gap:.4rem; font-weight:600; }
.redeec-market-flow > i { color:var(--pry-400); }
.redeec-page .card,
.redeec-page .list-group-item { border:1px solid #e4e9e6 !important; box-shadow:0 .25rem .8rem rgba(20,33,61,.05) !important; }
.redeec-page .card-body { padding:1rem; }
.redeec-page .row.g-4 { --bs-gutter-x:1rem; --bs-gutter-y:1rem; }
.redeec-page .feature-card { box-shadow:0 .25rem .8rem rgba(20,33,61,.05); }
.redeec-page .table > :not(caption) > * > * { padding:.62rem .7rem; }
.redeec-page .alert { padding:.75rem .9rem; }
@media (max-width: 991.98px) {
  .redeec-work-nav { grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .redeec-screen-head { align-items:flex-start; flex-direction:column; }
  .redeec-screen-head .btn,
  .redeec-screen-head form { width:100%; }
  .redeec-screen-head form .btn { width:100%; }
  .redeec-work-nav { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .redeec-work-nav a:last-child { grid-column:1 / -1; }
  .redeec-market-flow { align-items:flex-start; flex-direction:column; }
  .redeec-market-flow > i { display:none; }
  .redeec-filter-surface { padding:.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .redeec-work-nav a { transition:none; }
  .redeec-work-nav a:hover,
  .redeec-work-nav a:focus-visible { transform:none; }
}

.redeec-results-strip {
  padding:1.15rem 0;
  border-bottom:1px solid var(--pry-200);
  background:#fff;
}
.redeec-results-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:.75rem;
}
.redeec-results-grid > div {
  min-width:0;
  padding:.7rem .85rem;
  border-left:3px solid var(--signal-600);
  background:var(--signal-50);
}
.redeec-results-grid strong {
  display:block;
  color:var(--signal-700);
  font-size:1.45rem;
  line-height:1.1;
}
.redeec-results-grid span {
  display:block;
  margin-top:.25rem;
  color:#4a535c;
  font-size:.78rem;
  line-height:1.35;
}
.redeec-value-chip {
  display:inline-flex;
  padding:.3rem .5rem;
  border:1px solid color-mix(in srgb, var(--signal-600) 38%, #fff);
  border-radius:.35rem;
  background:var(--signal-50);
  color:var(--signal-700);
  font-size:.74rem;
  font-weight:700;
}
.redeec-tier-value {
  min-height:2.7rem;
  margin:0 0 .8rem;
  padding:.55rem .65rem;
  border-left:2px solid var(--pry-500);
  background:var(--pry-50);
  color:var(--pry-700);
  font-size:.77rem;
  font-weight:700;
  line-height:1.35;
}
.redeec-tier-value-premium {
  border-left-color:#f7b801;
  background:rgba(247,184,1,.1);
  color:#fff4c2;
}
@media (max-width: 767.98px) {
  .redeec-results-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}

/* Jerarquía tipográfica ejecutiva 10.25. */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-5, .display-6 {
  margin-top:0;
  color:var(--redeec-ink);
  font-family:inherit;
  font-weight:700;
  letter-spacing:0;
  text-wrap:balance;
}
h1, .h1, .display-5, .display-6 { line-height:1.12; }
h2, .h2, .h3 { line-height:1.2; }
h3, .h4, .h5, .h6 { line-height:1.3; }
p, li, .form-text { text-wrap:pretty; }
.lead {
  max-width:46rem;
  color:#3e4852;
  font-weight:400;
  line-height:1.55;
}
.navbar-brand {
  color:var(--pry-700);
  font-size:1.05rem;
  font-weight:800 !important;
}
.navbar .nav-link,
.dropdown-item {
  color:#303842;
  font-size:.9rem;
  font-weight:600;
  letter-spacing:0;
}
.btn {
  min-height:2.35rem;
  font-weight:700;
  letter-spacing:0;
}
.btn-sm { min-height:2rem; }
.redeec-motion-hero h1 {
  max-width:46rem;
  font-weight:750;
}
.redeec-motion-hero .lead { max-width:43rem; }
.redeec-screen-head h1 { max-width:44rem; font-weight:750; }
.redeec-section-kicker,
.redeec-need-label,
.redeec-outcome-title {
  letter-spacing:0;
  line-height:1.3;
}
.feature-card h3,
.service-tier h2,
.service-tier h3 {
  margin-bottom:.55rem;
  color:var(--pry-700);
  font-weight:750;
}
.service-tier-premium h2,
.service-tier-premium h3 { color:#fff; }
.feature-card p,
.service-tier p,
.service-tier li { line-height:1.5; }
.redeec-results-grid strong,
.metric-card h3,
.metric-card strong {
  font-variant-numeric:tabular-nums;
  font-weight:750;
}
.redeec-results-grid strong { font-weight:800; }
.redeec-goals-strip {
  padding:.9rem;
  border:1px solid var(--pry-200);
  border-radius:.6rem;
  background:#fff;
  box-shadow:0 .25rem .8rem rgba(20,33,61,.05);
}
.redeec-goal-item {
  display:flex;
  flex-direction:column;
  gap:.3rem;
  height:100%;
  padding:.7rem .8rem;
  border-left:2px solid var(--pry-500);
  background:var(--pry-50);
  color:var(--redeec-ink);
  text-decoration:none;
}
.redeec-goal-item span { color:var(--pry-600); font-size:.74rem; font-weight:800; }
.redeec-goal-item strong { font-size:.86rem; line-height:1.35; }
.redeec-card-stat {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:.55rem;
  margin:.1rem 0 .7rem;
  padding:.55rem .65rem;
  border-top:1px solid var(--pry-200);
  border-bottom:1px solid var(--pry-200);
  color:var(--pry-700);
}
.redeec-card-stat strong {
  color:var(--signal-700);
  font-size:1.35rem;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.redeec-card-stat span {
  color:#4a535c;
  font-size:.73rem;
  font-weight:700;
  line-height:1.3;
}
.redeec-card-stat-compact {
  margin:.1rem 0 .55rem;
  padding:.4rem 0;
  border-top:0;
  border-bottom-color:#e6ebe8;
}
.redeec-card-stat-compact strong { font-size:1.08rem; }
.redeec-card-saving {
  border-color:color-mix(in srgb, var(--acc-500) 62%, var(--pry-200));
  background:color-mix(in srgb, var(--acc-500) 8%, #fff);
}
.redeec-card-saving strong { color:var(--signal-700); white-space:nowrap; font-size:1.2rem; }
.form-label { color:#303842; font-size:.88rem; font-weight:700; }
.form-control,
.form-select { line-height:1.45; }
.badge { letter-spacing:0; }
@media (max-width: 767.98px) {
  body { line-height:1.5; }
  .redeec-screen-head h1 { line-height:1.16; }
}

/* Chat y notificaciones: estabilidad responsive para operación diaria. */
.min-width-0 { min-width:0 !important; }
.redeec-chat-row { min-width:0; }
.redeec-chat-row > .rounded-circle { flex:0 0 auto; }
.redeec-chat-header { min-width:0; }
.redeec-chat-header .badge { flex:0 0 auto; }
.redeec-chat-messages {
  height:clamp(22rem, 60dvh, 42rem);
  overflow-y:auto;
  overscroll-behavior:contain;
  background:#f8f9fa;
}
.redeec-chat-bubble { max-width:min(75%, 38rem); }
.redeec-chat-send { width:2.75rem; flex:0 0 2.75rem; }
.redeec-notification-channel { width:auto; min-width:8.5rem; }
@media (max-width: 575.98px) {
  .redeec-chat-row { gap:.65rem !important; padding:.8rem !important; }
  .redeec-chat-row > .rounded-circle { width:44px !important; height:44px !important; }
  .redeec-chat-header { flex-wrap:wrap; }
  .redeec-chat-header .badge { margin-left:2.75rem !important; }
  .redeec-chat-messages { height:calc(100dvh - 18.5rem); min-height:20rem; }
  .redeec-chat-bubble { max-width:88%; }
  .redeec-notification-row { flex-direction:column; }
  .redeec-notification-actions { width:100%; }
  .redeec-notification-actions .btn { flex:1 1 auto; }
  .redeec-notification-channel { width:100%; min-width:7.5rem; }
}

/* Inteligencia ejecutiva, impacto y marketplace 10.26. */
.redeec-panel-access {
  border-color:var(--signal-600) !important;
  color:var(--signal-700) !important;
  background:#fff !important;
  white-space:nowrap;
}
.redeec-panel-access:hover,
.redeec-panel-access:focus-visible { background:var(--signal-600) !important; color:#fff !important; }
.redeec-exec-preview {
  padding:.8rem;
  border:1px solid color-mix(in srgb, var(--signal-600) 28%, #d9e1e5);
  border-radius:.5rem;
  background:rgba(255,255,255,.82);
}
.redeec-preview-label,
.redeec-preview-live { font-size:.7rem; font-weight:800; text-transform:uppercase; }
.redeec-preview-label { color:var(--pry-700); }
.redeec-preview-live { color:var(--signal-700); }
.redeec-preview-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.redeec-preview-metrics div { min-width:0; }
.redeec-preview-metrics strong,
.redeec-preview-metrics span { display:block; }
.redeec-preview-metrics strong { color:var(--redeec-ink); font-size:1.02rem; line-height:1.1; font-variant-numeric:tabular-nums; }
.redeec-preview-metrics span { color:#59636d; font-size:.64rem; line-height:1.25; }
.redeec-mini-chart { display:flex; align-items:end; gap:.25rem; height:2.8rem; margin:.6rem 0 .4rem; border-bottom:1px solid #dfe5e8; }
.redeec-mini-chart span { flex:1; min-width:0; background:var(--signal-600); opacity:.55; border-radius:.18rem .18rem 0 0; animation:redeecChartRise .7s ease both; }
.redeec-mini-chart span:nth-child(2n) { background:var(--acc-500); opacity:.75; }
.redeec-exec-preview p { color:#55606a; font-size:.67rem; line-height:1.35; }

.redeec-impact-section { border-top:1px solid #e6ebe8; border-bottom:1px solid #e6ebe8; background:#fff; }
.redeec-impact-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(32rem,1.15fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.redeec-impact-intro { max-width:34rem; }
.redeec-formula { display:flex; align-items:center; gap:.7rem; padding:.75rem .85rem; border-left:3px solid var(--acc-500); background:#fff8dc; color:#3d3a2c; font-size:.84rem; font-weight:700; }
.redeec-formula i { color:#8a6500; font-size:1.25rem; }
.redeec-impact-calculator { padding:1rem; border:1px solid #dce3e7; border-radius:.5rem; background:#f8faf9; box-shadow:0 .7rem 2rem rgba(20,33,61,.08); }
.redeec-calculator-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.redeec-calculator-grid label,
.redeec-dashboard-impact-form label { color:#3f4952; font-size:.72rem; font-weight:750; line-height:1.3; }
.redeec-calculator-grid input { width:100%; min-height:2.4rem; margin-top:.3rem; padding:.45rem .55rem; border:1px solid #cdd6da; border-radius:.35rem; background:#fff; color:var(--redeec-ink); font-weight:700; font-variant-numeric:tabular-nums; }
.redeec-calculator-grid input:focus { outline:3px solid color-mix(in srgb, var(--signal-600) 18%, transparent); border-color:var(--signal-600); }
.redeec-impact-results { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; margin-top:.8rem; }
.redeec-impact-results div { padding:.75rem; border-top:3px solid var(--pry-500); background:#fff; }
.redeec-impact-results .is-highlight { border-top-color:var(--acc-500); background:#fff9e7; }
.redeec-impact-results span,
.redeec-impact-results strong { display:block; }
.redeec-impact-results span { min-height:2.1em; color:#626d76; font-size:.66rem; font-weight:700; line-height:1.25; }
.redeec-impact-results strong { margin-top:.3rem; color:var(--signal-700); font-size:1.15rem; font-variant-numeric:tabular-nums; }
.redeec-impact-note { margin:.65rem 0 0; color:#6b747c; font-size:.68rem; line-height:1.4; }

.redeec-sector-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; margin-bottom:.7rem; }
.redeec-sector-tabs button { display:flex; align-items:center; justify-content:center; gap:.45rem; min-height:2.8rem; padding:.55rem .7rem; border:1px solid #ccd5da; border-radius:.4rem; background:#fff; color:#46505a; font-weight:750; }
.redeec-sector-tabs button.is-active { border-color:var(--pry-600); background:var(--pry-600); color:#fff; }
.redeec-sector-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(23rem,.9fr); gap:2rem; align-items:center; min-height:14rem; padding:1.5rem; border:1px solid #d9e0e4; border-left:4px solid var(--signal-600); border-radius:.5rem; background:#fff; }
.redeec-sector-panel[hidden] { display:none; }
.redeec-sector-panel h3 { margin:.3rem 0 .45rem; font-size:1.35rem; }
.redeec-sector-panel p { max-width:42rem; color:#59646d; }
.redeec-sector-panel a { color:var(--signal-700); font-weight:800; text-decoration:none; }
.redeec-sector-label { color:var(--pry-600); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.redeec-sector-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #e0e5e8; }
.redeec-sector-kpis div { padding:1rem; border-right:1px solid #e0e5e8; }
.redeec-sector-kpis div:last-child { border-right:0; }
.redeec-sector-kpis strong,
.redeec-sector-kpis span { display:block; }
.redeec-sector-kpis strong { color:var(--signal-700); font-size:1.3rem; font-variant-numeric:tabular-nums; }
.redeec-sector-kpis span { color:#646f77; font-size:.7rem; line-height:1.3; }

.redeec-period-switch { display:inline-flex; align-items:center; padding:.18rem; border:1px solid #d7dee2; border-radius:.42rem; background:#fff; }
.redeec-period-switch a { min-height:1.7rem; padding:.3rem .55rem; border-radius:.3rem; color:#5b6570; font-size:.7rem; font-weight:800; text-decoration:none; }
.redeec-period-switch a.is-active { background:var(--pry-600); color:#fff; }
.redeec-executive-metric { border-radius:.5rem !important; box-shadow:0 .25rem .8rem rgba(20,33,61,.045); }
.redeec-executive-metric small,
.redeec-executive-metric span { display:block; }
.redeec-executive-metric small { color:#66717a; font-size:.72rem; font-weight:750; }
.redeec-executive-metric h3 { overflow-wrap:anywhere; margin:.3rem 0 .35rem; color:var(--redeec-ink); font-size:clamp(1.12rem,2vw,1.55rem); line-height:1.1; font-variant-numeric:tabular-nums; }
.redeec-executive-metric span { color:#6c757d; font-size:.65rem; font-weight:700; line-height:1.3; }
.redeec-executive-metric span.is-positive { color:#087f5b; }
.redeec-executive-metric span.is-negative { color:#b42318; }
.redeec-executive-board { padding:1rem; border:1px solid #d9e1e5; border-radius:.5rem; background:#f7f9f8; }
.redeec-executive-board-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.redeec-data-badge { display:inline-flex; align-items:center; gap:.35rem; flex:0 0 auto; padding:.4rem .6rem; border:1px solid #b8dcd2; border-radius:.35rem; background:#ecfdf5; color:#087f5b; font-size:.7rem; font-weight:800; }
.redeec-executive-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(15rem,.65fr); gap:.7rem; }
.redeec-chart-panel,
.redeec-decision-panel { min-width:0; padding:.85rem; border:1px solid #dfe5e8; border-radius:.45rem; background:#fff; }
.redeec-chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.8rem; margin-bottom:.7rem; }
.redeec-chart-head span { display:block; color:#6b747d; font-size:.65rem; font-weight:800; text-transform:uppercase; }
.redeec-chart-head h3 { margin:.1rem 0 0; font-size:.9rem; }
.redeec-chart-head a { color:var(--signal-700); font-size:.68rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.redeec-column-chart { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:end; gap:.45rem; height:10rem; padding:.5rem .35rem 0; border-bottom:1px solid #ccd5da; background:repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), #eef1f3 25%); }
.redeec-chart-month { display:grid; grid-template-rows:1fr auto; align-self:stretch; gap:.25rem; min-width:0; }
.redeec-chart-columns { display:flex; align-items:end; justify-content:center; gap:.16rem; min-height:0; }
.redeec-chart-columns span { width:min(35%,1.2rem); min-height:2px; border-radius:.16rem .16rem 0 0; transform-origin:bottom; animation:redeecChartRise .7s ease both; }
.redeec-chart-columns .is-income,
.redeec-chart-legend i.is-income { background:var(--signal-600); }
.redeec-chart-columns .is-expense,
.redeec-chart-legend i.is-expense { background:#e0a100; }
.redeec-chart-month small { overflow:hidden; color:#6c757d; font-size:.6rem; text-align:center; text-overflow:ellipsis; }
.redeec-chart-legend { display:flex; gap:.9rem; margin-top:.5rem; color:#5d6770; font-size:.65rem; font-weight:700; }
.redeec-chart-legend span { display:flex; align-items:center; gap:.3rem; }
.redeec-chart-legend i { width:.55rem; height:.55rem; border-radius:.12rem; }
.redeec-pipeline-chart { display:grid; gap:.7rem; }
.redeec-pipeline-chart > div > div:first-child { color:#4e5963; font-size:.7rem; }
.redeec-pipeline-track { height:.55rem; margin-top:.25rem; overflow:hidden; border-radius:.2rem; background:#edf0f2; }
.redeec-pipeline-track span { display:block; height:100%; min-width:3%; background:#64748b; }
.redeec-pipeline-track span.is-active { background:#2367d1; }
.redeec-pipeline-track span.is-complete { background:#087f5b; }
.redeec-commercial-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin-top:1rem; }
.redeec-commercial-summary div { padding:.6rem; border-left:2px solid var(--acc-500); background:#fff9e7; }
.redeec-commercial-summary strong,
.redeec-commercial-summary span { display:block; }
.redeec-commercial-summary strong { font-size:.95rem; font-variant-numeric:tabular-nums; }
.redeec-commercial-summary span { color:#68727a; font-size:.62rem; }
.redeec-insight-list { display:grid; gap:.45rem; }
.redeec-insight-list a { display:grid; grid-template-columns:auto 1fr; gap:.55rem; padding:.55rem; border-left:3px solid #2563eb; background:#eff6ff; color:var(--redeec-ink); text-decoration:none; }
.redeec-insight-list a.is-danger { border-left-color:#b42318; background:#fff1f1; }
.redeec-insight-list a.is-warning { border-left-color:#d39300; background:#fff9e7; }
.redeec-insight-list a.is-success { border-left-color:#087f5b; background:#ecfdf5; }
.redeec-insight-list i { margin-top:.1rem; }
.redeec-insight-list strong,
.redeec-insight-list small { display:block; }
.redeec-insight-list strong { font-size:.73rem; }
.redeec-insight-list small { margin-top:.12rem; color:#616c75; font-size:.62rem; line-height:1.35; }

.redeec-dashboard-impact { display:grid; grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr); gap:1rem; padding:1rem; border:1px solid #d7e0e4; border-left:4px solid var(--acc-500); border-radius:.5rem; background:#fff; }
.redeec-dashboard-impact-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
.redeec-dashboard-impact-results div { padding:.55rem; background:#f5f8f7; }
.redeec-dashboard-impact-results span,
.redeec-dashboard-impact-results strong { display:block; }
.redeec-dashboard-impact-results span { color:#66717a; font-size:.63rem; }
.redeec-dashboard-impact-results strong { margin-top:.15rem; color:var(--signal-700); font-size:.95rem; font-variant-numeric:tabular-nums; }
.redeec-dashboard-impact-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; align-items:end; }
.redeec-dashboard-impact-form .btn { align-self:end; }

.redeec-market-intelligence { padding:1rem; border:1px solid #d9e1e5; border-left:4px solid var(--signal-600); border-radius:.5rem; background:#fff; }
.redeec-market-intelligence-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:.7rem; }
.redeec-market-intelligence-head a { color:var(--signal-700); font-size:.75rem; font-weight:800; text-decoration:none; }
.redeec-market-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #e0e5e8; }
.redeec-market-metrics div { padding:.75rem; border-right:1px solid #e0e5e8; }
.redeec-market-metrics div:last-child { border-right:0; }
.redeec-market-metrics strong,
.redeec-market-metrics span { display:block; }
.redeec-market-metrics strong { color:var(--signal-700); font-size:1.15rem; font-variant-numeric:tabular-nums; }
.redeec-market-metrics span { color:#626d76; font-size:.65rem; line-height:1.25; }
.redeec-market-funnel { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:.45rem; margin:.8rem 0; }
.redeec-market-funnel div { display:grid; grid-template-columns:auto 1fr; column-gap:.45rem; align-items:center; min-width:0; padding:.55rem; background:#f5f8f7; }
.redeec-market-funnel div > span { grid-row:1 / span 2; display:grid; place-items:center; width:1.7rem; height:1.7rem; border-radius:50%; background:var(--pry-600); color:#fff; font-size:.68rem; font-weight:800; }
.redeec-market-funnel strong,
.redeec-market-funnel small { min-width:0; }
.redeec-market-funnel strong { font-size:.72rem; }
.redeec-market-funnel small { color:#6a747d; font-size:.6rem; }
.redeec-market-funnel > i { color:#83909a; }

@keyframes redeecChartRise { from { transform:scaleY(.08); opacity:.3; } to { transform:scaleY(1); opacity:1; } }

@media (max-width: 1199.98px) {
  .redeec-executive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .redeec-decision-panel { grid-column:1 / -1; }
  .redeec-insight-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .redeec-dashboard-impact-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
  .redeec-impact-layout,
  .redeec-sector-panel,
  .redeec-dashboard-impact { grid-template-columns:1fr; }
  .redeec-impact-intro { max-width:none; }
  .redeec-sector-panel { gap:1rem; }
  .redeec-sector-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .redeec-dashboard-impact-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .redeec-calculator-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .redeec-impact-results,
  .redeec-market-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .redeec-market-metrics div:nth-child(2) { border-right:0; }
  .redeec-market-metrics div:nth-child(-n+2) { border-bottom:1px solid #e0e5e8; }
  .redeec-sector-kpis { grid-template-columns:1fr; }
  .redeec-sector-kpis div { border-right:0; border-bottom:1px solid #e0e5e8; }
  .redeec-sector-kpis div:last-child { border-bottom:0; }
  .redeec-executive-grid { grid-template-columns:1fr; }
  .redeec-decision-panel { grid-column:auto; }
  .redeec-insight-list { grid-template-columns:1fr; }
  .redeec-executive-board-head,
  .redeec-market-intelligence-head { align-items:flex-start; flex-direction:column; }
  .redeec-market-funnel { grid-template-columns:1fr; }
  .redeec-market-funnel > i { transform:rotate(90deg); justify-self:center; }
}
@media (max-width: 575.98px) {
  .redeec-hero-actions .btn { white-space:normal; }
  .redeec-preview-metrics { grid-template-columns:1fr 1fr; }
  .redeec-preview-metrics div:last-child { grid-column:1 / -1; }
  .redeec-calculator-grid,
  .redeec-dashboard-impact-form { grid-template-columns:1fr; }
  .redeec-impact-results { grid-template-columns:1fr 1fr; }
  .redeec-impact-results div { padding:.6rem; }
  .redeec-sector-tabs { grid-template-columns:1fr; }
  .redeec-sector-tabs button { justify-content:flex-start; }
  .redeec-period-switch { width:100%; }
  .redeec-period-switch a { flex:1; text-align:center; }
  .redeec-column-chart { height:9rem; gap:.25rem; }
  .redeec-commercial-summary,
  .redeec-dashboard-impact-results { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .redeec-mini-chart span,
  .redeec-chart-columns span { animation:none !important; }
}

/* V10.27.0: cálculo progresivo y reputación transversal */
.redeec-command-center { display:grid; grid-template-columns:minmax(15rem,.7fr) minmax(24rem,1.3fr) minmax(15rem,.75fr); gap:.75rem; align-items:stretch; padding:1rem; border:1px solid #d7e0e4; border-left:4px solid var(--signal-600); border-radius:.5rem; background:#fff; box-shadow:0 .35rem 1rem rgba(20,33,61,.05); }
.redeec-command-copy { align-self:center; }
.redeec-command-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.redeec-command-actions a { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.45rem; min-height:4.4rem; padding:.65rem; border:1px solid #dce3e6; border-radius:.4rem; background:#f8faf9; color:var(--redeec-ink); text-decoration:none; }
.redeec-command-actions a:hover,.redeec-command-actions a:focus-visible { border-color:var(--signal-600); background:#f0faf6; }
.redeec-command-actions span { display:grid; place-items:center; width:1.55rem; height:1.55rem; border-radius:50%; background:var(--pry-600); color:#fff; font-size:.7rem; font-weight:800; }
.redeec-command-actions strong { font-size:.76rem; line-height:1.25; }
.redeec-command-alert { display:grid; grid-template-columns:auto 1fr; gap:.55rem; align-items:start; padding:.75rem; border-left:3px solid #2563eb; background:#eff6ff; color:var(--redeec-ink); text-decoration:none; }
.redeec-command-alert.is-danger { border-left-color:#b42318; background:#fff1f1; }
.redeec-command-alert.is-warning { border-left-color:#d39300; background:#fff9e7; }
.redeec-command-alert.is-success { border-left-color:#087f5b; background:#ecfdf5; }
.redeec-command-alert span,.redeec-command-alert strong,.redeec-command-alert small { display:block; }
.redeec-command-alert strong { margin:.1rem 0; font-size:.8rem; }
.redeec-command-alert small { color:#626d76; font-size:.65rem; line-height:1.35; }
.redeec-dashboard-disclosure { overflow:hidden; border:1px solid #d9e1e5; border-radius:.5rem; background:#fff; }
.redeec-dashboard-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; cursor:pointer; list-style:none; }
.redeec-dashboard-disclosure > summary::-webkit-details-marker { display:none; }
.redeec-dashboard-disclosure > summary span,.redeec-dashboard-disclosure > summary strong,.redeec-dashboard-disclosure > summary small { display:block; }
.redeec-dashboard-disclosure > summary small { color:#68727a; font-size:.65rem; font-weight:800; text-transform:uppercase; }
.redeec-dashboard-disclosure > summary strong { margin-top:.12rem; font-size:.86rem; }
.redeec-dashboard-disclosure > summary i { transition:transform .2s ease; }
.redeec-dashboard-disclosure[open] > summary { border-bottom:1px solid #e2e7ea; }
.redeec-dashboard-disclosure[open] > summary i { transform:rotate(180deg); }
.redeec-dashboard-disclosure .redeec-executive-board,.redeec-dashboard-disclosure .redeec-dashboard-impact { border:0; border-radius:0; }
@media (max-width:991.98px) { .redeec-command-center { grid-template-columns:1fr; } }
@media (max-width:575.98px) { .redeec-command-actions { grid-template-columns:1fr; } .redeec-command-actions a { min-height:3.25rem; } }
@media (prefers-reduced-motion:reduce) { .redeec-dashboard-disclosure > summary i { transition:none; } }
.redeec-impact-disclosure { border:1px solid #d8e0e4; border-radius:.5rem; background:#fff; box-shadow:0 12px 30px rgba(20,33,61,.07); overflow:hidden; }
.redeec-impact-disclosure > summary { position:relative; display:grid; gap:.45rem; padding:1.35rem 4rem 1.35rem 1.35rem; cursor:pointer; list-style:none; }
.redeec-impact-disclosure > summary::-webkit-details-marker { display:none; }
.redeec-impact-disclosure > summary:focus-visible { outline:3px solid rgba(20,117,91,.25); outline-offset:-3px; }
.redeec-impact-summary-title { color:#17243a; font-size:1.8rem; font-weight:800; line-height:1.2; }
.redeec-impact-summary-copy { max-width:58rem; color:#66717a; line-height:1.55; }
.redeec-impact-summary-icon { position:absolute; top:50%; right:1.5rem; color:var(--signal-700); font-size:1.2rem; transform:translateY(-50%); transition:transform .2s ease; }
.redeec-impact-disclosure[open] .redeec-impact-summary-icon { transform:translateY(-50%) rotate(180deg); }
.redeec-impact-disclosure[open] > summary { border-bottom:1px solid #e3e8eb; }
.redeec-impact-disclosure .redeec-impact-layout { padding:1.25rem; }
.redeec-card-rating,
.redeec-detail-rating { color:#805b00; font-size:.78rem; font-weight:800; text-decoration:none; }
.redeec-card-rating span,
.redeec-detail-rating span,
.redeec-stars { color:#b87900; letter-spacing:0; }
.redeec-detail-rating { display:inline-flex; align-items:center; gap:.2rem; margin-left:.35rem; padding:.15rem .45rem; border:1px solid #ead9aa; background:#fff9e8; border-radius:.25rem; }
.redeec-rating-panel { margin-top:1.5rem; padding:1.25rem; border:1px solid #d9e1e5; border-left:4px solid var(--signal-600); border-radius:.5rem; background:#fff; box-shadow:0 10px 26px rgba(20,33,61,.06); }
.redeec-rating-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; padding-bottom:1rem; border-bottom:1px solid #e4e9ec; }
.redeec-rating-score { flex:0 0 auto; display:grid; min-width:8rem; text-align:right; }
.redeec-rating-score strong { color:#17243a; font-size:2rem; line-height:1; }
.redeec-rating-score small { color:#69757e; }
.redeec-rating-grid { display:grid; grid-template-columns:minmax(13rem,.8fr) minmax(18rem,1.2fr); gap:1.5rem; padding:1.25rem 0; border-bottom:1px solid #e4e9ec; }
.redeec-rating-distribution { display:grid; align-content:start; gap:.45rem; }
.redeec-rating-row { display:grid; grid-template-columns:2.2rem 1fr 2rem; align-items:center; gap:.5rem; font-size:.75rem; }
.redeec-rating-row > span { color:#805b00; font-weight:700; }
.redeec-rating-row .progress { height:.4rem; background:#edf0f2; border-radius:0; }
.redeec-rating-row .progress-bar { background:#b87900; }
.redeec-rating-row small { color:#6b767e; text-align:right; }
.redeec-rating-form-wrap { padding-left:1.5rem; border-left:1px solid #e4e9ec; }
.redeec-rating-form fieldset { margin:0 0 .7rem; }
.redeec-rating-form legend { margin-bottom:.25rem; font-size:.82rem; font-weight:800; }
.redeec-star-input { display:flex; flex-direction:row-reverse; justify-content:flex-end; }
.redeec-star-input input { position:absolute; width:1px; height:1px; opacity:0; }
.redeec-star-input label { color:#c8cdd1; font-size:1.75rem; line-height:1; cursor:pointer; transition:color .15s ease, transform .15s ease; }
.redeec-star-input label:hover,
.redeec-star-input label:hover ~ label,
.redeec-star-input input:checked ~ label { color:#b87900; }
.redeec-star-input input:focus-visible + label { outline:2px solid var(--signal-600); outline-offset:2px; }
.redeec-star-input label:hover { transform:translateY(-1px); }
.redeec-rating-login { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; background:#f5f8f7; }
.redeec-rating-login > i { color:var(--signal-700); font-size:1.35rem; }
.redeec-review-list { display:grid; gap:0; }
.redeec-review-item { padding:1rem 0; border-bottom:1px solid #e8ecee; }
.redeec-review-item:last-child { padding-bottom:0; border-bottom:0; }
.redeec-review-meta { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.35rem; font-size:.78rem; }
.redeec-rating-empty { display:flex; align-items:center; gap:.6rem; margin:1rem 0 0; color:#68747d; font-size:.82rem; }
.redeec-rating-empty i { color:var(--signal-700); font-size:1.2rem; }
@media (max-width:767.98px) {
  .redeec-impact-disclosure > summary { padding:1.1rem 3.25rem 1.1rem 1rem; }
  .redeec-impact-summary-title { font-size:1.35rem; }
  .redeec-impact-disclosure .redeec-impact-layout { padding:1rem; }
  .redeec-rating-heading { align-items:flex-start; flex-direction:column; }
  .redeec-rating-score { display:flex; align-items:center; gap:.5rem; min-width:0; text-align:left; }
  .redeec-rating-score strong { font-size:1.6rem; }
  .redeec-rating-grid { grid-template-columns:1fr; gap:1rem; }
  .redeec-rating-form-wrap { padding:1rem 0 0; border-top:1px solid #e4e9ec; border-left:0; }
}

html { scroll-behavior:smooth; }
#perspectivas-empresa,
#acciones-negocio,
#marketplace-redeec,
#herramientas-negocio,
#apps-saas,
#comunidad-redeec { scroll-margin-top:5.5rem; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Oportunidades: referencias editoriales con fuente y vista previa verificable. */
.redeec-source-notice { display:flex; align-items:flex-start; gap:.9rem; padding:1rem 1.1rem; border:1px solid #cadbd7; border-left:4px solid var(--signal-600); background:#f4faf8; color:#34434a; }
.redeec-source-notice > i { flex:0 0 auto; color:var(--signal-700); font-size:1.35rem; }
.redeec-source-notice strong { display:block; margin-bottom:.15rem; color:#17243a; }
.redeec-source-notice p { font-size:.86rem; line-height:1.55; }
.redeec-opportunity-filters { position:sticky; top:5.5rem; padding:1.1rem; border:1px solid #dce3e6; background:#fff; }
.redeec-opportunity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.redeec-opportunity-card { min-width:0; overflow:hidden; border:1px solid #dce3e6; border-radius:.5rem; background:#fff; box-shadow:0 8px 22px rgba(20,33,61,.06); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.redeec-opportunity-card:hover { transform:translateY(-2px); border-color:#aac9c1; box-shadow:0 14px 30px rgba(20,33,61,.11); }
.redeec-opportunity-card.is-featured { border-top:3px solid #d79b00; }
.redeec-opportunity-main { display:block; color:inherit; }
.redeec-opportunity-media,
.redeec-opportunity-hero { position:relative; isolation:isolate; overflow:hidden; background:#eaf3f1; }
.redeec-opportunity-media { aspect-ratio:16/7; }
.redeec-opportunity-hero { min-height:18rem; border-radius:.5rem; }
.redeec-opportunity-media img,
.redeec-opportunity-hero img { position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; }
.redeec-opportunity-fallback { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; color:#216858; background:linear-gradient(135deg,#edf7f4 0%,#dfece9 58%,#fff5d7 100%); }
.redeec-opportunity-fallback i { font-size:2rem; }
.redeec-opportunity-fallback span { font-size:.72rem; font-weight:800; text-transform:uppercase; }
.redeec-opportunity-type,
.redeec-opportunity-featured { position:absolute; z-index:2; top:.75rem; padding:.34rem .55rem; border-radius:.25rem; font-size:.7rem; font-weight:800; line-height:1; }
.redeec-opportunity-type { left:.75rem; color:#fff; background:#17243a; }
.redeec-opportunity-featured { right:.75rem; color:#382900; background:#ffc928; }
.redeec-opportunity-body { display:flex; min-height:18rem; flex-direction:column; padding:1rem; }
.redeec-opportunity-source { display:flex; align-items:center; flex-wrap:wrap; gap:.3rem; margin-bottom:.55rem; color:#27705f; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.redeec-opportunity-source small { min-width:0; overflow:hidden; color:#738087; font-size:.68rem; font-weight:600; text-overflow:ellipsis; text-transform:none; white-space:nowrap; }
.redeec-opportunity-body h2 { margin:0 0 .4rem; color:#17243a; font-size:1.04rem; font-weight:800; line-height:1.3; }
.redeec-opportunity-org { margin:0 0 .65rem; color:#56636b; font-size:.8rem; font-weight:700; }
.redeec-opportunity-excerpt { display:-webkit-box; overflow:hidden; margin:0 0 1rem; color:#5d6971; font-size:.82rem; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.redeec-opportunity-meta { display:flex; flex-wrap:wrap; gap:.45rem .75rem; margin-top:auto; color:#65727a; font-size:.72rem; }
.redeec-opportunity-meta span { display:inline-flex; align-items:center; gap:.25rem; }
.redeec-opportunity-meta .is-active { color:#17664f; font-weight:800; }
.redeec-opportunity-meta .is-expired { color:#a33b31; font-weight:800; }
.redeec-opportunity-footer { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.72rem 1rem; border-top:1px solid #e4e9eb; background:#f8faf9; color:#526169; font-size:.74rem; font-weight:800; }
.redeec-opportunity-footer a { color:#176852; text-decoration:none; }
.redeec-empty-state { padding:3rem 1rem; border:1px dashed #ccd7db; text-align:center; color:#68747c; }
.redeec-empty-state > i { display:block; margin-bottom:.75rem; color:#2b7563; font-size:2rem; }
.redeec-back-link { display:inline-flex; align-items:center; gap:.35rem; color:#526169; font-size:.82rem; font-weight:700; text-decoration:none; }
.redeec-opportunity-detail-head { padding:1.35rem 0 1rem; border-bottom:1px solid #dde4e7; }
.redeec-opportunity-detail-head h1 { max-width:52rem; margin:0 0 .55rem; color:#17243a; font-size:clamp(1.8rem,4vw,2.75rem); font-weight:850; line-height:1.12; }
.redeec-opportunity-summary { padding:1.35rem 0 0; }
.redeec-opportunity-summary h2,
.redeec-opportunity-facts h2 { margin:0 0 .8rem; color:#17243a; font-size:1rem; font-weight:800; }
.redeec-opportunity-summary p { margin:0; color:#4f5d65; font-size:1rem; line-height:1.75; }
.redeec-opportunity-facts { padding:1.1rem; border:1px solid #d9e2e5; border-radius:.5rem; background:#fff; box-shadow:0 10px 25px rgba(20,33,61,.06); }
.redeec-opportunity-facts > div { display:flex; align-items:flex-start; gap:.7rem; padding:.8rem 0; border-top:1px solid #e6ebed; }
.redeec-opportunity-facts > div > i { color:#24705e; font-size:1.1rem; }
.redeec-opportunity-facts span { display:grid; gap:.12rem; color:#748087; font-size:.7rem; text-transform:uppercase; }
.redeec-opportunity-facts strong { color:#25323a; font-size:.84rem; text-transform:none; }
.redeec-opportunity-actions { display:grid; gap:.65rem; margin-top:1rem; }
.redeec-opportunity-actions p { margin:.2rem 0 0; color:#6c787f; font-size:.72rem; line-height:1.45; }
@media (max-width:991.98px) { .redeec-opportunity-filters { position:static; } }
@media (max-width:767.98px) {
  .redeec-opportunity-grid { grid-template-columns:1fr; }
  .redeec-opportunity-body { min-height:0; }
  .redeec-opportunity-hero { min-height:13rem; }
  .redeec-opportunity-footer { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { .redeec-opportunity-card { transition:none; } }

