/* UMLAC CSS Library: template components and Tailwind bridge rules.
   Migrated from layouts/_default/baseof.html so styles are loaded through /css/main.css. */

.material-symbols-outlined { font-size: 20px; }
.site-breadcrumb-list { font-family:var(--font-sans); font-size:.875rem; line-height:1.25; letter-spacing:.08em; text-transform:uppercase; color:var(--color-text-body); }
.site-breadcrumb-link { color:var(--color-accent); text-decoration:none; transition:color var(--duration-fast) ease; }
.site-breadcrumb-link:hover { color:var(--color-accent); }
.umlac-hero-carousel { display:flex; flex-direction:column; gap:1rem; }
.umlac-hero-carousel__tabs { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:.15rem; }
.umlac-hero-carousel__tab { display:inline-flex; align-items:center; min-height:2.85rem; padding:.65rem .9rem; border:1px solid var(--color-border-subtle); border-radius:var(--radius-sm); background:transparent; color:var(--color-text-body); font-family:var(--font-sans); font-size:.875rem; font-weight:500; letter-spacing:.07em; line-height:1.15; text-transform:uppercase; cursor:pointer; transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease; }
.umlac-hero-carousel__tab.is-active { background:var(--color-accent); border-color:var(--color-accent); color:#fff; }
.umlac-hero-carousel__tab:hover:not(.is-active) { border-color:var(--color-accent); color:var(--color-accent); }
.umlac-hero-carousel__tab:focus-visible { outline:2px solid var(--color-chart-red); outline-offset:3px; }
.umlac-hero-carousel__viewport { position:relative; min-height:9rem; }
.umlac-hero-carousel__slide { margin:0; opacity:0; transform:translateY(4px); transition:opacity 260ms cubic-bezier(var(--token-motion-easing-standard)), transform 260ms cubic-bezier(var(--token-motion-easing-standard)); }
.umlac-hero-carousel__slide:not(.is-active) { position:absolute; inset:0; pointer-events:none; }
.umlac-hero-carousel__slide.is-active { opacity:1; transform:translateY(0); }
@media (min-width:768px){ .umlac-hero-carousel__viewport{ min-height:7rem; } }
@media (min-width:1024px){ .umlac-hero-carousel__viewport{ min-height:5.5rem; } }
.motion-reveal { --motion-delay:0ms; }
.motion-ready .motion-reveal { opacity:0; transform:translateY(10px); transition:opacity 420ms cubic-bezier(var(--token-motion-easing-standard)) var(--motion-delay), transform 420ms cubic-bezier(var(--token-motion-easing-standard)) var(--motion-delay); will-change:opacity,transform; }
.motion-ready .motion-reveal.is-visible { opacity:1; transform:translateY(0); }
.motion-ready .motion-image-settle { opacity:.92; transform:scale(1.025); transition:opacity 650ms cubic-bezier(var(--token-motion-easing-standard)) var(--motion-delay), transform 650ms cubic-bezier(var(--token-motion-easing-standard)) var(--motion-delay); will-change:opacity,transform; }
.motion-ready .motion-image-settle.is-visible { opacity:1; transform:scale(1); }
.motion-hover-lift { transition:border-color var(--duration-fast) ease, transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease; }
.motion-hover-lift:hover,
.motion-hover-lift:focus-visible { transform:translateY(-2px); box-shadow:0 10px 22px rgba(16,40,44,.08); }
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .motion-reveal,
  .motion-image-settle {
    opacity:1 !important;
    transform:none !important;
    will-change:auto !important;
  }
  .umlac-hero-carousel__slide {
    transform:none !important;
  }
}
html { scroll-padding-top: calc(var(--header-height, 0px) + var(--anchor-offset, 24px)); }
[id] { scroll-margin-top: calc(var(--header-height, 0px) + var(--anchor-offset, 24px)); }
.text-black,.text-gray-700,.text-gray-800,.text-gray-900 { color: var(--color-text-body); }
.hover\:text-black:hover,.hover\:text-gray-700:hover,.hover\:text-gray-900:hover { color: var(--color-text-body); }
h1,
h1.text-gray-900 { color:var(--color-accent-dark); }
.border-black,.hover\:border-black:hover { border-color:var(--color-text); }
.link-umlac { color:var(--color-accent); text-decoration:none; transition:color var(--duration-fast) ease; }
.link-umlac:hover { color:var(--color-text); }
.promo-icon-box { background:var(--color-chart-red); }
.promo-icon-box-muted { background:var(--color-accent); }
.promo-icon-box img { filter: brightness(0) invert(1); }
.promo-strip { background:var(--color-accent); }
.umlac-chrome-container { width:100%; max-width:96rem; margin-inline:auto; padding-inline:1rem; }
@media (min-width:640px){ .umlac-chrome-container { padding-inline:1.5rem; } }
@media (min-width:1024px){ .umlac-chrome-container { padding-inline:2rem; } }
.site-header-nav { position:relative; background:var(--color-accent); color:#fff; }
.site-header-main { background:var(--color-accent); }
.site-header-layout { display:flex; align-items:center; justify-content:space-between; gap:clamp(1rem, 2vw, 2rem); }
.brand-wordmark { color:#fff; line-height:.9; }
.brand-wordmark:hover, .brand-wordmark:focus-visible { color:#fff; }
.brand-isotipo { filter:brightness(0) invert(1); }
.brand-subtitle-mobile { font-family:var(--font-sans); font-weight:500; font-size:0.95rem; line-height:1; letter-spacing:.01em; color:#fff; display:flex; flex-direction:column; white-space:normal; }
.brand-subtitle-desktop { font-family:var(--font-sans); font-weight:500; font-size:1rem; line-height:1.1; letter-spacing:.02em; color:#fff; display:none; }
@media (min-width:768px){ .brand-subtitle-mobile{display:none;} .brand-subtitle-desktop{display:flex; flex-direction:column;} }
.site-header-actions { color:#fff; }
.site-header-icon-button { color:#fff; }
.site-header-icon-button:hover,
.site-header-icon-button:focus-visible { color:var(--color-chart-red); outline:none; }
.language-switcher { align-items:center; gap:.35rem; color:var(--color-accent); font-family:var(--font-sans); font-size:.875rem; font-weight:500; line-height:1; letter-spacing:.1em; text-transform:uppercase; }
.language-switcher__link { display:inline-flex; align-items:center; min-height:1.45rem; padding:.15rem .25rem; color:var(--color-accent); text-decoration:none; transition:color var(--duration-fast) ease, background-color var(--duration-fast) ease; }
.language-switcher__link:hover,
.language-switcher__link:focus-visible { color:var(--color-text); outline:none; }
.language-switcher__current { background:var(--color-chart-red); color:#fff; font-weight:600; }
.language-switcher__separator { color:var(--color-bg-dark); font-weight:400; }
.site-header-main .language-switcher,
.site-header-main .language-switcher__link { color:#fff; }
.site-header-main .language-switcher__link:hover,
.site-header-main .language-switcher__link:focus-visible { color:var(--color-chart-red); }
.site-header-main .language-switcher__current { background:var(--color-chart-red-dark); color:#fff; }
.site-header-main .language-switcher__separator { color:rgba(255,255,255,.72); }
.slash-sep::after { content:"/"; margin-left:.5rem; color:var(--color-accent); }
.slash-sep:last-child::after { content:""; margin:0; }
.nav-menu-toggle { display:inline-flex; align-items:center; }
.primary-nav-row { position:static; flex:1 1 auto; min-width:0; background:var(--color-accent); }
.primary-nav-row-responsive { display:none; }
.primary-nav-inner { min-height:38px; display:flex; align-items:center; justify-content:center; gap:.35rem; }
.primary-nav-item { height:100%; display:flex; align-items:center; }
.primary-nav-trigger,
.primary-nav-link { position:relative; min-height:34px; display:inline-flex; align-items:center; gap:.4rem; padding:.38rem .75rem; border:0; border-radius:var(--radius-sm); background:transparent; color:#fff; font-family:var(--font-sans); font-size:1.05rem; font-weight:400; line-height:1; letter-spacing:.03em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease; }
.primary-nav-cta { min-height:34px; display:inline-flex; align-items:center; justify-content:center; margin-left:.35rem; padding:.42rem .85rem .38rem; border:1px solid var(--color-chart-red); border-radius:var(--radius-sm); background:var(--color-chart-red); color:#fff; font-family:var(--font-sans); font-size:1.05rem; font-weight:600; line-height:1; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease; }
.primary-nav-cta:hover,
.primary-nav-cta:focus-visible { background:var(--color-chart-red-dark); border-color:var(--color-chart-red-dark); color:#fff; outline:none; }
.primary-nav-trigger:hover,
.primary-nav-trigger:focus-visible,
.primary-nav-link:hover,
.primary-nav-link:focus-visible,
.primary-nav-item.is-open .primary-nav-trigger { background:var(--color-chart-red); color:#fff; outline:none; }
.primary-nav-item.is-open .primary-nav-trigger::after { content:""; position:absolute; left:.75rem; right:1.45rem; bottom:.42rem; height:1px; background:#fff; }
.primary-nav-caret { width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; margin-top:2px; }
.primary-nav-mega { position:absolute; left:0; right:0; top:100%; min-height:80px; background:var(--color-accent); box-shadow:0 10px 18px rgba(16,40,44,.16); opacity:0; visibility:hidden; transform:translateY(-4px); pointer-events:none; transition:opacity .24s ease, transform .24s ease, visibility 0s linear 0s; }
.primary-nav-item.is-open .primary-nav-mega { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; transition-delay:0s; }
.primary-nav-mega-inner { min-height:80px; display:flex; flex-wrap:wrap; align-items:center; align-content:center; justify-content:flex-start; gap:.8rem 1.5rem; padding-top:1rem; padding-bottom:1rem; }
.primary-nav-mega a { color:#fff; font-family:var(--font-sans); font-size:1.2rem; font-weight:500; line-height:1.2; max-width:12rem; overflow-wrap:anywhere; text-align:left; text-decoration:none; }
.primary-nav-mega a:hover,
.primary-nav-mega a:focus-visible { color:var(--color-chart-red); outline:none; }
.menu-panel { border:1px solid var(--color-bg-dark); background:var(--color-bg-light); }
.menu-title { font-family:var(--font-display); font-style:italic; }
.menu-link { font-family:var(--font-display); font-size:1.85rem; line-height:1.08; font-weight:700; color:var(--color-text-muted); }
@media (min-width:768px){ .menu-link{ font-size:2.15rem; } }
.mobile-menu-child-link { display:block; font-family:var(--font-sans); font-size:1.2rem; line-height:1.2; color:var(--color-text-muted); overflow-wrap:anywhere; text-decoration:none; text-transform:uppercase; letter-spacing:.03em; }
@media (min-width:768px){ .mobile-menu-child-link{ font-size:1.35rem; } }
.utility-link { font-family:var(--font-display); color:var(--color-text-muted); }
.social-pill { width:1.8rem; height:1.8rem; border:1px solid var(--color-text-muted); border-radius:var(--radius-pill); display:inline-flex; align-items:center; justify-content:center; }
body.menu-open { overflow:hidden; touch-action:none; }
@media (max-width:767px){
  .menu-panel{ border-left:none; border-right:none; border-bottom:none; }
  #siteMenuPanel { -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
}
@media (min-width:768px) and (max-width:819px){
  #siteMenuPanel { left:0 !important; right:0 !important; width:auto !important; height:100dvh !important; overflow-y:auto !important; }
  #siteMenuPanel .menu-panel { min-height:100dvh !important; border-left:none; border-right:none; border-bottom:none; }
}
@media (min-width:1024px){
  .nav-menu-toggle { display:none; }
  .primary-nav-row-responsive { display:block; }
}
@media (min-width:1024px) and (max-width:1180px){
  .site-header-layout { gap:.85rem; }
  .primary-nav-inner { justify-content:flex-end; gap:.15rem; }
  .primary-nav-trigger,
  .primary-nav-link { font-size:.9rem; padding:.34rem .45rem; letter-spacing:.02em; }
  .primary-nav-cta { font-size:.9rem; margin-left:.15rem; padding:.38rem .5rem .34rem; letter-spacing:.04em; }
  .site-header-actions { gap:.55rem !important; }
  .language-switcher { font-size:.8rem; gap:.18rem; letter-spacing:.08em; }
}

.accordion-item { position: relative; }
.accordion-toggle { cursor: pointer; display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.accordion-toggle:hover .accordion-icon { transform: rotate(45deg); }
.accordion-icon { transition: transform var(--duration-base) ease; font-size:1.2em; line-height:1; }
.submenu { overflow:hidden; max-height:0; opacity:0; transform:translateY(-4px); transition:max-height var(--duration-panel) ease, opacity .24s ease, transform .24s ease; margin:0; padding-left:.75rem; list-style:none; }
.submenu.open { opacity:1; transform:translateY(0); }
.submenu-link { display:block; padding:.3rem 0; font-size:1.05rem; }
.accordion-item.active > .accordion-toggle .accordion-icon { transform: rotate(45deg); }
.cluster-toggle { display:inline-flex; align-items:center; gap:.3rem; padding:.4rem .8rem; background:var(--color-chart-red); border-radius:var(--radius-sm); color:#fff; font-family:var(--font-sans); text-transform:uppercase; letter-spacing:.12em; font-size:.92rem; line-height:1; }
.cluster-arrow { font-size:1rem !important; transition: transform var(--duration-fast) ease; }
.cluster-toggle[aria-expanded="true"] .cluster-arrow { transform: rotate(180deg); }
.cluster-item { display:inline-flex; align-items:center; gap:.55rem; padding:.55rem .75rem; background:#fff; color:var(--color-text); text-decoration:none; border-radius:var(--radius-sm); font-family:var(--font-sans); letter-spacing:.01em; }
.cluster-item.is-active { background:var(--color-text); color:#fff; }
.cluster-item.is-disabled { opacity:.45; pointer-events:none; }
.cluster-num { font-weight:700; font-size:.8rem; min-width:1.25rem; text-align:center; border:1px solid currentColor; border-radius:var(--radius-pill); line-height:1.15rem; }
.cluster-label { font-size:.95rem; line-height:1; text-transform:uppercase; white-space:nowrap; }
.cluster-panel { overflow:hidden; max-height:0; opacity:0; transform: translateY(-4px); pointer-events:none; transition:max-height var(--duration-panel) ease, opacity .24s ease, transform .24s ease; }
.cluster-panel.is-open { opacity:1; transform: translateY(0); pointer-events:auto; }

.toc-link { display:block; color:var(--color-text); text-decoration:none; padding:.3rem .5rem; border-left:3px solid transparent; border-radius:var(--radius-sm); transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background-color var(--duration-fast) ease; }
.toc-link:hover { color:var(--color-chart-red); background-color:var(--color-bg-light); }
.toc-link.is-active { color:var(--color-chart-red); border-left-color:var(--color-chart-red); background-color:var(--color-bg-light); font-weight:600; }
@media (min-width: 768px) { .sidebar-sticky { position: sticky; top: var(--header-height, 0px); } }
@media (min-width: 1024px) { .sidebar-align-lead { margin-top: var(--sidebar-start-offset, 0px); } }
.prose p { font-size:1.3rem; line-height:1.75; }
.prose h3 { font-family:var(--font-sans); font-size:2rem; color:var(--color-accent-dark); text-transform:uppercase; margin-top:2.8rem; margin-bottom:.9rem; }
.prose h4 { font-family:var(--font-sans); font-size:1.55rem; color:var(--color-accent-dark); text-transform:uppercase; margin-top:2.2rem; margin-bottom:.7rem; }
.umlac-card-arrow { width:2.2rem; height:2.2rem; border-radius:var(--radius-pill); background:transparent; color:var(--color-chart-red); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.umlac-card-arrow svg { display:block; width:2.2rem; height:2.2rem; }
.rounded-hero-xl {
  border-top-left-radius:300px;
  border-top-right-radius:3.75rem;
  border-bottom-right-radius:3.75rem;
  border-bottom-left-radius:3.75rem;
}
.hero-media-overlay { position:relative; isolation:isolate; }
.hero-media-overlay::before {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(254, 224, 138, .09);
  z-index:1;
  pointer-events:none;
}
.hero-media-overlay::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.32;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.78'/%3E%3C/svg%3E");
}
.umlac-cta { display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-sans); font-size:1.5rem; line-height:1; padding:1rem 1.5rem; border-radius:var(--radius-sm); text-decoration:none; transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease; }
.umlac-cta-primary { background:var(--color-chart-red); color:#fff; border:1px solid var(--color-chart-red); font-weight:500; }
.umlac-cta-primary:hover { background:var(--color-chart-red-dark); border-color:var(--color-chart-red-dark); color:#fff; }
.umlac-cta-secondary { background:transparent; color:var(--color-heading-dark); border:1px solid var(--color-border-subtle); font-weight:500; }
.umlac-cta-secondary:hover { border-color:var(--color-chart-red); color:var(--color-chart-red); }
.umlac-cta-muted { background:var(--color-chart-red); color:#fff; border:1px solid var(--color-chart-red); font-weight:500; }
.umlac-cta-muted:hover { background:var(--color-chart-red-dark); border-color:var(--color-chart-red-dark); color:#fff; }
.data-page-ctas { display:flex; flex-wrap:wrap; gap:clamp(1.2rem, 2.4vw, 1.8rem); align-items:stretch; }
.data-page-ctas--cluster .umlac-cta { box-sizing:border-box; flex:0 1 clamp(13.5rem, 24vw, 18rem); min-height:4.25rem; max-width:100%; white-space:normal; text-align:center; line-height:1.15; }
.umlac-form-status { min-height:1.35rem; margin:0; font-family:var(--font-sans); font-size:1rem; line-height:1.35; }
.umlac-form-status[data-tone="success"] { color:var(--color-bg-light); }
.umlac-form-status[data-tone="error"] { display:block; padding:.75rem .9rem; background:color-mix(in srgb, var(--color-chart-red) 14%, #fff); color:var(--color-chart-red-dark); border:1px solid color-mix(in srgb, var(--color-chart-red) 42%, #fff); font-weight:600; }
.umlac-newsletter-form .umlac-form-status[data-tone="success"] {
  display:block;
  padding:.85rem 1rem;
  background:color-mix(in srgb, var(--color-accent-soft) 24%, var(--color-bg-light));
  color:var(--color-accent-dark);
  border:1px solid var(--color-accent-soft);
  font-size:1.25rem;
  font-weight:600;
  line-height:1.3;
}
body.umlac-modal-open { overflow:hidden; }
.umlac-modal-backdrop { position:fixed; inset:0; z-index:70; background:rgba(16,40,44,.52); backdrop-filter:blur(3px); }
.umlac-inquiry-modal { position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; padding:.75rem; overflow-y:auto; }
.umlac-modal-backdrop[hidden],
.umlac-inquiry-modal[hidden] { display:none; }
.umlac-inquiry-modal__shell { width:min(100%, 39rem); max-height:min(88dvh, 46rem); overflow-y:auto; background:var(--color-accent); border:1px solid var(--color-accent); box-shadow:0 20px 54px rgba(16,40,44,.22); }
.umlac-inquiry-modal__header { position:sticky; top:0; z-index:1; display:flex; justify-content:space-between; gap:.85rem; align-items:flex-start; padding:1rem clamp(1rem, 3vw, 1.4rem); border-bottom:1px solid rgba(255,255,255,.28); background:var(--color-accent); }
.umlac-inquiry-modal__eyebrow { display:none; font-style: normal; }
.umlac-inquiry-modal h2 { margin:0; font-family:var(--font-display); font-size:clamp(1.55rem, 5vw, 2.05rem); line-height:1.05; color:#fff; }
.umlac-inquiry-modal[data-inquiry-state="success"] .umlac-inquiry-modal__header > div { display:none; }
.umlac-inquiry-modal[data-inquiry-state="success"] .umlac-inquiry-modal__header { justify-content:flex-end; }
.umlac-inquiry-modal__close { display:inline-flex; width:2.25rem; height:2.25rem; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid var(--color-chart-red); border-radius:var(--radius-sm); background:var(--color-chart-red); color:#fff; cursor:pointer; }
.umlac-inquiry-modal__close:hover,
.umlac-inquiry-modal__close:focus-visible { border-color:var(--color-chart-red-dark); background:var(--color-chart-red-dark); color:#fff; outline:none; }
.umlac-inquiry-form { display:grid; gap:.8rem; padding:clamp(1rem, 3vw, 1.4rem); }
.umlac-inquiry-form__grid { display:grid; grid-template-columns:1fr; gap:.8rem; }
.umlac-inquiry-form label,
.umlac-inquiry-form fieldset { min-width:0; }
.umlac-inquiry-form label:not(.umlac-inquiry-form__consent):not(:has(input[type="radio"])) { position:relative; display:block; }
.umlac-inquiry-form label > span,
.umlac-inquiry-form legend { display:block; margin-bottom:.3rem; font-family:var(--font-sans); font-size:.8rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--color-text-body); }
.umlac-inquiry-form .umlac-required-marker { color:var(--color-chart-red); font-size:2em; line-height:.5; vertical-align:-.18em; }
.umlac-inquiry-form label:not(.umlac-inquiry-form__consent):not(:has(input[type="radio"])) > span { position:absolute; top:.45rem; left:.72rem; z-index:1; margin:0; font-size:.64rem; line-height:1; letter-spacing:.08em; color:var(--color-text-muted); pointer-events:none; }
.umlac-inquiry-form input,
.umlac-inquiry-form select,
.umlac-inquiry-form textarea { width:100%; border:1px solid var(--color-border-subtle); border-radius:var(--radius-sm); background:#fff; color:var(--color-text-body); font-family:var(--font-sans); font-size:.95rem; line-height:1.3; }
.umlac-inquiry-form label:not(.umlac-inquiry-form__consent):not(:has(input[type="radio"])) > input,
.umlac-inquiry-form label:not(.umlac-inquiry-form__consent):not(:has(input[type="radio"])) > select,
.umlac-inquiry-form label:not(.umlac-inquiry-form__consent):not(:has(input[type="radio"])) > textarea { padding-top:1.35rem; padding-bottom:.45rem; }
.umlac-inquiry-form textarea { resize:vertical; }
.umlac-inquiry-form input:focus,
.umlac-inquiry-form select:focus,
.umlac-inquiry-form textarea:focus { border-color:var(--color-accent); outline:2px solid color-mix(in srgb, var(--color-accent) 24%, transparent); outline-offset:1px; box-shadow:none; }
.umlac-inquiry-form fieldset { position:relative; display:flex; flex-wrap:wrap; align-items:end; min-height:3.35rem; gap:.35rem .85rem; padding:1.35rem .8rem .45rem; border:1px solid var(--color-border-subtle); border-radius:var(--radius-sm); background:#fff; }
.umlac-inquiry-form fieldset legend { position:absolute; top:.45rem; left:.72rem; margin:0; font-size:.64rem; line-height:1; letter-spacing:.08em; color:var(--color-text-muted); }
.umlac-inquiry-form fieldset label { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--font-sans); font-size:.85rem; line-height:1.1; color:var(--color-text-body); }
.umlac-inquiry-form fieldset input,
.umlac-inquiry-form__consent input { width:1rem; height:1rem; flex:0 0 auto; margin-top:.15rem; }
.umlac-inquiry-form__consent { display:flex; align-items:flex-start; gap:.65rem; padding-top:.1rem; }
.umlac-inquiry-form label.umlac-inquiry-form__consent > span { margin:0; font-size:.85rem; line-height:1.38; text-transform:none; letter-spacing:0; font-weight:400; color:#fff; }
.umlac-inquiry-form__actions { display:flex; flex-direction:column; gap:.65rem; align-items:flex-start; padding-top:.25rem; }
.umlac-inquiry-form__actions .umlac-cta { gap:.55rem; }
.umlac-inquiry-form__actions .umlac-cta .material-symbols-outlined { font-size:.9rem; line-height:1; transition:transform var(--duration-fast) ease; }
.umlac-inquiry-form__actions .umlac-cta:hover,
.umlac-inquiry-form__actions .umlac-cta:focus-visible { transform:translateY(-1px); }
.umlac-inquiry-form__actions .umlac-cta:hover .material-symbols-outlined,
.umlac-inquiry-form__actions .umlac-cta:focus-visible .material-symbols-outlined { transform:translateX(.18rem); }
.umlac-inquiry-form__actions .umlac-form-status[data-tone="success"] { color:var(--color-accent); }
.umlac-inquiry-form__actions .umlac-form-status[data-tone="error"] { width:100%; }
.umlac-inquiry-thank-you { display:grid; justify-items:start; gap:1rem; padding:clamp(1.25rem, 4vw, 2rem); color:#fff; }
.umlac-inquiry-thank-you[hidden] { display:none; }
.umlac-inquiry-thank-you__mark { display:flex; width:3rem; height:3rem; align-items:center; justify-content:center; border-radius:var(--radius-pill); background:var(--color-chart-red); color:#fff; }
.umlac-inquiry-thank-you__mark .material-symbols-outlined { font-size:1.75rem; line-height:1; }
.umlac-inquiry-thank-you h3 { margin:0; font-family:var(--font-display); font-size:2.35rem; line-height:1; color:#fff; }
.umlac-inquiry-thank-you p { margin:0; max-width:32rem; font-family:var(--font-display); font-size:1.35rem; line-height:1.42; color:#fff; }
.umlac-inquiry-thank-you__reference { padding:.7rem .85rem; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); font-family:var(--font-sans) !important; font-size:.95rem !important; line-height:1.35 !important; }
@media (min-width:720px) {
  .umlac-inquiry-form__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .umlac-inquiry-form__grid--phone { grid-template-columns:minmax(0, 1.1fr) minmax(14rem, .9fr); }
}
.umlac-contact-form-section { padding:0 clamp(1rem, 4vw, 2rem) clamp(4rem, 8vw, 6rem); }
.umlac-contact-form-shell { width:min(100%, 56rem); margin:0 auto; background:#fff; border:0; border-radius:2px; box-shadow:0 18px 44px rgba(16,40,44,.1); }
.umlac-contact-form { display:grid; gap:1rem; padding:clamp(1rem, 3vw, 1.6rem); }
.umlac-contact-form[hidden],
.umlac-contact-thank-you[hidden] { display:none; }
.umlac-contact-form__grid { display:grid; grid-template-columns:1fr; gap:1rem; }
.umlac-contact-form label:not(.umlac-contact-form__consent) { position:relative; display:block; min-width:0; }
.umlac-contact-form label:not(.umlac-contact-form__consent) > span { position:absolute; top:.5rem; left:.72rem; z-index:1; margin:0; font-family:var(--font-sans); font-size:.64rem; font-weight:600; line-height:1; letter-spacing:.08em; text-transform:uppercase; color:var(--color-text-muted); pointer-events:none; }
.umlac-contact-form .umlac-required-marker { color:var(--color-chart-red); font-size:2em; line-height:.5; vertical-align:-.18em; }
.umlac-contact-form input,
.umlac-contact-form select,
.umlac-contact-form textarea { width:100%; border:2px solid var(--color-accent); border-radius:2px; background:#fff; color:var(--color-text-body); font-family:var(--font-sans); font-size:.98rem; line-height:1.35; }
.umlac-contact-form input,
.umlac-contact-form select { min-height:3.35rem; padding:1.35rem .72rem .45rem; }
.umlac-contact-form textarea { min-height:10rem; padding:1.45rem .72rem .65rem; resize:vertical; }
.umlac-contact-form input:focus,
.umlac-contact-form select:focus,
.umlac-contact-form textarea:focus { border-color:var(--color-chart-red); outline:2px solid color-mix(in srgb, var(--color-chart-red) 24%, transparent); outline-offset:1px; box-shadow:none; }
.umlac-contact-form__hint { margin:-.25rem 0 .1rem; padding:.75rem .85rem; background:color-mix(in srgb, var(--color-bg-light) 72%, #fff); border:1px solid var(--color-border-subtle); color:var(--color-text-body); font-family:var(--font-sans); font-size:.95rem; line-height:1.4; }
.umlac-contact-form__hint a { color:var(--color-chart-red); text-decoration:none; transition:color var(--duration-fast) ease; }
.umlac-contact-form__hint a:hover,
.umlac-contact-form__hint a:focus-visible { color:var(--color-accent-dark); outline:none; }
.umlac-contact-form__consent { display:flex; align-items:flex-start; gap:.65rem; color:var(--color-text-body); }
.umlac-contact-form__consent input { width:1rem; height:1rem; min-height:1rem; flex:0 0 auto; margin-top:.18rem; padding:0; }
.umlac-contact-form__consent span { font-family:var(--font-sans); font-size:.9rem; line-height:1.42; color:var(--color-text-body); }
.umlac-contact-form__actions { display:flex; flex-direction:column; gap:.65rem; align-items:flex-start; padding-top:.25rem; }
.umlac-contact-form__actions .umlac-cta { gap:.55rem; }
.umlac-contact-form__actions .umlac-cta .material-symbols-outlined { font-size:.9rem; line-height:1; transition:transform var(--duration-fast) ease; }
.umlac-contact-form__actions .umlac-cta:hover,
.umlac-contact-form__actions .umlac-cta:focus-visible { transform:translateY(-1px); }
.umlac-contact-form__actions .umlac-cta:hover .material-symbols-outlined,
.umlac-contact-form__actions .umlac-cta:focus-visible .material-symbols-outlined { transform:translateX(.18rem); }
.umlac-contact-form__actions .umlac-form-status[data-tone="error"] { width:100%; }
.umlac-contact-thank-you { display:grid; justify-items:start; gap:1rem; padding:clamp(1.25rem, 4vw, 2rem); color:var(--color-text-body); }
.umlac-contact-thank-you__mark { display:flex; width:3rem; height:3rem; align-items:center; justify-content:center; border-radius:var(--radius-pill); background:var(--color-chart-red); color:#fff; }
.umlac-contact-thank-you__mark .material-symbols-outlined { font-size:1.75rem; line-height:1; }
.umlac-contact-thank-you h2 { margin:0; font-family:var(--font-display); font-size:2.35rem; line-height:1; color:var(--color-accent-dark); }
.umlac-contact-thank-you p { margin:0; max-width:34rem; font-family:var(--font-display); font-size:1.35rem; line-height:1.42; color:var(--color-text-body); }
.umlac-contact-thank-you__reference { padding:.7rem .85rem; background:color-mix(in srgb, var(--color-bg-light) 72%, #fff); border:1px solid var(--color-border-subtle); font-family:var(--font-sans) !important; font-size:.95rem !important; line-height:1.35 !important; }
@media (min-width:720px) {
  .umlac-contact-form__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
.cta-panel {
  margin-block: 5rem;
  padding-block: 3.5rem;
}
.cta-panel--bordered {
  border-top: 1px solid var(--color-accent);
  border-bottom: 0;
}
.cta-panel--split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.cta-panel__media {
  min-height: clamp(22rem, 34vw, 34rem);
  overflow: hidden;
  border-radius: 3.75rem;
  background: var(--color-bg-light);
}
.cta-panel__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}
.cta-panel__title {
  margin: 0 0 clamp(2.5rem, 4vw, 3rem);
  color: var(--color-chart-red);
  font-family: var(--font-sans);
  font-size: clamp(1.5rem, 2.2vw, 1.875rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0;
  text-transform: uppercase;
}
.cta-panel__body {
  max-width: 64rem;
  margin: 0 0 clamp(2rem, 3vw, 2.5rem);
  color: var(--color-text-body);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  line-height: 1.35;
}
.cta-panel__body strong {
  font-weight: 700;
}
.cta-panel--program-stack {
  margin-top: var(--space-16);
  border-top: 1px solid var(--color-accent);
}
.cta-panel--program-stack .cta-panel__media {
  aspect-ratio: 27 / 9;
  min-height: 0;
  margin-bottom: clamp(2.75rem, 5vw, 4rem);
  border-radius: 2rem;
}
.cta-panel--program-stack .cta-panel__media img {
  min-height: 0;
}
.cta-panel--program-stack .cta-panel__body {
  margin-bottom: 2rem;
}
.pro-program-cta-stack__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem .85rem;
  align-items: stretch;
}
.pro-program-cta-stack__actions .umlac-cta {
  flex: 1 1 18rem;
  min-width: min(100%, 18rem);
  min-height: 3.25rem;
  justify-content: center;
  text-align: center;
}
.pro-article-nav {
  margin: var(--space-16) 0 var(--space-12);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--color-border-subtle);
  border-bottom: 1px solid var(--color-border-subtle);
}
.pro-article-nav__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
  align-items: stretch;
}
.pro-article-nav__slot {
  min-width: 0;
}
.pro-article-nav__link,
.pro-article-nav__index {
  display: flex;
  min-height: 3.4rem;
  align-items: center;
  gap: .75rem;
  color: var(--color-text);
  font-family: var(--font-sans);
  text-decoration: none;
  transition: color var(--duration-fast) ease, transform var(--duration-fast) ease;
}
.pro-article-nav__link:hover,
.pro-article-nav__link:focus-visible,
.pro-article-nav__index:hover,
.pro-article-nav__index:focus-visible {
  color: var(--color-chart-red);
  transform: translateY(-1px);
}
.pro-article-nav__link--next {
  justify-content: flex-end;
  text-align: right;
}
.pro-article-nav__meta {
  display: block;
  color: var(--color-chart-red);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.pro-article-nav__label {
  display: block;
  margin-top: .2rem;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.15;
}
.pro-article-nav__icon,
.pro-article-nav__index-icon {
  flex: 0 0 auto;
  color: currentColor;
  font-size: 1.55rem !important;
  line-height: 1;
}
.pro-article-nav__icon {
  transform: translateY(.18rem);
}
.pro-article-nav__index {
  justify-content: center;
  padding: .8rem 1rem;
  border: 1px solid var(--color-chart-red);
  border-radius: var(--radius-sm);
  color: var(--color-chart-red);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}
.pro-article-nav__index:hover,
.pro-article-nav__index:focus-visible {
  background: color-mix(in srgb, var(--color-chart-red) 8%, #fff);
}
.pro-program-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 1rem;
  margin: var(--space-10) 0 var(--space-12);
}
.pro-program-card {
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border: 1px solid var(--color-border-subtle);
  border-radius: 8px;
  background: var(--color-paper);
}
.pro-program-card__title {
  margin: 0 0 1rem;
  color: var(--color-chart-red);
  font-family: var(--font-sans);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.pro-program-card__linkline {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.8vw, 1.45rem);
  line-height: 1.25;
}
.pro-program-card__linkline a {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  color: var(--color-link-default);
  text-decoration: none;
}
.pro-program-card__linkline a img {
  position: relative;
  top: .16em;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}
.pro-program-card__linkline a:hover,
.pro-program-card__linkline a:focus-visible {
  color: var(--color-link-hover);
}
.pro-dossier-rows {
  display: grid;
  gap: .9rem;
  margin: var(--space-12) 0;
}
.pro-dossier-row {
  display: grid;
  grid-template-columns: minmax(18rem, .38fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.25rem);
  align-items: center;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid var(--color-border-subtle);
  border-radius: 2px;
  color: var(--color-text-body);
  text-decoration: none;
  transition:
    background-color var(--duration-fast) ease,
    border-color var(--duration-fast) ease,
    transform var(--duration-fast) ease;
}
.pro-dossier-row:hover,
.pro-dossier-row:focus-visible {
  background: color-mix(in srgb, var(--color-bg-light) 58%, #fff);
  border-color: var(--color-accent-soft);
  color: var(--color-text-body);
  outline: none;
  transform: translateX(.18rem);
}
.pro-dossier-row:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);
}
.pro-dossier-row__title {
  color: var(--color-chart-red);
  font-family: var(--font-sans);
  font-size: clamp(2.3rem, 4.2vw, 3.35rem);
  font-weight: 600;
  line-height: .95;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}
.pro-dossier-row__summary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 2.5vw, 1.5rem);
  color: var(--color-text-body);
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  line-height: 1.35;
}
.pro-dossier-row__summary img {
  position: relative;
  top: .08em;
  width: 1.1em;
  height: 1.1em;
  flex: 0 0 auto;
  transition: transform var(--duration-fast) ease;
}
.pro-dossier-row:hover .pro-dossier-row__summary img,
.pro-dossier-row:focus-visible .pro-dossier-row__summary img {
  transform: translateX(.25rem);
}
.pro-article-index {
  margin-top: clamp(2rem, 5vw, 3.5rem);
}
.pro-article-index__heading {
  margin: 0 0 1rem;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: clamp(1.55rem, 2.6vw, 2.05rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0;
}
.pro-article-index__rows {
  margin-top: 0;
}
.pro-article-index__row .pro-dossier-row__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  color: var(--color-muted);
  font-size: 1rem;
  gap: .5rem 1rem;
  line-height: 1.45;
}
.pro-article-index__row .pro-dossier-row__title {
  color: var(--color-chart-red);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.12;
  text-transform: none;
  white-space: normal;
}
.pro-article-index__ordinal {
  color: var(--color-accent);
  flex: 0 0 auto;
  font-family: var(--font-sans);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
  white-space: nowrap;
}
.pro-article-index__blurb {
  color: var(--color-text-body);
  min-width: 0;
}
.article__body h2 {
  margin: 2.6rem 0 1.15rem;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: clamp(1.55rem, 2.6vw, 2.05rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0;
}
.data-page-body p:has(> em:only-child),
.article__body p:has(> em:only-child) {
  margin: 2.1rem 0 .9rem;
}
.data-page-body p > em:only-child,
.article__body p > em:only-child {
  color: var(--color-accent);
  font-family: var(--font-sans);
  font-size: clamp(1.25rem, 2.1vw, 1.65rem);
  font-style: normal;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .cta-panel {
    margin-block: 6rem;
    padding-block: 4rem;
  }
  .pro-article-nav__row {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .pro-article-nav__row--index-only {
    grid-template-columns: auto;
    justify-content: center;
  }
}
@media (min-width: 1024px) {
  .cta-panel {
    margin-block: 7rem;
  }
}
@media (max-width: 767px) {
  .pro-dossier-row {
    grid-template-columns: 1fr;
    gap: .85rem;
    transform: none;
  }
  .pro-dossier-row__title {
    white-space: normal;
  }
  .pro-dossier-row:hover,
  .pro-dossier-row:focus-visible {
    transform: none;
  }
  .pro-dossier-row__summary {
    align-items: flex-start;
  }
  .pro-article-index__row .pro-dossier-row__summary {
    grid-template-columns: 1fr auto;
  }
  .pro-article-index__ordinal {
    grid-column: 1 / -1;
  }
  .cta-panel--split {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }
  .cta-panel__media {
    min-height: 20rem;
    border-radius: 2.25rem;
  }
}

/* Data-driven page modules */
.data-page-body h3 { margin: 2.75rem 0 1rem; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 600; line-height: 1.1; text-transform: uppercase; letter-spacing: 0.02em; }
.data-page-body h4 { margin: 2rem 0 .75rem; color: var(--color-accent-dark); font-family: var(--font-sans); font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 600; line-height: 1.15; text-transform: uppercase; letter-spacing: .04em; }
.data-page-summary-media { aspect-ratio: 27 / 9; overflow: hidden; margin: 2rem 0 0; border-radius: 3.75rem; background: var(--color-bg-light); }
.data-page-summary-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.umlac-captioned-media { overflow: hidden; margin-bottom: var(--space-16); border-radius: 3.75rem; background: var(--color-bg-light); }
.umlac-captioned-media img { display: block; width: 100%; aspect-ratio: 27 / 9; object-fit: cover; background: var(--color-bg-light); }
.umlac-captioned-media figcaption { position: relative; z-index: 3; padding: 1rem 2rem 1.35rem; background: var(--color-bg-light); font-family: var(--font-sans); font-size: 1.0625rem; line-height: 1.55; color: var(--color-text-muted); }
.umlac-captioned-media figcaption::before { content: "⸺"; display: inline-block; margin-right: 0.5rem; color: var(--color-chart-red); font-weight: 600; }
.umlac-captioned-media-plain img { display: block; width: 100%; aspect-ratio: 27 / 9; object-fit: cover; border-radius: 3.75rem; }
.umlac-captioned-media-plain figcaption { padding: 1rem 2rem 0; font-family: var(--font-sans); font-size: 1.0625rem; line-height: 1.55; color: var(--color-text-muted); }
.umlac-captioned-media-plain figcaption::before { content: "⸺"; display: inline-block; margin-right: 0.5rem; color: var(--color-chart-red); font-weight: 600; }
.umlac-captioned-media-plain::before,
.umlac-captioned-media-plain::after { content: none; }
.umlac-captioned-media-plain { margin-bottom: var(--space-16); }
.data-page-intro-media { max-width: 48rem; }
.data-page-body a { display: inline-flex; align-items: center; gap: .45rem; }
.data-page-body a img { width: 1em; height: 1em; flex: 0 0 auto; }
.data-page-body a img[src="/docs/arrow-right.svg"] { filter: none; }
.data-page-body p { margin: 0 0 1.35rem; }
.data-page-body ul,
.data-page-body ol { margin: 0 0 1.5rem 1.35rem; padding-left: 1rem; }
.data-page-body ul { list-style: disc; }
.data-page-body ol { list-style: decimal; }
.data-page-body li { margin: 0 0 .7rem; padding-left: .25rem; }
.data-page-body table { width: 100%; margin: 2rem 0; border-collapse: collapse; font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.35; }
.data-page-body th,
.data-page-body td { border-bottom: 1px solid var(--color-border-subtle); padding: .85rem .75rem; text-align: left; vertical-align: top; }
.data-page-body th { color: var(--color-text); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.legal-page-body { font-size: clamp(1.125rem, 1.6vw, 1.35rem); line-height: 1.65; }
.legal-page-body h2 { margin: 3rem 0 1rem; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(1.5rem, 2.45vw, 2rem); font-weight: 650; line-height: 1.15; text-transform: uppercase; letter-spacing: .02em; }
.legal-page-body h2:first-child { margin-top: 0; }
.legal-page-body h3 { margin: 1.65rem 0 .55rem; color: var(--color-accent-dark); font-size: clamp(1.35rem, 2vw, 1.65rem); font-weight: 600; line-height: 1.2; text-transform: none; letter-spacing: 0; }
.legal-page-body p { margin-bottom: 1rem; }
.legal-page-body ul,
.legal-page-body ol { margin-bottom: 1.15rem; }
.legal-page-body li { margin-bottom: .45rem; }
.legal-page-body .legal-address { display: grid; gap: .75rem; margin: .65rem 0 0; color: var(--color-text); font-style: normal; }
.legal-address__identity,
.legal-address__location,
.legal-address__contacts { display: grid; gap: .15rem; }
.legal-address__identity span,
.legal-address__location span { display: block; }
.legal-address__contact-row { display: flex; flex-wrap: wrap; gap: .35rem .5rem; }
.legal-address__contact-row > span:first-child::after { content: ":"; }
.legal-address__actions { display: flex; flex-wrap: wrap; gap: .45rem 1.25rem; margin-top: .2rem; font-size: .78em; }
.umlac-confirmation-panel { display:grid; grid-template-columns:auto 1fr; gap:1.2rem; align-items:flex-start; padding:clamp(1.25rem, 4vw, 2rem); background:color-mix(in srgb, var(--color-accent-soft) 18%, var(--color-bg-light)); border:1px solid var(--color-accent-soft); }
.umlac-confirmation-panel__mark { display:flex; width:3rem; height:3rem; align-items:center; justify-content:center; background:var(--color-accent); color:#fff; border-radius:999px; }
.umlac-confirmation-panel__mark .material-symbols-outlined { font-size:1.75rem; line-height:1; }
.umlac-confirmation-panel h2 { margin:0 0 .75rem; color:var(--color-accent-dark); font-family:var(--font-display); font-size:2.35rem; line-height:1; }
.umlac-confirmation-panel p { margin:0 0 1.25rem; max-width:42rem; color:var(--color-text); font-family:var(--font-display); font-size:1.35rem; line-height:1.45; }
@media (max-width: 520px) { .umlac-confirmation-panel h2 { font-size:2rem; } .umlac-confirmation-panel p { font-size:1.2rem; } }
@media (max-width: 520px) { .umlac-confirmation-panel { grid-template-columns:1fr; } }

/* Shared green accordions used by program and faculty modules */
.data-page-accordion,
.docentes-master,
.faculty-accordion { background: var(--color-bg-light); }
.data-page-accordion { border-top: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted); padding-inline: clamp(1rem, 2vw, 1.5rem); }
.data-page-accordion + .data-page-accordion { margin-top: .875rem; }
.data-page-accordion summary,
.docentes-master__summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; color: var(--color-text); font-family: var(--font-sans); font-weight: 600; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; list-style: none; }
.data-page-accordion summary { padding: 1.15rem 0; font-size: clamp(1.45rem, 2.4vw, 2rem); transition: color var(--duration-fast) ease; }
.data-page-accordion summary::-webkit-details-marker,
.docentes-master__summary::-webkit-details-marker { display: none; }
.data-page-accordion summary:hover,
.data-page-accordion summary:focus-visible,
.data-page-accordion[open] summary { color: var(--color-accent); }
.data-page-accordion__icon,
.docentes-master__icon { position: relative; width: 1.25rem; height: 1.25rem; flex: 0 0 auto; transition: transform .24s ease; }
.data-page-accordion__icon::before,
.data-page-accordion__icon::after,
.docentes-master__icon::before,
.docentes-master__icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 1.25rem; height: 2px; background: var(--color-chart-red); transform: translate(-50%, -50%); transition: transform .24s ease, opacity .24s ease; }
.data-page-accordion__icon::after,
.docentes-master__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.data-page-accordion[open] .data-page-accordion__icon,
.docentes-master[open] .docentes-master__icon { transform: rotate(180deg); }
.data-page-accordion[open] .data-page-accordion__icon::after,
.docentes-master[open] .docentes-master__icon::after { opacity: 0; transform: translate(-50%, -50%) rotate(90deg) scaleX(.2); }
.data-page-accordion__body,
.docentes-master__content,
.faculty-accordion__body { opacity: 0; transform: translateY(-4px); }
.data-page-accordion__body { padding: .25rem 0 1.75rem; }
.data-page-accordion[open] .data-page-accordion__body,
.docentes-master[open] .docentes-master__content,
.faculty-accordion[open] .faculty-accordion__body { opacity: 1; transform: translateY(0); transition: opacity .24s ease, transform .24s ease; }
.data-page-accordion__body ul,
.data-page-accordion__body ol { margin-bottom: 0; }
.docentes-master-shell { max-width: 56rem; margin: 0 auto; padding: 0 1rem 5rem; }
@media (min-width: 640px) { .docentes-master-shell { padding-left: 1.5rem; padding-right: 1.5rem; } }
.docentes-master-shell--embedded { max-width: none; padding: 0; margin: 2rem 0; }
.docentes-master { border-top: 1px solid var(--color-border-muted); border-bottom: 1px solid var(--color-border-muted); padding-inline: clamp(1rem, 2vw, 1.5rem); }
.docentes-master__summary { padding: 1.25rem 0; font-size: clamp(1.45rem, 2.6vw, 2.1rem); }
.docentes-master__content { padding: .25rem 0 1.5rem; }
.docentes-master__content h2 { margin: 0 0 .85rem; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(1.35rem, 2.2vw, 1.9rem); font-weight: 600; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; }
.docentes-master__content h2:not(:first-child) { margin-top: 1.75rem; }
.faculty-accordion { border-top: 0; padding-inline: clamp(.65rem, 1.5vw, 1rem); }
.faculty-accordion:last-of-type { border-bottom: 0; }
.faculty-accordion summary { cursor: pointer; padding: .55rem 0; color: var(--color-heading-dark); font-family: var(--font-sans); font-size: clamp(1.1rem, 1.8vw, 1.35rem); font-weight: 600; line-height: 1.2; letter-spacing: .01em; list-style-position: outside; transition: color var(--duration-fast) ease; }
.faculty-accordion summary:hover,
.faculty-accordion summary:focus-visible,
.faculty-accordion[open] summary { color: var(--color-accent); }
.faculty-accordion summary::marker,
.faculty-accordion summary::-webkit-details-marker { color: var(--color-chart-red); }
.faculty-accordion__body { padding: .15rem 0 1.25rem; color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.65; }
.faculty-accordion__body p { color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.65; margin: 0 0 1.35rem; }
.faculty-accordion__body p:last-child { margin-bottom: 0; }
.faculty-accordion__body strong { color: var(--color-heading-dark); font-weight: 600; }
.faculty-director-link { color: inherit; font: inherit; letter-spacing: inherit; line-height: inherit; text-decoration: none; }
.faculty-director-link:hover { color: inherit; }

/* Institutional article shell */
.institutional-shell { max-width: 860px; margin: 0 auto; padding: 0 1.5rem 5rem; }
.institutional-hero { padding: var(--site-post-breadcrumb-space) 0 2rem; margin: 0; }
.institutional-hero-eyebrow { margin: 0 0 1rem; color: var(--color-accent); font-family: var(--font-sans); font-size: .875rem; font-style: normal; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; }
.institutional-hero-date { margin: 0 0 .75rem; color: var(--color-text-body); font-family: var(--font-sans); font-size: .875rem; font-weight: 500; letter-spacing: .12em; line-height: 1.1; text-transform: uppercase; }
.institutional-hero-title { max-width: 720px; margin: 0; color: var(--color-text); font-size: clamp(2.35rem, 5vw, 4.4rem); font-weight: 400; }
.institutional-hero-summary { max-width: 720px; margin: 1.5rem 0 0; color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.45; }
.institutional-content { padding-bottom: 2rem; color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.65; }
.institutional-content h2 { margin-top: 2.5rem; padding-top: .25rem; color: var(--color-accent-dark); }
.institutional-content p { margin: 0 0 1.35rem; }
.institutional-content ul { list-style: disc; padding-left: 1.4rem; margin: 1rem 0 1.8rem; }
.institutional-content li { margin-bottom: .55rem; }
.institutional-content strong { color: var(--color-text); }
.institutional-gallery { margin: 2.75rem 0 0; padding-top: 2rem; border-top: 1px solid var(--color-border-subtle); }
.institutional-gallery-eyebrow { margin: 0 0 .65rem; color: var(--color-accent); font-family: var(--font-sans); font-size: .82rem; letter-spacing: .14em; line-height: 1.1; text-transform: uppercase; }
.institutional-gallery-title { max-width: 680px; margin: 0; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 600; letter-spacing: .02em; line-height: 1.05; text-transform: uppercase; }
.institutional-gallery-summary { max-width: 38rem; margin: .75rem 0 1.4rem; color: var(--color-text-body); font-family: var(--font-display); font-size: 1.18rem; line-height: 1.45; }
.institutional-gallery-grid { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 7.5rem; grid-auto-flow: dense; gap: .75rem; }
.institutional-gallery-item { position: relative; grid-column: span 2; grid-row: span 2; min-width: 0; min-height: 0; margin: 0; overflow: hidden; border-radius: .25rem; background: var(--color-muted); box-shadow: inset 0 0 0 1px rgba(16, 40, 44, .08); outline: 0; }
.institutional-gallery-item--wide { grid-column: span 4; }
.institutional-gallery-item--tall { grid-row: span 3; }
.institutional-gallery-item--feature { grid-column: span 3; grid-row: span 3; }
.institutional-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-medium) ease; }
.institutional-gallery-caption { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: .55rem; padding: 1rem; background: linear-gradient(to top, rgba(8, 31, 35, .88), rgba(8, 31, 35, .5) 48%, rgba(8, 31, 35, .02)); color: #fff; transform: translateY(calc(100% - 2.9rem)); transition: transform var(--duration-medium) ease; }
.institutional-gallery-cue { width: fit-content; border: 1px solid rgba(255, 255, 255, .72); border-radius: .15rem; padding: .18rem .44rem; font-family: var(--font-sans); font-size: .72rem; font-weight: 600; letter-spacing: .12em; line-height: 1.1; text-transform: uppercase; }
.institutional-gallery-caption-text { max-width: 34rem; font-family: var(--font-display); font-size: 1.05rem; line-height: 1.32; opacity: 0; transition: opacity var(--duration-medium) ease; }
.institutional-gallery-item:hover img,
.institutional-gallery-item:focus-visible img { transform: scale(1.035); }
.institutional-gallery-item:hover .institutional-gallery-caption,
.institutional-gallery-item:focus-visible .institutional-gallery-caption { transform: translateY(0); }
.institutional-gallery-item:hover .institutional-gallery-caption-text,
.institutional-gallery-item:focus-visible .institutional-gallery-caption-text { opacity: 1; }
.institutional-gallery-item:focus-visible { box-shadow: 0 0 0 3px var(--color-accent); }
@media (max-width: 760px) {
  .institutional-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 8.25rem; gap: .6rem; }
  .institutional-gallery-item,
  .institutional-gallery-item--wide,
  .institutional-gallery-item--feature { grid-column: span 1; grid-row: span 2; }
  .institutional-gallery-item--tall { grid-column: span 1; grid-row: span 3; }
  .institutional-gallery-caption { padding: .8rem; transform: translateY(calc(100% - 2.65rem)); }
  .institutional-gallery-caption-text { font-size: .98rem; line-height: 1.28; }
}
.press-release-lead-media { margin: 0 0 2rem; }
.press-release-content blockquote { margin: 2rem 0; border-left: .28rem solid var(--color-accent); padding: .25rem 0 .25rem 1.25rem; color: var(--color-text); font-family: var(--font-display); font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.55; }
.press-release-content blockquote p { margin-bottom: 0; }
.press-release-boilerplate,
.press-release-contact { border-top: 1px solid var(--color-border-subtle); padding-top: 1.5rem; margin-top: 1rem; color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1.08rem, 1.6vw, 1.25rem); line-height: 1.55; }
.press-release-boilerplate h2,
.press-release-contact h2 { margin: 0 0 .8rem; color: var(--color-accent-dark); font-family: var(--font-sans); font-size: 1rem; font-weight: 600; letter-spacing: .12em; line-height: 1.15; text-transform: uppercase; }
.press-release-boilerplate p,
.press-release-contact p { margin: 0 0 1rem; }
.press-release-contact a { color: var(--color-accent-dark); text-decoration: underline; text-underline-offset: .18em; }
.press-release-address { border-top: 1px solid var(--color-border-subtle); padding-top: 1.25rem; margin-top: 1.25rem; color: var(--color-text-body); font-family: var(--font-sans); font-size: .95rem; font-style: normal; line-height: 1.45; }

/* Standalone docentes page shell */
.docentes-page-shell { max-width: 56rem; margin: 0 auto; padding: var(--site-post-breadcrumb-space) 1rem 5rem; }
@media (min-width: 640px) { .docentes-page-shell { padding-left: 1.5rem; padding-right: 1.5rem; } }
.docentes-page-hero { border-bottom: 1px solid var(--color-border-muted); padding: 0 0 2rem; margin: 0; }
.docentes-page-hero-eyebrow { margin: 0 0 .75rem; color: var(--color-accent); font-family: var(--font-sans); font-size: .875rem; font-style: normal; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; }
.docentes-page-hero-title { max-width: 760px; margin: 0; color: var(--color-heading-dark); font-family: var(--font-display); font-size: clamp(3rem, 5vw, 3.75rem); font-weight: 400; line-height: .95; }
.docentes-page-content { padding: 2rem 0; }
.docentes-page-content h2 { margin: 0 0 1.5rem; color: var(--color-text-body); font-family: var(--font-sans); font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 600; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; }
.docentes-page-content h2:not(:first-child) { margin-top: 3rem; }

/* News log pages */
.news-log-list { list-style: none; margin: 0; padding: 0; }
.news-log-lead-media { margin-top: 2rem; }
.news-log-item { padding: 2rem 0; border-bottom: 1px solid var(--color-border-subtle); }
.news-log-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .75rem; margin-bottom: .55rem; }
.news-log-date { display: block; color: var(--color-text-body); font-family: var(--font-sans); font-size: .875rem; letter-spacing: .12em; line-height: 1.1; text-transform: uppercase; }
.news-log-badge { display: inline-flex; align-items: center; min-height: 1.35rem; border: 1px solid var(--color-border-muted); border-radius: .15rem; padding: .14rem .42rem; color: var(--color-accent-dark); font-family: var(--font-sans); font-size: .875rem; font-weight: 600; letter-spacing: .12em; line-height: 1.1; text-transform: uppercase; }
.news-log-badge--press-release { border-color: var(--color-accent-dark); background: var(--color-accent-dark); color: #fff; }
.news-log-title { margin: 0; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(1.55rem, 2.6vw, 2.1rem); font-weight: 600; letter-spacing: .02em; line-height: 1.08; text-transform: uppercase; }
.news-log-summary { max-width: 42rem; margin: .7rem 0 0; color: var(--color-text-body); font-family: var(--font-display); font-size: 1.25rem; line-height: 1.4; }

/* Course-facts strip */
.course-facts { padding: 1.75rem 1rem 0; }
.course-facts-inner { max-width: 80rem; margin: 0 auto; padding: 1.5rem 0 0; border-top: 1px solid var(--color-border-subtle); }
.course-facts-eyebrow { margin: 0 0 .5rem; color: var(--color-accent); font-family: var(--font-sans); font-size: .9rem; font-style: normal; line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; }
.course-facts-grid { display: grid; gap: .75rem; margin-top: .75rem; }
.course-facts-grid-critical { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.course-facts-grid-secondary { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); margin-top: .75rem; }
.course-fact-card { min-width: 0; border: 0; border-radius: .25rem; padding: .95rem 1rem; background: var(--color-muted); }
.course-fact-label { margin: 0 0 .35rem; color: var(--color-text-body); font-family: var(--font-sans); font-size: .92rem; line-height: 1.15; letter-spacing: .08em; text-transform: uppercase; }
.course-fact-value { margin: 0; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(1.18rem, 1.6vw, 1.45rem); font-weight: 600; line-height: 1.05; overflow-wrap: anywhere; }
.course-fact-badge { display: inline-flex; align-items: center; width: fit-content; min-height: 1.45rem; margin: .55rem 0 0; padding: .15rem .35rem; border-radius: .125rem; background: var(--color-chart-red); color: #fff; font-family: var(--font-sans); font-size: .75rem; font-weight: 600; line-height: 1; letter-spacing: .1em; text-transform: uppercase; }
.course-fact-detail { margin: .45rem 0 0; color: var(--color-text-body); font-family: var(--font-display); font-size: 1rem; line-height: 1.35; }
.course-fact-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: .65rem; color: var(--color-chart-red); font-family: var(--font-sans); font-size: 1rem; font-weight: 600; line-height: 1; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.course-fact-link:hover,
.course-fact-link:focus-visible { color: var(--color-accent-dark); outline: none; }
.course-fact-link-arrow { display: inline-flex; width: 1rem; height: 1rem; }
.course-fact-link-arrow svg { display: block; width: 100%; height: 100%; }
@media (min-width: 768px) {
  .course-facts { padding-top: 2rem; }
  .course-facts-inner { padding-top: 1.75rem; }
}

/* Formation decision page */
.formacion-decision { margin-top: var(--space-10); }
.formacion-decision__intro { margin-bottom: var(--space-12); color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1.15rem, 1.6vw, 1.375rem); line-height: 1.45; }
.formacion-decision__intro a { color: var(--color-chart-red); text-decoration: none; }
.formacion-decision__intro a:hover,
.formacion-decision__intro a:focus-visible { color: var(--color-accent-dark); outline: none; }
.formacion-decision__paths { display: flex; flex-direction: column; gap: 0; }
.formacion-decision__path { border-top: 1px solid var(--color-accent); padding: clamp(2rem, 4vw, 3rem) 0; }
.formacion-decision__gate { margin-bottom: .5rem; color: var(--color-chart-red); font-family: var(--font-sans); font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.formacion-decision__title { margin: 0 0 1rem; color: var(--color-text-heading, var(--color-text-body)); font-family: var(--font-sans); font-size: clamp(1.1rem, 1.5vw, 1.3rem); font-weight: 600; line-height: 1.15; }
.formacion-decision__descriptor { margin-bottom: 1rem; color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.5; }
.formacion-decision__facts { margin-bottom: 1.75rem; color: var(--color-text-muted); font-family: var(--font-sans); font-size: .85rem; letter-spacing: .04em; }
.formacion-decision .umlac-cta { max-width: 100%; white-space: normal; text-align: center; font-size: clamp(.9375rem, 1.5vw, 1.0625rem); line-height: 1.25; }
.formacion-decision__closing { margin-top: 0; border-top: 1px solid var(--color-accent); padding-top: clamp(2rem, 4vw, 3rem); color: var(--color-text-muted); font-family: var(--font-display); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.45; }

/* Governance page */
.governance-nav-wrap { padding: 1.75rem 1rem 0; }
.governance-nav-inner { max-width: 80rem; margin: 0 auto; padding: 1.5rem 0 0; border-top: 1px solid var(--color-border-subtle); }
.governance-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.governance-nav-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .52rem 1rem .48rem; border: 1px solid var(--color-border-subtle); border-radius: .125rem; background: transparent; color: var(--color-heading-dark); font-family: var(--font-sans); font-size: clamp(.95rem, 1.8vw, 1.25rem); font-weight: 500; letter-spacing: .14em; line-height: 1; text-align: center; text-decoration: none; text-transform: uppercase; transition: color .2s ease, border-color .2s ease, background-color .2s ease; white-space: nowrap; }
.governance-nav-btn:hover,
.governance-nav-btn:focus-visible { color: var(--color-chart-red); border-color: var(--color-chart-red); outline: none; }
.governance-nav-btn.is-active { color: #fff; border-color: var(--color-chart-red); background-color: var(--color-chart-red); outline: none; }
.governance-shell { max-width: 56rem; margin: 0 auto; padding: var(--site-post-breadcrumb-space) 1rem 5rem; }
.governance-page[hidden] { display: none; }
.governance-page,
.governance-page:target,
.governance-page:focus,
.governance-page:focus-visible { background: transparent; box-shadow: none; outline: 0; }
.governance-hero { padding: 0; margin: 0 0 2rem; }
.governance-hero-eyebrow { margin: 0 0 .75rem; color: var(--color-accent); font-family: var(--font-sans); font-size: .875rem; font-style: normal; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; }
.governance-hero-title { max-width: 45rem; margin: 0; color: var(--color-accent-dark); font-family: var(--font-display); font-size: clamp(3rem, 5vw, 3.75rem); font-weight: 400; line-height: .95; }
.governance-content { padding: 2rem 0; color: var(--color-text-body); font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.65; }
.governance-content h2 { margin: 2.75rem 0 1rem; color: var(--color-heading-dark); font-family: var(--font-sans); font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 600; line-height: 1.1; letter-spacing: .02em; text-transform: uppercase; }
.governance-content h2:first-child { margin-top: 0; }
.governance-content h3 { margin: 2rem 0 .85rem; color: var(--color-accent); font-family: var(--font-sans); font-size: clamp(1.15rem, 1.9vw, 1.45rem); font-weight: 600; line-height: 1.15; letter-spacing: .04em; text-transform: uppercase; }
.governance-content p { margin: 0 0 1.35rem; }
.governance-intro-rule { border-top: 1px solid var(--color-border-subtle); margin: 2rem 0; }
.governance-intro-media { aspect-ratio: 27 / 9; overflow: hidden; margin: 0 0 2.25rem; border-radius: 3.75rem; background: var(--color-bg-light); }
.governance-intro-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.governance-content ul { list-style: disc; padding-left: 1.7rem; margin: 1rem 0 1.8rem; }
.governance-content li { margin-bottom: .7rem; padding-left: .25rem; }
.governance-content strong { color: var(--color-heading-dark); font-weight: 600; }
@media (min-width: 768px) {
  .governance-nav-wrap { padding-top: 2rem; }
  .governance-nav-inner { padding-top: 1.75rem; }
  .governance-shell { padding-top: var(--site-post-breadcrumb-space); }
}
@media (max-width: 520px) {
  .governance-nav { align-items: stretch; gap: .55rem; }
  .governance-nav-btn { width: 100%; min-height: 2.4rem; font-size: 1rem; }
}
.article-kicker { font-family:var(--font-sans); font-size:.875rem; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.article-kicker-accent { color:var(--color-accent); }

/* Pro article referencias accordion */
.pro-referencias { margin-top: 3rem; border-top: 1px solid var(--color-border-muted); }
.pro-referencias__summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; padding: .9rem 0; color: var(--color-text); font-family: var(--font-sans); font-size: clamp(.8125rem, 1.2vw, .9375rem); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; list-style: none; transition: color var(--duration-fast) ease; }
.pro-referencias__summary::-webkit-details-marker { display: none; }
.pro-referencias__summary:hover,
.pro-referencias__summary:focus-visible,
.pro-referencias__details[open] .pro-referencias__summary { color: var(--color-accent); }
.pro-referencias__icon { position: relative; flex: 0 0 auto; width: 1rem; height: 1rem; }
.pro-referencias__icon::before,
.pro-referencias__icon::after { content: ""; position: absolute; background: currentColor; }
.pro-referencias__icon::before { top: 50%; left: 0; transform: translateY(-50%); width: 100%; height: 1.5px; }
.pro-referencias__icon::after { top: 0; left: 50%; transform: translateX(-50%); width: 1.5px; height: 100%; transition: transform var(--duration-fast) ease, opacity var(--duration-fast) ease; }
.pro-referencias__details[open] .pro-referencias__icon::after { transform: translateX(-50%) rotate(90deg); opacity: 0; }
.pro-referencias__body { padding: 0 0 1.5rem; opacity: 0; transform: translateY(-4px); }
.pro-referencias__details[open] .pro-referencias__body { opacity: 1; transform: translateY(0); transition: opacity .24s ease, transform .24s ease; }
.pro-referencias__list { margin: 0; padding-left: 1.5rem; list-style: decimal; }
.pro-referencias__item { margin-bottom: .7rem; padding-left: .25rem; color: var(--color-text-muted); font-family: var(--font-sans); font-size: clamp(.8125rem, 1.2vw, .9375rem); line-height: 1.6; }
.pro-referencias__item:last-child { margin-bottom: 0; }
.pro-referencias__item a { color: var(--color-accent); text-decoration: underline; text-underline-offset: .2em; white-space: nowrap; }
.pro-referencias__item a:hover,
.pro-referencias__item a:focus-visible { color: var(--color-accent-dark); }
