/* Las placas ahora son enlaces; mantienen su presentación sin subrayados. */
.services a.visual,.services a.visual:hover,.services a.visual:focus-visible{text-decoration:none}
/* Acciones: texto blanco, subrayado verde uniforme y perfiles sin fondo al pasar el puntero. */
.btn,.nav .btn{background:#007a34;border-color:#007a34;color:#fff;transition:background-color .18s ease,border-color .18s ease}
.btn:hover,.nav .btn:hover{background:#00632a;border-color:#00632a;color:#fff}
.btn.outline,dialog .btn.outline{background:transparent;color:#fff;border-color:#009640}
.btn.outline:hover,dialog .btn.outline:hover{background:#00632a;color:#fff}
.text-action,.text-action:hover{display:inline-block;border-bottom:2px solid #009640;padding-bottom:5px;text-decoration:none}
.profile:hover{background:transparent}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

/* Perfiles con la misma familia visual de los servicios, a menor escala. */
.profiles{gap:24px}
.profile{background:#07385c;border:1px solid #527d9c;border-radius:12px;padding:24px;transition:background-color .18s ease,border-color .18s ease}
.profile:hover,.profile:focus-visible{background:#0f70b7;border-color:#a8cde7}
.profile>.n-icon{width:30px;height:30px;margin-bottom:14px;color:#fff}
.profile h3{font-size:1.375rem}
.profile p{margin-bottom:18px;color:#e0e9ef}
/* Centro más presente y órbitas proporcionadas al conjunto. */
.brand-core{width:190px;height:190px}
.brand-core img{height:160px;max-width:100%;object-fit:contain}
.orbit{width:260px;height:260px;border-color:#74add499}
.orbit-two{width:370px;height:370px}
@media(max-width:800px){
 .brand-core{width:170px;height:170px}
 .brand-core img{height:140px}
 .orbit{width:230px;height:230px}
 .orbit-two{width:310px;height:310px}
}
@media(prefers-reduced-motion:reduce){.profile{transition:none}}

/* Tarjeta estable; interacción exclusiva del botón centrado. */
.profile{display:flex;flex-direction:column;align-items:flex-start;cursor:default}
.profile:hover{background:#07385c;border-color:#527d9c}
.profile-action{align-self:center;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid #74add4;border-radius:7px;background:#0b5489;color:#fff;font-size:1rem;font-weight:700;transition:background-color .18s ease,border-color .18s ease}
.profile-action:hover,.profile-action:focus-visible{background:#0f70b7;border-color:#a8cde7;color:#fff}
@media(prefers-reduced-motion:reduce){.profile-action{transition:none}}

/* Identidad compartida con Servicios: neutros y marcos/iconos azul-verde. */
.visual.rodent,.visual.insects,.visual.certification-image{--frame:#0f70b7;background:rgba(14,19,22,.94);border:1px solid var(--frame);border-top:2px solid var(--frame)}
.visual.insects{--frame:#009640}
.visual:hover,.visual:focus-visible{background:rgba(14,19,22,.94);border-color:var(--frame);box-shadow:inset 0 0 0 1px var(--frame)}
.visual .insect-unit svg{color:var(--frame)}
.visual .insect-unit:nth-child(odd),.visual .insect-unit:nth-child(-n+2){border-color:var(--frame)}
.service:nth-child(2) .btn{background:#0f70b7;border-color:#0f70b7;color:#fff}
.service:nth-child(2) .btn:hover{background:#0b5489;border-color:#0b5489}
.service:nth-child(2) .text-action{border-bottom-color:#0f70b7}
.brand-system{background:rgba(14,19,22,.94);border:1px solid #009640;border-top:2px solid #009640}
.brand-function{background:rgba(14,19,22,.94);border-color:#009640}
.brand-function .n-icon{color:#009640}
.orbit{border-color:#00964088}
.profile,.profile:hover{background:rgba(14,19,22,.94);border-color:#0f70b7;border-top:2px solid #0f70b7}
.profile>.n-icon{color:#0f70b7}
.profile:nth-child(2),.profile:nth-child(2):hover{border-color:#009640;border-top-color:#009640}
.profile:nth-child(2)>.n-icon{color:#009640}
.profile-action{background:#007a34;border-color:#007a34;color:#fff}
.profile-action:hover,.profile-action:focus-visible{background:#00632a;border-color:#00632a}
.profile:nth-child(2) .profile-action{background:#0f70b7;border-color:#0f70b7}
.profile:nth-child(2) .profile-action:hover,.profile:nth-child(2) .profile-action:focus-visible{background:#0b5489;border-color:#0b5489}
.perimeter-stage{background:rgba(14,19,22,.94);border-color:#0f70b7;border-top:2px solid #0f70b7}
.perimeter-stage>svg circle{fill:#0f70b7;stroke:#0f70b7}
.perimeter-stage .legend-dot{background:#0f70b7;border-color:#0f70b7}
.perimeter-stage>svg path[stroke-width="2.2"]{stroke:#fff}
.report-stage.report-symbols{background:rgba(14,19,22,.94);border-color:#009640;border-top:2px solid #009640}
.report-symbol svg,.documentation-points .n-icon{color:#009640}
.report-symbol:nth-child(odd),.report-symbol:nth-child(-n+2){border-color:#009640}
.identifier-band{background:rgba(14,19,22,.94);border-color:#0f70b7;border-top:2px solid #0f70b7}
.diagnostic-preview{background:rgba(14,19,22,.94);border-color:#0f70b7}
.signal-options a{background:rgba(14,19,22,.94);border-color:#0f70b7}
.signal-options a .n-icon,.flow-summary .n-icon,.question-top .n-icon{color:#0f70b7}
.signal-options a:hover,.signal-options a:focus-visible{background:rgba(14,19,22,.94);border-color:#0f70b7;box-shadow:inset 0 0 0 1px #0f70b7}

/* Excepción exclusiva del Home: doce iconos de presentación en blanco. */
.services .visual.rodent .insect-unit svg,.services .visual.insects .insect-unit svg,.services .visual.certification-image .insect-unit svg{color:#fff}

/* Home: los iconos grandes de documentación son blancos; pequeños conservan su color. */
.report-stage.report-symbols .report-symbol svg{color:#fff}

/* Presentación del Home: explicación debajo del título, en la misma alineación. */
.services>.service-heading{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.services>.service-heading>p{margin:0;text-align:left;max-width:65ch}

.footer-grid .footer-pending{display:block;color:var(--muted);font-size:.9375rem;line-height:1.6;margin:9px 0}.footer-grid a[href^="mailto:"]{overflow-wrap:anywhere}

/* Tarjetas principales: superficie interactiva, sin acceso informativo duplicado. */
.service{position:relative;isolation:isolate}
.service .visual::after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer;border-radius:12px}
.service .actions{position:relative;z-index:2}
.service .visual{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.service:hover .visual,.service:has(.visual:focus-visible) .visual{background:#174767;border-color:#4babe9;box-shadow:0 0 0 1px #4babe9}
.service:hover .visual.insects,.service:has(.visual.insects:focus-visible) .visual.insects{background:#164b32;border-color:#39b971;box-shadow:0 0 0 1px #39b971}
.service .visual:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.service .visual{transition:none}}

/* Respuestas clickeables: mismo feedback que las categorías principales. */
.signal-options a{cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.signal-options a:hover,.signal-options a:focus-visible{background:#174767;border-color:#4babe9;box-shadow:0 0 0 1px #4babe9;color:#fff}
.signal-options a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.signal-options a{transition:none}}

/* El enlace real cubre la tarjeta; el presupuesto permanece por encima. */
.service .visual{position:static}
.service .visual::after{display:block;background:none}

/* Los accesos de perfil conservan el aspecto de botón al usar una ruta real. */
.profile-action{text-decoration:none}
