/*
Theme Name: Phoenix Theme
Author: Jona Krasniqi
Description: Custom WordPress theme built from scratch.
Version: 1.0
Text Domain: phoenix-theme
*/

/* =========================
   Design Tokens
   ========================= */
html, body {
  overflow-x: hidden;
}
:root {
  /* Brand Colors */
  --white: #ffffff;
  --red: #bb3950;
  --orange: #f89c1c;

  /* Semantic */
  --primary-color: var(--red);
  --secondary-color: var(--orange);
  --background-color: var(--white);

  /* Text */
  --text-color: #111111;
  --text-muted: rgba(17, 17, 17, 0.7);
}

/* =========================
   Global Reset
   ========================= */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* =========================
   Base Body
   ========================= */

body {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  color: var(--text-color);
  background-color: var(--background-color);
  overflow-x: hidden;
}
html, body {
  overflow-x: hidden;
}

/* Text selection */
::selection {
  background-color: #000;
  color: var(--primary-color);
}

/* =========================
   Lists & Links
   ========================= */

ul,
ol,
li {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

/* =========================
   Typography
   ========================= */

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  line-height: 0.95;
  font-weight: 600;
}

/* Headings */
h1,
.h1 {
  font-size: clamp(1.875rem, 1.6vw + 1.425rem, 3.125rem);
}

/* Font scale utilities */
.fs-200 {
  font-size: clamp(5rem, 8.276vw + 2.672rem, 12.5rem);
}

.fs-150 {
  font-size: clamp(3.75rem, 6.69vw + 1.869rem, 9.813rem);
}

.fs-100 {
  font-size: clamp(3.75rem, 3.2vw + 2.85rem, 6.25rem);
}

/* Paragraphs & links */
p,
a,
.p {
  font-size: clamp(1rem, 0.32vw + 0.91rem, 1.25rem);
  line-height: 1.4;
}

/* Remove default spacing */
h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
  margin: 0;
  padding: 0;
}

/* =========================
   Layout Containers
   ========================= */

.container {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1rem;
}

.custom-container {
  padding-left: clamp(2.5rem, 8vw + 0.25rem, 8.75rem);
  padding-right: clamp(2.5rem, 8vw + 0.25rem, 8.75rem);
  max-width: 1920px;
  margin: 0 auto;
}

.custom-container-2 {
  padding-left: clamp(2.5rem, 8vw + 0.25rem, 8.75rem);
  max-width: 1920px;
  margin: 0 auto;
}

@media (max-width: 991px) {
    .custom-container-2 {
        padding: 0 10px;
    }
}
.custom-container-v2 {
  padding-left: clamp(2.5rem, 23.2vw - 4.025rem, 20.625rem);
  padding-right: clamp(2.5rem, 23.2vw - 4.025rem, 20.625rem);
  max-width: 1920px;
  margin: 0 auto;
}

/* =========================
   Spacing Utilities
   ========================= */

.p-left {
  padding-left: clamp(2.5rem, 8vw + 0.25rem, 8.75rem);
}

.p-right {
  padding-right: clamp(2.5rem, 8vw + 0.25rem, 8.75rem);
}

/* =========================
   Color Utilities
   ========================= */

.text-primary {
  color: var(--primary-color) !important;
}

.text-secondary {
  color: var(--secondary-color) !important;
}

.text-white {
  color: var(--white) !important;
}

.bg-primary {
  background-color: var(--primary-color) !important;
}

.bg-secondary {
  background-color: var(--secondary-color) !important;
}

.bg-white {
  background-color: var(--white) !important;
}

/* =========================
   Buttons
   ========================= */

.main-btn {
  background-color: var(--primary-color);
  color: var(--white);
  border: 0;
  padding: 10px 30px;
  font-family: inherit;
     cursor: pointer;
}

.main-btn.secondary {
  background-color: var(--secondary-color);
  color: #111;
}

/* =========================
   Images
   ========================= */

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* =========================
   WordPress Core Helpers
   ========================= */

.alignleft {
  float: left;
  margin-right: 1rem;
}

.alignright {
  float: right;
  margin-left: 1rem;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}



/* =========================
   Header
   ========================= */
/*custom logo*/

.custom-logo {
  max-height: 60px;
  width: auto;
}

@media (max-width: 991px) {
  .custom-logo {
    max-height: 40px;
  }
}

/* Header starts absolute over hero */
.phoenix-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background: transparent;
  transition: background-color 0.3s ease;
}

/* Header becomes fixed AFTER scroll */
.phoenix-header.scrolled {
  position: fixed;
  background-color: #000;
}

.phoenix-header .navbar {
  padding: 1.5rem 0;
}

.phoenix-header.scrolled .navbar {
  padding: 0.75rem 0;
}

.navbar-nav .menu-item a {
  color: #fff;
  font-weight: 500;
  position: relative;
}

.navbar-nav .menu-item a::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #bb3950;
  transition: width 0.3s ease;
}

.navbar-nav .menu-item a:hover::after {
  width: 100%;
}

/* Mobile fix */
.navbar-toggler {
  border: none;
}

.navbar-toggler-icon {
  /* filter: invert(1); */
}

/* =========================
   Front Page Hero
   ========================= */

/* =========================
   Hero Text Overlay
   ========================= */

/*.front-hero {*/
/*  position: relative;*/
/*  min-height: 100vh;*/
/*  overflow: hidden;*/
/*}*/

/*.front-hero-image {*/
/*  position: absolute; */
/*  top: 0;*/
/*  left: 0;*/
/*  width: 100%;*/
/*  height: 100%;*/
/*  z-index: 1;*/
/*}*/
/*.front-hero-image video {*/
/*  width: 100%;*/
/*  height: 100vh;*/
/*  object-fit: cover;*/
/*}*/
/* Text wrapper */
/*.front-hero-content {*/
/*  position: absolute;*/
/*  bottom: 25%;*/
/*  left: 50%;*/
/*  transform: translateX(-50%);*/
/*  width: 100%;*/
/*   padding: 0 1rem; */
/*  text-align: center;*/
/*  z-index: 2;*/
/*}*/
/*.shape {*/
/*  margin-top: -100px;*/
/*  position: relative;*/
/*  z-index: 10000;*/
/*  width: 100% !important;*/
/*  height: auto;*/
/*  display: block;*/
/*}*/



/*================================*/

.front-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end; 
  height: 100vh;
  overflow: hidden;
}
    
    
.front-hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.front-hero-image video {
  width: 100%;
height: auto;       
 min-height: 100%;   
  display: block;
}

/*===========================*/

 /*Ensure the overall container is full screen */
.front-hero {
  position: relative !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  width: 100% !important;
}

 /*Force the element wrapper to be exactly full screen */
.front-hero-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 1 !important;
}

 /*Force the video or image to zoom and cover the gaps */
.front-hero-image video,
.front-hero-image img {
  width: 100% !important;
    height: 100% !important;           
    object-fit: cover !important;             
    object-position: center !important;           
  display: block !important;
  min-height: 100% !important;
}

.front-hero-content {
  position: absolute;
  bottom: 25%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  z-index: 2;
}

.shape {
  width: 100%;
  display: block;
  z-index: 3;
  pointer-events: none;
}

/* TOP SHADOW */
.front-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 35%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  z-index: 1;
  pointer-events: none;
}

.front-hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 35%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  z-index: 1;
  pointer-events: none;
}

.front-hero-image img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}

@media (max-width: 768px) {
  .shape {
    margin-top: -50px;
  }
}

@media (max-width: 500px) {
  .shape {
    margin-top: -40px;
  }
}
.front-hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

/* Text style */
.front-hero-title {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.05;
  color: #fff;
  max-width: 1125px; /* tweak this */
  margin: 0 auto;
font-size: clamp(1.2rem, 2.6vw, 2.4rem);
}

/* Highlight "THE PHOENIX WAY" */
.front-hero-title span {
  color: var(--secondary-color);
}
.phoenix-header {
  z-index: 10001;
}
/* =========================
   Admin Bar – FINAL FIX
   ========================= */

/* Let WordPress manage layout */
html {
  margin-top: 0;
}

/* Adjust fixed header when admin bar exists */
body.admin-bar .phoenix-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .phoenix-header {
    top: 46px;
  }
}
@media (max-width: 768px) {
  .front-hero-content {
    bottom: 10%;
  }

  .front-hero-title {
    font-size: clamp(1.25rem, 5vw, 2.2rem);
  }
}

@media (max-width: 480px) {
  .front-hero-content {
    bottom: 8%;
  }

  .front-hero-title {
    font-size: 1.25rem;
    line-height: 1.15;
  }
}

.hero-shape {
  position: absolute;
  bottom: -1px; /* removes hairline gap */
  left: 0;
  width: 100%;
  z-index: 3;
  line-height: 0;
  pointer-events: none;
}

.hero-shape img {
  width: 100%;
  height: auto;
  display: block;
}

.hero-shape {
  filter: drop-shadow(0 -20px 30px rgba(0, 0, 0, 0.6));
}

/* =========================
   Mission Section
   ========================= */

.section-mission {
  background: #000;
  padding: clamp(0.1rem, 5vw, 0rem) 0;
  
}

.mission-content {
  max-width: 922px;
  margin: 0 auto;
  padding-bottom: 40px;

  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.25;

  font-size: clamp(1.25rem, 2.2vw, 2.25rem);
}

/* Ensure spans keep color */
.mission-content span {
  font-weight: 700;
}

/* Mobile tuning */
@media (max-width: 768px) {
  .mission-content {
    font-size: clamp(1.1rem, 4vw, 1.6rem);
    line-height: 1.3;
  }
}

@media (max-width: 480px) {
  .mission-content {
    font-size: 1rem;
    line-height: 1.35;
  }
}
.community-slider-section {
  position: relative;
  background-color: #000;
  padding: 40px 0;
  overflow: hidden;
}

/* TOP FADE */
.community-slider-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;

  z-index: 1;
  pointer-events: none;
}

/* BOTTOM FADE */
.community-slider-section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0));
  z-index: 1;
  pointer-events: none;
}

.community-slider {
  position: relative;
  z-index: 2;
}

.community-slide {
  display: flex;
  align-items: stretch;
  border-radius: 20px;
  overflow: hidden;
}

/* TEXT AREA */
.slide-text {
  background-color: #363535;
  flex: 0 0 35%;
  padding: 40px 50px;
  display: flex;
  align-items: center;
}

.slide-text h2 {
  color: #F26531;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 700;
  text-align: left;
}

/* IMAGE AREA */
.media-slider {
     overflow-x: auto;
      cursor: grab;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.media-slider::-webkit-scrollbar {
  display: none;
}
.media-slider.dragging {
                  cursor: pointer !important;
}
.media-slide img {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.media-track {
  display: flex;
  gap: 20px;
}

.media-slide {
  flex: 0 0 auto;
  width: 100%;
}


.slide-image {
  flex: 0 0 65%;
  max-height: 600px;
}

.slide-image2 {
  flex: 0 0 35%;
  max-height: 600px;
}

.slide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .community-slide {
    flex-direction: column;
  }

  .slide-text,
  .slide-image {
    flex: 0 0 100%;
  }

  .slide-text {
    padding: 40px 30px;
  }

  .slide-text h2 {
    font-size: 28px;
  }
}
.community-slider-shape {
  width: 100%;
  line-height: 0;
  margin-top: 30px; /* ← increase/decrease this to fine-tune */
}
.community-slider-shape img {
  width: 100%;
  height: auto;
  display: block;
}
.three-cards-section {
  background-color: #000000;
  padding: 40px 0;
}

.three-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* CARD */
.info-card {
  background-color: #363535;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 680px; /* increase from 640 to absorb larger text */
}

/* CONTENT */
.info-card-content {
  padding: 40px 40px 0px 30px;
  flex-shrink: 0;
}
.card-title {
  /*color: #bb3950;*/
  color: #F26531;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;

  /* Responsive title sizing */
  font-size: clamp(1.75rem, 2.2vw + 0.2rem, 3.125rem);
  /* ~28px → ~50px */

  max-width: 18ch; /* forces clean multi-line wrapping */
  margin-bottom: 22px;
}
.card-text {
  color: #ffffff;
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 25px;
  max-width: 95%;
  line-height: 1;
}

/* BUTTON */
.card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 36px;
  background: linear-gradient(90deg, #c23b64, #a12b6a);
  color: #fff;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  margin-top: 10px;
}

.card-btn:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

/* IMAGE WRAPPER MUST FLEX */
.info-card-image {
  flex-grow: 1;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  display: flex;
}
.info-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  margin-top: 20px;
  border-radius: 22px;
}
/* RESPONSIVE */
@media (max-width: 991px) {
  .three-cards-grid {
    grid-template-columns: 1fr;
  }
  .info-card {
    min-height: 600px;
  }
}
/*follow us section*/
.follow-socials {
  display: flex;
  gap: 16px;
  margin-top: 20px;
}

.follow-socials a img {
  width: 32px;
  height: auto;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
}

.follow-socials a:hover img {
  transform: translateY(-2px);
  opacity: 0.8;
}
/* =========================
   FOLLOW US – MATCHED DESIGN
   ========================= */

.follow-slider-section {
  background-color: #000;
  padding: 40px 0;
}

/* MASTER HEIGHT */
.follow-layout {
  display: flex;
  gap: 30px;
  align-items: stretch;
  min-height: 600px; /* 🔥 adjust this number if needed */
}

/* LEFT WRAPPER (TEXT + IMAGE 1) */
.follow-left-wrap {
  display: flex;
  background-color: #262525;
  border-radius: 20px;
  overflow: hidden;
  height: 100%;
  flex: 0 0 45%;
}

/* TEXT */
.follow-left {
  padding: 50px 40px;
  flex: 0 0 45%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.follow-title {
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 22px;
}

.follow-icons {
  display: flex;
  gap: 16px;
}

.follow-icons img {
  width: 26px;
                  cursor: pointer;
}

/* IMAGE 1 */
.follow-attached-image {
  flex: 1;
  height: 100%;
}

.follow-attached-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* RIGHT SLIDER */
.follow-right {
  flex: 1;
  overflow: hidden;
}

.follow-slide {
  height: 420px;
  border-radius: 20px;
  overflow: hidden;
}

.follow-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .follow-layout {
    flex-direction: column;
  }

  .follow-left-wrap {
    flex-direction: column;
  }

  .follow-left {
    text-align: center;
  }

  .follow-icons {
    justify-content: center;
  }

  .follow-slide {
    height: 320px;
  }
}
/* =========================
   PARTNERS LOGO STRIP
   ========================= */

.partners-logos-section {
  background-color: #000;
  padding: 40px 0;
}
.partners-logos-wrap .partner-logo:nth-child(7) img {
  transform: scale(1.3);
}

/* Rounded container */
.partners-logos-wrap {
  background: linear-gradient(180deg, #1f1f1f, #1a1a1a);
  border-radius: 20px;
  padding: 40px 50px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

/* Individual logo */
.partner-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-logo img {
  max-height: 56px;
  width: auto;
  object-fit: contain;
  opacity: 0.95;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .partners-logos-wrap {
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    padding: 35px 30px;
  }

  .partner-logo img {
    max-height: 40px;
  }
}

@media (max-width: 480px) {
  .partner-logo img {
    max-height: 34px;
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .partners-logos-wrap {
    padding: 30px 20px !important; /* Reduced side padding */
    gap: 10px !important;         /* Tighter gaps */
    justify-content: space-around; /* Spreads them evenly */
  }

  .partner-logo img {
    max-height: 42px !important; /* Slightly smaller logos to prevent overflow */
  }

  /* Adjust that specific 7th logo so it doesn't overlap neighbors */
  .partners-logos-wrap .partner-logo:nth-child(7) img {
    transform: scale(1.1); 
  }
}

/* =========================
   ABOUT INTRO GRID
   ========================= */

.about-intro-section {
  background: linear-gradient(180deg, #272626 0%, #000000 100%);
  padding-top: 160px; /* pushes section below header */
  padding-bottom: 80px;
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding-bottom: 10px;
}

/* COLUMNS */
.about-col {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* IMAGE BLOCK */
.about-image {
  border-radius: 20px;
  overflow: hidden;
}
.about-image-2 img {
  width: 100%;
  height: 92%;
  object-fit: cover;
  border-radius: 18px;
}
.about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* TEXT CARD */
.about-card {
  background-color: #262525;
  border-radius: 20px;
  padding: 40px 35px;
  color: #fff;
}

.about-card h3 {
  color: #F26531;
  font-size: 35px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
  letter-spacing: 0.05em;
}

.about-card p {
  font-size: 18px;
  line-height: 20px;
  color: #e5e5e5;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .about-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1600px) and (max-height: 650px) {
  .about-image-2 img {
    width: 100%;
    height: 2%;
    object-fit: cover;
    border-radius: 18px;
  }
}
/* =========================
   SECTION SHAPE DIVIDER
   ========================= */
.section-shape {
  width: 100%;
  line-height: 0;
  overflow: hidden;
}

.section-shape img {
  width: 100%;
  height: auto;
  display: block;
}
/* =========================
   ABOUT – STRIVE CARDS
   ========================= */

.about-cards-section {
  background-color: #000;
  padding: 40px 0 60px;
  text-align: center;
}

/* TITLE */
.about-cards-title {
  color: #F26531;
  font-size: 40px;
  font-weight: 700;
;
  text-transform: uppercase;
  margin-bottom: 50px;
}

/* GRID */
.about-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* CARD */
.about-card-item {
  background-color: #282828;
  border-radius: 14px;
  padding: 30px 26px;
  min-height: 190px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.about-card-item p {
  color: #ffffff;
  font-size: 18px;
  font-weight:700;
  line-height: 1.45;
  margin: 0;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .about-cards-grid {
    grid-template-columns: 1fr;
  }

  .about-card-item {
    min-height: auto;
    padding: 28px 24px;
  }
}
/* =========================
   ABOUT – ORIGIN STORY
   ========================= */

.about-origin-section {
  background: #000000;
  padding: 0px 0 120px;
}

.about-origin-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}

/* TITLE */
.about-origin-title {
  color: #F26531;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin-bottom: 28px;
  text-align: center;
}

/* TEXT */
.about-origin-text {
  color: #ffffff;
  font-size: 15px;
  line-height: 1.7;
}

.about-origin-text p {
  margin-bottom: 18px;
}

.about-origin-text p:last-child {
  margin-bottom: 0;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .about-origin-section {
    padding: 40px 0 90px;
  }

  .about-origin-inner {
    max-width: 100%;
  }
}
.section-shape-origin {
  margin-top: 20px; /* tweak: try 16–32px if needed */
}
/* =========================
   IMPACT – TOP CARDS
   ========================= */

.impact-top-section {
  background: linear-gradient(180deg, #272626 0%, #000000 100%);
  padding-top: 160px; /* space from header */
  padding-bottom: 100px;
  text-align: center;
}

/* TITLE */
.impact-title {
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 48px;
}

/* GRID */
.impact-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

/* CARD */
.impact-card {
  background-color: #2a2a2a;
  border-radius: 18px;
  padding: 32px 28px;
  min-height: 240px;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* SMALL LABEL */
.impact-card-small {
  color: #cfcfcf;
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

/* BIG NUMBER */
.impact-card-number {
  color: #bb3950;
  font-size: 50px;
  font-weight: 700;
  margin-bottom: 18px;
}

/* TEXT */
.impact-card-text {
  color: #ffffff;
  font-size: 14px;
  line-height: 1.55;
}
.impact-cards-grid,
.impact-cards-grid-bottom {
  text-align: left;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .impact-cards-grid {
    grid-template-columns: 1fr;
  }

  .impact-card {
    min-height: auto;
    text-align: left;
  }
}
/* =========================
   IMPACT – BOTTOM CARDS
   ========================= */

.impact-cards-grid-bottom {
  grid-template-columns: 2fr 1fr;
  margin-top: 14px;
}

/* WIDE CARD */
.impact-card-wide {
  min-height: 280px;
}

/* TALL CARD */
.impact-card-tall {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* TEXT-ONLY CARD */
.impact-card-text-only {
  margin-top: 18px;
  padding: 30px 32px;
  min-height: auto;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .impact-cards-grid-bottom {
    grid-template-columns: 1fr;
  }

  .impact-card-wide,
  .impact-card-tall {
    min-height: auto;
  }
}

.header-join {
    margin-left: 10px;
}

/* MEDIA SLIDER */
.media-slider {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.media-track {
  display: flex;
  height: 100%;
  gap: 20px; /* 👈 space between slides */
  will-change: transform;
                  cursor: grab;
}

.media-slide {
  flex: 0 0 auto; /* 👈 key: less than 100% */
  height: 100%;
}

.media-slide img,
.media-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Preserve card look */
.community-slide {
  background-color: #1f1f1f;
  border-radius: 20px;
  overflow: hidden;
}

.media-track {
                  cursor: arrow;
}

.media-track:active {
                  cursor: arrow;
}

/* =========================
   MOBILE HEADER FIX
   ========================= */

@media (max-width: 991px) {
  /* Header background always solid on mobile */
  .phoenix-header {
    background-color: #000;
  }

  .phoenix-header .navbar {
    padding: 0.75rem 0;
  }

  /* Logo sizing */
  .navbar-brand img,
  .custom-logo {
    max-height: 36px;
  }

  /* Toggle alignment */
  .navbar-toggler {
    padding: 0;
  }

  /* Collapsed menu panel */
  .navbar-collapse {
    background-color: #000;
    padding: 24px 0 32px;
  }

  /* Menu items */
  .navbar-nav {
    flex-direction: column;
    gap: 22px;
    text-align: center;
  }

  .navbar-nav .menu-item a {
    font-size: 20px;
  }

  /* Mobile CTA block */
  .mobile-cta {
    margin-top: 30px;
    display: flex;
    gap: 18px;
    justify-content: center;
    align-items: center;
  }

  .mobile-cta a {
    font-size: 14px;
  }

  .mobile-cta .header-join {
    background: linear-gradient(90deg, #c23b64, #a12b6a);
    border-radius: 999px;
    padding: 10px 22px;
    font-size: 14px;
  }
}

/* =========================
   HEADER CTA (DESKTOP)
   ========================= */

.header-cta {
  display: flex;
  align-items: center;
  gap: 18px;
}

.header-cta a {
  font-size: 14px;
}

.header-cta .header-join {
  background: linear-gradient(90deg, #c23b64, #a12b6a);
  border-radius: 7px;
  padding: 7px 22px;
  font-size: 14px;
}

@media (max-width: 991px) {
  .header-cta {
    margin-top: 30px;
    justify-content: center;
  }
}
/* =========================
   GRANTS – HERO INTRO
   ========================= */

.grants-hero-section {
  background: #000;
  padding: 160px 0 0px;
}

/* CENTERED BLOCK */
.grants-hero-inner {
  max-width: 720px;
  margin: 0 auto;
  padding-top: 40px;
}

/* TITLE – CENTERED */
.grants-hero-title {
  color: #F26531;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 26px;
}

/* TEXT – LEFT ALIGNED INSIDE CENTERED BLOCK */
.grants-hero-text {
  color: #ffffff;
  font-size: 18px;
  line-height: 21px;
  text-align: left;
  margin-bottom: 30px;
}

.grants-hero-text p {
  margin-bottom: 0;
}
/* =========================
   BIG TEXT + IMAGE + LINES
   ========================= */

.big-text-section {
  background: #000;
  padding: 0px 0 40px 0;
  text-align: center;
}

/* full-width image */
.big-text-full-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* yellow lines */
.big-text-line img {
  width: 100%;
  display: block;
  margin: 0;
}

/* spacing control */
.big-text-line-top {
  margin-bottom: 60px;
}

.big-text-line-bottom {
  margin-top: 60px;
}

/* text */
.big-text {
  max-width: 919px;
  margin: 0 auto;
  color: #ffffff;
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* shape wrapper */
.big-text-shape {
  width: 100%;
  position: absolute;
  left: 0;
}

.big-text-shape img {
  width: 100%;
  height: auto;
  display: block;
}

/* top shape */
.big-text-shape-top {
  top: 80px;
}

/* bottom shape */
.big-text-shape-bottom {
  bottom: 80px;
}
.grants-image-section {
  background: #000;
}

.grants-image {
  width: 100%;
  height: auto;
  display: block;
}
/* BUTTON */
.grants-hero-btn {
  display: inline-block;
  background: linear-gradient(90deg, #c23b64, #a12b6a);
  color: #ffffff;
  padding: 8px 36px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.grants-hero-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .grants-hero-inner {
    max-width: 100%;
  }

  .grants-hero-section {
    padding: 90px 0 100px;
  }
}
@media (min-width: 1024px) {
  .grants-hero-title {
    white-space: nowrap;
  }
}
/* =========================
   GRANTS – CARDS SECTION
   ========================= */

.grants-cards-section {
  background: #000;
  padding: 0px 0 0px 0;
}

/* GRID */
.grants-cards-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* CARD */
.grants-card {
  background-color: #2a2a2a;
  border-radius: 18px;
  padding: 33px 34px;
  min-height: 368px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* TITLE (RED, MULTI-LINE) */
.grants-card-title {
  color: #F26531;
  font-size: 35px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.15;
  letter-spacing: 0.03em;
  margin-bottom: 22px;
}

/* CONTENT (WYSIWYG SAFE) */
.grants-card-content {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.6;
}

.grants-card-content p {
  margin-bottom: 18px;
}

.grants-card-content p:last-child {
  margin-bottom: 0;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .grants-cards-grid {
    grid-template-columns: 1fr;
  }

  .grants-card {
    min-height: auto;
  }
}

/*Cards si slider te GRANTS*/

/* =========================
   PARTNERS – INTRO SECTION
   ========================= */

.partners-intro-section {
  background: linear-gradient(180deg, #272626 0%, #000000 100%);
  padding: 180px 0 120px;
}

/* CENTERED BLOCK */
.partners-intro-inner {
  max-width: 600px;
  margin: 0 auto;
}

/* TITLE – CENTERED */
.partners-intro-title {
  color: #F26531;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 26px;
}

/* SUBTITLE – LEFT ALIGNED */
.partners-intro-text {
  color: #ffffff;
  font-size: 20px;
  line-height: 23px;
  text-align: left;
}

.partners-intro-text p {
  margin-bottom: 0;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .partners-intro-section {
    padding: 90px 0 100px;
  }

  .partners-intro-inner {
    max-width: 100%;
  }
}
/* =========================
   PARTNERS – LOGOS GRID
   ========================= */

.partners-logos-section {
  background: #000;
  padding: 100px 0 120px;
}

.partners-logos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
/* CARD */
.partner-logo-card {
  background: #1f1f1f;
  border-radius: 18px;
  padding: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}
/* center the 7th card on its own row */
.partner-logo-card:nth-child(7) {
  grid-column: 2 / 3;
}
/* LOGO */
.partner-logo-card img {
  max-width: 75%;
  max-height: 70px;
  object-fit: contain;
  display: block;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .partners-logos-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .partner-logo-card {
    min-height: 140px;
  }
}
/* =========================
   PARTNERS – FEATURED CARDS
   ========================= */

.partners-featured-section {
  background: #000;
  padding: 110px 0 130px;
}

/* GRID */
.partners-featured-grid {
  max-width: 1320px; /* wider like Figma */
  margin: 0 auto;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px; /* slightly tighter */
}

/* CARD */
.partners-featured-card {
  background-color: #2a2a2a;
  border-radius: 18px;
  overflow: hidden;

  display: flex;
  flex-direction: column;
}

/* IMAGE */
.partners-featured-image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

/* CONTENT */
.partners-featured-content {
  padding: 28px 26px 30px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE */
.partners-featured-title {
  color: #bb3950;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.15;
  margin-bottom: 14px;
}

/* TEXT */
.partners-featured-text {
  color: #ffffff;
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 22px;
}

.partners-featured-text p:last-child {
  margin-bottom: 0;
}

/* BUTTON */
.partners-featured-btn {
  align-self: flex-start;
  margin-top: auto;

  background: linear-gradient(90deg, #c23b64, #a12b6a);
  color: #ffffff;
  padding: 10px 22px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}

.partners-featured-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .partners-featured-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .partners-featured-grid {
    grid-template-columns: 1fr;
  }

  .partners-featured-image img {
    height: 180px;
  }
}
/* =========================
   SEVEN NEW LOGO GRID
   ========================= */

.seven-new-section {
  background: #000;
  padding: 10px 0;
}

.seven-new-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 16px;
}

/* card */
.seven-new-card {
  background: #1e1e1e;
  border-radius: 18px;
  min-height: 215px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

/* logo */
.seven-new-card img {
  max-width: 200px; /* wider logos */
  max-height: 90px; /* taller logos */
  width: auto;
  height: auto;
}

/* center the 7th card */
.seven-new-card:nth-child(7) {
  grid-column: 1 / 2;
}
/* make the 7th logo bigger */
.seven-new-card:nth-child(7) img {
  transform: scale(1.3);
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 991px) {
  .seven-new-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .seven-new-card:nth-child(7) {
    grid-column: auto;
  }
}

@media (max-width: 575px) {
  .seven-new-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================
   PARTNERS – FEATURED CONTAINER FIX
   ========================= */

.partners-featured-section .custom-container {
  padding-left: 40px;
  padding-right: 40px;
}
/* =========================
   REGIONS SECTION
   ========================= */

.regions-section {
  background: #000;
  padding: 120px 0;
}

.regions-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* HEADING */
.regions-heading {
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

/* FIRST WORD (PINK) */
.regions-heading .highlight {
  color: #F26531;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .regions-section {
    padding: 80px 0;
  }

  .regions-heading {
    margin-top: 40px;
    text-align: center;
  }
}
/*card 1*/
/* =========================
   REGIONS – FEATURED CARD
   ========================= */

.regions-featured-card-section {
  background: #000;
  padding: 120px 0;
}

/* OUTER WRAPPER (NO BACKGROUND) */
.regions-featured-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
}

/* LEFT IMAGE – FULL HEIGHT */
.regions-featured-image {
  height: 100%;
}

.regions-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 20px 0 0 20px;
}

/* RIGHT CONTENT BOX */
.regions-featured-content {
  background: #2a2a2a;
  border-radius: 0 20px 20px 0;
  padding: 40px 42px 90px;
  color: #ffffff;
  position: relative;
}

/* TOP PILL */
.regions-pill {
  display: inline-block;
  background: #ff7a45;
  color: #fff;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 13px;
  margin-bottom: 18px;
}

/* TITLE */
.regions-featured-title {
  color: #F26531;
  font-size: 32px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 20px;
  max-width: 420px;
}

/* TEXT */
.regions-featured-text {
  font-size: 16px;
  line-height: 1.6;
}

/* BUTTONS – OUTSIDE THE BOX */
.regions-featured-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: end;
  margin-top: 10px;
}

.regions-featured-buttons-2 {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: start;
  margin-top: 10px;
}

/* BUTTON STYLE */
.regions-btn {
  padding: 16px 32px;
  border-radius: 8px;
  font-size: 20px;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(90deg, #c23b64, #a12b6a);
  white-space: nowrap;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .regions-featured-card {
    grid-template-columns: 1fr;
  }

  .regions-featured-image img {
    border-radius: 20px 20px 0 0;
    height: 280px;
  }

  .regions-featured-content {
    border-radius: 0 0 20px 20px;
    padding-bottom: 120px;
  }

  .regions-featured-buttons {
    right: 24px;
    bottom: -32px;
  }
}
/* REVERSED CARD (IMAGE RIGHT) */
.regions-featured-card--reverse {
  grid-template-columns: 1.2fr 1fr;
}

/* MOBILE: stack normally */
@media (max-width: 991px) {
  .regions-featured-card--reverse {
    grid-template-columns: 1fr;
  }
}
.header-cta img {
  width: 20px;
  height: 20px;
  display: block;
}

.header-cta a {
  display: inline-flex;
  align-items: center;
}
/* =========================
   PARTNERS – FEATURED CARD
   ========================= */

.partners-card-section {
  background: #000;
  padding: 80px 0;
}

/*
.partners-card {
  max-width: 420px;
  background: #2a2a2a;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
*/
/*new partner code */

.partners-card {
  background-color: #1e1e1e !important;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.partners-card-image {
  margin-top: auto; /* pushes image to bottom */
}
.partners-card-image img {
  width: 100%;
  height: auto; /* 👈 important */
  object-fit: cover;
  display: block;
}




/* CONTENT */
.partners-card-content {
  padding: 36px 28px;
  color: #fff;
  display: flex;
  flex-direction: column;
  flex-grow: 1; /* This ensures the content area fills the available space */
}

.partners-card-title {
  /*color: #c23b64;*/
  color: #F26531;
  font-size: 35px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.15;
  margin-bottom: 18px;
}

.partners-card-text {
  font-size: 20px;
  margin-bottom: 26px;
}

/* BUTTON */
.partners-card-btn {
align-self: flex-start; /* Keeps it on the left */
  margin-top: auto;
  
  display: inline-block;
  background: linear-gradient(90deg, #c23b64, #a12b6a);
  color: #fff;
  padding: 10px 22px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

/* IMAGE */
.partners-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .partners-card {
    margin: 0 auto;
  }
}
/* GRID LAYOUT */
.partners-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .partners-cards-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================
   LEADERSHIP – INTRO
   ========================= */
.leadership-intro-section {
  background: #000;
  padding: 190px 0 120px; /* extra top space to clear header */
  text-align: center;
}
.leadership-intro-inner {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 28px; /* creates the 3-row separation */
}
.leadership-title {
  color: #F26531;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 18px;
  text-transform: uppercase;
  margin: 0;
}

.leadership-subtitle {
  max-width: 720px;
  margin: 0 auto;
  font-size: 20px;
  line-height: 22px;
  color: white;
  text-align: left;
  max-width: 526px;
}

.leadership-card-content {
  padding: 32px 28px;
  color: #fff;
}

.leadership-card-title {
  color: #F26531;
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.leadership-card-text {
  font-size: 14px;
  line-height: 1.65;
  color: #e0e0e0;
}


/* 1. Wrapper to stack the cards vertically with spacing */
.leadership-cards-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px; /* Space between each row */
    width: 100%;
}

/* 2. The Horizontal Card Base */
.resource-card-horizontal {
    display: flex;
    flex-direction: row; /* Image left, text right */
    background: #2a2a2a; /* Your card dark grey */
    border-radius: 22px;
    overflow: hidden;
    width: 100%;
    min-height: 380px; /* Ensures a consistent look */
    transition: transform 0.3s ease;
}

.resource-card-horizontal:hover {
    transform: translateY(-5px); /* Subtle lift effect */
}

/* 3. Image Side (Left) */
.resource-card-horizontal .resource-card-image {
    flex: 0 0 40%; /* Image takes 40% of the width */
    max-width: 35%;
    background: #1a1a1a; /* Fallback if image fails */
}

.resource-card-horizontal .resource-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Crops image to fill the space perfectly */
    display: block;
}

/* 4. Content Side (Right) */
.resource-card-horizontal .resource-card-content {
    flex: 1; /* Takes up the remaining 60% */
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centers text vertically against the image */
}

.resource-card-horizontal .resource-card-title {
    color: #F26531; /* Your orange theme color */
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.resource-card-horizontal .resource-card-excerpt {
    font-size: 16px;
    line-height: 1.8;
    color: #ffffff;
    margin: 0;
}

/* 5. Shape Styling (To ensure it stays pinned to the bottom) */
.leadership-shape {
    margin-top: 40px;
    line-height: 0; /* Removes tiny white-space gaps at bottom */
}

.leadership-shape img {
    display: block;
}

/* 6. Advanced Responsive Fixes */

/* TABLETS (Portrait) - Clean up spacing and font sizes */
@media (max-width: 1024px) {
    .leadership-intro-section {
        padding: 150px 0 80px; /* Reduced padding for smaller screens */
    }

    .resource-card-horizontal .resource-card-content {
        padding: 40px; /* Slightly tighter padding */
    }

    .resource-card-horizontal .resource-card-title {
        font-size: 24px;
    }
}

/* TABLETS & LARGE PHONES - Switch to Vertical Stack */
@media (max-width: 991px) {
    .leadership-intro-section {
        padding: 120px 20px 60px;
    }

    .leadership-title {
        font-size: 32px;
    }

    .resource-card-horizontal {
        flex-direction: column; /* Stacks image on top, text below */
        min-height: auto;
    }
    
    .resource-card-horizontal .resource-card-image {
        flex: 0 0 auto;
        max-width: 100%;
        height: 350px; /* taller image for tablets */
    }

    .resource-card-horizontal .resource-card-content {
        padding: 30px;
        text-align: center; /* Optional: Center text on mobile for better balance */
    }

    .leadership-subtitle {
        text-align: center; /* Center subtitle on smaller screens */
        font-size: 18px;
    }
}

/* SMALL PHONES (iPhone, etc.) */
@media (max-width: 576px) {
    .leadership-intro-section {
        padding: 100px 15px 40px;
    }

    .leadership-title {
        font-size: 28px;
    }

    .resource-card-horizontal .resource-card-image {
        height: 250px; /* shorter image for small phones */
    }

    .resource-card-horizontal .resource-card-content {
        padding: 20px 15px;
    }

    .resource-card-horizontal .resource-card-title {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .resource-card-horizontal .resource-card-excerpt {
        font-size: 14px;
        line-height: 1.6;
    }

    .leadership-cards-wrapper {
        gap: 25px; /* Tighter gap between cards on small screens */
    }
}

/* =========================
   UPDATES – INTRO
   ========================= */

.updates-intro-section {
  background: #000;
  padding-top: 140px; /* strong separation from header */
  /* padding-bottom: 80px; */
}

.updates-title {
  color: #F26531;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.updates-subtitle {
  max-width: 600px;
  font-size: 20px;
  text-align: left;
  line-height: 1.6;
  color: white;
}

/* Responsive */
@media (max-width: 768px) {
  .updates-intro-section {
    padding-top: 120px;
    padding-bottom: 60px;
  }

  .updates-title {
    font-size: 26px;
  }

  .updates-subtitle {
    font-size: 13px;
  }
}
/* =========================
   PARTNERS / LOGOS STRIP
   ========================= */

.partners-logos-section {
  background: black;
  margin-top: -80px; /* pulls box up into the previous section */
  position: relative;
  z-index: 3;
}

/* the actual box */
.partners-logos-box {
  background: linear-gradient(to bottom, #3a3a3a, #2e2e2e);
  border-radius: 24px;
  padding: 28px 32px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
}

/* logos */
.partner-logo {
  max-height: 44px;
  width: auto;
  opacity: 0.9;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.partner-logo:hover {
  opacity: 1;
  transform: translateY(-2px);
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 768px) {
  .partners-logos-section {
    margin-top: -60px;
  }

  .partners-logos-box {
    padding: 22px 20px;
  }

  .partner-logo {
    max-height: 38px;
  }
}
.partners-logos-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: center;
  gap: 32px;
}

.partner-logo-item {
  display: flex;
  justify-content: center;
}
.partners-logos-grid .partner-logo-item:nth-child(7) img {
  transform: scale(1.3);
}
/* =========================
   RESOURCES ARCHIVE PAGE
   ========================= */

.resources-archive-section {
  background:
    radial-gradient(
      120% 80% at 50% 0%,
      rgba(255, 255, 255, 0.06) 0%,
      rgba(0, 0, 0, 0) 60%
    ),
    linear-gradient(180deg, #1e1e1e 0%, #000000 100%);
  padding: 160px 0 120px;
  color: #fff;
}

/* =========================
   HEADER
   ========================= */

.resources-header {
  max-width: 720px;
  margin: 0 auto 80px;
  text-align: center;
  padding-top:23px;
}

.resources-title {
  color: #F26531;
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(2rem, 4vw, 3.2rem);
  margin-bottom: 12px;
}

.resources-subtitle {
  color: white;
  font-size: 18px;
  line-height: 20px;
}
/* =========================
   SINGLE RESOURCE
   ========================= */

.resource-single-section {
  background: #000;
  padding: 120px 0;
  color: #e5e5e5;
}

.resource-single {
  max-width: 900px;
  margin: 0 auto;
}

/* Title */
.resource-single-title {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 40px;
}

/* Featured Image */
.resource-single-image {
  margin-bottom: 50px;
}

.resource-single-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Content */
.resource-single-content {
  font-size: 16px;
  line-height: 1.8;
  color: #d0d0d0;
}

.resource-single-content p {
  margin-bottom: 20px;
}

.resource-single-content h2,
.resource-single-content h3 {
  color: #fff;
  margin-top: 40px;
  margin-bottom: 16px;
}

.resource-single-content a {
  color: #c23b64;
  text-decoration: underline;
}

/* Download */
.resource-single-download {
  margin-top: 60px;
}

.resource-download-btn {
  display: inline-block;
  padding: 14px 32px;
  background: #c23b64;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 30px;
  transition: all 0.3s ease;
}

.resource-download-btn:hover {
  background: #a92f54;
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
  .resource-single-title {
    font-size: 30px;
  }

  .resource-single-section {
    padding: 80px 0;
  }
}

/* =========================
   GRID
   ========================= */

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

/* =========================
   CARD
   ========================= */

.resource-card {
  background-color: #2a2a2a;
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column-reverse;
  height: 100%;
}

.resource-card-2 {
  background-color: #2a2a2a;
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* IMAGE */
.resource-card-image {
 /* margin-top: auto;  pushes image to bottom */
  height: 500px;
  overflow: hidden;
}

.resource-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 22px;
 object-position: 50% 20%;
}

/* CONTENT */
.resource-card-content {
  padding: 36px 32px 30px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* TITLE */
.resource-card-title {
  /*color: #bb3950;*/
  color: #F26531;
  font-size: 40px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.15;
  letter-spacing: 0.03em;
  margin-bottom: 18px;
  max-width: 18ch;
  white-space: nowrap;
}

/* EXCERPT */
.resource-card-excerpt {
  color: #ffffff;
  font-size: 18px;
  line-height: 20px;
  margin-bottom: 24px;
}

/* BUTTON */
.resource-card-btn {
  align-self: flex-start;
  margin-top: auto;

  background: linear-gradient(90deg, #c23b64, #a12b6a);
  color: #ffffff;
  padding: 8px 36px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}

.resource-card-btn:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1200px) {
  .resources-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .resources-archive-section {
    padding: 120px 0 90px;
  }

  .resources-header {
    margin-bottom: 60px;
  }

  .resources-grid {
    grid-template-columns: 1fr;
  }

  .resource-card-title {
    font-size: 22px;
  }

  .resource-card-image img {
    height: 100%;
  }
}
@media (max-width: 375px) {
  .resource-card-title {
    white-space: normal;
  }
}
/* =========================
   RESOURCES – PAGINATION
   ========================= */

.resources-pagination {
  margin-top: 80px;
  display: flex;
  justify-content: center;
}

.pagination-list {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* Links & spans */
.pagination-list a,
.pagination-list span {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  font-weight: 500;
  padding: 6px 10px;
  transition: color 0.2s ease;
}

/* Current page */
.pagination-list .current {
  color: #bb3950;
}

/* Hover */
.pagination-list a:hover {
  color: #ffffff;
}

/* Prev / Next spacing */
.pagination-list .prev,
.pagination-list .next {
  font-size: 14px;
}

/* Hide screen reader junk */
.pagination-list .screen-reader-text {
  display: none;
}

/* =========================
   NEWS – FEATURED FIRST POST
   ========================= */

.news-featured-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
  background-color: #2a2a2a;
  border-radius: 22px;
  overflow: hidden;
  margin-bottom: 40px;
}

/* IMAGE */
.news-featured-image img {
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  display: block;
}

/* CONTENT */
.news-featured-content {
  padding: 48px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* TITLE */
.news-featured-title {
  color: #F26531;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.1;
  margin-bottom: 22px;
}

/* EXCERPT */
.news-featured-excerpt {
  color: #ffffff;
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 28px;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .news-featured-card {
    grid-template-columns: 1fr;
  }

  .news-featured-image img {
    min-height: 260px;
  }

  .news-featured-content {
    padding: 32px 28px;
  }
}

.no-padding {
  padding: 0px;
}

.padding-y {
  padding-top: 80px;
  padding-bottom: 0px;
} /* =========================
   SINGLE NEWS
   ========================= */

.news-single-section {
  background: #000;
  padding: 120px 0;
  color: #e5e5e5;
}

.news-single {
  max-width: 900px;
  margin: 0 auto;
}

/* Title */
.news-single-title {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 40px;
}

/* Image */
.news-single-image {
  margin-bottom: 50px;
}

.news-single-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Content */
.news-single-content {
  font-size: 16px;
  line-height: 1.8;
  color: #d0d0d0;
}

.news-single-content p {
  margin-bottom: 20px;
}

.news-single-content h2,
.news-single-content h3 {
  color: #fff;
  margin-top: 40px;
  margin-bottom: 16px;
}

.news-single-content a {
  color: #c23b64;
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 768px) {
  .news-single-title {
    font-size: 30px;
  }

  .news-single-section {
    padding: 80px 0;
  }
}

/* =========================
   NEWSLETTER – BLUR BACKGROUND
   ========================= */

.updates-intro-section {
  position: relative;
  overflow: hidden;
}

/* blurred glass panel */
.updates-blur-wrap {
  position: relative;
  z-index: 2;
  padding: 120px 0 100px;
}

/* actual blur layer */
.updates-blur-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  z-index: -1;
}

/* optional soft vignette */
.updates-intro-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    120% 80% at 50% 0%,
    rgba(255, 255, 255, 0.06) 0%,
    rgba(0, 0, 0, 0) 60%
  );
  pointer-events: none;
}

.updates-blur-wrap {
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 32px;
}

/* =========================
   UPDATES – SEARCH BAR
   ========================= */

.updates-search-form {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1000;
  padding-bottom: 80px;
  background-color: black;
}

.updates-search-input {
  width: 320px;
  max-width: 100%;
  padding: 14px 18px;
  border-radius: 8px;
  border: none;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 14px;
  outline: none;
  backdrop-filter: blur(10px);
}

.updates-search-input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

.updates-search-btn {
  padding: 13px 64px;
  border-radius: 8px;
  border: none;
  background: linear-gradient(90deg, #c23b64, #a12b6a);
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
                  cursor: pointer;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.updates-search-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 480px) {
  .updates-search-form {
    flex-direction: column;
  }

  .updates-search-input,
  .updates-search-btn {
    width: 100%;
  }
}
/* =========================
   FOOTER
   ========================= */

.site-footer {
  background: #000;
  padding: 10px 0 40px 0;
  color: #ffffff;
}

/* GRID */
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 60px;
  align-items: start;
}

/* LOGO */
.footer-logo img {
  max-width: 220px; /* 👈 bigger logo */
  width: 100%;
  height: auto;
}

/* FOOTER MENU */
.footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-menu li {
  margin-bottom: 12px;
}

.footer-menu a {
  color: white;
  font-size: 14px;
  text-decoration: none;
  font-weight: 400;
}
 /* opacity: 0.85;
  transition: opacity 0.25s ease;*/


.footer-menu a:hover {
  opacity: 1;
}

/* CONTACT */
.footer-contact h4 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 14px;
}

.footer-contact p {
  font-size: 14px;
  line-height: 1.6;
  color: white;
  margin-bottom: 10px;
}

.footer-contact a {
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
}

.footer-contact a:hover {
  text-decoration: underline;
}
.footer-phone,
.footer-email {
  display: block; /* 👈 THIS is the key */
  font-size: 14px;
  color: #ffffff;
  text-decoration: none;
  margin-bottom: 6px;
}

.footer-email {
  margin-bottom: 0;
}

.footer-phone:hover,
.footer-email:hover {
  text-decoration: underline;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 991px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 45px;
    text-align: center;
  }

  .footer-logo img {
    margin: 0 auto;
  }

  .footer-menu li {
    margin-bottom: 8px;
  }
}

@media (max-width: 480px) {
  .site-footer {
    padding: 70px 0;
  }

  .footer-contact h4 {
    font-size: 15px;
  }

  .footer-menu a,
  .footer-contact p,
  .footer-contact a {
    font-size: 13px;
  }
}
.footer-phone {
  font-size: 14px;
  color: #ffffff;
  margin-bottom: 6px;
}
/* =========================
   CONTACT SECTION
   ========================= */

.contact-section {
  background-size: contain;
  background-position: left bottom;
  background-repeat: no-repeat;
  padding: 140px 0;
  color: #ffffff;
}

/* GRID */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  align-items: center;
}

/* LEFT */
.contact-left {
  max-width: 420px;
}

.contact-text {
  font-size: 30px;
  line-height: 30px;
  margin-bottom: 14px;
}

/* RIGHT FORM CARD */
.contact-right {
  background: #1f1e1e;
  padding: 50px 60px;
  border-radius: 18px;
}

/* CF7 */
.wpcf7 input,
.wpcf7 textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #c23b64;
  color: #ffffff;
  padding: 12px 0;
  margin-bottom: 28px;
}

.wpcf7 input[type="submit"] {
  background: #c23b64;
  border: none;
  padding: 10px 36px;
  border-radius: 6px;
  color: #fff;
  width: max-content;
                  cursor: pointer;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }

  .contact-right {
    padding: 40px;
  }
}
/* FORM HEADER */
.contact-form-header {
  margin-bottom: 40px;
}

.contact-form-title {
  color: #F26531;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.10rem;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.contact-form-subtitle {
  font-size: 18px;
  line-height: 21px;
  color: white;
}

/* =========================
   HEADER SUBMENU (DESKTOP)
   ========================= */

.navbar-nav .menu-item-has-children {
  position: relative;
}

/* Dropdown box */
.navbar-nav .sub-menu {
  position: absolute;
  top: 140%;
  left: 50%;
  transform: translateX(-50%);
  /* min-width: 220px; */

  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border-radius: 16px;
  padding: 16px 0;

  opacity: 0;
  visibility: hidden;
  transform-origin: top center;

  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    visibility 0.25s ease;

  z-index: 1000;
}
.skip-link {
  position: absolute;
  top: -40px;
  left: 10px;
  background: #000;
  color: #fff;
  padding: 8px 12px;
  z-index: 1000;
}

.skip-link:focus {
  top: 10px;
}

/* Show on hover */
.navbar-nav .menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.navbar-nav .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* Submenu items */
.navbar-nav .sub-menu li {
  padding: 0;
}

/* Submenu links */
.navbar-nav .sub-menu a {
  display: block;
  padding: 10px 22px;

  font-size: 15px;
  font-weight: 500;
  color: #ffffff;

  transition: 0.25s ease;
}

/* Hover effect */
.navbar-nav .sub-menu a:hover {
  background: rgba(255, 255, 255, 0.08);
  padding-left: 26px;
}

/* Remove underline animation inside submenu */
.navbar-nav .sub-menu a::after {
  display: none;
}

/* =========================
   LAPTOP & TABLET ADJUSTMENTS
   ========================= */

.phoenix-header-container {
  width: 100%;
  max-width: 1320px; 
  margin-right: auto;
  margin-left: auto;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between; 
}
/* 2. Your updated LAPTOP & TABLET ADJUSTMENTS */
@media (min-width: 992px) and (max-width: 1200px) {
  
  /* Target the new container instead of the old one */
  .phoenix-header-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  
  /* Reduce the gap between menu items */
  .navbar-nav {
    gap: 1rem !important; 
  }
  
  .navbar-nav .menu-item a {
    font-size: 14px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  /* Shrink the Social Icons and CTA Button */
  .header-cta {
    gap: 10px !important; 
  }

  .header-cta img {
    width: 18px; 
    height: 18px !important;
    
  }

  .header-join {
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 12px !important;
    white-space: nowrap; 
  }

  /* Shrink the Logo */
  .custom-logo {
    max-height: 40px !important;
  }
}

/* =========================
   SUBMENU – MOBILE
   ========================= */

@media (max-width: 991px) {
  .navbar-nav .sub-menu {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;

    background: transparent;
    backdrop-filter: none;
    padding: 8px 0 0;
    margin-left: 12px;
  }

  .navbar-nav .sub-menu a {
    font-size: 16px;
    opacity: 0.85;
  }
}

/* =========================
   ANNOUNCEMENTS FILTER
   ========================= */

.updates-filter-bar {
  position: relative;
  z-index: 5;
}

.updates-filter-link {
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
                  cursor: pointer;
  position: relative;
}

.updates-filter-link.active {
  color: #bb3950;
}

.updates-filter-dropdown {
  position: relative;
}

.updates-filter-menu {
  position: absolute;
  top: 130%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 10px 0;
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease;
}

.updates-filter-dropdown:hover .updates-filter-menu {
  opacity: 1;
  visibility: visible;
}

.updates-filter-menu a {
  display: block;
  padding: 10px 20px;
  color: #fff;
}

.updates-filter-menu a:hover {
  background: rgba(255, 255, 255, 0.08);
}

.sociallink {
  display: flex;
  gap: 4px;
  margin-top: 10px;
}

.sociallink a img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}
.social-title {
  color: white !important;
}

/* =====================================
   COMMUNITY SLIDER – IMAGES ONLY MODE
   (does NOT affect other sliders)
   ===================================== */

.community-slider--images-only .community-slide {
  display: flex;
  align-items: stretch;
}

/* LEFT PANEL stays static */
.community-slider--images-only .slide-text {
  flex: 0 0 35%;
}

/* RIGHT PANEL becomes the ONLY sliding area */
.community-slider--images-only .slide-image2 {
  flex: 0 0 65%;
  overflow: hidden;
}

/* constrain slider */
.community-slider--images-only .media-slider {
  height: 100%;
  overflow: hidden;
}

/* allow horizontal sliding ONLY inside image */
.community-slider--images-only .media-track {
  display: flex;
  height: 100%;
  gap: 20px;
  will-change: transform;
}

/* slides */
.community-slider--images-only .media-slide {
  flex: 0 0 90%;
  height: 100%;
}

/* images fill slide */
.community-slider--images-only .media-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =====================================
   FOLLOW US – 2 SLIDES + PREVIEW
   ===================================== */

.community-slider--images-only .media-track {
  gap: 24px; /* visual breathing room */
}

/* 👇 KEY CHANGE */
.community-slider--images-only .media-slide {
  flex: 0 0 42%; /* 2 slides + preview */
}

.footer-divider {
  background-color: #000000;
}

.text-left {
  text-align: start !important;
}

/* =========================
   GRANTS SLIDER
   ========================= */

.grants-slider-wrapper {
  position: relative;
}

.grants-slider {
  overflow: hidden;
}

.grants-track {
  display: flex;
  gap: 28px;
  transition: transform 0.6s ease;
  will-change: transform;
}

/* 3 cards visible */
.grants-card {
  flex: 0 0 calc((100% - 56px) / 3);
}

/* ARROWS */
.grants-slider-arrow {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: none;

  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 50px;
                  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  backdrop-filter: blur(8px);
}

.grants-slider-arrow.prev {
  left: -26px;
}

.grants-slider-arrow.next {
  right: -26px;
}

.grants-slider-arrow:hover {
  background: rgba(187, 57, 80, 0.9);
}

/* MOBILE */
@media (max-width: 991px) {
  .grants-card {
    flex: 0 0 80%;
  }
}

.flex-arrows {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.bg-black {
  background-color: black;
}

.footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.footer-socials a img {
	width: 20px;
	height: 20px;
}
/* =========================
   FOOTER – CENTER SOCIAL ICONS (MOBILE)
   ========================= */

@media (max-width: 991px) {
  .footer-socials {
    justify-content: center;
  }
}
/*single announcments*/

.single-announcement {
  max-width: 900px;
  margin: 0 auto;
  color: #fff;
}

.single-announcement-image {
  max-width: 720px; /* 👈 smaller than content width */
  margin: 40px auto; /* center it */
}

.single-announcement-image img {
  width: 100%;
  height: auto;
  border-radius: 18px;
}
.single-announcement-content {
  font-size: 15px;
  line-height: 1.7;
  color: #cfcfcf;
}

.single-announcement-content p {
  margin-bottom: 20px;
}

.single-announcement-back {
  margin-top: 20px;
}
.section-shape {
  background-color: #000;
}
.regions-map-wrapper {
  position: relative;
  max-width: 100%;
}

.regions-map-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.region-btn {
  position: absolute;
  padding: 8px 14px;
  font-size: 14px;
  border-radius: 8px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}

.region-btn:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

/* Button colors */
.north-east {
  background: linear-gradient(
    135deg,
    rgba(255, 145, 100, 0.85),
    rgba(249, 120, 77, 0.75)
  );

  box-shadow: 0 0 24px rgba(249, 120, 77, 0.45);

  border-color: rgba(255, 255, 255, 0.18);
}

.north-west {
  background: linear-gradient(
    135deg,
    rgba(242, 110, 90, 0.85),
    rgba(226, 73, 46, 0.75)
  );

  box-shadow: 0 0 24px rgba(226, 73, 46, 0.45);

  border-color: rgba(255, 255, 255, 0.18);
}

.yorkshire {
  background: linear-gradient(
    135deg,
    rgba(210, 90, 115, 0.85),
    rgba(187, 57, 80, 0.75)
  );

  box-shadow: 0 0 24px rgba(187, 57, 80, 0.45);

  border-color: rgba(255, 255, 255, 0.18);
}
.midlands {
  background: linear-gradient(
    135deg,
    rgba(180, 70, 130, 0.85),
    rgba(155, 31, 101, 0.75)
  );

  box-shadow: 0 0 24px rgba(155, 31, 101, 0.45);

  border-color: rgba(255, 255, 255, 0.18);
}
.south-west {
  background: linear-gradient(
    135deg,
    rgba(255, 185, 70, 0.85),
    rgba(248, 156, 28, 0.75)
  );

  box-shadow: 0 0 24px rgba(248, 156, 28, 0.45);

  border-color: rgba(255, 255, 255, 0.18);
}
.london {
  background: linear-gradient(
    135deg,
    rgba(245, 160, 95, 0.85),
    rgba(237, 115, 47, 0.75)
  );

  box-shadow: 0 0 24px rgba(237, 115, 47, 0.45);

  border-color: rgba(255, 255, 255, 0.18);
}

/* Positions (tweak if needed) */
/* ================================
   REGION BUTTON POSITIONS
   ================================ */

.north-east {
  top: 39%;
  left: 50%;
}

.north-west {
  top: 47%;
  left: 35%;
}

.yorkshire {
  top: 51%;
  left: 59%;
}

.midlands {
  top: 67%;
  left: 42%;
}

.south-west {
  top: 88%;
  left: 24%;
}

.london {
  top: 89%;
  left: 58%;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .region-btn {
    font-size: 12px;
    padding: 6px 10px;
  }
}
/* =========================
   IMAGE FADE-IN ON LOAD
   ========================= */

.fade-img {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: opacity, transform;
}

.fade-img.is-loaded {
  opacity: 1;
  transform: translateY(0);
}

/* Faster for logos */
.partner-logo img.fade-img {
  transition-duration: 0.35s;
}

/* =========================
   PAGE PRELOADER
   ========================= */

#page-preloader {
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}

body.has-preloader #page-preloader {
  opacity: 1;
  pointer-events: auto;
}

/* animation */
.preloader-bar {
  width: 120px;
  height: 2px;
  background: rgba(255,255,255,0.2);
  overflow: hidden;
  position: relative;
}

.preloader-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  animation: preload-slide 1.2s ease-in-out infinite;
}

@keyframes preload-slide {
  0%   { transform: translateX(-100%); }
  50%  { transform: translateX(0); }
  100% { transform: translateX(100%); }
}

/* hide smoothly */
body.loaded #page-preloader {
  opacity: 0;
  pointer-events: none;
}

.regions-map-wrapper svg path {
  transition: fill 0.25s ease;
                  cursor: pointer;
}
.regions-map-wrapper {
  position: relative;
}

#map-tooltip {
  position: absolute;
  background: #ff7a45;
  color: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -120%);
  transition: opacity 0.15s ease;
  z-index: 1000;
}

.regions-map-wrapper svg path {
  transition: fill 0.25s ease;
                  cursor: pointer;
}
.regions-map-wrapper {
  width: 100%;
  max-width: 592px;     /* optional: desktop cap */
  margin: 0 auto;
  position: relative;  /* required for tooltip */
}

.regions-map-wrapper svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Accessibility page layout fix */

.accessibility-spacer {
  height: 120px; /* pushes content below fixed header */
}

.accessibility-page h1,
.accessibility-page h2 {
  scroll-margin-top: 140px;
}

.accessibility-page a:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 3px;
}

/* =========================
   CONTACT – RESPONSIVE FIX
   ========================= */

/* Tablet + down */
@media (max-width: 1024px) {
  .contact-section {
    padding: 100px 0;
  }

  .contact-grid {
    gap: 50px;
  }

  .contact-left {
    max-width: 100%;
  }

  .contact-text {
    font-size: 24px;
    line-height: 1.3;
  }

  .contact-right {
    padding: 40px;
  }

  .contact-form-title {
    font-size: 32px;
  }

  .contact-form-subtitle {
    font-size: 16px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .contact-section {
    padding: 80px 0;
    background-position: center top;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .contact-left {
    text-align: left;
  }

  .contact-text {
    font-size: 20px;
    line-height: 1.35;
    margin-bottom: 10px;
  }

  .contact-right {
    padding: 30px 24px;
    border-radius: 14px;
  }

  .contact-form-title {
    font-size: 26px;
    letter-spacing: 0.08em;
  }

  .contact-form-subtitle {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* Small phones */
@media (max-width: 480px) {
  .contact-section {
    padding: 70px 0;
  }

  .contact-text {
    font-size: 18px;
  }

  .contact-right {
    padding: 26px 20px;
  }

  .contact-form-title {
    font-size: 22px;
  }

  /* CF7 input spacing fix */
  .wpcf7 input,
  .wpcf7 textarea {
    padding: 10px 0;
    font-size: 14px;
  }

  .wpcf7 input[type="submit"] {
    width: 100%;
    text-align: center;
    padding: 12px 0;
  }
}


.footer-socials a:last-child img {
    width: 30px;
    height: auto;
}

/* =========================
   APPLY PAGE (CF7) – MATCH DESIGN
   ========================= */

/* Full page background (keeps your header visible) */
.page-template-page-apply .site,
.page-template-page-apply body {
  background: #000;
}

/* Section center */
.apply-section {
  min-height: 100vh;

  background-color: #000000;
  /* space for header */
}

.r-1 {
    background-position: bottom left;
    background-repeat: no-repeat;
      display: flex;
  align-items: center;
  justify-content: center;
  background-size: contain;
}

.r-2 {
    padding: 50px 20px 0px;
}

/* Glass card */
.apply-card {
  width: min(820px, 92vw);
  background: rgba(54, 53, 53, 0.75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 18px;
  padding: 70px 80px 60px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.55);
}

/* Title */
.apply-title {
  text-align: center;
  color: #F26531;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 44px;
  margin-bottom: 50px;
}

/* CF7 only inside apply */
.page-template-page-apply .wpcf7 form {
  margin: 0;
}

.page-template-page-apply .wpcf7 p {
  margin: 0; /* CF7 adds p wrappers */
}

/* Two-column row */
.apply-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}

/* Labels */
.page-template-page-apply .wpcf7 label {
  display: block;
  color: rgba(255,255,255,0.55);
  font-size: 14px;
  letter-spacing: 0.02em;
  margin-bottom: 22px; /* controls vertical rhythm */
}

/* Inputs underline style */
.page-template-page-apply .wpcf7 input[type="text"],
.page-template-page-apply .wpcf7 input[type="email"],
.page-template-page-apply .wpcf7 input[type="tel"],
.page-template-page-apply .wpcf7 textarea {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 2px solid rgba(187,57,80,0.9);
  color: #fff;
  padding: 12px 0;
  outline: none;
  margin-top: 10px;  /* space between label text and line */
  margin-bottom: 6px;
}

/* Placeholder */
.page-template-page-apply .wpcf7 ::placeholder {
  color: rgba(255,255,255,0.35);
}

/* Submit center + gradient */
.page-template-page-apply .wpcf7 input[type="submit"] {
  display: block;
  margin: 34px auto 0;
  border: 0;
  background: linear-gradient(90deg, #c23b64, #a12b6a);
  color: #fff;
  padding: 12px 54px;
  border-radius: 8px;
                  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
}

.page-template-page-apply .wpcf7 input[type="submit"]:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

/* CF7 validation messages (optional clean) */
.page-template-page-apply .wpcf7-not-valid-tip {
  color: #ffb3c0;
  font-size: 12px;
  margin-top: 8px;
}

.page-template-page-apply .wpcf7-response-output {
  border: 0;
  color: #fff;
  margin-top: 18px;
}

/* Responsive */
@media (max-width: 768px) {
  .apply-card {
    padding: 50px 22px 44px;
  }

  .apply-title {
    font-size: 32px;
    margin-bottom: 34px;
  }

  .apply-grid-2 {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}


/* =========================
   NEWSLETTER / UPDATES – MOBILE RESPONSIVE PATCH
   ========================= */

/* Make sure nothing causes horizontal scroll */
.updates-intro-section,
.partners-logos-section,
.main-image-section,
.section-shape {
  overflow-x: hidden;
}

/* Intro spacing on mobile (currently big) */
@media (max-width: 768px) {
  .updates-blur-wrap {
    padding: 80px 0 70px;
    border-radius: 20px;
  }

  .updates-title {
    font-size: 26px;
    line-height: 1.05;
  }

  .updates-subtitle {
    font-size: 14px;
    line-height: 1.55;
    text-align: center; /* looks better in narrow width */
    max-width: 520px;
  }
}

/* Search bar tighter on small screens */
@media (max-width: 768px) {
  .updates-search-form {
    padding: 0 16px 60px;
    gap: 10px;
  }

  .updates-search-btn {
    padding: 13px 24px; /* was 64px */
    width: 100%;
    max-width: 420px;
  }

  .updates-search-input {
    width: 100%;
    max-width: 420px;
  }
}

/* Logo strip: adapt 7-cols to 2-cols / 1-col */
@media (max-width: 991px) {
  .partners-logos-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
  }
}

@media (max-width: 768px) {
  .partners-logos-section {
    margin-top: -40px; /* less aggressive pull-up */
  }

  .partners-logos-box {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .partners-logos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .partner-logo {
    max-height: 36px;
  }

  /* Don’t blow up the 7th logo too much on small screens */
  .partners-logos-grid .partner-logo-item:nth-child(7) img {
    transform: scale(1.15);
  }
}

@media (max-width: 420px) {
  .partners-logos-grid {
    grid-template-columns: 1fr;
  }

  .partner-logo {
    max-height: 40px;
  }
}

/* Full width image section safety */
.main-image-section img {
  width: 100%;
  height: auto;
  display: block;
}

/* Shape divider safety */
.section-shape img {
  display: block;
  width: 100%;
  height: auto;
}
/* Footer section titles (Home / Contact) */
.footer-menu-title,
.footer-contact-title {
    font-size: 14px;          /* smaller + cleaner */
    font-weight: 500;         /* less bold */
    letter-spacing: 0.04em;   /* subtle spacing */
    text-transform: uppercase;
    margin-bottom: 12px;
    color: #ffffff;
}

/* Optional: make them even lighter on large screens */
@media (min-width: 1200px) {
    .footer-menu-title,
    .footer-contact-title {
        font-size: 13px;
    }
}
.contact-icons {
    display: flex;
    gap: 14px;
    margin-top: 20px;
}

.contact-icons img {
    width: 24px;
    height: auto;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.contact-icons a:hover img {
    transform: translateY(-2px);
    opacity: 0.8;
}.contact-icons {
    display: flex;
    gap: 16px;
    margin-top: 20px;
}

.contact-icons img {
    width: 24px;
    height: auto;
}
.contact-icons {
    display: flex;
    gap: 16px;
    margin-top: 20px;
    align-items: center;
}

.contact-icon img {
    max-width: 40px;
    height: auto;
    display: block;
}
.contact-icon img {
    max-width: 40px;
    height: auto;
}

.contact-icon.icon-large img {
    max-width: 64px; /* 👈 bigger icon_4 */
}

#East\ of\ England:hover {
  fill: orange;
}
.partner-logo a {
  display: block;
  width: 100%;
  height: 100%;
}
