/*
Theme Name: Peace Value Advisory
Author: Peace Value Advisory
Version: 1.0.0
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
/* =========================
   RESET
========================= */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* =========================
   ROOT VARIABLES
========================= */
:root {
  /* COLORS */
  --primary: #03466E;
  --secondary: #9DAF89;
  --accent: #2AA8E2;
  --white: #FFFFFF;
  --black: #000000;
  --text-color: #03466E;
  --grey: #C2C2C2;
  --light-grey: #4D4D4D;	

  /* Backward-compatible aliases for existing theme styles */
  --broadwater-blue: var(--primary);
  --broadwater-blue-10: #033f63;
  --broadwater-blue-20: #023858;
  --broadwater-blue-30: #02314d;
  --broadwater-blue-40: #022a42;
  --broadwater-blue-50: #022337;
  --broadwater-blue-60: #011c2c;
  --broadwater-blue-70: #011521;
  --broadwater-blue-80: #010e16;
  --broadwater-blue-90: #00070b;
  --venetian-glass: var(--secondary);
  --huelveno-horizon: var(--accent);

  /* SEMANTIC COLOR TOKENS */
  --color-link: #2286b5;           /* mid-blue used for accents & links */
  --color-heading: var(--broadwater-blue-50); /* #022337 dark headline blue */
  --color-text-body: #4d4d4d;      /* body copy grey */
  --fin-section-bg: #e6edf1;       /* financial section background */

  /* CARD TOKENS */
  --card-bg: rgba(255, 255, 255, 0.32);
  --card-border: 1px solid var(--white);
  --card-radius: 16px;
  --card-radius-lg: 20px;
  --card-padding: 24px;

  /* Soft surfaces & illustrated cards (stages, diagrams) */
  --surface-border-subtle: #edf2f7;
  --surface-border-accent-soft: #d7eaf6;
  --color-accent-strong: #3b9fd4;
  --color-focus-ring-accent: rgba(59, 159, 212, 0.12);
  --color-text-slate: #445b6c;
  --color-accent-tint: #7fcaef;

  /* Specialist block — soft panel cards */
  --specialist-card-surface: #f0f5f8;
  --specialist-card-border: #d4eef9;
  --specialist-card-sheen: linear-gradient(145deg, rgba(255, 255, 255, 0.6) 0%, rgba(220, 235, 242, 0.4) 100%);
  --specialist-tag-border: #aadcf3;
  --card-radius-xl: 28px;

  /* TESTIMONIAL NAV TOKENS */
  --nav-btn-prev-bg: #cddae2;
  --nav-btn-next-bg: #b3c8d4;

  /* FONTS */
  --font-body: "DM Sans", sans-serif;
  --font-display: "Playfair Display", serif;

  /* LETTER SPACING */
  --ls-sm: 0.01em;
  --ls-md: 0.02em;

  /* FLUID TYPOGRAPHY */
  --text-6xl: 700 clamp(46px, 5vw, 62px) / 1.1 var(--font-display);
  --text-stat-number: 600 clamp(38px, 4.5vw, 60px) / 1 var(--font-display);
  --text-5xl: 600 clamp(34px, 4.2vw, 51px) / 1.1 var(--font-display);
  --text-4xl: 600 clamp(28px, 3.7vw, 44px) / 1.2 var(--font-display);
  --text-3xl: 500 clamp(24px, 2.8vw, 32px) / 1.2 var(--font-display);
  --text-2xl: 600 clamp(20px, 2.2vw, 26px) / 1.3 var(--font-body);
  --text-xl: 500 clamp(18px, 2vw, 22px) / 1.4 var(--font-body);
  /* Display card titles — peaks at 24px (e.g. specialist cards) */
  --text-card-title: 600 clamp(20px, 2.5vw, 24px) / 1.2 var(--font-display);
  --text-lg: 300 clamp(16px, 1.6vw, 18px) / 1.6 var(--font-body);
  --text-md: 400 clamp(15px, 1.4vw, 16px) / 1.6 var(--font-body);
  --text-sm: 400 clamp(13px, 1.2vw, 14px) / 1.5 var(--font-body);
  --text-xs: 400 clamp(12px, 1vw, 12px) / 1.5 var(--font-body);

  /* BUTTON */
  --btn-padding: 14px 24px;
  --btn-radius: 60px;
  --btn-gap: 8px;
  /* Pill outline hover (light surface, dark border + text) */
  --btn-hover-bg: #f8fafd;
  --btn-hover-border: #1d2e35;
  --btn-hover-fg: #1d2e35;
  /* White PNG in .btn-arrow → ~--color-link blue on .btn:hover (tweak filter if asset changes) */
  --btn-arrow-img-hover-filter: brightness(0) saturate(100%) invert(10%) sepia(38%) saturate(1458%) hue-rotate(169deg) brightness(95%) contrast(103%);
}

/* =========================
   BASE
========================= */
body {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-color);
  background: var(--white);
}

/* =========================
   HEADINGS
========================= */
h1, .h1, .text-6xl {
  font: var(--text-6xl);
}

h2, .h2, .text-5xl {
  font: var(--text-5xl);
  letter-spacing: var(--ls-sm);
}

h3, .h3, .text-4xl {
  font: var(--text-4xl);
}

h4, .h4, .text-3xl {
  font: var(--text-3xl);
}

h5, .h5, .text-2xl {
  font: var(--text-2xl);
}

/* =========================
   TEXT
========================= */
p {
  font: var(--text-lg);
}

.text-xl { font: var(--text-xl); }
.text-stat-number { font: var(--text-stat-number); }
.text-card-title { font: var(--text-card-title); }
.text-lg { font: var(--text-lg); }
.text-md { font: var(--text-md); }
.text-sm { font: var(--text-sm); }
.text-xs { font: var(--text-xs); }

/* =========================
   LAYOUT
========================= */
.container {
  max-width: 1240px;
  margin: 0 auto;
  width: 100%;
}

.row {
  display: flex;
  flex-wrap: wrap;
}

.df { display: flex; }
.jscb { justify-content: space-between; }
.alc { align-items: center; }
.left { text-align: left; }
.right { text-align: right; }

/* =========================
   SPACING
========================= */
.pt-large { padding-top: 110px; }
.pb-large { padding-bottom: 110px; }
.pt-medium { padding-top: 60px; }
.pb-medium { padding-bottom: 60px; }

@media (max-width: 767px) {
  .pt-large,
  .pb-large {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

/* GLOBAL BUTTON */
button, .btn, .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--btn-gap);
  padding: var(--btn-padding);
  border-radius: var(--btn-radius);
  background: var(--primary);
  color: var(--white);
  font: var(--text-lg);
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
  font-weight: 500;
}

.btn-medium {
  padding: 14px 24px;
  gap: 15px;
}

.btn:hover { background: var(--btn-hover-bg); border-color: var(--btn-hover-border); color: var(--btn-hover-fg); }
.btn:hover .btn-arrow path { stroke: var(--btn-hover-fg); }
.btn-accent { background: #3fb1e5; color: var(--color-heading); }
.btn-accent:hover { background: var(--btn-hover-bg); border-color: #3FB1E5; color: var(--btn-hover-fg); }
.btn-arrow { width: 24px; height: 24px; flex-shrink: 0; }
.btn-arrow svg { width: 100%; height: 100%; }
.btn-arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: filter 0.3s ease;
}

.btn:hover .btn-arrow img {
  filter: var(--btn-arrow-img-hover-filter);
}

.btn:hover svg {
  color: var(--btn-hover-fg);
}

.btn:hover svg path {
  fill: var(--btn-hover-fg);
}

/* =========================
  Header
========================= */
.site-header {
  padding: 20px 0 0;
	background: linear-gradient(180deg, #ECF3FE 0%, #FFFFFF00 100%);
}

.site-header nav .container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--white);
  border-radius: 24px;
  border-bottom: 4px solid var(--huelveno-horizon);
  padding: 16px 24px;
}

.site-header .logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.site-header .logo img {
  display: block;
  width: 100%;
  max-width: 244px;
  height: auto;
}

.site-header .nav-links {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
}

.site-header .nav-link {
	position: relative;
	z-index: 1;
	padding: 0;
	border-radius: 60px;
	transition: color 0.3s ease;
}

.site-header .nav-link::before {
	content: "";
	position: absolute;
	inset: -14px -24px;
	background: #F5F7F3;
	border-radius: 60px;
	opacity: 0;
	z-index: -1;
	transition: opacity 0.3s ease;
}

.site-header .nav-link:hover::before,
.site-header .nav-link:focus::before,
.site-header .nav-link.active::before,
.site-header .nav-item.is-open > .nav-link::before {
	opacity: 1;
}

@media (hover: hover) {
	.site-header .nav-item:hover > .nav-link::before {
		opacity: 1;
	}
}

.site-header .nav-item {
  position: relative;
}


.site-header .nav-mobile-cta {
  display: none;
}

.site-header .nav-link {
  font: var(--text-md);
	font-weight: 500;
  color: #0d0d0d;
  text-decoration: none;
}

.site-header .nav-right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.site-header .nav-right .btn {
  --btn-gap: 10px;
  --btn-padding: 12px 24px;
  --btn-radius: 999px;
/*   background: var(--broadwater-blue);
  color: var(--white); */
}

.site-header .nav-right .btn svg {
  width: 14px;
  height: 14px;
}

.site-header .nav-right .btn svg path {
  fill: var(--white);
}

.site-header .nav-right .btn:hover svg path {
  fill: var(--btn-hover-fg);
}

.site-header .hamburger {
  display: none;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.site-header .hamburger span {
  position: absolute;
  right: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0d0d0d;
  transition: all 0.28s ease;
}

.site-header .hamburger span:nth-child(1) { top: 7px; }
.site-header .hamburger span:nth-child(2) { top: 14px; }
.site-header .hamburger span:nth-child(3) { top: 21px; }

.site-header .has-dropdown > .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: inherit;
}

.site-header .nav-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-link);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header .nav-item.is-open > .nav-link .nav-chevron {
  transform: rotate(180deg);
}

@media (hover: hover) {
  .site-header .nav-item:hover > .nav-link .nav-chevron {
    transform: rotate(180deg);
  }
}

.site-header .dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  min-width: 240px;
  margin: 0;
  padding: 8px;
  list-style: none;
  background: #EAF6FC;
  border: 1px solid #eaf6fc;
  border-radius: 16px;
  box-shadow: 0 5px 0px rgba(1, 5, 5, 0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(8px);
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.25s ease, transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1001;
}

.site-header .dropdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-header .dropdown-item {
  margin: 0;
}

@media (min-width: 981px) {
  .site-header .dropdown {
    top: calc(100% + 22px);
    padding: 10px;
    border: 1px solid #EAF6FC;
  }

  .site-header .dropdown::before,
  .site-header .dropdown::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    pointer-events: none;
  }

  /* Border behind the caret — matches .svc-card */
  .site-header .dropdown::after {
    top: -9px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 9px solid #bfe5f6;
  }

  /* White caret pointing up to the parent link */
  .site-header .dropdown::before {
    top: -8px;
    z-index: 1;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 15px solid #EAF6FC;
  }

  .site-header .dropdown-link {
    display: block;
    padding: 12px 16px;
    border-radius: 10px;
    font: 500 15px/1.4 var(--font-body);
    color: #0d0d0d;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .site-header .dropdown-link:hover,
  .site-header .dropdown-link:focus,
  .site-header .dropdown-link.active {
    background: #f5f7f3;
  }

  .site-header .dropdown .nav-link::before {
    display: none;
  }
}

@media (min-width: 981px) {
  .site-header .nav-item.is-open > .dropdown,
  .site-header .nav-item:hover > .dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }
}

@media (max-width: 1100px){
	.site-header{
		padding-left: 5px;
        padding-right: 5px;
	}
}

@media (max-width: 1200px) {
  .site-header .nav-links {
    gap: 36px;
  }

  .site-header .nav-link {
    font-size: 16px;
  }
}

/* REPLACE this entire block in @media (max-width: 980px) */

@media (max-width: 980px) {
  .site-header {
    padding: 16px 16px 0;  /* reduced top padding */
  }

  .site-header nav .container {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding-top: 16px;
    padding-bottom: 16px;
    border-radius: 24px;       /* full pill/rounded rect — same all sides */
    overflow: hidden;           /* was 'visible' — that caused the extra space */
  }

  .site-header .logo img {
    max-width: 220px;
  }

  .site-header .logo {
    order: 1;
  }

  /* ---- Hamburger: 3 horizontal dots (···) like screenshot 2 ---- */
  .site-header .hamburger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-left: auto;
    z-index: 1002;
    order: 2;
    width: auto;
    height: 34px;
    padding: 0 4px;
    border: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
  }

  .site-header .hamburger span {
    position: static;          /* remove absolute positioning */
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0d0d0d;
    transition: all 0.28s ease;
    top: auto;
  }

  /* Open state: morph dots into an X using lines */
  body.menu-open .site-header .hamburger {
    gap: 0;
    position: absolute;
    top: 20px;
    right: 20px;
  }

  body.menu-open .site-header .hamburger span {
    position: absolute;
    width: 22px;
    height: 2px;
    border-radius: 10px;
    right: 0;
    top: 16px;
  }

  body.menu-open .site-header .hamburger span:nth-child(1) {
    transform: rotate(45deg);
    background: #111;
  }

  body.menu-open .site-header .hamburger span:nth-child(2) {
    opacity: 0;
  }

  body.menu-open .site-header .hamburger span:nth-child(3) {
    transform: rotate(-45deg);
    background: #111;
  }

  .site-header .nav-right {
    display: none;
  }

  .site-header .nav-mobile-cta {
    display: block;
    margin-top: 0;
    width: 100%;
  }

  .site-header .nav-mobile-cta .mobile-menu-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border-radius: 999px;
    background: var(--broadwater-blue);
    color: var(--white);
    font: 500 16px/1 var(--font-body);
    text-decoration: none;
  }

  .site-header .nav-links > .nav-item:last-child {
    margin-top: 8px;
  }

  .site-header .nav-links {
    order: 3;
    width: 100%;
    margin: 0;
    position: static;
    z-index: 1000;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 28px;
    background: transparent;
    border-radius: 0;
    border-bottom: 0;
    padding: 0 24px;
    max-height: 0;
    transform: translateY(10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.28s ease;
    overflow: hidden;
  }

  body.menu-open .site-header .nav-links {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    padding: 28px 24px 20px;
    max-height: min(680px, calc(100vh - 120px));
    overflow-y: auto;
    overflow-x: clip;
  }

  body.menu-open .site-header nav .container {
    overflow: visible;
  }

  .site-header .nav-link {
    font: 500 16px/1.2 var(--font-body);
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: 100%;
  }

  .site-header .nav-links > .nav-item {
    width: auto;
    max-width: 100%;
  }

  .site-header .has-dropdown > .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: auto;
    max-width: 100%;
  }

  .site-header .nav-item.has-dropdown {
    width: 100%;
    max-width: 100%;
  }

  .site-header .nav-item .dropdown {
    display: grid;
    grid-template-rows: 0fr;
    width: 100%;
    max-width: 100%;
    align-items: start;
    position: static;
    left: auto;
    margin-top: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transform: none;
    overflow: hidden;
    transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .site-header .dropdown-inner {
    overflow-x: visible;
    overflow-y: hidden;
    min-height: 0;
    width: 100%;
  }

  .site-header .dropdown-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    padding: 0 0 0 12px;
    box-sizing: border-box;
  }

  .site-header .nav-item.is-open > .dropdown {
    grid-template-rows: 1fr;
    margin-top: 20px;
    pointer-events: auto;
    overflow: visible;
  }

  .site-header .nav-item.is-open > .dropdown .dropdown-inner {
    overflow: visible;
  }

  .site-header .dropdown-item {
    width: 100%;
    max-width: none;
  }

  .site-header .dropdown .dropdown-link {
    display: inline-block;
    width: auto;
    max-width: none;
    padding: 0;
    text-decoration: none;
    white-space: normal;
    overflow: visible;
  }

  .site-header .dropdown .dropdown-link:hover,
  .site-header .dropdown .dropdown-link:focus,
  .site-header .dropdown .dropdown-link.active {
    background: transparent;
    color: var(--primary);
  }

  body.menu-open .site-header .nav-right {
    display: none;
  }
}

@media (max-width: 580px) {
	.site-header {
    padding: 12px 12px 0;
  }
	
  .site-header nav .container {
    border-radius: 24px;
    padding-top: 16px;
    padding-bottom: 16px;
	  overflow: hidden;
  }

  .site-header .logo img {
    max-width: 180px;
  }

  .site-header .nav-links {
    gap: 24px;
    padding: 0 20px;
    max-height: 0;
  }

  .site-header .nav-link {
    font-size: 16px;
  }

  body.menu-open .site-header .nav-links {
    padding: 24px 20px 18px;
    max-height: min(640px, calc(100vh - 90px));
    border-radius: 0;
    overflow-y: auto;
    overflow-x: clip;
  }

  body.menu-open .site-header nav .container {
    overflow: visible;
  }

  .site-header .nav-mobile-cta .mobile-menu-cta {
    padding: 12px 22px;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.site-header .nav-mobile-cta .mobile-menu-cta img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}
}

/* =========================
  Footer
========================= */
.site-footer {
  background: #011C2C;
  color: #c7d5e2;
  padding: 70px 20px;
}

.pva-footer {
  max-width: 100%;
}

.pva-footer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}

.pva-footer:not(:has(.pva-footer__brand)) .pva-footer__header {
  justify-content: flex-end;
}

.pva-footer__brand {
  margin-bottom: 0;
  flex-shrink: 0;
}

.pva-footer__logo {
  display: inline-flex;
  align-items: center;
}

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

.pva-footer__divider {
  border-top: 1px solid rgba(175, 204, 227, 0.25);
  margin-bottom: 32px;
}

.pva-footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.pva-footer__contact-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pva-footer__contact-item {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #FFFFFF;
  text-decoration: none;
  font: 400 18px/1.4 var(--font-body);
}

.pva-footer__contact-item img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.pva-footer__contact-item span {
  display: inline-block;
}

.pva-footer__business-meta {
  min-width: 310px;
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: var(--white);
  font: 400 18px/1.4 var(--font-body);
}

.pva-footer__nav-bar {
  margin-top: 32px;
  background: #022A42;
  border-radius: 999px;
  padding: 30px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.pva-footer__nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.pva-footer__nav a {
  color: #e8f2fb;
  text-decoration: none;
  font: 500 16px/1.2 var(--font-body);
}

.pva-footer__nav a:hover{
	color: var(--accent);
}

.pva-footer__social {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #eff6fb;
  font: 500 16px/1.2 var(--font-body);
  white-space: nowrap;
}

.pva-footer__social-icon {
  color: #f4f8fc;
  text-decoration: none;
  font: 600 16px/1 var(--font-body);
  line-height: 1;
}

.pva-footer__bottom {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.pva-footer__bottom p {
  color: var(--grey);
  font: 400 16px/1.4 var(--font-body);
}

.pva-footer__credit-text {
  flex: 0 0 100%;
  color: var(--grey);
  font: 400 16px/1.4 var(--font-body);
}

.pva-footer__credit-text p {
  margin: 0;
  color: inherit;
  font: inherit;
  text-align: right;
}

.pva-footer__credit-text a {
  color: inherit;
  text-decoration: none;
	text-align: right;
}

.pva-footer__credit-text a:hover {
  color: var(--accent);
}

.pva-footer__legal-links {
  display: flex;
  align-items: center;
  gap: 22px;
}

.pva-footer__legal-links a {
  color: var(--grey);
  text-decoration: none;
  font: 400 16px/1.2 var(--font-body);
}

.pva-footer__legal-links a:hover{
	color: var(--accent);
}

.pva-footer__social {
    display: flex;
    align-items: center;
    gap: 20px;
}

.pva-footer__social span {
    position: relative;
    padding-right: 20px;
    font-size: 18px;
    line-height: 1;
}

/* Vertical Divider */
.pva-footer__social span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 32px;
    background-color: rgba(255, 255, 255, 0.3);
}

.pva-footer__social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pva-footer__social-icon img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.pva-footer__accreditations {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-left: auto;
}

.pva-footer__accreditation-item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 10px;
  padding: 5px;
  min-height: 65px;
  flex-shrink: 0;
}

.pva-footer__accreditation-link {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  text-decoration: none;
}

.pva-footer__accreditation-item img {
  display: block;
  width: auto;
  height: auto;
  max-height: 70px;
  max-width: 125px;
  object-fit: contain;
}

@media (max-width: 980px) {
  .site-footer {
    padding: 60px 20px;
  }

  .pva-footer__top {
    flex-direction: column;
	margin-top: 24px;
  }

  .pva-footer__business-meta {
    min-width: 0;
    text-align: left;
    font-size: 18px;
  }

  .pva-footer__nav-bar {
    border-radius: 24px;
    flex-direction: column;
    align-items: flex-start;
    padding: 18px 20px;
  }

  .pva-footer__social {
    font-size: 16px;
  }

  .pva-footer__social-icon {
    font-size: 16px;
  }

  .pva-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .pva-footer__accreditation-item {
    padding: 9px 12px;
    min-height: 58px;
  }

  .pva-footer__accreditation-item img {
    max-height: 46px;
    max-width: 110px;
  }
}

@media (max-width: 580px) {
  .site-footer {
    padding: 60px 20px 10px;
  }

  .pva-footer {
    display: flex;
    flex-direction: column;
  }

  .pva-footer__header {
    display: contents;
    margin-bottom: 0;
  }

  .pva-footer__brand {
    order: 0;
    margin-bottom: 14px;
  }

  .pva-footer__divider {
    order: 1;
    margin-bottom: 14px;
  }

  .pva-footer__top {
    order: 2;
  }

  .pva-footer__nav-bar {
    order: 3;
  }

  .pva-footer__accreditations {
    order: 4;
    margin-top: 24px;
    margin-left: 0;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
  }

  .pva-footer__bottom {
    order: 5;
  }

  .pva-footer__contact-list {
    gap: 24px;
  }

  .pva-footer__contact-item {
    line-height: 1.35;
    gap: 10px;
  }

  .pva-footer__contact-item img {
    width: 26px;
    height: 26px;
  }

  .pva-footer__business-meta {
    font-size: 14px;
    line-height: 1.3;
    gap: 24px;
  }

  .pva-footer__nav-bar {
    margin-top: 24px;
    border-radius: 20px;
    padding: 14px 14px;
    gap: 20px;
  }

  .pva-footer__nav {
    gap: 14px;
  }

  .pva-footer__social {
    font-size: 14px;
    gap: 10px;
  }

  .pva-footer__social-icon {
    font-size: 16px;
  }

  .pva-footer__bottom {
    margin-top: 24px;
    gap: 16px;
	align-items: center;
  }

  .pva-footer__bottom p {
		text-align: center;
	}

  .pva-footer__credit-text {
    text-align: center;
  }

  .pva-footer__legal-links {
    gap: 12px;
  }

  .pva-footer__accreditation-item {
    flex: 1 1 calc(33.333% - 8px);
    min-width: 96px;
    max-width: calc(50% - 6px);
    padding: 9px 12px;
    min-height: 58px;
    border-radius: 8px;
  }

  .pva-footer__accreditation-item img {
    max-height: 44px;
    max-width: 100%;
  }
}

.wpcf7-response-output {display: none;}