/*
 * Purtle.com Barrio — Homepage Foundation V1
 *
 * Clean implementation of only the presentation primitives currently
 * required by front-page node 98.
 *
 * No Drupalet theme.css.
 * No Nuur plugin bundle.
 * No Google Fonts.
 * No Swiper dependency.
 */

/* --------------------------------------------------------------------------
   Front-page baseline
   -------------------------------------------------------------------------- */

body.page-node-98 .purtle-main__content,
body.path-frontpage .purtle-main__content {
  width: 100%;
  overflow: hidden;
}

body.page-node-98 .node__content,
body.path-frontpage .node__content {
  margin: 0;
}

/* --------------------------------------------------------------------------
   Section spacing primitives used by current Purtle content
   -------------------------------------------------------------------------- */

body.page-node-98 .section-spacing-xl,
body.path-frontpage .section-spacing-xl {
  position: relative;
  padding-block: 96px;
}

body.page-node-98 .section-spacing-lg,
body.path-frontpage .section-spacing-lg {
  position: relative;
  padding-block: 88px;
}

body.page-node-98 .section-spacing,
body.path-frontpage .section-spacing {
  position: relative;
  padding-block: 72px;
}

body.page-node-98 .section-spacing-sm,
body.path-frontpage .section-spacing-sm {
  position: relative;
  padding-block: 56px;
}

body.page-node-98 .section-spacing-xs,
body.path-frontpage .section-spacing-xs {
  position: relative;
  padding-block: 48px;
}

/* --------------------------------------------------------------------------
   Hero video
   -------------------------------------------------------------------------- */

body.page-node-98 .section-spacing-xl.bg-black-50,
body.path-frontpage .section-spacing-xl.bg-black-50 {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: clamp(520px, 68vh, 760px);
  overflow: hidden;
  color: var(--purtle-warm-ivory);
  background: var(--purtle-near-black);
}

body.page-node-98 .section-spacing-xl.bg-black-50::before,
body.path-frontpage .section-spacing-xl.bg-black-50::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(17, 17, 19, 0.47),
      rgba(17, 17, 19, 0.60)
    );
}

body.page-node-98 .bg-video,
body.path-frontpage .bg-video {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body.page-node-98 .bg-video video,
body.path-frontpage .bg-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.page-node-98
  .section-spacing-xl.bg-black-50
  .container,
body.path-frontpage
  .section-spacing-xl.bg-black-50
  .container {
  position: relative;
  z-index: 1;
}

body.page-node-98
  .section-spacing-xl.bg-black-50
  h1,
body.path-frontpage
  .section-spacing-xl.bg-black-50
  h1 {
  max-width: 1000px;
  margin-inline: auto;
  color: var(--purtle-warm-ivory);
  font-size: clamp(2.45rem, 1.95rem + 1.7vw, 3.6rem);
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: -0.018em;
}

body.page-node-98
  .section-spacing-xl.bg-black-50
  .lead,
body.path-frontpage
  .section-spacing-xl.bg-black-50
  .lead {
  max-width: 760px;
  margin-inline: auto;
  color: rgba(250, 248, 242, 0.88);
  font-size: clamp(1.05rem, 0.95rem + 0.35vw, 1.3rem);
}

/* --------------------------------------------------------------------------
   Three primary pathways
   -------------------------------------------------------------------------- */

.purtle-pathways-section {
  padding-block: clamp(1.75rem, 3vw, 3rem);
  background: #ffffff;
}

.purtle-pathways-section .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

.purtle-pathways-section .col-sm-4 {
  display: flex;
}

.purtle-pathways-section .paragraph--type--paragraph-content,
.purtle-pathways-section
  .field--name-field-paragraph-content,
.purtle-pathways-section
  .field--name-field-paragraph-content
  > .field__item {
  width: 100%;
}

.purtle-pathway-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 19, 0.12);
  border-radius: 0.75rem;
  background: var(--purtle-warm-ivory);
  color: var(--purtle-near-black);
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(17, 17, 19, 0.06);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.purtle-pathway-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 220ms ease;
}

.purtle-pathway-card__body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.7rem;
  padding: clamp(1.2rem, 2vw, 1.6rem)
    clamp(1.2rem, 2vw, 1.7rem)
    clamp(1.4rem, 2.2vw, 1.8rem);
}

.purtle-pathway-card__body::after {
  content: "→";
  margin-top: auto;
  padding-top: 0.45rem;
  color: var(--purtle-interaction-gold);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

.purtle-pathway-card__title {
  margin: 0;
  color: var(--purtle-near-black);
  font-size: clamp(1.25rem, 1.05rem + 0.45vw, 1.55rem);
  font-weight: 650;
  line-height: 1.15;
}

.purtle-pathway-card__summary {
  margin: 0;
  color: rgba(17, 17, 19, 0.72);
  line-height: 1.6;
}

.purtle-pathway-card:hover,
.purtle-pathway-card:focus-visible {
  border-color: var(--purtle-interaction-gold);
  color: var(--purtle-near-black);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(17, 17, 19, 0.10);
}

.purtle-pathway-card:hover
  .purtle-pathway-card__image,
.purtle-pathway-card:focus-visible
  .purtle-pathway-card__image {
  transform: scale(1.018);
}

.purtle-pathway-card:focus-visible {
  outline: 3px solid var(--purtle-interaction-gold);
  outline-offset: 3px;
}

@media (max-width: 991.98px) {
  .purtle-pathways-section .col-sm-4 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .purtle-pathway-card,
  .purtle-pathway-card__image {
    transition: none;
  }

  .purtle-pathway-card:hover,
  .purtle-pathway-card:focus-visible {
    transform: none;
  }

  .purtle-pathway-card:hover
    .purtle-pathway-card__image,
  .purtle-pathway-card:focus-visible
    .purtle-pathway-card__image {
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   Proof / authority section
   -------------------------------------------------------------------------- */

body.page-node-98 .purtle-proof-section,
body.path-frontpage .purtle-proof-section {
  padding-block: clamp(1.5rem, 4vw, 3rem);
}

body.page-node-98 .purtle-proof-section .display-4,
body.path-frontpage .purtle-proof-section .display-4 {
  line-height: 1.08;
  letter-spacing: -0.025em;
}

body.page-node-98 .purtle-stat-tile,
body.path-frontpage .purtle-stat-tile {
  height: 100%;
  padding: 1.35rem;
  border: 1px solid rgba(17, 17, 19, 0.10);
  border-radius: 0.75rem;
  background: var(--purtle-warm-ivory);
}

body.page-node-98 .purtle-stat-tile .display-5,
body.path-frontpage .purtle-stat-tile .display-5 {
  margin-bottom: 0.15rem;
  color: var(--purtle-near-black);
  font-weight: 650;
}

body.page-node-98 .purtle-stat-tile .sm-heading,
body.path-frontpage .purtle-stat-tile .sm-heading {
  margin: 0;
  color: rgba(17, 17, 19, 0.68);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Existing Bootstrap Icons markup without importing Bootstrap Icons. */

body.page-node-98 .purtle-proof-section .bi,
body.path-frontpage .purtle-proof-section .bi {
  display: none;
}


body.page-node-98 .purtle-proof-section + p.mb-4 > a,
body.path-frontpage .purtle-proof-section + p.mb-4 > a {
  color: var(--purtle-near-black);
  text-decoration-color: var(--purtle-interaction-gold);
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.16em;
  transition:
    color 160ms ease,
    text-decoration-color 160ms ease;
}

body.page-node-98 .purtle-proof-section + p.mb-4 > a:hover,
body.page-node-98 .purtle-proof-section + p.mb-4 > a:focus-visible,
body.path-frontpage .purtle-proof-section + p.mb-4 > a:hover,
body.path-frontpage .purtle-proof-section + p.mb-4 > a:focus-visible {
  color: var(--purtle-deeper-brass);
  text-decoration-color: currentColor;
}

body.page-node-98 .purtle-proof-section + p.mb-4 > a:focus-visible,
body.path-frontpage .purtle-proof-section + p.mb-4 > a:focus-visible {
  outline: 2px solid var(--purtle-interaction-gold);
  outline-offset: 3px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  body.page-node-98 .purtle-proof-section + p.mb-4 > a,
  body.path-frontpage .purtle-proof-section + p.mb-4 > a {
    transition: none;
  }
}

/* --------------------------------------------------------------------------
   Dark testimonial heading band
   -------------------------------------------------------------------------- */

body.page-node-98
  .paragraph--type--paragraph-section.bg-dark,
body.path-frontpage
  .paragraph--type--paragraph-section.bg-dark {
  background: var(--purtle-near-black) !important;
  color: var(--purtle-warm-ivory);
}

body.page-node-98
  .paragraph--type--paragraph-section.bg-dark
  h1,
body.page-node-98
  .paragraph--type--paragraph-section.bg-dark
  h2,
body.page-node-98
  .paragraph--type--paragraph-section.bg-dark
  h3,
body.path-frontpage
  .paragraph--type--paragraph-section.bg-dark
  h1,
body.path-frontpage
  .paragraph--type--paragraph-section.bg-dark
  h2,
body.path-frontpage
  .paragraph--type--paragraph-section.bg-dark
  h3 {
  color: var(--purtle-warm-ivory);
}

/* --------------------------------------------------------------------------
   Obsolete empty dark spacer from legacy homepage composition
   --------------------------------------------------------------------------

   Homepage paragraph 110 contains no meaningful visible content.
   Its only child, paragraph 213, is an empty <div class="mt-4"></div>.

   Preserve the Drupal entities unchanged for rollback/reference purposes,
   but remove this obsolete presentation artifact in the clean theme.
   -------------------------------------------------------------------------- */

body.page-node-98
  .paragraph--type--paragraph-section.bg-dark.pt-5.pb-5,
body.path-frontpage
  .paragraph--type--paragraph-section.bg-dark.pt-5.pb-5 {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Compact featured-testimonial component
   --------------------------------------------------------------------------

   Homepage purpose:
   supporting evidence, not dominant content.

   Three representative voices.
   25-word excerpts.
   Existing Drupal 100x100 focal-point derivative.
   Full testimonial archive linked below.

   No Swiper.
   No modal.
   No carousel JavaScript.
   -------------------------------------------------------------------------- */

/* Suppress obsolete Views Reference display title. */
body.page-node-98
  .purtle-view-reference
  .viewsreference--view-title,
body.path-frontpage
  .purtle-view-reference
  .viewsreference--view-title {
  display: none;
}

/* Stored legacy carousel controls are no longer part of the design. */
body.page-node-98 .testimonial-slider-prev,
body.page-node-98 .testimonial-slider-next,
body.path-frontpage .testimonial-slider-prev,
body.path-frontpage .testimonial-slider-next {
  display: none !important;
}

/*
 * Reduce the visual authority of the testimonial heading.
 * Testimonials support the homepage argument rather than dominate it.
 */
body.page-node-98
  .paragraph--type--paragraph-section:has(.purtle-testimonials-view)
  .col-lg-4
  h2,
body.path-frontpage
  .paragraph--type--paragraph-section:has(.purtle-testimonials-view)
  .col-lg-4
  h2 {
  max-width: 13ch;
  margin-bottom: 1rem;
  font-size: clamp(1.75rem, 2.4vw, 2.25rem) !important;
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

body.page-node-98 .purtle-view-reference,
body.path-frontpage .purtle-view-reference {
  width: 100%;
  margin-inline: 0;
  padding-block: 0 2.5rem;
}

body.page-node-98 .purtle-testimonials-view--compact,
body.path-frontpage .purtle-testimonials-view--compact {
  width: 100%;
}

body.page-node-98 .purtle-testimonial-grid--compact,
body.path-frontpage .purtle-testimonial-grid--compact {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

body.page-node-98 .purtle-testimonial-card--compact,
body.path-frontpage .purtle-testimonial-card--compact {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(17, 17, 19, 0.10);
  border-radius: 12px;
  background: #fff;
  color: var(--purtle-near-black);
  box-shadow:
    0 6px 18px rgba(17, 17, 19, 0.035);
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__author,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__portrait,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__portrait {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  margin: 0;
  border:
    1px solid rgba(185, 138, 61, 0.25);
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

body.page-node-98 .purtle-testimonial-card__identity,
body.path-frontpage .purtle-testimonial-card__identity {
  min-width: 0;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__name,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__name {
  margin: 0 0 0.15rem;
  color: var(--purtle-near-black);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.2;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__position,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__position {
  margin: 0;
  color: rgba(17, 17, 19, 0.64);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.74rem;
  line-height: 1.3;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote {
  margin: 0 0 0.8rem;
  padding: 0;
  border: 0;
  color: rgba(17, 17, 19, 0.79);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.86rem;
  font-style: normal;
  line-height: 1.5;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote::before,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote::before {
  content: "“";
  display: block;
  height: 0.6em;
  margin-bottom: 0.35rem;
  color: var(--purtle-primary-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote
  p,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote
  p {
  margin: 0;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link {
  align-self: flex-start;
  margin-top: auto;
  color: var(--purtle-deeper-brass);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:hover,
body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:focus-visible,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:hover,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:focus-visible {
  color: var(--purtle-interaction-gold);
}

body.page-node-98
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:focus-visible,
body.path-frontpage
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:focus-visible {
  outline:
    2px solid var(--purtle-interaction-gold);
  outline-offset: 2px;
}

body.page-node-98 .purtle-testimonials-view__more,
body.path-frontpage .purtle-testimonials-view__more {
  margin-top: 1rem;
  text-align: right;
}

body.page-node-98 .purtle-testimonials-view__more-link,
body.path-frontpage .purtle-testimonials-view__more-link {
  color: var(--purtle-deeper-brass);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

body.page-node-98 .purtle-testimonials-view__more-link:hover,
body.page-node-98 .purtle-testimonials-view__more-link:focus-visible,
body.path-frontpage .purtle-testimonials-view__more-link:hover,
body.path-frontpage .purtle-testimonials-view__more-link:focus-visible {
  color: var(--purtle-interaction-gold);
}

body.page-node-98 .purtle-testimonials-view__more-link:focus-visible,
body.path-frontpage .purtle-testimonials-view__more-link:focus-visible {
  outline:
    2px solid var(--purtle-interaction-gold);
  outline-offset: 3px;
}

@media (max-width: 991.98px) {
  body.page-node-98
    .paragraph--type--paragraph-section:has(.purtle-testimonials-view)
    .col-lg-4
    h2,
  body.path-frontpage
    .paragraph--type--paragraph-section:has(.purtle-testimonials-view)
    .col-lg-4
    h2 {
    max-width: none;
    margin-bottom: 1.25rem;
  }

  body.page-node-98 .purtle-testimonial-grid--compact,
  body.path-frontpage .purtle-testimonial-grid--compact {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body.page-node-98 .purtle-testimonial-grid--compact,
  body.path-frontpage .purtle-testimonial-grid--compact {
    grid-template-columns: 1fr;
  }

  body.page-node-98 .purtle-view-reference,
  body.path-frontpage .purtle-view-reference {
    padding-bottom: 2rem;
  }

  body.page-node-98 .purtle-testimonials-view__more,
  body.path-frontpage .purtle-testimonials-view__more {
    text-align: left;
  }
}

/* --------------------------------------------------------------------------
   Responsive adjustments
   -------------------------------------------------------------------------- */

@media (max-width: 991.98px) {
  body.page-node-98 .section-spacing-xl,
  body.path-frontpage .section-spacing-xl {
    padding-block: 92px;
  }

  body.page-node-98 .section-spacing-xs,
  body.path-frontpage .section-spacing-xs {
    padding-block: 36px;
  }

}

@media (max-width: 575.98px) {
  body.page-node-98 .section-spacing-xl,
  body.path-frontpage .section-spacing-xl {
    padding-block: 88px;
  }

  body.page-node-98
    .section-spacing-xl.bg-black-50
    h1,
  body.path-frontpage
    .section-spacing-xl.bg-black-50
    h1 {
    font-size: clamp(2.3rem, 10vw, 2.65rem);
    line-height: 1.1;
  }

  body.page-node-98 .purtle-view-reference,
  body.path-frontpage .purtle-view-reference {
    width: min(100% - 2rem, 1200px);
  }
}

/* --------------------------------------------------------------------------
   Testimonial archive compact-card presentation — Gate 35K366
   -------------------------------------------------------------------------- */

body.path-testimonials .purtle-testimonials-view--archive {
  width: 100%;
  margin-bottom: 2rem;
}

body.path-testimonials .purtle-testimonial-grid--archive {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

body.path-testimonials .purtle-testimonial-card--compact {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(17, 17, 19, 0.10);
  border-radius: 12px;
  background: #fff;
  color: var(--purtle-near-black);
  box-shadow:
    0 6px 18px rgba(17, 17, 19, 0.035);
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.8rem;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__portrait {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  margin: 0;
  border:
    1px solid rgba(185, 138, 61, 0.25);
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

body.path-testimonials
  .purtle-testimonial-card__identity {
  min-width: 0;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__name {
  margin: 0 0 0.15rem;
  color: var(--purtle-near-black);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.2;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__position {
  margin: 0;
  color: rgba(17, 17, 19, 0.64);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.74rem;
  line-height: 1.3;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote {
  margin: 0 0 0.8rem;
  padding: 0;
  border: 0;
  color: rgba(17, 17, 19, 0.79);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.86rem;
  font-style: normal;
  line-height: 1.5;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote::before {
  content: "“";
  display: block;
  height: 0.6em;
  margin-bottom: 0.35rem;
  color: var(--purtle-primary-gold);
  font-family:
    Georgia,
    "Times New Roman",
    serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__quote
  p {
  margin: 0;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link {
  align-self: flex-start;
  margin-top: auto;
  color: var(--purtle-deeper-brass);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:hover,
body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:focus-visible {
  color: var(--purtle-interaction-gold);
}

body.path-testimonials
  .purtle-testimonial-card--compact
  .purtle-testimonial-card__link:focus-visible {
  outline:
    2px solid var(--purtle-interaction-gold);
  outline-offset: 2px;
}

body.path-testimonials
  .purtle-testimonials-archive-view
  nav.pager {
  margin-top: 2rem;
}

@media (max-width: 991.98px) {
  body.path-testimonials
    .purtle-testimonial-grid--archive {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body.path-testimonials
    .purtle-testimonial-grid--archive {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   GATE 35K369 — TESTIMONIAL VISUAL CLEANUP
   Archive gutters + individual testimonial presentation.
   ========================================================================== */

/*
 * Complete testimonial archive:
 * keep the card grid comfortably inside the viewport rather than allowing
 * cards to visually crowd the left and right page edges.
 */
body.path-testimonials .purtle-testimonials-archive-view {
  width: min(100%, 1180px);
  margin-inline: auto;
  padding-inline:
    clamp(1rem, 3vw, 2rem);
  box-sizing: border-box;
}

/*
 * Individual testimonial pages:
 * establish a centered readable column with consistent page gutters.
 */
body.node--type-testimonial
  .purtle-main__content {
  width: min(100%, 960px);
  margin-inline: auto;
  padding-inline:
    clamp(1rem, 3vw, 2rem);
  box-sizing: border-box;
}

body.node--type-testimonial
  article.node--type-testimonial.node--view-mode-full {
  width: 100%;
  max-width: 860px;
  margin-inline: auto;
}

/*
 * Consistent individual-testimonial portrait.
 * Drupal supplies a 300x300 focal-point derivative.
 */
body.node--type-testimonial
  article.node--type-testimonial.node--view-mode-full
  .field--name-field-media-image {
  width: 300px;
  max-width: 100%;
  margin:
    0 auto
    1.5rem;
}

body.node--type-testimonial
  article.node--type-testimonial.node--view-mode-full
  .field--name-field-media-image
  img {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border:
    1px solid rgba(185, 138, 61, 0.22);
  border-radius: 14px;
  box-shadow:
    0 8px 24px rgba(17, 17, 19, 0.06);
}

/*
 * Keep long testimonial prose comfortable to read.
 */
body.node--type-testimonial
  article.node--type-testimonial.node--view-mode-full
  .field--name-body {
  max-width: 760px;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1.7;
}

/*
 * Present position/organization metadata as a subtitle rather than a
 * full-width content block.
 */
body.node--type-testimonial
  article.node--type-testimonial.node--view-mode-full
  .field--name-field-position {
  max-width: 760px;
  margin:
    0 auto
    1.25rem;
  color: rgba(17, 17, 19, 0.66);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.92rem;
  line-height: 1.45;
}

/*
 * Hide the machine-like field label visually.
 * The actual metadata value remains rendered.
 */
body.node--type-testimonial
  article.node--type-testimonial.node--view-mode-full
  .field--name-field-position
  .field__label {
  display: none;
}

@media (max-width: 575.98px) {
  body.path-testimonials
    .purtle-testimonials-archive-view {
    padding-inline: 1rem;
  }

  body.node--type-testimonial
    .purtle-main__content {
    padding-inline: 1rem;
  }

  body.node--type-testimonial
    article.node--type-testimonial.node--view-mode-full
    .field--name-field-media-image {
    width: min(260px, 100%);
  }

  body.node--type-testimonial
    article.node--type-testimonial.node--view-mode-full
    .field--name-field-media-image
    img {
    width: 260px;
  }
}

/* ==========================================================================
   GATE 35K388 — STRUCTURED INDIVIDUAL TESTIMONIAL
   ========================================================================== */

body.node--type-testimonial
  article.purtle-testimonial--structured {
  max-width: 860px;
  margin-inline: auto;
}

body.node--type-testimonial
  .purtle-testimonial-profile {
  display: grid;
  grid-template-columns:
    minmax(180px, 220px)
    minmax(0, 1fr);
  gap:
    clamp(1.5rem, 4vw, 2.5rem);
  align-items: start;
  margin:
    0 0
    clamp(2rem, 5vw, 3rem);
  padding:
    clamp(1.25rem, 3vw, 2rem);
  border:
    1px solid rgba(185, 138, 61, 0.22);
  border-radius: 16px;
  background:
    rgba(255, 255, 255, 0.7);
  box-shadow:
    0 10px 30px rgba(17, 17, 19, 0.055);
}

body.node--type-testimonial
  .purtle-testimonial-profile__portrait
  .field--name-field-media-image {
  width: 100%;
  margin: 0;
}

body.node--type-testimonial
  .purtle-testimonial-profile__portrait
  img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border:
    1px solid rgba(185, 138, 61, 0.28);
  border-radius: 14px;
  box-shadow:
    0 8px 24px rgba(17, 17, 19, 0.07);
}

body.node--type-testimonial
  .purtle-testimonial-profile__identity {
  min-width: 0;
}

body.node--type-testimonial
  .purtle-testimonial-profile__name {
  margin: 0 0 0.3rem;
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size:
    clamp(1.3rem, 2.5vw, 1.65rem);
  font-weight: 750;
  line-height: 1.2;
  color: #111113;
}

body.node--type-testimonial
  .purtle-testimonial-profile__role {
  margin-bottom: 0.15rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: #2b2b2d;
}

body.node--type-testimonial
  .purtle-testimonial-profile__organization {
  margin-bottom: 1.1rem;
  color: rgba(17, 17, 19, 0.72);
  font-size: 0.95rem;
  line-height: 1.45;
}

body.node--type-testimonial
  .purtle-testimonial-profile__credentials {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top:
    1px solid rgba(17, 17, 19, 0.08);
}

body.node--type-testimonial
  .purtle-testimonial-profile__credentials
  ul {
  margin:
    0.45rem 0
    0;
  padding-left: 1.15rem;
}

body.node--type-testimonial
  .purtle-testimonial-profile__credentials
  li {
  margin-bottom: 0.35rem;
  line-height: 1.45;
  color: rgba(17, 17, 19, 0.76);
}

body.node--type-testimonial
  .purtle-testimonial-profile__eyebrow {
  display: block;
  margin-bottom: 0.2rem;
  color: #8a641f;
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.35;
  text-transform: uppercase;
}

body.node--type-testimonial
  .purtle-testimonial-profile__fact {
  margin-top: 0.85rem;
  color: rgba(17, 17, 19, 0.72);
  font-size: 0.9rem;
  line-height: 1.45;
}

body.node--type-testimonial
  .purtle-testimonial-full-quote {
  position: relative;
  max-width: 760px;
  margin-inline: auto;
  padding-top: 0.25rem;
  font-size: 1rem;
  line-height: 1.72;
}

body.node--type-testimonial
  .purtle-testimonial-full-quote::before {
  content: "“";
  position: absolute;
  top: -1.1rem;
  left: -0.1rem;
  color: rgba(185, 138, 61, 0.34);
  font-family: Georgia, serif;
  font-size: 4.4rem;
  line-height: 1;
  pointer-events: none;
}

body.node--type-testimonial
  .purtle-testimonial-full-quote
  .field--name-body {
  position: relative;
  max-width: none;
  margin: 0;
}

@media (max-width: 767.98px) {
  body.node--type-testimonial
    .purtle-testimonial-profile {
    grid-template-columns: 1fr;
  }

  body.node--type-testimonial
    .purtle-testimonial-profile__portrait {
    width: min(220px, 100%);
    margin-inline: auto;
  }

  body.node--type-testimonial
    .purtle-testimonial-profile__identity {
    text-align: left;
  }
}

/* ==========================================================================
   GATE 35K391 — TESTIMONIAL EDITORIAL REFINEMENT
   ========================================================================== */

body.node--type-testimonial
  .purtle-testimonial-editorial {
  max-width: 760px;
  margin:
    clamp(2.5rem, 6vw, 4.5rem)
    auto
    0;
}

body.node--type-testimonial
  .purtle-testimonial-editorial__heading {
  margin:
    0 0
    clamp(1.3rem, 3vw, 1.8rem);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size:
    clamp(1.55rem, 3vw, 2rem);
  font-weight: 750;
  line-height: 1.22;
  color: #111113;
}

body.node--type-testimonial
  .purtle-testimonial-full-quote {
  margin: 0;
  padding:
    1.4rem 0
    0
    clamp(1.1rem, 3vw, 1.6rem);
  border-left:
    2px solid rgba(185, 138, 61, 0.48);
}

body.node--type-testimonial
  .purtle-testimonial-full-quote::before {
  top: -0.55rem;
  left: 0.55rem;
  font-size: 3.8rem;
}

body.node--type-testimonial
  .purtle-testimonial-full-quote
  p {
  margin:
    0 0
    1rem;
  font-size:
    clamp(1rem, 1.7vw, 1.08rem);
  line-height: 1.75;
  color: #202024;
}


body.node--type-testimonial
  .purtle-testimonial-profile__credentials
  .purtle-testimonial-profile__eyebrow {
  margin-bottom: 0.45rem;
}

@media (max-width: 767.98px) {
  body.node--type-testimonial
    .purtle-testimonial-editorial {
    margin-top: 2.5rem;
  }

  body.node--type-testimonial
    .purtle-testimonial-full-quote {
    padding-left: 1rem;
  }
}

/* ==========================================================================
   GATE 35K392 — INSTITUTIONAL TESTIMONIAL DESIGN
   Purpose: professional / university / editorial presentation.
   ========================================================================== */

/*
 * The reviewed testimonial should resemble an institutional faculty or
 * professional profile, not a social-media testimonial card.
 */

body.node--type-testimonial
  article.purtle-testimonial--structured {
  max-width: 900px;
}

body.node--type-testimonial
  .purtle-testimonial-profile {
  grid-template-columns:
    minmax(150px, 185px)
    minmax(0, 1fr);
  gap:
    clamp(1.75rem, 4vw, 2.75rem);

  margin-bottom:
    clamp(2.75rem, 6vw, 4.25rem);

  padding:
    0 0
    clamp(1.75rem, 4vw, 2.25rem);

  border:
    0;

  border-bottom:
    1px solid rgba(17, 17, 19, 0.14);

  border-radius: 0;

  background: transparent;

  box-shadow: none;
}

body.node--type-testimonial
  .purtle-testimonial-profile__portrait
  img {
  border:
    1px solid rgba(17, 17, 19, 0.14);

  border-radius: 3px;

  box-shadow: none;
}

body.node--type-testimonial
  .purtle-testimonial-profile__name {
  margin-bottom: 0.35rem;

  font-size:
    clamp(1.45rem, 2.6vw, 1.8rem);

  font-weight: 700;
}

body.node--type-testimonial
  .purtle-testimonial-profile__role {
  margin-bottom: 0.1rem;

  font-size: 1rem;

  font-weight: 650;
}

body.node--type-testimonial
  .purtle-testimonial-profile__organization {
  margin-bottom: 1.3rem;

  font-size: 0.94rem;

  color:
    rgba(17, 17, 19, 0.72);
}

body.node--type-testimonial
  .purtle-testimonial-profile__credentials {
  margin-top: 1.25rem;

  padding-top: 1rem;

  border-top:
    1px solid rgba(17, 17, 19, 0.1);
}

body.node--type-testimonial
  .purtle-testimonial-profile__credentials
  ul {
  margin: 0.5rem 0 0;

  padding: 0;

  list-style: none;
}

body.node--type-testimonial
  .purtle-testimonial-profile__credentials
  li {
  margin: 0;

  padding:
    0.24rem 0;

  color:
    rgba(17, 17, 19, 0.78);

  font-size: 0.92rem;

  line-height: 1.5;
}

body.node--type-testimonial
  .purtle-testimonial-profile__credentials
  li + li {
  border-top:
    1px solid rgba(17, 17, 19, 0.055);
}

body.node--type-testimonial
  .purtle-testimonial-profile__eyebrow {
  color:
    rgba(17, 17, 19, 0.62);

  font-size: 0.7rem;

  font-weight: 700;

  letter-spacing: 0.055em;
}

body.node--type-testimonial
  .purtle-testimonial-editorial {
  max-width: 780px;

  margin-top: 0;
}

body.node--type-testimonial
  .purtle-testimonial-editorial__heading {
  margin-bottom: 1.25rem;

  padding-bottom: 0.65rem;

  border-bottom:
    1px solid rgba(17, 17, 19, 0.12);

  font-size:
    clamp(1.35rem, 2.6vw, 1.7rem);

  font-weight: 650;

  letter-spacing: -0.015em;
}

body.node--type-testimonial
  .purtle-testimonial-full-quote {
  padding:
    0.45rem 0
    0.45rem
    1.25rem;

  border-left:
    2px solid rgba(120, 91, 42, 0.38);
}

body.node--type-testimonial
  .purtle-testimonial-full-quote::before {
  display: none;
}

body.node--type-testimonial
  .purtle-testimonial-full-quote
  p {
  margin: 0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(1.04rem, 1.7vw, 1.14rem);

  font-weight: 400;

  line-height: 1.75;

  color: #242428;
}


@media (max-width: 767.98px) {

  body.node--type-testimonial
    .purtle-testimonial-profile {
    grid-template-columns: 1fr;

    gap: 1.35rem;
  }

  body.node--type-testimonial
    .purtle-testimonial-profile__portrait {
    width: min(180px, 55vw);

    margin-inline: 0;
  }

  body.node--type-testimonial
    .purtle-testimonial-editorial {
    margin-top: 0;
  }

}

/* ==========================================================================
   GATE 35K396 — REVIEWED TESTIMONIAL CARD IDENTITY
   ========================================================================== */

/*
 * Reviewed cards distinguish current professional role from organization.
 * Legacy cards retain the existing single field_position presentation.
 */

.purtle-testimonial-card--compact
  .purtle-testimonial-card__role {
  margin: 0;
  color: rgba(17, 17, 19, 0.76);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.3;
}

.purtle-testimonial-card--compact
  .purtle-testimonial-card__organization {
  margin:
    0.08rem 0
    0;
  color: rgba(17, 17, 19, 0.58);
  font-family:
    "Purtle Inter",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 0.71rem;
  font-weight: 400;
  line-height: 1.32;
}
