/* ===== Tutoriales y novedades (ct-*) — misma linea visual del SIGE ===== */
.ct{ --p:var(--c-primary,#2D3E50); --s:var(--c-secondary,#2B76F7); --a:var(--c-accent,#FFD700);
  --ink:#0f172a; --mut:#64748b; --soft:#f6f9fd; --bd:#e6ebf2; color:var(--ink); }
.ct *{ box-sizing:border-box; }
.ct-wrap{ max-width:1180px; margin:0 auto; padding:0 1.25rem; }
.ct-eye{ display:inline-flex; align-items:center; gap:.5rem; font-size:.74rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--s); }
.ct-h2{ font-size:1.9rem; font-weight:800; font-family:var(--c-font-display); line-height:1.15; letter-spacing:-.01em; color:var(--ink); margin:0; }
@media(min-width:768px){ .ct-h2{ font-size:2.35rem; } }
.ct-lead{ color:var(--mut); font-size:1.05rem; line-height:1.65; }
.ct-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-weight:700; padding:.75rem 1.35rem; border-radius:999px; font-size:.92rem;
  border:2px solid transparent; transition:transform .15s, box-shadow .15s, border-color .15s, color .15s; cursor:pointer; }
.ct-btn:hover{ transform:translateY(-2px); }
.ct-btn--p{ background:var(--s); color:#fff; box-shadow:0 12px 26px -12px rgba(43,118,247,.6); }
.ct-btn--line{ background:#fff; color:var(--ink); border-color:var(--bd); }
.ct-btn--line:hover{ border-color:var(--s); color:var(--s); }
.ct-sec{ position:relative; overflow:hidden; padding:5rem 0; }
.ct-sec--soft{ background:var(--soft); }
.ct-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1.25rem; margin-bottom:2.25rem; }
.ct-dots{ position:absolute; inset:0; pointer-events:none; opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Ccircle cx='2' cy='2' r='1.5' fill='%23cdd7e6'/%3E%3C/svg%3E"); background-size:26px 26px;
  -webkit-mask:linear-gradient(180deg,#000,transparent 85%); mask:linear-gradient(180deg,#000,transparent 85%); }
.ct-sec > .ct-wrap{ position:relative; z-index:1; }

/* Hero de paginas */
.ct-hero{ position:relative; overflow:hidden; background:#f7f9fd; padding:8rem 0 3.5rem; border-bottom:1px solid var(--bd); }
.ct-hero .ct-dots{ opacity:1; }
.ct-hero .ct-wrap{ position:relative; z-index:1; }
.ct-back{ display:flex; width:fit-content; align-items:center; gap:.5rem; font-size:.875rem; color:var(--mut); margin-bottom:1.5rem; }
.ct-back:hover{ color:var(--s); }
.ct-h1{ font-family:var(--c-font-display); font-weight:800; line-height:1.05; letter-spacing:-.02em; font-size:clamp(2.2rem,5vw,3.4rem); margin:.9rem 0 0; color:var(--ink); }

/* Filtros */
.ct-filters{ display:flex; flex-direction:column; gap:.9rem; margin-top:2rem; }
.ct-chips{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.ct-chips__lbl{ font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--mut); margin-right:.35rem; min-width:64px; }
.ct-chip{ display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .95rem; border-radius:999px; background:#fff; border:1px solid var(--bd);
  font-size:.84rem; font-weight:700; color:var(--ink); transition:border-color .15s, color .15s, background .15s; }
.ct-chip i{ color:var(--cc,var(--s)); font-size:.8rem; }
.ct-chip:hover{ border-color:var(--cc,var(--s)); }
.ct-chip.on{ background:var(--cc,var(--s)); border-color:var(--cc,var(--s)); color:#fff; }
.ct-chip.on i{ color:#fff; }
.ct-search{ position:relative; max-width:360px; width:100%; }
.ct-search input{ width:100%; padding:.7rem 1rem .7rem 2.5rem; border-radius:999px; border:1px solid var(--bd); background:#fff; font-size:.9rem; outline:none; }
.ct-search input:focus{ border-color:var(--s); box-shadow:0 0 0 4px rgba(var(--c-secondary-rgb,43,118,247),.12); }
.ct-search i{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--mut); font-size:.85rem; }

/* Grupos / secciones por perfil */
.ct-group + .ct-group{ margin-top:4rem; }
.ct-group__head{ display:flex; align-items:center; gap:.9rem; margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--bd); }
.ct-group__logo{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--pc,var(--p)); color:#fff; overflow:hidden; flex-shrink:0; }
.ct-group__logo img{ width:100%; height:100%; object-fit:cover; }
.ct-group__head h2{ font-size:1.4rem; font-weight:800; margin:0; font-family:var(--c-font-display); }
.ct-group__head a{ margin-left:auto; font-size:.85rem; font-weight:700; color:var(--s); white-space:nowrap; }
.ct-perfil + .ct-perfil{ margin-top:2.5rem; }
.ct-perfil__head{ display:flex; align-items:center; gap:.7rem; margin-bottom:1rem; }
.ct-perfil__ic{ width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; background:var(--rc,var(--s)); font-size:.9rem; }
.ct-perfil__head h3{ font-size:1.05rem; font-weight:800; margin:0; }
.ct-perfil__head span.n{ font-size:.7rem; font-weight:800; color:var(--mut); background:#eef2f7; padding:.15rem .55rem; border-radius:999px; }

/* Grilla y tarjeta de video */
.ct-grid{ display:grid; gap:1.4rem; grid-template-columns:1fr; }
@media(min-width:640px){ .ct-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .ct-grid{ grid-template-columns:repeat(3,1fr); } .ct-grid--4{ grid-template-columns:repeat(4,1fr); } }
.ct-vid{ display:flex; flex-direction:column; text-align:left; width:100%; padding:0; background:#fff; border:1px solid var(--bd); border-radius:18px; overflow:hidden; cursor:pointer;
  transition:transform .2s, box-shadow .2s, border-color .2s; font:inherit; color:inherit; }
.ct-vid:hover{ transform:translateY(-4px); border-color:rgba(var(--c-secondary-rgb,43,118,247),.35); box-shadow:0 22px 40px -24px rgba(15,23,42,.35); }
.ct-vid:focus-visible{ outline:3px solid var(--s); outline-offset:2px; }
.ct-vid__media{ position:relative; aspect-ratio:16/9; background:linear-gradient(135deg,var(--rc,var(--s)),var(--p)); overflow:hidden; }
.ct-vid__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.ct-vid:hover .ct-vid__media img{ transform:scale(1.04); }
.ct-vid__ph{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.25); font-size:3.5rem; }
.ct-vid__play{ position:absolute; left:50%; top:50%; width:58px; height:58px; margin:-29px 0 0 -29px; border-radius:50%; background:rgba(255,255,255,.95); color:var(--s);
  display:flex; align-items:center; justify-content:center; font-size:1.15rem; padding-left:4px; box-shadow:0 12px 30px -8px rgba(0,0,0,.45); transition:transform .2s; }
.ct-vid:hover .ct-vid__play{ transform:scale(1.1); }
.ct-vid__dur{ position:absolute; right:.6rem; bottom:.6rem; background:rgba(15,23,42,.82); color:#fff; font-size:.7rem; font-weight:700; padding:.15rem .45rem; border-radius:6px; }
.ct-vid__b{ padding:1rem 1.1rem 1.15rem; display:flex; flex-direction:column; gap:.4rem; flex:1; }
.ct-vid__b h4{ font-size:.98rem; font-weight:800; margin:0; line-height:1.3; }
.ct-vid__b p{ font-size:.84rem; color:var(--mut); margin:0; line-height:1.45; }
.ct-tag{ align-self:flex-start; display:inline-flex; align-items:center; gap:.35rem; font-size:.68rem; font-weight:800; padding:.18rem .55rem; border-radius:999px;
  color:var(--rc,var(--s)); background:color-mix(in srgb, var(--rc,var(--s)) 12%, transparent); }
.ct-empty{ text-align:center; padding:3.5rem 1rem; color:var(--mut); border:1px dashed var(--bd); border-radius:18px; background:#fff; }
.ct-empty i{ font-size:2rem; color:#cbd5e1; display:block; margin-bottom:.75rem; }

/* Modal de video */
.ct-modal{ position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center; padding:1rem; }
.ct-modal.open{ display:flex; }
.ct-modal__bd{ position:absolute; inset:0; background:rgba(15,23,42,.82); backdrop-filter:blur(4px); }
.ct-modal__box{ position:relative; width:min(1000px,100%); background:#0b1220; border-radius:18px; box-shadow:0 40px 80px -20px rgba(0,0,0,.6); }
.ct-modal__media{ aspect-ratio:16/9; background:#000; border-radius:18px 18px 0 0; overflow:hidden; }
.ct-modal__media iframe, .ct-modal__media video{ width:100%; height:100%; border:0; display:block; }
.ct-modal__cap{ padding:1rem 1.25rem 1.2rem; color:#e2e8f0; }
.ct-modal__cap h3{ margin:0; font-size:1.05rem; font-weight:800; color:#fff; }
.ct-modal__cap p{ margin:.3rem 0 0; font-size:.88rem; color:#94a3b8; }
.ct-modal__x{ position:absolute; top:-48px; right:0; z-index:2; width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; font-size:1.4rem; cursor:pointer; }
.ct-modal__x:hover{ background:rgba(255,255,255,.28); }

/* Novedades */
.ct-nov{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--bd); border-radius:18px; overflow:hidden; transition:transform .2s, box-shadow .2s; height:100%; }
.ct-nov:hover{ transform:translateY(-4px); box-shadow:0 22px 40px -24px rgba(15,23,42,.35); }
.ct-nov__media{ position:relative; aspect-ratio:16/9; background:linear-gradient(135deg,var(--s),var(--p)); overflow:hidden; }
.ct-nov__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ct-nov__media .ct-vid__ph{ color:rgba(255,255,255,.3); }
.ct-nov__badges{ position:absolute; left:.7rem; top:.7rem; display:flex; gap:.35rem; }
.ct-badge{ font-size:.66rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:.22rem .6rem; border-radius:999px; background:#fff; color:var(--ink); box-shadow:0 6px 14px -8px rgba(0,0,0,.4); }
.ct-badge--lanzamiento{ background:#2B76F7; color:#fff; }
.ct-badge--mejora{ background:#7c3aed; color:#fff; }
.ct-badge--noticia{ background:#f59e0b; color:#1a1a1a; }
.ct-nov__b{ padding:1.1rem 1.2rem 1.25rem; display:flex; flex-direction:column; gap:.45rem; flex:1; }
.ct-nov__meta{ font-size:.75rem; color:var(--mut); font-weight:600; display:flex; gap:.6rem; flex-wrap:wrap; }
.ct-nov__b h3{ font-size:1.05rem; font-weight:800; margin:0; line-height:1.3; }
.ct-nov__b p{ font-size:.86rem; color:var(--mut); margin:0; line-height:1.5; }
.ct-nov__go{ margin-top:auto; padding-top:.5rem; font-size:.84rem; font-weight:700; color:var(--s); display:inline-flex; gap:.4rem; align-items:center; }
.ct-nov__go i{ transition:transform .2s; } .ct-nov:hover .ct-nov__go i{ transform:translateX(3px); }
.ct-nov--feat{ display:grid; }
@media(min-width:900px){ .ct-nov--feat{ grid-template-columns:1.25fr 1fr; } .ct-nov--feat .ct-nov__media{ aspect-ratio:auto; min-height:300px; } .ct-nov--feat .ct-nov__b{ padding:2rem; justify-content:center; } .ct-nov--feat h3{ font-size:1.5rem; } }

/* Detalle de novedad */
.ct-article{ max-width:860px; margin:0 auto; }
.ct-car{ position:relative; }
.ct-frame{ background:#fff; border-radius:16px; overflow:hidden; border:1px solid var(--bd); box-shadow:0 30px 60px -30px rgba(15,23,42,.4); }
.ct-frame__bar{ display:flex; gap:.4rem; padding:.6rem .85rem; background:#eef2f7; border-bottom:1px solid var(--bd); align-items:center; }
.ct-frame__bar i{ width:11px; height:11px; border-radius:50%; }
.ct-car__view{ overflow:hidden; }
.ct-car__track{ display:flex; transition:transform .45s ease; }
.ct-car__slide{ min-width:100%; background:#fff; }
.ct-car__slide img{ display:block; width:100%; max-height:560px; object-fit:contain; background:#f8fafc; }
.ct-car__nav{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:#fff; color:var(--p); border:1px solid var(--bd);
  box-shadow:0 10px 22px -10px rgba(0,0,0,.3); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3; }
.ct-car__nav:hover{ color:var(--s); }
.ct-car__nav.prev{ left:-14px; } .ct-car__nav.next{ right:-14px; }
@media(max-width:640px){ .ct-car__nav.prev{ left:6px; } .ct-car__nav.next{ right:6px; } }
.ct-car__cap{ margin-top:1rem; min-height:3.2rem; }
.ct-car__cap h3{ font-size:1.05rem; font-weight:800; margin:0; }
.ct-car__cap p{ font-size:.9rem; color:var(--mut); margin:.25rem 0 0; }
.ct-car__dots{ display:flex; gap:.4rem; margin-top:.75rem; }
.ct-car__dots button{ width:9px; height:9px; border-radius:999px; border:0; background:var(--bd); cursor:pointer; padding:0; transition:width .2s, background .2s; }
.ct-car__dots button.on{ width:26px; background:var(--s); }
.ct-embed{ width:100%; border:0; display:block; background:#fff; }
.ct-prose{ color:#334155; font-size:1.02rem; line-height:1.75; }
.ct-prose h2, .ct-prose h3{ color:var(--ink); font-weight:800; margin:1.8rem 0 .6rem; line-height:1.25; }
.ct-prose h2{ font-size:1.5rem; } .ct-prose h3{ font-size:1.2rem; }
.ct-prose p{ margin:0 0 1rem; } .ct-prose a{ color:var(--s); text-decoration:underline; }
.ct-prose ul, .ct-prose ol{ margin:0 0 1rem 1.3rem; } .ct-prose ul{ list-style:disc; } .ct-prose ol{ list-style:decimal; }
.ct-prose li{ margin:.25rem 0; } .ct-prose img{ border-radius:12px; max-width:100%; height:auto; }
.ct-prose blockquote{ border-left:4px solid var(--s); padding:.4rem 0 .4rem 1rem; color:var(--mut); margin:1rem 0; }

@media (prefers-reduced-motion: reduce){ .ct *{ transition:none !important; } }

/* ===== Detalle de novedad: layout a dos columnas ===== */
.ct-nh{ position:relative; overflow:hidden; background:#f7f9fd; padding:7.5rem 0 4.5rem; border-bottom:1px solid var(--bd); }
.ct-nh .ct-wrap{ position:relative; z-index:1; }
.ct-nh__grid{ display:grid; gap:3rem; align-items:center; }
@media(min-width:1024px){ .ct-nh__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:3.5rem; } }
.ct-nh__glow{ position:absolute; width:520px; height:520px; right:-140px; top:-120px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(var(--c-secondary-rgb,43,118,247),.16), transparent 65%); }
.ct-nh__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.ct-nh__date{ font-size:.8rem; color:var(--mut); font-weight:600; display:inline-flex; gap:.4rem; align-items:center; margin-left:.25rem; }
.ct-nh .ct-h1{ font-size:clamp(2.2rem,4.4vw,3.3rem); }
.ct-nh__cta{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.ct-nh__vis{ position:relative; }
.ct-tilt{ transform:perspective(2000px) rotateY(-14deg) rotateX(5deg); transform-origin:center; transition:transform .5s ease; }
.ct-nh__vis:hover .ct-tilt{ transform:perspective(2000px) rotateY(-6deg) rotateX(2deg); }
@media(max-width:1023px){ .ct-tilt{ transform:none; } }
.ct-tilt .ct-frame{ box-shadow:-40px 40px 80px -36px rgba(15,23,42,.45); }
.ct-tilt img{ display:block; width:100%; }
.ct-float{ position:absolute; display:flex; align-items:center; gap:.65rem; background:#fff; border:1px solid var(--bd); border-radius:14px; padding:.7rem .95rem;
  box-shadow:0 22px 44px -20px rgba(15,23,42,.35); animation:ctfloat 6s ease-in-out infinite; font-size:.8rem; }
.ct-float b{ display:block; font-size:.88rem; color:var(--ink); } .ct-float small{ color:var(--mut); }
.ct-float__ic{ width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; background:var(--s); flex-shrink:0; }
.ct-float--a{ left:-22px; bottom:28px; } .ct-float--b{ right:-14px; top:-18px; animation-delay:-3s; }
@media(max-width:640px){ .ct-float--a{ left:8px; bottom:-18px; } .ct-float--b{ display:none; } }
@keyframes ctfloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }

.ct-layout{ display:grid; gap:2.5rem; align-items:start; }
@media(min-width:1024px){ .ct-layout{ grid-template-columns:minmax(0,1fr) 340px; gap:3rem; } }
.ct-main > * + *{ margin-top:3rem; }
.ct-block__h{ display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; }
.ct-block__h h2{ font-size:1.3rem; font-weight:800; margin:0; font-family:var(--c-font-display); }
.ct-block__ic{ width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(var(--c-secondary-rgb,43,118,247),.1); color:var(--s); }

/* Carrusel con miniaturas */
.ct-thumbs{ display:flex; gap:.6rem; margin-top:.9rem; overflow-x:auto; padding-bottom:.25rem; scrollbar-width:thin; }
.ct-thumbs button{ flex:0 0 112px; aspect-ratio:16/10; border-radius:10px; overflow:hidden; border:2px solid transparent; padding:0; cursor:pointer; opacity:.6; background:#eef2f7;
  transition:opacity .2s, border-color .2s; }
.ct-thumbs button img{ width:100%; height:100%; object-fit:cover; display:block; }
.ct-thumbs button:hover{ opacity:.9; }
.ct-thumbs button.on{ opacity:1; border-color:var(--s); }
.ct-car__cap--row{ display:flex; gap:1rem; align-items:flex-start; justify-content:space-between; }
.ct-car__count{ font-size:.75rem; font-weight:800; color:var(--mut); background:#eef2f7; padding:.2rem .6rem; border-radius:999px; white-space:nowrap; }
.ct-car .ct-car__slide img{ max-height:none; }

/* Barra lateral */
.ct-aside{ display:flex; flex-direction:column; gap:1.25rem; }
@media(min-width:1024px){ .ct-aside{ position:sticky; top:96px; } }
.ct-card{ background:#fff; border:1px solid var(--bd); border-radius:18px; padding:1.25rem; }
.ct-card__t{ font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--mut); margin:0 0 .9rem; display:flex; justify-content:space-between; align-items:center; }
.ct-card__t a{ color:var(--s); letter-spacing:0; text-transform:none; font-size:.8rem; }
.ct-proj{ display:flex; align-items:center; gap:.75rem; padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid var(--bd); }
.ct-proj__logo{ width:44px; height:44px; border-radius:12px; overflow:hidden; display:flex; align-items:center; justify-content:center; background:var(--pc,var(--p)); color:#fff; flex-shrink:0; }
.ct-proj__logo img{ width:100%; height:100%; object-fit:cover; }
.ct-proj b{ display:block; font-size:.92rem; line-height:1.25; } .ct-proj small{ color:var(--mut); font-size:.78rem; }
.ct-facts{ display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin:0; }
.ct-facts div{ background:var(--soft); border-radius:12px; padding:.65rem .75rem; }
.ct-facts dt{ font-size:.68rem; color:var(--mut); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.ct-facts dd{ margin:.15rem 0 0; font-size:.88rem; font-weight:800; color:var(--ink); }
.ct-mini{ display:flex; gap:.75rem; align-items:center; padding:.55rem; margin:0 -.55rem; border-radius:12px; transition:background .15s; text-align:left; width:calc(100% + 1.1rem);
  background:none; border:0; cursor:pointer; font:inherit; color:inherit; }
.ct-mini:hover{ background:var(--soft); }
.ct-mini__img{ position:relative; width:78px; aspect-ratio:16/10; border-radius:9px; overflow:hidden; flex-shrink:0; background:linear-gradient(135deg,var(--rc,var(--s)),var(--p)); }
.ct-mini__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.ct-mini__img .p{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:.75rem; background:rgba(15,23,42,.25); }
.ct-mini b{ display:block; font-size:.84rem; line-height:1.3; color:var(--ink); }
.ct-mini small{ font-size:.72rem; color:var(--mut); }
.ct-cta{ position:relative; overflow:hidden; border-radius:18px; padding:1.4rem; color:#fff; background:linear-gradient(140deg, var(--s), var(--p)); }
.ct-cta::after{ content:""; position:absolute; width:180px; height:180px; right:-60px; bottom:-70px; border-radius:40px; transform:rotate(18deg); background:rgba(255,255,255,.1); }
.ct-cta h3{ font-size:1.1rem; font-weight:800; margin:0; color:#fff; }
.ct-cta p{ font-size:.85rem; margin:.4rem 0 1rem; color:rgba(255,255,255,.85); }
.ct-cta .ct-btn{ background:#fff; color:var(--p); position:relative; z-index:1; padding:.6rem 1.1rem; font-size:.85rem; }
/* Novedad sin cuerpo: las tarjetas laterales se reparten a lo ancho */
.ct-layout--solo{ grid-template-columns:1fr !important; }
.ct-layout--solo .ct-aside{ position:static; display:grid; gap:1.25rem; }
@media(min-width:768px){ .ct-layout--solo .ct-aside{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1100px){ .ct-layout--solo .ct-aside{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); } }

/* ===== Secciones destacadas del proyecto ===== */
.sd--a { background: #fff; }
.sd--b { background: var(--soft); }
.sd-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .sd-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 4rem; } }
.sd-aviso { display: inline-flex; align-items: center; gap: .55rem; margin: 1.1rem 0 0; padding: .55rem .95rem; border-radius: 12px;
  font-size: .9rem; font-weight: 700; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; }
.sd-aviso i { color: #d97706; font-size: 1.05rem; }
.sd-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.sd-tags span { font-size: .85rem; font-weight: 700; color: var(--ink); padding: .5rem 1rem; border-radius: 999px; background: #fff; border: 1px solid var(--bd);
  box-shadow: 0 6px 16px -12px rgba(15,23,42,.3); }
.sd-cards { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .sd-cards { grid-template-columns: 1fr 1fr; } }
.sd-card { position: relative; background: #fff; border: 1px solid var(--bd); border-radius: 22px; padding: 1.5rem 1.4rem; transition: transform .25s, box-shadow .25s; }
.sd--a .sd-card { background: var(--soft); border-color: transparent; }
.sd-card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -26px rgba(15,23,42,.35); }
.sd-card { --sc: var(--s); }
.sd-card:nth-child(4n+2) { --sc: #38bdf8; }
.sd-card:nth-child(4n+3) { --sc: #22c55e; }
.sd-card:nth-child(4n+4) { --sc: #f59e0b; }
.sd-card__ic { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
  color: color-mix(in srgb, var(--sc) 80%, #0f172a); background: color-mix(in srgb, var(--sc) 14%, #fff); }
.sd-card h3 { margin: 1rem 0 0; font-size: 1.05rem; font-weight: 800; color: var(--ink); }
.sd-card p { margin: .35rem 0 0; font-size: .9rem; line-height: 1.5; color: var(--mut); }
.sd-tags span.has-logo { display: inline-flex; align-items: center; gap: .45rem; padding-left: .7rem; }
.sd-tags img { width: 20px; height: 20px; border-radius: 6px; box-shadow: 0 0 0 1px rgba(15,23,42,.06); }
.sd-card__logos { display: inline-flex; gap: .5rem; }
.sd-card__logos img { width: 46px; height: 46px; border-radius: 13px; box-shadow: 0 0 0 1px rgba(15,23,42,.06), 0 8px 18px -12px rgba(15,23,42,.4); }
