/* Academia Română — APEX application 100. Brand book tokens (design/tokens.json): Inter + Lora,
   primary #342046, accent #b52d72, teal #0c655f. Public pages use the "acadro-public" page template
   (class .ar-public), the portal uses Universal Theme with the same palette. */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap");

:root {
  --ar-primary: #342046; --ar-primary-dark: #261633; --ar-accent: #b52d72; --ar-accent-dark: #8e2159;
  --ar-teal: #0c655f; --ar-teal-dark: #094b46; --ar-sand: #f5f3f0; --ar-lavender: #ebe5f0; --ar-light: #dbd0e2;
  --ar-border: #ddd7e0; --ar-muted: #69616d; --ar-ink: #1f1428; --ar-body: #3a2f44; --ar-paper: #fff;
  --ar-amber: #8f5300; --ar-red: #b3261e; --ar-green: #25592f;
  --ar-shadow: 0 1px 2px rgba(52, 32, 70, .06), 0 10px 30px rgba(52, 32, 70, .08);
  --ar-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --ar-serif: "Lora", Georgia, serif;
  /* Universal Theme palette for the portal pages */
  --ut-palette-primary: #342046; --ut-palette-primary-contrast: #fff; --ut-palette-primary-shade: #ebe5f0;
  --ut-palette-primary-alt: #261633; --ut-palette-success: #25592f; --ut-palette-warning: #8f5300;
  --ut-palette-danger: #b3261e; --ut-palette-info: #0c655f;
  --ut-header-background-color: #342046; --ut-header-text-color: #fff;
  --ut-body-background-color: #f7f5f8; --ut-body-text-color: #3a2f44;
  --ut-link-text-color: #b52d72;
  --a-base-font-family: var(--ar-sans);
}

/* ---------------------------------------------------------------- public base */
.ar-public { margin: 0; background: var(--ar-paper); color: var(--ar-body); font: 400 16px/1.6 var(--ar-sans); -webkit-font-smoothing: antialiased; }
.ar-public *, .ar-public *::before, .ar-public *::after { box-sizing: border-box; }
.ar-public h1, .ar-public h2, .ar-public h3, .ar-public h4 { font-family: var(--ar-sans); color: var(--ar-primary); font-weight: 600; letter-spacing: -.01em; margin: 0; }
.ar-public p { margin: 0; }
.ar-public a { color: inherit; }
.ar-public img { max-width: 100%; display: block; }
.ar-public .t-Body-alert { max-width: 1440px; margin: 16px auto 0; padding: 0 24px; }
.u-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ar-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--ar-primary); color: #fff; padding: 8px 16px; }
.ar-skip:focus { left: 8px; }
.ar-wrap { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 768px) { .ar-wrap { padding: 0 40px; } }
@media (min-width: 1280px) { .ar-wrap { padding: 0 72px; } }
.ar-grid, .ar-grid > .row, .ar-grid .col { padding: 0; margin: 0; }
.ar-grid > .row { display: flex; flex-wrap: wrap; }
.ar-grid > .row > .col { flex: 1 1 100%; min-width: 0; }
.ar-row-wrap { max-width: 1440px; margin: 0 auto !important; padding: 32px 24px 64px !important; gap: 32px; flex-wrap: nowrap !important; }
@media (min-width: 768px) { .ar-row-wrap { padding: 40px 40px 72px !important; } }
@media (min-width: 1280px) { .ar-row-wrap { padding: 48px 72px 88px !important; } }
@media (max-width: 991px) { .ar-row-wrap { flex-wrap: wrap !important; } }
.ar-row-wrap > .col-3 { flex: 0 0 300px !important; max-width: 300px; }
.ar-row-wrap > .col-9 { flex: 1 1 0 !important; }
@media (max-width: 991px) { .ar-row-wrap > .col-3, .ar-row-wrap > .col-9 { flex: 1 1 100% !important; max-width: none; } }

.ar-eyebrow { font: 500 12px/16px var(--ar-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ar-teal); }
.ar-eyebrow--light { color: var(--ar-light); }
.ar-h2 { font-size: 32px; line-height: 1.15; letter-spacing: -.02em; margin-top: 8px !important; }
.ar-h3 { font-size: 22px; line-height: 1.25; margin: 32px 0 16px !important; }
@media (min-width: 1024px) { .ar-h2 { font-size: 40px; } }
.ar-lead { font-size: 18px; color: var(--ar-muted); max-width: 760px; margin-top: 16px !important; }
.ar-muted { color: var(--ar-muted); }
.ar-small { font-size: 13px; }
.ar-empty { padding: 48px 0; text-align: center; color: var(--ar-muted); font-size: 18px; }
.ar-link { display: inline-flex; align-items: center; gap: 8px; font: 600 15px/1.4 var(--ar-sans); color: var(--ar-accent) !important; text-decoration: none; }
.ar-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.ar-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border-radius: 2px; border: 1px solid transparent;
  font: 600 15px/1 var(--ar-sans); text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s; white-space: nowrap; }
.ar-btn--sm { height: 36px; padding: 0 14px; font-size: 14px; }
.ar-btn--accent { background: var(--ar-accent); color: #fff !important; }
.ar-btn--accent:hover { background: var(--ar-accent-dark); }
.ar-btn--ghost { border-color: rgba(255, 255, 255, .6); color: #fff !important; }
.ar-btn--ghost:hover { background: #fff; color: var(--ar-primary) !important; }
.ar-btn--outline { border-color: var(--ar-primary); color: var(--ar-primary) !important; background: transparent; }
.ar-btn--outline:hover { background: var(--ar-primary); color: #fff !important; }
.ar-btn--approve { background: var(--ar-green); color: #fff !important; }
.ar-btn--approve:hover { background: #1b4322; }
.ar-btn--danger { background: transparent; border-color: var(--ar-red); color: var(--ar-red) !important; }
.ar-btn--danger:hover { background: var(--ar-red); color: #fff !important; }
.ar-badge { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 3px 10px; font: 600 12px/1.4 var(--ar-sans); white-space: nowrap; }
.ar-badge--pending { background: rgba(143, 83, 0, .12); color: var(--ar-amber); }
.ar-badge--approved { background: rgba(37, 89, 47, .14); color: var(--ar-green); }
.ar-badge--rejected { background: rgba(179, 38, 30, .10); color: var(--ar-red); }
.ar-badge--returned { background: rgba(12, 101, 95, .14); color: var(--ar-teal); }
.ar-badge--withdrawn { background: var(--ar-border); color: var(--ar-primary); }
.ar-badge--cat { background: var(--ar-lavender); color: var(--ar-primary); }
.ar-verified { display: inline-flex; align-items: center; gap: 6px; color: var(--ar-green); font: 600 13px/1.4 var(--ar-sans); margin-top: 8px !important; }
.ar-av { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%;
  color: #fff; font: 600 17px/1 var(--ar-sans); object-fit: cover; background: var(--ar-primary); }
.ar-av--md { width: 56px; height: 56px; font-size: 19px; }
.ar-av--lg { width: 88px; height: 88px; font-size: 30px; }
.ar-av--xl { width: 112px; height: 112px; font-size: 36px; }
.ar-av--hero { width: 144px; height: 144px; font-size: 48px; }
.ar-av--sec { background: var(--ar-teal); font-family: var(--ar-serif); font-size: 22px; }
.ar-meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 13px; color: var(--ar-muted); }
.ar-tag { color: var(--ar-teal); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }

/* ---------------------------------------------------------------- header */
.ar-header { position: relative; z-index: 40; background: var(--ar-paper); }
.ar-util { border-bottom: 1px solid var(--ar-border); font-size: 13px; color: var(--ar-muted); }
.ar-util__in { display: flex; align-items: center; gap: 24px; min-height: 36px; }
.ar-util__desc { display: none; }
.ar-util__links { display: none; list-style: none; margin: 0; padding: 0; gap: 24px; }
.ar-util__links a { text-decoration: none; }
.ar-util__links a:hover, .ar-lang__a:hover { color: var(--ar-primary); }
@media (min-width: 1024px) { .ar-util__desc { display: block; } }
@media (min-width: 768px) { .ar-util__links { display: flex; } }
.ar-util__right { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.ar-lang { display: inline-flex; gap: 10px; }
.ar-lang__a { text-decoration: none; letter-spacing: .06em; }
.ar-lang__a.is-active { color: var(--ar-primary); font-weight: 700; }
.ar-util__acct { color: var(--ar-primary); font-weight: 600; text-decoration: none; }
.ar-util__acct.is-in { background: var(--ar-lavender); padding: 3px 10px; border-radius: 2px; }
.ar-util__out { text-decoration: none; }
.ar-brand { display: flex; align-items: center; gap: 24px; padding-top: 20px; padding-bottom: 20px; }
@media (min-width: 1024px) { .ar-brand { padding-top: 28px; padding-bottom: 28px; } }
.ar-logo { display: inline-flex; align-items: center; gap: 16px; text-decoration: none; }
.ar-tri { display: inline-flex; gap: 3px; height: 44px; }
.ar-tri i { width: 6px; display: block; }
.ar-tri i:nth-child(1) { background: #002b7f; } .ar-tri i:nth-child(2) { background: #fcd116; } .ar-tri i:nth-child(3) { background: #ce1126; }
.ar-logo__txt { display: block; line-height: 1; }
.ar-logo__name { display: block; font: 500 26px/1 var(--ar-serif); color: var(--ar-primary); }
.ar-logo__year { display: block; margin-top: 6px; font: 400 13px/1 var(--ar-sans); letter-spacing: .08em; color: var(--ar-muted); }
@media (min-width: 1024px) { .ar-tri { height: 48px; } .ar-logo__name { font-size: 34px; } }
.ar-logo--light .ar-logo__name { color: #fff; } .ar-logo--light .ar-logo__year { color: var(--ar-light); }
.ar-search { display: none; margin-left: auto; width: 100%; max-width: 448px; }
.ar-search__box { display: flex; align-items: center; gap: 16px; height: 72px; background: var(--ar-sand); padding: 0 8px 0 24px; }
.ar-search__box:focus-within { box-shadow: 0 0 0 2px rgba(52, 32, 70, .3); }
.ar-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 400 16px var(--ar-sans); color: var(--ar-primary); }
.ar-search input::placeholder { color: var(--ar-muted); }
.ar-search__btn { border: 0; background: transparent; color: var(--ar-primary); cursor: pointer; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; }
.ar-brand__cta { display: none !important; height: 72px; padding: 0 32px; font-size: 16px; }
.ar-burger { margin-left: auto; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ar-border); background: #fff; color: var(--ar-primary); cursor: pointer; }
@media (min-width: 1024px) { .ar-search { display: block; } .ar-brand__cta { display: inline-flex !important; } .ar-burger { display: none; } }
.ar-nav { display: none; border-top: 1px solid var(--ar-border); background: var(--ar-paper); }
.ar-nav.is-open { display: block; }
.ar-nav__list { list-style: none; margin: 0 auto; display: flex; flex-direction: column; }
.ar-nav__item { position: relative; border-bottom: 1px solid var(--ar-border); }
.ar-nav__a { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 0; border: 0; background: none; cursor: pointer;
  font: 500 16px/1.2 var(--ar-sans); color: var(--ar-primary); text-decoration: none; text-align: left; }
.ar-nav__a:hover { color: var(--ar-accent); }
.ar-nav__a svg { transition: transform .15s; }
.ar-nav__item.is-open > .ar-nav__a svg { transform: rotate(180deg); }
.ar-nav__sub { display: none; list-style: none; margin: 0; padding: 0 0 12px 16px; }
.ar-nav__item.is-open > .ar-nav__sub { display: block; }
.ar-nav__sublink { display: block; padding: 8px 12px; font-size: 15px; color: var(--ar-body); text-decoration: none; }
.ar-nav__sublink:hover { background: var(--ar-sand); color: var(--ar-primary); }
.ar-nav__sublink.is-all { font-weight: 600; color: var(--ar-primary); }
@media (min-width: 1024px) {
  .ar-nav { display: block; }
  .ar-nav__list { flex-direction: row; justify-content: space-between; }
  .ar-nav__item { border: 0; }
  .ar-nav__a { width: auto; padding: 24px 0; }
  .ar-nav__sub { position: absolute; left: 0; top: 100%; z-index: 50; min-width: 300px; max-height: 70vh; overflow: auto; padding: 8px;
    background: var(--ar-paper); border: 1px solid var(--ar-border); box-shadow: var(--ar-shadow); }
  .ar-nav__item:last-child .ar-nav__sub, .ar-nav__item:nth-last-child(2) .ar-nav__sub { left: auto; right: 0; }
  .ar-nav__item.has-sub:hover > .ar-nav__sub, .ar-nav__item.has-sub:focus-within > .ar-nav__sub { display: block; }
}

/* ---------------------------------------------------------------- page intro (inner pages) */
.ar-intro { background: var(--ar-primary); color: #fff; padding: 56px 0; }
.ar-intro h1 { color: #fff !important; font-size: 36px; line-height: 1.1; letter-spacing: -.02em; margin-top: 12px !important; }
.ar-intro p:not(.ar-eyebrow) { margin-top: 16px !important; max-width: 760px; color: rgba(255, 255, 255, .8); font-size: 18px; }
@media (min-width: 1024px) { .ar-intro { padding: 72px 0; } .ar-intro h1 { font-size: 56px; } }

/* ---------------------------------------------------------------- home */
.ar-hero { display: grid; background: var(--ar-primary); color: #fff; }
@media (min-width: 1024px) { .ar-hero { grid-template-columns: 1fr 1fr; } }
.ar-hero__text { display: flex; align-items: center; }
.ar-hero__in { width: 100%; padding: 56px 24px; }
@media (min-width: 768px) { .ar-hero__in { padding: 72px 40px; } }
@media (min-width: 1280px) { .ar-hero__in { margin-left: auto; max-width: 720px; padding: 96px 64px 96px 72px; } }
.ar-hero__title { margin-top: 24px !important; color: #fff !important; font: 700 44px/1.02 var(--ar-sans) !important; letter-spacing: -.03em !important; }
@media (min-width: 768px) { .ar-hero__title { font-size: 64px !important; } }
@media (min-width: 1280px) { .ar-hero__title { font-size: 88px !important; } }
.ar-hero__lead { margin-top: 32px !important; max-width: 520px; font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .8); }
.ar-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
.ar-hero__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 48px 0 0; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .2);
  font-size: 14px; color: rgba(255, 255, 255, .8); }
.ar-hero__facts dd { margin: 0; }
.ar-hero__facts div:not(.is-wide) dd { font-weight: 600; color: #fff; }
.ar-hero__facts > span { width: 1px; height: 20px; background: rgba(255, 255, 255, .3); }
.ar-hero__media { position: relative; min-height: 320px; }
@media (min-width: 1024px) { .ar-hero__media { min-height: 640px; } }
.ar-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.ar-sec { padding: 64px 0; }
@media (min-width: 1024px) { .ar-sec { padding: 96px 0; } }
.ar-sec--sand { background: var(--ar-sand); }
.ar-sec--lavender { background: var(--ar-lavender); }
.ar-sec--primary { background: var(--ar-primary); color: #fff; }
.ar-sec--primary .ar-h2 { color: #fff; } .ar-sec--primary .ar-eyebrow { color: var(--ar-light); }
.ar-sec__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 40px; }

.ar-paths { display: grid; gap: 24px; }
@media (min-width: 768px) { .ar-paths { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .ar-paths { grid-template-columns: repeat(4, 1fr); } }
.ar-path { display: flex; flex-direction: column; gap: 12px; padding: 32px; background: #fff; border-top: 3px solid var(--ar-primary); text-decoration: none; box-shadow: var(--ar-shadow); transition: transform .15s; }
.ar-path:hover { transform: translateY(-2px); }
.ar-path__icon { color: var(--ar-teal); }
.ar-path h3 { font-size: 20px; }
.ar-path p { color: var(--ar-muted); flex: 1; }
.ar-path__link { display: inline-flex; align-items: center; gap: 8px; color: var(--ar-accent); font-weight: 600; font-size: 15px; }

.ar-news { display: grid; gap: 24px; }
@media (min-width: 768px) { .ar-news { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .ar-news { grid-template-columns: repeat(4, 1fr); } .ar-news__item.is-lead { grid-column: span 2; grid-row: span 2; } }
.ar-news__item { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ar-border); }
.ar-news__img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--ar-sand); }
.ar-news__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.ar-news__item:hover .ar-news__img img { transform: scale(1.03); }
.ar-news__body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 10px; }
.ar-news__title { font-size: 18px; line-height: 1.35; }
.ar-news__item.is-lead .ar-news__title { font-size: 26px; }
.ar-news__title a { text-decoration: none; }
.ar-news__title a:hover { color: var(--ar-accent); }

.ar-about { display: grid; gap: 48px; align-items: center; }
@media (min-width: 1024px) { .ar-about { grid-template-columns: 5fr 7fr; gap: 72px; } }
.ar-about__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ar-caption { margin-top: 10px !important; font-size: 13px; color: var(--ar-muted); }
.ar-pillars { display: grid; gap: 16px; margin: 32px 0; }
@media (min-width: 768px) { .ar-pillars { grid-template-columns: repeat(3, 1fr); } }
.ar-pillar { padding: 16px 0 0; border-top: 3px solid var(--ar-primary); }
.ar-pillar.is-teal { border-color: var(--ar-teal); } .ar-pillar.is-accent { border-color: var(--ar-accent); }
.ar-pillar h3 { font-size: 18px; margin-bottom: 8px !important; }
.ar-pillar p { font-size: 15px; color: var(--ar-muted); }

.ar-people { display: grid; gap: 24px; margin-top: 40px; }
@media (min-width: 640px) { .ar-people { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .ar-people { grid-template-columns: repeat(4, 1fr); } }
.ar-person { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 32px; background: #fff; text-decoration: none; box-shadow: var(--ar-shadow); transition: transform .15s; }
.ar-person:hover { transform: translateY(-2px); }
.ar-person .ar-av { margin-bottom: 12px; }
.ar-person__cat { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--ar-teal); font-weight: 600; }
.ar-person h3 { font-size: 20px; }
.ar-person p { color: var(--ar-muted); font-size: 15px; }
.ar-person__meta { font-size: 13px; color: var(--ar-muted); margin-top: auto; }

.ar-interview { display: grid; gap: 48px; align-items: center; }
@media (min-width: 1024px) { .ar-interview { grid-template-columns: 5fr 7fr; gap: 72px; } }
.ar-interview__media img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.ar-interview__quote { margin: 0; }
.ar-interview blockquote { margin: 16px 0 24px; font: 400 26px/1.4 var(--ar-serif); color: var(--ar-primary); }
@media (min-width: 1024px) { .ar-interview blockquote { font-size: 32px; } }
.ar-interview figcaption { display: flex; flex-direction: column; gap: 2px; margin-bottom: 24px; }
.ar-interview figcaption span { color: var(--ar-muted); font-size: 15px; }

.ar-cards3 { display: grid; gap: 24px; }
@media (min-width: 768px) { .ar-cards3 { grid-template-columns: repeat(3, 1fr); } }
.ar-card { background: #fff; display: flex; flex-direction: column; box-shadow: var(--ar-shadow); }
.ar-card__img { aspect-ratio: 16 / 10; overflow: hidden; } .ar-card__img img { width: 100%; height: 100%; object-fit: cover; }
.ar-card__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.ar-card__kicker { font-size: 13px; color: var(--ar-teal); font-weight: 600; }
.ar-card h3 { font-size: 19px; line-height: 1.35; } .ar-card h3 a { text-decoration: none; } .ar-card h3 a:hover { color: var(--ar-accent); }
.ar-card time { font-size: 13px; color: var(--ar-muted); }

.ar-calls { display: grid; gap: 24px; }
@media (min-width: 1024px) { .ar-calls { grid-template-columns: repeat(3, 1fr); } }
.ar-call { display: flex; flex-direction: column; border: 1px solid var(--ar-border); background: #fff; }
.ar-call.is-plain { background: var(--ar-lavender); border-color: var(--ar-lavender); }
.ar-call__img { aspect-ratio: 16 / 9; overflow: hidden; } .ar-call__img img { width: 100%; height: 100%; object-fit: cover; }
.ar-call__body { padding: 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.ar-call h3 { font-size: 20px; line-height: 1.3; }
.ar-call p { color: var(--ar-muted); flex: 1; }

.ar-tiles { display: grid; gap: 24px; }
@media (min-width: 768px) { .ar-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .ar-tiles { grid-template-columns: repeat(4, 1fr); } }
.ar-tile { position: relative; display: flex; align-items: flex-end; min-height: 360px; background-size: cover; background-position: center; text-decoration: none; overflow: hidden; }
.ar-tile::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(38, 22, 51, 0) 30%, rgba(38, 22, 51, .9) 100%); }
.ar-tile__in { position: relative; padding: 28px; color: #fff; }
.ar-tile h3 { color: #fff !important; font-size: 20px; margin-bottom: 8px !important; }
.ar-tile p { color: rgba(255, 255, 255, .85); font-size: 15px; }

.ar-gallery { display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1024px) { .ar-gallery { grid-template-columns: repeat(4, 1fr); } }
.ar-gallery__item { position: relative; margin: 0; aspect-ratio: 1 / 1; overflow: hidden; background: var(--ar-sand); }
.ar-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.ar-gallery__item:hover img { transform: scale(1.04); }
.ar-gallery__item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 32px 16px 14px; color: #fff; font-weight: 600; font-size: 15px;
  background: linear-gradient(180deg, transparent, rgba(38, 22, 51, .85)); }

.ar-newsletter { background: var(--ar-teal); color: #fff; padding: 56px 0; }
.ar-newsletter .ar-h2 { color: #fff; margin: 0 !important; }
.ar-newsletter p { color: rgba(255, 255, 255, .85); margin-top: 12px !important; max-width: 560px; }
.ar-newsletter__in { display: grid; gap: 24px; align-items: end; }
@media (min-width: 1024px) { .ar-newsletter__in { grid-template-columns: 7fr 5fr; } }
.ar-newsletter__form { display: flex; align-items: stretch; }
.ar-newsletter__form input { flex: 1; min-width: 0; height: 56px; border: 0; padding: 0 20px; font: 400 16px var(--ar-sans); color: var(--ar-ink); outline: 0; }
.ar-newsletter__form .ar-btn { height: 56px; border-radius: 0; }
.ar-newsletter__msg { grid-column: 1 / -1; min-height: 1.5em; color: #fff; font-weight: 600; }
.ar-newsletter__msg.is-error { color: #ffd8d6; }

/* ---------------------------------------------------------------- members catalogue (native faceted search + cards) */
.ar-facets { background: var(--ar-sand); padding: 20px; }
.ar-facets .a-FS-wrap, .ar-facets .t-Region-body { background: transparent; }
.ar-facets .a-FS-control { border-bottom: 1px solid var(--ar-border); }
.ar-facets .a-FS-header, .ar-facets .a-FS-label { font: 600 14px/1.4 var(--ar-sans); color: var(--ar-primary); }
.ar-members .a-CardView-items { gap: 16px; }
.ar-members .a-CardView { border-radius: 2px; border-color: var(--ar-border); box-shadow: none; transition: box-shadow .15s, transform .15s; }
.ar-members .a-CardView:hover { box-shadow: var(--ar-shadow); transform: translateY(-1px); }
.ar-mc { display: flex; gap: 16px; align-items: flex-start; }
.ar-mc__txt { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ar-mc__cat { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--ar-teal); font-weight: 600; }
.ar-mc__name { font: 600 17px/1.3 var(--ar-sans); color: var(--ar-primary); margin: 0; }
.ar-mc__prof { font-size: 14px; color: var(--ar-body); margin: 0; }
.ar-mc__meta { font-size: 13px; color: var(--ar-muted); margin: 0; }
.ar-mc .ar-verified { margin-top: 2px !important; font-size: 12px; }

/* ---------------------------------------------------------------- profile, sections, search */
.ar-profile { padding: 40px 0 88px; }
.ar-back { display: inline-block; margin-bottom: 32px; color: var(--ar-accent); text-decoration: none; font-weight: 600; font-size: 15px; }
.ar-back:hover { text-decoration: underline; }
.ar-profile__head { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; padding-bottom: 40px; border-bottom: 1px solid var(--ar-border); }
.ar-profile__head h1 { font-size: 40px; line-height: 1.1; letter-spacing: -.02em; margin: 12px 0 8px !important; }
@media (min-width: 1024px) { .ar-profile__head h1 { font-size: 56px; } }
.ar-profile__prof { font-size: 19px; color: var(--ar-body); }
.ar-profile__facts { margin-top: 6px !important; color: var(--ar-muted); }
.ar-profile__head .ar-btn { margin-top: 16px; }
.ar-profile__grid { display: grid; gap: 48px; padding-top: 48px; }
@media (min-width: 1024px) { .ar-profile__grid { grid-template-columns: 8fr 4fr; gap: 72px; } }
.ar-profile__bio h2 { font-size: 24px; margin-bottom: 16px !important; }
.ar-profile__bio p { font-size: 17px; line-height: 1.75; margin-bottom: 16px !important; }
.ar-profile__side { background: var(--ar-sand); padding: 28px; align-self: start; }
.ar-facts { margin: 0; display: grid; gap: 16px; }
.ar-facts div { display: grid; gap: 2px; }
.ar-facts dt { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--ar-muted); }
.ar-facts dd { margin: 0; color: var(--ar-ink); overflow-wrap: anywhere; }
.ar-facts a { color: var(--ar-accent); }
.ar-sections { display: grid; gap: 24px; }
@media (min-width: 768px) { .ar-sections { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .ar-sections { grid-template-columns: repeat(3, 1fr); } }
.ar-section { display: flex; flex-direction: column; gap: 12px; padding: 28px; border: 1px solid var(--ar-border); text-decoration: none; transition: box-shadow .15s, border-color .15s; }
.ar-section:hover { box-shadow: var(--ar-shadow); border-color: transparent; }
.ar-section__no { font: 500 32px/1 var(--ar-serif); color: var(--ar-accent); }
.ar-section h3 { font-size: 20px; line-height: 1.3; }
.ar-section dl { margin: 0; display: grid; gap: 8px; font-size: 14px; }
.ar-section dt { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--ar-muted); }
.ar-section dd { margin: 0; }
.ar-section__count { margin-top: auto; font-size: 13px; color: var(--ar-teal); font-weight: 600; }
.ar-section-page { display: grid; gap: 48px; }
@media (min-width: 1024px) { .ar-section-page { grid-template-columns: 4fr 8fr; gap: 72px; } }
.ar-contact { background: var(--ar-sand); padding: 28px; align-self: start; display: grid; gap: 20px; }
.ar-contact h2 { font-size: 20px; }
.ar-mlist { display: grid; gap: 8px; }
.ar-mlist--grid { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.ar-mrow { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--ar-border); background: #fff; text-decoration: none; color: inherit; }
a.ar-mrow:hover { border-color: var(--ar-primary); }
.ar-mrow > span { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ar-mrow strong { color: var(--ar-primary); }
.ar-mrow > span > span { font-size: 13px; color: var(--ar-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ar-results { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ar-results li { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--ar-border); }
.ar-results a { color: var(--ar-primary); font-weight: 600; text-decoration: none; }
.ar-results a:hover { color: var(--ar-accent); }

/* ---------------------------------------------------------------- footer */
.ar-footer { background: var(--ar-primary-dark); color: rgba(255, 255, 255, .8); padding: 64px 0 32px; font-size: 15px; }
.ar-footer a { color: rgba(255, 255, 255, .8); text-decoration: none; }
.ar-footer a:hover { color: #fff; text-decoration: underline; }
.ar-footer__top { display: grid; gap: 48px; }
@media (min-width: 1280px) { .ar-footer__top { grid-template-columns: 3fr 9fr; } }
.ar-footer__addr { margin-top: 24px; font-style: normal; line-height: 1.8; }
.ar-footer__cols { display: grid; gap: 32px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1024px) { .ar-footer__cols { grid-template-columns: repeat(5, 1fr); } }
.ar-footer__col h3 { color: #fff !important; font-size: 14px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 16px !important; }
.ar-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ar-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .15); font-size: 13px; }
.ar-footer__bottom ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 20px; }

/* ---------------------------------------------------------------- portal (Universal Theme pages) */
body:not(.ar-public) { font-family: var(--ar-sans); }
body:not(.ar-public) .t-Header-branding, body:not(.ar-public) .t-Header { background-color: var(--ar-primary); }
body:not(.ar-public) .t-Header-logo-link, body:not(.ar-public) .t-Header-logo { font-family: var(--ar-serif); font-size: 21px; color: #fff; }
body:not(.ar-public) .t-Button--hot:not(.t-Button--simple) { background-color: var(--ar-accent); border-color: var(--ar-accent); color: #fff; }
body:not(.ar-public) .t-Button--hot:not(.t-Button--simple):hover { background-color: var(--ar-accent-dark); }
body:not(.ar-public) .t-Region-title { font-weight: 600; color: var(--ar-primary); }
body:not(.ar-public) .t-Body-content { background: #f7f5f8; }
.ar-cab-intro { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 8px 0 16px; }
.ar-cab-intro h1 { font: 600 30px/1.2 var(--ar-sans); color: var(--ar-primary); margin: 6px 0 0; letter-spacing: -.01em; }
.ar-cab-target { font: 600 18px/1.4 var(--ar-sans); color: var(--ar-primary); margin: 0 0 12px; }
.ar-alert { display: flex; flex-direction: column; gap: 6px; padding: 16px 20px; border-left: 4px solid var(--ar-primary); background: #fff; margin: 0 0 16px; box-shadow: var(--ar-shadow); }
.ar-alert--warn, .ar-alert--pending { border-color: var(--ar-amber); background: #fffaf2; }
.ar-alert--returned { border-color: var(--ar-teal); background: #f2fbfa; }
.ar-alert blockquote { margin: 4px 0 0; font: italic 400 16px/1.5 var(--ar-serif); color: var(--ar-ink); }
.ar-preview { display: flex; gap: 20px; align-items: flex-start; }
.ar-preview h3 { margin: 8px 0 4px; font: 600 20px/1.3 var(--ar-sans); color: var(--ar-primary); }
.ar-preview p { margin: 0 0 4px; }
.ar-kpis { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin-bottom: 20px; }
.ar-kpi { background: #fff; border: 1px solid var(--ar-border); border-top: 3px solid var(--ar-primary); padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.ar-kpi.is-pending { border-top-color: var(--ar-amber); } .ar-kpi.is-approved { border-top-color: var(--ar-green); }
.ar-kpi__v { font: 700 30px/1 var(--ar-sans); color: var(--ar-primary); }
.ar-kpi__l { font-size: 13px; color: var(--ar-muted); }
.ar-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.ar-filter { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--ar-border); background: #fff; color: var(--ar-primary); text-decoration: none; font-weight: 600; font-size: 14px; }
.ar-filter span { background: var(--ar-lavender); border-radius: 999px; padding: 0 8px; font-size: 12px; }
.ar-filter.is-active { background: var(--ar-primary); border-color: var(--ar-primary); color: #fff; }
.ar-filter.is-active span { background: rgba(255, 255, 255, .2); }
.ar-queue { display: grid; gap: 16px; }
.ar-qcard, .ar-req { background: #fff; border: 1px solid var(--ar-border); padding: 20px; display: grid; gap: 14px; }
.ar-qcard.is-busy { opacity: .5; pointer-events: none; }
.ar-qcard__head, .ar-req__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ar-qcard__head > div, .ar-req__head > div { flex: 1; min-width: 200px; display: flex; flex-direction: column; }
.ar-qcard__head a { color: var(--ar-primary); font-weight: 600; text-decoration: none; }
.ar-req__note { margin: 0; color: var(--ar-body); }
.ar-req__note span { color: var(--ar-muted); }
.ar-req__comment { background: #f2fbfa; border-left: 3px solid var(--ar-teal); padding: 10px 14px; }
.ar-req__comment span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--ar-teal); font-weight: 600; }
.ar-req__comment p { margin: 4px 0 0; }
.ar-req details summary { cursor: pointer; color: var(--ar-accent); font-weight: 600; font-size: 14px; }
.ar-diff { width: 100%; border-collapse: collapse; font-size: 14px; }
.ar-diff th, .ar-diff td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--ar-border); }
.ar-diff thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--ar-muted); background: var(--ar-sand); }
.ar-diff tbody th { width: 22%; color: var(--ar-primary); }
.ar-diff .is-old { color: var(--ar-muted); text-decoration: line-through; text-decoration-color: rgba(179, 38, 30, .5); }
.ar-diff .is-new { color: var(--ar-green); font-weight: 500; }
.ar-qcard__actions { display: grid; gap: 10px; }
.ar-qcard__comment textarea { width: 100%; border: 1px solid var(--ar-border); padding: 8px 10px; font: 400 14px/1.4 var(--ar-sans); resize: vertical; }
.ar-qcard__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.ar-sec-card { display: grid; gap: 20px; background: #fff; border: 1px solid var(--ar-border); padding: 24px; margin-bottom: 8px; }
@media (min-width: 1024px) { .ar-sec-card { grid-template-columns: 2fr 1fr; } }
.ar-sec-card h2 { margin: 6px 0 8px; font: 600 24px/1.25 var(--ar-sans); color: var(--ar-primary); }
.ar-sec-card__actions { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1 / -1; }
.ar-mfa-state { margin: 12px 0; font-weight: 600; }
.ar-mfa-setup { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; padding: 16px; background: var(--ar-sand); margin: 12px 0; }
.ar-mfa-qr svg { width: 200px; height: 200px; background: #fff; padding: 8px; }
.ar-key { font: 600 15px/1.6 ui-monospace, Consolas, monospace; letter-spacing: .06em; background: #fff; padding: 4px 8px; }
.ar-login-demo { font-size: 13px; color: var(--ar-muted); margin-top: 12px; line-height: 1.6; }
.ar-login-demo code { background: var(--ar-sand); padding: 1px 6px; color: var(--ar-primary); }
.ar-login-home { display: inline-block; margin-top: 8px; font-size: 14px; color: var(--ar-accent); }
.t-Login-region .t-Login-logo, .t-Login-region .t-Login-header .t-Login-logo { display: none; }
.t-Login-region .t-Login-title { font: 600 20px/1.3 var(--ar-sans); color: var(--ar-primary); }
.ar-login-brand { display: flex; justify-content: center; margin-bottom: 8px; }
