@font-face {
  font-family: "Almaarefa";
  src: url("../../fonts/almaarefaRegular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Almaarefa";
  src: url("../../fonts/almaarefaBold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}

.policies-page {
  --policies-teal: #318ca0;
  --policies-dark: #073746;
  --policies-gold: #cda44f;
  --policies-red: #ff5c61;
  --policies-line: #e7e7e7;
  --policies-panel: #fdfdfd;
  color: var(--policies-dark);
  background: #f8f8f8;
  font-family:var(--type-font);
}

.policies-page button,
.policies-page input,
.policies-page textarea {
  font-family: inherit;
}

.policies-main {
  position: relative;
  min-height: 1050px;
  overflow: hidden;
  padding: 66px 0 92px;
}

.policies-dots {
  position: absolute;
  z-index: 0;
  top: 240px;
  right: -8px;
  width: 75px;
  height: 75px;
  background-image: radial-gradient(circle, var(--policies-gold) 2px, transparent 2.7px);
  background-size: 15px 15px;
}

.policies-triangles {
  position: absolute;
  z-index: 0;
  left: -38px;
  bottom: 20px;
  width: 235px;
  height: 690px;
  opacity: .68;
  background: url("../../images/triangles-decoration.png") repeat-y left bottom / 225px auto;
  transform: scaleX(-1);
}

.policies-card {
  position: relative;
  z-index: 1;
  width: min(100% - 40px, 940px);
  padding: 72px 66px 64px;
  border: 1px solid rgba(7, 55, 70, .06);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 3px 8px rgba(7, 55, 70, .13);
}

.policies-heading {
  margin-bottom: 34px;
  text-align: center;
}

.policies-heading h1 {
  margin: 0 0 14px;
  color: var(--policies-teal);

  font-weight:var(--type-weight-bold);


  font-size:var(--type-page-title);
  line-height:var(--leading-heading);
  }

.policies-heading p {
  max-width: 720px;
  margin: 0 auto;
  color: var(--policies-red);
  font-size:var(--type-body-small);
  line-height:var(--leading-small);

  }

.policies-accordion {
  display: grid;
  gap: 34px;
}

.policy-item {
  overflow: hidden;
  border-radius: 11px;
  background: #fff;
}

.policy-toggle {
  width: 100%;
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 24px;
  border: 1px solid #e2e2e2;
  border-radius: 11px;
  color: #393939;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .06);
  cursor: pointer;
  text-align: right;
}

.policy-toggle span {
  font-size:var(--type-card-title-sm);
  font-weight:var(--type-weight-bold);
  line-height:var(--leading-card);

  }

.policy-toggle svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: #888;
  transition: transform .28s ease, color .28s ease;
}

.policy-item.is-open .policy-toggle svg {
  transform: rotate(180deg);
  color: var(--policies-teal);
}

.policy-panel {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  background: var(--policies-panel);
  transition: max-height .45s ease, opacity .28s ease;
}

.policy-item.is-open .policy-panel {
  opacity: 1;
}

.policy-panel-inner {
  padding: 30px 42px 34px;
  color: #444;
  font-size:var(--type-body-small);
  line-height:var(--leading-body);

  }

.policy-panel-inner ul {
  margin: 0;
  padding-right: 22px;


  }

.policy-panel-inner li {
  margin-bottom: 3px;


  }

.policy-panel-inner li::marker {
  color: #3a3a3a;


  }

.policy-numbered {
  display: grid;
  gap: 20px;
}

.policy-numbered section {
  margin: 0;
}

.policy-numbered h2 {
  margin: 0 0 4px;
  color: #343434;

  font-weight:var(--type-weight-bold);

  font-size:var(--type-card-title);
  line-height:var(--leading-card);
  }

@media (max-width: 820px) {
  .policies-main {
    padding: 42px 0 72px;
  }

  .policies-card {
    width: min(100% - 26px, 940px);
    padding: 48px 28px;
  }

  .policies-heading h1 {
    font-size:var(--type-page-title);

  line-height:var(--leading-heading);
  }

  .policy-toggle span {
    font-size:var(--type-card-title-sm);

  line-height:var(--leading-card);
  }

  .policy-panel-inner {
    padding: 26px 26px 30px;
    font-size:var(--type-body-small);

  line-height:var(--leading-body);
  }
}

@media (max-width: 560px) {
  .policies-card {
    padding: 38px 15px;
  }

  .policies-heading {
    margin-bottom: 28px;
  }

  .policies-heading h1 {
    font-size:var(--type-page-title);

  line-height:var(--leading-heading);
  }

  .policies-heading p {
    font-size:var(--type-body-small);

  line-height:var(--leading-small);
  }

  .policies-accordion {
    gap: 22px;
  }

  .policy-toggle {
    min-height: 58px;
    padding: 13px 16px;
  }

  .policy-toggle span {
    font-size:var(--type-card-title-sm);

  line-height:var(--leading-card);
  }

  .policy-toggle svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }

  .policy-panel-inner {
    padding: 22px 18px 26px;
    font-size:var(--type-body-small);
    line-height:var(--leading-body);

  }

  .policy-numbered h2 {
    font-size:var(--type-card-title);

  line-height:var(--leading-card);
  }

  .policies-dots {
    display: none;
  }
}

/* Revision 2 — visible full header/footer and all accordions closed initially. */
.policies-page .site-header.program-white-header {
  position: relative !important;
  inset: auto !important;
  z-index: 50 !important;
  display: block !important;
  background: #ffffff !important;
  color: #022d38 !important;
  box-shadow: 0 1px 0 rgba(2, 45, 56, .08) !important;
}

.policies-page .site-header.program-white-header .header-inner {
  min-height: 96px;
}

.policies-page .site-header.program-white-header .desktop-nav a {
  color: #264c56 !important;
}

.policies-page .site-header.program-white-header .account-button {
  color: #ffffff !important;
  background: #2b8ba0 !important;
}

.policies-page .site-footer {
  display: block !important;
  position: relative;
  z-index: 3;
  width: 100%;
  background: #ffffff;
  border-top: 1px solid rgba(2, 45, 56, .07);
}

.policies-main {
  min-height: 680px;
}

.policy-panel {
  max-height: 0;
  opacity: 0;
}

.policy-item:not(.is-open) .policy-panel {
  max-height: 0 !important;
  opacity: 0 !important;
}

@media (max-width: 720px) {
  .policies-page .site-header.program-white-header .header-inner {
    min-height: 76px;
  }

  .policies-main {
    min-height: 560px;
  }
}

/* Revision 3 — zoomed-out policies content while keeping header and footer unchanged. */
.policies-main {
  min-height: 600px;
  padding: 46px 0 68px;
}

.policies-card {
  width: min(100% - 44px, 820px);
  padding: 48px 48px 46px;
  border-radius: 10px;
}

.policies-heading {
  margin-bottom: 25px;
}

.policies-heading h1 {
  margin-bottom: 10px;
  font-size:var(--type-page-title);
  line-height:var(--leading-heading);

  }

.policies-heading p {
  max-width: 640px;
  font-size:var(--type-body-small);
  line-height:var(--leading-small);

  }

.policies-accordion {
  gap: 22px;
}

.policy-item {
  border-radius: 9px;
}

.policy-toggle {
  min-height: 53px;
  gap: 14px;
  padding: 11px 18px;
  border-radius: 9px;
}

.policy-toggle span {
  font-size:var(--type-card-title-sm);
  line-height:var(--leading-card);

  }

.policy-toggle svg {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
}

.policy-panel-inner {
  padding: 22px 30px 25px;
  font-size:var(--type-body-small);
  line-height:var(--leading-body);

  }

.policy-panel-inner ul {
  padding-right: 19px;


  }

.policy-panel-inner li {
  margin-bottom: 2px;


  }

.policy-numbered {
  gap: 14px;
}

.policy-numbered h2 {
  margin-bottom: 3px;
  font-size:var(--type-card-title);

  line-height:var(--leading-card);
  }

.policies-dots {
  top: 190px;
  width: 62px;
  height: 62px;
  background-size: 13px 13px;
}

.policies-triangles {
  width: 190px;
  height: 560px;
  background-size: 185px auto;
}

@media (max-width: 820px) {
  .policies-main {
    padding: 34px 0 56px;
  }

  .policies-card {
    width: min(100% - 26px, 820px);
    padding: 38px 24px;
  }

  .policies-heading h1 {
    font-size:var(--type-page-title);

  line-height:var(--leading-heading);
  }

  .policies-heading p {
    font-size:var(--type-body-small);

  line-height:var(--leading-small);
  }

  .policy-toggle span {
    font-size:var(--type-card-title-sm);

  line-height:var(--leading-card);
  }

  .policy-panel-inner {
    padding: 21px 22px 24px;
    font-size:var(--type-body-small);

  line-height:var(--leading-body);
  }
}

@media (max-width: 560px) {
  .policies-main {
    padding: 25px 0 42px;
  }

  .policies-card {
    width: min(100% - 18px, 820px);
    padding: 30px 12px;
  }

  .policies-heading {
    margin-bottom: 21px;
  }

  .policies-heading h1 {
    font-size:var(--type-page-title);

  line-height:var(--leading-heading);
  }

  .policies-heading p {
    font-size:var(--type-body-small);

  line-height:var(--leading-small);
  }

  .policies-accordion {
    gap: 17px;
  }

  .policy-toggle {
    min-height: 49px;
    padding: 10px 13px;
  }

  .policy-toggle span {
    font-size:var(--type-card-title-sm);

  line-height:var(--leading-card);
  }

  .policy-toggle svg {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }

  .policy-panel-inner {
    padding: 18px 14px 21px;
    font-size:var(--type-body-small);
    line-height:var(--leading-body);

  }

  .policy-numbered h2 {
    font-size:var(--type-card-title);

  line-height:var(--leading-card);
  }
}
