/*
  The Arc Northeast Mississippi public theme
  Keep this file lean: Bootstrap handles the framework; this file only handles brand, layout polish, and custom components.
*/

:root {
  --arc-purple: #5b3a8c;
  --arc-purple-700: #43286a;
  --arc-purple-900: #2d1b49;
  --arc-orange: #d96a12;
  --arc-orange-700: #b8560a;
  --arc-gold: #f2a30a;
  --arc-ink: #1f2430;
  --arc-muted: #5b6272;
  --arc-soft: #f6f4f9;
  --arc-line: #e5e1ee;
  --arc-radius: 1rem;
  --arc-shadow: 0 .75rem 2rem rgba(31,36,48,.09);
  --arc-container: 1120px;
  --bs-body-font-family: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bs-body-color: var(--arc-ink);
  --bs-link-color: var(--arc-purple);
  --bs-link-hover-color: var(--arc-purple-700);
  --bs-primary: var(--arc-purple);
}

body { background:#fff; line-height:1.6; font-size:1.0625rem; }
.container { max-width: var(--arc-container); }
h1,h2,h3,h4,.btn,.footer-heading { letter-spacing:-.015em; }
h1,h2,h3,h4 { color:var(--arc-ink); font-weight:800; line-height:1.15; }
a { text-underline-offset:.18em; }
img { max-width:100%; height:auto; }

.skip-link { position:absolute; left:.75rem; top:-4rem; z-index:2000; padding:.65rem 1rem; border-radius:.75rem; color:#fff; background:var(--arc-purple-700); transition:top .15s ease; }
.skip-link:focus { top:.75rem; color:#fff; }
:focus-visible { outline:3px solid var(--arc-gold); outline-offset:2px; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; --bs-btn-border-radius:999px; --bs-btn-font-weight:800; --bs-btn-padding-x:1.25rem; --bs-btn-padding-y:.72rem; box-shadow:none; }
.btn--primary { --bs-btn-color:#fff; --bs-btn-bg:var(--arc-purple); --bs-btn-border-color:var(--arc-purple); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--arc-purple-700); --bs-btn-hover-border-color:var(--arc-purple-700); }
.btn--donate { --bs-btn-color:#fff; --bs-btn-bg:var(--arc-orange); --bs-btn-border-color:var(--arc-orange); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--arc-orange-700); --bs-btn-hover-border-color:var(--arc-orange-700); }
.btn--ghost { --bs-btn-color:var(--arc-purple); --bs-btn-bg:#fff; --bs-btn-border-color:var(--arc-purple); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--arc-purple); --bs-btn-hover-border-color:var(--arc-purple); }
.btn--light-outline { --bs-btn-color:#fff; --bs-btn-bg:rgba(255,255,255,.1); --bs-btn-border-color:rgba(255,255,255,.28); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:rgba(255,255,255,.18); --bs-btn-hover-border-color:rgba(255,255,255,.44); }
.btn--lg { --bs-btn-padding-x:1.55rem; --bs-btn-padding-y:.85rem; --bs-btn-font-size:1.05rem; }

/* Header */
.site-header { position:relative; z-index:100; background:linear-gradient(135deg,var(--arc-purple-700) 0%,var(--arc-purple) 52%,#6c45a1 100%); border-bottom:4px solid var(--arc-orange); box-shadow:0 .35rem 1.2rem rgba(35,18,65,.16); }
.site-nav { min-height:0; padding:0; }
.brand { display:flex; align-items:center; max-width:198px; margin-right:1.25rem; padding:0; border-radius:0; background:transparent; box-shadow:none; line-height:0; }
.brand:hover,.brand:focus { background:transparent; }
.brand__logo { display:block; width:184px; height:auto; object-fit:contain; }
.site-header .nav-link { color:rgba(255,255,255,.9); border-radius:.65rem; font-size:.92rem; font-weight:800; padding:.55rem .7rem; text-decoration:none; white-space:nowrap; }
.site-header .nav-link:hover,.site-header .nav-link:focus,.site-header .nav-link.active { color:#fff; background:rgba(255,255,255,.15); }
.site-header .dropdown-toggle { border:0; background:transparent; }
.site-header .dropdown-toggle::after { margin-left:.35rem; vertical-align:.12em; }
.site-header .dropdown-menu { --bs-dropdown-bg:var(--arc-purple-700); --bs-dropdown-border-color:rgba(255,255,255,.2); --bs-dropdown-link-color:rgba(255,255,255,.92); --bs-dropdown-link-hover-color:#fff; --bs-dropdown-link-hover-bg:rgba(255,255,255,.14); --bs-dropdown-link-active-color:#fff; --bs-dropdown-link-active-bg:var(--arc-orange); min-width:15rem; border-radius:.85rem; box-shadow:0 1rem 2rem rgba(25,12,43,.24); padding:.45rem; }
.site-header .dropdown-item { border-radius:.55rem; font-weight:800; padding:.62rem .75rem; }
.site-header .dropdown-item:hover,.site-header .dropdown-item:focus { color:#fff; background:rgba(255,255,255,.14); }
.site-header .dropdown-item.active,.site-header .dropdown-item:active { color:#fff; background:var(--arc-orange); }
.site-header .btn--donate { white-space:nowrap; padding:.65rem 1.15rem; }
.site-header .btn--donate:hover,.site-header .btn--donate:focus { transform:translateY(-1px); box-shadow:0 .45rem 1rem rgba(22,10,38,.2); }
.navbar-toggler { width:2.75rem; height:2.75rem; border:1px solid rgba(255,255,255,.38); border-radius:.85rem; background:rgba(255,255,255,.1); }
.navbar-toggler:hover { background:rgba(255,255,255,.16); }
.navbar-toggler:focus { box-shadow:0 0 0 .2rem rgba(242,163,10,.35); }

/* Common layout */
.site-main { min-height:55vh; }
.section { padding:clamp(2.75rem,5vw,4.75rem) 0; }
.section--soft { background:var(--arc-soft); }
.section__head { margin-bottom:1.5rem; }
.section__head h2 { margin:0; }
.section__intro { max-width:64ch; margin:.65rem 0 0; color:var(--arc-muted); font-size:1rem; }
.section__head--split { display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.eyebrow { margin:0 0 .55rem; color:var(--arc-orange); font-size:.75rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.page-head { padding:clamp(2.25rem,4vw,3.25rem) 0; background:radial-gradient(circle at 12% 20%,rgba(217,106,18,.1),transparent 17rem), linear-gradient(135deg,var(--arc-soft),#fff); border-bottom:1px solid var(--arc-line); }
.page-head h1 { margin:0; font-size:clamp(2rem,4vw,3rem); }
.prose { max-width:72ch; color:#343b4a; font-size:1.05rem; }
.prose p,.prose ul,.prose ol { margin-bottom:1rem; }
.prose h2,.prose h3 { margin:1.6em 0 .55em; color:var(--arc-purple-700); }
.prose a { font-weight:800; }
:where(.prose,.legacy-content-body,.news-article-body) a:not(.btn):not([class*="btn"]):not(.stretched-link) { color:var(--arc-purple-700); font-weight:850; text-decoration-line:underline; text-decoration-thickness:.08em; text-decoration-color:rgba(217,106,18,.55); text-underline-offset:.2em; overflow-wrap:anywhere; transition:color .16s ease, text-decoration-color .16s ease, background-color .16s ease; }
:where(.prose,.legacy-content-body,.news-article-body) a:not(.btn):not([class*="btn"]):not(.stretched-link):hover,
:where(.prose,.legacy-content-body,.news-article-body) a:not(.btn):not([class*="btn"]):not(.stretched-link):focus { color:var(--arc-orange-700); text-decoration-color:var(--arc-purple); }
:where(.prose,.legacy-content-body,.news-article-body) a:not(.btn):not([class*="btn"]):not(.stretched-link):focus-visible { border-radius:.22rem; outline:3px solid rgba(242,163,10,.45); outline-offset:2px; }
.prose img { max-width:100%; height:auto!important; margin:1.25rem 0; border-radius:.85rem; object-fit:contain!important; aspect-ratio:auto!important; }
.prose figure { height:auto!important; max-width:100%; margin:1.4em 0; overflow:visible!important; position:static!important; background:none!important; }
.prose figcaption { position:static!important; margin-top:.5rem; padding:.25rem 0!important; background:none!important; color:var(--arc-muted)!important; font-size:.9rem; text-align:center; }

/* Reusable inner-page system */
.inner-hero { position:relative; overflow:hidden; padding:clamp(2.35rem,5vw,4.25rem) 0; background:radial-gradient(circle at 10% 14%,rgba(242,163,10,.12),transparent 18rem), radial-gradient(circle at 92% 8%,rgba(91,58,140,.12),transparent 22rem), linear-gradient(135deg,#fff,#faf8fd); border-bottom:1px solid var(--arc-line); }
.inner-hero::after { content:""; position:absolute; inset:auto 0 0; height:3rem; background:linear-gradient(180deg,transparent,rgba(91,58,140,.055)); pointer-events:none; }
.inner-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,330px); gap:clamp(1.4rem,4vw,3rem); align-items:center; }
.inner-hero__inner--simple { display:block; max-width:820px; }
.inner-hero h1 { max-width:18ch; margin:.2rem 0 .8rem; font-size:clamp(2.15rem,4.4vw,3.25rem); line-height:1; }
.inner-hero__inner--simple h1 { max-width:22ch; }
.inner-hero__lead { max-width:62ch; margin:0; color:#394052; font-size:1.1rem; }
.inner-hero__actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.25rem; }
.inner-note-card { position:relative; padding:1.25rem; overflow:hidden; border:1px solid rgba(91,58,140,.18); border-radius:var(--arc-radius); background:#fff; box-shadow:var(--arc-shadow); }
.inner-note-card::before { content:""; position:absolute; inset:0 0 auto; height:.32rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.inner-note-card::after { content:""; position:absolute; top:-2.8rem; right:-2.4rem; width:7rem; height:7rem; border-radius:50%; background:rgba(91,58,140,.08); }
.inner-note-card__icon { position:relative; z-index:1; display:grid; place-items:center; width:3rem; height:3rem; margin-bottom:.85rem; border-radius:.95rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .65rem 1.1rem rgba(91,58,140,.18); }
.inner-note-card h2 { position:relative; z-index:1; margin:0 0 .45rem; font-size:1.2rem; }
.inner-note-card p { position:relative; z-index:1; margin:0; color:var(--arc-muted); font-size:.98rem; }
.page-shell { padding:clamp(2.5rem,5vw,4.4rem) 0; background:linear-gradient(180deg,#fff 0%,var(--arc-soft) 100%); }
.inner-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); gap:1.35rem; align-items:start; }
.inner-layout--single { display:block; max-width:860px; }
.inner-layout--wide { display:block; }
.content-card,.sidebar-card { overflow-wrap:anywhere; border:1px solid var(--arc-line); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .55rem 1.35rem rgba(31,36,48,.07); }
.content-card { padding:clamp(1.25rem,3vw,2rem); }
.content-card--narrow { max-width:720px; margin-inline:auto; }
.content-card--mid { max-width:820px; margin-inline:auto; }
.content-card--flush { padding:0; overflow:hidden; }
.content-card--soft { background:linear-gradient(135deg,#fff,#fbf8ff); }
.form-card--accent { position:relative; overflow:hidden; border-color:rgba(91,58,140,.18); background:radial-gradient(circle at 96% 0%,rgba(242,163,10,.14),transparent 10rem), linear-gradient(135deg,#fff 0%,#fffaf3 48%,#fbf8ff 100%); }
.form-card--accent::before { content:""; position:absolute; inset:0 0 auto; height:.35rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.form-card--accent > * { position:relative; z-index:1; }
.form-card--accent .section__head { margin-bottom:1.1rem; padding:1rem 1.05rem; border:1px solid rgba(91,58,140,.12); border-radius:.95rem; background:rgba(255,255,255,.72); }
.content-card .prose { max-width:none; }
.content-card .prose > :last-child { margin-bottom:0; }
.inner-sidebar { display:grid; gap:1rem; }
.sidebar-card { padding:1.1rem; }
.sidebar-card h2 { margin:0 0 .75rem; font-size:1.08rem; }
.sidebar-card p { color:var(--arc-muted); }
.sidebar-card p:last-child { margin-bottom:0; }
.sidebar-card .btn { width:100%; justify-content:center; }
.icon-list { display:grid; gap:.72rem; margin:0; padding:0; list-style:none; }
.icon-list li { display:flex; gap:.65rem; align-items:flex-start; color:var(--arc-muted); }
.icon-list i { flex:0 0 2rem; display:grid; place-items:center; width:2rem; height:2rem; border-radius:.7rem; color:var(--arc-purple); background:var(--arc-soft); }

.contact-detail-list { display:grid; gap:.9rem; margin:0; font-style:normal; }
.contact-detail-list__item { display:flex; gap:.75rem; align-items:flex-start; }
.contact-detail-list__item > i { flex:0 0 2.1rem; display:grid; place-items:center; width:2.1rem; height:2.1rem; border-radius:.75rem; color:var(--arc-purple); background:var(--arc-soft); }
.contact-detail-list strong,.contact-detail-list span,.contact-detail-list a { display:block; }
.contact-detail-list strong { margin-bottom:.15rem; color:var(--arc-ink); }
.contact-detail-list span { color:var(--arc-muted); line-height:1.45; }
.contact-detail-list a { color:var(--arc-orange); font-weight:850; text-decoration:none; }
.contact-detail-list a:hover { color:var(--arc-purple-700); text-decoration:underline; }
.quick-link-list { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.quick-link-list a { display:flex; align-items:center; gap:.7rem; padding:.72rem .78rem; border:1px solid rgba(91,58,140,.14); border-radius:.9rem; color:var(--arc-ink); background:linear-gradient(135deg,#fff,#fbf8ff); text-decoration:none; font-weight:850; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease; }
.quick-link-list a:hover { transform:translateY(-1px); border-color:rgba(217,106,18,.35); color:var(--arc-purple-700); box-shadow:0 .55rem 1.15rem rgba(31,36,48,.08); }
.quick-link-list__icon { flex:0 0 2rem; display:grid; place-items:center; width:2rem; height:2rem; border-radius:.72rem; color:var(--arc-purple); background:var(--arc-soft); }
.quick-link-list a > i:last-child { margin-left:auto; color:var(--arc-orange); font-size:.82rem; }
.quick-link-list--plain li { display:flex; align-items:flex-start; gap:.7rem; padding:.72rem .78rem; border:1px solid rgba(91,58,140,.14); border-radius:.9rem; color:var(--arc-muted); background:linear-gradient(135deg,#fff,#fbf8ff); font-weight:750; line-height:1.4; }
.quick-link-list--plain .quick-link-list__icon { margin-top:.05rem; }
.sidebar-card--accent { color:#fff; border-color:transparent; background:radial-gradient(circle at 90% 0%,rgba(242,163,10,.25),transparent 9rem), linear-gradient(135deg,var(--arc-purple-700),var(--arc-purple)); }
.sidebar-card--accent h2,.sidebar-card--accent p { color:#fff; }



/* Friendly 404 */
.not-found-page { background:radial-gradient(circle at 10% 0%,rgba(242,163,10,.1),transparent 18rem), linear-gradient(180deg,#fff 0%,var(--arc-soft) 100%); }
.not-found-card { position:relative; overflow:hidden; border-color:rgba(91,58,140,.18); background:radial-gradient(circle at 96% 0%,rgba(242,163,10,.14),transparent 10rem), #fff; }
.not-found-card::before { content:""; position:absolute; inset:0 0 auto; height:.35rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.not-found-card__intro { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.25rem; }
.not-found-card__intro h2 { margin:0 0 .35rem; }
.not-found-card__intro p:not(.eyebrow) { margin:0; color:var(--arc-muted); }
.not-found-card__icon,.not-found-link__icon { display:grid; place-items:center; flex:0 0 auto; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .5rem 1rem rgba(91,58,140,.16); }
.not-found-card__icon { width:3.1rem; height:3.1rem; border-radius:1rem; font-size:1.15rem; }
.not-found-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.not-found-link { display:flex; align-items:center; gap:.8rem; min-height:6.25rem; padding:.95rem; border:1px solid rgba(91,58,140,.14); border-radius:.95rem; color:inherit; background:linear-gradient(135deg,#fff,#fbf8ff); text-decoration:none; box-shadow:0 .3rem .85rem rgba(31,36,48,.045); transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.not-found-link:hover,.not-found-link:focus { color:inherit; border-color:rgba(217,106,18,.38); box-shadow:0 .55rem 1.15rem rgba(31,36,48,.08); transform:translateY(-2px); }
.not-found-link__icon { width:2.45rem; height:2.45rem; border-radius:.85rem; }
.not-found-link__body { min-width:0; }
.not-found-link strong,.not-found-link small { display:block; }
.not-found-link strong { color:var(--arc-purple-700); font-size:1rem; line-height:1.18; }
.not-found-link small { margin-top:.18rem; color:var(--arc-muted); font-size:.9rem; line-height:1.35; }
.not-found-link > i { margin-left:auto; color:var(--arc-orange); font-size:.82rem; transition:transform .16s ease; }
.not-found-link:hover > i,.not-found-link:focus > i { transform:translateX(.18rem); }

/* Dynamic/custom public pages */
.custom-page-layout { max-width:1120px; }
.custom-page-card { position:relative; overflow:hidden; padding:0; }
.custom-page-card::before { content:""; position:absolute; inset:0 0 auto; height:.35rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.custom-page-card__head { padding:clamp(1.15rem,3vw,1.75rem) clamp(1.15rem,3vw,2rem) 1rem; border-bottom:1px solid rgba(91,58,140,.12); background:radial-gradient(circle at 100% 0%,rgba(242,163,10,.12),transparent 10rem), linear-gradient(135deg,#fff,#fbf8ff); }
.custom-page-card__head h2 { margin:0; font-size:clamp(1.45rem,2.5vw,2rem); color:var(--arc-purple-700); }
.custom-page-meta { display:inline-flex; align-items:center; gap:.4rem; margin:.65rem 0 0; padding:.28rem .65rem; border:1px solid rgba(91,58,140,.13); border-radius:999px; color:var(--arc-muted); background:#fff; font-size:.84rem; font-weight:850; }
.custom-page-meta i { color:var(--arc-orange); }
.custom-page-body { padding:clamp(1.15rem,3vw,2rem); }
.legacy-content-body { color:#343b4a; font-size:1.06rem; line-height:1.72; overflow-wrap:anywhere; }
.legacy-content-body > :first-child { margin-top:0; }
.legacy-content-body > :last-child { margin-bottom:0; }
.legacy-content-body p,.legacy-content-body ul,.legacy-content-body ol { margin-bottom:1.08rem; }
.legacy-content-body ul,.legacy-content-body ol { padding-left:1.35rem; }
.legacy-content-body li + li { margin-top:.35rem; }
.legacy-content-body h2,.legacy-content-body h3,.legacy-content-body h4 { margin:1.9em 0 .65em; color:var(--arc-purple-700); line-height:1.18; }
.legacy-content-body h2:first-child,.legacy-content-body h3:first-child,.legacy-content-body h4:first-child { margin-top:0; }
.legacy-content-body blockquote { margin:1.35rem 0; padding:1rem 1.05rem; border-left:.3rem solid var(--arc-orange); border-radius:.75rem; background:var(--arc-soft); color:#394052; }
.legacy-content-body hr { margin:1.7rem 0; border:0; border-top:1px solid var(--arc-line); opacity:1; }
.legacy-content-body table { display:block; width:100%!important; max-width:100%; overflow-x:auto; margin:1.35rem 0; border:1px solid var(--arc-line); border-radius:.85rem; background:#fff; }
.legacy-content-body th,.legacy-content-body td { padding:.65rem .75rem; border:1px solid var(--arc-line); vertical-align:top; }
.legacy-content-body span[style] { font-family:inherit!important; line-height:inherit!important; }
.legacy-content-body span[style*="font-size"] { font-size:inherit!important; }
.legacy-content-body img { float:none!important; display:block; height:auto!important; margin:1.35rem auto 1.25rem!important; border:1px solid rgba(91,58,140,.14); border-radius:.95rem; background:#fff; box-shadow:0 .45rem 1.15rem rgba(31,36,48,.07); object-fit:contain!important; aspect-ratio:auto!important; }
.legacy-content-body img.legacy-article-img--wide { width:100%!important; max-width:100%; }
.legacy-content-body img.legacy-article-img--medium { width:min(100%,36rem)!important; max-width:100%; }
.legacy-content-body img.legacy-article-img--logo { width:min(100%,26rem)!important; max-width:100%; padding:.55rem; }
.legacy-content-body img.legacy-article-img--compact { width:auto!important; max-width:min(100%,18rem); padding:.45rem; }
.legacy-content-body .arc-video-embed { overflow:hidden; margin:1.5rem 0; border:1px solid rgba(91,58,140,.16); border-radius:var(--arc-radius); box-shadow:0 .45rem 1.25rem rgba(31,36,48,.07); }
.legacy-content-body iframe,.legacy-content-body audio,.legacy-content-body video { max-width:100%; }
.page-empty-state { display:flex; gap:.85rem; align-items:flex-start; margin:clamp(1.15rem,3vw,2rem); padding:1rem; border:1px dashed rgba(91,58,140,.22); border-radius:.9rem; background:rgba(246,244,249,.75); color:var(--arc-muted); }
.page-empty-state span,.sidebar-card__icon { display:grid; place-items:center; flex:0 0 auto; width:2.55rem; height:2.55rem; border-radius:.8rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .5rem 1rem rgba(91,58,140,.15); }
.page-empty-state h3 { margin:0 0 .25rem; color:var(--arc-purple-700); font-size:1.05rem; }
.page-empty-state p { margin:0; }
.sidebar-card--page-info { position:relative; overflow:hidden; }
.sidebar-card--page-info::before { content:""; position:absolute; inset:0 0 auto; height:.25rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.sidebar-card--page-info > * { position:relative; z-index:1; }
.sidebar-card__icon { margin-bottom:.8rem; }
.sidebar-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }

/* Homepage hero */
.home-hero { position:relative; overflow:hidden; padding:clamp(2.15rem,4vw,3.85rem) 0 clamp(2.25rem,3.8vw,3.55rem); background:radial-gradient(circle at 13% 10%,rgba(242,163,10,.12),transparent 20rem), radial-gradient(circle at 92% 92%,rgba(91,58,140,.12),transparent 23rem), radial-gradient(circle at 87% 16%,rgba(91,58,140,.065),transparent 25rem), linear-gradient(135deg,#fff 0%,#faf8fd 100%); }
.home-hero::after { content:""; position:absolute; z-index:1; inset:auto 0 0; height:4rem; background:linear-gradient(180deg,transparent,rgba(91,58,140,.055)); pointer-events:none; }
.home-hero__inner { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(260px,.78fr); gap:clamp(1.75rem,4vw,3.35rem); align-items:center; }
.home-hero__text h1 { max-width:18.5ch; margin:.25rem 0 .9rem; font-size:clamp(2.25rem,4.35vw,3.35rem); line-height:.98; }
.home-hero__lead { max-width:54ch; margin:0; color:#394052; font-size:1.08rem; }
.hero-pill { display:inline-flex; align-items:center; gap:.45rem; margin:0 0 .85rem; padding:.4rem .72rem; border:1px solid rgba(91,58,140,.18); border-radius:999px; color:var(--arc-purple-700); background:#fff; box-shadow:0 .45rem 1.2rem rgba(31,36,48,.06); font-size:.88rem; font-weight:850; }
.hero-pill i { color:var(--arc-orange); }
.home-hero__cta { display:flex; gap:.75rem; flex-wrap:wrap; margin:1.35rem 0 0; }
.hero-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; color:var(--arc-muted); font-size:.88rem; font-weight:800; }
.hero-tags span { padding:.3rem .66rem; border-radius:999px; background:#fff; border:1px solid var(--arc-line); }
.home-hero__media { display:flex; justify-content:flex-end; position:relative; }
.hero-photo-wrap { position:relative; width:min(100%,425px); isolation:isolate; }
.hero-photo-wrap::before { content:""; position:absolute; z-index:0; inset:1.05rem -1rem -1rem 1.15rem; border:1px solid rgba(91,58,140,.16); border-radius:1.35rem; background:linear-gradient(135deg,rgba(91,58,140,.24),rgba(91,58,140,.11)); box-shadow:0 1rem 2rem rgba(91,58,140,.14); transform:rotate(3.5deg); transform-origin:center; }
.hero-photo-wrap::after { content:""; position:absolute; z-index:0; top:2.05rem; right:-1.35rem; width:5.4rem; height:1rem; border-radius:999px; background:linear-gradient(90deg,rgba(217,106,18,.82),rgba(242,163,10,.58)); box-shadow:0 .65rem 1.1rem rgba(217,106,18,.14); transform:rotate(3.5deg); }
.hero-photo-card { position:relative; z-index:2; width:100%; margin:0; padding:.45rem; border:1px solid var(--arc-line); border-radius:1.25rem; background:#fff; box-shadow:var(--arc-shadow); transform:translateY(.35rem); }
.hero-photo-card img { display:block; width:100%; aspect-ratio:4/3; border-radius:.95rem; object-fit:cover; }
.hero-photo-card figcaption { position:absolute; right:1rem; bottom:1rem; max-width:calc(100% - 2rem); margin:0; padding:.52rem .75rem; border-radius:999px; color:#fff; background:linear-gradient(135deg,rgba(67,40,106,.96),rgba(91,58,140,.96)); box-shadow:0 .55rem 1.1rem rgba(31,36,48,.16); font-size:.82rem; font-weight:900; white-space:nowrap; }
.impact-strip { position:relative; z-index:2; padding:2.65rem 0 1.45rem; background:#fff; overflow:hidden; }
.impact-strip::before { content:""; position:absolute; inset:0 0 auto; height:4.75rem; background:radial-gradient(ellipse at 50% 0%,rgba(91,58,140,.13),transparent 68%), linear-gradient(90deg,rgba(217,106,18,.07),rgba(91,58,140,.06),rgba(217,106,18,.04)); pointer-events:none; }
.impact-strip .container { position:relative; z-index:1; }
.impact-card { --impact-accent:var(--arc-purple); --impact-accent-2:var(--arc-purple-700); --impact-soft:rgba(91,58,140,.09); position:relative; display:flex; flex-direction:column; height:100%; min-height:13.25rem; padding:1.35rem; overflow:hidden; border:1px solid var(--arc-line); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .65rem 1.5rem rgba(31,36,48,.08); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.impact-card::before { content:""; position:absolute; inset:0 0 auto; height:.3rem; background:linear-gradient(90deg,var(--impact-accent),var(--impact-accent-2)); }
.impact-card::after { content:""; position:absolute; top:-2.6rem; right:-2.2rem; width:7rem; height:7rem; border-radius:50%; background:var(--impact-soft); pointer-events:none; }
.impact-card--support { --impact-accent:var(--arc-orange); --impact-accent-2:var(--arc-gold); --impact-soft:rgba(217,106,18,.1); }
.impact-card--events { --impact-accent:var(--arc-purple); --impact-accent-2:var(--arc-orange); --impact-soft:rgba(91,58,140,.085); }
.impact-card:hover { transform:translateY(-3px); border-color:rgba(91,58,140,.24); box-shadow:var(--arc-shadow); }
.impact-card__icon { position:relative; z-index:1; width:2.8rem; height:2.8rem; display:inline-grid; place-items:center; margin-bottom:.9rem; border-radius:.9rem; color:#fff; background:linear-gradient(135deg,var(--impact-accent),var(--impact-accent-2)); box-shadow:0 .55rem 1rem rgba(91,58,140,.18); font-size:1.18rem; }
.impact-card h2 { position:relative; z-index:1; margin:0 0 .4rem; font-size:1.15rem; }
.impact-card p { position:relative; z-index:1; margin:0 0 1rem; color:var(--arc-muted); font-size:.97rem; }
.impact-card__link { position:relative; z-index:1; display:inline-flex; align-items:center; gap:.35rem; margin-top:auto; color:var(--impact-accent); font-size:.92rem; font-weight:900; text-decoration:none; }
.impact-card__link i { font-size:.8rem; transition:transform .16s ease; }
.impact-card__link:hover { color:var(--impact-accent-2); }
.impact-card:hover .impact-card__link i { transform:translateX(.18rem); }

/* Home fundraiser highlights */
.home-fundraisers { position:relative; overflow:hidden; background:radial-gradient(circle at 9% 14%,rgba(242,163,10,.11),transparent 18rem), radial-gradient(circle at 92% 18%,rgba(91,58,140,.1),transparent 18rem), linear-gradient(180deg,#fff 0%,#fbf9fd 100%); }
.home-fundraisers .container { position:relative; z-index:1; }
.home-fundraiser-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
.home-fundraiser-card { position:relative; display:grid; grid-template-columns:minmax(160px,220px) minmax(0,1fr); min-height:17rem; overflow:hidden; border:1px solid rgba(91,58,140,.16); border-radius:calc(var(--arc-radius) + .15rem); background:#fff; box-shadow:0 .65rem 1.55rem rgba(31,36,48,.08); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.home-fundraiser-card:hover,.home-fundraiser-card:focus-within { transform:translateY(-3px); border-color:rgba(91,58,140,.28); box-shadow:var(--arc-shadow); }
.home-fundraiser-card::before { content:""; position:absolute; inset:0 0 auto; height:.28rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.home-fundraiser-card__media { display:block; min-height:100%; overflow:hidden; background:linear-gradient(135deg,#f4f0fa,#fff); border-right:1px solid rgba(91,58,140,.14); }
.home-fundraiser-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.home-fundraiser-card:hover .home-fundraiser-card__media img { transform:scale(1.035); }
.home-fundraiser-card__body { display:flex; flex-direction:column; align-items:flex-start; padding:1.15rem; }
.home-fundraiser-card__top,.fundraiser-list-card__badges { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-bottom:.8rem; }
.fundraiser-chip,.fundraiser-status { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; font-size:.72rem; font-weight:950; line-height:1; letter-spacing:.05em; text-transform:uppercase; }
.fundraiser-chip { padding:.34rem .62rem; color:#fff; background:linear-gradient(135deg,var(--arc-orange),var(--arc-gold)); }
.fundraiser-status { padding:.32rem .58rem; color:var(--arc-purple-700); background:rgba(91,58,140,.09); border:1px solid rgba(91,58,140,.12); }
.home-fundraiser-card h3 { margin:0 0 .5rem; color:var(--arc-purple-700); font-size:1.24rem; line-height:1.18; }
.home-fundraiser-card p { margin:0 0 .75rem; color:var(--arc-muted); font-size:.96rem; }
.fundraiser-meta-row { display:flex; flex-wrap:wrap; gap:.45rem .8rem; margin:.15rem 0 .95rem; color:#3c4353; font-size:.9rem; font-weight:850; }
.fundraiser-meta-row span { display:inline-flex; align-items:center; gap:.38rem; }
.fundraiser-meta-row i { color:var(--arc-orange); }
.home-fundraiser-card__actions { margin-top:auto; }

/* Community partners */
.home-partners { position:relative; overflow:hidden; padding-top:clamp(2.35rem,4.6vw,3.6rem); padding-bottom:clamp(2.45rem,4.6vw,3.8rem); background:linear-gradient(180deg,#fff 0%,#fbf9fd 100%); }
.home-partners::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 8% 28%,rgba(217,106,18,.07),transparent 15rem), radial-gradient(circle at 92% 18%,rgba(91,58,140,.08),transparent 17rem); pointer-events:none; }
.home-partners .container { position:relative; z-index:1; }
.community-partners-panel { padding:clamp(1.1rem,2.5vw,1.55rem); border:1px solid rgba(91,58,140,.14); border-radius:calc(var(--arc-radius) + .25rem); background:rgba(255,255,255,.86); box-shadow:0 .7rem 1.8rem rgba(31,36,48,.065); }
.community-partners__head { margin-bottom:1.1rem; }
.partner-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.85rem; }
.partner-tile { position:relative; display:flex; flex-direction:column; min-height:10.35rem; padding:1rem; overflow:hidden; border:1px solid rgba(91,58,140,.14); border-radius:var(--arc-radius); color:var(--arc-ink); background:linear-gradient(180deg,#fff,#fdfcff); box-shadow:0 .45rem 1.15rem rgba(31,36,48,.065); text-decoration:none; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.partner-tile::before { content:""; position:absolute; inset:0 0 auto; height:.24rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); opacity:.85; }
.partner-tile::after { content:""; position:absolute; right:-2rem; bottom:-2.4rem; width:6rem; height:6rem; border-radius:50%; background:rgba(91,58,140,.055); pointer-events:none; }
.partner-tile:hover,.partner-tile:focus { color:var(--arc-ink); transform:translateY(-3px); border-color:rgba(91,58,140,.26); box-shadow:var(--arc-shadow); text-decoration:none; }
.partner-tile__icon { position:relative; z-index:1; display:grid; place-items:center; width:2.65rem; height:2.65rem; margin-bottom:.85rem; border-radius:.9rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .5rem 1rem rgba(91,58,140,.18); }
.partner-tile__label { position:relative; z-index:1; margin-bottom:.25rem; color:var(--arc-orange-700); font-size:.7rem; font-weight:950; letter-spacing:.08em; line-height:1.25; text-transform:uppercase; }
.partner-tile strong { position:relative; z-index:1; display:block; color:var(--arc-purple-700); font-size:1.02rem; line-height:1.18; }
.partner-tile__action { position:relative; z-index:1; display:inline-flex; align-items:center; gap:.34rem; margin-top:auto; padding-top:.9rem; color:var(--arc-purple); font-size:.82rem; font-weight:900; }
.partner-tile__action i { font-size:.72rem; transition:transform .16s ease; }
.partner-tile:hover .partner-tile__action i { transform:translate(.12rem,-.12rem); }
.partner-tile__action--muted { color:var(--arc-muted); }

/* Cards / grids */
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.35rem; }
.card,.album-card,.pay-box { border:1px solid var(--arc-line); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .35rem 1.2rem rgba(31,36,48,.07); overflow:hidden; }
.card { display:flex; flex-direction:column; transition:transform .15s ease, box-shadow .15s ease; }
.card:hover { transform:translateY(-2px); box-shadow:var(--arc-shadow); }
.card__img { width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--arc-soft); }
.card__body { display:flex; flex:1; flex-direction:column; gap:.45rem; padding:1.05rem; }
.card__title { margin:0; font-size:1.12rem; }
.video-card .card__title { font-size:1.05rem; }
.card__title a { text-decoration:none; }
.card__meta { margin:0; color:var(--arc-muted); font-size:.82rem; }
.card__excerpt { margin:0; color:var(--arc-muted); }

/* Home news */
.home-news { position:relative; overflow:hidden; padding-top:clamp(3rem,5vw,4.6rem); }
.home-news::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 8% 18%,rgba(217,106,18,.055),transparent 17rem), radial-gradient(circle at 92% 12%,rgba(91,58,140,.08),transparent 19rem); pointer-events:none; }
.home-news .container { position:relative; z-index:1; }
.home-news__layout { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr); gap:1.35rem; align-items:stretch; }
.news-featured,.news-card { position:relative; overflow:hidden; border:1px solid rgba(91,58,140,.18); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .7rem 1.65rem rgba(31,36,48,.085); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.news-featured::before,.news-card::before { content:""; position:absolute; inset:0 0 auto; height:.22rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); opacity:0; transition:opacity .16s ease; }
.news-featured:hover,.news-card:hover { transform:translateY(-3px); border-color:rgba(91,58,140,.24); box-shadow:var(--arc-shadow); }
.news-featured:hover::before,.news-card:hover::before { opacity:1; }
.news-featured { display:flex; flex-direction:column; height:100%; }
.news-featured__media,.news-card__media { display:block; overflow:hidden; background:linear-gradient(135deg,#f0ebf8,#fff); }
.news-featured__media { border-bottom:1px solid rgba(91,58,140,.16); }
.news-card__media { border-right:1px solid rgba(91,58,140,.16); }
.news-featured__media { aspect-ratio:2.05/1; }
.news-media--placeholder { background:linear-gradient(135deg,#4b257f,#6b3aa5); }
.news-media--graphic { display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 24% 30%,rgba(91,58,140,.13),transparent 7rem), linear-gradient(135deg,#f7f3fc,#fff 68%); }
.news-featured__media.news-media--graphic { padding:clamp(1rem,2.3vw,1.65rem); }
.news-card__media.news-media--graphic { padding:.82rem; }
.news-card { display:grid; grid-template-columns:8.75rem minmax(0,1fr); min-height:8.15rem; }
.news-card__media { min-height:100%; }
.news-featured img,.news-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .2s ease; }
.news-media--graphic img { border-radius:.7rem; }
.news-media--placeholder img { object-fit:cover; }
.news-media--graphic img { object-fit:contain; }
.news-featured__media.news-media--graphic img { max-width:100%; max-height:100%; }
.news-card__media.news-media--graphic img { max-width:92%; max-height:82%; }
.news-featured:hover img,.news-card:hover img { transform:scale(1.035); }
.news-featured:hover .news-media--graphic img,.news-card:hover .news-media--graphic img { transform:none; }
.news-featured__body,.news-card__body { display:flex; flex-direction:column; align-items:flex-start; }
.news-featured__body { flex:1; padding:1.35rem; }
.news-card__body { justify-content:center; padding:1rem 1.05rem; }
.news-label { display:inline-flex; margin-bottom:.65rem; padding:.25rem .62rem; border-radius:999px; color:#fff; background:linear-gradient(135deg,var(--arc-orange),var(--arc-gold)); font-size:.74rem; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.news-meta { margin:0 0 .38rem; color:var(--arc-muted); font-size:.8rem; font-weight:850; }
.news-featured h3,.news-card h3 { margin:0; line-height:1.16; }
.news-featured h3 { font-size:clamp(1.35rem,2.2vw,1.72rem); }
.news-card h3 { font-size:1.02rem; }
.news-featured h3 a,.news-card h3 a { color:var(--arc-purple-700); text-decoration:none; }
.news-featured h3 a:hover,.news-card h3 a:hover { color:var(--arc-orange-700); }
.news-excerpt { margin:.72rem 0 1rem; color:var(--arc-muted); font-size:.96rem; }
.news-link { display:inline-flex; align-items:center; gap:.36rem; margin-top:.72rem; color:var(--arc-purple); font-size:.85rem; font-weight:900; text-decoration:none; }
.news-featured .news-link { margin-top:auto; }
.news-link i { font-size:.75rem; transition:transform .16s ease; }
.news-link:hover { color:var(--arc-orange-700); }
.news-featured:hover .news-link i,.news-card:hover .news-link i { transform:translateX(.18rem); }
.home-news__list { display:grid; gap:.92rem; }
.post-hero { width:100%; max-height:440px; margin-bottom:1.5rem; border-radius:var(--arc-radius); object-fit:cover; }



/* News index / detail */
.news-index-container { max-width:1180px; }
.news-index-toolbar { display:flex; align-items:end; justify-content:space-between; gap:1.25rem; margin-bottom:1.15rem; }
.news-index-toolbar h2 { margin:0; font-size:clamp(1.65rem,2.7vw,2.2rem); }
.news-index-toolbar p:not(.eyebrow) { max-width:64ch; margin:.45rem 0 0; color:var(--arc-muted); }
.news-filter-row { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.55rem; }
.news-filter { display:inline-flex; align-items:center; gap:.45rem; padding:.48rem .78rem; border:1px solid rgba(91,58,140,.16); border-radius:999px; color:var(--arc-purple-700); background:#fff; box-shadow:0 .3rem .9rem rgba(31,36,48,.045); font-size:.86rem; font-weight:900; text-decoration:none; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease; }
.news-filter small { display:inline-grid; place-items:center; min-width:1.42rem; height:1.42rem; padding:0 .28rem; border-radius:999px; color:var(--arc-muted); background:var(--arc-soft); font-size:.7rem; font-weight:950; }
.news-filter:hover,.news-filter:focus { color:var(--arc-purple-700); border-color:rgba(91,58,140,.28); box-shadow:0 .5rem 1.15rem rgba(31,36,48,.07); transform:translateY(-1px); text-decoration:none; }
.news-filter--on { color:#fff; border-color:var(--arc-purple); background:var(--arc-purple); }
.news-filter--on:hover,.news-filter--on:focus { color:#fff; background:var(--arc-purple-700); }
.news-filter--on small { color:var(--arc-purple-700); background:#fff; }
.news-list-feature { position:relative; display:grid; grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr); gap:0; margin-bottom:1.45rem; overflow:hidden; border:1px solid rgba(91,58,140,.18); border-radius:var(--arc-radius); background:linear-gradient(135deg,#fff 0%,#fff 64%,rgba(242,163,10,.08) 100%); box-shadow:var(--arc-shadow); }
.news-list-feature::before,.news-index-card::before,.news-article-card::before { content:""; position:absolute; inset:0 0 auto; height:.24rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.news-list-feature::after,.news-article-card::after { content:""; position:absolute; right:-2.6rem; bottom:-2.8rem; width:8rem; height:8rem; border-radius:50%; background:rgba(242,163,10,.1); pointer-events:none; }
.news-list-feature__media { display:flex; align-items:center; justify-content:center; min-height:18.5rem; overflow:hidden; background:linear-gradient(135deg,#f2ecf8,#fff); border-right:1px solid rgba(91,58,140,.14); }
.news-list-feature__media img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.news-list-feature__media--default { padding:clamp(1.1rem,2.5vw,1.75rem); }
.news-list-feature__media--default img { object-fit:contain; border-radius:.85rem; }
.news-list-feature:hover .news-list-feature__media img { transform:scale(1.03); }
.news-list-feature:hover .news-list-feature__media--default img { transform:none; }
.news-list-feature__body { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(1.35rem,3vw,2.35rem); }
.news-list-feature__body h2 { max-width:14ch; margin:.28rem 0 .65rem; font-size:clamp(1.7rem,2.7vw,2.25rem); line-height:1.06; }
.news-list-feature__body h2 a,.news-index-card h2 a { color:var(--arc-ink); text-decoration:none; }
.news-list-feature__body h2 a:hover,.news-index-card h2 a:hover { color:var(--arc-purple-700); }
.news-list-feature__body p:not(.eyebrow):not(.news-card-meta) { margin:0 0 1rem; color:var(--arc-muted); }
.news-card-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; margin:0; color:var(--arc-muted); font-size:.82rem; font-weight:850; }
.news-card-meta span + span::before { content:"•"; margin-right:.4rem; color:#b7adc9; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:stretch; }
.news-index-card { position:relative; display:flex; min-width:0; height:100%; min-height:26.25rem; flex-direction:column; overflow:hidden; border:1px solid var(--arc-line); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .45rem 1.2rem rgba(31,36,48,.065); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.news-index-card:hover,.news-index-card:focus-within { transform:translateY(-3px); border-color:rgba(91,58,140,.26); box-shadow:var(--arc-shadow); }
.news-index-card__media { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,#f3eff9,#fff); }
.news-index-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.news-index-card__media--default { padding:.9rem; }
.news-index-card__media--default img { object-fit:contain; border-radius:.7rem; }
.news-index-card:hover .news-index-card__media img { transform:scale(1.035); }
.news-index-card:hover .news-index-card__media--default img { transform:none; }
.news-index-card__category { position:absolute; left:.78rem; bottom:.72rem; max-width:calc(100% - 1.56rem); padding:.26rem .58rem; border-radius:999px; color:#fff; background:rgba(45,27,73,.9); box-shadow:0 .4rem .9rem rgba(31,36,48,.16); font-size:.72rem; font-weight:900; line-height:1.1; }
.news-index-card__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:1rem 1.05rem 1.08rem; }
.news-index-card h2 { display:-webkit-box; min-height:2.7rem; margin:.35rem 0 .45rem; overflow:hidden; font-size:1.08rem; line-height:1.22; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.news-index-card__body > p:not(.news-card-meta) { display:-webkit-box; min-height:4.15rem; margin:0 0 .9rem; overflow:hidden; color:var(--arc-muted); font-size:.94rem; line-height:1.48; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.news-card-read { display:inline-flex; align-items:center; gap:.35rem; margin-top:auto; padding:.42rem .7rem; border:1px solid rgba(217,106,18,.18); border-radius:999px; color:var(--arc-orange-700); background:rgba(242,163,10,.08); font-size:.86rem; font-weight:900; text-decoration:none; transition:color .16s ease, background .16s ease, border-color .16s ease; }
.news-card-read i { font-size:.74rem; transition:transform .16s ease; }
.news-card-read:hover,.news-card-read:focus { color:#fff; border-color:var(--arc-orange); background:var(--arc-orange); }
.news-index-card:hover .news-card-read i { transform:translateX(.18rem); }
.news-pager { margin-top:2rem; }
.news-empty-state { text-align:center; }
.news-empty-state__icon { display:inline-grid; place-items:center; width:3.2rem; height:3.2rem; margin-bottom:.85rem; border-radius:1rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); }
.news-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:1.25rem; align-items:start; max-width:1120px; }
.news-article-card { position:relative; overflow:hidden; padding:clamp(1.15rem,2.5vw,1.75rem); border:1px solid rgba(91,58,140,.18); border-radius:var(--arc-radius); background:linear-gradient(135deg,#fff 0%,#fff 72%,rgba(242,163,10,.06) 100%); box-shadow:var(--arc-shadow); }
.news-article-card__head { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; padding:1rem; border:1px solid rgba(91,58,140,.12); border-radius:.9rem; background:rgba(255,255,255,.78); }
.news-article-card__head h2 { margin:0; font-size:clamp(1.35rem,2.3vw,1.75rem); }
.news-article-meta { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.news-pill { display:inline-flex; align-items:center; gap:.38rem; padding:.34rem .68rem; border:1px solid rgba(91,58,140,.12); border-radius:999px; color:var(--arc-purple-700); background:var(--arc-soft); font-size:.82rem; font-weight:900; text-decoration:none; }
.news-pill:hover { color:var(--arc-orange-700); }
.news-article-media { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; overflow:hidden; margin:0 0 1.35rem; border-radius:var(--arc-radius); background:linear-gradient(135deg,#f3eff9,#fff); }
.news-article-media img { width:100%; max-height:520px; object-fit:cover; }
.news-article-media--default { padding:clamp(1.5rem,4vw,2.5rem); }
.news-article-media--default img { object-fit:contain; border-radius:.85rem; }
.news-article-body { position:relative; z-index:1; max-width:none; padding:.25rem .25rem 0; color:#343b4a; font-size:1.06rem; line-height:1.68; word-break:break-word; }
.news-article-body > :first-child { margin-top:0; }
.news-article-body > :last-child { margin-bottom:0; }
.news-article-body p,.news-article-body ul,.news-article-body ol { margin-bottom:1.05rem; }
.news-article-body h2,.news-article-body h3 { margin:2.05rem 0 .7rem; color:var(--arc-purple-700); line-height:1.18; }
.news-article-body h2:first-child,.news-article-body h3:first-child { margin-top:0; }
.news-article-body a { overflow-wrap:anywhere; }
.news-article-body blockquote { margin:1.35rem 0; padding:1rem 1.05rem; border-left:.3rem solid var(--arc-orange); border-radius:.75rem; background:var(--arc-soft); color:#394052; }
.news-article-body table { display:block; width:100%!important; max-width:100%; overflow-x:auto; margin:1.35rem 0; border:1px solid var(--arc-line); border-radius:.85rem; background:#fff; }
.news-article-body th,.news-article-body td { padding:.65rem .75rem; border:1px solid var(--arc-line); vertical-align:top; }
.news-article-body span[style] { font-family:inherit!important; line-height:inherit!important; }
.news-article-body span[style*="font-size"] { font-size:inherit!important; }
.news-article-body img { float:none!important; display:block; height:auto!important; margin:1.35rem auto 1.25rem!important; border:1px solid rgba(91,58,140,.14); border-radius:.95rem; background:#fff; box-shadow:0 .45rem 1.15rem rgba(31,36,48,.07); object-fit:contain!important; aspect-ratio:auto!important; }
.news-article-body img.legacy-article-img--wide { width:100%!important; max-width:100%; }
.news-article-body img.legacy-article-img--medium { width:min(100%,36rem)!important; max-width:100%; }
.news-article-body img.legacy-article-img--logo { width:min(100%,26rem)!important; max-width:100%; padding:.55rem; }
.news-article-body img.legacy-article-img--compact { width:auto!important; max-width:min(100%,18rem); padding:.45rem; }
.news-article-body .arc-video-embed,.news-article-body iframe,.news-article-body audio,.news-article-body video { max-width:100%; }
.news-article-body .arc-video-embed { overflow:hidden; margin:1.5rem 0; border:1px solid rgba(91,58,140,.16); border-radius:var(--arc-radius); box-shadow:0 .45rem 1.25rem rgba(31,36,48,.07); }
.news-article-empty { position:relative; z-index:1; display:flex; gap:.85rem; align-items:center; padding:1rem; border:1px dashed rgba(91,58,140,.22); border-radius:.9rem; background:rgba(246,244,249,.75); color:var(--arc-muted); }
.news-article-empty span { display:grid; place-items:center; flex:0 0 auto; width:2.45rem; height:2.45rem; border-radius:.75rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); }
.news-article-empty p { margin:0; }
.news-adjacent { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1.45rem; padding-top:1.25rem; border-top:1px solid var(--arc-line); }
.news-adjacent-card { display:flex; min-height:6rem; flex-direction:column; justify-content:center; padding:.9rem 1rem; border:1px solid rgba(91,58,140,.14); border-radius:.95rem; color:inherit; background:#fff; text-decoration:none; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.news-adjacent-card:hover,.news-adjacent-card:focus { color:inherit; border-color:rgba(91,58,140,.28); box-shadow:0 .45rem 1.15rem rgba(31,36,48,.07); transform:translateY(-2px); }
.news-adjacent-card small { display:flex; align-items:center; gap:.35rem; margin-bottom:.3rem; color:var(--arc-orange-700); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.news-adjacent-card strong { color:var(--arc-purple-700); line-height:1.25; }
.news-adjacent-card--next { text-align:right; }
.news-adjacent-card--next small { justify-content:flex-end; }
.news-article-footer { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--arc-line); }
.news-sidebar { display:grid; gap:1rem; }
.news-side-card { padding:1.1rem; }
.news-side-card--support { color:#fff; border-color:rgba(255,255,255,.12); background:linear-gradient(135deg,var(--arc-purple-900),var(--arc-purple)); }
.news-side-card__icon { display:grid; place-items:center; width:2.65rem; height:2.65rem; margin-bottom:.75rem; border-radius:.85rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .5rem 1rem rgba(91,58,140,.16); }
.news-side-card--support .news-side-card__icon { background:rgba(255,255,255,.16); }
.news-side-card h2 { margin:0 0 .45rem; font-size:1.15rem; }
.news-side-card--support h2 { color:#fff; }
.news-side-card p { margin:0 0 .8rem; color:var(--arc-muted); font-size:.95rem; }
.news-side-card--support p { color:rgba(255,255,255,.86); }
.news-side-card a { display:inline-flex; align-items:center; gap:.35rem; color:var(--arc-orange-700); font-size:.88rem; font-weight:900; text-decoration:none; }
.news-side-card--support a { color:#fff; }
.news-side-card a i { font-size:.74rem; transition:transform .16s ease; }
.news-side-card a:hover i { transform:translateX(.18rem); }
.news-related-list { display:grid; gap:.75rem; margin:.85rem 0 0; padding:0; list-style:none; }
.news-related-list a { display:block; padding:.78rem; border:1px solid rgba(91,58,140,.12); border-radius:.8rem; color:inherit; background:var(--arc-soft); }
.news-related-list a:hover,.news-related-list a:focus { color:inherit; border-color:rgba(91,58,140,.24); background:#fff; }
.news-related-list strong,.news-related-list small { display:block; }
.news-related-list strong { color:var(--arc-purple-700); font-size:.94rem; line-height:1.25; }
.news-related-list small { margin-top:.28rem; color:var(--arc-muted); font-size:.78rem; font-weight:850; }

/* Forms / alerts */
.contact-form { padding:1.15rem; border:1px solid rgba(91,58,140,.12); border-radius:1rem; background:rgba(255,255,255,.82); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); }
.form-field { margin-bottom:1.05rem; }
.form-field label { display:block; margin-bottom:.35rem; font-weight:750; }
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],textarea,select { width:100%; padding:.78rem .9rem; border:1px solid var(--arc-line); border-radius:.75rem; color:var(--arc-ink); background:#fff; font:inherit; }
textarea { min-height:160px; resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--arc-purple); outline:0; box-shadow:0 0 0 .2rem rgba(91,58,140,.16); }
.form-note { color:var(--arc-muted); font-size:.9rem; }
.alert { border-radius:.85rem; padding:.9rem 1rem; }
.alert--ok { color:#155c35; background:#e8f7ee; border-color:#bce5cb; }
.alert--err { color:#842029; background:#f8d7da; border-color:#f1aeb5; }
.alert--info { color:#24447c; background:#eaf1ff; border-color:#bfd0f5; }
.alert--warn { color:#765000; background:#fff4dc; border-color:#f2d495; }
.hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Chips / pagination / search */
.chip-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.75rem; }
.chip { display:inline-block; padding:.38rem .85rem; border:1px solid var(--arc-line); border-radius:999px; color:var(--arc-muted); background:#fff; font-size:.9rem; font-weight:750; text-decoration:none; }
.chip:hover,.chip--on { color:#fff; border-color:var(--arc-purple); background:var(--arc-purple); }
.pager { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:2rem; }
.pager__count,.search-count { color:var(--arc-muted); font-size:.92rem; }
.pagination-wrap { display:flex; flex-direction:column; align-items:center; gap:.75rem; margin-top:clamp(1.6rem,3vw,2.3rem); }
.pagination-list { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin:0; padding:0; list-style:none; }
.pagination-link,.pagination-ellipsis { display:inline-flex; align-items:center; justify-content:center; min-width:2.35rem; height:2.35rem; padding:0 .75rem; border:1px solid rgba(91,58,140,.18); border-radius:999px; color:var(--arc-purple-700); background:#fff; font-size:.9rem; font-weight:900; text-decoration:none; box-shadow:0 .35rem .9rem rgba(31,36,48,.055); }
.pagination-link:hover,.pagination-link:focus { color:#fff; border-color:var(--arc-purple); background:var(--arc-purple); }
.pagination-link.is-current { color:#fff; border-color:var(--arc-orange); background:var(--arc-orange); }
.pagination-link--arrow { min-width:2.55rem; }
.pagination-ellipsis { min-width:1.8rem; border-color:transparent; background:transparent; box-shadow:none; color:var(--arc-muted); }
.pagination-count { color:var(--arc-muted); font-size:.88rem; font-weight:800; }
.search-page .container { max-width:980px; }
.search-panel { max-width:920px; margin-inline:auto; padding:1.2rem; border:1px solid rgba(91,58,140,.18); border-radius:var(--arc-radius); box-shadow:var(--arc-shadow); }
.search-form { display:flex; gap:.75rem; }
.search-form--large { align-items:stretch; }
.search-field { position:relative; flex:1; min-width:0; }
.search-field i { position:absolute; left:1rem; top:50%; color:var(--arc-purple); transform:translateY(-50%); pointer-events:none; }
.search-field .form-control,.search-form input[type=search] { min-height:3.25rem; padding-left:2.75rem; border-color:rgba(91,58,140,.18); border-radius:999px; box-shadow:inset 0 1px 0 rgba(255,255,255,.6); }
.search-field .form-control:focus,.search-form input[type=search]:focus { border-color:var(--arc-purple); box-shadow:0 0 0 .2rem rgba(91,58,140,.12); }
.search-empty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; max-width:920px; margin:1.2rem auto 0; }
.search-quick-card { display:flex; gap:.85rem; height:100%; padding:1rem; border:1px solid var(--arc-line); border-radius:var(--arc-radius); color:inherit; background:#fff; box-shadow:0 .45rem 1.2rem rgba(31,36,48,.06); text-decoration:none; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.search-quick-card:hover,.search-quick-card:focus { color:inherit; border-color:rgba(91,58,140,.26); box-shadow:var(--arc-shadow); transform:translateY(-2px); }
.search-quick-card__icon { display:grid; place-items:center; flex:0 0 auto; width:2.6rem; height:2.6rem; border-radius:.85rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); }
.search-quick-card strong { display:block; margin-bottom:.12rem; color:var(--arc-ink); font-weight:900; line-height:1.15; }
.search-quick-card small { display:block; color:var(--arc-muted); font-size:.9rem; line-height:1.35; }
.search-state { margin-top:1.2rem; text-align:center; }
.search-state__icon { display:inline-grid; place-items:center; width:3.25rem; height:3.25rem; margin-bottom:.8rem; border-radius:1rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .55rem 1rem rgba(91,58,140,.18); }
.search-state h2 { margin-bottom:.4rem; }
.search-state p { max-width:54ch; margin:.35rem auto 1rem; color:var(--arc-muted); }
.search-results-panel { max-width:920px; margin:1.4rem auto 0; }
.search-results-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.search-results-head h2 { margin:0; }
.search-results-head .eyebrow { margin-bottom:.25rem; }
.search-count { margin:0 0 .15rem; padding:.35rem .75rem; border:1px solid rgba(91,58,140,.12); border-radius:999px; background:#fff; font-weight:900; white-space:nowrap; }
.search-results { list-style:none; margin:0; padding:0; }
.search-results--cards { display:grid; gap:.85rem; }
.search-result { margin:0; padding:0; }
.search-result__link { display:block; padding:1rem 1.1rem; border:1px solid var(--arc-line); border-radius:var(--arc-radius); color:inherit; background:#fff; box-shadow:0 .4rem 1.15rem rgba(31,36,48,.055); text-decoration:none; transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.search-result__link:hover,.search-result__link:focus { color:inherit; border-color:rgba(91,58,140,.28); box-shadow:var(--arc-shadow); transform:translateY(-2px); }
.search-result__meta { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-bottom:.55rem; }
.search-result__type { display:inline-flex; align-items:center; gap:.35rem; padding:.2rem .6rem; border-radius:999px; color:var(--arc-purple); background:var(--arc-soft); font-size:.72rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.search-result__date { color:var(--arc-muted); font-size:.86rem; font-weight:800; }
.search-result__title { display:block; margin:0 0 .35rem; color:var(--arc-ink); font-size:1.16rem; font-weight:900; line-height:1.24; }
.search-result__snippet { display:block; color:var(--arc-muted); font-size:.98rem; line-height:1.55; }
.search-result mark,.search-result__snippet mark { padding:0 .17rem; border-radius:.25rem; background:#fbe7b3; color:inherit; }
.search-result__cta { display:inline-flex; align-items:center; gap:.35rem; margin-top:.7rem; color:var(--arc-orange-700); font-size:.88rem; font-weight:900; }
.search-result__cta i { font-size:.75rem; transition:transform .16s ease; }
.search-result__link:hover .search-result__cta i,.search-result__link:focus .search-result__cta i { transform:translateX(.18rem); }

/* Gallery / videos */
.gallery-page { background:radial-gradient(circle at 8% 5%,rgba(217,106,18,.065),transparent 17rem), linear-gradient(180deg,#fff 0%,var(--arc-soft) 100%); }
.gallery-listing-wrap { max-width:1120px; margin-inline:auto; }
.gallery-feature { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); overflow:hidden; margin-bottom:clamp(2rem,4vw,3.2rem); border:1px solid rgba(91,58,140,.18); border-radius:calc(var(--arc-radius) + .15rem); background:#fff; box-shadow:var(--arc-shadow); }
.gallery-feature--compact { width:100%; margin-bottom:clamp(1.8rem,3vw,2.45rem); grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr); }
.gallery-feature__media { position:relative; min-height:22rem; overflow:hidden; background:linear-gradient(135deg,#efe8f7,#fff); }
.gallery-feature__media::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(180deg,transparent,rgba(45,27,73,.44)); pointer-events:none; }
.gallery-feature__media img { width:100%; height:100%; min-height:22rem; object-fit:cover; transition:transform .22s ease; }
.gallery-feature--compact .gallery-feature__media,.gallery-feature--compact .gallery-feature__media img { min-height:16.75rem; }
.gallery-feature--compact .gallery-feature__body { padding:clamp(1.15rem,2.4vw,1.75rem); }
.gallery-feature.gallery-feature--compact h2 { font-size:clamp(1.35rem,2.4vw,1.8rem); }
.gallery-feature:hover .gallery-feature__media img { transform:scale(1.025); }
.gallery-feature__body { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(1.35rem,3vw,2.25rem); overflow:hidden; }
.gallery-feature__body::after { content:""; position:absolute; right:-3.2rem; bottom:-3.5rem; width:9rem; height:9rem; border-radius:50%; background:rgba(217,106,18,.08); pointer-events:none; }
.gallery-feature h2 { position:relative; margin:0 0 .75rem; font-size:clamp(1.65rem,3vw,2.3rem); }
.gallery-feature h2 a { color:var(--arc-ink); text-decoration:none; }
.gallery-feature h2 a:hover { color:var(--arc-purple-700); }
.gallery-feature p:not(.eyebrow) { position:relative; margin:0; color:var(--arc-muted); }
.gallery-feature__meta { position:relative; display:flex; flex-wrap:wrap; gap:.55rem; margin:1.15rem 0 1.35rem; }
.gallery-feature__meta span,.gallery-count { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .7rem; border:1px solid rgba(91,58,140,.16); border-radius:999px; color:var(--arc-purple-700); background:var(--arc-soft); font-size:.82rem; font-weight:850; }
.gallery-section-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.15rem; }
.gallery-section-head--album { align-items:flex-start; }
.gallery-section-titleline { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-bottom:.35rem; }
.gallery-section-titleline h2 { margin:0; }
.gallery-section-head h2 { margin:0 0 .35rem; font-size:clamp(1.45rem,2.4vw,2rem); }
.gallery-section-head p:last-child { max-width:44rem; margin:0; color:var(--arc-muted); }
.album-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.15rem; }
.album-card { position:relative; display:block; overflow:hidden; border:1px solid rgba(91,58,140,.16); border-radius:var(--arc-radius); color:inherit; background:#fff; box-shadow:0 .45rem 1.25rem rgba(31,36,48,.07); text-decoration:none; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.album-card::before { content:""; position:absolute; inset:0 0 auto; z-index:2; height:.22rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); opacity:0; transition:opacity .16s ease; pointer-events:none; }
.album-card:hover,.album-card:focus { color:inherit; transform:translateY(-3px); border-color:rgba(91,58,140,.25); box-shadow:var(--arc-shadow); }
.album-card:hover::before,.album-card:focus::before { opacity:1; }
.album-card__thumb { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,#f4effa,#fff); }
.album-card__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.album-card:hover .album-card__thumb img,.album-card:focus .album-card__thumb img { transform:scale(1.035); }
.album-card__empty { display:grid; place-items:center; width:3.2rem; height:3.2rem; border-radius:1rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); font-size:1.25rem; }
.album-card__badge { position:absolute; right:.75rem; bottom:.75rem; display:inline-flex; align-items:center; gap:.35rem; padding:.28rem .62rem; border-radius:999px; color:#fff; background:rgba(45,27,73,.9); font-size:.78rem; font-weight:900; box-shadow:0 .4rem .9rem rgba(31,36,48,.18); }
.album-card__body { display:flex; flex-direction:column; align-items:flex-start; padding:1rem 1.05rem 1.08rem; }
.album-card__title { display:-webkit-box; min-height:2.9rem; margin:0 0 .28rem; overflow:hidden; color:var(--arc-ink); font-size:1.08rem; font-weight:850; line-height:1.25; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.album-card__context { display:inline-flex; align-items:center; margin:-.1rem 0 .45rem; padding:.18rem .55rem; border-radius:999px; color:var(--arc-purple-700); background:var(--arc-soft); font-size:.73rem; font-weight:900; }
.album-card__count { margin:0 0 .7rem; color:var(--arc-muted); font-size:.88rem; }
.album-card__link { display:inline-flex; align-items:center; gap:.35rem; margin-top:auto; color:var(--arc-orange-700); font-size:.85rem; font-weight:900; }
.album-card__link i { font-size:.75rem; transition:transform .16s ease; }
.album-card:hover .album-card__link,.album-card:focus .album-card__link { color:var(--arc-purple-700); }
.album-card:hover .album-card__link i,.album-card:focus .album-card__link i { transform:translateX(.18rem); }
.gallery-grid { list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:.9rem; margin:0; padding:0; }
.gallery-grid--photos { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); }
.gallery-thumb { position:relative; width:100%; padding:0; border:0; border-radius:.95rem; overflow:hidden; aspect-ratio:1; background:var(--arc-soft); box-shadow:0 .35rem 1rem rgba(31,36,48,.07); cursor:pointer; }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease, opacity .2s ease; }
.gallery-thumb:hover img,.gallery-thumb:focus-visible img { opacity:.92; transform:scale(1.045); }
.gallery-thumb__overlay { position:absolute; inset:0; display:grid; place-items:center; color:var(--arc-purple-700); background:rgba(45,27,73,.25); opacity:0; transition:opacity .16s ease; }
.gallery-thumb__overlay span { display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .75rem; border-radius:999px; background:rgba(255,255,255,.94); box-shadow:0 .55rem 1.25rem rgba(31,36,48,.18); font-size:.78rem; font-weight:900; transform:translateY(.35rem); transition:transform .16s ease; }
.gallery-thumb__overlay i { font-size:.9rem; }
.gallery-thumb:hover .gallery-thumb__overlay,.gallery-thumb:focus-visible .gallery-thumb__overlay { opacity:1; }
.gallery-thumb:hover .gallery-thumb__overlay span,.gallery-thumb:focus-visible .gallery-thumb__overlay span { transform:translateY(0); }
.gallery-empty { text-align:center; }
.gallery-empty__icon { display:inline-grid; place-items:center; width:3.2rem; height:3.2rem; margin-bottom:.85rem; border-radius:1rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .55rem 1rem rgba(91,58,140,.18); }
.gallery-empty h2 { margin-bottom:.4rem; font-size:1.45rem; }
.gallery-empty p { color:var(--arc-muted); }
.gallery-empty--compact { margin-top:.5rem; }
.lightbox { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:1.5rem; background:rgba(15,12,25,.92); backdrop-filter:blur(4px); }
.lightbox[hidden] { display:none; }
.lightbox__figure { max-width:90vw; max-height:88vh; margin:0; text-align:center; }
.lightbox__img { max-width:90vw; max-height:80vh; border-radius:.75rem; object-fit:contain; box-shadow:0 1rem 3rem rgba(0,0,0,.28); }
.lightbox__caption { margin:.75rem 0 0; color:#fff; font-size:.95rem; font-weight:800; }
.lightbox__counter { margin-top:.3rem; color:rgba(255,255,255,.72); font-size:.86rem; font-weight:800; }
.lightbox__close { position:absolute; top:1rem; right:1.25rem; display:grid; place-items:center; width:3rem; height:3rem; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.14); font-size:2rem; line-height:1; cursor:pointer; }
.lightbox__close:hover,.lightbox__nav:hover { background:rgba(255,255,255,.25); }
.lightbox__nav { flex:0 0 auto; width:3.4rem; height:3.4rem; margin:0 .5rem; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.13); font-size:2rem; cursor:pointer; }
.videos-page { background:radial-gradient(circle at 8% 5%,rgba(217,106,18,.07),transparent 17rem), linear-gradient(180deg,#fff 0%,var(--arc-soft) 100%); }
.video-feature { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr); overflow:hidden; margin-bottom:clamp(2rem,4vw,3.2rem); border:1px solid rgba(91,58,140,.18); border-radius:calc(var(--arc-radius) + .15rem); background:#fff; box-shadow:var(--arc-shadow); }
.video-feature__media { min-width:0; background:#000; }
.video-feature__body { position:relative; display:flex; flex-direction:column; justify-content:center; padding:clamp(1.35rem,3vw,2.25rem); overflow:hidden; }
.video-feature__body::after { content:""; position:absolute; right:-3.2rem; bottom:-3.5rem; width:9rem; height:9rem; border-radius:50%; background:rgba(217,106,18,.08); pointer-events:none; }
.video-feature h2 { position:relative; margin:0 0 .75rem; font-size:clamp(1.65rem,3vw,2.3rem); }
.video-feature p:not(.eyebrow) { position:relative; margin:0; color:var(--arc-muted); }
.video-feature__meta { position:relative; display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.2rem; }
.video-feature__meta span { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .7rem; border:1px solid rgba(91,58,140,.16); border-radius:999px; color:var(--arc-purple-700); background:var(--arc-soft); font-size:.82rem; font-weight:850; }
.video-library-heading { margin-bottom:1.1rem; }
.video-library-heading p:last-child { max-width:34rem; margin:0; color:var(--arc-muted); }
.video-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.15rem; }
.video-card-modern { position:relative; overflow:hidden; border:1px solid rgba(91,58,140,.16); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .45rem 1.25rem rgba(31,36,48,.07); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.video-card-modern::before { content:""; position:absolute; inset:0 0 auto; z-index:2; height:.22rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); opacity:0; transition:opacity .16s ease; pointer-events:none; }
.video-card-modern:hover,.video-card-modern:focus-within { transform:translateY(-3px); border-color:rgba(91,58,140,.25); box-shadow:var(--arc-shadow); }
.video-card-modern:hover::before,.video-card-modern:focus-within::before { opacity:1; }
.video-card-modern__button { display:block; width:100%; height:100%; padding:0; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; }
.video-card-modern__button:focus-visible { outline:3px solid var(--arc-gold); outline-offset:3px; }
.video-card-modern__media { position:relative; display:block; overflow:hidden; aspect-ratio:16/9; background:#000; }
.video-card-modern__body { display:block; padding:1rem 1.05rem 1.1rem; }
.video-card-modern__title { display:-webkit-box; min-height:3.95rem; margin:0 0 .65rem; overflow:hidden; color:var(--arc-ink); font-size:1.05rem; font-weight:850; line-height:1.25; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.video-card-modern__action { display:inline-flex; align-items:center; gap:.35rem; color:var(--arc-orange-700); font-size:.85rem; font-weight:900; }
.video-card-modern__button:hover .video-card-modern__action,.video-card-modern__button:focus-visible .video-card-modern__action { color:var(--arc-purple-700); }
.video-empty { text-align:center; }
.video-empty__icon { display:inline-grid; place-items:center; width:3.2rem; height:3.2rem; margin-bottom:.85rem; border-radius:1rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .55rem 1rem rgba(91,58,140,.18); }
.video-empty h2 { margin-bottom:.4rem; font-size:1.45rem; }
.video-embed,.video-facade { position:relative; overflow:hidden; aspect-ratio:16/9; background:#000; }
.video-embed { border-radius:var(--arc-radius); }
.video-feature__media .video-embed,.video-feature__media .video-facade { height:100%; border-radius:0; }
.video-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-facade { display:block; width:100%; padding:0; border:0; cursor:pointer; }
.video-facade__thumb { width:100%; height:100%; object-fit:cover; opacity:.92; transition:opacity .18s ease, transform .18s ease; }
.video-facade:hover .video-facade__thumb,.video-card-modern:hover .video-facade__thumb,.video-card-modern__button:focus-visible .video-facade__thumb { opacity:1; transform:scale(1.025); }
.video-facade__play { position:absolute; inset:0; width:4.25rem; height:3rem; margin:auto; border-radius:.85rem; background:rgba(217,106,18,.96); box-shadow:0 .65rem 1.25rem rgba(31,36,48,.25); transition:transform .16s ease, background-color .16s ease; }
.video-facade:hover .video-facade__play,.video-card-modern:hover .video-card-modern__play,.video-card-modern__button:focus-visible .video-card-modern__play { transform:scale(1.06); background:var(--arc-orange); }
.video-facade--feature .video-facade__play { width:5.2rem; height:3.65rem; border-radius:1rem; }
.video-card-modern__play { width:3.65rem; height:2.55rem; border-radius:.75rem; background:rgba(217,106,18,.86); box-shadow:0 .45rem 1rem rgba(31,36,48,.2); }
.video-facade__play::after { content:""; position:absolute; inset:0; width:0; height:0; margin:auto; border-style:solid; border-width:.7rem 0 .7rem 1.15rem; border-color:transparent transparent transparent #fff; }
.video-player-modal .modal-content { overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:calc(var(--arc-radius) + .15rem); background:#fff; box-shadow:0 1.25rem 4rem rgba(31,36,48,.28); }
.video-player-modal .modal-header { align-items:flex-start; gap:1rem; border-bottom:1px solid var(--arc-line); background:linear-gradient(135deg,#fff,var(--arc-soft)); }
.video-player-modal .modal-title { margin:0; color:var(--arc-ink); font-size:clamp(1.25rem,2vw,1.65rem); }
.video-player-modal .modal-body { padding:0; background:#000; }
.video-modal-player { position:relative; aspect-ratio:16/9; background:#000; }
.video-modal-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Donate / membership / calendar */
.pay-box { padding:1.35rem; }
.pay-box--accent { position:relative; overflow:hidden; border-color:rgba(91,58,140,.18); background:rgba(255,255,255,.9); box-shadow:0 .65rem 1.4rem rgba(31,36,48,.075), inset 0 1px 0 rgba(255,255,255,.95); }
.pay-box--accent::before { content:""; position:absolute; inset:0 0 auto; height:.25rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.pay-box--accent > * { position:relative; z-index:1; }
.pay-box--accent legend { color:var(--arc-ink); font-size:1.12rem; }
.pay-box--accent .form-field label,.pay-box--accent .pay-custom,.pay-box--accent .pay-cover { color:#2b2635; }
.pay-box--accent input[type=text],.pay-box--accent input[type=email],.pay-box--accent input[type=number] { background:rgba(255,255,255,.96); }
.pay-box--accent .amount-btn { background:linear-gradient(180deg,#fff,#fbf8ff); box-shadow:0 .25rem .75rem rgba(31,36,48,.04); }
.pay-box--accent .amount-btn:hover,.pay-box--accent .amount-btn:focus { border-color:var(--arc-orange); box-shadow:0 0 0 .18rem rgba(217,106,18,.12); }
.pay-box--accent .amount-btn.is-on { border-color:var(--arc-purple); background:linear-gradient(135deg,var(--arc-purple),var(--arc-purple-700)); box-shadow:0 .5rem 1rem rgba(91,58,140,.18); }
.pay-buttons { margin-top:.9rem; min-height:112px; }
.pay-buttons iframe { max-width:100%; }
.pay-amounts,.pay-levels { margin:0 0 1rem; padding:0; border:0; }
.pay-amounts legend,.pay-levels legend { margin-bottom:.65rem; font-weight:850; }
.amount-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.55rem; margin-bottom:.85rem; }
.amount-btn { padding:.72rem 0; border:2px solid var(--arc-line); border-radius:.8rem; background:#fff; font-size:1.05rem; font-weight:850; cursor:pointer; }
.amount-btn:hover { border-color:var(--arc-purple); }
.amount-btn.is-on { color:#fff; border-color:var(--arc-purple); background:var(--arc-purple); }
.pay-custom { display:block; margin-top:.25rem; font-weight:750; }
.pay-custom input { margin-top:.35rem; }
.level-option { display:flex; align-items:center; gap:.75rem; margin-bottom:.5rem; padding:.75rem .85rem; border:1px solid var(--arc-line); border-radius:.8rem; cursor:pointer; }
.level-option:hover { border-color:var(--arc-purple); }
.level-option__name { flex:1; font-weight:750; }
.level-option__price { color:var(--arc-purple); font-weight:850; }
.pay-cover { display:flex; align-items:center; gap:.5rem; margin:.5rem 0 1rem; }
.pay-summary { margin-bottom:1rem; padding:.9rem 1rem; border:1px solid var(--arc-line); border-radius:.8rem; background:var(--arc-soft); }
.pay-summary__row { display:flex; justify-content:space-between; padding:.2rem 0; }
.pay-summary__total { margin-top:.35rem; padding-top:.5rem; border-top:1px solid var(--arc-line); font-size:1.05rem; font-weight:850; }
.pay-summary__note { margin:.6rem 0 0; color:var(--arc-muted); font-size:.86rem; }
.join-cta { margin:1.75rem 0; }
.join-card { max-width:880px; }
.join-form-intro { margin-bottom:1rem; }
.join-pay-box { padding:clamp(1rem,2.4vw,1.45rem); }
.join-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.95rem 1rem; margin-bottom:1.15rem; }
.join-form-grid .form-field { margin-bottom:0; }
.form-field--wide { grid-column:1 / -1; }
.pay-box--accent input[type=text],.pay-box--accent input[type=email],.pay-box--accent input[type=tel],.pay-box--accent input[type=number],.pay-box--accent textarea,.pay-box--accent select { background:rgba(255,255,255,.96); box-shadow:0 .18rem .55rem rgba(31,36,48,.035); }
.membership-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:.35rem; }
.membership-choice-grid legend { grid-column:1 / -1; margin-bottom:.15rem; }
.membership-level-option { align-items:flex-start; gap:.7rem; margin:0; min-height:5.45rem; border-color:rgba(91,58,140,.14); background:linear-gradient(180deg,#fff,#fbf8ff); box-shadow:0 .25rem .75rem rgba(31,36,48,.045); transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease; }
.membership-level-option:hover { transform:translateY(-1px); border-color:rgba(217,106,18,.42); box-shadow:0 .55rem 1.15rem rgba(31,36,48,.08); }
.membership-level-option:focus-within { outline:3px solid rgba(242,163,10,.28); outline-offset:2px; }
.membership-level-option.is-selected,.membership-level-option:has(input:checked) { border-color:var(--arc-purple); background:linear-gradient(135deg,rgba(91,58,140,.09),rgba(242,163,10,.08)); box-shadow:0 .55rem 1.15rem rgba(91,58,140,.12); }
.membership-level-option input { flex:0 0 auto; margin-top:.28rem; accent-color:var(--arc-purple); }
.level-option__body { display:flex; flex-direction:column; gap:.18rem; flex:1; min-width:0; }
.level-option__desc { color:var(--arc-muted); font-size:.82rem; line-height:1.35; }
.membership-level-option .level-option__price { align-self:flex-start; white-space:nowrap; color:var(--arc-purple-700); font-size:1.02rem; }
.membership-level-option .level-option__price small { margin-left:.1rem; color:var(--arc-muted); font-size:.72rem; font-weight:800; }
.pay-summary--membership { background:linear-gradient(135deg,#fff,var(--arc-soft)); }
.paypal-action-area { margin-top:1rem; padding:1rem; border:1px solid rgba(91,58,140,.12); border-radius:.95rem; background:rgba(255,255,255,.74); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); }
.paypal-action-area__label { margin:0 0 .65rem; color:var(--arc-muted); font-size:.82rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.paypal-action-area .pay-buttons { margin-top:0; }


/* Fundraiser forms */
.fundraiser-layout { grid-template-columns:minmax(0,1fr) minmax(260px,320px); }
.fundraiser-main-card { overflow:hidden; }
.fundraiser-intro h2 { margin:0 0 .45rem; }
.fundraiser-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:0 0 1.1rem; }
.fundraiser-price-card { display:flex; align-items:center; gap:.75rem; padding:.9rem 1rem; border:1px solid rgba(91,58,140,.14); border-radius:.95rem; background:rgba(255,255,255,.78); box-shadow:0 .3rem .85rem rgba(31,36,48,.045); }
.fundraiser-price-card__icon { display:grid; place-items:center; flex:0 0 auto; width:2.55rem; height:2.55rem; border-radius:.85rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .45rem .85rem rgba(91,58,140,.16); }
.fundraiser-price-card strong { display:block; color:var(--arc-purple-700); font-size:1.55rem; line-height:1; font-weight:950; letter-spacing:-.035em; }
.fundraiser-price-card span:not(.fundraiser-price-card__icon) { display:block; margin-top:.18rem; color:var(--arc-muted); font-size:.9rem; font-weight:850; }
.fundraiser-alert { margin:1rem 0; }
.fundraiser-action-row { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.fundraiser-pay-box { margin-top:1rem; padding:clamp(1rem,2.4vw,1.45rem); }
.fundraiser-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.95rem 1rem; margin-bottom:1.15rem; }
.fundraiser-form-grid .form-field { margin-bottom:0; }
.pay-summary--fundraiser { background:linear-gradient(135deg,#fff,var(--arc-soft)); }
.payment-message { min-height:1.4rem; margin:.75rem 0 0; color:var(--arc-orange-700); font-weight:850; }
.fundraiser-side-card { position:relative; overflow:hidden; }
.fundraiser-side-card__icon { display:grid; place-items:center; width:2.75rem; height:2.75rem; margin-bottom:.8rem; border-radius:.9rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .5rem 1rem rgba(91,58,140,.15); }
.fundraiser-check-list { list-style:none; margin:.8rem 0 0; padding:0; }
.fundraiser-check-list li { position:relative; margin-bottom:.65rem; padding-left:1.75rem; color:#3f4657; }
.fundraiser-check-list li::before { content:"\f00c"; position:absolute; left:0; top:.12rem; display:grid; place-items:center; width:1.15rem; height:1.15rem; border-radius:999px; color:#fff; background:var(--arc-orange); font:900 .62rem/1 "Font Awesome 7 Free"; }
.fundraiser-side-card--accent { color:#fff; border-color:rgba(91,58,140,.2); background:radial-gradient(circle at 96% 0%,rgba(242,163,10,.22),transparent 9rem), linear-gradient(135deg,var(--arc-purple-700),var(--arc-purple)); box-shadow:var(--arc-shadow); }
.fundraiser-side-card--accent h2,.fundraiser-side-card--accent p { color:#fff; }
.fundraiser-side-card--accent p { opacity:.9; }
.fundraiser-side-card--accent .fundraiser-side-card__icon { background:rgba(255,255,255,.15); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }

/* Fundraisers listing page */
.fundraisers-page { background:radial-gradient(circle at 8% 5%,rgba(217,106,18,.065),transparent 17rem), linear-gradient(180deg,#fff 0%,var(--arc-soft) 100%); }
.fundraisers-list { display:grid; gap:1.25rem; }
.fundraiser-list-card { position:relative; display:grid; grid-template-columns:minmax(250px,360px) minmax(0,1fr); overflow:hidden; border:1px solid rgba(91,58,140,.16); border-radius:calc(var(--arc-radius) + .15rem); background:#fff; box-shadow:0 .65rem 1.55rem rgba(31,36,48,.08); }
.fundraiser-list-card::before { content:""; position:absolute; inset:0 0 auto; height:.3rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.fundraiser-list-card__media { display:flex; align-items:center; justify-content:center; min-height:22rem; padding:1rem; border-right:1px solid rgba(91,58,140,.14); background:radial-gradient(circle at 12% 12%,rgba(242,163,10,.11),transparent 9rem), linear-gradient(135deg,#f7f3fc,#fff); }
.fundraiser-list-card__media img { width:100%; max-height:32rem; object-fit:contain; border-radius:.75rem; background:#fff; box-shadow:0 .45rem 1.1rem rgba(31,36,48,.08); }
.fundraiser-list-card__body { padding:clamp(1.15rem,2.6vw,1.55rem); }
.fundraiser-list-card__body h2 { margin:0 0 .55rem; color:var(--arc-purple-700); font-size:clamp(1.35rem,2.4vw,1.85rem); }
.fundraiser-list-card__summary { color:#384052; font-size:1.04rem; font-weight:800; }
.fundraiser-list-card__body p { max-width:68ch; }
.fundraiser-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:1.05rem 0 1.1rem; }
.fundraiser-detail-grid div { padding:.85rem .95rem; border:1px solid rgba(91,58,140,.13); border-radius:.9rem; background:linear-gradient(180deg,#fff,#fbf9ff); }
.fundraiser-detail-grid span { display:flex; align-items:center; gap:.42rem; margin-bottom:.2rem; color:var(--arc-muted); font-size:.78rem; font-weight:950; letter-spacing:.05em; text-transform:uppercase; }
.fundraiser-detail-grid i { color:var(--arc-orange); }
.fundraiser-detail-grid strong { color:var(--arc-purple-700); font-size:.98rem; }
.fundraiser-list-card__actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }

.membership-page { background:radial-gradient(circle at 8% 5%,rgba(217,106,18,.065),transparent 17rem), linear-gradient(180deg,#fff 0%,var(--arc-soft) 100%); }
.membership-wrap { max-width:1000px; margin-inline:auto; }
.membership-intro { margin-bottom:clamp(1.7rem,3.5vw,2.5rem); }
.membership-notice { display:flex; gap:.85rem; align-items:flex-start; margin-top:1rem; padding:.85rem 1rem; border:1px solid rgba(91,58,140,.14); border-radius:.9rem; background:rgba(255,255,255,.78); }
.membership-notice__icon { display:grid; place-items:center; flex:0 0 auto; width:2.25rem; height:2.25rem; border-radius:.75rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); }
.membership-notice p { margin:0; color:#3f4657; font-size:.98rem; }
.membership-notice__link { color:var(--arc-orange); font-weight:900; text-decoration:none; border-bottom:2px solid rgba(217,106,18,.28); }
.membership-notice__link:hover,.membership-notice__link:focus { color:var(--arc-purple-700); border-bottom-color:var(--arc-purple); }
.membership-section-head { margin-bottom:1.05rem; }
.membership-levels { margin-bottom:clamp(1.8rem,3.5vw,2.6rem); }
.membership-level-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.membership-level-card { position:relative; overflow:hidden; padding:1.15rem; border:1px solid rgba(91,58,140,.16); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .45rem 1.25rem rgba(31,36,48,.07); }
.membership-level-card::before { content:""; position:absolute; inset:0 0 auto; height:.25rem; background:linear-gradient(90deg,var(--arc-purple),var(--arc-orange)); }
.membership-level-card__icon { display:grid; place-items:center; width:2.8rem; height:2.8rem; margin-bottom:.85rem; border-radius:.9rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .55rem 1rem rgba(91,58,140,.16); }
.membership-level-card h3 { margin:0 0 .45rem; font-size:1.12rem; }
.membership-level-card p { margin:0; color:var(--arc-muted); font-size:.96rem; }
.membership-level-card__price { margin:0 0 .55rem!important; color:var(--arc-purple-700)!important; font-size:2rem!important; font-weight:900; line-height:1; letter-spacing:-.04em; }
.membership-level-card__price span { color:var(--arc-muted); font-size:.9rem; font-weight:850; letter-spacing:0; }
.membership-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,340px); gap:1.25rem; align-items:start; }
.membership-benefits h2 { margin-bottom:.5rem; }
.check-list { list-style:none; margin:1.15rem 0 0; padding:0; }
.check-list li { position:relative; margin-bottom:.72rem; padding-left:2rem; color:#343b4a; }
.check-list li::before { content:"\f00c"; position:absolute; left:0; top:.05rem; display:grid; place-items:center; width:1.3rem; height:1.3rem; border-radius:999px; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); font:900 .68rem/1 "Font Awesome 7 Free"; }
.membership-action-card { position:relative; overflow:hidden; padding:1.25rem; border-radius:var(--arc-radius); color:#fff; background:radial-gradient(circle at 96% 0%,rgba(242,163,10,.22),transparent 9rem), linear-gradient(135deg,var(--arc-purple-700),var(--arc-purple)); box-shadow:var(--arc-shadow); }
.membership-action-card h2,.membership-action-card h3,.membership-action-card p { color:#fff; }
.membership-action-card h2 { margin:.65rem 0 .5rem; font-size:1.45rem; }
.membership-action-card p { margin:0 0 1rem; opacity:.9; }
.membership-action-card__icon { display:grid; place-items:center; width:3rem; height:3rem; border-radius:.95rem; color:#fff; background:rgba(255,255,255,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.18); }
.membership-action-card__actions { display:grid; gap:.65rem; margin-bottom:1rem; }
.membership-action-card .btn { width:100%; justify-content:center; }
.membership-action-card .btn i { margin-right:.35rem; }
.membership-mail-card { margin-top:1rem; padding:1rem; border:1px solid rgba(255,255,255,.16); border-radius:.9rem; background:rgba(255,255,255,.1); }
.membership-mail-card h3 { margin:0 0 .45rem; font-size:1.05rem; }
.membership-mail-card p { margin:0 0 .7rem; font-size:.95rem; }
.membership-mail-card address { margin:0; color:#fff; font-weight:850; line-height:1.55; }
.membership-contact-card { display:flex; gap:.75rem; align-items:flex-start; margin-top:.75rem; padding:1rem; border:1px solid rgba(255,255,255,.16); border-radius:.9rem; background:rgba(255,255,255,.1); }
.membership-contact-card__icon { display:grid; place-items:center; flex:0 0 auto; width:2.35rem; height:2.35rem; border-radius:.8rem; color:#fff; background:rgba(255,255,255,.15); }
.membership-contact-card h3 { margin:0 0 .35rem; font-size:1.02rem; }
.membership-contact-card p { margin:0; font-size:.95rem; line-height:1.55; }
.membership-contact-card a { color:#fff; font-weight:900; text-decoration:none; }
.membership-contact-card a:hover { color:var(--arc-gold); }
.calendar-page { background:radial-gradient(circle at 8% 5%,rgba(217,106,18,.065),transparent 17rem), linear-gradient(180deg,#fff 0%,var(--arc-soft) 100%); }
.calendar-wrap { max-width:1120px; margin-inline:auto; }
.calendar-panel { overflow:hidden; border:1px solid rgba(91,58,140,.18); border-radius:calc(var(--arc-radius) + .15rem); background:#fff; box-shadow:var(--arc-shadow); }
.calendar-panel__head { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:clamp(1.15rem,2.5vw,1.7rem); border-bottom:1px solid rgba(91,58,140,.12); background:radial-gradient(circle at 92% 0%,rgba(217,106,18,.08),transparent 10rem), linear-gradient(135deg,#fff,#fbf8ff); }
.calendar-panel__head h2 { margin:0 0 .35rem; font-size:clamp(1.55rem,2.5vw,2rem); }
.calendar-panel__head p:last-child { max-width:44rem; margin:0; color:var(--arc-muted); }
.calendar-panel__button { flex:0 0 auto; }
.calendar-frame { padding:clamp(.75rem,1.8vw,1.15rem); background:linear-gradient(180deg,#f3f0f7,#fff); }
.calendar-frame iframe { display:block; width:100%; height:min(72vh,720px); min-height:610px; border:0; border-radius:.9rem; background:#fff; box-shadow:0 .45rem 1.25rem rgba(31,36,48,.08); }
.calendar-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.15rem; }
.calendar-info-card { position:relative; overflow:hidden; padding:1.15rem; border:1px solid rgba(91,58,140,.16); border-radius:var(--arc-radius); background:#fff; box-shadow:0 .45rem 1.25rem rgba(31,36,48,.065); }
.calendar-info-card__icon { display:grid; place-items:center; width:2.65rem; height:2.65rem; margin-bottom:.8rem; border-radius:.85rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .55rem 1rem rgba(91,58,140,.16); }
.calendar-info-card h3 { margin:0 0 .4rem; font-size:1.08rem; }
.calendar-info-card p { margin:0; color:var(--arc-muted); font-size:.96rem; }
.calendar-info-card--accent { color:#fff; border-color:transparent; background:radial-gradient(circle at 92% 0%,rgba(242,163,10,.25),transparent 9rem), linear-gradient(135deg,var(--arc-purple-700),var(--arc-purple)); }
.calendar-info-card--accent h3,.calendar-info-card--accent p { color:#fff; }
.calendar-info-card--accent p { opacity:.88; }
.calendar-info-card--accent a { display:inline-flex; align-items:center; gap:.35rem; margin-top:.85rem; color:#fff; font-weight:900; text-decoration:none; }
.calendar-info-card--accent a:hover { color:var(--arc-gold); }
.calendar-empty { text-align:center; }
.calendar-empty__icon { display:inline-grid; place-items:center; width:3.35rem; height:3.35rem; margin-bottom:.85rem; border-radius:1rem; color:#fff; background:linear-gradient(135deg,var(--arc-purple),var(--arc-orange)); box-shadow:0 .55rem 1rem rgba(91,58,140,.18); }
.calendar-empty h2 { margin-bottom:.45rem; font-size:1.55rem; }
.calendar-empty p:not(.eyebrow) { max-width:39rem; margin:.25rem auto 1.15rem; color:var(--arc-muted); }

/* Footer CTA + footer */
.footer-cta { position:relative; padding:clamp(2.25rem,4vw,3.25rem) 0 clamp(2.4rem,4vw,3.35rem); overflow:hidden; background:linear-gradient(180deg,var(--arc-soft) 0%,#fff 42%,rgba(91,58,140,.08) 100%); }
.footer-cta::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 12% 30%,rgba(217,106,18,.1),transparent 16rem), radial-gradient(circle at 88% 35%,rgba(91,58,140,.12),transparent 18rem); pointer-events:none; }
.footer-cta .container { position:relative; z-index:1; }
.footer-cta__card { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:clamp(1.35rem,3vw,2rem); border:1px solid rgba(91,58,140,.16); border-radius:calc(var(--arc-radius) + .35rem); background:linear-gradient(135deg,#fff,#fbf8ff); box-shadow:0 1rem 2.2rem rgba(31,36,48,.08); }
.footer-cta__card h2 { margin:0 0 .45rem; font-size:clamp(1.45rem,2.6vw,2.15rem); }
.footer-cta__card p:not(.eyebrow) { max-width:58ch; margin:0; color:var(--arc-muted); }
.footer-cta__actions { display:flex; flex-wrap:wrap; gap:.7rem; flex:0 0 auto; }
.site-footer { position:relative; margin-top:0; color:#efeaf8; background:radial-gradient(circle at 15% 0%,rgba(242,163,10,.14),transparent 20rem), radial-gradient(circle at 90% 12%,rgba(255,255,255,.08),transparent 18rem), linear-gradient(135deg,var(--arc-purple-900),var(--arc-purple-700)); }
.site-footer::before { content:""; position:absolute; inset:0 0 auto; height:.32rem; background:linear-gradient(90deg,var(--arc-orange),var(--arc-gold),var(--arc-purple)); }
.footer-top { position:relative; z-index:1; padding:clamp(1.9rem,3.2vw,2.65rem) 0 1.65rem; }
.footer-brand { display:inline-flex; align-items:center; margin-bottom:.55rem; color:#fff; text-decoration:none; }
.footer-brand:hover { color:#fff; }
.footer-brand img { display:block; width:132px; height:auto; padding:0; border-radius:0; background:transparent; }
.footer-blurb { max-width:36ch; margin:0; color:#ddd4ee; }
.footer-heading { margin:0 0 .65rem; color:#fff; font-size:.86rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.footer-list { list-style:none; margin:0; padding:0; }
.footer-list li { margin-bottom:.32rem; }
.footer-list a,.footer-bottom a,.footer-contact a { color:#f7f2ff; text-decoration:none; }
.footer-list a { display:inline-flex; align-items:center; gap:.3rem; }
.footer-list a::after { content:""; width:0; height:1px; background:var(--arc-gold); transition:width .16s ease; }
.footer-list a:hover,.footer-bottom a:hover,.footer-contact a:hover { color:var(--arc-gold); }
.footer-list a:hover::after { width:1rem; }
.footer-contact { display:grid; gap:.4rem; margin:.8rem 0 0; color:#ddd4ee; font-style:normal; font-size:.9rem; }
.footer-contact div { display:flex; gap:.55rem; align-items:flex-start; }
.footer-contact i { width:1.1rem; margin-top:.2rem; color:var(--arc-gold); }
.footer-social { display:flex; align-items:center; gap:.7rem; margin-top:.85rem; }
.footer-heading--social { margin:0; }
.footer-social__links { display:flex; flex-wrap:wrap; gap:.45rem; }
.footer-social__link { display:grid; place-items:center; width:2.25rem; height:2.25rem; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; text-decoration:none; transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease; }
.footer-social__link:hover,.footer-social__link:focus { transform:translateY(-2px); border-color:rgba(242,163,10,.45); background:rgba(255,255,255,.13); color:#fff; }
.footer-social__icon { display:grid; place-items:center; width:100%; height:100%; border-radius:50%; color:#fff; flex:0 0 auto; font-size:.95rem; }
.footer-social__link--page .footer-social__icon { background:#1877f2; }
.footer-social__link--group .footer-social__icon { background:var(--arc-purple); }
.footer-social__link--autism .footer-social__icon { background:var(--arc-orange); }
.footer-newsletter { padding:1rem; border:1px solid rgba(255,255,255,.14); border-radius:var(--arc-radius); background:rgba(255,255,255,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.footer-newsletter p { margin:0 0 .8rem; color:#ddd4ee; font-size:.9rem; }
.footer-newsletter__manage { margin:.65rem 0 0!important; font-size:.82rem!important; }
.footer-newsletter__manage a { color:#fff; font-weight:850; text-decoration:none; }
.footer-newsletter__manage a:hover { color:#f8cf8b; text-decoration:underline; }
.signup-form .form-control { min-height:2.85rem; border-color:transparent; border-radius:999px 0 0 999px; }
.signup-form .btn { border-radius:0 999px 999px 0; }
.newsletter-side-form input[type=email] { width:100%; }
.newsletter-side-form .btn { width:100%; }
.footer-bottom { position:relative; z-index:1; display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; border-top:1px solid rgba(255,255,255,.16); color:#cfc6df; font-size:.84rem; }
.footer-bottom p { margin:0; }

@media (max-width:991.98px) {
  .site-header .navbar-collapse { margin-top:0; padding:.75rem; border-top:1px solid rgba(255,255,255,.16); background:rgba(45,27,73,.22); }
  .site-header .navbar-nav { align-items:stretch!important; gap:.15rem; }
  .site-header .nav-link { padding:.72rem .85rem; }
  .site-header .dropdown-menu { position:static; width:100%; margin:.2rem 0 .45rem; border-color:rgba(255,255,255,.14); box-shadow:none; }
  .site-header .dropdown-item { white-space:normal; }
  .site-header .btn--donate { display:block; margin-top:.5rem; text-align:center; }
  .inner-hero__inner,.inner-layout { grid-template-columns:1fr; }
  .inner-hero h1 { max-width:20ch; }
  .inner-hero__aside { max-width:520px; }
  .home-hero__inner { grid-template-columns:1fr; }
  .home-hero__text h1 { max-width:16ch; }
  .home-hero__media { justify-content:center; }
  .hero-photo-wrap { width:min(100%,430px); }
  .hero-photo-wrap::before { inset:.95rem -.65rem -.75rem .8rem; transform:rotate(2.75deg); }
  .hero-photo-wrap::after { top:1.75rem; right:-.75rem; width:4.6rem; height:.85rem; transform:rotate(2.75deg); }
  .hero-photo-card { transform:none; }
  .impact-strip { padding:2rem 0 .65rem; }
  .partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-cta__card { flex-direction:column; align-items:flex-start; }
  .footer-cta__actions { width:100%; }
  .home-news__layout { grid-template-columns:1fr; }
  .home-fundraiser-grid { grid-template-columns:1fr; }
  .fundraiser-list-card { grid-template-columns:1fr; }
  .fundraiser-list-card__media { min-height:20rem; border-right:0; border-bottom:1px solid rgba(91,58,140,.14); }
  .gallery-feature,.video-feature { grid-template-columns:1fr; }
  .gallery-feature__media,.gallery-feature__media img { min-height:18rem; }
  .gallery-feature--compact .gallery-feature__media,.gallery-feature--compact .gallery-feature__media img { min-height:13rem; }
  .home-news__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-list-feature,.news-detail-layout { grid-template-columns:1fr; }
  .news-list-feature__media { min-height:16rem; border-right:0; border-bottom:1px solid rgba(91,58,140,.14); }
  .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-card { grid-template-columns:1fr; }
  .news-card__media { aspect-ratio:16/9; border-right:0; border-bottom:1px solid rgba(91,58,140,.16); }
  .membership-level-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .membership-detail-grid { grid-template-columns:1fr; }
  .fundraiser-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
}




@media (max-width:767.98px) {
  .site-footer .container { padding-left:1.35rem; padding-right:1.35rem; }
  .footer-top { padding-top:2.15rem; padding-bottom:1.45rem; }
  .footer-bottom { padding-top:1rem; padding-bottom:1.1rem; }
}

@media (max-width:575.98px) {
  body { font-size:1rem; }
  .site-nav { min-height:0; }
  .brand { max-width:154px; margin-right:.65rem; }
  .brand__logo { width:146px; }
  .home-hero { padding:1.85rem 0 2rem; }
  .home-hero__text h1 { font-size:clamp(2rem,11vw,2.65rem); }
  .home-hero__cta .btn,.footer-cta__actions .btn,.inner-hero__actions .btn { width:100%; }
  .inner-hero { padding:2rem 0; }
  .content-card { padding:1.1rem; }
  .contact-form { padding:.9rem; }
  .form-card--accent .section__head { padding:.9rem; }
  .hero-pill { font-size:.84rem; }
  .hero-photo-wrap::before { inset:.8rem -.45rem -.6rem .65rem; opacity:1; transform:rotate(2deg); }
  .hero-photo-wrap::after { top:1.35rem; right:-.45rem; width:3.8rem; height:.72rem; transform:rotate(2deg); }
  .hero-photo-card figcaption { left:.85rem; right:.85rem; bottom:.85rem; max-width:none; text-align:center; white-space:normal; }
  .section__head--split,.gallery-section-head { display:block; }
  .card-grid,.album-grid,.video-grid,.gallery-grid,.gallery-grid--photos { grid-template-columns:1fr; }
  .home-fundraiser-card { grid-template-columns:1fr; min-height:0; }
  .home-fundraiser-card__media { aspect-ratio:16/10; border-right:0; border-bottom:1px solid rgba(91,58,140,.14); }
  .home-fundraiser-card__actions,.home-fundraiser-card__actions .btn { width:100%; }
  .community-partners-panel { padding:1rem; }
  .community-partners__head .btn { width:100%; margin-top:1rem; }
  .partner-grid { grid-template-columns:1fr; }
  .gallery-feature__media,.gallery-feature__media img { min-height:14rem; }
  .gallery-feature--compact .gallery-feature__media,.gallery-feature--compact .gallery-feature__media img { min-height:11rem; }
  .gallery-feature__body,.video-feature__body { padding:1.15rem; }
  .home-news__list { grid-template-columns:1fr; }
  .news-index-toolbar { display:block; }
  .news-index-toolbar .btn { width:100%; margin-top:.85rem; }
  .news-filter-row { gap:.45rem; }
  .news-filter { padding:.42rem .62rem; font-size:.82rem; }
  .news-list-feature__media { min-height:13rem; }
  .news-list-feature__body { padding:1.1rem; }
  .news-grid,.news-sidebar { grid-template-columns:1fr; }
  .news-index-card { min-height:0; }
  .news-index-card h2,.news-index-card__body > p:not(.news-card-meta) { min-height:0; }
  .news-article-card__head { display:block; }
  .news-article-meta { justify-content:flex-start; margin-top:.75rem; }
  .news-article-media img { max-height:360px; }
  .news-adjacent { grid-template-columns:1fr; }
  .news-adjacent-card--next { text-align:left; }
  .news-adjacent-card--next small { justify-content:flex-start; }
  .news-card { grid-template-columns:7.6rem minmax(0,1fr); min-height:7.35rem; }
  .news-card__media { aspect-ratio:auto; border-right:1px solid rgba(91,58,140,.16); border-bottom:0; }
  .news-card__body { padding:.82rem .9rem; }
  .news-card h3 { font-size:.98rem; }
  .amount-grid { grid-template-columns:repeat(2,1fr); }
  .join-form-grid,.membership-choice-grid { grid-template-columns:1fr; }
  .membership-level-option { min-height:0; }
  .paypal-action-area { padding:.85rem; }
  .search-form,.footer-bottom { flex-direction:column; align-items:stretch; }
  .search-panel { padding:.95rem; }
  .search-empty-grid { grid-template-columns:1fr; }
  .search-results-head { display:block; }
  .search-count { display:inline-flex; margin-top:.65rem; }
  .signup-form .input-group { display:block; }
  .signup-form .form-control,.signup-form .btn { width:100%; border-radius:999px; }
  .signup-form .btn { margin-top:.5rem; }
  .calendar-panel__head { display:block; }
  .calendar-panel__button { margin-top:1rem; }
  .calendar-frame iframe { min-height:520px; height:68vh; }
  .calendar-info-grid { grid-template-columns:1fr; }
  .membership-notice { display:block; }
  .membership-notice__icon { margin-bottom:.65rem; }
  .membership-section-head .btn { width:100%; margin-top:1rem; }
  .membership-level-grid { grid-template-columns:1fr; }
  .fundraiser-price-grid,.fundraiser-form-grid,.fundraiser-sidebar,.fundraiser-detail-grid { grid-template-columns:1fr; }
  .fundraiser-action-row .btn,.fundraiser-list-card__actions .btn { width:100%; justify-content:center; }
  .not-found-card__intro { display:block; }
  .not-found-card__icon { margin-bottom:.85rem; }
  .not-found-grid { grid-template-columns:1fr; }
  .not-found-link { min-height:0; }
  .lightbox__nav { width:2.75rem; height:2.75rem; font-size:1.55rem; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
}
