/* ============================================================
   ARCORA — New Design System
   From Claude Design handoff, May 2026.
   Font: Mulish (Google Fonts) standing in for Runda.
   The Typekit load in header.php already loads Runda —
   swap the --arc-font var to "Runda" once confirmed.
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,800&display=swap");

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --arc-purple:       #452560;
  --arc-purple-700:   #361b4d;
  --arc-purple-500:   #5a3478;
  --arc-purple-300:   #8f74a8;
  --arc-purple-100:   #d9cee4;
  --arc-beige:        #fbfae5;
  --arc-beige-deep:   #f5f2d0;
  --arc-charcoal:     #313131;
  --arc-charcoal-700: #1f1f1f;
  --arc-charcoal-500: #4a4a4a;
  --arc-charcoal-300: #6b6b6b;
  --arc-rose:         #f4d4c8;
  --arc-sunshine:     #f8df8d;
  --arc-grass:        #d4ebd0;
  --arc-paper:        #ffffff;
  --arc-paper-warm:   #fdfcf3;
  --arc-font:         "Mulish", "Runda", system-ui, sans-serif;
  --arc-r-xs:         6px;
  --arc-r-sm:         10px;
  --arc-r-md:         14px;
  --arc-r-lg:         20px;
  --arc-r-xl:         28px;
  --arc-r-pill:       999px;
  --arc-sh-xs: 0 1px 2px rgba(69,37,96,.06);
  --arc-sh-sm: 0 2px 6px rgba(69,37,96,.07);
  --arc-sh-md: 0 8px 24px rgba(69,37,96,.10);
  --arc-sh-lg: 0 20px 50px rgba(69,37,96,.14);
}

/* ============================================================
   PAGE RESET
   ============================================================ */
html, body { margin: 0; padding: 0; }
*, *::before, *::after { box-sizing: border-box; }

.arc-page {
  font-family: var(--arc-font);
  color: var(--arc-charcoal);
}
.arc-page button { font-family: inherit; cursor: pointer; border: none; background: none; }
.arc-page a { color: inherit; text-decoration: none; }
.arc-page h1, .arc-page h2, .arc-page h3,
.arc-page h4, .arc-page h5, .arc-page h6 { margin: 0; font-family: var(--arc-font); }
.arc-page ul { list-style: none; padding: 0; margin: 0; }
.arc-page img { display: block; max-width: 100%; }
.arc-page p { margin: 0; font-family: var(--arc-font); }

/* ============================================================
   TYPOGRAPHY UTILITIES
   ============================================================ */
.arc-eyebrow {
  font-family: var(--arc-font);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.arc-h1 { font-family: var(--arc-font); font-weight: 900; letter-spacing: -.025em; line-height: .95; }
.arc-h2 { font-family: var(--arc-font); font-weight: 900; letter-spacing: -.02em;  line-height: 1; }
.arc-h3 { font-family: var(--arc-font); font-weight: 900; letter-spacing: -.015em; line-height: 1.05; }

/* ============================================================
   PHOTO PLACEHOLDER
   ============================================================ */
.arc-photo {
  background: linear-gradient(135deg,#e8d9c4 0%,#d4b896 100%);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; overflow: hidden; position: relative; color: #5a3a1f;
}
.arc-photo--cool  { background: linear-gradient(135deg,#d8c8e0 0%,#b59ec9 100%); color:#3b1f55; }
.arc-photo--muted { background: linear-gradient(135deg,#e5e1d3 0%,#c9c3ad 100%); color:#3a3520; }
.arc-photo--rose  { background: linear-gradient(135deg,#f4d4c8 0%,#e3b2a0 100%); color:#5a2a1f; }
.arc-photo--grass { background: linear-gradient(135deg,#d4ebd0 0%,#a8cca0 100%); color:#1f3a25; }
.arc-photo__icon  { opacity:.55; }
.arc-photo__label {
  font-size: 11px; font-weight: 700; letter-spacing:.16em;
  text-transform: uppercase; opacity:.7; font-family: var(--arc-font);
}

/* ============================================================
   MARKETING NAV
   ============================================================ */
.arc-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 28px 64px; position: relative; z-index: 5;
}
.arc-nav--purple { color: #fff; }
.arc-nav__logo img { height: 28px; display: block; }
.arc-nav--purple .arc-nav__logo img { filter: brightness(0) invert(1); }
.arc-nav__links {
  display: flex; align-items: center; gap: 36px;
  font-family: var(--arc-font); font-weight: 500; font-size: 15px; color: var(--arc-charcoal);
}
.arc-nav--purple .arc-nav__links { color: rgba(255,255,255,.8); }
.arc-nav__actions { display: flex; align-items: center; gap: 14px; }
.arc-nav__signin { font-family: var(--arc-font); font-weight: 600; font-size: 15px; }
.arc-nav__cta {
  background: var(--arc-purple); color: #fff;
  font-family: var(--arc-font); font-weight: 700; font-size: 15px;
  padding: 11px 22px; border-radius: var(--arc-r-pill); letter-spacing: -.005em; display: inline-block;
}
.arc-nav--purple .arc-nav__cta { background: var(--arc-sunshine); color: var(--arc-purple); }

/* ============================================================
   MEMBER NAV
   ============================================================ */
.arc-member-nav {
  background: rgba(251,250,229,.92); backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(69,37,96,.1); position: sticky; top: 0; z-index: 10;
}
.arc-member-nav__inner { max-width: 1416px; margin: 0 auto; padding: 14px 48px; }
/* Top row: logo + (language toggle + sign out) */
.arc-member-nav__bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.arc-member-nav__actions { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.arc-member-nav__logout { font-family: var(--arc-font); font-weight: 600; font-size: 13px; color: var(--arc-charcoal-500); text-decoration: none; }
.arc-member-nav__logout:hover { color: var(--arc-purple); }
/* Nav row below — driven by the "Member Header" WP menu */
.arc-member-nav__menu { margin-top: 12px; display: flex; justify-content: flex-end; }
.arc-member-nav__menu-list {
  display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0;
  font-family: var(--arc-font); font-weight: 600; font-size: 14px;
}
.arc-member-nav__menu-list a {
  color: var(--arc-charcoal-500); padding-bottom: 6px; display: inline-block;
  border-bottom: 2px solid transparent; transition: color .15s ease, border-color .15s ease;
}
.arc-member-nav__menu-list a:hover,
.arc-member-nav__menu-list .current-menu-item > a,
.arc-member-nav__menu-list .current-menu-parent > a {
  color: var(--arc-purple); border-bottom-color: var(--arc-purple);
}
/* Second-level submenu (dropdown) */
.arc-member-nav__menu-list li { position: relative; }
.arc-member-nav__menu-list .menu-item-has-children > a::after { content: "\25BE"; font-size: 10px; margin-left: 5px; vertical-align: middle; }
.arc-member-nav__menu-list .sub-menu {
  position: absolute; top: 100%; right: 0; left: auto; min-width: 210px;
  display: none; flex-direction: column; gap: 2px; z-index: 60;
  margin: 10px 0 0; padding: 8px; list-style: none;
  background: #fff; border: 1px solid rgba(69,37,96,.12); border-radius: var(--arc-r-md, 12px);
  box-shadow: 0 14px 34px rgba(69,37,96,.16);
}
.arc-member-nav__menu-list li:hover > .sub-menu,
.arc-member-nav__menu-list li:focus-within > .sub-menu { display: flex; }
/* Transparent bridge across the gap so the dropdown stays open while the
   cursor moves from the parent item down onto the submenu. */
.arc-member-nav__menu-list .sub-menu::before {
  content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px;
}
.arc-member-nav__menu-list .sub-menu a {
  display: block; padding: 9px 12px; border-bottom: none; border-radius: 8px;
  font-weight: 500; white-space: nowrap; color: var(--arc-charcoal-500);
}
.arc-member-nav__menu-list .sub-menu a:hover,
.arc-member-nav__menu-list .sub-menu .current-menu-item > a {
  background: rgba(69,37,96,.06); color: var(--arc-purple); border-bottom: none;
}
@media (max-width: 640px) {
  .arc-member-nav__menu-list { gap: 16px; font-size: 13px; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
}

/* ── Language switcher (EN/FR) ─────────────────────────────── */
.arc-lang-switch { display: inline-flex; align-items: center; gap: 2px; font-family: var(--arc-font); }
.arc-lang-switch__item {
  font-size: 13px; font-weight: 700; line-height: 1; letter-spacing: .02em;
  padding: 6px 9px; border-radius: 999px; text-decoration: none;
  color: var(--arc-charcoal-500); transition: background .15s, color .15s;
}
.arc-lang-switch__item:hover { color: var(--arc-purple); background: rgba(69,37,96,.08); }
.arc-lang-switch__item.is-active { color: var(--arc-purple); background: rgba(69,37,96,.12); }
/* Variant: on the purple hero nav (marketing home) */
.arc-lang-switch--hero .arc-lang-switch__item { color: rgba(255,255,255,.8); }
.arc-lang-switch--hero .arc-lang-switch__item:hover { color: #fff; background: rgba(255,255,255,.14); }
.arc-lang-switch--hero .arc-lang-switch__item.is-active { color: var(--arc-purple); background: var(--arc-sunshine); }
/* Variant: on dark footers */
.arc-lang-switch--dark .arc-lang-switch__item { color: rgba(255,255,255,.65); }
.arc-lang-switch--dark .arc-lang-switch__item:hover { color: #fff; background: rgba(255,255,255,.12); }
.arc-lang-switch--dark .arc-lang-switch__item.is-active { color: #fff; background: rgba(255,255,255,.16); }

/* ── Shared site footer (charcoal) ─────────────────────────────
   Mirrors the marketing footer so it can render on every template.
   (arcora-v2.css carries an identical copy that only loads on the
   marketing home; rules here are identical, so there's no conflict.) */
.arc2-footer { background: var(--arc-charcoal); color: #fff; padding: 88px 64px 36px; margin-top: auto; }
.arc2-footer__grid { max-width: 1312px; margin: 0 auto 72px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; }
.arc2-footer__logo { height: 26px; filter: brightness(0) invert(1); margin-bottom: 20px; }
.arc2-footer__tagline { font-family: var(--arc-font); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.65); max-width: 280px; margin: 0; }
.arc2-footer__col-head { font-family: var(--arc-font); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #fff; margin-bottom: 18px; }
.arc2-footer__col-links { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.arc2-footer__col-links li a { font-family: var(--arc-font); font-size: 14px; font-weight: 400; color: rgba(255,255,255,0.65); transition: color .15s; }
.arc2-footer__col-links li a:hover { color: #fff; }
.arc2-footer__bottom { max-width: 1312px; margin: 0 auto; border-top: 1px solid rgba(255,255,255,.12); padding-top: 28px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-family: var(--arc-font); font-size: 13px; color: rgba(255,255,255,.65); }
.arc2-footer__bottom-right { display: flex; align-items: center; gap: 18px; }
.arc2-footer__signout { color: rgba(255,255,255,.65); text-decoration: underline; text-underline-offset: 2px; }
.arc2-footer__signout:hover { color: #fff; }
@media (max-width: 768px) {
  .arc2-footer { padding: 56px 28px 28px; }
  .arc2-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 48px; }
}
@media (max-width: 600px) {
  .arc2-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .arc2-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
}
.arc-member-nav__logo img { height: 26px; display: block; }
.arc-member-nav__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.arc-member-nav__site-name { font-family: var(--arc-font); font-weight: 800; font-size: 13px; letter-spacing: .01em; color: var(--arc-purple); text-decoration: none; }
.arc-member-nav__site-name:hover { text-decoration: underline; }
.arc-member-nav__links {
  display: flex; align-items: center; gap: 28px;
  font-family: var(--arc-font); font-weight: 600; font-size: 14px;
}
.arc-member-nav__links a {
  color: var(--arc-charcoal-500); position: relative; padding-bottom: 6px;
  border-bottom: 2px solid transparent; transition: color .15s ease, border-color .15s ease;
}
.arc-member-nav__links a:hover,
.arc-member-nav__links a:focus-visible {
  color: var(--arc-purple); border-bottom-color: var(--arc-purple);
}
.arc-member-nav__links a.active {
  color: var(--arc-purple); border-bottom: 2px solid var(--arc-purple); padding-bottom: 6px;
}

/* ============================================================
   FOOTER — full marketing
   ============================================================ */
.arc-footer { padding: 88px 64px 36px; color: #fff; }
.arc-footer--purple  { background: var(--arc-purple); }
.arc-footer--charcoal { background: var(--arc-charcoal); }
.arc-footer__grid {
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 72px;
}
.arc-footer__logo { height: 26px; filter: brightness(0) invert(1); margin-bottom: 20px; display: block; }
.arc-footer__tagline { font-size: 14px; color: rgba(255,255,255,.65); line-height: 1.6; max-width: 280px; font-family: var(--arc-font); }
.arc-footer__col-head {
  font-size: 12px; font-weight: 800; letter-spacing:.18em; text-transform: uppercase; margin-bottom: 18px; color: #fff; font-family: var(--arc-font);
}
.arc-footer__col-links { display: flex; flex-direction: column; gap: 12px; }
.arc-footer__col-links li { font-size: 14px; color: rgba(255,255,255,.65); font-family: var(--arc-font); }
.arc-footer__bottom {
  display: flex; justify-content: space-between; padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; color: rgba(255,255,255,.65); font-family: var(--arc-font);
}

/* Footer — slim (member pages) */
.arc-footer-slim {
  border-top: 1px solid rgba(69,37,96,.12); padding: 24px 48px;
  max-width: 1416px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px 24px;
  font-size: 12.5px; color: var(--arc-charcoal-500); font-family: var(--arc-font);
}
.arc-footer-slim__links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.arc-footer-slim__links a { color: inherit; white-space: nowrap; }

/* ============================================================
   SHARED: BUTTONS
   ============================================================ */
.arc-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--arc-font); font-weight: 700; border-radius: var(--arc-r-pill); cursor: pointer; text-decoration: none;
}
.arc-btn--primary   { background: var(--arc-purple);    color: #fff;               padding: 18px 36px; font-size: 16px; }
.arc-btn--outline   { background: transparent;          color: var(--arc-purple);  padding: 18px 36px; font-size: 16px; border: 1.5px solid var(--arc-purple); }
.arc-btn--sun       { background: var(--arc-sunshine);  color: var(--arc-purple);  padding: 14px 24px; font-size: 14px; }
.arc-btn--sm        { padding: 12px 22px; font-size: 14px; }
.arc-btn { transition: transform .15s ease, box-shadow .15s ease, filter .15s ease, background .15s ease, color .15s ease; }
.arc-btn:hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 8px 20px rgba(0,0,0,.16); }
.arc-btn--outline:hover { background: var(--arc-purple); color: #fff; filter: none; }

/* ============================================================
   SHARED: CHATBOT INPUT ROW
   ============================================================ */
.arc-chat-input-row {
  display: flex; align-items: center; gap: 10px;
  background: #fff; border-radius: var(--arc-r-pill);
  padding: 8px 8px 8px 22px;
}
.arc-chat-input-row input {
  flex: 1; border: none; outline: none;
  font-family: var(--arc-font); font-size: 14px; background: transparent; color: var(--arc-charcoal-500);
}
.arc-chat-send {
  background: var(--arc-purple); color: #fff;
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: none; cursor: pointer;
}
.arc-chat-send--sm { width: 32px; height: 32px; }

/* ============================================================
   PAGE: MARKETING HOME — V1 Library Hero
   ============================================================ */
.arc-home { background: var(--arc-beige); overflow: hidden; }

/* — Hero — */
.arc-hero {
  padding: 40px 64px 120px;
  display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: end;
}
.arc-hero__eyebrow { color: var(--arc-purple); margin-bottom: 32px; display: flex; align-items: center; gap: 12px; }
.arc-hero__line { width: 28px; height: 1.5px; background: var(--arc-purple); flex-shrink: 0; }
.arc-hero__h1 { font-size: clamp(72px,8.6vw,124px); color: var(--arc-purple); margin: 0 0 28px; }
.arc-hero__h1 em { font-style: italic; font-weight: 800; }
.arc-hero__sub { font-size: 22px; line-height: 1.4; color: var(--arc-charcoal); max-width: 540px; margin: 0 0 40px; }
.arc-hero__actions { display: flex; align-items: center; gap: 16px; }
.arc-hero__cta-play {
  color: var(--arc-purple); padding: 18px 24px; font-weight: 700; font-size: 16px;
  display: inline-flex; align-items: center; gap: 10px;
  border-bottom: 2px solid var(--arc-purple); font-family: var(--arc-font);
}
.arc-hero__stats { display: flex; gap: 36px; margin-top: 56px; padding-top: 32px; border-top: 1px solid rgba(69,37,96,.15); max-width: 600px; }
.arc-hero__stat-n { font-size: 28px; font-weight: 900; color: var(--arc-purple); letter-spacing: -.02em; font-family: var(--arc-font); }
.arc-hero__stat-l { font-size: 13px; color: var(--arc-charcoal-500); margin-top: 4px; }

.arc-hero__photos  { position: relative; height: 680px; }
.arc-hero__photo-a { position: absolute; top: 0; right: 0; width: 380px; height: 480px; border-radius: var(--arc-r-lg); }
.arc-hero__photo-b { position: absolute; bottom: 0; left: 0; width: 280px; height: 280px; border-radius: var(--arc-r-lg); }
.arc-hero__badge {
  position: absolute; top: 360px; right: -20px;
  background: var(--arc-sunshine); color: var(--arc-purple);
  padding: 16px 22px; border-radius: var(--arc-r-md); font-weight: 700; font-size: 14px;
  box-shadow: var(--arc-sh-md); display: flex; align-items: center; gap: 10px; max-width: 240px; font-family: var(--arc-font);
}
.arc-hero__badge-label { font-size: 12px; opacity:.75; font-weight: 600; }

/* — Chatbot panel — */
.arc-chatbot-section { padding: 0 64px 120px; }
.arc-chatbot-panel {
  background: #fff; border-radius: var(--arc-r-xl); padding: 56px 64px;
  box-shadow: var(--arc-sh-sm); border: 1px solid rgba(69,37,96,.08);
}
.arc-chatbot-panel__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.arc-chatbot-panel__h2 { font-size: 56px; color: var(--arc-purple); margin: 0 0 20px; }
.arc-chatbot-panel__sub { font-size: 18px; line-height: 1.5; color: var(--arc-charcoal); max-width: 420px; margin: 0; }
.arc-chatbot-panel__checks { display: flex; gap: 24px; margin-top: 36px; color: var(--arc-purple); }
.arc-chatbot-panel__check { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; font-family: var(--arc-font); }

.arc-chatbot-widget { background: var(--arc-beige); border-radius: var(--arc-r-lg); padding: 28px; }
.arc-chatbot-widget__header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.arc-chatbot-widget__avatar {
  width: 36px; height: 36px; border-radius: 50%; background: var(--arc-purple);
  display: flex; align-items: center; justify-content: center; color: var(--arc-sunshine); flex-shrink: 0;
}
.arc-chatbot-widget__name   { font-weight: 800; font-size: 14px; color: var(--arc-purple); font-family: var(--arc-font); }
.arc-chatbot-widget__status { font-size: 12px; color: var(--arc-charcoal-500); }
.arc-chatbot-widget__bubble {
  background: #fff; padding: 18px 20px; border-radius: var(--arc-r-md);
  font-size: 15px; line-height: 1.5; color: var(--arc-charcoal); margin-bottom: 20px; max-width: 92%;
}
.arc-chatbot-widget__starters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.arc-chatbot-widget__starter {
  background: #fff; border: 1.5px solid rgba(69,37,96,.14); color: var(--arc-purple);
  padding: 10px 16px; border-radius: var(--arc-r-pill); font-size: 13px; font-weight: 600; font-family: var(--arc-font);
}

/* — Three pillars — */
.arc-pillars { padding: 0 64px 140px; }
.arc-pillars__hdr { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 56px; }
.arc-pillars__link {
  color: var(--arc-purple); font-weight: 700; font-size: 15px;
  display: inline-flex; align-items: center; gap: 8px;
  border-bottom: 2px solid var(--arc-purple); padding-bottom: 4px; font-family: var(--arc-font);
}
.arc-pillars__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.arc-pillar {
  background: #fff; border-radius: var(--arc-r-lg); padding: 36px;
  border: 1px solid rgba(69,37,96,.08); display: flex; flex-direction: column; min-height: 420px;
}
.arc-pillar__icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 28px; }
.arc-pillar__icon--rose { background: var(--arc-rose); }
.arc-pillar__icon--grass { background: var(--arc-grass); }
.arc-pillar__icon--sun  { background: var(--arc-sunshine); }
.arc-pillar__kicker { font-size: 12px; font-weight: 700; letter-spacing:.16em; text-transform: uppercase; color: var(--arc-charcoal-500); margin-bottom: 12px; font-family: var(--arc-font); }
.arc-pillar__h3  { font-size: 32px; color: var(--arc-purple); margin: 0 0 14px; }
.arc-pillar__copy { font-size: 15px; line-height: 1.55; color: var(--arc-charcoal); margin: 0 0 24px; }
.arc-pillar__list { display: flex; flex-direction: column; gap: 10px; margin: 0 0 28px; }
.arc-pillar__list li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--arc-charcoal); }
.arc-pillar__dot { width: 5px; height: 5px; border-radius: 50%; background: var(--arc-purple); flex-shrink: 0; }
.arc-pillar__cta { margin-top: auto; color: var(--arc-purple); font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--arc-font); }

/* — Featured editorial — */
.arc-featured { padding: 0 64px 140px; }
.arc-featured__hdr { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48px; }
.arc-featured__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.arc-featured-card__photo { width: 100%; height: 280px; border-radius: var(--arc-r-lg); margin-bottom: 20px; }
.arc-featured-card__type { font-size: 12px; font-weight: 700; letter-spacing:.16em; text-transform: uppercase; color: var(--arc-purple); margin-bottom: 12px; font-family: var(--arc-font); }
.arc-featured-card__title { font-family: var(--arc-font); font-weight: 900; font-size: 24px; line-height: 1.15; letter-spacing: -.015em; color: var(--arc-purple); margin: 0; }

/* — Testimonial band — */
.arc-testimonial { background: var(--arc-purple); padding: 120px 64px; color: #fff; }
.arc-testimonial__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; align-items: center; }
.arc-testimonial__quote { font-family: var(--arc-font); font-weight: 900; font-size: 46px; line-height: 1.15; letter-spacing: -.02em; margin: 20px 0 36px; color: #fff; }
.arc-testimonial__author { display: flex; align-items: center; gap: 16px; }
.arc-testimonial__avatar { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; }
.arc-testimonial__name { font-weight: 800; font-size: 16px; }
.arc-testimonial__role { font-size: 14px; opacity:.7; }
.arc-testimonial__secondary { display: flex; flex-direction: column; gap: 16px; }
.arc-testimonial__mini {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--arc-r-md); padding: 22px;
}
.arc-testimonial__mini p   { font-size: 15px; line-height: 1.5; margin: 0 0 12px; color: #fff; }
.arc-testimonial__mini .attr { font-size: 13px; opacity:.7; }

/* — CTA section — */
.arc-cta { padding: 120px 64px; text-align: center; }
.arc-cta__h2 { font-size: clamp(60px,6.6vw,96px); color: var(--arc-purple); margin: 0 auto 32px; max-width: 1000px; }
.arc-cta__sub { font-size: 20px; color: var(--arc-charcoal); max-width: 600px; margin: 0 auto 40px; }
.arc-cta__actions { display: flex; justify-content: center; gap: 16px; }

/* ============================================================
   PAGE: MEMBER HOME
   ============================================================ */
.arc-member-home { background: var(--arc-beige); min-height: 100vh; }

/* Align the body sections with the nav's centered container so the hero and
   all content line up under the logo (nav uses max-width:1416px; margin:auto). */
.arc-member-hero,
.arc-member-chatbot-section,
.arc-member-browse,
.arc-specialist-section { max-width: 1416px; margin-left: auto; margin-right: auto; }
.arc-member-hero { padding: 48px 48px 0; }
.arc-member-home .arc-member-hero__title { font-size: clamp(34px, 5vw, 52px); color: var(--arc-purple); max-width: 820px; }
.arc-member-chatbot-section { padding: 24px 48px 24px; }
.arc-member-chatbot {
  background: var(--arc-purple); border-radius: var(--arc-r-xl); padding: 36px;
  color: #fff; position: relative; overflow: hidden;
}
.arc-member-chatbot__dots { position: absolute; top: -30px; right: -30px; opacity:.15; pointer-events: none; }
.arc-member-chatbot__grid { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.arc-member-chatbot__hdr { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.arc-member-chatbot__avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--arc-beige); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
/* Uploads are expected charcoal-on-beige (matching --arc-beige), so the image
   canvas blends seamlessly into the circle. No blend mode: multiply would
   darken beige-on-beige and leave a visible square. */
.arc-member-chatbot__avatar-img { width: 36px; height: 36px; object-fit: contain; }
.arc-member-chatbot__title    { font-weight: 800; font-size: 16px; color: #fff; font-family: var(--arc-font); }
.arc-member-chatbot__subtitle { font-size: 12.5px; color: rgba(255,255,255,.7); }
.arc-member-chatbot__h2 { font-family: var(--arc-font); font-weight: 900; font-size: 38px; line-height: 1.05; letter-spacing: -.02em; margin: 0 0 24px; color: #fff; }
.arc-member-chatbot__input-row {
  display: flex; align-items: center; gap: 10px;
  background: #fff; border-radius: var(--arc-r-pill); padding: 8px 8px 8px 22px; box-shadow: var(--arc-sh-md);
}
.arc-member-chatbot__input-row input { flex: 1; border: none; outline: none; font-family: var(--arc-font); font-size: 15px; color: var(--arc-charcoal); background: transparent; }
.arc-member-chatbot__ask {
  background: var(--arc-purple); color: #fff; padding: 12px 22px; border-radius: var(--arc-r-pill);
  font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--arc-font); border: none; cursor: pointer;
}
.arc-member-chatbot__checks { display: flex; align-items: center; gap: 18px; margin-top: 18px; font-size: 12.5px; color: rgba(255,255,255,.7); }
.arc-member-chatbot__check { display: flex; align-items: center; gap: 6px; font-family: var(--arc-font); }
.arc-member-chatbot__starters-lbl { font-size: 11.5px; font-weight: 800; letter-spacing:.18em; text-transform: uppercase; color: var(--arc-sunshine); margin-bottom: 14px; }
.arc-member-chatbot__starters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.arc-member-home .arc-member-chatbot__starter {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: #fff;
  padding: 12px 14px; border-radius: 10px; font-family: var(--arc-font); font-size: 13px; font-weight: 500;
  text-align: left; display: flex; justify-content: space-between; align-items: center; gap: 10px; cursor: pointer;
}

.arc-member-browse { padding: 40px 48px 24px; }
.arc-member-browse__hdr { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.arc-member-browse__h2  { font-size: 26px; color: var(--arc-purple); margin: 0; letter-spacing: -.015em; }
.arc-member-browse__more { font-size: 13.5px; font-weight: 700; color: var(--arc-purple); display: inline-flex; align-items: center; gap: 6px; font-family: var(--arc-font); }
.arc-member-browse__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }

.arc-cat-card { background: #fff; border-radius: var(--arc-r-lg); padding: 28px; border: 1px solid rgba(69,37,96,.08); display: flex; flex-direction: column; }
.arc-cat-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.arc-cat-card__icon { width: 52px; height: 52px; border-radius: 12px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.arc-cat-card__icon-img { width: 28px; height: 28px; object-fit: contain; }
.arc-cat-card__icon--rose  { background: var(--arc-rose); }
.arc-cat-card__icon--grass { background: var(--arc-grass); }
.arc-cat-card__icon--sun   { background: var(--arc-sunshine); }
.arc-cat-card__count  { font-size: 12px; font-weight: 700; color: var(--arc-charcoal-500); font-family: var(--arc-font); }
.arc-member-home .arc-cat-card__name { font-size: 24px; color: var(--arc-purple); margin: 0 0 14px; letter-spacing: -.015em; }
.arc-member-home .arc-cat-card__list { display: flex; flex-direction: column; gap: 11px; margin: 0 0 22px; }
.arc-cat-card__list li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--arc-charcoal); }
.arc-cat-card__cta {
  margin-top: auto; color: var(--arc-purple); font-weight: 700; font-size: 13.5px;
  display: inline-flex; align-items: center; gap: 6px;
  border-bottom: 2px solid var(--arc-purple); padding-bottom: 2px; align-self: flex-start; font-family: var(--arc-font);
}

.arc-member-templates { padding: 40px 48px 24px; }
.arc-member-templates__hdr { margin-bottom: 22px; }
.arc-member-templates__h2  { font-size: 26px; color: var(--arc-purple); margin: 0; letter-spacing: -.015em; }
.arc-member-templates__sub { font-size: 14px; color: var(--arc-charcoal-500); margin: 6px 0 0; }
.arc-member-templates__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }

.arc-template-card { background: #fff; border-radius: var(--arc-r-md); padding: 18px 20px; border: 1px solid rgba(69,37,96,.08); display: flex; align-items: center; gap: 16px; }
.arc-template-card__icon { width: 44px; height: 52px; border-radius: 6px; background: var(--arc-beige-deep); border: 1px solid rgba(69,37,96,.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.arc-template-card__meta  { flex: 1; min-width: 0; }
.arc-template-card__tags  { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.arc-template-card__cat   { font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; color: var(--arc-purple); font-family: var(--arc-font); }
.arc-template-card__cat--hr      { background: var(--arc-rose); }
.arc-template-card__cat--legal   { background: var(--arc-grass); }
.arc-template-card__cat--finance { background: var(--arc-sunshine); }
.arc-template-card__new  { background: var(--arc-purple); color: #fff; font-size: 10px; font-weight: 800; padding: 2px 7px; border-radius: 999px; letter-spacing:.08em; font-family: var(--arc-font); }
.arc-template-card__name { font-family: var(--arc-font); font-weight: 800; font-size: 14.5px; color: var(--arc-purple); letter-spacing: -.005em; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; word-break: break-word; }
.arc-template-card__dl   { width: 36px; height: 36px; border-radius: 50%; background: var(--arc-beige-deep); border: 1px solid rgba(69,37,96,.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; }

.arc-specialist-section { padding: 40px 48px 64px; }
.arc-specialist-card { background: var(--arc-charcoal); color: #fff; border-radius: var(--arc-r-xl); padding: 32px; display: flex; align-items: center; gap: 32px; }
.arc-specialist-card__avatar  { width: 120px; height: 120px; border-radius: 50%; flex-shrink: 0; }
.arc-specialist-card__kicker  { font-size: 12px; font-weight: 800; letter-spacing:.16em; text-transform: uppercase; color: var(--arc-sunshine); margin-bottom: 10px; font-family: var(--arc-font); }
.arc-member-home .arc-specialist-card__h3 { font-family: var(--arc-font); font-weight: 900; font-size: 26px; color: #fff; margin: 0 0 10px; letter-spacing: -.015em; }
.arc-member-home .arc-specialist-card__copy { font-size: 14px; color: rgba(255,255,255,.78); margin: 0 0 20px; max-width: 480px; line-height: 1.55; }
.arc-member-home .arc-specialist-card .arc-btn--sun { color: var(--arc-purple); }
.arc-specialist-card__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.arc-member-home .arc-specialist-card__phone { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.45); }
.arc-member-home .arc-specialist-card__phone:hover { background: #fff; color: var(--arc-purple); border-color: #fff; }

/* Member home — interactive hover states */
.arc-cat-card, .arc-template-card { transition: transform .15s ease, box-shadow .15s ease; }
.arc-member-home a, .arc-member-home button { transition: color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease, gap .15s ease, opacity .15s ease; }
.arc-member-home .arc-member-chatbot__ask:hover { filter: brightness(1.08); }
.arc-member-home .arc-member-chatbot__starter:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.32); transform: translateY(-1px); }
.arc-member-browse__more:hover { opacity: .68; gap: 9px; }
.arc-cat-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(69,37,96,.12); }
.arc-cat-card__list li a:hover { color: var(--arc-purple); text-decoration: underline; }
.arc-cat-card__cta:hover { gap: 9px; opacity: .85; }
.arc-template-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(69,37,96,.1); }
.arc-template-card__name a:hover { text-decoration: underline; }
.arc-template-card__dl:hover { background: var(--arc-sunshine); border-color: var(--arc-sunshine); transform: translateY(-1px); }
.arc-footer-slim__links a:hover { color: var(--arc-purple); }

/* ============================================================
   PAGE: LIBRARY LISTING
   ============================================================ */
.arc-library { background: var(--arc-beige); min-height: 100vh; }
.arc-library__page-hdr { padding: 40px 48px 24px; max-width: 1416px; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; border-bottom: 1px solid rgba(69,37,96,.1); }
.arc-library__breadcrumb { font-size: 12.5px; color: var(--arc-charcoal-500); margin-bottom: 14px; font-weight: 600; }
.arc-library__breadcrumb a { color: inherit; }
.arc-library__breadcrumb .sep { margin: 0 8px; opacity:.5; }
.arc-library__breadcrumb .current { color: var(--arc-purple); }
.arc-library__h1  { font-size: 56px; color: var(--arc-purple); margin: 0; }
.arc-library__sub { font-size: 16px; color: var(--arc-charcoal); margin: 10px 0 0; max-width: 580px; line-height: 1.5; }
.arc-library__controls { display: flex; align-items: center; gap: 14px; }
.arc-library__search { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: var(--arc-r-pill); padding: 11px 18px; border: 1px solid rgba(69,37,96,.12); min-width: 380px; }
.arc-library__search input { flex: 1; border: none; outline: none; background: transparent; font-family: var(--arc-font); font-size: 14px; color: var(--arc-charcoal-500); }
.arc-library__sort  { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid rgba(69,37,96,.12); border-radius: var(--arc-r-pill); padding: 11px 18px; font-family: var(--arc-font); font-size: 14px; font-weight: 600; color: var(--arc-purple); }

.arc-library__body { padding: 32px 48px 64px; max-width: 1416px; margin: 0 auto; display: grid; grid-template-columns: 260px 1fr; gap: 32px; }

.arc-library__filters-sticky { position: sticky; top: 96px; }
.arc-filters-hdr { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.arc-filters-hdr h2 { font-size: 18px; color: var(--arc-purple); margin: 0; font-weight: 900; }
.arc-filters-hdr a  { font-size: 12.5px; font-weight: 700; color: var(--arc-purple); font-family: var(--arc-font); }
/* Toggle button — inert/transparent on desktop, becomes a tappable bar on mobile */
.arc-filters-toggle { width: 100%; background: none; border: none; padding: 0; cursor: default; font-family: var(--arc-font); text-align: left; }
.arc-filters-hdr__chevron { display: none; flex-shrink: 0; transition: transform .2s ease; }
.arc-filter-group { padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid rgba(69,37,96,.1); }
.arc-filter-group__title-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.arc-filter-group__title { font-family: var(--arc-font); font-weight: 800; font-size: 13px; color: var(--arc-purple); margin: 0; letter-spacing:.06em; text-transform: uppercase; }
.arc-filter-group__items { display: flex; flex-direction: column; gap: 10px; }
.arc-filter-item { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--arc-charcoal); font-family: var(--arc-font); }
.arc-filter-item__cb { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid rgba(69,37,96,.3); background: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.arc-filter-item__cb.checked { background: var(--arc-purple); border-color: var(--arc-purple); }
.arc-filter-item.checked .arc-filter-item__name { color: var(--arc-purple); font-weight: 700; }
.arc-filter-item__count { font-size: 12px; color: var(--arc-charcoal-500); }

.arc-library__active-filters { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.arc-library__filter-count { font-size: 13px; font-weight: 700; color: var(--arc-charcoal-500); font-family: var(--arc-font); }
.arc-active-filter { background: #fff; border: 1px solid rgba(69,37,96,.14); color: var(--arc-purple); padding: 6px 10px 6px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; font-family: var(--arc-font); }

.arc-lib-featured { background: var(--arc-purple); color: #fff; border-radius: var(--arc-r-xl); margin-bottom: 24px; overflow: hidden; display: grid; grid-template-columns: 1.05fr .95fr; min-height: 320px; }
.arc-lib-featured__photo { height: 100%; min-height: 320px; }
.arc-lib-featured__content { padding: 40px 40px 36px; display: flex; flex-direction: column; justify-content: space-between; }
.arc-lib-featured__tag-row { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.arc-lib-featured__badge { background: var(--arc-sunshine); color: var(--arc-purple); font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 999px; letter-spacing:.08em; text-transform: uppercase; font-family: var(--arc-font); }
.arc-lib-featured__cat   { font-size: 12px; font-weight: 700; color: var(--arc-rose); letter-spacing:.14em; text-transform: uppercase; font-family: var(--arc-font); }
.arc-lib-featured__h2    { font-family: var(--arc-font); font-weight: 900; font-size: 36px; line-height: 1.05; letter-spacing: -.02em; margin: 0 0 16px; color: #fff; }
.arc-lib-featured__blurb { font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.78); margin: 0; }
.arc-lib-featured__footer { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; }
.arc-lib-featured__author { display: flex; align-items: center; gap: 12px; }
.arc-lib-featured__avatar { width: 38px; height: 38px; border-radius: 50%; }
.arc-lib-featured__author-name { font-weight: 700; font-size: 13px; color: #fff; font-family: var(--arc-font); }
.arc-lib-featured__author-meta { font-size: 12px; color: rgba(255,255,255,.65); font-family: var(--arc-font); }

.arc-lib-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: start; }
/* Cards with no thumbnail: drop the image area and size to content */
.arc-lib-card--no-photo .arc-lib-card__body { padding-top: 20px; }
.arc-lib-card { background: #fff; border-radius: var(--arc-r-lg); border: 1px solid rgba(69,37,96,.08); overflow: hidden; display: flex; flex-direction: column; }
.arc-lib-card__photo { width: 100%; height: 140px; }
/* Real <img> thumbnails must crop, not stretch */
.arc-lib-card__photo--img { display: block; width: 100%; height: 140px; object-fit: cover; object-position: center; }
.arc-lib-featured__photo--img { display: block; width: 100%; height: 100%; min-height: 320px; object-fit: cover; object-position: center; }
.arc-lib-card__body  { padding: 18px; display: flex; flex-direction: column; flex: 1; }
.arc-lib-card__tags  { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.arc-lib-card__cat   { font-size: 10.5px; font-weight: 700; padding: 3px 8px; border-radius: 999px; color: var(--arc-purple); font-family: var(--arc-font); }
.arc-lib-card__cat--hr { background: var(--arc-rose); }
.arc-lib-card__cat--legal { background: var(--arc-grass); }
.arc-lib-card__cat--finance { background: var(--arc-sunshine); }
.arc-lib-card__type  { font-size: 11.5px; color: var(--arc-charcoal-500); font-family: var(--arc-font); }
.arc-lib-card__title { font-family: var(--arc-font); font-weight: 800; font-size: 16.5px; color: var(--arc-purple); margin: 0 0 14px; letter-spacing: -.01em; line-height: 1.25; }
.arc-lib-card__footer { margin-top: auto; display: flex; align-items: center; justify-content: flex-end; padding-top: 12px; border-top: 1px solid rgba(69,37,96,.08); }
.arc-library .arc-lib-card__excerpt { font-size: 13px; color: var(--arc-charcoal-500); font-family: var(--arc-font); line-height: 1.5; margin: 0 0 14px; }
.arc-lib-card__date  { font-size: 12px; color: var(--arc-charcoal-500); font-family: var(--arc-font); }
.arc-lib-card__read  { font-size: 12.5px; font-weight: 700; color: var(--arc-purple); display: inline-flex; align-items: center; gap: 4px; font-family: var(--arc-font); }

.arc-pagination { display: flex; align-items: center; justify-content: space-between; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(69,37,96,.1); }
.arc-pagination__info  { font-size: 13px; color: var(--arc-charcoal-500); font-family: var(--arc-font); }
.arc-pagination__pages { display: flex; align-items: center; gap: 6px; }
.arc-pagination__arr   { width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 1px solid rgba(69,37,96,.14); color: var(--arc-purple); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.arc-pagination__arr.next { background: var(--arc-purple); border-color: var(--arc-purple); color: #fff; }
.arc-pagination__page  { min-width: 36px; height: 36px; border-radius: 8px; background: transparent; color: var(--arc-purple); border: none; font-family: var(--arc-font); font-weight: 700; font-size: 13px; padding: 0 12px; cursor: pointer; }
.arc-pagination__page.active { background: var(--arc-purple); color: #fff; }

/* --- Library: override .arc-page element resets (specificity 0,1,1) --- */
.arc-library .arc-library__h1   { margin: 0; }
.arc-library .arc-library__sub  { margin: 10px 0 0; }
.arc-library .arc-active-filter { color: var(--arc-purple); }
.arc-library .arc-lib-featured__h2    { margin: 0 0 16px; }
.arc-library .arc-lib-featured__blurb { margin: 0; }
.arc-library .arc-lib-card__title { margin: 0 0 14px; }
.arc-library .arc-lib-card__read  { color: var(--arc-purple); }
.arc-library .arc-lib-card__title a,
.arc-library .arc-lib-card__read  { color: var(--arc-purple); }
.arc-library .arc-library__breadcrumb a { color: inherit; }
.arc-library .arc-library__breadcrumb .current { color: var(--arc-purple); }
/* Hover states */
.arc-library a.arc-lib-card { text-decoration: none; color: inherit; }
.arc-library .arc-lib-card { transition: transform .15s, box-shadow .15s; }
.arc-library .arc-lib-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(69,37,96,.12); }
.arc-library .arc-lib-card:hover .arc-lib-card__title { text-decoration: underline; }
.arc-library .arc-lib-card:hover .arc-lib-card__read { gap: 7px; opacity: .82; }
.arc-library .arc-lib-card__read:hover { gap: 7px; opacity: .82; }
.arc-library .arc-filter-item:hover .arc-filter-item__name { color: var(--arc-purple); }
.arc-library .arc-pagination__page:hover { background: rgba(69,37,96,.08); }
.arc-library .arc-pagination__arr:hover { filter: brightness(.97); }
.arc-library .arc-active-filter:hover { border-color: rgba(69,37,96,.3); }
.arc-library .arc-library__search-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0; background: none; border: none; cursor: pointer; line-height: 0; }
.arc-library .arc-library__search-btn:hover { opacity: .7; }
/* Pagination: center digits, fix inherited link colour, match circular arrows */
.arc-library .arc-pagination__page {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 8px; box-sizing: border-box;
  border-radius: 999px; color: var(--arc-purple); text-decoration: none;
}
.arc-library .arc-pagination__page.active { background: var(--arc-purple); color: #fff; }
.arc-library .arc-pagination__page--ellipsis { min-width: 0; padding: 0 2px; background: none; color: var(--arc-charcoal-500); }
.arc-library .arc-pagination__page--ellipsis:hover { background: none; }

/* ============================================================
   PAGE: ARTICLE DETAIL
   ============================================================ */
.arc-article { background: var(--arc-beige); min-height: 100vh; }
.arc-article__breadcrumb { padding: 28px 56px 0; max-width: 1320px; margin: 0 auto; font-size: 12.5px; color: var(--arc-charcoal-500); font-weight: 600; font-family: var(--arc-font); }
.arc-article__breadcrumb a { color: inherit; }
.arc-article__breadcrumb .sep { margin: 0 8px; opacity:.5; }
.arc-article__breadcrumb .current { color: var(--arc-purple); }


.arc-article__header { padding: 32px 48px 48px; max-width: 1240px; margin: 0 auto; }
.arc-article__tags   { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.arc-article__cat-tag { font-size: 11.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; letter-spacing:.04em; text-transform: uppercase; color: var(--arc-purple); font-family: var(--arc-font); }
.arc-article__cat-tag--hr     { background: var(--arc-rose); }
.arc-article__cat-tag--legal  { background: var(--arc-grass); }
.arc-article__cat-tag--finance { background: var(--arc-sunshine); }
.arc-article__type-tag { font-size: 12px; font-weight: 700; color: var(--arc-charcoal-500); letter-spacing:.14em; text-transform: uppercase; font-family: var(--arc-font); }
.arc-article__h1 { font-family: var(--arc-font); font-weight: 900; font-size: clamp(40px,5vw,72px); line-height:.98; letter-spacing: -.03em; color: var(--arc-purple); margin: 0 0 22px; max-width: 920px; padding-bottom: 1.5rem; }
.arc-article__dek { font-size: 21px; line-height: 1.4; color: var(--arc-charcoal); margin: 0; max-width: 820px; }
.arc-article__meta-row { display: flex; align-items: center; justify-content: space-between; margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(69,37,96,.1); }
.arc-article__author-grp { display: flex; align-items: center; gap: 14px; }
.arc-article__author-avatar { width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0; }
.arc-article__author-name { font-weight: 700; color: var(--arc-purple); font-size: 14px; font-family: var(--arc-font); }
.arc-article__author-meta { color: var(--arc-charcoal-500); font-size: 13px; font-family: var(--arc-font); }
.arc-article__actions { display: flex; align-items: center; gap: 8px; }
.arc-article__action {
  background: #fff; border: 1px solid rgba(69,37,96,.14); color: var(--arc-purple);
  padding: 10px 16px; border-radius: var(--arc-r-pill); font-family: var(--arc-font); font-weight: 700; font-size: 13px;
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
}
.arc-article__action--primary { background: var(--arc-purple); border-color: var(--arc-purple); color: #fff; }

.arc-article__hero-wrap { padding: 0 48px 48px; max-width: 1240px; margin: 0 auto; }
.arc-article__hero-photo { width: 100%; height: 440px; border-radius: var(--arc-r-xl); }
.arc-article__hero-caption { font-size: 12.5px; color: var(--arc-charcoal-500); margin-top: 12px; font-family: var(--arc-font); }

.arc-article__body { padding: 0 48px 80px; max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 64px; }
.arc-article__content { font-size: 18px; line-height: 1.65; color: var(--arc-charcoal); font-family: var(--arc-font); }
.arc-article__content p { margin: 0 0 24px; }
.arc-article__content h2 { font-family: var(--arc-font); font-weight: 900; font-size: 32px; color: var(--arc-purple); margin: 48px 0 16px; letter-spacing: -.015em; scroll-margin-top: 96px; }
.arc-article__content ul { padding-left: 22px; margin: 16px 0 24px; list-style: disc; }
.arc-article__content li { margin-bottom: 10px; }
.arc-article__content strong { color: var(--arc-purple); }
.arc-article__intro { font-size: 21px; line-height: 1.5; color: var(--arc-charcoal); margin: 0 0 24px; }

.arc-pullquote { background: var(--arc-rose); color: var(--arc-purple); border-radius: var(--arc-r-lg); padding: 32px 36px; margin: 40px 0; }
.arc-pullquote p { font-family: var(--arc-font); font-weight: 800; font-size: 22px; line-height: 1.3; letter-spacing: -.01em; margin: 8px 0 0; color: var(--arc-purple); }

.arc-callout { background: #fff; border: 1px solid rgba(69,37,96,.1); border-radius: var(--arc-r-lg); padding: 24px 28px; margin: 32px 0; display: flex; gap: 18px; align-items: flex-start; }
.arc-callout__icon { width: 40px; height: 40px; border-radius: 10px; background: var(--arc-sunshine); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.arc-callout__label { font-size: 12px; font-weight: 800; letter-spacing:.14em; text-transform: uppercase; color: var(--arc-purple); margin-bottom: 6px; font-family: var(--arc-font); }
.arc-callout p { font-size: 16px; line-height: 1.5; margin: 0; color: var(--arc-charcoal); font-family: var(--arc-font); }

.arc-article__specialist-cta { background: var(--arc-purple); color: #fff; border-radius: var(--arc-r-xl); padding: 32px; margin: 56px 0 0; display: flex; align-items: center; gap: 28px; }
.arc-article__specialist-avatar { width: 88px; height: 88px; border-radius: 50%; flex-shrink: 0; }
.arc-article__specialist-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--arc-beige); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.arc-article__specialist-kicker { font-size: 12px; font-weight: 800; letter-spacing:.16em; text-transform: uppercase; color: var(--arc-sunshine); margin-bottom: 8px; font-family: var(--arc-font); }
.arc-article__specialist-h3 { font-family: var(--arc-font); font-weight: 900; font-size: 22px; color: #fff; margin: 0; letter-spacing: -.01em; }
.arc-article__specialist-copy { font-size: 14px; color: rgba(255,255,255,.78); margin: 8px 0 0; max-width: 460px; line-height: 1.5; }
.arc-article__specialist-cta .arc-btn { flex-shrink: 0; white-space: nowrap; }
/* Beat `.arc-page a { color: inherit }` (0,1,1) so the sun button keeps its
   dark purple label instead of inheriting the card's white text. */
.arc-article__specialist-cta .arc-btn--sun { color: var(--arc-purple); }
/* Same card below the listing — sits inside the results column, so it lines
   up with the card grid rather than spanning the full library width. */
.arc-library__cta { margin-top: 32px; }
.arc-library__cta .arc-article__specialist-cta { margin: 0; }

.arc-article__sidebar-sticky { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 20px; }

.arc-toc { background: #fff; border-radius: var(--arc-r-lg); padding: 24px; border: 1px solid rgba(69,37,96,.08); }
.arc-toc__label { font-size: 12px; font-weight: 800; letter-spacing:.14em; text-transform: uppercase; color: var(--arc-purple); margin-bottom: 16px; font-family: var(--arc-font); }
.arc-toc__list  { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; padding: 0; }
.arc-toc__item  { display: flex; align-items: flex-start; gap: 10px; padding: 4px 0; }
.arc-toc__num  { font-family: var(--arc-font); font-weight: 800; font-size: 12px; color: var(--arc-charcoal-500); flex-shrink: 0; width: 20px; }
.arc-toc__link { font-size: 14px; line-height: 1.4; color: var(--arc-charcoal); font-weight: 500; font-family: var(--arc-font); }
.arc-toc__footer { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(69,37,96,.1); display: flex; justify-content: space-between; font-size: 12px; color: var(--arc-charcoal-500); font-family: var(--arc-font); }
.arc-toc__footer-time { font-weight: 700; color: var(--arc-purple); }

.arc-ask-bot { background: var(--arc-beige-deep); border-radius: var(--arc-r-lg); padding: 24px; border: 1px solid rgba(69,37,96,.1); }
.arc-ask-bot__hdr  { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.arc-ask-bot__avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--arc-purple); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.arc-ask-bot__name { font-family: var(--arc-font); font-weight: 800; font-size: 15px; color: var(--arc-purple); }
.arc-ask-bot__copy { font-size: 13.5px; line-height: 1.45; color: var(--arc-charcoal); margin: 0 0 14px; font-family: var(--arc-font); }
.arc-ask-bot__input { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid rgba(69,37,96,.14); border-radius: var(--arc-r-pill); padding: 6px 6px 6px 14px; }
.arc-ask-bot__input input { flex: 1; border: none; outline: none; font-family: var(--arc-font); font-size: 13px; background: transparent; color: var(--arc-charcoal-500); }
.arc-ask-bot__send { background: var(--arc-purple); color: #fff; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: none; cursor: pointer; }

.arc-related-tpls { background: #fff; border-radius: var(--arc-r-lg); padding: 24px; border: 1px solid rgba(69,37,96,.08); }
.arc-related-tpls__label { font-size: 12px; font-weight: 800; letter-spacing:.14em; text-transform: uppercase; color: var(--arc-purple); margin-bottom: 14px; font-family: var(--arc-font); }
.arc-related-tpls__list { display: flex; flex-direction: column; gap: 12px; }
.arc-related-tpl { display: flex; align-items: center; gap: 12px; }
.arc-related-tpl__icon { width: 32px; height: 40px; border-radius: 5px; background: var(--arc-beige-deep); border: 1px solid rgba(69,37,96,.08); display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; }
.arc-related-tpl__type { font-size: 7.5px; font-weight: 800; color: var(--arc-purple); margin-top: 2px; font-family: var(--arc-font); }
.arc-related-tpl__name { font-size: 13px; font-weight: 600; color: var(--arc-purple); letter-spacing: -.005em; line-height: 1.3; font-family: var(--arc-font); }

.arc-article__related-section { padding: 0 48px 80px; max-width: 1240px; margin: 0 auto; }
.arc-article__related-inner { padding-top: 40px; border-top: 1px solid rgba(69,37,96,.12); }
.arc-article__related-h2 { font-family: var(--arc-font); font-weight: 900; font-size: 30px; color: var(--arc-purple); margin: 0 0 24px; letter-spacing: -.015em; }
.arc-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.arc-related-card { background: #fff; border-radius: var(--arc-r-lg); border: 1px solid rgba(69,37,96,.08); padding: 22px; display: flex; flex-direction: column; }
.arc-related-card__cat { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; align-self: flex-start; margin-bottom: 14px; color: var(--arc-purple); font-family: var(--arc-font); }
.arc-related-card__cat--hr     { background: var(--arc-rose); }
.arc-related-card__cat--legal  { background: var(--arc-grass); }
.arc-related-card__cat--finance { background: var(--arc-sunshine); }
.arc-related-card__title { font-family: var(--arc-font); font-weight: 800; font-size: 18px; color: var(--arc-purple); margin: 0 0 16px; letter-spacing: -.01em; line-height: 1.25; }
.arc-related-card__read { margin-top: auto; font-size: 13px; font-weight: 700; color: var(--arc-purple); display: inline-flex; align-items: center; gap: 6px; font-family: var(--arc-font); }

/* ============================================================
   ARTICLE DETAIL — alias class names used in page-arcora-article.php
   ============================================================ */
.arc-article-page { background: var(--arc-beige); min-height: 100vh; }

/* Header section */
.arc-article__hdr { padding: 32px 56px 1.5rem; max-width: 1320px; margin: 0 auto; }
/* First body element lines up flush with the top of the sidebar */
.arc-article__wp-content > *:first-child { margin-top: 0 !important; }
.arc-article__tag-row { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.arc-article__cat { font-size: 11.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; letter-spacing:.04em; text-transform: uppercase; color: var(--arc-purple); font-family: var(--arc-font); background: var(--arc-rose); }
.arc-article__type { font-size: 12px; font-weight: 700; color: var(--arc-charcoal-500); letter-spacing:.14em; text-transform: uppercase; font-family: var(--arc-font); }

/* Author row */
.arc-article__author { display: flex; align-items: center; gap: 14px; }
.arc-article__avatar { width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0; }

/* Action buttons */
.arc-article__action-btn {
  background: #fff; border: 1px solid rgba(69,37,96,.14); color: var(--arc-purple);
  padding: 10px 16px; border-radius: var(--arc-r-pill); font-family: var(--arc-font); font-weight: 700; font-size: 13px;
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
}
.arc-article__action-btn--primary { background: var(--arc-purple); border-color: var(--arc-purple); color: #fff; }

/* Hero image */
.arc-article__hero { padding: 0 56px 48px; max-width: 1320px; margin: 0 auto; }
.arc-article__hero-img {
  display: block; width: 100%; height: auto;
  max-height: 420px; object-fit: cover;
  border-radius: var(--arc-r-xl);
}

/* Body grid */
.arc-article__body-wrap { padding: 0 56px 88px; max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 56px; }
.arc-article__body-wrap--single { grid-template-columns: minmax(0,1fr); max-width: 860px; }
/* Within the body-wrap grid the body is just the reading column — not a nested grid */
.arc-article__body-wrap .arc-article__body { display: block; max-width: none; padding: 0; }
.arc-article__body { font-size: 18px; line-height: 1.65; color: var(--arc-charcoal); font-family: var(--arc-font); }
.arc-article__body p { margin: 0 0 24px; }
.arc-article__h2 { font-family: var(--arc-font); font-weight: 900; font-size: 32px; color: var(--arc-purple); margin: 48px 0 16px; letter-spacing: -.015em; scroll-margin-top: 96px; }
.arc-article__list { padding-left: 22px; margin: 16px 0 24px; list-style: disc; }
.arc-article__list li { margin-bottom: 10px; }
.arc-article__body strong { color: var(--arc-purple); }
.arc-article__sidebar { /* aside — layout handled by parent grid */ }
.arc-article__specialist-body { flex: 1; }

/* TOC alias */
.arc-toc__time { font-weight: 700; color: var(--arc-purple); }

/* Ask bot alias */
.arc-ask-bot__title { font-family: var(--arc-font); font-weight: 800; font-size: 15px; color: var(--arc-purple); }
.arc-ask-bot__input-row { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid rgba(69,37,96,.14); border-radius: var(--arc-r-pill); padding: 6px 6px 6px 14px; }
.arc-ask-bot__input-row input { flex: 1; border: none; outline: none; font-family: var(--arc-font); font-size: 13px; background: transparent; color: var(--arc-charcoal-500); }

/* Related templates aliases */
.arc-related-tpls__item { display: flex; align-items: center; gap: 12px; }
.arc-related-tpls__doc { width: 32px; height: 40px; border-radius: 5px; background: var(--arc-beige-deep); border: 1px solid rgba(69,37,96,.08); display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; }
.arc-related-tpls__filetype { font-size: 7.5px; font-weight: 800; color: var(--arc-purple); margin-top: 2px; font-family: var(--arc-font); }
.arc-related-tpls__name { font-size: 13px; font-weight: 600; color: var(--arc-purple); letter-spacing: -.005em; line-height: 1.3; font-family: var(--arc-font); }

/* Related reading section */
.arc-related-reading { padding: 0 56px 80px; max-width: 1320px; margin: 0 auto; }
.arc-related-reading__inner { padding-top: 40px; border-top: 1px solid rgba(69,37,96,.12); }
.arc-related-reading__h2 { font-family: var(--arc-font); font-weight: 900; font-size: 30px; color: var(--arc-purple); margin: 0 0 24px; letter-spacing: -.015em; }
.arc-related-reading__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }


/* ── WordPress content output styles ──────────────────────── */
.arc-article__wp-content { font-size: 18px; line-height: 1.65; color: var(--arc-charcoal); font-family: var(--arc-font); }
.arc-article__wp-content > * + * { margin-top: 26px !important; }
.arc-article__wp-content p { margin: 0; }
.arc-article__wp-content h2 { font-family: var(--arc-font); font-weight: 900; font-size: 32px; color: var(--arc-purple); margin: 56px 0 12px !important; letter-spacing: -.015em; scroll-margin-top: 96px; }
.arc-article__wp-content h3 { font-family: var(--arc-font); font-weight: 800; font-size: 24px; color: var(--arc-purple); margin: 48px 0 10px !important; letter-spacing: -.01em; }
.arc-article__wp-content h4,
.arc-article__wp-content h5,
.arc-article__wp-content h6 { font-family: var(--arc-font); font-weight: 800; font-size: 19px; color: var(--arc-purple); margin: 40px 0 8px !important; letter-spacing: -.005em; }
/* Tighten the gap below a heading so it groups with the text it introduces
   (overrides the generic 24px top margin from `> * + *`). */
.arc-article__wp-content h2 + *,
.arc-article__wp-content h3 + *,
.arc-article__wp-content h4 + *,
.arc-article__wp-content h5 + *,
.arc-article__wp-content h6 + * { margin-top: 8px !important; }
.arc-article__wp-content ul { padding-left: 22px; list-style: disc; }
.arc-article__wp-content ol { padding-left: 22px; list-style: decimal; }
.arc-article__wp-content li { margin-bottom: 10px; }
.arc-article__wp-content strong { color: var(--arc-purple); font-weight: 700; }
.arc-article__wp-content em { font-style: italic; }
.arc-article__wp-content a { color: var(--arc-purple); text-decoration: underline; text-underline-offset: 2px; }
.arc-article__wp-content blockquote { background: var(--arc-rose); border-left: none; border-radius: var(--arc-r-lg); padding: 32px 36px; margin: 40px 0 !important; }
.arc-article__wp-content blockquote p { font-family: var(--arc-font); font-weight: 800; font-size: 22px; line-height: 1.3; letter-spacing: -.01em; color: var(--arc-purple); }
.arc-article__wp-content figure { margin: 32px 0; }
.arc-article__wp-content figcaption { font-size: 12.5px; color: var(--arc-charcoal-500); margin-top: 10px; }
.arc-article__wp-content img { border-radius: var(--arc-r-md); max-width: 100%; height: auto; }
.arc-article__wp-content hr { border: none; border-top: 1px solid rgba(69,37,96,.1); margin: 40px 0; }
/* Gutenberg block wrappers */
.arc-article__wp-content .wp-block-heading { margin: 0; }
.arc-article__wp-content .wp-block-paragraph { margin: 0; }
.arc-article__wp-content .wp-block-list { padding-left: 22px; }

/* ── AI Engine Pro chatbot overrides ──────────────────────────
 * Targets the CURRENT AI Engine DOM:
 *   .mwai-chatbot-container > .mwai-messages-theme > .mwai-body
 *     > .mwai-conversation                (message log)
 *     > .mwai-input > .mwai-input-text textarea + .mwai-input-submit
 * Scoped to the three Arcora embed wrappers so the floating bubble
 * (if enabled) is never touched. Light treatment by default; the
 * member-home embed sits on the purple card and flips to light text.
 * ───────────────────────────────────────────────────────────── */

/* Full width — AI Engine hardcodes --mwai-width: 460px */
.arc-member-chatbot__ai-embed .mwai-chatbot-container,
.arc-member-chatbot__ai-embed .mwai-messages-theme,
.arc-chat-ai-embed .mwai-chatbot-container,
.arc-chat-ai-embed .mwai-messages-theme,
.arc-ask-bot__ai-embed .mwai-chatbot-container,
.arc-ask-bot__ai-embed .mwai-messages-theme {
  width: 100% !important; max-width: 100% !important;
}
.arc-member-chatbot__ai-embed .mwai-body,
.arc-chat-ai-embed .mwai-body,
.arc-ask-bot__ai-embed .mwai-body {
  background: transparent !important; border: none !important;
  box-shadow: none !important; border-radius: 0 !important;
  font-family: var(--arc-font) !important;
}
.arc-member-chatbot__ai-embed .mwai-header,
.arc-member-chatbot__ai-embed .mwai-footer,
.arc-chat-ai-embed .mwai-header,
.arc-chat-ai-embed .mwai-footer,
.arc-ask-bot__ai-embed .mwai-header,
.arc-ask-bot__ai-embed .mwai-footer { display: none !important; }

/* Conversation log — solid card with dark text. White-on-translucent-purple
 * is fragile; a crisp card reads cleanly on both the beige article pages and
 * the purple member card, and pairs with the white input pill below it. */
.arc-member-chatbot__ai-embed .mwai-conversation,
.arc-chat-ai-embed .mwai-conversation,
.arc-ask-bot__ai-embed .mwai-conversation {
  background: #fff !important;
  border-radius: var(--arc-r-lg) !important;
  padding: 16px !important; margin-bottom: 12px !important;
  font-size: 14px !important; line-height: 1.55 !important;
  color: var(--arc-charcoal) !important;
  max-height: 360px !important; overflow-y: auto !important;
}
/* Article embeds sit on beige — a faint tint reads better than stark white */
.arc-chat-ai-embed .mwai-conversation,
.arc-ask-bot__ai-embed .mwai-conversation {
  background: rgba(69,37,96,.04) !important;
}
/* Member embed sits on the purple card — white card + soft shadow.
 * Taller window + slightly larger text than the article embeds. */
.arc-member-chatbot__ai-embed .mwai-conversation {
  background: #fff !important; box-shadow: 0 8px 24px rgba(69,37,96,.18) !important;
  max-height: 480px !important; font-size: 15.5px !important;
}
.arc-member-chatbot__ai-embed .mwai-reply .mwai-text,
.arc-member-chatbot__ai-embed .mwai-reply .mwai-text * {
  font-size: 15.5px !important;
}
/* AI reply text and every nested element → charcoal (defeats plugin/theme colors) */
.arc-member-chatbot__ai-embed .mwai-reply.mwai-ai .mwai-text,
.arc-chat-ai-embed .mwai-reply.mwai-ai .mwai-text,
.arc-ask-bot__ai-embed .mwai-reply.mwai-ai .mwai-text,
.arc-member-chatbot__ai-embed .mwai-reply.mwai-ai .mwai-text *,
.arc-chat-ai-embed .mwai-reply.mwai-ai .mwai-text *,
.arc-ask-bot__ai-embed .mwai-reply.mwai-ai .mwai-text * {
  color: var(--arc-charcoal) !important; font-family: var(--arc-font) !important;
}
/* Paragraph spacing inside the AI reply — ~0.5rem between blocks */
.arc-member-chatbot__ai-embed .mwai-reply.mwai-ai .mwai-text p,
.arc-chat-ai-embed .mwai-reply.mwai-ai .mwai-text p,
.arc-ask-bot__ai-embed .mwai-reply.mwai-ai .mwai-text p {
  margin: 0 !important;
}
.arc-member-chatbot__ai-embed .mwai-reply.mwai-ai .mwai-text p + p,
.arc-chat-ai-embed .mwai-reply.mwai-ai .mwai-text p + p,
.arc-ask-bot__ai-embed .mwai-reply.mwai-ai .mwai-text p + p {
  margin-top: .5rem !important;
}
/* Links in the answer → purple, underlined (no default blue).
 * Full reply chain + `a` so it out-specifies the nested-element color rule above. */
.arc-member-chatbot__ai-embed .mwai-reply.mwai-ai .mwai-text a,
.arc-chat-ai-embed .mwai-reply.mwai-ai .mwai-text a,
.arc-ask-bot__ai-embed .mwai-reply.mwai-ai .mwai-text a {
  color: var(--arc-purple) !important; text-decoration: underline !important; font-weight: 600 !important;
}
/* User bubble — purple, white text (all three embeds) */
.arc-member-chatbot__ai-embed .mwai-reply.mwai-user .mwai-text,
.arc-chat-ai-embed .mwai-reply.mwai-user .mwai-text,
.arc-ask-bot__ai-embed .mwai-reply.mwai-user .mwai-text,
.arc-member-chatbot__ai-embed .mwai-reply.mwai-user .mwai-text *,
.arc-chat-ai-embed .mwai-reply.mwai-user .mwai-text *,
.arc-ask-bot__ai-embed .mwai-reply.mwai-user .mwai-text * {
  background: transparent !important; color: #fff !important; font-family: var(--arc-font) !important;
}
.arc-member-chatbot__ai-embed .mwai-reply.mwai-user .mwai-text,
.arc-chat-ai-embed .mwai-reply.mwai-user .mwai-text,
.arc-ask-bot__ai-embed .mwai-reply.mwai-user .mwai-text {
  background: var(--arc-purple) !important;
  border-radius: var(--arc-r-pill) !important;
  padding: 9px 16px !important;
  display: inline-block !important;
}
/* The plugin paints iMessage-blue on the user reply container, not .mwai-text — neutralise it so only the purple bubble shows */
.arc-member-chatbot__ai-embed .mwai-reply.mwai-user,
.arc-chat-ai-embed .mwai-reply.mwai-user,
.arc-ask-bot__ai-embed .mwai-reply.mwai-user {
  background: transparent !important; box-shadow: none !important; border-color: transparent !important;
}
/* Kill the blue speech-bubble tail (::before) on user messages */
.arc-member-chatbot__ai-embed .mwai-reply.mwai-user::before,
.arc-chat-ai-embed .mwai-reply.mwai-user::before,
.arc-ask-bot__ai-embed .mwai-reply.mwai-user::before,
.arc-member-chatbot__ai-embed .mwai-reply.mwai-user::after,
.arc-chat-ai-embed .mwai-reply.mwai-user::after,
.arc-ask-bot__ai-embed .mwai-reply.mwai-user::after {
  display: none !important; content: none !important; background: transparent !important; border-color: transparent !important;
}

/* Input row — white pill */
.arc-member-chatbot__ai-embed .mwai-input,
.arc-chat-ai-embed .mwai-input,
.arc-ask-bot__ai-embed .mwai-input {
  background: #fff !important;
  border-radius: var(--arc-r-pill) !important;
  border: 1px solid rgba(69,37,96,.15) !important;
  box-shadow: none !important;
  padding: 8px 8px 8px 18px !important;
  position: relative !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
}
/* Member input floats on the purple card — drop border, add soft shadow */
.arc-member-chatbot__ai-embed .mwai-input {
  border: none !important; box-shadow: 0 8px 24px rgba(69,37,96,.18) !important;
}
.arc-member-chatbot__ai-embed .mwai-input-text,
.arc-chat-ai-embed .mwai-input-text,
.arc-ask-bot__ai-embed .mwai-input-text {
  background: transparent !important; border: none !important;
  border-radius: 0 !important; overflow: visible !important; flex: 1 !important;
}
.arc-member-chatbot__ai-embed .mwai-input-text textarea,
.arc-chat-ai-embed .mwai-input-text textarea,
.arc-ask-bot__ai-embed .mwai-input-text textarea {
  font-family: var(--arc-font) !important; font-size: 15px !important;
  color: var(--arc-charcoal) !important;
  background: transparent !important; border: none !important;
  outline: none !important; box-shadow: none !important; resize: none !important;
  padding: 8px 0 !important; min-height: unset !important; line-height: 1.4 !important;
}
.arc-member-chatbot__ai-embed .mwai-input-text textarea::placeholder,
.arc-chat-ai-embed .mwai-input-text textarea::placeholder,
.arc-ask-bot__ai-embed .mwai-input-text textarea::placeholder {
  color: var(--arc-charcoal-300, #7a7a7a) !important; opacity: 1 !important;
}
/* Submit — purple "Ask Arcora" pill */
.arc-member-chatbot__ai-embed .mwai-input-submit,
.arc-chat-ai-embed .mwai-input-submit,
.arc-ask-bot__ai-embed .mwai-input-submit {
  position: relative !important; right: auto !important; top: auto !important;
  transform: none !important;
  background: var(--arc-purple) !important;
  border-radius: var(--arc-r-pill) !important;
  color: #fff !important; font-family: var(--arc-font) !important;
  font-size: 14px !important; font-weight: 700 !important;
  padding: 12px 22px !important; cursor: pointer !important;
  white-space: nowrap !important; border: none !important; line-height: 1 !important;
  width: auto !important; min-width: unset !important;
  height: auto !important; min-height: unset !important;
  flex-shrink: 0 !important; transition: opacity .15s !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.arc-member-chatbot__ai-embed .mwai-input-submit:hover,
.arc-chat-ai-embed .mwai-input-submit:hover,
.arc-ask-bot__ai-embed .mwai-input-submit:hover { opacity: .85 !important; transform: none !important; }

/* Embed wrapper sizing */
.arc-member-chatbot__ai-embed { margin-top: 16px; }
.arc-chat-ai-embed { margin-top: 0; }
.arc-ask-bot__ai-embed { margin-top: 12px; }

/* ───────────────────────────────────────────────────────────
   RESPONSIVE
   ─────────────────────────────────────────────────────────── */

/* ≤ 1180px — narrow desktop / large tablet: library grid drops to 2 cols */
@media (max-width: 1180px) {
  .arc-lib-grid { grid-template-columns: repeat(2, 1fr); }
  .arc-article__body-wrap { grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; }
  .arc-article__body-wrap--single { grid-template-columns: minmax(0, 1fr); }
  /* Stack the library header early so the H1 keeps the full row width and
     long titles (e.g. "Samples & Checklists") stay on one line. */
  .arc-library__page-hdr { flex-direction: column; align-items: flex-start; gap: 20px; }
  .arc-library__controls { width: 100%; }
  .arc-library__search { min-width: 0; flex: 1; }
}

/* ≤ 960px — tablet: filters move above the grid; article sidebar drops below */
@media (max-width: 960px) {
  .arc-member-nav__inner { padding: 16px 28px; }
  .arc-member-nav__links { gap: 20px; }

  .arc-library__page-hdr { padding: 32px 28px 20px; }
  .arc-library__h1 { font-size: 44px; }

  .arc-library__body { padding: 24px 28px 56px; grid-template-columns: 1fr; gap: 28px; }
  .arc-library__filters-sticky { position: static; }

  /* Collapsible category subnav — starts closed, user taps to open */
  .arc-filters-toggle { cursor: pointer; background: #fff; border: 1px solid rgba(69,37,96,.12); border-radius: var(--arc-r-pill); padding: 13px 20px; margin-bottom: 0; }
  .arc-filters-hdr__chevron { display: block; }
  .arc-library__filters-body { display: none; margin-top: 14px; }
  .arc-library__filters-sticky.is-open .arc-library__filters-body { display: block; }
  .arc-library__filters-sticky.is-open .arc-filters-hdr__chevron { transform: rotate(180deg); }
  /* Last filter group: drop the divider when collapsed list is the only group */
  .arc-library__filters-body .arc-filter-group:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

  .arc-lib-featured { grid-template-columns: 1fr; }
  .arc-lib-featured__photo, .arc-lib-featured__photo--img { min-height: 220px; height: 220px; }

  .arc-article__body-wrap { grid-template-columns: 1fr; gap: 0; }
  .arc-article__sidebar { display: none; }
  .arc-article__hdr,
  .arc-article__hero,
  .arc-article__body-wrap,
  .arc-article__breadcrumb { padding-left: 28px; padding-right: 28px; }

  /* Member-home chatbot: stack the two columns so neither gets cramped */
  .arc-member-hero { padding: 32px 28px 0; }
  .arc-member-chatbot-section { padding: 20px 28px 20px; }
  .arc-member-chatbot { padding: 28px; }
  .arc-member-chatbot__grid { grid-template-columns: 1fr; gap: 28px; align-items: stretch; }
  .arc-member-chatbot__h2 { font-size: 30px; margin-bottom: 18px; }
}

/* ≤ 640px — mobile: everything single column */
@media (max-width: 640px) {
  .arc-member-nav__inner { padding: 14px 18px; gap: 16px; }

  /* Article specialist CTA: stack icon, copy, and button */
  .arc-article__specialist-cta { flex-direction: column; align-items: flex-start; gap: 18px; padding: 24px; }
  .arc-article__specialist-cta .arc-btn { white-space: normal; }

  /* Member-home chatbot: tighten further; starters + checks to one column */
  .arc-member-hero { padding: 24px 18px 0; }
  .arc-member-chatbot-section { padding: 16px 18px 16px; }
  .arc-member-chatbot { padding: 22px; border-radius: var(--arc-r-lg); }
  .arc-member-chatbot__grid { gap: 24px; }
  .arc-member-chatbot__h2 { font-size: 26px; }
  .arc-member-chatbot__starters { grid-template-columns: 1fr; }
  .arc-member-chatbot__checks { flex-wrap: wrap; gap: 10px 16px; }
  .arc-member-chatbot__dots { display: none; }
  .arc-member-nav__left { gap: 16px; }
  .arc-member-nav__links { gap: 14px; font-size: 13px; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  .arc-library__page-hdr { padding: 24px 18px 16px; }
  /* Fluid size so ~20-char titles ("Samples & Checklists") stay on one line
     down to 320px-wide screens. */
  .arc-library__h1 { font-size: clamp(24px, 8.2vw, 34px); }
  .arc-library__body { padding: 20px 18px 48px; }

  .arc-lib-grid { grid-template-columns: 1fr; gap: 16px; }

  .arc-article__h1 { font-size: 36px; }
  .arc-article__hdr { padding-top: 24px; padding-bottom: 48px; }
  .arc-article__hdr,
  .arc-article__hero,
  .arc-article__body-wrap,
  .arc-article__breadcrumb { padding-left: 18px; padding-right: 18px; }
  .arc-article__hero-img { max-height: 240px; }
  .arc-article__wp-content { font-size: 17px; }

  /* Slim footer stacks: copyright on top, links below */
  .arc-footer-slim { padding: 20px 18px; flex-direction: column; align-items: flex-start; gap: 14px; }
  .arc-footer-slim__links { gap: 10px 20px; }
}

/* ───────────────────────────────────────────────────────────
   RESOURCE ACCESS LIGHTBOX (marketing home)
   ─────────────────────────────────────────────────────────── */
.arc2-lock { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.arc2-lock[hidden] { display: none; }
.arc2-lock__overlay { position: absolute; inset: 0; background: rgba(36,18,52,.72); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.arc2-lock__dialog { position: relative; background: #fff; border-radius: var(--arc-r-xl); max-width: 460px; width: 100%; padding: 44px 40px 36px; box-shadow: 0 30px 80px rgba(0,0,0,.35); text-align: center; animation: arc2-lock-in .18s ease-out; }
@keyframes arc2-lock-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.arc2-lock__close { position: absolute; top: 16px; right: 16px; background: none; border: none; color: var(--arc-charcoal-500); cursor: pointer; padding: 6px; line-height: 0; border-radius: 8px; }
.arc2-lock__close:hover { background: rgba(69,37,96,.08); color: var(--arc-purple); }
.arc2-lock__badge { width: 56px; height: 56px; border-radius: 50%; background: var(--arc-rose); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 22px; color: var(--arc-purple); }
.arc2-lock__title { font-family: var(--arc-font); font-weight: 900; font-size: 24px; line-height: 1.2; color: var(--arc-purple); margin: 0 0 12px; letter-spacing: -.01em; }
.arc2-lock__copy { font-size: 15px; line-height: 1.85; color: var(--arc-charcoal); margin: 0; padding: 2rem 0; font-family: var(--arc-font); }
.arc2-lock__actions { display: flex; flex-direction: column; gap: 14px; align-items: center; }
.arc2-lock__btn { width: 100%; justify-content: center; color: #fff !important; }
.arc2-lock__learn { font-size: 13.5px; font-weight: 700; color: var(--arc-purple); text-decoration: underline; text-underline-offset: 2px; font-family: var(--arc-font); }
.arc2-lock__learn:hover { opacity: .8; }
body.arc2-lock-open { overflow: hidden; }
/* Signal the chips are interactive triggers */
.arc2-hero__chip { cursor: pointer; }
