.elementor-kit-7{--e-global-color-primary:#201450;--e-global-color-secondary:#3D2C8D;--e-global-color-text:#333333;--e-global-color-accent:#5B7DB1;--e-global-color-background:#FFFFFF;--e-global-color-backgroundAccent:#F5F5F5;--e-global-color-transparent:#00000000;--e-global-typography-primary-font-family:"Merriweather";--e-global-typography-primary-font-size:24px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Merriweather";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.5em;--e-global-typography-heading_xl-font-family:"Merriweather";--e-global-typography-heading_xl-font-size:56px;--e-global-typography-heading_xl-font-weight:600;--e-global-typography-heading_xl-line-height:1.2em;--e-global-typography-heading_l-font-family:"Merriweather";--e-global-typography-heading_l-font-size:48px;--e-global-typography-heading_l-font-weight:600;--e-global-typography-heading_l-line-height:1.2em;--e-global-typography-heading_m-font-family:"Merriweather";--e-global-typography-heading_m-font-size:40px;--e-global-typography-heading_m-font-weight:600;--e-global-typography-heading_m-line-height:1.2em;--e-global-typography-heading_s-font-family:"Merriweather";--e-global-typography-heading_s-font-size:18px;--e-global-typography-heading_s-font-weight:500;--e-global-typography-body_s-font-family:"Montserrat";--e-global-typography-body_s-font-size:14px;--e-global-typography-body_s-font-weight:400;--e-global-typography-body_s-line-height:1.5em;background-color:var( --e-global-color-background );--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:1500ms;}.elementor-kit-7 e-page-transition{background-color:#6B4FA0;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:22px;--e-global-typography-secondary-font-size:18px;--e-global-typography-heading_xl-font-size:48px;--e-global-typography-heading_l-font-size:40px;--e-global-typography-heading_m-font-size:32px;--e-global-typography-heading_s-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:18px;--e-global-typography-secondary-font-size:16px;--e-global-typography-heading_xl-font-size:40px;--e-global-typography-heading_l-font-size:32px;--e-global-typography-heading_m-font-size:32px;--e-global-typography-heading_s-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== PRISM REAL ESTATE - GLOBAL STYLES ===== */

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* ===== SCROLL REVEAL ANIMATIONS ===== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}
.prism-fade-up { animation: fadeInUp 0.7s ease both; }
.prism-fade-left { animation: fadeInLeft 0.7s ease both; }
.prism-fade-right { animation: fadeInRight 0.7s ease both; }

/* ===== FOCUS VISIBLE (Accessibility) ===== */
*:focus-visible {
  outline: 3px solid #6A3FA0;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ===== SKIP LINK (Accessibility) ===== */
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: #6A3FA0;
  color: #fff;
  padding: 8px 16px;
  z-index: 9999;
  font-size: 14px;
  border-radius: 0 0 8px 0;
  transition: top 0.2s;
}
.skip-link:focus { top: 0; }

/* ===== SECTION 4: COMMUNITY RESOURCES CAROUSEL ===== */
#prism-community-resources {
  background: #F7F5FB;
  padding: 80px 0;
  overflow: hidden;
}

.prism-carousel-header {
  text-align: center;
  padding: 0 24px 48px;
  max-width: 800px;
  margin: 0 auto;
}

.prism-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #6A3FA0;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.prism-carousel-title {
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  font-weight: 700;
  color: #2D2D3A;
  line-height: 1.2;
  margin: 0;
}

/* Carousel mask - clips overflow */
.prism-carousel-mask {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
}

/* Track - the scrolling row */
@keyframes prismCarouselScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.prism-carousel-track {
  display: flex;
  gap: 24px;
  width: max-content;
  animation: prismCarouselScroll 32s linear infinite;
  padding: 16px 24px 24px;
}

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

/* Individual cards */
.prism-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  min-height: 320px;
  width: 300px;
  flex-shrink: 0;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  border-bottom: 3px solid transparent;
  transition: border-color 0.3s ease,
              transform 0.35s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.35s ease;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.prism-card:hover {
  border-bottom-color: #6A3FA0;
  transform: translateY(-8px);
  box-shadow: 0 24px 48px rgba(106,63,160,0.12);
}

.prism-card-icon {
  display: flex;
  align-items: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.prism-card-icon svg {
  width: 48px;
  height: 48px;
}

.prism-card-heading {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 700;
  color: #2D2D3A;
  margin: 0;
  line-height: 1.3;
}

.prism-card-copy {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #555;
  line-height: 1.65;
  margin: 0;
  flex-grow: 1;
}

.prism-card-link {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #6A3FA0;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
  transition: color 0.2s, gap 0.2s;
}

.prism-card-link:hover {
  color: #4e2d7a;
  gap: 8px;
}

/* ===== GUIDE MODAL ===== */
.prism-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(20,10,35,0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  padding: 16px;
  box-sizing: border-box;
}

.prism-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.prism-modal-box {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  width: 100%;
  max-width: 480px;
  position: relative;
  box-shadow: 0 32px 80px rgba(0,0,0,0.25);
  max-height: 90vh;
  overflow-y: auto;
  transform: translateY(20px);
  transition: transform 0.3s ease;
}

.prism-modal-overlay.active .prism-modal-box {
  transform: translateY(0);
}

.prism-modal-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: #888;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: color 0.2s;
}

.prism-modal-close:hover { color: #2D2D3A; }

.prism-modal-heading {
  font-family: 'Playfair Display', serif;
  font-size: 26px;
  font-weight: 700;
  color: #2D2D3A;
  margin: 0 0 8px;
}

.prism-modal-subtext {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #666;
  margin: 0 0 24px;
  line-height: 1.6;
}

.prism-guide-type {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.prism-type-btn {
  flex: 1;
  min-width: 120px;
  padding: 12px 16px;
  border: 2px solid #ddd;
  border-radius: 10px;
  background: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.prism-type-btn.selected {
  border-color: #6A3FA0;
  background: #EDE7F6;
  color: #6A3FA0;
}

.prism-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.prism-form-field label {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #2D2D3A;
}

.prism-form-field input {
  padding: 12px 16px;
  border: 1.5px solid #ddd;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #2D2D3A;
  outline: none;
  transition: border-color 0.2s;
  width: 100%;
  box-sizing: border-box;
}

.prism-form-field input:focus {
  border-color: #6A3FA0;
}

.prism-optional {
  font-weight: 400;
  color: #888;
}

.prism-submit-btn {
  width: 100%;
  padding: 14px 24px;
  background: #6A3FA0;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  margin-top: 8px;
}

.prism-submit-btn:hover {
  background: #5a3390;
  transform: translateY(-1px);
}

.prism-success-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.prism-download-btn {
  display: block;
  width: 100%;
  padding: 14px 24px;
  background: #6A3FA0;
  color: #fff;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  box-sizing: border-box;
  margin-top: 16px;
}

.prism-download-btn:hover {
  background: #5a3390;
  transform: translateY(-1px);
  color: #fff;
}

/* ===== RESPONSIVE: TABLET (768px) ===== */
@media (max-width: 1024px) {
  .prism-carousel-title { font-size: 32px; }
  .prism-card { width: 260px; padding: 24px; }
}

@media (max-width: 768px) {
  #prism-community-resources { padding: 60px 0; }
  .prism-carousel-title { font-size: 28px; }
  .prism-card { width: 240px; min-height: 280px; padding: 22px; }
  .prism-card-heading { font-size: 18px; }
  .prism-modal-box { padding: 28px 24px; }
  .prism-modal-heading { font-size: 22px; }
}

@media (max-width: 480px) {
  .prism-carousel-title { font-size: 24px; }
  .prism-carousel-header { padding: 0 16px 36px; }
  .prism-card { width: 220px; padding: 20px; }
  .prism-modal-box { padding: 24px 18px; }
}

/* ===== ACCESSIBILITY: Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
  .prism-carousel-track { animation: none; }
  .prism-card { transition: none; }
  .prism-modal-overlay,
  .prism-modal-box { transition: none; }
}/* End custom CSS */