/* 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}}

/* Bloque 2: catálogo; identidad heredada del Home. */
.catalog-intro{padding-top:42px;padding-bottom:36px}
.catalog-intro .service-heading{margin-top:30px}
.catalog-index{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.catalog-index a{display:flex;justify-content:space-between;gap:16px;background:#07385c;border:1px solid #527d9c;border-radius:10px;padding:20px;color:#fff;text-decoration:none;font-weight:700}
.catalog-index a:hover{background:#0f70b7;border-color:#a8cde7}
.catalog-section{padding-top:36px;padding-bottom:40px;scroll-margin-top:100px}
.catalog-section .section-head{align-items:flex-end;gap:28px}
.catalog-section .section-head>p{max-width:370px;color:var(--muted)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.insect-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}
.catalog-card{display:flex;flex-direction:column;border:1px solid #527d9c;background:#07385c;border-radius:12px;padding:26px}
.catalog-icon{height:90px;display:flex;align-items:center;margin-bottom:22px;color:#fff}
.catalog-icon svg{height:86px;width:86px}
.catalog-card h3{font-size:1.375rem;line-height:1.3;margin-bottom:12px}
.catalog-card p{color:#e0e9ef;font-size:1rem;line-height:1.65;margin-bottom:20px}
.catalog-actions{display:flex;align-items:flex-start;margin-top:auto}

.catalog-actions .btn{font-size:1rem;padding:12px 15px}
.other-insects{display:flex;justify-content:space-between;align-items:center;gap:28px;border:1px solid #527d9c;background:#07385c;border-radius:12px;padding:26px;margin-top:24px}
.other-insects h3{font-size:1.375rem;margin-bottom:8px}
.other-insects p{color:#e0e9ef}
.other-insects .catalog-actions{margin-top:0;align-items:center}
.catalog-note{padding-top:0;padding-bottom:45px;font-size:.9375rem;color:var(--muted)}
@media(max-width:1100px){.insect-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.catalog-grid,.catalog-index{grid-template-columns:1fr}.insect-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.other-insects{flex-direction:column;align-items:flex-start}.catalog-section .section-head{display:block}.catalog-section .section-head>p{margin-top:18px}}
@media(max-width:540px){.insect-catalog{grid-template-columns:1fr}.catalog-card{padding:24px}.catalog-intro{padding-top:28px}}

/* Categorías siempre identificadas con iconos; presentación blanca sobre el fondo. */
.catalog-index a{justify-content:flex-start;align-items:center;gap:16px}
.catalog-index .n-icon{width:32px;height:32px;flex:0 0 32px;color:#fff}
.catalog-index a span{color:#fff}
.catalog-intro .service-heading{align-items:flex-start;gap:36px}
.catalog-intro .catalog-lead{color:#fff;font-size:1.125rem;line-height:1.7;border-left:2px solid #009640;padding:4px 0 4px 20px;max-width:420px}
@media(max-width:800px){.catalog-intro .service-heading{gap:24px}.catalog-intro .catalog-lead{max-width:none}}

/* Título, línea verde y frase forman una única cabecera de sección. */
.catalog-intro .service-heading,.catalog-section .section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:32px}
.catalog-intro .catalog-lead,.catalog-section .section-head>p{color:#fff;font-size:1.125rem;line-height:1.7;border-left:2px solid #009640;padding:8px 0 8px 24px;margin:0;max-width:none}
@media(max-width:800px){
 .catalog-intro .service-heading,.catalog-section .section-head{grid-template-columns:1fr;gap:22px}
 .catalog-intro .catalog-lead,.catalog-section .section-head>p{margin:0;padding:4px 0 4px 20px}
}

/* Cabeceras compactas: títulos de dos líneas y explicación alineados desde arriba. */
.catalog-intro .service-heading,.catalog-section .section-head{grid-template-columns:minmax(0,540px) minmax(0,1fr);align-items:start;gap:24px}
.catalog-intro .service-heading>div,.catalog-section .section-head>div{min-width:0}
.catalog-intro .section-index,.catalog-section .section-head .section-index{display:block;line-height:1.4;margin-bottom:12px;font-size:.875rem}
.catalog-intro .service-heading h1,.catalog-section .section-head h2{font-size:2.25rem;line-height:1.2;margin:0}
.catalog-intro .catalog-lead,.catalog-section .section-head>p{margin-top:32px;padding:0 0 0 20px;min-height:86px;display:flex;align-items:flex-start;font-size:1.125rem;line-height:1.6}
@media(max-width:1100px) and (min-width:801px){
 .catalog-intro .service-heading,.catalog-section .section-head{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
 .catalog-intro .service-heading h1,.catalog-section .section-head h2{font-size:1.875rem}
}
@media(max-width:800px){
 .catalog-intro .service-heading,.catalog-section .section-head{grid-template-columns:1fr;gap:18px}
 .catalog-intro .catalog-lead,.catalog-section .section-head>p{margin-top:0;min-height:0;padding:2px 0 2px 18px}
 .catalog-intro .service-heading h1,.catalog-section .section-head h2{font-size:1.75rem}
}

/* Aplicación de equilibrio, proximidad y alineación del documento de identidad visual. */
.catalog-intro .service-heading,.catalog-section .section-head{grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:24px}
.catalog-intro .service-heading h1,.catalog-section .section-head h2{text-wrap:balance;letter-spacing:-.02em}
.catalog-intro .catalog-lead,.catalog-section .section-head>p{text-wrap:balance;max-width:34ch;line-height:1.55;min-height:0;padding-top:0;padding-bottom:0}
@media(max-width:1100px) and (min-width:801px){
 .catalog-intro .service-heading,.catalog-section .section-head{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
}
@media(max-width:800px){
 .catalog-intro .service-heading,.catalog-section .section-head{grid-template-columns:1fr;gap:18px}
 .catalog-intro .catalog-lead,.catalog-section .section-head>p{max-width:34ch;text-wrap:balance}
 .catalog-intro .service-heading h1,.catalog-section .section-head h2{font-size:clamp(1.5rem,5.7vw,2.1rem);text-wrap:balance}
}

/* Cabeceras directas: sin explicaciones laterales ni separador. */
.catalog-intro .service-heading,.catalog-section .section-head{display:block}
.catalog-intro .service-heading>div,.catalog-section .section-head>div{max-width:650px}

/* Presentación de categorías: alcance reconocible y mayor presencia visual. */
.catalog-index{gap:24px;margin-top:38px}
.catalog-index a.category-preview{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:30px;gap:0;min-height:310px;background:#07385c;border:1px solid #527d9c;border-radius:12px;transition:background-color .18s ease,border-color .18s ease}
.catalog-index a.category-preview:hover,.catalog-index a.category-preview:focus-visible{background:#0f70b7;border-color:#a8cde7}
.category-symbol{height:94px;margin-bottom:22px;color:#fff}
.category-symbol svg{width:94px;height:94px}
.category-preview h2{font-size:1.5rem;line-height:1.25;color:#fff;margin:0 0 14px;text-wrap:balance}
.category-preview p{font-size:1rem;font-weight:400;line-height:1.65;color:#fff;margin:0 0 24px;max-width:32ch}
.catalog-index .category-access{font-size:1rem;margin-top:auto;border-bottom:2px solid #009640;padding-bottom:5px;color:#fff}
@media(max-width:800px){.catalog-index a.category-preview{min-height:0;padding:26px}.category-symbol,.category-symbol svg{height:78px;width:78px}}
@media(prefers-reduced-motion:reduce){.catalog-index a.category-preview{transition:none}}

.rodent-alternatives{grid-template-columns:repeat(2,minmax(0,1fr))}
.rodent-scope-note{color:#fff;font-size:1rem;line-height:1.6;margin-top:24px;max-width:65ch}
@media(max-width:800px){.rodent-alternatives{grid-template-columns:1fr}}

/* Roedores: misma escala de tarjeta que insectos, sin protagonismo excesivo. */
.rodent-alternatives{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.rodent-alternatives .catalog-card{padding:26px}
.rodent-alternatives .catalog-icon{height:68px;margin-bottom:20px}
.rodent-alternatives .catalog-icon svg{width:68px;height:68px}
.rodent-alternatives h3{font-size:1.375rem;line-height:1.3}
.rodent-alternatives .catalog-card p{font-size:1rem;line-height:1.65;margin-bottom:20px}
@media(max-width:1100px){.rodent-alternatives{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.rodent-alternatives{grid-template-columns:1fr}.rodent-alternatives .catalog-card{padding:24px}}

.insect-catalog .catalog-icon,#certificaciones .catalog-icon{height:68px;margin-bottom:20px}
.insect-catalog .catalog-icon svg,#certificaciones .catalog-icon svg{width:68px;height:68px}
.insect-catalog .catalog-card,#certificaciones .catalog-card{padding:26px}
.secondary-insects{max-width:760px;margin:32px auto 0;padding:26px;border:1px solid #527d9c;border-radius:12px;background:#07385c}
.secondary-heading h3{font-size:1.25rem;margin:0 0 8px}
.secondary-heading p{color:#fff;font-size:1rem;margin:0}
.secondary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.secondary-pest{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 10px;color:white;background:transparent;border:1px solid #527d9c;border-radius:8px;font-size:1rem}
.secondary-pest .n-icon{width:36px;height:36px}
.secondary-pest:hover,.secondary-pest:focus-visible{background:#0f70b7;border-color:#a8cde7}
.secondary-actions{display:flex;align-items:center;justify-content:center}
@media(max-width:540px){.secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.secondary-insects{padding:24px}}

/* Seis opciones secundarias, alineadas al ancho del catálogo principal. */
.secondary-insects{max-width:none;width:100%;margin-left:0;margin-right:0}
.secondary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:800px){.secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Catálogo en una misma página: despliegue de cada categoría. */
.catalog-index .category-preview{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:30px;gap:0;min-height:310px;background:#07385c;border:1px solid #527d9c;border-radius:12px;color:#fff;transition:background-color .18s ease,border-color .18s ease}
.catalog-index .category-preview:hover,.catalog-index .category-preview:focus-visible,.catalog-index .category-preview[aria-expanded="true"]{background:#0f70b7;border-color:#a8cde7}
.category-panels>.catalog-section{width:100%;max-width:none;padding:36px 0 0;margin:0;animation:category-reveal .22s ease-out}
.category-panels>[hidden]{display:none}
.category-panels .section-head{margin-bottom:26px}
.secondary-pest,.secondary-pest:hover{background:#0f70b7;border-color:#a8cde7;cursor:default}
@keyframes category-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.catalog-index .category-preview{min-height:0;padding:26px}}
@media(prefers-reduced-motion:reduce){.category-panels>.catalog-section{animation:none}.catalog-index .category-preview{transition:none}}

.certification-options .catalog-card{padding:26px}
.certification-options .catalog-icon{height:68px;margin-bottom:20px}
.certification-options .catalog-icon svg{width:68px;height:68px}
.certification-options h3{font-size:1.375rem;line-height:1.3;text-wrap:balance}
.certification-scope{color:#fff;font-size:1rem;line-height:1.6;margin-top:24px;max-width:75ch}
@media(max-width:540px){.certification-options .catalog-card{padding:24px}}

.category-preview .category-mip-label{margin-top:-12px;font-size:.9375rem}
.certification-options .mip-subtitle{font-weight:700;margin:0 0 12px;color:#fff}

.service-context{padding-top:54px;padding-bottom:54px}
.service-context .section-head{margin-bottom:26px}
.context-intro{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:34px}
.context-intro p,.context-lead{font-size:1.125rem;line-height:1.75;color:#fff;max-width:70ch}
.service-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.method-step{border-top:2px solid #009640;padding-top:24px}
.method-step .n-icon{width:32px;height:32px;color:#fff;margin-bottom:18px}
.method-step h3{font-size:1.25rem;margin-bottom:12px}
.method-step p,.documentation-detail p{font-size:1rem;line-height:1.65;color:#e0e9ef}
.service-monitoring{padding-top:50px;padding-bottom:50px}
.service-bullets{padding-left:20px;margin:22px 0;color:#fff;font-size:1rem;line-height:1.7}
.service-bullets li{margin-bottom:16px}
.service-monitoring .perimeter-stage{min-width:0}
.documentation-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.documentation-detail{display:flex;gap:18px;padding:24px;background:#07385c;border:1px solid #527d9c;border-radius:12px}
.documentation-detail>.n-icon{width:30px;height:30px;flex:0 0 30px;color:#fff}
.documentation-detail h3{font-size:1.125rem;margin-bottom:10px}
.quote-context{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.quote-explanation h2{margin-bottom:24px}
.quote-explanation p{color:#fff;font-size:1rem;line-height:1.7;margin-bottom:20px}
.service-faq>h3{font-size:1.375rem;margin-bottom:20px}
.service-faq details{border-top:1px solid #527d9c;padding:20px 0}
.service-faq summary{font-size:1rem;font-weight:700;color:#fff;cursor:pointer}
.service-faq details p{font-size:1rem;line-height:1.65;margin-top:16px;color:#e0e9ef}
@media(max-width:1000px){.service-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.documentation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.context-intro,.quote-context{grid-template-columns:1fr;gap:24px}.service-context{padding-top:36px;padding-bottom:36px}.service-monitoring{padding-top:36px;padding-bottom:36px}}
@media(max-width:540px){.documentation-detail-grid,.service-method-grid{grid-template-columns:1fr}}

/* Variante de equilibrio: azul para categorías, verde para prevención y registro. */
.documentation-expanded .documentation-detail{background:rgba(14,19,22,.94);border-color:#3c5146;border-top:2px solid #009640}
.documentation-expanded .documentation-detail>.n-icon{color:#27b568}
.service-method-grid .method-step:nth-child(2)>.n-icon,.service-method-grid .method-step:nth-child(3)>.n-icon,.service-method-grid .method-step:nth-child(4)>.n-icon{color:#27b568}
.service-method-grid .method-step{border-top-color:#009640}
.service-monitoring .perimeter-stage{background:rgba(14,19,22,.94);border-color:#3c5146}
.service-monitoring .service-bullets li::marker{color:#27b568}
.documentation-expanded .section-index,.service-monitoring .section-index{color:#55ca88}

/* Alternancia aprobada: evaluación con marco azul, documentación con verde. */
.service-method-grid .method-step{background:rgba(14,19,22,.94);border:1px solid #527d9c;border-top:2px solid #74add4;border-radius:12px;padding:24px}
.service-method-grid .method-step>.n-icon,.service-method-grid .method-step:nth-child(2)>.n-icon,.service-method-grid .method-step:nth-child(3)>.n-icon,.service-method-grid .method-step:nth-child(4)>.n-icon{color:#fff}
.service-monitoring .perimeter-stage{border:1px solid #74add4;border-top:2px solid #74add4;border-radius:12px;background:rgba(14,19,22,.94)}

/* Simetría cromática: marco e icono comparten el azul del logo. */
.service-method-grid .method-step{border-color:#0f70b7;border-top-color:#0f70b7}
.service-method-grid .method-step>.n-icon,.service-method-grid .method-step:nth-child(2)>.n-icon,.service-method-grid .method-step:nth-child(3)>.n-icon,.service-method-grid .method-step:nth-child(4)>.n-icon{color:#0f70b7}
.service-monitoring .perimeter-stage{border-color:#0f70b7;border-top-color:#0f70b7}

/* Tarjetas informativas: superficie neutra, marco e icono por categoría. */
.rodent-alternatives .catalog-card,.insect-catalog .catalog-card,.certification-options .catalog-card{background:rgba(14,19,22,.94);border-radius:12px}
.rodent-alternatives .catalog-card,.certification-options .catalog-card{border:1px solid #0f70b7;border-top:2px solid #0f70b7}
.rodent-alternatives .catalog-icon,.certification-options .catalog-icon{color:#0f70b7}
.insect-catalog .catalog-card{border:1px solid #009640;border-top:2px solid #009640}
.insect-catalog .catalog-icon{color:#009640}

/* Otros insectos continúan el mismo tratamiento verde de la categoría. */
.secondary-insects{background:rgba(14,19,22,.94);border:1px solid #009640;border-top:2px solid #009640}
.secondary-pest,.secondary-pest:hover{background:rgba(14,19,22,.94);border:1px solid #009640;border-top:2px solid #009640;color:#fff;cursor:default}
.secondary-pest .n-icon{color:#009640}

/* Alternancia entre marcos y acciones dentro de cada categoría. */
.insect-catalog .btn,.secondary-actions .btn{background:#0f70b7;border-color:#0f70b7;color:#fff}
.insect-catalog .btn:hover,.secondary-actions .btn:hover{background:#0b5489;border-color:#0b5489;color:#fff}
.insect-catalog .text-action,.secondary-actions .text-action{border-bottom-color:#0f70b7}

/* Regla general de categorías: superficie neutra y alternancia azul/verde/azul. */
.catalog-index .category-preview{--category-accent:#0f70b7;--category-action:#009640;background:rgba(14,19,22,.94);border:1px solid var(--category-accent);border-top:2px solid var(--category-accent);transition:box-shadow .18s ease}
.catalog-index .category-preview[data-category="insectos"]{--category-accent:#009640;--category-action:#0f70b7}
.catalog-index .category-preview .category-symbol{color:var(--category-accent)}
.catalog-index .category-preview .category-access{border-bottom-color:var(--category-action)}
.catalog-index .category-preview:hover,.catalog-index .category-preview:focus-visible,.catalog-index .category-preview[aria-expanded="true"]{background:rgba(14,19,22,.94);border-color:var(--category-accent);box-shadow:inset 0 0 0 1px var(--category-accent)}
@media(prefers-reduced-motion:reduce){.catalog-index .category-preview{transition:none}}

/* Puntos del croquis del bloque 2 en el mismo azul que el marco. */
.service-monitoring .perimeter-stage svg circle{fill:#009640;stroke:#009640}
.service-monitoring .perimeter-stage .legend-dot{background:#009640;border-color:#009640}

/* Secuencia vertical aprobada: evaluación verde, croquis azul, documentación verde. */
.service-method-grid .method-step{border-color:#009640;border-top-color:#009640}
.service-method-grid .method-step>.n-icon,.service-method-grid .method-step:nth-child(2)>.n-icon,.service-method-grid .method-step:nth-child(3)>.n-icon,.service-method-grid .method-step:nth-child(4)>.n-icon{color:#009640}
.service-monitoring .perimeter-stage{border-color:#0f70b7;border-top-color:#0f70b7}
.service-monitoring .perimeter-stage svg circle{fill:#0f70b7;stroke:#0f70b7}
.service-monitoring .perimeter-stage .legend-dot{background:#0f70b7;border-color:#0f70b7}

.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}

/* Misma respuesta cromática en las categorías desplegables de Servicios. */
.catalog-index .category-preview:hover,.catalog-index .category-preview:focus-visible{background:#174767;border-color:#4babe9;box-shadow:0 0 0 1px #4babe9}
.catalog-index .category-preview[data-category="insectos"]:hover,.catalog-index .category-preview[data-category="insectos"]:focus-visible{background:#164b32;border-color:#39b971;box-shadow:0 0 0 1px #39b971}

/* Respuestas clickeables: mismo feedback que las categorías principales. */
.signal-options button{cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.signal-options button:hover,.signal-options button:focus-visible{background:#174767;border-color:#4babe9;box-shadow:0 0 0 1px #4babe9;color:#fff}
.signal-options button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.signal-options button{transition:none}}
