
/* CSV98 · Arquitectura quirúrgica
   Capa deliberadamente pequeña: no sustituye la identidad visual existente. */

:focus-visible{
  outline:3px solid #ff9b29!important;
  outline-offset:3px!important;
}

.csv98-service-intro{
  display:flex;
  justify-content:flex-end;
  margin:-8px 0 22px;
}

/* Service families */
.service-groups{
  padding:54px 0 16px;
  display:grid;
  gap:42px;
}
.service-family{
  padding:0;
}
.service-family-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
  gap:22px;
  align-items:end;
  margin-bottom:18px;
  padding-bottom:15px;
  border-bottom:1px solid #eadfce;
}
.service-family-head h2{
  margin:0;
  color:#06172b;
  font-size:clamp(1.55rem,3vw,2.25rem);
  line-height:1.08;
}
.service-family-head p{
  margin:0;
  color:#687587;
}
.service-family-grid{
  padding:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.service-family-grid .card{
  min-height:100%;
}

/* Keep real values in DOM; give motion visually without rewriting text */
.hero-proof strong.csv98-count-ready,
.hero-proof.csv98-proof-ready strong{
  animation:csv98ProofIn .65s ease both;
}
.hero-proof div:nth-child(2) strong{animation-delay:.08s}
.hero-proof div:nth-child(3) strong{animation-delay:.16s}
@keyframes csv98ProofIn{
  from{opacity:.35;transform:translateY(6px) scale(.94)}
  to{opacity:1;transform:none}
}

@media(max-width:900px){
  .service-family-head{grid-template-columns:1fr}
  .service-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .csv98-service-intro{justify-content:stretch}
  .csv98-service-intro .btn{width:100%}
  .service-groups{gap:34px;padding-top:36px}
  .service-family-grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-proof strong.csv98-count-ready,
  .hero-proof.csv98-proof-ready strong{animation:none}
}


/* CSV99 — arquitectura final candidata */
.csv99-quick{padding:40px 0 26px;background:linear-gradient(180deg,#fffdfa,#fff)}
.csv99-quick-head{display:grid;grid-template-columns:1fr .8fr;gap:28px;align-items:end;margin-bottom:18px}
.csv99-quick-head h2{margin:4px 0 0;font-size:clamp(1.9rem,4vw,3rem);color:#06172b}
.csv99-quick-head p{margin:0;color:#687587}
.csv99-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.csv99-quick-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"i s" "i d";gap:1px 12px;align-items:center;padding:18px;border:1px solid #eadfce;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(6,23,43,.07);transition:.18s ease}
.csv99-quick-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(6,23,43,.12)}
.csv99-quick-icon{grid-area:i;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff3e5;color:#c85b00;font-weight:900;font-size:1.3rem}
.csv99-quick-card strong{grid-area:s;color:#06172b;font-size:1.02rem}
.csv99-quick-card small{grid-area:d;color:#687587;font-size:.82rem;line-height:1.25}

.csv99-compare{padding:34px 0 78px;background:#fffdfa}
.csv99-station-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.csv99-station-mini{display:flex;flex-direction:column;min-height:310px;padding:22px;border:1px solid #eadfce;border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(6,23,43,.07)}
.csv99-station-mini.csv99-featured{border-color:#e3b75d;box-shadow:0 18px 44px rgba(126,85,9,.12)}
.csv99-mini-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.csv99-mini-top strong{font-size:1.25rem;color:#06172b}
.csv99-mini-top span{font-size:.72rem;font-weight:850;padding:6px 9px;border-radius:999px;background:#eef6ee;color:#246232;white-space:nowrap}
.csv99-station-mini p{color:#687587;font-size:.92rem}
.csv99-tags{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 22px}
.csv99-tags span,.csv99-common span,.csv99-glance-tags span{font-size:.78rem;font-weight:780;padding:7px 10px;border-radius:999px;background:#fff6ea;border:1px solid #eadfce;color:#26384b}
.csv99-mini-actions{display:flex;gap:8px;margin-top:auto}
.csv99-mini-actions a{flex:1;text-align:center;padding:10px;border-radius:999px;font-weight:850;font-size:.84rem;background:#06172b;color:#fff}
.csv99-mini-actions a:last-child{background:#fff;color:#06172b;border:1px solid #d8dfe6}
.csv99-common{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px;padding:16px 18px;border-radius:18px;background:#f7f9fb;color:#516173}
.csv99-common strong{color:#06172b;margin-right:4px}

.csv99-wide-card{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:30px 34px;border-radius:28px;background:linear-gradient(135deg,#07192e,#10385f);color:#fff;box-shadow:0 22px 55px rgba(6,23,43,.18)}
.csv99-wide-card h2{margin:4px 0 8px;font-size:clamp(1.8rem,3vw,2.6rem)}
.csv99-wide-card p{margin:0;color:#dce6ef;max-width:720px}
.csv99-contact-home{padding-top:54px}
.csv99-contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.csv99-contact-action{padding:22px;border:1px solid #eadfce;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(6,23,43,.06)}
.csv99-contact-action strong,.csv99-contact-action span{display:block}
.csv99-contact-action strong{color:#06172b;font-size:1.05rem;margin-bottom:4px}
.csv99-contact-action span{color:#687587;font-size:.88rem}

.csv99-page-hero{padding:72px 0 44px;background:linear-gradient(135deg,#06172b,#0d3155);color:#fff}
.csv99-page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1;margin:8px 0 15px}
.csv99-page-hero p{max-width:760px;color:#dce6ef;font-size:1.05rem}
.csv99-dedicated main>section:not(.csv99-page-hero){padding-top:54px}
.csv99-form-open{display:block!important;height:auto!important;max-height:none!important;opacity:1!important;overflow:visible!important}
.csv99-dedicated .form-panel{max-width:900px;margin-inline:auto}

.csv99-glance{margin-bottom:24px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#07192e,#10385f);color:#fff;box-shadow:0 18px 45px rgba(6,23,43,.16)}
.csv99-glance-top{display:flex;justify-content:space-between;gap:16px;align-items:center}
.csv99-glance-top span,.csv99-glance-top strong{display:block}
.csv99-glance-top span{font-size:.78rem;color:#cbd8e4}
.csv99-glance-top strong{font-size:1.14rem}
.csv99-glance-top a{padding:9px 13px;border-radius:999px;background:#fff;color:#06172b;font-weight:850;font-size:.8rem}
.csv99-glance-tags{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 10px}
.csv99-glance-tags span{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18);color:#fff}
.csv99-glance p{margin:0;color:#dce6ef;font-size:.88rem}

/* Mobile information architecture */
@media(max-width:900px){
  .csv99-quick-head{grid-template-columns:1fr}
  .csv99-quick-grid{grid-template-columns:repeat(2,1fr)}
  .csv99-station-cards{grid-template-columns:repeat(2,1fr)}
  .csv99-contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .csv99-quick{padding-top:28px}
  .csv99-quick-grid,.csv99-station-cards,.csv99-contact-grid{grid-template-columns:1fr}
  .csv99-quick-card{padding:16px}
  .csv99-station-mini{min-height:0}
  .csv99-wide-card{align-items:flex-start;flex-direction:column;padding:25px}
  .csv99-wide-card .btn{width:100%}
  .csv99-glance-top{align-items:flex-start;flex-direction:column}
}
