:root {
  --secpec-ink: #1a3661;
  --secpec-ink-deep: #10284a;
  /* Acción (0.6.0): azul petróleo solo para botones; las bandas siguen en --secpec-ink. 8,01:1 y 10,36:1 sobre blanco. */
  --secpec-action: #0b5963;
  --secpec-action-hover: #084750;
  --secpec-action-soft: #e6f2f3;
  --secpec-teal: #3cbabe;
  --secpec-muted: #5c7a99;
  --secpec-red: #d95350;
  --secpec-paper: #ffffff;
  --secpec-soft: #f4f7fa;
  --secpec-line: #d9e1ea;
  --secpec-copy: #263547;
  --secpec-max: 76rem;
  --secpec-space: clamp(3rem, 7vw, 6rem);
  --secpec-t1: 160ms;
  --secpec-t2: 240ms;
  --secpec-t3: 360ms;
  --secpec-ease: cubic-bezier(.2,.6,.3,1);
}
body { color: var(--secpec-copy); font-size: 19px; line-height: 1.7; }
.site.grid-container, .inside-header, .inside-navigation, .inside-page-header { max-width: var(--secpec-max); }
.site-header { border-bottom: 1px solid var(--secpec-line); }
.site-branding .main-title a, .main-navigation a, .inside-article h1, .entry-content h2, .entry-content h3 { color: var(--secpec-ink); }
.main-title { font-weight: 700; letter-spacing: -.035em; }
.main-title a { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.main-navigation .main-nav ul li a { min-height: 48px; display: flex; align-items: center; font-size: 16px; font-weight: 600; }
.entry-title { color: var(--secpec-ink); font-size: clamp(2.125rem, 5vw, 4.25rem); line-height: 1.08; letter-spacing: -.035em; }
.entry-content h2 { font-size: clamp(2rem, 3.5vw, 3.125rem); line-height: 1.15; letter-spacing: -.03em; }
.entry-content h3 { font-size: clamp(1.5rem, 2vw, 1.875rem); line-height: 1.25; }
.entry-content :where(p, li, label, input, select, textarea, button, small) { font-size: max(16px, 1em); }
.entry-content p, .entry-content li { max-width: 68ch; }
a { color: #174778; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--secpec-ink-deep); }
:focus-visible { outline: 3px solid #0b6970; outline-offset: 3px; }
button, .button, .wp-block-button__link, input[type=submit] { min-height: 48px; border-radius: 6px; background: var(--secpec-action, #0b5963); color: #fff; font-size: 16px; font-weight: 600; padding: .75rem 1.25rem; }
button:hover, .button:hover, .wp-block-button__link:hover, input[type=submit]:hover { background: var(--secpec-action-hover, #084750); color: #fff; }
:where(button, .button, .wp-block-button__link, input[type=submit], .gb-button, .secpec-member-link, .secpec-join-link):focus-visible { outline: 3px solid var(--secpec-action, #0b5963); outline-offset: 2px; }
input:not([type=checkbox]):not([type=radio]), select, textarea { border: 1px solid #71859c; border-radius: 4px; min-height: 48px; padding: .65rem .8rem; }
input[type=submit]:not([type=checkbox]):not([type=radio]), input[type=button]:not([type=checkbox]):not([type=radio]) { border-color: var(--secpec-action, #0b5963); }
input[type=submit]:not([type=checkbox]):not([type=radio]):hover, input[type=button]:not([type=checkbox]):not([type=radio]):hover { border-color: var(--secpec-action-hover, #084750); }
.wp-block-image img, .entry-content img { border-radius: 4px; }
.site-footer { background: var(--secpec-ink-deep); color: #fff; }
.site-footer a { color: #fff; }
.secpec-skip { position: absolute; z-index: 10000; top: 8px; left: 8px; padding: 12px 16px; color: #fff; background: #10284a; transform: translateY(-160%); }
.secpec-skip:focus { transform: translateY(0); }
.secpec-header { background: #fff; border-bottom: 1px solid var(--secpec-line); }
.secpec-header__inner { position: relative; max-width: var(--secpec-max); min-height: 88px; margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; gap: 20px; }
.secpec-brand { display: flex; align-items: center; flex: 0 0 auto; }
.secpec-brand img { display: block; width: auto; height: 58px; object-fit: contain; }
.secpec-nav { margin-left: auto; }
@media (min-width: 769px) {
  .secpec-brand img { height: 78px; }
}
.secpec-menu { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 2px; }
.secpec-menu > li { position: relative; }
.secpec-menu a { min-height: 44px; display: flex; align-items: center; padding: 8px 10px; color: var(--secpec-ink); font-size: 16px; line-height: 1.25; font-weight: 650; text-decoration: none; border-radius: 4px; }
.secpec-menu a:hover, .secpec-menu a:focus-visible { background: var(--secpec-soft); text-decoration: underline; }
.secpec-menu .sub-menu { display: none; position: absolute; z-index: 100; top: 100%; left: 0; min-width: 240px; padding: 8px; list-style: none; background: #fff; border: 1px solid var(--secpec-line); box-shadow: 0 12px 28px #10284a20; }
.secpec-menu li:focus-within > .sub-menu, .secpec-menu li:hover > .sub-menu { display: block; }
.secpec-menu-toggle { display: none; }
.secpec-member-link { flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; padding: 10px 14px; background: var(--secpec-action, #0b5963); color: #fff; text-decoration: none; border-radius: 4px; font-size: 15px; font-weight: 650; }
.secpec-member-link:hover, .secpec-member-link:focus-visible { background: var(--secpec-action-hover, #084750); color: #fff; }
.no-sidebar .site-content { display: block; }
.no-sidebar #primary { float: none; width: 100%; }
.entry-content { max-width: none; }
.entry-content > * { max-width: 100%; }
.entry-content .gform_wrapper { max-width: 760px; }
.entry-content .gform_wrapper input:not([type=checkbox]):not([type=radio]), .entry-content .gform_wrapper select, .entry-content .gform_wrapper textarea { max-width: 100%; border: 1px solid #71859c; border-radius: 4px; font-size: 16px; }
.entry-content .gform_wrapper .gfield_label, .entry-content .gform_wrapper .gfield_description { font-size: 16px; }
.entry-content iframe { max-width: 100%; }
@media (max-width: 768px) {
  body { font-size: 19px; }
  .inside-header { padding-inline: 20px; }
  .main-navigation .main-nav ul li a { padding-block: .7rem; }
  .entry-content { padding-inline: 20px; }
  .entry-title { font-size: clamp(2rem, 9vw, 2.625rem); }
  .entry-content h2 { font-size: 2rem; }
  .secpec-header__inner { min-height: 72px; padding: 10px 16px; flex-wrap: wrap; gap: 12px; }
  .secpec-brand img { height: 44px; }
  .secpec-brand img { height: 62px; }
  .secpec-menu-toggle { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--secpec-ink); border-radius: 4px; color: var(--secpec-ink); background: #fff; font-size: 16px; }
  .secpec-menu-toggle__icon, .secpec-menu-toggle__icon::before, .secpec-menu-toggle__icon::after { width: 18px; height: 2px; display: block; position: relative; background: currentColor; }
  .secpec-menu-toggle__icon::before, .secpec-menu-toggle__icon::after { content: ''; position: absolute; left: 0; }
  .secpec-menu-toggle__icon::before { top: -6px; }
  .secpec-menu-toggle__icon::after { top: 6px; }
  .secpec-nav { position: absolute; z-index: 200; top: 100%; left: 0; right: 0; width: 100%; max-height: min(65vh, 560px); overflow-y: auto; margin: 0; background: #fff; border-top: 1px solid var(--secpec-line); }
  html.secpec-js .secpec-nav { visibility: hidden; opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity var(--secpec-t2) var(--secpec-ease), transform var(--secpec-t2) var(--secpec-ease), visibility 0s linear var(--secpec-t2); }
  html.secpec-js .secpec-nav.is-open { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
  .secpec-menu { display: block; border-top: 0; }
  .secpec-menu > li { border-bottom: 1px solid var(--secpec-line); }
  .secpec-menu a { min-height: 48px; padding: 10px 8px; font-size: 16px; }
  .secpec-menu .sub-menu { display: block; position: static; min-width: 0; padding: 0 0 8px 14px; border: 0; box-shadow: none; }
  .secpec-member-link { min-height: 44px; padding: 8px 10px; font-size: 16px; }
}

/* Preserve inherited GenerateBlocks content while making its smallest text readable. */
body .entry-content :where(p, li, label, input, select, textarea, button, small, .gb-headline, figcaption) {
  font-size: max(16px, 1em);
}
body .entry-content :where(h1, h2, h3, h4) { color: var(--secpec-ink); }
body .entry-content :where(a:not(.wp-block-button__link):not([class*="button"])) { color: #174778; }
body .entry-content :where(.gb-button, .wp-block-button__link) { background-color: var(--secpec-action, #0b5963); color: #fff; }
body .entry-content :where(.gb-button, .wp-block-button__link):hover { background-color: var(--secpec-action-hover, #084750); color: #fff; }
body .entry-content :where(img) { max-width: 100%; height: auto; }
body .entry-content :where(.gb-grid-wrapper) { row-gap: clamp(24px, 3vw, 40px); }
body .entry-content :where(.wp-block-spacer) { max-height: 48px; }
body .entry-content :where(.gb-container, .gb-grid-column, figure, img, iframe) { min-width: 0; }
@media (max-width: 600px) {
  body .entry-content { padding-inline: 20px; }
  body .entry-content :where(.gb-container.alignfull) { margin-inline: -20px; }
  body .entry-content :where(.gb-grid-wrapper) { gap: 20px; }
  body .entry-content :where(.gb-grid-column) { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  html.secpec-js .secpec-nav { transform: none; }
}

/* Home SECPEC: readable section titles and a calmer grid. */
body.home .gb-container-99e2cc03,
body.home .gb-container-588ff812,
body.home .gb-container-3bb3824b {
  height: auto;
  min-height: 0;
  padding: 22px 24px !important;
  background: #f4f7fa !important;
  border-block: 1px solid var(--secpec-line);
  color: var(--secpec-ink) !important;
}
body.home .gb-container-99e2cc03 .gb-headline,
body.home .gb-container-588ff812 .gb-headline,
body.home .gb-container-3bb3824b .gb-headline {
  margin: 0;
  color: var(--secpec-ink) !important;
  font-size: clamp(1.75rem, 3.5vw, 3.125rem) !important;
  line-height: 1.15;
}
.entry-content .gb-button { max-width: 100%; height: auto; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  body.home .gb-container-99e2cc03,
  body.home .gb-container-588ff812,
  body.home .gb-container-3bb3824b { padding: 16px 24px !important; }
}
