/*
 * Peduli visual transfer layer for the complete RIA website.
 * The content remains native Elementor; this layer maps the supplied Peduli kit's
 * global palette, typography, spacing and component treatment onto every RIA page.
 */

/*
============================================================
CSS EDITING GUIDE
- style.css contains the main website design and Elementor styles.
- peduli-transfer.css contains the transferred layout and final overrides.
- CSS lower in a file can override CSS written above it.
- Colours are mainly controlled by variables in the :root section.
- Mobile/tablet rules are inside @media blocks near the bottom.
============================================================
*/

/* ============================================================
   SECTION 01: PEDULI DESIGN VARIABLES AND BASE SETTINGS
   ============================================================ */

:root {
  --ria-ink:#21152F;
  --ria-deep:#32164F;
  --ria-purple:#70409B;
  --ria-purple-2:#8A5BB1;
  --ria-blue:#70D0EF;
  --ria-pink:#F19ABC;
  --ria-cream:#FFFDF9;
  --ria-soft:#F7F1F9;
  --ria-text:#5F5965;
  --ria-line:rgba(50,22,79,.12);
  --ria-white:#FFFFFF;
  --ria-shadow:0 18px 48px rgba(50,22,79,.10);
  --ria-shadow-small:0 10px 28px rgba(50,22,79,.08);
  --ria-radius:20px;
  --ria-radius-small:10px;
  --ria-max:1240px;
}

html {
  font-size:16px
}

body {
  background:#fff;
  color:var(--ria-text);
  font-family:"Open Sans","Segoe UI",Arial,sans-serif;
  font-size:.9rem;
  line-height:1.55
}

h1,h2,h3,h4,h5,h6,.section-title {
  font-family:"PT Serif","Roboto Slab",Georgia,"Times New Roman",serif;
  color:var(--ria-ink);
  font-weight:400;
  letter-spacing:0;
  text-transform:none
}

.wrap {
  width:min(var(--ria-max),90%)
}

/* ============================================================
   SECTION 02: PEDULI TOP BAR AND NAVIGATION
   ============================================================ */

.topbar,.elementor .ria-native-section.topbar {
  background:var(--ria-purple);
  color:#fff
}

.topbar .wrap,.elementor .ria-native-section.topbar>.elementor-container {
  min-height:36px
}

.topbar a,.topbar span,.elementor .ria-native-section.topbar .elementor-widget-text-editor p {
  color:#fff;
  font-size:.72rem
}

.socials a {
  width:22px;
  height:22px;
  border-color:rgba(255,255,255,.68);
  color:#fff
}

.site-header,.elementor .ria-native-section.site-header {
  position:sticky;
  top:0;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(33,21,47,.065);
  box-shadow:none;
  backdrop-filter:blur(14px)
}

.site-header.is-scrolled {
  box-shadow:0 8px 25px rgba(33,21,47,.08)
}

.header-row,.elementor .ria-native-section.site-header>.elementor-container {
  min-height:78px
}

.logo img,.elementor .ria-native-section.site-header .header-logo img {
  width:184px;
  max-height:57px
}

.nav a {
  padding:10px 13px;
  border-radius:0;
  color:#32164f;
  font-family:"Roboto","Open Sans",sans-serif;
  font-size:.76rem;
  font-weight:500
}

.nav a:hover,.nav .current-menu-item>a,.nav .current_page_item>a {
  background:transparent;
  color:var(--ria-purple)
}

.nav li:last-child a {
  padding:12px 21px;
  border:1px solid var(--ria-purple);
  border-radius:7px;
  background:var(--ria-purple);
  color:#fff;
  box-shadow:none
}

.nav li:last-child a:hover {
  background:transparent;
  color:var(--ria-purple)
}

.menu-toggle {
  border-radius:7px;
  background:var(--ria-purple)
}

/* ============================================================
   SECTION 03: TYPOGRAPHY AND CONTROLS
   ============================================================ */

.eyebrow,.elementor .ria-native-section .eyebrow .elementor-heading-title {
  color:var(--ria-purple);
  font-family:"Open Sans",sans-serif;
  font-size:.76rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none
}

.eyebrow:before,.elementor .ria-native-section .eyebrow .elementor-heading-title:before {
  display:none
}

.section,.elementor .ria-native-section.section {
  padding:7rem 0
}

.section.soft,.elementor .ria-native-section.soft {
  background:var(--ria-soft);
  border:0
}

.section-title,.elementor .ria-native-section .section-title .elementor-heading-title {
  font-size:clamp(2.3rem,4vw,3rem);
  line-height:1.2;
  margin:0
}

.elementor .ria-native-section .body-title .elementor-heading-title {
  font-family:"PT Serif",serif;
  font-size:1.3rem;
  font-weight:400;
  line-height:1.25
}

.btn,.elementor .ria-native-section .ria-button-widget .elementor-button {
  min-height:46px;
  padding:14px 32px;
  border:1px solid var(--ria-purple);
  border-radius:7px;
  background:var(--ria-purple);
  box-shadow:none;
  color:#fff;
  font-family:"Open Sans",sans-serif;
  font-size:.82rem;
  font-weight:400;
  text-transform:capitalize
}

.btn:hover,.elementor .ria-native-section .ria-button-widget .elementor-button:hover {
  transform:none;
  background:transparent;
  color:var(--ria-purple);
  box-shadow:none
}

.btn.blue,.btn.pink,.elementor .ria-native-section .ria-button-widget.blue .elementor-button,.elementor .ria-native-section .ria-button-widget.pink .elementor-button {
  background:var(--ria-purple);
  color:#fff
}

.btn.blue:hover,.btn.pink:hover,.elementor .ria-native-section .ria-button-widget.blue .elementor-button:hover,.elementor .ria-native-section .ria-button-widget.pink .elementor-button:hover {
  background:transparent;
  color:var(--ria-purple)
}

/* ============================================================
   SECTION 04: HOMEPAGE HERO
   ============================================================ */

.hero,.elementor .ria-native-section.hero {
  min-height:690px;
  background-position:center 42%;
  display:flex;
  align-items:center
}

.hero:before,.elementor .ria-native-section.hero:before {
  background:linear-gradient(90deg,rgba(18,18,18,.12) 0%,rgba(18,18,18,.28) 43%,rgba(18,18,18,.74) 100%)
}

.hero:after,.elementor .ria-native-section.hero:after {
  display:none
}

.hero-content,.elementor .ria-native-section.hero .hero-content {
  width:min(610px,54%);
  margin-left:auto;
  padding:110px 0
}

.hero h1,.elementor .ria-native-section.hero .hero-title .elementor-heading-title {
  font-size:clamp(3rem,5.7vw,4.5rem);
  line-height:1.08;
  color:#fff
}

.hero p,.elementor .ria-native-section.hero .hero-text {
  font-size:.93rem;
  line-height:1.6;
  color:rgba(255,255,255,.92)
}

.hero .eyebrow,.cta .eyebrow,.elementor .ria-native-section.hero .eyebrow .elementor-heading-title,.elementor .ria-native-section.cta .eyebrow .elementor-heading-title {
  color:var(--ria-purple)
}

.play,.elementor .ria-native-section.hero .play-button .elementor-button {
  display:grid;
  place-items:center;
  width:48px;
  min-width:48px;
  height:48px;
  padding:0;
  border-radius:50%;
  background:var(--ria-purple);
  color:#fff;
  border-color:var(--ria-purple)
}

.play:hover,.elementor .ria-native-section.hero .play-button .elementor-button:hover {
  background:#fff;
  color:var(--ria-purple);
  border-color:#fff
}

/* ============================================================
   SECTION 05: FLOATING STATISTICS STRIP
   ============================================================ */

.stats,.elementor .ria-native-section.stats {
  margin-top:-58px;
  position:relative;
  z-index:8
}

.stats-grid,.elementor .ria-native-section.stats>.elementor-container {
  gap:24px
}

.stat,.elementor .ria-native-section.stats .stat>.elementor-widget-wrap {
  padding:27px 15px;
  border:1px solid rgba(112,64,155,.35);
  border-bottom:3px solid var(--ria-purple);
  border-radius:10px;
  background:#fff;
  box-shadow:0 13px 34px rgba(33,21,47,.08)
}

.stat:before {
  display:none
}

.stat strong,.elementor .ria-native-section.stats .elementor-counter-number-wrapper {
  color:var(--ria-purple);
  font-family:"PT Serif",serif;
  font-size:2.05rem;
  font-weight:400
}

.stat span,.elementor .ria-native-section.stats .elementor-counter-title {
  color:#5F5965;
  font-size:.75rem;
  font-weight:400
}

/* ============================================================
   SECTION 06: INNER-PAGE BANNERS
   ============================================================ */

.page-hero,.elementor .ria-native-section.page-hero {
  min-height:360px;
  background-position:center 42%
}

.page-hero:before,.elementor .ria-native-section.page-hero:before {
  background:rgba(25,25,25,.58)
}

.page-hero:after,.elementor .ria-native-section.page-hero:after {
  display:none
}

.page-hero h1,.elementor .ria-native-section.page-hero .page-hero-title .elementor-heading-title {
  font-size:clamp(2.7rem,5vw,4rem);
  font-family:"PT Serif",serif;
  color:#fff
}

.breadcrumb,.elementor .ria-native-section.page-hero .breadcrumb {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:.76rem;
  color:#fff
}

/* ============================================================
   SECTION 07: STORY BLOCKS AND IMAGE COLLAGES
   ============================================================ */

.story-grid,.impact-grid,.contact-grid {
  gap:78px
}

.elementor .ria-native-section .story-copy>.elementor-widget-wrap,.elementor .ria-native-section .impact-content>.elementor-widget-wrap,.elementor .ria-native-section .contact-copy>.elementor-widget-wrap {
  padding-right:44px
}

.icon-feature,.elementor .ria-native-inner.icon-feature {
  padding:8px 0;
  margin:17px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none
}

.icon-feature img,.elementor .ria-native-inner.icon-feature .icon-image img {
  width:43px;
  height:43px;
  object-fit:contain
}

.collage {
  min-height:455px
}

.collage:before {
  inset:14% 18%;
  border:0;
  border-radius:12px;
  background:var(--ria-purple);
  transform:none
}

.collage .img-a,.collage .img-b,.elementor .ria-native-section .collage .elementor-widget-image img {
  height:270px;
  border:0;
  border-radius:20px;
  box-shadow:none;
  object-fit:cover
}

.elementor .ria-native-section .collage>.elementor-widget-wrap:before {
  content:"";
  position:absolute;
  inset:14% 18%;
  border-radius:12px;
  background:var(--ria-purple)
}

/* ============================================================
   SECTION 08: PROGRAMME, NEWS, RESOURCE AND SERVICE CARDS
   ============================================================ */

.program-grid,.news-grid,.resource-grid,.service-list {
  gap:25px
}

.program-card,.news-card,.team-card,.value-card,.resource,.service,.contact-card {
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(33,21,47,.055);
  overflow:hidden
}

.program-card:hover,.news-card:hover,.team-card:hover,.value-card:hover,.resource:hover,.service:hover {
  transform:translateY(-3px);
  box-shadow:0 14px 31px rgba(33,21,47,.09);
  border-color:rgba(112,64,155,.55)
}

.program-card img,.news-card img {
  height:225px;
  object-fit:cover;
  border-radius:10px 10px 0 0
}

.program-card .body,.news-card .body {
  padding:24px;
  background:var(--ria-purple);
  color:#fff
}

.program-card .body:before {
  display:none
}

.program-card h3,.news-card h3,.program-card p,.news-card p,.news-card a,.news-card small {
  color:#fff
}

.program-card h3,.news-card h3 {
  font-family:"PT Serif",serif;
  font-size:1.35rem
}

.program-card p,.news-card p {
  font-size:.8rem
}

.value-card {
  padding:27px
}

.value-card:before {
  display:none
}

.value-card h3 {
  font-size:1.25rem
}

.resource,.service {
  padding:28px
}

.resource h3,.service h3 {
  font-size:1.35rem
}

.card-tag {
  color:var(--ria-purple)
}

/* ============================================================
   SECTION 09: NATIVE ELEMENTOR EQUIVALENTS
   ============================================================ */

.elementor .ria-card-column>.elementor-widget-wrap,.elementor .value-card>.elementor-widget-wrap,.elementor .resource>.elementor-widget-wrap,.elementor .service>.elementor-widget-wrap {
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(33,21,47,.055);
  overflow:hidden;
  transition:.25s
}

.elementor .ria-card-column:hover>.elementor-widget-wrap,.elementor .value-card:hover>.elementor-widget-wrap,.elementor .resource:hover>.elementor-widget-wrap,.elementor .service:hover>.elementor-widget-wrap {
  transform:translateY(-3px);
  box-shadow:0 14px 31px rgba(33,21,47,.09);
  border-color:rgba(112,64,155,.55)
}

.elementor .program-card .card-image img,.elementor .news-card .card-image img {
  height:225px;
  border-radius:10px 10px 0 0;
  object-fit:cover
}

.elementor .program-card .body-title,.elementor .program-card .body-text,.elementor .program-card .card-link,.elementor .news-card .body-title,.elementor .news-card .body-text,.elementor .news-card .card-tag,.elementor .news-card .card-link {
  background:var(--ria-purple);
  color:#fff;
  margin:0
}

.elementor .program-card .body-title .elementor-heading-title,.elementor .news-card .body-title .elementor-heading-title,.elementor .program-card .body-text,.elementor .news-card .body-text,.elementor .news-card .card-tag .elementor-heading-title,.elementor .news-card .card-link .elementor-button {
  color:#fff
}

.elementor .program-card .body-title,.elementor .news-card .body-title {
  padding:23px 23px 0
}

.elementor .program-card .body-text,.elementor .news-card .body-text {
  padding:7px 23px 23px
}

.elementor .program-card .card-link,.elementor .news-card .card-link {
  padding:0 23px 23px
}

.elementor .value-card>.elementor-widget-wrap:before {
  display:none
}

.elementor .card-number .elementor-heading-title,.elementor .timeline-year .elementor-heading-title,.elementor .impact-photo .impact-badge strong {
  color:var(--ria-purple)
}

.elementor .card-tag .elementor-heading-title {
  display:inline-block;
  padding:5px 9px;
  border-radius:4px;
  background:#F7F1F9;
  color:#70409B
}

/* ============================================================
   SECTION 10: TEAM CARDS
   ============================================================ */

.team-grid {
  gap:24px
}

.team-card {
  min-height:100%;
  border-radius:10px
}

.team-card img {
  height:300px;
  min-height:300px;
  object-fit:cover
}

.team-card .body {
  padding:25px
}

.elementor .ria-native-inner.team-card {
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(33,21,47,.055);
  overflow:hidden
}

.elementor .ria-native-inner.team-card>.elementor-container {
  display:flex;
  flex-direction:column
}

.elementor .ria-native-inner.team-card .team-image-col,.elementor .ria-native-inner.team-card .team-content-col {
  width:100%!important
}

.elementor .ria-native-inner.team-card .team-image img {
  width:100%;
  height:315px;
  min-height:315px;
  border-radius:0;
  object-fit:cover
}

.elementor .ria-native-inner.team-card .team-content-col>.elementor-widget-wrap {
  padding:23px;
  background:var(--ria-purple)
}

.elementor .ria-native-inner.team-card .team-content-col .elementor-heading-title,.elementor .ria-native-inner.team-card .team-content-col .elementor-widget-text-editor {
  color:#fff
}

/* ============================================================
   SECTION 11: IMPACT AND PROGRESS BARS
   ============================================================ */

.impact-photo img,.elementor .impact-photo .impact-image img {
  height:500px;
  border-radius:20px;
  box-shadow:none;
  object-fit:cover
}

.impact-badge,.elementor .impact-photo .impact-badge {
  left:-26px;
  bottom:30px;
  border:1px solid rgba(112,64,155,.45);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 25px rgba(33,21,47,.08)
}

.progress-track {
  height:5px;
  background:#ececec
}

.progress-fill,.elementor .ria-progress-widget .elementor-progress-bar {
  background:var(--ria-purple)
}

.elementor .ria-progress-widget .elementor-progress-percentage {
  color:var(--ria-ink)
}

/* ============================================================
   SECTION 12: CALL-TO-ACTION SECTION
   ============================================================ */

.cta,.elementor .ria-native-section.cta {
  min-height:335px;
  background-position:center
}

.cta:before,.elementor .ria-native-section.cta:before {
  background:rgba(25,25,25,.75)
}

.cta:after,.elementor .ria-native-section.cta:after {
  display:none
}

.cta h2,.elementor .ria-native-section.cta .section-title .elementor-heading-title {
  font-size:clamp(2.4rem,4vw,3.4rem);
  color:#fff
}

.cta .btn:hover,.elementor .ria-native-section.cta .ria-button-widget .elementor-button:hover {
  border-color:#fff;
  color:#fff
}

/* ============================================================
   SECTION 13: TESTIMONIAL AND PARTNER STRIP
   ============================================================ */

.testimonial-grid {
  gap:0;
  align-items:center
}

.testimonial-grid>img,.elementor .testimonial-image-column img {
  height:405px;
  border-radius:20px;
  box-shadow:none;
  object-fit:cover
}

.testimonial-card,.elementor .testimonial-card>.elementor-widget-wrap {
  margin-left:-38px;
  padding:45px 50px;
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 34px rgba(33,21,47,.09)
}

.testimonial-card h2,.elementor .testimonial-card .elementor-heading-title {
  font-size:2.05rem
}

.partners,.elementor .ria-native-section.partners {
  padding:38px 0;
  background:var(--ria-soft);
  border:0
}

.partner-grid img,.elementor .ria-native-section.partners .partner-logo img {
  filter:grayscale(1);
  opacity:.62;
  max-height:60px;
  object-fit:contain
}

/* ============================================================
   SECTION 14: TIMELINES, GALLERIES AND FINAL CALLOUT
   ============================================================ */

.timeline-item,.elementor .timeline-item>.elementor-widget-wrap {
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(33,21,47,.055)
}

.gallery-grid {
  gap:12px
}

.gallery-grid button,.gallery-grid img,.elementor .ria-native-gallery img {
  border-radius:12px
}

.gallery-callout,.elementor .ria-native-section.gallery-callout {
  padding:7rem 0 0;
  background:linear-gradient(180deg,#fff 0 57%,var(--ria-purple) 57% 100%)
}

.gallery-box,.elementor .ria-native-section.gallery-callout>.elementor-container {
  padding:48px;
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 38px rgba(33,21,47,.09)
}

.mini-gallery img,.elementor .ria-native-gallery.mini-gallery img {
  border-radius:10px;
  object-fit:cover
}

/* ============================================================
   SECTION 15: CONTACT FORMS AND FAQ
   ============================================================ */

.contact-card,.elementor .contact-card {
  padding:25px;
  border-radius:10px;
  box-shadow:0 8px 22px rgba(33,21,47,.055)
}

.contact-form {
  padding:35px;
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 27px rgba(33,21,47,.07)
}

.contact-form input,.contact-form select,.contact-form textarea,.footer input,.ria-subscribe-form input {
  border:1px solid #e8e8e8;
  border-radius:7px;
  background:#fff
}

.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus {
  border-color:var(--ria-purple);
  box-shadow:0 0 0 3px rgba(112,64,155,.15)
}

.elementor .ria-faq-widget .elementor-tab-title {
  font-family:"PT Serif",serif;
  font-size:1.2rem
}

/* ============================================================
   SECTION 16: PEDULI FOOTER
   ============================================================ */

.footer,.elementor .ria-native-section.footer {
  padding:72px 0 22px;
  background:var(--ria-purple);
  color:rgba(255,255,255,.96)
}

.footer:before {
  display:none
}

.footer h4,.footer p,.footer li,.footer a,.elementor .ria-native-section.footer .elementor-heading-title,.elementor .ria-native-section.footer .elementor-widget-text-editor {
  color:#fff
}

.footer-logo,.elementor .ria-native-section.footer .footer-logo img {
  width:225px;
  max-height:80px;
  object-fit:contain
}

.footer .btn,.ria-subscribe-form .btn {
  background:#fff;
  color:#70409B;
  border-color:#fff
}

.footer .btn:hover,.ria-subscribe-form .btn:hover {
  background:transparent;
  color:#fff
}

.copyright,.elementor .ria-native-section.footer-bottom>.elementor-container {
  border-top:1px solid rgba(255,255,255,.45)
}

/* ============================================================
   SECTION 17: ELEMENTOR-SPECIFIC CONSISTENCY
   ============================================================ */

.elementor .ria-native-section>.elementor-container {
  width:min(var(--ria-max),90%)
}

.elementor .ria-native-section .elementor-widget-heading .elementor-heading-title {
  font-family:"PT Serif","Roboto Slab",Georgia,serif;
  font-weight:400;
  letter-spacing:0
}

.elementor .ria-native-section .elementor-widget-text-editor {
  color:var(--ria-text)
}

.elementor .ria-native-section .ria-button-widget.text-link .elementor-button,.elementor .ria-native-section .ria-button-widget.card-link .elementor-button {
  min-height:0;
  padding:0;
  border:0;
  background:transparent;
  color:#70409B
}

.elementor .ria-native-section .ria-button-widget.text-link .elementor-button:hover,.elementor .ria-native-section .ria-button-widget.card-link .elementor-button:hover {
  color:var(--ria-ink)
}

.elementor .ria-native-inner.ria-grid-row>.elementor-container {
  gap:25px
}

.elementor .ria-native-section .section-content>.elementor-widget-wrap>.elementor-widget.body-text {
  margin-bottom:34px
}

/* ============================================================
   SECTION 15: RESPONSIVE TABLET, MOBILE, ACCESSIBILITY AND PRINT RULES
   ============================================================ */

@media(max-width:1024px) {
  .wrap,.elementor .ria-native-section>.elementor-container {
    width:90%
  }

  .hero-content,.elementor .ria-native-section.hero .hero-content {
    width:64%
  }

  .story-grid,.impact-grid,.contact-grid {
    gap:48px
  }

  .elementor .ria-native-section .story-copy>.elementor-widget-wrap,.elementor .ria-native-section .impact-content>.elementor-widget-wrap,.elementor .ria-native-section .contact-copy>.elementor-widget-wrap {
    padding-right:15px
  }

}

@media(max-width:920px) {
  .hero:before,.elementor .ria-native-section.hero:before {
    background:rgba(20,20,20,.66)
  }

  .hero-content,.elementor .ria-native-section.hero .hero-content {
    width:78%;
    margin-left:0
  }

  .gallery-callout,.elementor .ria-native-section.gallery-callout {
    background:linear-gradient(180deg,#fff 0 62%,var(--ria-purple) 62% 100%)
  }

}

@media(max-width:620px) {
  .wrap,.elementor .ria-native-section>.elementor-container {
    width:calc(100% - 28px)
  }

  .hero,.elementor .ria-native-section.hero {
    min-height:570px;
    background-position:center
  }

  .hero-content,.elementor .ria-native-section.hero .hero-content {
    width:100%;
    padding:76px 0;
    text-align:center
  }

  .hero .eyebrow,.elementor .ria-native-section.hero .eyebrow {
    text-align:center
  }

  .hero-actions>.elementor-container,.hero-actions {
    justify-content:center!important
  }

  .hero h1,.elementor .ria-native-section.hero .hero-title .elementor-heading-title {
    font-size:2.65rem
  }

  .stats,.elementor .ria-native-section.stats {
    margin-top:-30px
  }

  .section,.elementor .ria-native-section.section {
    padding:4.5rem 0
  }

  .collage {
    min-height:370px
  }

  .collage .img-a,.collage .img-b,.elementor .ria-native-section .collage .elementor-widget-image img {
    height:215px
  }

  .testimonial-grid>img,.elementor .testimonial-image-column img {
    border-radius:20px
  }

  .testimonial-card,.elementor .testimonial-card>.elementor-widget-wrap {
    margin:-22px 12px 0;
    padding:31px 26px
  }

  .gallery-box,.elementor .ria-native-section.gallery-callout>.elementor-container {
    padding:29px 23px
  }

  .elementor .ria-native-inner.team-card .team-image img {
    height:300px;
    min-height:300px
  }

}

/* ============================================================
   SECTION 18: MOBILE OFF-CANVAS NAVIGATION FIX
   ============================================================ */

html,body {
  max-width:100%;
  overflow-x:hidden
}

@media(max-width:920px) {
  .nav {
    display:none;
    transform:none!important;
    left:0;
    right:0;
    width:100%;
  }

  .nav.open {
    display:block;
    transform:none!important
  }

}

/* ============================================================
   SECTION 19: RIA BRAND COLOUR APPLICATION
   ============================================================ */

body {
  background:var(--ria-cream)
}

.topbar,.elementor .ria-native-section.topbar {
  background:linear-gradient(90deg,var(--ria-deep),var(--ria-purple))
}

.site-header,.elementor .ria-native-section.site-header {
  background:rgba(255,253,249,.98);
  border-bottom-color:rgba(50,22,79,.08)
}

.hero:before,.elementor .ria-native-section.hero:before {
  background:linear-gradient(90deg,rgba(33,21,47,.16) 0%,rgba(50,22,79,.38) 43%,rgba(33,21,47,.86) 100%)
}

.hero .eyebrow,.cta .eyebrow,.elementor .ria-native-section.hero .eyebrow .elementor-heading-title,.elementor .ria-native-section.cta .eyebrow .elementor-heading-title {
  color:var(--ria-pink)
}

.page-hero:before,.elementor .ria-native-section.page-hero:before {
  background:linear-gradient(90deg,rgba(33,21,47,.86),rgba(112,64,155,.52))
}

/* ============================================================
   SECTION 20: STATISTIC COLOUR ROTATION
   ============================================================ */

.stats-grid>.stat:nth-child(4n+1),.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+1)>.elementor-widget-wrap {
  border-bottom-color:var(--ria-purple)
}

.stats-grid>.stat:nth-child(4n+1) strong,.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+1) .elementor-counter-number-wrapper {
  color:var(--ria-purple)
}

.stats-grid>.stat:nth-child(4n+2),.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+2)>.elementor-widget-wrap {
  border-bottom-color:var(--ria-pink)
}

.stats-grid>.stat:nth-child(4n+2) strong,.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+2) .elementor-counter-number-wrapper {
  color:#C85D89
}

.stats-grid>.stat:nth-child(4n+3),.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+3)>.elementor-widget-wrap {
  border-bottom-color:var(--ria-blue)
}

.stats-grid>.stat:nth-child(4n+3) strong,.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+3) .elementor-counter-number-wrapper {
  color:#278EAE
}

.stats-grid>.stat:nth-child(4n+4),.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+4)>.elementor-widget-wrap {
  border-bottom-color:var(--ria-purple-2)
}

.stats-grid>.stat:nth-child(4n+4) strong,.elementor .ria-native-section.stats>.elementor-container>.stat:nth-child(4n+4) .elementor-counter-number-wrapper {
  color:var(--ria-purple-2)
}

/* ============================================================
   SECTION 21: PROGRAMME AND EVENT CARD COLOURS
   ============================================================ */

.program-grid>.program-card:nth-child(3n+1) .body,.news-grid>.news-card:nth-child(3n+1) .body {
  background:var(--ria-purple);
  color:#fff
}

.program-grid>.program-card:nth-child(3n+2) .body,.news-grid>.news-card:nth-child(3n+2) .body {
  background:var(--ria-pink);
  color:var(--ria-ink)
}

.program-grid>.program-card:nth-child(3n+3) .body,.news-grid>.news-card:nth-child(3n+3) .body {
  background:var(--ria-blue);
  color:var(--ria-ink)
}

.program-grid>.program-card:nth-child(3n+2) .body h3,.program-grid>.program-card:nth-child(3n+2) .body p,.news-grid>.news-card:nth-child(3n+2) .body h3,.news-grid>.news-card:nth-child(3n+2) .body p,.news-grid>.news-card:nth-child(3n+2) .body a,.news-grid>.news-card:nth-child(3n+2) .body small, .program-grid>.program-card:nth-child(3n+3) .body h3,.program-grid>.program-card:nth-child(3n+3) .body p,.news-grid>.news-card:nth-child(3n+3) .body h3,.news-grid>.news-card:nth-child(3n+3) .body p,.news-grid>.news-card:nth-child(3n+3) .body a,.news-grid>.news-card:nth-child(3n+3) .body small {
  color:var(--ria-ink)
}

.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+2) .body-title,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+2) .body-text,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+2) .card-link, .elementor .news-grid>.elementor-container>.news-card:nth-child(3n+2) .body-title,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+2) .body-text,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+2) .card-tag,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+2) .card-link {
  background:var(--ria-pink);
  color:var(--ria-ink)
}

.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+3) .body-title,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+3) .body-text,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+3) .card-link, .elementor .news-grid>.elementor-container>.news-card:nth-child(3n+3) .body-title,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+3) .body-text,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+3) .card-tag,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+3) .card-link {
  background:var(--ria-blue);
  color:var(--ria-ink)
}

.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+2) .elementor-heading-title,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+2) .elementor-widget-text-editor,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+2) .elementor-button, .elementor .news-grid>.elementor-container>.news-card:nth-child(3n+2) .elementor-heading-title,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+2) .elementor-widget-text-editor,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+2) .elementor-button, .elementor .program-grid>.elementor-container>.program-card:nth-child(3n+3) .elementor-heading-title,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+3) .elementor-widget-text-editor,.elementor .program-grid>.elementor-container>.program-card:nth-child(3n+3) .elementor-button, .elementor .news-grid>.elementor-container>.news-card:nth-child(3n+3) .elementor-heading-title,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+3) .elementor-widget-text-editor,.elementor .news-grid>.elementor-container>.news-card:nth-child(3n+3) .elementor-button {
  color:var(--ria-ink)
}

.progress:nth-of-type(3n+1) .progress-fill {
  background:var(--ria-purple)
}

.progress:nth-of-type(3n+2) .progress-fill {
  background:var(--ria-pink)
}

.progress:nth-of-type(3n+3) .progress-fill {
  background:var(--ria-blue)
}

.gallery-callout,.elementor .ria-native-section.gallery-callout {
  background:linear-gradient(180deg,var(--ria-cream) 0 57%,var(--ria-deep) 57% 100%)
}

.footer,.elementor .ria-native-section.footer {
  background:linear-gradient(135deg,var(--ria-deep),var(--ria-purple));
  border-top:5px solid var(--ria-pink)
}

.footer .btn,.ria-subscribe-form .btn {
  background:var(--ria-blue);
  color:var(--ria-ink);
  border-color:var(--ria-blue)
}

.footer .btn:hover,.ria-subscribe-form .btn:hover {
  background:var(--ria-pink);
  border-color:var(--ria-pink);
  color:var(--ria-ink)
}

.card-tag,.elementor .card-tag .elementor-heading-title {
  background:var(--ria-soft);
  color:var(--ria-purple)
}

.contact-card:nth-child(3n+1) {
  border-top:4px solid var(--ria-purple)
}

.contact-card:nth-child(3n+2) {
  border-top:4px solid var(--ria-pink)
}

.contact-card:nth-child(3n+3) {
  border-top:4px solid var(--ria-blue)
}

/* ============================================================
   SECTION 22: UPDATED RIA PREVIEW COMPONENTS
   ============================================================ */

.partner-logo-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  align-items:stretch;
  margin-top:36px
}

.partner-logo-grid article {
  background:#fff;
  border:1px solid rgba(48,25,64,.1);
  box-shadow:0 16px 42px rgba(47,22,65,.08);
  border-radius:10px;
  min-height:210px;
  padding:28px;
  display:flex;
  align-items:center;
  justify-content:center
}

.partner-logo-grid img {
  width:100%;
  height:150px;
  object-fit:contain
}

.partners-section {
  background:#faf7fb
}

.media-intro-image {
  height:420px;
  width:100%;
  object-fit:cover;
  border-radius:4px 70px
}

.social-profile-links {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:25px
}

.social-post {
  height:100%;
  display:flex;
  flex-direction:column
}

.social-post .body {
  display:flex;
  flex:1;
  flex-direction:column
}

.social-post .body p {
  flex:1
}

.social-thumb {
  display:block;
  position:relative;
  overflow:hidden
}

.social-thumb img {
  height:300px!important
}

.open-badge {
  position:absolute;
  right:14px;
  bottom:14px;
  background:rgba(48,25,64,.92);
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700
}

.document-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}

.document-card {
  background:#fff;
  border:1px solid rgba(48,25,64,.1);
  box-shadow:0 18px 45px rgba(48,25,64,.09);
  border-radius:8px;
  overflow:hidden;
  display:flex;
  flex-direction:column
}

.document-cover {
  display:block;
  position:relative;
  background:#eee;
  overflow:hidden
}

.document-cover img {
  width:100%;
  height:380px;
  object-fit:cover;
  object-position:top;
  display:block
}

.document-cover span {
  position:absolute;
  right:14px;
  bottom:14px;
  background:rgba(48,25,64,.92);
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700
}

.document-card .body {
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1
}

.document-card small {
  color:var(--pink);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.5px
}

.document-card h3 {
  color:var(--deep);
  font-size:23px;
  margin:8px 0 10px
}

.document-card p {
  flex:1
}

.document-card .btn {
  align-self:flex-start
}

.contact-options {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}

.contact-options article {
  background:var(--soft);
  border-left:6px solid var(--purple);
  padding:30px;
  box-shadow:0 14px 36px rgba(48,25,64,.08)
}

.contact-options h3 {
  font-size:25px;
  color:var(--deep);
  margin:0 0 10px
}

.contact-options p {
  margin:0
}

.contact-options a {
  font-weight:800;
  color:var(--purple);
  word-break:break-word
}

.preview-form-note {
  margin:16px 0 0;
  font-weight:700;
  color:var(--purple)
}

@media(max-width:900px) {
  .partner-logo-grid,.document-grid {
    grid-template-columns:repeat(2,1fr)
  }

  .contact-options {
    grid-template-columns:1fr
  }

  .social-thumb img {
    height:260px!important
  }

}

@media(max-width:620px) {
  .partner-logo-grid,.document-grid {
    grid-template-columns:1fr
  }

  .document-cover img {
    height:auto;
    max-height:520px
  }

  .media-intro-image {
    height:300px
  }

  .social-profile-links .btn {
    width:100%;
    text-align:center
  }

}

/* ============================================================
   SECTION 23: CORRECTED PREVIEW VERIFICATION
   ============================================================ */

.hero {
  background-position:center 42%!important
}

.post-count-badge {
  display:inline-block;
  margin-left:10px;
  padding:5px 10px;
  border-radius:999px;
  background:#6f3c91;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  vertical-align:middle
}

/* ============================================================
   SECTION 24: PARTNER LOGO CAROUSEL
   ============================================================ */

.partner-carousel {
  position:relative;
  overflow:hidden;
  margin-top:34px;
  padding:8px 0 14px;
  mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)
}

.partner-carousel-track {
  display:flex;
  width:max-content;
  animation:riaPartnerScroll 42s linear infinite;
  will-change:transform
}

.partner-carousel:hover .partner-carousel-track {
  animation-play-state:paused
}

.partner-carousel-group {
  display:flex;
  align-items:center;
  gap:20px;
  padding-right:20px
}

.partner-carousel-item {
  flex:0 0 170px;
  height:96px;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(48,25,64,.09);
  border-radius:14px;
  box-shadow:0 10px 26px rgba(47,22,65,.07)
}

.partner-carousel-item img {
  display:block;
  max-width:136px;
  max-height:62px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(.18);
  opacity:.88;
  transition:filter .25s ease,opacity .25s ease,transform .25s ease
}

.partner-carousel-item:hover img {
  filter:none;
  opacity:1;
  transform:scale(1.035)
}

@keyframes riaPartnerScroll {
  from {
    transform:translateX(0)
  }

  to {
    transform:translateX(-50%)
  }

}

/* ============================================================
   SECTION 25: SOCIAL MEDIA PROFILE LINKS
   ============================================================ */

.social-profile-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:25px
}

.social-profile-button,.platform-profile-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease
}

.social-profile-button {
  min-height:48px;
  padding:10px 14px;
  border:1px solid rgba(48,25,64,.12);
  border-radius:12px;
  background:#fff;
  color:var(--deep);
  box-shadow:0 8px 20px rgba(48,25,64,.06)
}

.social-profile-button:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(48,25,64,.11)
}

.social-profile-icon,.platform-profile-icon {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--deep);
  color:#fff;
  font-size:13px;
  font-weight:900
}

.platform-profile-link {
  width:max-content;
  margin:0 auto 12px;
  padding:8px 13px;
  border-radius:999px;
  background:var(--soft);
  color:var(--purple);
  border:1px solid rgba(112,64,155,.12)
}

.platform-profile-link:hover {
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(48,25,64,.09)
}

.platform-profile-link .platform-profile-icon {
  width:27px;
  height:27px;
  background:var(--purple)
}

.platform-profile-link.facebook .platform-profile-icon,.social-profile-button.facebook .social-profile-icon {
  background:#1877f2
}

.platform-profile-link.instagram .platform-profile-icon,.social-profile-button.instagram .social-profile-icon {
  background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)
}

.platform-profile-link.tiktok .platform-profile-icon,.social-profile-button.tiktok .social-profile-icon {
  background:#111
}

.platform-profile-link.youtube .platform-profile-icon,.social-profile-button.youtube .social-profile-icon {
  background:#ff0000
}

.platform-profile-link.x .platform-profile-icon,.social-profile-button.x .social-profile-icon {
  background:#111
}

/* ============================================================
   SECTION 26: RESEARCH DOCUMENT THUMBNAILS
   ============================================================ */

.document-cover {
  padding:13px;
  background:#f4f0f5
}

.document-cover img {
  width:100%;
  height:340px;
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:5px;
  background:#fff
}

.document-cover span {
  right:22px;
  bottom:22px
}

@media(max-width:900px) {
  .partner-carousel-item {
    flex-basis:154px;
    height:90px;
    padding:13px 16px
  }

  .partner-carousel-item img {
    max-width:122px;
    max-height:56px
  }

  .social-profile-links {
    grid-template-columns:1fr 1fr
  }

  .document-cover img {
    height:320px
  }

}

@media(max-width:620px) {
  .partner-carousel {
    mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);
    -webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)
  }

  .partner-carousel-item {
    flex-basis:138px;
    height:84px;
    padding:12px 14px
  }

  .partner-carousel-item img {
    max-width:108px;
    max-height:52px
  }

  .social-profile-links {
    grid-template-columns:1fr
  }

  .social-profile-button {
    width:100%
  }

  .document-cover img {
    height:300px;
    max-height:none
  }

}

@media(prefers-reduced-motion:reduce) {
  .partner-carousel-track {
    animation:none
  }

  .partner-carousel {
    overflow-x:auto;
    mask-image:none;
    -webkit-mask-image:none
  }

  .partner-carousel-group[aria-hidden="true"] {
    display:none
  }

}

/* ============================================================
   SECTION 25: CLIENT-REQUESTED HEADING, NAVIGATION, ICON AND CALENDAR UPDATES
   These additions preserve the existing layout and images.
   ============================================================ */

/* Make the primary navigation slightly bolder. */
.nav a {
  font-weight:700;
}

/* Apply the requested subsection-heading colour on light backgrounds. */
main .eyebrow h1,
main .value-card h3,
main .resource h3,
main .service h3,
main .team-card h3,
main .document-card h3,
main .contact-card h3,
main .contact-options h3,
main .timeline-item strong,
main .calendar-subsection-title {
  color:#70409B;
}

/* Preserve white headings where the existing design uses a purple card background. */
main .program-card .body h3,
main .news-card .body h3 {
  color:#fff;
}

/* Service icons replace the former numbered circles. */
.service .number.service-icon {
  display:inline-grid;
  place-items:center;
  width:52px;
  height:52px;
  padding:12px;
}

.service .number.service-icon svg {
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Button added to the existing Events page. */
.events-calendar-button-row {
  margin-top:24px;
}

/* Shared calendar shell used on the Events Calendar and Services pages. */
.events-calendar {
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 27px rgba(33,21,47,.07);
  overflow:hidden;
}

.events-calendar-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  border-bottom:1px solid rgba(33,21,47,.08);
  background:#fff;
}

.events-calendar-title {
  margin:0;
  color:#70409B;
  font-family:"PT Serif",Georgia,serif;
  font-size:clamp(1.35rem,2vw,1.75rem);
  font-weight:600;
  text-align:center;
}

.calendar-arrow {
  display:inline-grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border:1px solid #70409B;
  border-radius:7px;
  background:#70409B;
  color:#fff;
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
  transition:.2s;
}

.calendar-arrow:hover,
.calendar-arrow:focus-visible {
  background:#fff;
  color:#70409B;
  outline:none;
}

.calendar-month-observances {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:0;
  padding:0 24px;
}

.calendar-month-observances:not(:empty) {
  padding-top:18px;
}

.calendar-month-observance {
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#f7f1f9;
  color:#70409B;
  font-size:.78rem;
  font-weight:700;
}

.calendar-weekdays,
.calendar-days {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}

.calendar-weekdays {
  padding:18px 20px 8px;
  color:#70409B;
  font-size:.76rem;
  font-weight:800;
  text-align:center;
}

.calendar-days {
  padding:0 20px 22px;
}

.calendar-day {
  position:relative;
  min-height:112px;
  padding:10px;
  border-right:1px solid rgba(33,21,47,.07);
  border-bottom:1px solid rgba(33,21,47,.07);
  background:#fff;
}

.calendar-day:nth-child(7n) {
  border-right:0;
}

.calendar-day.is-empty {
  background:#faf9fb;
}

.calendar-day.is-today {
  box-shadow:inset 0 0 0 2px #70409B;
}

.calendar-day-number {
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  color:#32164f;
  font-size:.85rem;
  font-weight:800;
}

.calendar-day.has-event .calendar-day-number {
  background:#70409B;
  color:#fff;
}

.calendar-event-chip {
  display:block;
  margin-top:7px;
  padding:5px 7px;
  border-radius:5px;
  background:#f7f1f9;
  color:#70409B;
  font-size:.69rem;
  font-weight:700;
  line-height:1.3;
}

.calendar-event-chip.is-range {
  background:#eef8fb;
  color:#32164f;
}

.calendar-layout {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
  gap:26px;
  align-items:start;
}

.calendar-events-panel {
  padding:28px;
  border:1px solid rgba(33,21,47,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 27px rgba(33,21,47,.07);
}

.calendar-subsection-title {
  margin:0 0 18px;
  font-size:1.45rem;
}

.calendar-event-list {
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.calendar-event-list li {
  padding:13px 14px;
  border-left:4px solid #70409B;
  border-radius:0 7px 7px 0;
  background:#f7f1f9;
  color:#32164f;
  font-size:.9rem;
  line-height:1.45;
}

.calendar-event-list strong {
  display:block;
  color:#70409B;
}

.calendar-empty-message {
  margin:0;
  color:var(--ria-text);
}

/* Smaller one-month calendar replacing the Services form. */
.events-calendar.calendar-compact .events-calendar-header {
  padding:18px;
}

.events-calendar.calendar-compact .events-calendar-title {
  font-size:1.35rem;
}

.events-calendar.calendar-compact .calendar-weekdays {
  padding:14px 12px 6px;
  font-size:.67rem;
}

.events-calendar.calendar-compact .calendar-days {
  padding:0 12px 14px;
}

.events-calendar.calendar-compact .calendar-day {
  min-height:54px;
  padding:6px;
  text-align:center;
}

.events-calendar.calendar-compact .calendar-day-number {
  width:25px;
  height:25px;
  font-size:.75rem;
}

.events-calendar.calendar-compact .calendar-event-chip {
  width:7px;
  height:7px;
  margin:4px auto 0;
  padding:0;
  border-radius:50%;
  background:#70409B;
  color:transparent;
  overflow:hidden;
}

.events-calendar.calendar-compact .calendar-month-observances {
  padding-inline:16px;
}

.events-calendar.calendar-compact .calendar-month-observance {
  font-size:.68rem;
}

.compact-calendar-events {
  padding:0 18px 18px;
}

.compact-calendar-events .calendar-event-list {
  gap:8px;
}

.compact-calendar-events .calendar-event-list li {
  padding:9px 11px;
  font-size:.78rem;
}

/* Footprint progress markers for the expanded About Us journey. */
.timeline-item.journey-step:before {
  display:none;
}

.timeline-item .journey-footprints {
  display:block;
  margin-bottom:8px;
  color:#70409B;
  font-size:1.35rem;
  letter-spacing:.14em;
  line-height:1;
}

@media(max-width:900px) {
  .calendar-layout {
    grid-template-columns:1fr;
  }

  .calendar-day {
    min-height:92px;
    padding:8px;
  }

  .calendar-event-chip {
    font-size:.62rem;
  }
}

@media(max-width:620px) {
  .events-calendar-header {
    padding:16px;
  }

  .calendar-arrow {
    flex-basis:38px;
    width:38px;
    height:38px;
  }

  .calendar-weekdays {
    padding:14px 7px 6px;
    font-size:.64rem;
  }

  .calendar-days {
    padding:0 7px 12px;
  }

  .calendar-day {
    min-height:58px;
    padding:5px;
  }

  .calendar-day-number {
    width:24px;
    height:24px;
    font-size:.72rem;
  }

  .calendar-event-chip {
    width:7px;
    height:7px;
    margin:4px auto 0;
    padding:0;
    border-radius:50%;
    color:transparent;
    overflow:hidden;
  }

  .calendar-events-panel {
    padding:22px;
  }
}

/* ============================================================
   SECTION 26: RESTORED PRIOR JOURNEY AND CALENDAR DESIGN
   Copied from RIA-Website-Final-Calendar-and-Content-Updates.
   Navigation remains the recent version with no dropdown.
   ============================================================ */

/* Journey progression shown with footprint markers. */
.timeline {
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  max-width:920px;
  gap:18px;
  margin:0 auto;
}

.timeline:before {
  content:"";
  position:absolute;
  top:24px;
  bottom:24px;
  left:31px;
  width:2px;
  height:auto;
  background:linear-gradient(var(--ria-purple),rgba(112,64,155,.18));
}

.timeline-item {
  position:relative;
  min-height:110px;
  padding:24px 26px 24px 86px;
}

.timeline-item:before {
  display:none;
}

.timeline-foot {
  position:absolute;
  z-index:1;
  top:22px;
  left:8px;
  display:grid;
  place-items:center;
  width:47px;
  height:47px;
  border:1px solid rgba(112,64,155,.2);
  border-radius:50%;
  background:#fff;
  color:var(--ria-purple);
  box-shadow:0 7px 18px rgba(112,64,155,.14);
}

.timeline-foot svg {
  width:31px;
  height:29px;
}

.timeline-content strong {
  display:block;
}

/* ============================================================
   SECTION 28: INTERACTIVE ANNUAL EVENTS CALENDAR
   ============================================================ */

.event-calendar-section {
  background:linear-gradient(180deg,#fff 0%,#fbf8fd 100%);
}

.ria-calendar-layout {
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);
  gap:24px;
  align-items:start;
}

.ria-calendar-card,
.ria-calendar-events-panel {
  border:1px solid rgba(33,21,47,.08);
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px rgba(33,21,47,.07);
}

.ria-calendar-card {
  padding:28px;
}

.ria-calendar-events-panel {
  padding:25px;
}

.ria-calendar-toolbar {
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}

.ria-calendar-current {
  text-align:center;
}

.ria-calendar-current > span,
.ria-calendar-events-heading > div > span {
  display:block;
  margin-bottom:3px;
  color:var(--ria-text);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.ria-calendar-current h3,
.ria-calendar-events-panel h3 {
  margin:0;
  font-size:clamp(1.3rem,2vw,1.65rem);
}

.ria-calendar-nav {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(112,64,155,.2);
  border-radius:50%;
  background:#fff;
  color:var(--ria-purple);
  font-size:20px;
  font-weight:800;
  cursor:pointer;
  transition:.2s;
}

.ria-calendar-nav:hover,
.ria-calendar-nav:focus-visible {
  background:var(--ria-purple);
  color:#fff;
  transform:translateY(-1px);
}

.ria-calendar-month-observances {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 17px;
}

.ria-calendar-month-observances[hidden] {
  display:none;
}

.ria-calendar-month-observances span {
  padding:7px 10px;
  border-radius:999px;
  background:rgba(112,64,155,.09);
  color:var(--ria-purple);
  font-size:11px;
  font-weight:800;
}

.ria-calendar-weekdays,
.ria-calendar-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}

.ria-calendar-weekdays {
  margin-bottom:8px;
  color:var(--ria-text);
  font-size:10px;
  font-weight:800;
  text-align:center;
  text-transform:uppercase;
}

.ria-calendar-grid {
  gap:5px;
}

.ria-calendar-day {
  position:relative;
  min-height:70px;
  padding:9px;
  border:1px solid rgba(33,21,47,.07);
  border-radius:9px;
  background:#fff;
  color:var(--ria-ink);
  font-weight:700;
  cursor:pointer;
  transition:.18s;
}

.ria-calendar-day:hover,
.ria-calendar-day:focus-visible {
  border-color:rgba(112,64,155,.45);
  background:var(--ria-soft);
}

.ria-calendar-day.is-outside {
  color:rgba(33,21,47,.3);
  background:#fbfbfb;
}

.ria-calendar-day.is-today {
  box-shadow:inset 0 0 0 2px rgba(112,64,155,.5);
}

.ria-calendar-day.is-selected {
  border-color:var(--ria-purple);
  background:var(--ria-purple);
  color:#fff;
}

.ria-calendar-day.has-event:not(.is-selected) {
  background:rgba(112,64,155,.055);
}

.ria-calendar-day i {
  position:absolute;
  left:50%;
  bottom:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ria-pink);
  box-shadow:0 0 0 4px rgba(241,154,188,.18);
  transform:translateX(-50%);
}

.ria-calendar-day.is-selected i {
  background:#fff;
  box-shadow:none;
}

.ria-calendar-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
}

.ria-calendar-legend {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ria-text);
  font-size:11px;
  font-weight:700;
}

.ria-calendar-legend i {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--ria-pink);
}

.ria-calendar-today,
.ria-calendar-clear {
  padding:0;
  border:0;
  background:transparent;
  color:var(--ria-purple);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.ria-calendar-events-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:17px;
}

.ria-calendar-event-list {
  display:grid;
  gap:11px;
}

.ria-calendar-event {
  display:grid;
  grid-template-columns:60px 1fr;
  gap:13px;
  padding:13px;
  border:1px solid rgba(33,21,47,.07);
  border-radius:9px;
  background:#fff;
}

.ria-calendar-event-date {
  display:flex;
  min-height:65px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  border-radius:8px;
  background:var(--ria-soft);
  color:var(--ria-purple);
}

.ria-calendar-event-date strong {
  font:600 20px Georgia,serif;
}

.ria-calendar-event-date span {
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ria-calendar-event-type {
  color:var(--ria-purple);
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ria-calendar-event-content h4 {
  margin:3px 0 5px;
  font-size:17px;
  line-height:1.22;
}

.ria-calendar-event-content p {
  margin:0;
  color:var(--ria-text);
  font-size:11px;
  font-weight:700;
}

.ria-calendar-empty {
  display:grid;
  min-height:220px;
  place-items:center;
  align-content:center;
  padding:28px;
  border:1px dashed rgba(112,64,155,.28);
  border-radius:10px;
  background:var(--ria-soft);
  text-align:center;
}

.ria-calendar-empty > span {
  color:var(--ria-purple);
  font-size:28px;
}

.ria-calendar-empty h4 {
  margin:7px 0;
}

.ria-calendar-empty p {
  margin:0;
  font-size:12px;
}

.ria-calendar-widget--compact {
  display:grid;
  gap:14px;
}

.ria-calendar-widget--compact .ria-calendar-card,
.ria-calendar-widget--compact .ria-calendar-events-panel {
  padding:20px;
}

.ria-calendar-widget--compact .ria-calendar-day {
  min-height:48px;
  padding:6px;
  font-size:12px;
}

.ria-calendar-widget--compact .ria-calendar-weekdays {
  font-size:8px;
}

.ria-calendar-widget--compact .ria-calendar-event-list {
  max-height:260px;
  overflow:auto;
}

.ria-calendar-widget--compact .ria-calendar-empty {
  min-height:130px;
}

@media(max-width:920px) {
  .ria-calendar-layout {
    grid-template-columns:1fr;
  }
}

@media(max-width:620px) {
  .timeline-item {
    padding:22px 20px 22px 74px;
  }

  .timeline:before {
    left:26px;
  }

  .timeline-foot {
    left:3px;
    width:46px;
    height:46px;
  }

  .ria-calendar-card,
  .ria-calendar-events-panel {
    padding:17px;
  }

  .ria-calendar-toolbar {
    grid-template-columns:42px 1fr 42px;
    gap:8px;
  }

  .ria-calendar-nav {
    width:42px;
    height:42px;
  }

  .ria-calendar-grid {
    gap:3px;
  }

  .ria-calendar-day {
    min-height:47px;
    padding:6px;
    font-size:12px;
  }

  .ria-calendar-weekdays {
    font-size:8px;
  }

  .ria-calendar-footer,
  .ria-calendar-events-heading {
    align-items:flex-start;
    flex-direction:column;
  }
}



/* ============================================================
   SECTION 29: 2026 CALENDAR LIMITS AND RIA LOGO COLOUR ACCENTS
   Logo palette: purple #653E98, pink #F399C0, blue #6DCEF5.
   ============================================================ */

:root {
  --ria-logo-purple:#653E98;
  --ria-logo-pink:#F399C0;
  --ria-logo-blue:#6DCEF5;
}

/* Calendar: use the full RIA logo palette without changing the layout. */
.event-calendar-section {
  background:
    radial-gradient(circle at 8% 14%,rgba(109,206,245,.13),transparent 25%),
    radial-gradient(circle at 92% 82%,rgba(243,153,192,.13),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fbf8fd 100%);
}

.ria-calendar-card {
  border-top:4px solid var(--ria-logo-purple);
}

.ria-calendar-events-panel {
  border-top:4px solid var(--ria-logo-pink);
}

.ria-calendar-current h3,
.ria-calendar-events-panel h3 {
  color:var(--ria-logo-purple);
}

.ria-calendar-nav:nth-of-type(1) {
  border-color:rgba(109,206,245,.7);
  color:#328FBA;
}

.ria-calendar-nav:nth-of-type(3) {
  border-color:rgba(243,153,192,.78);
  color:#B54879;
}

.ria-calendar-nav:hover:not(:disabled),
.ria-calendar-nav:focus-visible:not(:disabled) {
  border-color:var(--ria-logo-purple);
  background:var(--ria-logo-purple);
  color:#fff;
}

.ria-calendar-nav:disabled {
  opacity:.32;
  cursor:not-allowed;
  transform:none;
}

.ria-calendar-month-observances span:nth-child(3n+1) {
  background:rgba(101,62,152,.10);
  color:var(--ria-logo-purple);
}

.ria-calendar-month-observances span:nth-child(3n+2) {
  background:rgba(243,153,192,.22);
  color:#9E3768;
}

.ria-calendar-month-observances span:nth-child(3n) {
  background:rgba(109,206,245,.22);
  color:#277FA8;
}

.ria-calendar-weekdays span:nth-child(3n+1) { color:var(--ria-logo-purple); }
.ria-calendar-weekdays span:nth-child(3n+2) { color:#B54879; }
.ria-calendar-weekdays span:nth-child(3n) { color:#328FBA; }

.ria-calendar-day.has-event:not(.is-selected) {
  border-color:rgba(109,206,245,.38);
  background:linear-gradient(145deg,rgba(109,206,245,.12),rgba(243,153,192,.08));
}

.ria-calendar-day.is-selected {
  border-color:var(--ria-logo-purple);
  background:linear-gradient(145deg,var(--ria-logo-purple),#7952AA);
}

.ria-calendar-day.is-out-of-year,
.ria-calendar-day.is-out-of-year:hover,
.ria-calendar-day.is-out-of-year:focus-visible {
  border-color:rgba(33,21,47,.04);
  background:#fafafa;
  color:rgba(33,21,47,.18);
  cursor:not-allowed;
  box-shadow:none;
}

.ria-calendar-event:nth-child(3n+1) { border-left:4px solid var(--ria-logo-purple); }
.ria-calendar-event:nth-child(3n+2) { border-left:4px solid var(--ria-logo-pink); }
.ria-calendar-event:nth-child(3n) { border-left:4px solid var(--ria-logo-blue); }

.ria-calendar-event:nth-child(3n+1) .ria-calendar-event-date {
  background:rgba(101,62,152,.10);
  color:var(--ria-logo-purple);
}

.ria-calendar-event:nth-child(3n+2) .ria-calendar-event-date {
  background:rgba(243,153,192,.20);
  color:#9E3768;
}

.ria-calendar-event:nth-child(3n) .ria-calendar-event-date {
  background:rgba(109,206,245,.20);
  color:#277FA8;
}

.ria-calendar-event:nth-child(3n+2) .ria-calendar-event-type { color:#B54879; }
.ria-calendar-event:nth-child(3n) .ria-calendar-event-type { color:#277FA8; }

/* Journey: alternate the logo colours to show progress. */
.timeline:before {
  background:linear-gradient(180deg,var(--ria-logo-purple) 0%,var(--ria-logo-pink) 48%,var(--ria-logo-blue) 100%);
}

.timeline-item:nth-child(3n+1) {
  border-left:4px solid var(--ria-logo-purple);
}

.timeline-item:nth-child(3n+2) {
  border-left:4px solid var(--ria-logo-pink);
}

.timeline-item:nth-child(3n) {
  border-left:4px solid var(--ria-logo-blue);
}

.timeline-item:nth-child(3n+1) .timeline-foot {
  border-color:rgba(101,62,152,.28);
  color:var(--ria-logo-purple);
  box-shadow:0 7px 18px rgba(101,62,152,.16);
}

.timeline-item:nth-child(3n+2) .timeline-foot {
  border-color:rgba(243,153,192,.52);
  background:#fff8fb;
  color:#C05283;
  box-shadow:0 7px 18px rgba(243,153,192,.20);
}

.timeline-item:nth-child(3n) .timeline-foot {
  border-color:rgba(109,206,245,.58);
  background:#f5fcff;
  color:#328FBA;
  box-shadow:0 7px 18px rgba(109,206,245,.20);
}

.timeline-item:nth-child(3n+1) .timeline-content strong { color:var(--ria-logo-purple); }
.timeline-item:nth-child(3n+2) .timeline-content strong { color:#B54879; }
.timeline-item:nth-child(3n) .timeline-content strong { color:#277FA8; }


/* ============================================================
   SECTION 27: BLOG PAGE — 2019 ARCHIVE
   - Edit blog card content in blog.html.
   - Search and month filtering are controlled by assets/js/blog.js.
============================================================ */
.blog-page-hero:before {
  background:linear-gradient(90deg,rgba(33,21,47,.90),rgba(112,64,155,.64),rgba(241,154,188,.20));
}

.blog-archive-section {
  padding-bottom:34px;
}

.blog-archive-intro {
  max-width:820px;
  margin-inline:auto;
  text-align:center;
}

.blog-toolbar {
  display:grid;
  grid-template-columns:minmax(260px,1.7fr) minmax(190px,.8fr) auto;
  gap:16px;
  align-items:end;
  margin-top:34px;
  padding:22px;
  border:1px solid var(--ria-line);
  border-radius:var(--ria-radius);
  background:var(--ria-white);
  box-shadow:var(--ria-shadow-small);
}

.blog-search-label,
.blog-filter-label {
  display:grid;
  gap:8px;
  color:var(--ria-ink);
  font-weight:800;
  font-size:.85rem;
}

.blog-search-label input,
.blog-filter-label select {
  width:100%;
  min-height:50px;
  border:1px solid rgba(50,22,79,.18);
  border-radius:12px;
  background:var(--ria-cream);
  color:var(--ria-ink);
  font:inherit;
  font-weight:600;
  padding:0 15px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.blog-search-label input:focus,
.blog-filter-label select:focus {
  border-color:var(--ria-purple);
  background:var(--ria-white);
  box-shadow:0 0 0 4px rgba(112,64,155,.12);
}

.blog-result-count {
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:999px;
  background:var(--ria-soft);
  color:var(--ria-purple);
  font-weight:900;
  white-space:nowrap;
}

.blog-posts-section {
  padding-top:58px;
}

.blog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.blog-card {
  position:relative;
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  min-height:100%;
  overflow:hidden;
  border:1px solid var(--ria-line);
  border-radius:var(--ria-radius);
  background:var(--ria-white);
  box-shadow:var(--ria-shadow-small);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.blog-card:hover {
  transform:translateY(-5px);
  box-shadow:var(--ria-shadow);
  border-color:rgba(112,64,155,.28);
}

.blog-card[hidden] {
  display:none!important;
}

.blog-card-accent {
  position:relative;
  background:linear-gradient(180deg,var(--ria-purple),var(--ria-purple-2));
}

.blog-card:nth-child(3n+2) .blog-card-accent {
  background:linear-gradient(180deg,var(--ria-pink),#e56da1);
}

.blog-card:nth-child(3n) .blog-card-accent {
  background:linear-gradient(180deg,var(--ria-blue),#32add6);
}

.blog-card-accent span {
  position:absolute;
  top:22px;
  left:18px;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  border:4px solid var(--ria-white);
  background:var(--ria-purple);
  color:var(--ria-white);
  font-weight:900;
  box-shadow:0 10px 25px rgba(50,22,79,.18);
}

.blog-card:nth-child(3n+2) .blog-card-accent span {
  background:var(--ria-pink);
  color:var(--ria-ink);
}

.blog-card:nth-child(3n) .blog-card-accent span {
  background:var(--ria-blue);
  color:var(--ria-ink);
}

.blog-card-body {
  display:flex;
  flex-direction:column;
  padding:28px 26px 24px 72px;
}

.blog-card-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-bottom:16px;
  color:var(--ria-purple);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.blog-card-meta span:before {
  content:"•";
  margin-right:10px;
  color:var(--ria-pink);
}

.blog-card h2 {
  margin:0 0 13px;
  color:var(--ria-purple);
  font-size:clamp(1.22rem,1.45vw,1.55rem);
  line-height:1.2;
}

.blog-card p {
  margin:0;
  color:var(--ria-text);
  line-height:1.75;
}

.blog-card-footer {
  margin-top:auto;
  padding-top:22px;
}

.blog-read-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--ria-ink);
  font-weight:900;
  text-decoration:none;
}

.blog-read-link span {
  color:var(--ria-purple);
  transition:transform .2s ease;
}

.blog-read-link:hover {
  color:var(--ria-purple);
}

.blog-read-link:hover span {
  transform:translateX(4px);
}

.blog-card--featured {
  grid-column:span 2;
  grid-template-columns:14px minmax(0,1fr);
  background:linear-gradient(135deg,var(--ria-white),rgba(112,208,239,.11));
}

.blog-card--featured .blog-card-body {
  padding:34px 34px 30px 78px;
}

.blog-card--featured h2 {
  max-width:760px;
  font-size:clamp(1.65rem,2.35vw,2.35rem);
}

.blog-card--featured p {
  max-width:780px;
  font-size:1.03rem;
}

.blog-empty-state {
  padding:70px 24px;
  text-align:center;
  border:2px dashed rgba(112,64,155,.22);
  border-radius:var(--ria-radius);
  background:var(--ria-white);
}

.blog-empty-state h2 {
  color:var(--ria-purple);
}

.blog-source-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  padding:38px 42px;
  border-radius:var(--ria-radius);
  background:linear-gradient(135deg,var(--ria-deep),var(--ria-purple));
  box-shadow:var(--ria-shadow);
}

.blog-source-card .eyebrow h2,
.blog-source-card .section-title,
.blog-source-card p {
  color:var(--ria-white);
}

.blog-source-card p {
  max-width:720px;
  margin-bottom:0;
  opacity:.88;
}

.blog-source-card .btn {
  flex:none;
  background:var(--ria-blue);
  border-color:var(--ria-blue);
  color:var(--ria-ink);
}

.blog-source-card .btn:hover {
  background:var(--ria-pink);
  border-color:var(--ria-pink);
  color:var(--ria-ink);
}

@media (max-width:980px) {
  .blog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .blog-card--featured {
    grid-column:span 2;
  }

  .blog-toolbar {
    grid-template-columns:1fr 1fr;
  }

  .blog-result-count {
    grid-column:1/-1;
    justify-self:start;
  }
}

@media (max-width:680px) {
  .blog-toolbar,
  .blog-grid {
    grid-template-columns:1fr;
  }

  .blog-card--featured {
    grid-column:auto;
  }

  .blog-card-body,
  .blog-card--featured .blog-card-body {
    padding:28px 21px 24px 66px;
  }

  .blog-card-accent span {
    left:14px;
    width:42px;
    height:42px;
  }

  .blog-card--featured h2 {
    font-size:1.48rem;
  }

  .blog-source-card {
    display:grid;
    padding:30px 24px;
  }

  .blog-source-card .btn {
    justify-self:start;
  }
}


/* ==================== SECTION 22: LOCAL BLOG ARTICLE PAGES ==================== */
.blog-article-section { background: linear-gradient(180deg, #fff 0%, #fbf8fd 100%); }
.blog-article-wrap { max-width: 920px; }
.blog-article-card { background:#fff; border:1px solid rgba(112,64,155,.14); border-radius:28px; box-shadow:0 24px 60px rgba(34,20,55,.10); overflow:hidden; }
.blog-article-header { padding:54px 58px 34px; border-bottom:1px solid rgba(112,64,155,.10); background:linear-gradient(135deg, rgba(112,64,155,.07), rgba(35,166,213,.06) 55%, rgba(235,73,143,.05)); }
.blog-back-link { display:inline-flex; margin-bottom:22px; color:#70409b; font-weight:800; text-decoration:none; }
.blog-article-header h1 { margin:16px 0 18px; color:#261b35; font-size:clamp(2rem, 5vw, 4rem); line-height:1.04; }
.blog-article-lead { margin:0; max-width:760px; font-size:1.08rem; line-height:1.75; color:#5b5363; }
.blog-article-content { padding:42px 58px 52px; font-size:1.04rem; line-height:1.85; color:#403848; }
.blog-article-content p { margin:0 0 1.35em; }
.blog-article-content h2 { margin:2.1em 0 .65em; color:#70409b; font-size:1.65rem; line-height:1.25; }
.blog-article-content h3 { margin:1.8em 0 .55em; color:#e64b8e; font-size:1.25rem; }
.blog-article-list { margin:0 0 1.6em 1.3em; padding:0; }
.blog-article-list li { margin:.45em 0; padding-left:.35em; }
.blog-article-figure { margin:0 0 2rem; text-align:center; }
.blog-article-figure img { display:block; max-width:min(100%, 640px); height:auto; margin:0 auto; border-radius:20px; box-shadow:0 18px 42px rgba(34,20,55,.14); }
.blog-article-figure figcaption { margin-top:.75rem; color:#6b6371; font-size:.9rem; }
.blog-archive-note { margin:2rem 0 0; padding:18px 20px; border-left:5px solid #23a6d5; background:rgba(35,166,213,.08); border-radius:0 12px 12px 0; }
.blog-article-navigation { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:28px 58px; border-top:1px solid rgba(112,64,155,.10); background:#fcfafc; }
.blog-article-navigation a { color:#70409b; font-weight:800; text-decoration:none; }
.blog-read-link { text-decoration:none; }
@media (max-width: 720px) {
 .blog-article-card { border-radius:20px; }
 .blog-article-header, .blog-article-content, .blog-article-navigation { padding-left:24px; padding-right:24px; }
 .blog-article-header { padding-top:36px; }
 .blog-article-content { padding-top:30px; padding-bottom:36px; font-size:1rem; }
 .blog-article-navigation { flex-direction:column; }
}


/* ==================== START: FULL BLOG TRANSFER, THUMBNAILS AND COMMENTS ==================== */
.blog-grid{align-items:stretch}.blog-card{display:flex;flex-direction:column;overflow:hidden}.blog-card-image{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#f2edf6}.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.blog-card:hover .blog-card-image img{transform:scale(1.035)}.blog-image-badge{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(38,27,53,.86);color:#fff;font-size:.72rem;font-weight:800}.blog-card-body{display:flex;flex:1;flex-direction:column}.blog-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.blog-card-comment-count{color:#6a6170;font-size:.86rem;font-weight:700}.blog-article-featured{margin:0;background:#f4eff8;border-bottom:1px solid rgba(112,64,155,.1);text-align:center}.blog-article-featured img{display:block;width:100%;max-height:620px;object-fit:cover}.blog-article-featured--original img{width:auto;max-width:100%;max-height:none;margin:0 auto;object-fit:contain}.blog-article-featured figcaption{padding:10px 20px;color:#716779;font-size:.82rem;background:#fff}.blog-comments{padding:42px 58px 54px;border-top:1px solid rgba(112,64,155,.12);background:#fff}.blog-comments-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:28px}.blog-comments-heading h2{margin:5px 0 0;color:#70409b;font-size:2rem}.blog-comments-heading p{max-width:430px;margin:0;color:#665d6c}.blog-comments-kicker{color:#e64b8e;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.blog-comment-list{display:grid;gap:14px;margin:0 0 34px}.blog-comment{padding:20px 22px;border:1px solid rgba(112,64,155,.12);border-radius:16px;background:#fbf9fc}.blog-comment-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:9px}.blog-comment-name{color:#261b35;font-weight:900}.blog-comment-date{color:#7b7181;font-size:.82rem}.blog-comment-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#4d4553;line-height:1.65}.blog-comments-empty,.blog-comments-loading{padding:22px;border-radius:16px;background:rgba(35,166,213,.07);color:#5e5565}.blog-comment-form{padding:26px;border-radius:20px;background:linear-gradient(135deg,rgba(112,64,155,.07),rgba(35,166,213,.06),rgba(230,75,142,.05))}.blog-comment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.blog-comment-form label{display:grid;gap:8px;color:#34283f;font-weight:800}.blog-comment-form input[type=text],.blog-comment-form input[type=email],.blog-comment-form textarea{width:100%;border:1px solid rgba(112,64,155,.22);border-radius:12px;background:#fff;padding:13px 14px;color:#29202f;font:inherit;outline:none}.blog-comment-form input:focus,.blog-comment-form textarea:focus{border-color:#70409b;box-shadow:0 0 0 3px rgba(112,64,155,.12)}.blog-comment-message{margin-top:18px}.blog-comment-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;margin:16px 0 20px;font-weight:600!important;font-size:.9rem}.blog-comment-consent input{margin-top:3px}.blog-comment-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.blog-comment-status{min-height:0;margin-bottom:14px}.blog-comment-status.is-success,.blog-comment-status.is-error{padding:12px 14px;border-radius:10px;font-weight:700}.blog-comment-status.is-success{background:#eaf8f0;color:#216a42}.blog-comment-status.is-error{background:#fff0f3;color:#9c2746}.blog-comment-form button[disabled]{opacity:.65;cursor:not-allowed}
@media(max-width:720px){.blog-comments{padding:32px 24px 40px}.blog-comments-heading{display:block}.blog-comments-heading p{margin-top:12px}.blog-comment-form-grid{grid-template-columns:1fr}.blog-comment-form{padding:20px}.blog-comment-head{display:block}.blog-comment-date{display:block;margin-top:4px}.blog-article-featured img{max-height:440px}}
/* ==================== END: FULL BLOG TRANSFER, THUMBNAILS AND COMMENTS ==================== */


/* ============================================================
   FILTERABLE EVENTS GALLERY, CONTACT ICONS & LIVE SOCIAL FEEDS
   ============================================================ */
.event-gallery-toolbar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 28px}
.gallery-filter{border:1px solid rgba(112,64,155,.18);background:#fff;color:var(--ria-deep);padding:11px 17px;border-radius:999px;font:800 13px Arial,sans-serif;cursor:pointer;transition:.22s}
.gallery-filter span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--ria-soft);color:var(--ria-purple);font-size:11px}
.gallery-filter:hover,.gallery-filter.is-active{background:var(--ria-purple);border-color:var(--ria-purple);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px rgba(112,64,155,.2)}
.gallery-filter.is-active span{background:rgba(255,255,255,.2);color:#fff}
.filterable-gallery.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:225px}
.filterable-gallery.gallery-grid .gallery-item{grid-column:auto;grid-row:auto}
.filterable-gallery .gallery-item[hidden]{display:none!important}
.gallery-item-label{position:absolute;left:13px;bottom:13px;max-width:calc(100% - 68px);padding:7px 10px;border-radius:999px;background:rgba(35,17,48,.82);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px)}
.gallery-results-count{text-align:center;margin:22px 0 0;color:var(--ria-text);font-size:13px;font-weight:700}

.contact-options article{position:relative;overflow:hidden;border-left:0!important;border-top:5px solid var(--purple);border-radius:18px;background:linear-gradient(145deg,#fff,var(--soft));padding:30px 30px 32px!important;transition:transform .25s ease,box-shadow .25s ease}
.contact-options article:after{content:"";position:absolute;width:125px;height:125px;right:-55px;bottom:-55px;border-radius:50%;background:rgba(112,64,155,.08)}
.contact-options article:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(48,25,64,.14)}
.contact-option-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:22px;border-radius:18px;background:var(--purple);box-shadow:0 12px 26px rgba(112,64,155,.24)}
.contact-option-icon svg{width:28px;height:28px;fill:#fff}
.contact-option-whatsapp .contact-option-icon{background:#25d366}
.contact-option-general .contact-option-icon{background:var(--pink)}
.contact-option-heading h3{margin-bottom:12px}

.media-social-intro{align-items:center}
.social-icon-slideshow{position:relative;min-height:420px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#f9f2fb,#ece4f4);box-shadow:0 24px 60px rgba(48,25,64,.14)}
.social-icon-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff;opacity:0;transform:scale(1.06);pointer-events:none;transition:opacity .65s ease,transform .65s ease;text-decoration:none}
.social-icon-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto}
.social-icon-slide span{display:grid;place-items:center;width:150px;height:150px;border:2px solid rgba(255,255,255,.35);border-radius:40px;background:rgba(255,255,255,.16);font-size:82px;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.social-icon-slide strong{font:500 32px Georgia,serif}
.social-icon-slide.facebook{background:linear-gradient(145deg,#1877f2,#0d4da8)}
.social-icon-slide.x{background:linear-gradient(145deg,#292929,#050505)}
.social-icon-slide.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}
.social-icon-slide.tiktok{background:linear-gradient(145deg,#111,#25f4ee)}
.social-icon-slide.youtube{background:linear-gradient(145deg,#ff0000,#9b0000)}
.social-slide-dots{position:absolute;z-index:3;left:50%;bottom:22px;display:flex;gap:8px;transform:translateX(-50%)}
.social-slide-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);transition:.25s}
.social-slide-dots i.is-active{width:25px;border-radius:99px;background:#fff}
.social-platform-section .section-head p{max-width:620px;margin-left:auto;margin-right:auto}
.live-social-frame{width:min(100%,820px);margin:28px auto 0;padding:18px;border:1px solid rgba(48,25,64,.1);border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(48,25,64,.1);overflow:hidden}
.facebook-live-feed{text-align:center}
.facebook-live-feed iframe{display:block;width:100%;max-width:500px;margin:auto}
.instagram-live-feed iframe{display:block;width:100%;min-height:720px;border:0}
.x-live-feed{min-height:480px}
.tiktok-live-feed{display:flex;justify-content:center;min-height:420px}
.tiktok-live-feed blockquote{width:100%!important;max-width:780px!important;min-width:0!important}
.youtube-live-grid{margin-top:28px}
.youtube-live-grid iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;background:#111}
.social-feed-loading{grid-column:1/-1;padding:35px;text-align:center;border:1px dashed rgba(112,64,155,.3);border-radius:18px;background:var(--ria-soft);color:var(--ria-purple);font-weight:800}

@media(max-width:900px){.filterable-gallery.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px}.social-icon-slideshow{min-height:360px}.instagram-live-feed iframe{min-height:650px}}
@media(max-width:620px){.event-gallery-toolbar{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.gallery-filter{flex:0 0 auto}.filterable-gallery.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}.social-icon-slideshow{min-height:310px}.social-icon-slide span{width:118px;height:118px;border-radius:32px;font-size:62px}.live-social-frame{padding:8px;border-radius:16px}.instagram-live-feed iframe{min-height:580px}}


/* ============================================================
   TABBED, SCROLLABLE SOCIAL MEDIA BROWSER
   ============================================================ */
.social-browser-section{background:linear-gradient(180deg,#fff 0%,#f8f3fa 100%)}
.social-browser{max-width:1040px;margin:34px auto 0;border:1px solid rgba(48,25,64,.12);border-radius:28px;background:#fff;box-shadow:0 28px 70px rgba(48,25,64,.14);overflow:hidden}
.social-browser-tabs{display:flex;gap:8px;padding:14px;background:#f6f0f8;border-bottom:1px solid rgba(48,25,64,.1);overflow-x:auto;scrollbar-width:thin}
.social-browser-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-width:150px;padding:13px 18px;border:0;border-radius:15px;background:transparent;color:#44394a;font:800 14px Arial,sans-serif;cursor:pointer;white-space:nowrap;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.social-browser-tab span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(48,25,64,.08);font-size:17px;font-weight:900}
.social-browser-tab:hover{background:#fff;transform:translateY(-1px)}
.social-browser-tab.is-active{background:#fff;color:#22172b;box-shadow:0 8px 25px rgba(48,25,64,.11)}
.social-browser-tab.facebook.is-active span{background:#1877f2;color:#fff}.social-browser-tab.x.is-active span{background:#080808;color:#fff}.social-browser-tab.instagram.is-active span{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}.social-browser-tab.tiktok.is-active span{background:#111;color:#25f4ee}.social-browser-tab.youtube.is-active span{background:#f00;color:#fff}
.social-browser-screen{background:#ece8ef;padding:16px}
.social-browser-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 16px;border-radius:14px 14px 0 0;background:#2b2232;color:#fff;font-size:12px;font-weight:800}
.social-browser-status{display:flex;align-items:center;gap:8px}.social-browser-status i{width:8px;height:8px;border-radius:50%;background:#35d47c;box-shadow:0 0 0 4px rgba(53,212,124,.15)}
.social-browser-scroll-hint{opacity:.72}
.social-browser-panel{background:#fff;border-radius:0 0 18px 18px;overflow:hidden}.social-browser-panel[hidden]{display:none!important}.social-browser-panel.is-active{display:block}
.social-browser-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid rgba(48,25,64,.1);background:#fff}
.social-browser-panel-head>div{display:flex;align-items:center;gap:13px;min-width:0}.social-browser-panel-head strong,.social-browser-panel-head small{display:block}.social-browser-panel-head strong{color:#251a2e;font-size:15px}.social-browser-panel-head small{margin-top:3px;color:#7a7080;font-size:12px}.social-browser-panel-head>a{flex:0 0 auto;padding:9px 13px;border-radius:999px;background:#f3edf6;color:#4a3659;font-size:12px;font-weight:900;text-decoration:none}.social-browser-panel-head>a:hover{background:#e8deed}
.social-browser-panel-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;font-size:22px;font-weight:900}.social-browser-panel-head.facebook .social-browser-panel-icon{background:#1877f2}.social-browser-panel-head.x .social-browser-panel-icon{background:#090909}.social-browser-panel-head.instagram .social-browser-panel-icon{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.social-browser-panel-head.tiktok .social-browser-panel-icon{background:#111;color:#25f4ee}.social-browser-panel-head.youtube .social-browser-panel-icon{background:#f00}
.social-browser-scroll{height:720px;overflow-y:auto;overscroll-behavior:contain;padding:22px;background:#f7f4f8;scrollbar-color:#a68ab7 #ece5f0;scrollbar-width:thin}
.social-browser-scroll::-webkit-scrollbar{width:10px}.social-browser-scroll::-webkit-scrollbar-track{background:#ece5f0}.social-browser-scroll::-webkit-scrollbar-thumb{background:#a68ab7;border-radius:99px;border:2px solid #ece5f0}
.social-browser-facebook iframe{display:block;width:100%;max-width:500px;margin:0 auto;border:0;background:#fff}
.social-browser-x{max-width:720px;margin:0 auto}.social-browser-x iframe{width:100%!important}
.social-browser-instagram iframe{display:block;width:100%;max-width:760px;margin:0 auto;border:0;background:#fff}
.social-browser-tiktok{display:block}.social-browser-tiktok blockquote{width:100%!important;max-width:780px!important;min-width:0!important;margin:0 auto!important}
.social-browser-youtube .youtube-live-grid{margin-top:0}.social-browser-youtube .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-browser-youtube .news-card{background:#fff}.social-browser-youtube .news-card .body{padding:18px}
.social-browser-fallback{max-width:650px;margin:30px auto;padding:22px;border-radius:15px;background:#fff;text-align:center}
@media(max-width:760px){.social-browser{border-radius:20px}.social-browser-screen{padding:8px}.social-browser-tabs{padding:9px}.social-browser-tab{min-width:125px;padding:11px 13px}.social-browser-toolbar{border-radius:12px 12px 0 0}.social-browser-scroll-hint{display:none}.social-browser-panel-head{padding:14px}.social-browser-panel-head>a{font-size:0}.social-browser-panel-head>a:after{content:'Open ↗';font-size:12px}.social-browser-scroll{height:640px;padding:10px}.social-browser-youtube .news-grid{grid-template-columns:1fr}}

/* ============================================================
   CLEAN CAROUSEL-STYLE EVENTS GALLERY
   ============================================================ */
.event-gallery-showcase{
  --gallery-shift-1: clamp(150px,22vw,280px);
  --gallery-shift-2: clamp(280px,40vw,510px);
  margin-top:32px;
  padding:32px clamp(18px,3vw,34px) 28px;
  border:1px solid rgba(48,25,64,.08);
  border-radius:34px;
  background:linear-gradient(180deg,#fcfbfd 0%,#fff 62%);
  box-shadow:0 28px 64px rgba(48,25,64,.1);
}
.event-gallery-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px 24px;
  flex-wrap:wrap;
  margin-bottom:26px;
}
.event-gallery-topbar .event-gallery-toolbar{
  flex:1 1 580px;
  margin:0;
  justify-content:flex-start;
}
.event-gallery-more{
  border:1px solid rgba(48,25,64,.18);
  background:#fff;
  color:var(--ria-deep);
  padding:13px 22px;
  border-radius:999px;
  font:800 13px Arial,sans-serif;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.event-gallery-more:hover{
  transform:translateY(-1px);
  background:var(--ria-purple);
  color:#fff;
  box-shadow:0 14px 28px rgba(112,64,155,.18);
}
.event-gallery-carousel{
  position:relative;
}
.event-gallery-viewport{
  position:relative;
  min-height:430px;
  overflow:hidden;
}
.event-gallery-viewport:before,
.event-gallery-viewport:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:12%;
  z-index:2;
  pointer-events:none;
}
.event-gallery-viewport:before{left:0;background:linear-gradient(90deg,#fcfbfd 5%,rgba(252,251,253,0));}
.event-gallery-viewport:after{right:0;background:linear-gradient(270deg,#fcfbfd 5%,rgba(252,251,253,0));}
.event-gallery-carousel-track{
  position:relative;
  height:420px;
}
.event-gallery-carousel-track .gallery-item{
  position:absolute;
  top:50%;
  left:50%;
  width:min(100%,360px);
  height:320px;
  padding:0;
  border:0;
  border-radius:28px;
  overflow:hidden;
  background:#d8d3de;
  box-shadow:0 16px 35px rgba(48,25,64,.14);
  opacity:0;
  z-index:1;
  cursor:pointer;
  transform:translate(-50%,-50%) scale(.72);
  transition:transform .72s cubic-bezier(.22,.61,.36,1), opacity .58s ease, filter .58s ease, box-shadow .58s ease;
}
.event-gallery-carousel-track .gallery-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.event-gallery-carousel-track .gallery-item:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,12,20,0) 38%,rgba(15,12,20,.38) 100%);
}
.event-gallery-carousel-track .gallery-item .gallery-item-label{
  left:16px;
  bottom:16px;
  z-index:2;
  box-shadow:0 10px 26px rgba(15,12,20,.16);
}
.event-gallery-carousel-track .gallery-item.is-active{
  opacity:1;
  z-index:20;
  transform:translate(-50%,-50%) scale(1);
  box-shadow:0 30px 56px rgba(48,25,64,.22);
}
.event-gallery-carousel-track .gallery-item.is-prev{
  opacity:.95;
  z-index:15;
  transform:translate(calc(-50% - var(--gallery-shift-1)),-50%) scale(.82) rotate(-2deg);
  filter:saturate(.92);
}
.event-gallery-carousel-track .gallery-item.is-next{
  opacity:.95;
  z-index:15;
  transform:translate(calc(-50% + var(--gallery-shift-1)),-50%) scale(.82) rotate(2deg);
  filter:saturate(.92);
}
.event-gallery-carousel-track .gallery-item.is-prev-2{
  opacity:.46;
  z-index:9;
  transform:translate(calc(-50% - var(--gallery-shift-2)),-50%) scale(.64);
  filter:blur(.3px) saturate(.82);
}
.event-gallery-carousel-track .gallery-item.is-next-2{
  opacity:.46;
  z-index:9;
  transform:translate(calc(-50% + var(--gallery-shift-2)),-50%) scale(.64);
  filter:blur(.3px) saturate(.82);
}
.event-gallery-carousel-track .gallery-item.is-out{
  opacity:0;
  z-index:1;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.5);
}
.event-gallery-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:4px 0 0;
}
.gallery-nav{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(48,25,64,.18);
  background:#fff;
  color:var(--ria-deep);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.gallery-nav:hover{
  transform:translateY(-2px);
  background:var(--ria-purple);
  color:#fff;
  box-shadow:0 14px 28px rgba(112,64,155,.18);
}
.gallery-results-count{
  text-align:center;
  margin:20px 0 0;
  color:#5f5468;
  font-size:13px;
  font-weight:700;
}
.event-gallery-drawer{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(48,25,64,.08);
}
.event-gallery-drawer-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.gallery-drawer-thumb{
  padding:8px;
  border:1px solid rgba(48,25,64,.1);
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  text-align:left;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.gallery-drawer-thumb:hover,
.gallery-drawer-thumb.is-active{
  transform:translateY(-2px);
  border-color:rgba(112,64,155,.35);
  box-shadow:0 16px 30px rgba(48,25,64,.1);
}
.gallery-drawer-thumb img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:12px;
  margin-bottom:10px;
}
.gallery-drawer-thumb span{
  display:block;
  color:#473d51;
  font-size:12px;
  font-weight:800;
}
@media(max-width:980px){
  .event-gallery-drawer-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:760px){
  .event-gallery-showcase{padding:24px 16px 22px;border-radius:26px;--gallery-shift-1: clamp(110px,19vw,180px);--gallery-shift-2: clamp(190px,31vw,290px);}
  .event-gallery-topbar{margin-bottom:20px;}
  .event-gallery-viewport{min-height:350px;}
  .event-gallery-carousel-track{height:340px;}
  .event-gallery-carousel-track .gallery-item{width:min(100%,255px);height:255px;border-radius:22px;}
  .event-gallery-drawer-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:620px){
  .event-gallery-topbar{align-items:stretch;}
  .event-gallery-more{width:100%;justify-self:stretch;}
  .event-gallery-topbar .event-gallery-toolbar{flex:1 1 100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;}
  .event-gallery-viewport{min-height:300px;}
  .event-gallery-carousel-track{height:290px;}
  .event-gallery-carousel-track .gallery-item{width:min(100%,210px);height:210px;border-radius:20px;}
  .event-gallery-carousel-track .gallery-item.is-prev-2,
  .event-gallery-carousel-track .gallery-item.is-next-2{opacity:0;}
  .gallery-drawer-thumb{padding:6px;border-radius:14px;}
  .event-gallery-drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
}

/* ============================================================
   FINAL CONTACT ICON AND HOME HERO TEXT ADJUSTMENTS
   ============================================================ */
.hero .home-establishment{
  color:#fff !important;
  font-size:1rem !important;
  font-weight:700 !important;
  letter-spacing:.015em !important;
  text-shadow:0 2px 12px rgba(0,0,0,.32);
}

.contact-options article{
  border-top:5px solid var(--ria-purple) !important;
  border-left:0 !important;
}
.contact-option-icon{
  color:#fff !important;
  background:var(--ria-purple) !important;
}
.contact-option-icon svg{
  display:block !important;
  width:28px !important;
  height:28px !important;
  fill:currentColor !important;
  opacity:1 !important;
  visibility:visible !important;
}
.contact-option-whatsapp .contact-option-icon{
  background:#25d366 !important;
}
.contact-option-general .contact-option-icon{
  background:#e64b8e !important;
}

@media (max-width:620px){
  .hero .home-establishment{
    font-size:.9rem !important;
  }
}
