/* Shared by the site and the block editor. No external assets. */
* { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body { margin: 0; }
a { text-underline-offset: .2em; text-decoration-thickness: .08em; }
a:hover { text-decoration-thickness: .15em; }
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid #ae4500;
  outline-offset: 5px;
}
:where(h1, h2, h3, p, a) { overflow-wrap: anywhere; }
h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); }
h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
h3 { font-size: 1.3rem; }
.wp-site-blocks > * { margin-block-start: 0; }
.af-header, .af-footer, .af-main, .af-section, .af-hero { padding-inline: clamp(1.25rem, 5vw, 4rem); }
.af-header { background: #fff; border-bottom: 1px solid #ccd8df; padding-block: 1.2rem; }
.af-header-inner { max-width: 1200px !important; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.af-header-inner > * { margin: 0 !important; }
.af-identity { min-width: 0; }
.af-brand { font-size: 1.3rem; font-weight: 750; letter-spacing: -.04em; margin: 0; }
.af-brand a { color: #15283b; text-decoration: none; }
.af-affiliation { font-size: .875rem; margin-block: .3rem 0; color: #15283b; font-weight: 600; }
.af-header .wp-block-navigation { font-size: .875rem; font-weight: 600; }
.af-header .wp-block-navigation__container { gap: .7rem 1.15rem; }
.af-header .wp-block-navigation-item__content { padding-block: .5rem; }
.af-header .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.af-header .wp-block-navigation__responsive-container-open,
.af-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
.af-home { max-width: none !important; margin-block: 0; }
.af-home > * { max-width: none !important; margin-block: 0; }
.af-hero { position: relative; isolation: isolate; overflow: hidden; background: #101f30; color: #fff; padding-block: clamp(4rem, 10vw, 8rem); }
.af-hero::after { content: ''; position: absolute; z-index: -1; width: 75%; height: 140%; right: -35%; top: -15%; border-radius: 50%; transform: rotate(-30deg); background: repeating-radial-gradient(ellipse at center, transparent 0 29px, rgb(88 195 202 / .2) 30px 31px, transparent 32px 53px); pointer-events: none; }
.af-hero > * { max-width: 1200px !important; position: relative; }
.af-hero h1 { font-size: clamp(3.2rem, 9vw, 7rem); margin-block: 1.5rem; line-height: 1.05; letter-spacing: -.055em; }
.af-hero .af-subtitle { font-size: clamp(1.15rem, 2.5vw, 1.65rem); max-width: 1200px !important; text-wrap: balance; }
.af-hero p:not(.af-eyebrow):not(.af-caption) { padding-right: min(15vw, 12rem); }
.af-hero .wp-block-buttons { margin-top: 2rem; }
.af-hero .wp-block-button__link { background: #a9e8e5; color: #101f30; }
.af-hero .wp-block-button:nth-child(2) .wp-block-button__link { background: #243b4f; color: white; }
.af-hero .af-caption { color: #c0d1dd; margin-top: 3rem; }
.af-hero :focus-visible, .af-footer :focus-visible { outline-color: #ffcd80; }
.af-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .875rem; font-weight: 700; }
.af-section { padding-block: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid #ccd8df; }
.af-section > * { max-width: 1200px !important; }
.af-section > h2 { margin-top: .8rem; }
.af-section:nth-of-type(even) { background: #fff; }
.af-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-top: 2rem; }
.af-grid > .af-card { margin: 0 !important; max-width: none; width: 100%; }
.af-card { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #ccd8df; border-top: 3px solid #006b70; background: #fff; border-radius: 3px; }
.af-card .af-eyebrow { color: #006b70; }
.af-card h3 { margin-top: .75rem; }
.af-card p { color: #4b6170; }
.af-demo { padding-left: 1rem; border-left: 3px solid #006b70; font-size: .9375rem; color: #4b6170; }
.af-contact { background: #e5f1f1 !important; }
.af-footer { background: #101f30; color: #e5edf1; padding-block: 3rem; }
.af-footer > * { max-width: 1200px !important; }
.af-footer .af-brand { color: white; }
.af-logo-reserve { border: 1px dashed #8295a3; padding: 1rem 1.25rem; margin-block: 2rem; }
.af-logo-reserve p { margin-block: .4rem; }
.af-caption { font-size: .875rem; }
.af-main { padding-block: clamp(3rem, 7vw, 6rem); min-height: 55vh; }
.af-main > .wp-block-query { max-width: 1200px; }
.wp-block-post-template { list-style: none; padding: 0; }
.wp-block-post-template > li + li { margin-top: 1.5rem; }
.wp-block-post-date { font-size: .875rem; color: #4b6170; }
.wp-block-query-pagination { margin-top: 2rem; gap: 1.25rem; }
.wp-block-search__input { min-width: 0; border: 1px solid #4b6170; border-radius: 3px; padding: .7rem; font: inherit; }
.wp-block-search__button { margin-left: .5rem; }
.wp-block-button__link:hover, .wp-block-search__button:hover { filter: brightness(.93); }
.wp-block-post-content img { height: auto; }
.wp-block-post-content pre { overflow-x: auto; }
@media (min-width: 700px) {
  .af-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1050px) {
  #investigacion .af-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Keep eight navigation items in the native overlay until they fit comfortably. */
@media (max-width: 1199px) {
  .af-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .af-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
}
@media (max-width: 480px) {
  .af-hero p:not(.af-eyebrow):not(.af-caption) { padding-right: 0; }
  .af-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .af-hero .wp-block-button, .af-hero .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* Refinement: additive styles retain compatibility with saved first-version blocks. */
.af-institution { font-weight: 650; letter-spacing: .025em; }
.af-hero > .af-eyebrow { color: #a9e8e5; letter-spacing: .08em; text-transform: none; font-size: 1rem; }
.af-hero > p:not(.af-eyebrow):not(.af-caption) { padding-right: 0; }
.af-hero > .af-subtitle { text-wrap: balance; }
.af-domain-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .65rem; margin-block: 2rem; }
.af-hero .af-domain-grid > p { margin: 0 !important; padding: .7rem 1rem; max-width: none; width: 100%; border: 1px solid #617b8e; border-radius: 3px; background: #182e40; color: #e5edf1; font-size: .9375rem; line-height: 1.5; }
.af-section > p:not(.af-eyebrow) { text-wrap: pretty; }
.af-card { min-width: 0; }
#investigacion .af-card { background: linear-gradient(135deg, #e5f1f1 0, #fff 65%); }
#investigacion .af-card .af-eyebrow { display: inline-block; padding: .35rem .7rem; border: 1px solid #006b70; border-radius: 3px; font-size: .875rem; }
#investigacion .af-card h3 { line-height: 1.35; }
.af-header .wp-block-navigation-item__content { min-height: 44px; display: inline-flex; align-items: center; }
.af-header .wp-block-navigation__responsive-container.is-menu-open { background: #fff; color: #15283b; }
.af-header .is-menu-open .wp-block-navigation__container { align-items: stretch; width: 100%; }
.af-header .is-menu-open .wp-block-navigation-item__content { padding: .65rem .25rem; }
.af-header .wp-block-navigation__responsive-container-open { flex-shrink: 0; }
.af-header :focus-visible { outline: 3px solid #ae4500; outline-offset: 4px; }
.af-footer a { color: #a9e8e5; }
@media (min-width: 600px) {
  .af-domain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1050px) {
  .af-domain-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  .af-header-inner { gap: .75rem; }
  .af-affiliation { line-height: 1.5; }
  .af-hero { padding-block: 3rem; }
  .af-hero h1 { font-size: clamp(2.75rem, 12vw, 4.5rem); }
  .af-hero::after { opacity: .5; }
}
@media (forced-colors: active) {
  .af-card, .af-domain-grid > p { border: 1px solid CanvasText; }
  :where(a, button, input):focus-visible { outline-color: Highlight; }
}

/* 1.0.2: visual polish, compatible with existing saved Gutenberg markup. */
.af-hero h1 { margin-block: 1.75rem 1.25rem; letter-spacing: -.045em; }
.af-hero > .af-subtitle { font-size: clamp(1.125rem, 1rem + .8vw, 1.5rem); line-height: 1.5; }
.af-hero > p:not(.af-eyebrow):not(.af-subtitle):not(.af-caption) {
  margin-top: 1.75rem;
  line-height: 1.8;
  text-wrap: pretty;
}
/* Limit line length within the existing centered content track. */
.af-hero > p:not(.af-eyebrow):not(.af-caption) { padding-inline-end: max(0px, calc(min(100%, 1200px) - 72ch)); }
.af-hero .af-domain-grid { gap: .75rem 1.75rem; margin-block: 2.25rem; }
.af-hero .af-domain-grid > p {
  padding: .55rem 0 .55rem .85rem;
  border: 0;
  border-inline-start: 1px solid #617b8e;
  border-radius: 0;
  background: transparent;
  line-height: 1.6;
  text-wrap: balance;
}
.af-hero .wp-block-buttons { gap: 1rem; margin-top: 2.25rem; }
.af-hero .af-caption { color: #9badbb; margin-top: 2rem; font-size: .875rem; line-height: 1.6; text-wrap: pretty; }
.af-section > h2 { margin-block: 1rem 1.5rem; line-height: 1.2; text-wrap: balance; }
.af-section > p { line-height: 1.8; }
.af-section .af-grid { gap: 1.5rem; margin-top: 2.25rem; }
#investigacion .af-card { border-top-width: 1px; background: #fff; padding: clamp(1.4rem, 2.8vw, 2.25rem); }
#investigacion .af-card .af-eyebrow {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}
#investigacion .af-card .af-eyebrow::after { content: ''; width: 2.5rem; height: 1px; background: #006b70; }
#investigacion .af-card h3 { margin-top: 1.25rem; font-size: clamp(1.2rem, 1.05rem + .4vw, 1.4rem); line-height: 1.4; letter-spacing: -.02em; text-wrap: balance; }
#investigacion .af-card p:not(.af-eyebrow) { margin-top: 1rem; font-size: 1rem; line-height: 1.75; }
.af-hero .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; line-height: 1.5; }
.af-hero .wp-block-button__link:hover { filter: none; text-decoration: underline; text-underline-offset: .25em; }
.af-hero .wp-block-button__link:focus-visible { outline: 3px solid #ffcd80; outline-offset: 5px; }
.af-header .wp-block-navigation-item__content:hover,
.af-header .wp-block-navigation-item__content:focus-visible { text-decoration: underline; text-underline-offset: .3em; }
/* Words wrap at spaces first; no forced single-line title at high zoom. */
.af-hero h1, .af-hero .af-domain-grid > p, #investigacion .af-card h3 { word-break: normal; overflow-wrap: normal; }
@media (max-width: 1049px) {
  .af-hero > p:not(.af-eyebrow):not(.af-caption) { padding-inline-end: 0; }
}
@media (max-width: 699px) {
  .af-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .af-hero .wp-block-button, .af-hero .wp-block-button__link { width: 100%; }
  .af-section .af-grid { gap: 1.15rem; }
}
@media (max-width: 599px) {
  .af-hero { padding-block: 3.5rem; }
  .af-hero h1 { font-size: clamp(2.5rem, 1.2rem + 6vw, 3.75rem); line-height: 1.12; }
  .af-hero .af-domain-grid { margin-block: 1.75rem; gap: .5rem; }
}
@media (forced-colors: active) {
  .af-hero .wp-block-button__link:focus-visible,
  .af-header :focus-visible { outline-color: Highlight; }
  #investigacion .af-card .af-eyebrow::after { background: CanvasText; }
}

/* Structured editorial records; existing hero styles remain untouched. */
.af-record .af-field { margin-block: .8rem 0; font-size: 1rem; line-height: 1.7; }
.af-record .af-field strong { display: block; color: #15283b; font-weight: 650; }
.af-record h3 { line-height: 1.4; text-wrap: balance; }
.af-record a { overflow-wrap: anywhere; }
.af-section .af-record:focus-within { border-color: #006b70; }
