/* BEGIN GM-SITE-DESIGN-V1 */

/* Identidad visual */
:root {
    --gm-navy: #101c32;
    --gm-blue: #2354b3;
    --gm-ink: #18243a;
    --gm-muted: #58677e;
    --gm-surface: #ffffff;
    --gm-background: #f3f6fb;
    --gm-border: #e1e8f1;
}

body.site {
    background: var(--gm-background);
    color: var(--gm-ink);
    font-family: Inter, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, sans-serif;
}

body.site a {
    text-underline-offset: 3px;
}

/* Cabecera */
body.site .header.container-header {
    background: linear-gradient(
        115deg,
        #0b1427 0%,
        #142746 65%,
        #153b59 100%
    ) !important;
    box-shadow: 0 6px 22px rgba(15, 29, 53, .16);
}

body.site .container-header .grid-child {
    max-width: 1200px;
}

body.site .container-header .navbar-brand {
    padding-top: 1.1rem;
    padding-bottom: .45rem;
}

body.site .container-header .brand-logo {
    display: inline-block;
    color: #ffffff;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.2;
    text-decoration: none;
}

body.site .container-header .brand-logo:hover {
    color: #ffffff;
    text-decoration: none;
}

body.site .container-header .site-description {
    color: #b8cbe6;
    font-size: .84rem;
    font-weight: 450;
    letter-spacing: .035em;
    margin-top: .35rem;
}

body.site .container-header .container-nav {
    padding-bottom: .75rem;
}

body.site .container-header .mod-menu > .nav-item > a {
    color: #e8f0fc;
    border-radius: 9px;
    font-size: .94rem;
    font-weight: 500;
    padding: .7rem .9rem;
    transition: background-color .2s ease;
}

body.site .container-header .mod-menu > .nav-item > a:hover,
body.site .container-header .mod-menu > .nav-item.active > a {
    color: #ffffff;
    background: rgba(255, 255, 255, .12);
}

body.site .container-header .mod-menu__sub {
    background: #172c49;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
}

body.site .container-header .mod-menu__sub a {
    color: #edf3fd;
}

body.site .container-header .mod-menu__sub a:hover {
    background: rgba(255, 255, 255, .1);
}

/* Portada */
body.view-featured .container-component {
    padding-top: clamp(1.2rem, 3vw, 2.8rem);
    padding-bottom: 3rem;
}

body.view-featured .mod-breadcrumbs__wrapper {
    display: none;
}

body.view-featured .blog-featured {
    max-width: 1180px;
    margin-inline: auto;
}

/* Presentación principal */
body.view-featured
.blog-featured > .blog-items.items-leading > .blog-item:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(230px, .8fr);
    align-items: center;
    gap: clamp(1.5rem, 5vw, 4rem);
    padding: clamp(1.8rem, 5vw, 4rem);
    margin-bottom: 1.6rem;
    background: linear-gradient(135deg, #ffffff, #eaf1fc);
    border: 1px solid var(--gm-border);
    border-radius: 26px;
    box-shadow: 0 15px 45px rgba(19, 46, 83, .08);
}

body.view-featured
.blog-featured .items-leading > .blog-item:first-child .item-content {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

body.view-featured
.blog-featured .items-leading > .blog-item:first-child .item-image {
    grid-column: 2;
    grid-row: 1;
    float: none !important;
    width: 100%;
    margin: 0;
}

body.view-featured
.blog-featured .items-leading > .blog-item:first-child .item-image img {
    display: block;
    width: 100%;
    height: auto;
    border: 6px solid #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(18, 40, 72, .15);
}

body.view-featured
.blog-featured .items-leading > .blog-item:first-child .item-title {
    font-size: clamp(2.1rem, 4.5vw, 3.5rem);
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -.055em;
    margin-bottom: 1.3rem;
}

body.view-featured
.blog-featured .items-leading > .blog-item:first-child .item-title a {
    color: var(--gm-navy);
    text-decoration: none;
}

body.view-featured
.blog-featured .items-leading > .blog-item:first-child .item-content p {
    color: var(--gm-muted);
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
    line-height: 1.7;
    margin-bottom: 0;
}

body.view-featured
.blog-featured .items-leading > .blog-item:first-child .item-content br {
    display: none;
}

/* Metadatos innecesarios en la portada */
body.view-featured .blog-featured .article-info {
    display: none;
}

/* Artículos destacados: tarjetas */
body.view-featured
.blog-featured > .blog-items:not(.items-leading) {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(min(100%, 280px), 1fr)
    );
    gap: 1.2rem;
}

body.view-featured
.blog-featured > .blog-items:not(.items-leading) > .blog-item {
    position: relative;
    min-width: 0;
    padding: 1.8rem;
    background: var(--gm-surface);
    border: 1px solid var(--gm-border);
    border-radius: 18px;
    box-shadow: 0 6px 22px rgba(19, 46, 83, .05);
    transition: transform .2s ease, box-shadow .2s ease;
}

body.view-featured
.blog-featured > .blog-items:not(.items-leading) > .blog-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(19, 46, 83, .1);
}

body.view-featured
.blog-featured > .blog-items:not(.items-leading) .item-title {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    padding-right: 1rem;
}

body.view-featured
.blog-featured > .blog-items:not(.items-leading) .item-title a {
    color: var(--gm-navy);
    text-decoration: none;
}

/* En portada solo mostramos el enlace al artículo completo */
body.view-featured
.blog-featured > .blog-items:not(.items-leading)
.item-content > :not(.item-title) {
    display: none;
}

body.view-featured
.blog-featured > .blog-items:not(.items-leading) > .blog-item::after {
    content: "↗";
    position: absolute;
    right: 1.5rem;
    bottom: 1.3rem;
    color: var(--gm-blue);
    font-size: 1.25rem;
}

/* Pantallas pequeñas */
@media (max-width: 767px) {
    body.view-featured
    .blog-featured > .blog-items.items-leading > .blog-item:first-child {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
        padding: 1.5rem;
        border-radius: 18px;
    }

    body.view-featured
    .blog-featured .items-leading > .blog-item:first-child .item-image {
        grid-column: 1;
        grid-row: 1;
        max-width: 360px;
        margin-inline: auto;
    }

    body.view-featured
    .blog-featured .items-leading > .blog-item:first-child .item-content {
        grid-column: 1;
        grid-row: 2;
    }

    body.site .container-header .navbar-brand {
        padding-top: .8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.site .container-header .mod-menu > .nav-item > a,
    body.view-featured .blog-featured .blog-item {
        transition: none;
    }
}

/* END GM-SITE-DESIGN-V1 */


/* BEGIN GM-SITE-DESIGN-V2 */

/* Separación y jerarquía de la presentación */
body.view-featured .blog-featured
.items-leading > .blog-item:first-child
.item-content p.gm-home-intro {
    margin: 0 0 1.05rem;
    font-size: clamp(1.04rem, 1.55vw, 1.16rem);
    line-height: 1.65;
}

body.view-featured .blog-featured
.items-leading > .blog-item:first-child
.item-content p.gm-home-project {
    margin: 0 0 1.3rem;
    font-size: clamp(.98rem, 1.35vw, 1.08rem);
    line-height: 1.65;
}

/* Accesos principales */
body.view-featured .blog-featured
.items-leading > .blog-item:first-child
.item-content p.gm-home-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
    margin: .35rem 0 0;
    font-size: 0;
    line-height: 1;
}

body.view-featured .blog-featured
.items-leading > .blog-item:first-child
.item-content p.gm-home-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .65rem .9rem;
    border: 1px solid #ccdaeb;
    border-radius: 10px;
    background: #ffffff;
    color: var(--gm-navy);
    font-size: .92rem;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .15s, border-color .15s;
}

body.view-featured .blog-featured
.items-leading > .blog-item:first-child
.item-content p.gm-home-links a:hover {
    background: #e4edfc;
    border-color: var(--gm-blue);
}

body.view-featured .blog-featured
.items-leading > .blog-item:first-child
.item-content p.gm-home-links a:focus-visible {
    outline: 3px solid var(--gm-blue);
    outline-offset: 3px;
}

@media (max-width: 480px) {
    body.view-featured .blog-featured
    .items-leading > .blog-item:first-child
    .item-content p.gm-home-links a {
        flex: 1 1 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.view-featured .blog-featured
    .items-leading > .blog-item:first-child
    .item-content p.gm-home-links a {
        transition: none;
    }
}

/* END GM-SITE-DESIGN-V2 */


/* BEGIN GM-SITE-DESIGN-V3: cuaderno / journal */
body.view-featured:is(.itemid-145, .itemid-146) .blog-featured > .blog-items:not(.items-leading) .item-content > p {
    display: block;
    margin: .9rem 0 0;
    color: var(--gm-muted);
    font-size: 1rem;
    line-height: 1.6;
}

body.view-featured:is(.itemid-145, .itemid-146) .blog-featured > .blog-items:not(.items-leading) .item-content > .readmore {
    display: block;
    margin-top: 1.25rem;
}

body.view-featured:is(.itemid-145, .itemid-146) .blog-featured > .blog-items:not(.items-leading) .readmore .btn {
    padding: .55rem .85rem;
    border-radius: 8px;
    font-weight: 600;
}

body.view-featured:is(.itemid-145, .itemid-146) .blog-featured > .blog-items:not(.items-leading) > .blog-item::after {
    content: none;
}
/* END GM-SITE-DESIGN-V3 */


/* BEGIN GM-SITE-DESIGN-V4: readable about pages */
body:is(.itemid-147, .itemid-148) .com-content-article {
    max-width: 850px;
    margin-inline: auto;
    padding-bottom: 3rem;
}
/* END GM-SITE-DESIGN-V4 */


/* GAM-ABOUT-CARD-V5 */
body:is(.itemid-147, .itemid-148) .com-content-article.item-page {
    max-width: 850px;
    margin: 1.5rem auto 3rem;
    padding: clamp(1.25rem, 3vw, 1.8rem);
    background: #fff;
    border: 1px solid #e1e8f1;
    border-radius: 18px;
    box-shadow: 0 6px 22px rgba(19, 46, 83, 0.05);
}

body:is(.itemid-147, .itemid-148) .mod-breadcrumbs.breadcrumb {
    max-width: 850px;
    margin-inline: auto;
    background: transparent;
    padding: 0 0 0.5rem !important;
}

@media (max-width: 767px) {
    body:is(.itemid-147, .itemid-148) .com-content-article.item-page {
        margin-top: 1rem;
        border-radius: 14px;
    }
}
/* END GAM-ABOUT-CARD-V5 */

/* BEGIN GM-EDITORIAL-HOME-V6 · only ES/EN home menu items */
body:is(.itemid-102,.itemid-103) {
  --gm-page: #f1f2f4;
  --gm-panel: #ffffff;
  --gm-card: #f7f8fa;
  --gm-text: #1c2430;
  --gm-subtle: #5d6673;
  --gm-line: #dce1e8;
  --gm-link: #245799;
  --gm-feature-bg: #13191e;
  --gm-feature-text: #f8f9fa;
  background: var(--gm-page);
  color: var(--gm-text);
}
@media (prefers-color-scheme: dark) {
  html:not([data-gm-theme="light"]) body:is(.itemid-102,.itemid-103) {
    --gm-page: #101112;
    --gm-panel: #2b2c2e;
    --gm-card: #303133;
    --gm-text: #f3f3f4;
    --gm-subtle: #c1c3c6;
    --gm-line: #45474a;
    --gm-link: #9dc6ff;
    --gm-feature-bg: #090a0b;
    --gm-feature-text: #f4f5f6;
  }
}
html[data-gm-theme="dark"] body:is(.itemid-102,.itemid-103) {
  --gm-page: #101112;
  --gm-panel: #2b2c2e;
  --gm-card: #303133;
  --gm-text: #f3f3f4;
  --gm-subtle: #c1c3c6;
  --gm-line: #45474a;
  --gm-link: #9dc6ff;
  --gm-feature-bg: #090a0b;
  --gm-feature-text: #f4f5f6;
}
body:is(.itemid-102,.itemid-103) .header.container-header {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: calc(100% - 36px);
  max-width: 1090px;
  margin: 64px auto 0;
  padding: 24px 29px 22px;
  border: 1px solid var(--gm-line);
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  background: var(--gm-panel) !important;
  box-shadow: none;
}
body:is(.itemid-102,.itemid-103) .container-header .container-topbar {
  position: absolute;
  top: -49px;
  right: 9px;
  padding: 0;
  background: transparent;
}
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
}
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 29px;
  border-radius: 15px;
  border: 1px solid transparent;
  opacity: .65;
  transition: opacity .2s, background .2s;
}
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list a[aria-current="true"],
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list a:hover {
  border-color: var(--gm-line);
  background: var(--gm-panel);
  opacity: 1;
}
body:is(.itemid-102,.itemid-103) .container-header > .grid-child {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
body:is(.itemid-102,.itemid-103) .container-header .navbar-brand {
  padding: 0;
  margin: 0;
}
body:is(.itemid-102,.itemid-103) .container-header .brand-logo,
body:is(.itemid-102,.itemid-103) .container-header .brand-logo:hover {
  color: var(--gm-text);
  font-size: 1.75rem;
  font-weight: 780;
  letter-spacing: -.06em;
}
body:is(.itemid-102,.itemid-103) .container-header .site-description {
  margin-top: 3px;
  color: var(--gm-subtle);
  font-size: .82rem;
  font-weight: 400;
  letter-spacing: 0;
}
body:is(.itemid-102,.itemid-103) .container-header .container-nav {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0;
}
body:is(.itemid-102,.itemid-103) .container-header .mod-menu {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
}
body:is(.itemid-102,.itemid-103) .container-header .mod-menu > .nav-item > a {
  padding: .42rem .48rem;
  border-radius: 7px;
  color: var(--gm-text);
  background: transparent;
  font-size: .91rem;
  font-weight: 510;
}
body:is(.itemid-102,.itemid-103) .container-header .mod-menu > .nav-item > a:hover,
body:is(.itemid-102,.itemid-103) .container-header .mod-menu > .nav-item.active > a {
  color: var(--gm-link);
  background: var(--gm-card);
}
body:is(.itemid-102,.itemid-103) .gm-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--gm-line);
  border-radius: 50%;
  background: var(--gm-card);
  color: var(--gm-text);
  font-size: 1.1rem;
  cursor: pointer;
}
body:is(.itemid-102,.itemid-103) .gm-theme-toggle:hover { border-color: var(--gm-link); }
body:is(.itemid-102,.itemid-103) .site-grid {
  box-sizing: border-box;
  display: block;
  width: calc(100% - 36px);
  max-width: 1090px;
  min-height: 0;
  margin: 0 auto 32px;
  padding: 0 29px;
  border: 1px solid var(--gm-line);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background: var(--gm-panel);
}
body:is(.itemid-102,.itemid-103) .site-grid .container-component {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}
body:is(.itemid-102,.itemid-103) .mod-breadcrumbs__wrapper,
body:is(.itemid-102,.itemid-103) .com-content-article > .page-header,
body:is(.itemid-102,.itemid-103) .com-content-article .article-info,
body:is(.itemid-102,.itemid-103) .com-content-article > .item-image,
body:is(.itemid-102,.itemid-103) .com-content-article > figure.item-image,
body:is(.itemid-102,.itemid-103) .com-content-article .icons,
body:is(.itemid-102,.itemid-103) .com-content-article .tags { display: none !important; }
body:is(.itemid-102,.itemid-103) .gm-landing,
body:is(.itemid-102,.itemid-103) .gm-landing * { box-sizing: border-box; }
body:is(.itemid-102,.itemid-103) .gm-landing { color: var(--gm-text); max-width: 100%; }
body:is(.itemid-102,.itemid-103) .gm-landing a { color: var(--gm-link); text-decoration: none; }
body:is(.itemid-102,.itemid-103) .gm-landing a:hover { text-decoration: underline; }
body:is(.itemid-102,.itemid-103) .gm-landing h1,
body:is(.itemid-102,.itemid-103) .gm-landing h2,
body:is(.itemid-102,.itemid-103) .gm-landing h3 { color: var(--gm-text); }
body:is(.itemid-102,.itemid-103) .gm-hero {
  border-top: 1px solid var(--gm-line);
  padding: clamp(34px,5vw,59px) 0 42px;
}
body:is(.itemid-102,.itemid-103) .gm-eyebrow {
  color: var(--gm-subtle);
  font-size: .77rem;
  font-weight: 650;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin: 0 0 16px;
}
body:is(.itemid-102,.itemid-103) .gm-hero h1 {
  max-width: 820px;
  font-size: clamp(2rem, 4.3vw, 3.15rem);
  font-weight: 750;
  line-height: 1.19;
  letter-spacing: -.045em;
  margin: 0 0 18px;
}
body:is(.itemid-102,.itemid-103) .gm-hero-copy {
  max-width: 800px;
  margin: 0;
  color: var(--gm-subtle);
  font-size: clamp(1.03rem, 1.6vw, 1.17rem);
  line-height: 1.68;
}
body:is(.itemid-102,.itemid-103) .gm-block {
  padding: 29px 0 33px;
  border-top: 1px solid var(--gm-line);
}
body:is(.itemid-102,.itemid-103) .gm-section-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 18px;
}
body:is(.itemid-102,.itemid-103) .gm-section-top h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 720;
  letter-spacing: -.025em;
}
body:is(.itemid-102,.itemid-103) .gm-section-link,
body:is(.itemid-102,.itemid-103) .gm-cv-link {
  font-size: .88rem;
  font-weight: 600;
  white-space: nowrap;
}
body:is(.itemid-102,.itemid-103) .gm-note-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px;
}
body:is(.itemid-102,.itemid-103) .gm-note-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 242px;
  padding: 20px;
  border: 1px solid var(--gm-line);
  border-radius: 12px;
  background: var(--gm-card);
}
body:is(.itemid-102,.itemid-103) .gm-note-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--gm-subtle);
  font-size: .72rem;
  font-weight: 600;
  margin-bottom: 16px;
}
body:is(.itemid-102,.itemid-103) .gm-note-meta span:first-child {
  padding: 3px 9px;
  border: 1px solid var(--gm-line);
  border-radius: 999px;
}
body:is(.itemid-102,.itemid-103) .gm-note-card h3 {
  margin: 0 0 11px;
  font-size: 1.16rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.015em;
}
body:is(.itemid-102,.itemid-103) .gm-note-card h3 a { color: var(--gm-text); }
body:is(.itemid-102,.itemid-103) .gm-note-card p {
  margin: 0 0 14px;
  color: var(--gm-subtle);
  font-size: .94rem;
  line-height: 1.6;
}
body:is(.itemid-102,.itemid-103) .gm-card-link {
  margin-top: auto;
  font-size: .85rem;
  font-weight: 650;
}
body:is(.itemid-102,.itemid-103) .gm-pending { color: var(--gm-subtle); }
body:is(.itemid-102,.itemid-103) .gm-feature {
  padding: clamp(20px,3vw,29px);
  border-radius: 13px;
  background: var(--gm-feature-bg);
  color: var(--gm-feature-text);
}
body:is(.itemid-102,.itemid-103) .gm-feature-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
body:is(.itemid-102,.itemid-103) .gm-feature-label {
  margin: 0 0 13px;
  font-size: .72rem;
  font-weight: 600;
  color: #b4b9c0;
  text-transform: uppercase;
  letter-spacing: .09em;
}
body:is(.itemid-102,.itemid-103) .gm-feature-tag {
  padding: 3px 10px;
  border-radius: 999px;
  color: #60d99c;
  background: #113020;
  font-size: .73rem;
  white-space: nowrap;
}
body:is(.itemid-102,.itemid-103) .gm-feature h3 {
  color: var(--gm-feature-text);
  margin: 0 0 10px;
  font-size: 1.65rem;
  font-weight: 750;
}
body:is(.itemid-102,.itemid-103) .gm-feature p:not(.gm-feature-label) {
  max-width: 770px;
  margin: 0 0 12px;
  color: #d3d5d7;
  font-size: 1.04rem;
  line-height: 1.62;
}
body:is(.itemid-102,.itemid-103) .gm-feature a,
body:is(.itemid-102,.itemid-103) .gm-feature a:hover { color: #fff; font-weight: 650; }
body:is(.itemid-102,.itemid-103) .gm-about {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(140px, 220px);
  align-items: center;
  gap: 35px;
}
body:is(.itemid-102,.itemid-103) .gm-about .gm-eyebrow { margin-bottom: 10px; }
body:is(.itemid-102,.itemid-103) .gm-about h2 {
  margin: 0 0 10px;
  font-size: 1.45rem;
  letter-spacing: -.025em;
}
body:is(.itemid-102,.itemid-103) .gm-about p:not(.gm-eyebrow) {
  max-width: 700px;
  margin: 0 0 15px;
  color: var(--gm-subtle);
  line-height: 1.7;
}
body:is(.itemid-102,.itemid-103) .gm-cv-link { margin-left: 18px; }
body:is(.itemid-102,.itemid-103) .gm-about-photo {
  width: 100%;
  max-height: 170px;
  object-fit: cover;
  object-position: center 40%;
  border: 1px solid var(--gm-line);
  border-radius: 12px;
}
body:is(.itemid-102,.itemid-103) .gm-landing-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 20px 0 26px;
  border-top: 1px solid var(--gm-line);
  color: var(--gm-subtle);
  font-size: .8rem;
}
body:is(.itemid-102,.itemid-103) .gm-landing-footer strong { color: var(--gm-text); font-size: .94rem; }
body:is(.itemid-102,.itemid-103) .gm-landing-footer a { margin-left: auto; }
body:is(.itemid-102,.itemid-103) .gm-landing-footer a + a { margin-left: 0; }
body:is(.itemid-102,.itemid-103) :is(a,button):focus-visible {
  outline: 2px solid var(--gm-link);
  outline-offset: 3px;
}
@media (max-width: 760px) {
  body:is(.itemid-102,.itemid-103) .header.container-header {
    width: calc(100% - 22px);
    margin-top: 60px;
    padding: 18px 19px;
    flex-wrap: wrap;
  }
  body:is(.itemid-102,.itemid-103) .site-grid {
    width: calc(100% - 22px);
    padding: 0 19px;
  }
  body:is(.itemid-102,.itemid-103) .container-header .container-nav { width:100%; justify-content:space-between; }
  body:is(.itemid-102,.itemid-103) .container-header .mod-menu { gap: 0; }
  body:is(.itemid-102,.itemid-103) .container-header .mod-menu > .nav-item > a { padding: .4rem; font-size: .86rem; }
  body:is(.itemid-102,.itemid-103) .gm-hero { padding: 33px 0; }
  body:is(.itemid-102,.itemid-103) .gm-hero h1 br { display: none; }
  body:is(.itemid-102,.itemid-103) .gm-note-grid { grid-template-columns: 1fr; }
  body:is(.itemid-102,.itemid-103) .gm-note-card { min-height: 0; }
  body:is(.itemid-102,.itemid-103) .gm-about { grid-template-columns: 1fr; gap: 18px; }
  body:is(.itemid-102,.itemid-103) .gm-about-photo { width: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list a { transition: none; }
}
/* END GM-EDITORIAL-HOME-V6 */

/* BEGIN GM-EDITORIAL-HOME-V6.1: filtered article labels */
body:is(.itemid-102,.itemid-103) .gm-note-meta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  width: fit-content;
  min-height: 24px;
  padding: 2px 9px;
  border: 1px solid var(--gm-line);
  border-radius: 999px;
  background: var(--gm-panel);
  letter-spacing: .005em;
}
body:is(.itemid-102,.itemid-103) .gm-note-card:first-child .gm-note-meta {
  color: var(--gm-link);
}
/* END GM-EDITORIAL-HOME-V6.1 */

/* BEGIN GM-EDITORIAL-HOME-V6.2: language labels */
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list a {
  width: auto;
  height: auto;
  min-height: 32px;
  padding: 5px 13px;
  border-radius: 999px;
  color: var(--gm-subtle);
  font-size: .86rem;
  font-weight: 520;
  text-decoration: none;
}
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list img { display: none; }
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list li:first-child a::after { content: "Castellano"; }
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list li:nth-child(2) a::after { content: "English"; }
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list a[aria-current="true"] {
  color: var(--gm-text);
  font-weight: 650;
}
/* END GM-EDITORIAL-HOME-V6.2 */

/* BEGIN GM-EDITORIAL-HOME-V6.3: active language backdrop */
body:is(.itemid-102,.itemid-103) .container-topbar .mod-languages__list > li.lang-active {
  background: transparent !important;
  border-radius: 999px;
}
/* END GM-EDITORIAL-HOME-V6.3 */

/* BEGIN GM-SITE-UNIFICATION-V7: interior pages; homepage remains V6 */
body.site:not(:is(.itemid-102,.itemid-103)) {
  --gm-page: #f1f2f4;
  --gm-panel: #ffffff;
  --gm-card: #f7f8fa;
  --gm-text: #1c2430;
  --gm-subtle: #5d6673;
  --gm-line: #dce1e8;
  --gm-link: #245799;
  --gm-feature-bg: #13191e;
  --gm-feature-text: #f8f9fa;
  background: var(--gm-page);
  color: var(--gm-text);
}
@media (prefers-color-scheme: dark) {
  html:not([data-gm-theme="light"]) body.site:not(:is(.itemid-102,.itemid-103)) {
    --gm-page: #101112;
    --gm-panel: #2b2c2e;
    --gm-card: #303133;
    --gm-text: #f3f3f4;
    --gm-subtle: #c1c3c6;
    --gm-line: #45474a;
    --gm-link: #9dc6ff;
    --gm-feature-bg: #090a0b;
    --gm-feature-text: #f4f5f6;
  }
}
html[data-gm-theme="dark"] body.site:not(:is(.itemid-102,.itemid-103)) {
  --gm-page: #101112;
  --gm-panel: #2b2c2e;
  --gm-card: #303133;
  --gm-text: #f3f3f4;
  --gm-subtle: #c1c3c6;
  --gm-line: #45474a;
  --gm-link: #9dc6ff;
  --gm-feature-bg: #090a0b;
  --gm-feature-text: #f4f5f6;
}
body.site:not(:is(.itemid-102,.itemid-103)) .header.container-header {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: calc(100% - 36px);
  max-width: 1090px;
  margin: 64px auto 0;
  padding: 24px 29px 22px;
  border: 1px solid var(--gm-line);
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  background: var(--gm-panel) !important;
  box-shadow: none;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .container-topbar {
  position: absolute;
  top: -49px;
  right: 9px;
  padding: 0;
  background: transparent;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 29px;
  border-radius: 15px;
  border: 1px solid transparent;
  opacity: .65;
  transition: opacity .2s, background .2s;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list a[aria-current="true"],
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list a:hover {
  border-color: var(--gm-line);
  background: var(--gm-panel);
  opacity: 1;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header > .grid-child {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .navbar-brand {
  padding: 0;
  margin: 0;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .brand-logo,
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .brand-logo:hover {
  color: var(--gm-text);
  font-size: 1.75rem;
  font-weight: 780;
  letter-spacing: -.06em;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .site-description {
  margin-top: 3px;
  color: var(--gm-subtle);
  font-size: .82rem;
  font-weight: 400;
  letter-spacing: 0;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .container-nav {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .mod-menu {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .mod-menu > .nav-item > a {
  padding: .42rem .48rem;
  border-radius: 7px;
  color: var(--gm-text);
  background: transparent;
  font-size: .91rem;
  font-weight: 510;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .mod-menu > .nav-item > a:hover,
body.site:not(:is(.itemid-102,.itemid-103)) .container-header .mod-menu > .nav-item.active > a {
  color: var(--gm-link);
  background: var(--gm-card);
}
body.site:not(:is(.itemid-102,.itemid-103)) .gm-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--gm-line);
  border-radius: 50%;
  background: var(--gm-card);
  color: var(--gm-text);
  font-size: 1.1rem;
  cursor: pointer;
}
body.site:not(:is(.itemid-102,.itemid-103)) .gm-theme-toggle:hover { border-color: var(--gm-link); }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid {
  box-sizing: border-box;
  display: block;
  width: calc(100% - 36px);
  max-width: 1090px;
  min-height: 0;
  margin: 0 auto 32px;
  padding: 0 29px;
  border: 1px solid var(--gm-line);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background: var(--gm-panel);
}
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid .container-component {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* BEGIN GM-EDITORIAL-HOME-V6.2: language labels */
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list a {
  width: auto;
  height: auto;
  min-height: 32px;
  padding: 5px 13px;
  border-radius: 999px;
  color: var(--gm-subtle);
  font-size: .86rem;
  font-weight: 520;
  text-decoration: none;
}
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list img { display: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list li:first-child a::after { content: "Castellano"; }
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list li:nth-child(2) a::after { content: "English"; }
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list a[aria-current="true"] {
  color: var(--gm-text);
  font-weight: 650;
}
/* END GM-EDITORIAL-HOME-V6.2 */

/* BEGIN GM-EDITORIAL-HOME-V6.3: active language backdrop */
body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list > li.lang-active {
  background: transparent !important;
  border-radius: 999px;
}
/* END GM-EDITORIAL-HOME-V6.3 */

/* Frame and reading rhythm */
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid { padding-top: 19px; }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid .container-component > main { min-width: 0; padding: 3px 0 27px; }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid :is(h1,h2,h3,h4,h5,h6) { color: var(--gm-text); letter-spacing: -.025em; }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid a:not(.btn) { color: var(--gm-link); }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid a:hover { text-decoration-thickness: 1px; }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid p, body.site:not(:is(.itemid-102,.itemid-103)) .site-grid li, body.site:not(:is(.itemid-102,.itemid-103)) .site-grid blockquote { line-height: 1.68; }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid .page-header { margin: 0 0 19px; padding: 0; border: 0; }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid .page-header h1,
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid main > :is(h1,h2):first-child,
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured > .page-header h1 { margin: 0; font-size: clamp(1.85rem,3.2vw,2.6rem); font-weight: 740; line-height: 1.2; letter-spacing: -.04em; }
body.site:not(:is(.itemid-102,.itemid-103)) .mod-breadcrumbs__wrapper { margin: 0 0 22px; }
body.site:not(:is(.itemid-102,.itemid-103)) .mod-breadcrumbs.breadcrumb { margin: 0; padding: 0 !important; background: transparent; color: var(--gm-subtle); font-size: .82rem; line-height: 1.5; }
body.site:not(:is(.itemid-102,.itemid-103)) .mod-breadcrumbs .breadcrumb-item { color: var(--gm-subtle); }
body.site:not(:is(.itemid-102,.itemid-103)) .mod-breadcrumbs .breadcrumb-item + .breadcrumb-item::before { color: var(--gm-subtle); }
body.site:not(:is(.itemid-102,.itemid-103)) .mod-breadcrumbs__here { display: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid :is(a,button,input,select,textarea):focus-visible,
body.site:not(:is(.itemid-102,.itemid-103)) .header :is(a,button):focus-visible { outline: 2px solid var(--gm-link); outline-offset: 3px; }

/* Long-form Joomla articles and About */
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article { box-sizing: border-box; max-width: 870px; margin-inline: auto; padding: 4px 0 16px; color: var(--gm-text); }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .com-content-article__body { font-size: 1.035rem; line-height: 1.76; overflow-wrap: break-word; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .com-content-article__body :is(h2,h3,h4) { margin-top: 1.7em; margin-bottom: .7em; line-height: 1.28; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .com-content-article__body p { margin-bottom: 1.12rem; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .article-info { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 25px; padding: 0; color: var(--gm-subtle); font-size: .81rem; line-height: 1.45; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .article-info dd { margin: 0; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .article-info dt { display: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .article-info :is(a,time) { font-size: inherit; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article img { max-width: 100%; height: auto; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article pre { overflow-x: auto; max-width: 100%; padding: 15px 18px; background: var(--gm-card); border: 1px solid var(--gm-line); border-radius: 11px; color: var(--gm-text); }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article :not(pre) > code { background: var(--gm-card); color: var(--gm-text); border-radius: 4px; padding: .1em .3em; }
body.site:not(:is(.itemid-102,.itemid-103)):is(.itemid-147,.itemid-148) .com-content-article.item-page { max-width: 870px; margin: 0 auto 16px; padding: 8px 0 12px; border: 0; box-shadow: none; background: transparent; }
body.site:not(:is(.itemid-102,.itemid-103)):is(.itemid-147,.itemid-148) .mod-breadcrumbs.breadcrumb { max-width: none; }

/* Journal: article previews as editorial cards */
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured { width: 100%; max-width: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-items { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,330px),1fr)); align-items: stretch; gap: 15px; margin: 0; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item { min-width: 0; padding: 23px; border: 1px solid var(--gm-line); border-radius: 12px; background: var(--gm-card); }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item .item-title { margin: 0 0 12px; font-size: 1.23rem; font-weight: 710; line-height: 1.4; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item .item-title a { color: var(--gm-text) !important; text-decoration: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item .item-title a:hover { color: var(--gm-link) !important; text-decoration: underline; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item .article-info { display: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item :is(p,em) { color: var(--gm-subtle); }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item .readmore { margin: 17px 0 0; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item .readmore .btn { color: var(--gm-link); background: var(--gm-panel); border: 1px solid var(--gm-line); border-radius: 9px; padding: .54rem .78rem; white-space: normal; text-align: left; }

/* Projects and other Joomla category listings */
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category { min-width: 0; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category .cat-children { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,305px),1fr)); gap: 15px; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category .cat-children > h3 { grid-column: 1 / -1; margin: 8px 0 0; color: var(--gm-text); font-size: 1.3rem; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children { min-width: 0; padding: 20px; background: var(--gm-card); border: 1px solid var(--gm-line); border-radius: 12px; overflow-wrap: anywhere; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children .item-title { margin: 0 0 12px; font-size: 1.19rem; font-weight: 710; line-height: 1.38; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children .item-title a { color: var(--gm-text) !important; text-decoration: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children .item-title a:hover { color: var(--gm-link) !important; text-decoration: underline; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children .category-desc { color: var(--gm-subtle); font-size: .96rem; line-height: 1.65; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children .category-desc p { margin: 0; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children .category-desc span[style*="font-size"] { font-size: inherit !important; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category .alert-info { padding: 12px 16px; border: 1px solid var(--gm-line); background: var(--gm-card); color: var(--gm-subtle); border-radius: 9px; font-size: .89rem; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__pagination { margin: 0 0 12px; }

/* Existing CV inline styles: preserve layout, make text readable in dark mode */
body.site:not(:is(.itemid-102,.itemid-103)) .gam-cv { max-width: 920px; }
html[data-gm-theme="dark"] body.site:not(:is(.itemid-102,.itemid-103)) .gam-cv { color: var(--gm-text) !important; }
html[data-gm-theme="dark"] body.site:not(:is(.itemid-102,.itemid-103)) .gam-cv :is(h1,h2,h3,h4,p,span,strong,li)[style*="color"] { color: var(--gm-text) !important; }
html[data-gm-theme="dark"] body.site:not(:is(.itemid-102,.itemid-103)) .gam-cv header[style] { background: var(--gm-card) !important; border-color: var(--gm-line) !important; }

/* Forms, alerts and common content components */
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid :is(.form-control,.form-select,textarea,input:not([type="checkbox"]):not([type="radio"])) { background-color: var(--gm-card); border-color: var(--gm-line); color: var(--gm-text); }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid .alert:not(.alert-info) { background: var(--gm-card); border-color: var(--gm-line); color: var(--gm-text); }
body.site:not(:is(.itemid-102,.itemid-103)) .site-grid .table { color: var(--gm-text); --table-color: var(--gm-text); border-color: var(--gm-line); }

/* A shared footer for interior pages (home retains its authored footer) */
body.site:not(:is(.itemid-102,.itemid-103)) .gm-site-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; padding: 18px 0 24px; margin-top: 12px; border-top: 1px solid var(--gm-line); color: var(--gm-subtle); font-size: .8rem; }
body.site:not(:is(.itemid-102,.itemid-103)) .gm-site-footer strong { color: var(--gm-text); font-size: .94rem; }
body.site:not(:is(.itemid-102,.itemid-103)) .gm-site-footer a { color: var(--gm-link); margin-left: auto; text-decoration: none; }
body.site:not(:is(.itemid-102,.itemid-103)) .gm-site-footer a + a { margin-left: 0; }
body.site:not(:is(.itemid-102,.itemid-103)) .gm-site-footer a:hover { text-decoration: underline; }
@media (max-width: 760px) {
  body.site:not(:is(.itemid-102,.itemid-103)) .header.container-header { width: calc(100% - 22px); margin-top: 60px; padding: 18px 19px; flex-wrap: wrap; }
  body.site:not(:is(.itemid-102,.itemid-103)) .site-grid { width: calc(100% - 22px); padding: 19px 19px 0; }
  body.site:not(:is(.itemid-102,.itemid-103)) .container-header .container-nav { width: 100%; justify-content: space-between; }
  body.site:not(:is(.itemid-102,.itemid-103)) .container-header .mod-menu { gap: 0; }
  body.site:not(:is(.itemid-102,.itemid-103)) .container-header .mod-menu > .nav-item > a { padding: .4rem; font-size: .86rem; }
  body.site:not(:is(.itemid-102,.itemid-103)) .com-content-article .com-content-article__body { font-size: 1rem; }
  body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category .cat-children { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  body.site:not(:is(.itemid-102,.itemid-103)) .container-topbar .mod-languages__list a { transition: none; }
}
/* END GM-SITE-UNIFICATION-V7 */

/* BEGIN GM-SITE-UNIFICATION-V7.1: preview cards and metadata contrast */
body.site.view-featured:not(:is(.itemid-102,.itemid-103)) .blog-featured > .blog-items:not(.items-leading) > .blog-item {
  background: var(--gm-card) !important;
  color: var(--gm-text) !important;
  border-color: var(--gm-line);
  box-shadow: none;
}
body.site.view-featured:not(:is(.itemid-102,.itemid-103)) .blog-featured > .blog-items:not(.items-leading) > .blog-item::after { content: none !important; }
body.site:not(:is(.itemid-102,.itemid-103)) .blog-featured .blog-item .article-info { display: none !important; }
body.site:not(:is(.itemid-102,.itemid-103)) .article-info.text-muted,
body.site:not(:is(.itemid-102,.itemid-103)) .article-info.text-muted :is(dd,dt,span,time) { color: var(--gm-subtle) !important; }
body.site:not(:is(.itemid-102,.itemid-103)) .com-content-category__children .category-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  overflow: hidden;
}
/* END GM-SITE-UNIFICATION-V7.1 */

/* BEGIN GM-SITE-UNIFICATION-V7.2: use editorial muted color in legacy previews */
body.site:not(:is(.itemid-102,.itemid-103)) { --gm-muted: var(--gm-subtle); }
/* END GM-SITE-UNIFICATION-V7.2 */

/* BEGIN GM-HEADER-UNIFICATION-V8 */
/* The real Joomla language links remain in use; JS moves their module into the header. */
body.site.gm-header-ready .header.container-header {
  margin-top: 26px !important;
  gap: 18px;
}
body.site.gm-header-ready .container-header > .container-topbar { display: none !important; }
body.site.gm-header-ready .container-header .navbar-brand .brand-logo,
body.site.gm-header-ready .container-header .navbar-brand .brand-logo:hover {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--gm-text);
  font-size: 1.23rem;
  font-weight: 730;
  letter-spacing: -.035em;
  text-decoration: none;
  white-space: nowrap;
}
body.site.gm-header-ready .container-header .gm-brand-avatar {
  display: block;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 50%;
  border: 2px solid var(--gm-line);
  object-fit: cover;
  object-position: center;
  background: var(--gm-card);
}
body.site.gm-header-ready .container-header .navbar-brand .site-description {
  margin-top: 4px;
  font-size: .76rem;
  letter-spacing: 0;
}
body.site.gm-header-ready .container-header .container-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
}
body.site.gm-header-ready .container-header .gm-header-controls {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}
body.site.gm-header-ready .gm-header-controls .mod-languages__list {
  display: inline-flex;
  gap: 2px;
  align-items: center;
  padding: 3px;
  margin: 0;
  list-style: none;
  border: 1px solid var(--gm-line);
  border-radius: 999px;
  background: var(--gm-card);
}
body.site.gm-header-ready .gm-header-controls .mod-languages__list li { margin: 0; padding: 0; }
body.site.gm-header-ready .gm-header-controls .mod-languages__list a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 30px;
  padding: 5px 11px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--gm-subtle);
  font-size: .82rem;
  font-weight: 570;
  line-height: 1.1;
  text-decoration: none;
  opacity: 1;
  white-space: nowrap;
}
body.site.gm-header-ready .gm-header-controls .mod-languages__list a:is(:hover,:focus-visible),
body.site.gm-header-ready .gm-header-controls .mod-languages__list a[aria-current="true"] {
  color: var(--gm-text);
  background: var(--gm-panel);
  border-color: var(--gm-line);
  box-shadow: 0 1px 2px rgba(0,0,0,.055);
}
body.site.gm-header-ready .gm-header-controls .gm-theme-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  width: auto;
  height: 39px;
  padding: 0 8px 0 12px;
  margin: 0;
  border: 1px solid var(--gm-line);
  border-radius: 999px;
  background: var(--gm-card);
  color: var(--gm-text);
  font-size: .82rem;
  font-weight: 580;
  cursor: pointer;
  white-space: nowrap;
}
body.site.gm-header-ready .gm-header-controls .gm-theme-toggle:hover,
body.site.gm-header-ready .gm-header-controls .gm-theme-toggle:focus-visible {
  border-color: var(--gm-link);
}
body.site.gm-header-ready .gm-header-controls .gm-theme-toggle .gm-switch-track {
  position: relative;
  width: 33px;
  height: 19px;
  flex: 0 0 33px;
  border-radius: 999px;
  background: var(--gm-line);
  transition: background-color .18s;
}
body.site.gm-header-ready .gm-header-controls .gm-theme-toggle .gm-switch-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--gm-panel);
  box-shadow: 0 1px 2px rgba(0,0,0,.16);
  transition: transform .18s;
}
body.site.gm-header-ready .gm-header-controls .gm-theme-toggle[aria-checked="true"] .gm-switch-track {
  background: var(--gm-link);
}
body.site.gm-header-ready .gm-header-controls .gm-theme-toggle[aria-checked="true"] .gm-switch-knob {
  transform: translateX(14px);
}
/* A category made only of subcategories has no article pager or warning to show. */
body.site .com-content-category.category-list form.com-content-category__articles:has(> .alert.alert-info) {
  display: none;
}
@media (max-width: 1050px) {
  body.site.gm-header-ready .header.container-header {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  body.site.gm-header-ready .header.container-header .container-nav {
    width: 100% !important;
    justify-content: space-between;
  }
}
@media (max-width: 620px) {
  body.site.gm-header-ready .header.container-header { padding: 18px 18px 16px; }
  body.site.gm-header-ready .header.container-header .container-nav { gap: 12px; }
  body.site.gm-header-ready .container-header .mod-menu { width: 100%; }
  body.site.gm-header-ready .container-header .gm-header-controls { width: 100%; justify-content: flex-start; }
  body.site.gm-header-ready .container-header .navbar-brand .brand-logo { font-size: 1.13rem; }
  body.site.gm-header-ready .container-header .gm-brand-avatar { width: 42px; height: 42px; flex-basis: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  body.site.gm-header-ready .gm-header-controls .gm-switch-knob,
  body.site.gm-header-ready .gm-header-controls .gm-switch-track { transition: none; }
}
/* END GM-HEADER-UNIFICATION-V8 */

/* BEGIN GM-HEADER-UNIFICATION-V8.1: native language item background */
body.site.gm-header-ready .gm-header-controls .mod-languages__list > li,
body.site.gm-header-ready .gm-header-controls .mod-languages__list > li.lang-active {
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px;
}
/* END GM-HEADER-UNIFICATION-V8.1 */

/* BEGIN GM-CV-DARK-EXPERTISE-V1 */
/* The expertise panel has a light inline background in both CV languages. */
html[data-gm-theme="dark"] body.site .gam-cv section > div[style*="background: #f2f7fb"] {
  background: var(--gm-card) !important;
  border-color: var(--gm-line) !important;
  color: var(--gm-text) !important;
}
/* END GM-CV-DARK-EXPERTISE-V1 */


/* BEGIN GM-ARTICLE-SECURITY-TITLE-V1 */
/* Restore the H1 only for this story: the generic home-item rule also affects routed articles. */
body.site.view-article .com-content-article:has(.gm-security-story-lead) > .page-header {
  display: block !important;
  margin: 0 0 1.35rem;
}
body.site.view-article .com-content-article:has(.gm-security-story-lead) > .page-header h1 {
  margin: 0;
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.035em;
}
body.site.view-article .com-content-article:has(.gm-security-story-lead) .com-content-article__body h2 {
  font-size: clamp(1.45rem, 2.3vw, 1.875rem);
  line-height: 1.3;
  margin-block: 2.1rem 1rem;
}
/* END GM-ARTICLE-SECURITY-TITLE-V1 */
