/* Interior pages share the home palette, spacing and navigation. */
.interior-page {
  color:var(--home-ink)
}
.interior-page .nav a[aria-current=page] {
  color:var(--home-green);
  text-decoration:underline;
  text-underline-offset:8px;
  text-decoration-thickness:2px
}
.intro-layout>*,.purpose-grid>*,.policy-layout>*,.university-overview>*,.service-overview>* {
  min-width:0
}
.interior-page figure {
  margin:0
}
.interior-page h1,.interior-page h2,.interior-page h3 {
  color:var(--home-ink)
}
.page-intro {
  padding:30px 0 64px;
  background:var(--home-tint);
  border-bottom:1px solid var(--home-line)
}
.breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  font-size:12px;
  color:var(--home-muted);
  margin-bottom:48px
}
.breadcrumbs a:hover {
  text-decoration:underline
}
.intro-layout {
  display:grid;
  grid-template-columns:1fr;
  gap:55px
}
.intro-copy {
  max-width:850px
}
.intro-split .intro-layout {
  grid-template-columns:1.1fr 1fr;
  align-items:center;
  gap:65px
}
.intro-split .intro-copy {
  max-width:none
}
.eyebrow {
  display:flex;
  gap:12px;
  align-items:center;
  font-size:11px;
  letter-spacing:1.8px;
  font-weight:700;
  text-transform:uppercase;
  color:var(--home-green);
  margin:0 0 20px;
  line-height:1.5
}
.eyebrow:before {
  content:"";
  width:28px;
  height:2px;
  background:currentColor;
  flex-shrink:0
}
.page-intro h1 {
  font-size:clamp(44px,4.8vw,68px);
  line-height:1.04;
  letter-spacing:-2.2px;
  margin:0 0 28px
}
.intro-copy>p:not(.eyebrow) {
  font-size:17px;
  line-height:1.75;
  color:var(--home-muted);
  margin:0 0 20px
}
.intro-copy>p.intro-lead {
  font-size:22px;
  line-height:1.55;
  max-width:720px
}
.intro-copy>.text-link {
  margin-top:12px
}
.intro-copy .intro-subtitle {
  font-size:clamp(25px,2.6vw,34px);
  line-height:1.2;
  letter-spacing:-.8px;
  margin:0 0 25px;
  max-width:800px;
  font-weight:600
}
.intro-image {
  position:relative;
  background:#d6e4db;
  align-self:stretch;
  min-height:390px;
  display:flex;
  flex-direction:column
}
.intro-image>img {
  width:100%;
  height:350px;
  flex:1;
  object-fit:cover
}
.intro-image figcaption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:19px 24px;
  background:#123e31;
  color:white
}
.intro-image strong {
  font-size:19px;
  letter-spacing:-.3px
}
.intro-image figcaption span {
  font-size:11px;
  color:#d5e8dc;
  letter-spacing:.3px
}
.page-section {
  padding:72px 0
}
.page-section h2 {
  font-size:clamp(29px,3vw,42px);
  line-height:1.13;
  letter-spacing:-1.2px;
  margin:0 0 24px
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:34px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading .eyebrow {
  margin-bottom:14px
}
.section-heading>p {
  max-width:340px;
  color:var(--home-muted);
  font-size:15px;
  line-height:1.65;
  margin:0
}
.page-cta h2 {
  color:white;
  font-size:30px
}
.page-cta p {
  color:#cee1d7;
  font-size:15px;
  line-height:1.65;
  margin:14px 0 0;
  max-width:600px
}
.page-cta {
  margin-top:0
}
.interior-page .page-cta .button {
  white-space:normal
}
/* Purpose and corporate policy */
.purpose-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:28px;
  align-items:stretch
}
.mission-panel {
  padding:42px;
  background:#123e31;
  color:#e0eee6
}
.mission-panel .eyebrow {
  color:#9ad3b3
}
.mission-panel h2 {
  color:white
}
.mission-panel p:not(.eyebrow) {
  font-size:16px;
  line-height:1.8;
  margin:0 0 22px
}
.mission-panel p:last-child {
  margin-bottom:0
}
.vision-panel {
  display:flex;
  flex-direction:column;
  border:1px solid var(--home-line);
  background:#f6f8f6
}
.vision-copy {
  padding:40px
}
.vision-copy p:not(.eyebrow) {
  font-size:16px;
  line-height:1.7;
  color:var(--home-muted);
  margin:0 0 18px
}
.vision-panel>img {
  width:100%;
  height:230px;
  object-fit:contain;
  object-position:bottom;
  margin-top:auto;
  background:#e7e8e5
}
.policy-section {
  background:#f5f8f6;
  border-block:1px solid var(--home-line)
}
.policy-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:65px;
  align-items:start
}
.policy-intro h2 {
  font-size:34px
}
.policy-context {
  font-size:14px;
  line-height:1.8;
  color:var(--home-muted)
}
.policy-context p:first-child {
  font-size:11px;
  line-height:1.6;
  letter-spacing:.6px;
  font-weight:700;
  color:var(--home-green)
}
.policy-context p:last-child {
  margin-bottom:0
}
.policy-item {
  border-top:1px solid #d1ded5
}
.policy-item:last-of-type {
  border-bottom:1px solid #d1ded5
}
.policy-item summary {
  display:grid;
  grid-template-columns:28px 1fr 18px;
  align-items:start;
  gap:17px;
  padding:21px 0;
  cursor:pointer;
  list-style:none;
  font-weight:600;
  font-size:16px;
  line-height:1.5
}
.policy-item summary::-webkit-details-marker {
  display:none
}
.item-number {
  font-size:12px;
  font-weight:400;
  color:var(--home-green);
  padding-top:3px;
  font-variant-numeric:tabular-nums
}
.disclosure {
  width:16px;
  height:16px;
  position:relative;
  margin-top:4px;
  display:block;
  color:var(--home-green)
}
.disclosure:before,.disclosure:after {
  content:"";
  position:absolute;
  background:currentColor;
  left:2px;
  top:7px;
  width:12px;
  height:1px
}
.disclosure:after {
  transform:rotate(90deg);
  transition:transform .2s
}
.policy-item[open] .disclosure:after {
  transform:rotate(0)
}
.policy-item summary:hover {
  color:var(--home-green)
}
.policy-description {
  padding:0 34px 23px 45px;
  color:var(--home-muted);
  font-size:15px;
  line-height:1.8
}
.policy-description p {
  margin:0
}
.policy-signature {
  font-size:12px;
  line-height:1.8;
  color:var(--home-muted);
  padding-top:24px
}
.policy-signature p {
  margin:0
}
.facilities-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px
}
.facility {
  border:1px solid var(--home-line)
}
.facility>img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover
}
.facility figcaption {
  padding:22px 20px
}
.facility h3 {
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.3px;
  margin:0 0 12px
}
.facility p {
  font-size:10px;
  line-height:1.6;
  letter-spacing:1px;
  color:var(--home-green);
  font-weight:600;
  margin:0
}
/* The same category cards as the homepage, expanded for the product directory. */
.product-categories .section-heading {
  max-width:700px
}
.product-categories .companies-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  border:0
}
.product-categories .company {
  border:1px solid var(--home-line);
  padding:32px 36px;
  position:relative
}
.product-categories .company-logo {
  margin-bottom:25px;
  max-width:calc(100% - 80px)
}
.product-categories .category-icon {
  position:absolute;
  right:32px;
  top:32px;
  width:70px;
  height:70px;
  object-fit:contain
}
.product-categories .company h3 {
  font-size:26px;
  line-height:1.3;
  max-width:390px;
  min-height:100px;
  margin-bottom:24px
}
.product-categories .company-contact {
  font-size:13px;
  line-height:1.7;
  margin-bottom:24px
}
.product-categories .company-contact a {
  width:fit-content
}
.product-categories .company>.text-link {
  border-top:1px solid var(--home-line);
  padding-top:18px;
  justify-content:space-between;
  font-size:14px
}
/* Searchable representation directory. All content remains usable without JS. */
.directory-section {
  padding-top:45px
}
.directory-tools {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:25px;
  margin-bottom:32px
}
.search-field {
  max-width:530px;
  width:100%
}
.search-field label {
  display:block;
  font-size:13px;
  font-weight:600;
  margin:0 0 10px
}
.search-field>div {
  border:1px solid #cbdacf;
  background:white;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:52px;
  padding:0 15px
}
.search-field>div:focus-within {
  outline:2px solid var(--home-green);
  outline-offset:2px
}
.search-field svg {
  width:21px;
  height:21px;
  color:var(--home-green);
  flex-shrink:0
}
.search-field input {
  min-width:0;
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  padding:13px 0;
  color:var(--home-ink);
  font-size:14px
}
.search-field input::placeholder {
  color:#718078
}
.search-field button {
  border:0;
  background:none;
  font-size:12px;
  color:var(--home-green);
  padding:7px 0
}
.directory-count {
  font-size:12px;
  color:var(--home-muted);
  margin:0 0 15px;
  font-variant-numeric:tabular-nums
}
.representations-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px
}
.representation-card {
  border:1px solid var(--home-line);
  display:flex;
  flex-direction:column;
  background:white;
  transition:border-color .25s,transform .25s
}
.representation-card:hover {
  border-color:#7caa8e;
  transform:translateY(-3px)
}
.representation-logo {
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:15px 20px;
  border-bottom:1px solid #edf1ee
}
.representation-logo img {
  width:210px;
  height:130px;
  max-width:100%;
  object-fit:contain
}
.representation-copy {
  padding:20px 21px 24px
}
.representation-copy h3 {
  font-size:16px;
  font-weight:600;
  letter-spacing:-.2px;
  line-height:1.35;
  margin:0 0 10px
}
.representation-copy p {
  font-size:13px;
  line-height:1.65;
  color:var(--home-muted);
  margin:0
}
.directory-empty {
  padding:45px 24px;
  text-align:center;
  background:var(--home-tint);
  border:1px solid var(--home-line)
}
.directory-empty h2,.directory-empty h3 {
  font-size:25px;
  margin:0 0 15px
}
.directory-empty p {
  color:var(--home-muted)
}
.directory-empty .button {
  font-size:13px;
  color:var(--home-green)
}
.interior-page [hidden] {
  display:none!important
}
/* ABSISA University */
.university-intro {
  padding-bottom:50px;
  background:#123e31
}
.university-intro .breadcrumbs {
  color:#b9d5c5
}
.university-intro .eyebrow {
  color:#9cd0b1
}
.university-intro h1 {
  color:white;
  margin-bottom:24px
}
.university-intro .intro-copy {
  max-width:100%;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  column-gap:70px;
  align-items:start
}
.university-intro .eyebrow {
  grid-column:1/-1
}
.university-intro h1 {
  grid-row:2/4;
  max-width:600px
}
.university-intro .intro-subtitle {
  color:white;
  font-size:30px;
  letter-spacing:-.7px;
  line-height:1.25;
  margin:0 0 25px;
  max-width:460px
}
.university-intro .text-link {
  color:#b9e4cb;
  margin:0;
  align-self:end
}
.university-banner {
  background:#d9e5dd;
  overflow:hidden
}
.university-banner img {
  width:100%;
  height:clamp(220px,27vw,390px);
  object-fit:cover;
  object-position:center
}
.university-overview {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:75px;
  align-items:start
}
.university-copy p {
  font-size:17px;
  color:var(--home-muted);
  line-height:1.8;
  margin:0 0 22px
}
.university-copy p:first-child {
  font-size:22px;
  line-height:1.55;
  color:var(--home-ink);
  letter-spacing:-.3px
}
.university-copy p:last-child {
  margin-bottom:0
}
.university-support {
  border-top:3px solid var(--home-green);
  padding-top:24px
}
.university-support h2 {
  font-size:22px;
  letter-spacing:-.4px;
  margin:0 0 15px
}
.university-support ul {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 25px
}
.university-support li {
  padding:18px 0;
  border-bottom:1px solid var(--home-line);
  display:flex;
  gap:12px;
  align-items:start
}
.university-support li>span {
  font-size:10px;
  color:var(--home-green);
  padding-top:3px
}
.university-support li p {
  margin:0;
  font-size:15px;
  line-height:1.5;
  font-weight:600
}
.courses-section {
  background:#f4f7f4;
  border-top:1px solid var(--home-line)
}
.courses-grid {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.course-card {
  display:grid;
  grid-template-columns:25px 1fr 20px;
  gap:18px;
  align-items:center;
  height:100%;
  min-height:110px;
  background:white;
  border:1px solid var(--home-line);
  padding:24px;
  transition:border-color .2s,background .2s
}
.course-card:hover {
  border-color:#78aa8c;
  background:#fbfdfb
}
.course-number {
  font-size:12px;
  color:var(--home-green);
  font-variant-numeric:tabular-nums;
  align-self:start;
  margin-top:3px
}
.course-card h3 {
  font-size:16px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:-.2px;
  margin:0
}
.course-card svg {
  width:20px;
  height:20px;
  color:var(--home-green);
  transition:transform .2s
}
.course-card:hover svg {
  transform:translateX(3px)
}
/* Service photography follows the same ratio as the home news cards. */
.service-overview-section {
  padding:66px 0
}
.service-overview {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:65px;
  align-items:center
}
.service-overview figure {
  border:1px solid var(--home-line);
  background:var(--home-tint)
}
.service-overview figure img {
  width:100%;
  height:auto;
  aspect-ratio:680/500;
  object-fit:contain
}
.service-overview figcaption {
  font-size:11px;
  color:var(--home-muted);
  padding:17px 24px;
  border-top:1px solid var(--home-line)
}
.service-overview p:not(.eyebrow) {
  font-size:15px;
  line-height:1.8;
  color:var(--home-muted)
}
.service-overview p:last-child {
  margin-bottom:0
}
.services-catalog-section {
  background:#f5f8f6;
  border-top:1px solid var(--home-line)
}
.services-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px
}
.service-card {
  background:white;
  border:1px solid var(--home-line);
  display:flex;
  flex-direction:column
}
.service-card>img {
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover
}
.service-card-copy {
  padding:25px;
  display:flex;
  flex-direction:column;
  flex:1
}
.service-number {
  font-size:11px;
  letter-spacing:1px;
  color:var(--home-green);
  margin-bottom:14px
}
.service-card h3 {
  font-size:21px;
  line-height:1.35;
  letter-spacing:-.45px;
  margin:0 0 28px
}
.service-card .text-link {
  font-size:12px;
  margin-top:auto;
  justify-content:space-between;
  padding-top:16px;
  border-top:1px solid var(--home-line)
}
/* Quiet entrance animation never hides content if scripts are unavailable. */
@keyframes page-enter {
  from {
    opacity:0;
    transform:translateY(12px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
.page-intro .intro-copy {
  animation:page-enter .65s ease both
}
@media(min-width:1700px) {
  .page-intro {
    padding-bottom:75px
  }
  .intro-split .intro-layout {
    gap:80px
  }
  .intro-image>img {
    height:400px
  }
}
@media(max-width:1100px) {
  .intro-split .intro-layout {
    gap:35px
  }
  .intro-image figcaption {
    padding:16px 20px;
    align-items:start;
    flex-direction:column;
    gap:3px
  }
  .intro-image>img {
    height:330px
  }
  .purpose-grid {
    grid-template-columns:1fr 1fr;
    gap:22px
  }
  .mission-panel,.vision-copy {
    padding:30px
  }
  .policy-layout {
    gap:35px;
    grid-template-columns:.9fr 1.1fr
  }
  .policy-intro h2 {
    font-size:30px
  }
  .facilities-grid {
    gap:18px;
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .representations-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .university-overview {
    gap:35px
  }
  .university-intro .intro-copy {
    gap:0 35px
  }
  .university-intro .intro-subtitle {
    font-size:26px
  }
  .service-overview {
    gap:35px
  }
  .services-grid {
    gap:20px
  }
  .service-card-copy {
    padding:21px
  }
  .service-card h3 {
    font-size:19px
  }
  .product-categories .company {
    padding:28px
  }
  .product-categories .company h3 {
    font-size:24px
  }
  .product-categories .category-icon {
    right:24px;
    top:28px;
    width:60px;
    height:60px
  }
}
@media(max-width:800px) {
  .page-intro {
    padding-bottom:45px
  }
  .breadcrumbs {
    margin-bottom:34px
  }
  .intro-split .intro-layout {
    grid-template-columns:1fr;
    gap:30px
  }
  .intro-split .intro-copy {
    max-width:650px
  }
  .intro-image {
    min-height:0;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    align-items:center;
    background:#123e31
  }
  .intro-image>img {
    height:280px;
    flex:none
  }
  .intro-image figcaption {
    padding:25px
  }
  .intro-image strong {
    font-size:26px
  }
  .intro-image figcaption span {
    font-size:12px;
    line-height:1.7
  }
  .page-section {
    padding:55px 0
  }
  .purpose-grid {
    grid-template-columns:1fr
  }
  .vision-panel {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    align-items:end
  }
  .vision-panel>img {
    height:auto;
    min-height:200px;
    object-fit:contain;
    align-self:stretch
  }
  .vision-copy {
    padding:30px
  }
  .mission-panel {
    padding:34px
  }
  .policy-layout {
    grid-template-columns:1fr;
    gap:35px
  }
  .policy-intro h2 {
    max-width:500px
  }
  .policy-context {
    column-count:2;
    column-gap:30px
  }
  .policy-context p {
    break-inside:avoid
  }
  .policy-context p:first-child {
    column-span:all
  }
  .section-heading {
    align-items:start;
    flex-direction:column;
    gap:20px
  }
  .section-heading>p {
    max-width:600px
  }
  .product-categories .company {
    padding:25px
  }
  .product-categories .company h3 {
    font-size:21px;
    min-height:110px
  }
  .product-categories .company-logo {
    max-width:calc(100% - 60px)
  }
  .product-categories .category-icon {
    width:52px;
    height:52px
  }
  .product-categories .company-logo img {
    width:150px;
    height:112px
  }
  .representations-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .representation-logo {
    height:145px
  }
  .university-intro .intro-copy {
    grid-template-columns:1fr;
    gap:0
  }
  .university-intro h1 {
    grid-row:auto;
    max-width:650px;
    margin-bottom:22px
  }
  .university-intro .intro-subtitle {
    max-width:600px;
    font-size:27px;
    margin-bottom:25px
  }
  .university-overview {
    grid-template-columns:1fr;
    gap:35px
  }
  .university-support ul {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px
  }
  .university-support li {
    display:block
  }
  .university-support li>span {
    display:block;
    margin-bottom:10px
  }
  .courses-grid {
    gap:14px
  }
  .course-card {
    padding:22px;
    grid-template-columns:20px 1fr 18px;
    gap:12px
  }
  .course-card h3 {
    font-size:15px
  }
  .service-overview {
    grid-template-columns:1fr;
    gap:30px
  }
  .service-overview figure {
    max-width:480px
  }
  .services-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:540px) {
  .page-intro {
    padding:22px 0 36px
  }
  .breadcrumbs {
    font-size:11px;
    gap:10px;
    margin-bottom:32px
  }
  .eyebrow {
    font-size:10px;
    letter-spacing:1.4px;
    margin-bottom:16px
  }
  .page-intro h1 {
    font-size:46px;
    letter-spacing:-1.6px;
    margin-bottom:24px
  }
  .intro-copy>p:not(.eyebrow) {
    font-size:16px;
    line-height:1.75
  }
  .intro-copy>p.intro-lead {
    font-size:19px;
    line-height:1.6
  }
  .intro-copy .intro-subtitle {
    font-size:25px;
    line-height:1.25
  }
  .intro-image {
    display:flex;
    align-items:stretch
  }
  .intro-image>img {
    height:auto;
    aspect-ratio:680/500;
    object-fit:cover
  }
  .intro-image figcaption {
    flex-direction:row;
    align-items:center;
    padding:18px 20px
  }
  .intro-image strong {
    font-size:19px
  }
  .intro-image figcaption span {
    font-size:10px;
    text-align:right;
    max-width:140px
  }
  .page-section {
    padding:44px 0
  }
  .page-section h2 {
    font-size:31px;
    letter-spacing:-.8px
  }
  .section-heading {
    gap:17px;
    margin-bottom:25px
  }
  .mission-panel,.vision-copy {
    padding:27px
  }
  .mission-panel p:not(.eyebrow),.vision-copy p:not(.eyebrow) {
    font-size:15px;
    line-height:1.8
  }
  .vision-panel {
    display:flex
  }
  .vision-panel>img {
    height:auto;
    min-height:0;
    aspect-ratio:550/366
  }
  .policy-context {
    column-count:1;
    font-size:14px
  }
  .policy-item summary {
    font-size:15px;
    gap:12px;
    grid-template-columns:23px 1fr 16px;
    padding:20px 0
  }
  .policy-description {
    font-size:14px;
    padding:0 18px 22px 35px
  }
  .facilities-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .facility>img {
    aspect-ratio:4/3
  }
  .facility figcaption {
    padding:22px
  }
  .facility h3 {
    font-size:20px
  }
  .facility p {
    font-size:11px
  }
  .product-categories .companies-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .product-categories .company {
    padding:27px
  }
  .product-categories .company h3 {
    font-size:24px;
    min-height:0
  }
  .product-categories .company-logo {
    height:65px;
    max-width:calc(100% - 65px);
    margin-bottom:25px
  }
  .product-categories .company-logo img {
    width:180px;
    height:135px
  }
  .product-categories .category-icon {
    right:25px;
    top:30px;
    width:58px;
    height:58px
  }
  .product-categories .company-contact {
    font-size:12px
  }
  .directory-tools {
    flex-direction:column;
    align-items:stretch;
    gap:15px;
    margin-bottom:24px
  }
  .directory-count {
    margin:0
  }
  .search-field input {
    font-size:13px
  }
  .search-field>div {
    gap:9px;
    padding:0 12px
  }
  .representations-grid {
    gap:12px
  }
  .representation-logo {
    height:110px;
    padding:8px 9px
  }
  .representation-logo img {
    height:100px;
    width:150px
  }
  .representation-copy {
    padding:16px 13px 20px
  }
  .representation-copy h3 {
    font-size:14px;
    margin-bottom:9px
  }
  .representation-copy p {
    font-size:11px;
    line-height:1.7
  }
  .representation-card:hover {
    transform:none
  }
  .university-intro h1 {
    font-size:43px;
    line-height:1.08;
    max-width:330px
  }
  .university-intro .intro-subtitle {
    font-size:25px;
    max-width:330px
  }
  .university-banner img {
    height:230px;
    object-position:55% center
  }
  .university-copy p:first-child {
    font-size:20px
  }
  .university-copy p {
    font-size:16px
  }
  .university-support h2 {
    font-size:23px
  }
  .university-support ul {
    grid-template-columns:1fr 1fr;
    gap:0 20px
  }
  .university-support li {
    display:flex;
    gap:10px
  }
  .university-support li p {
    font-size:14px
  }
  .courses-grid {
    grid-template-columns:1fr;
    gap:12px
  }
  .course-card {
    padding:22px 18px;
    min-height:96px;
    gap:13px
  }
  .course-card h3 {
    font-size:16px
  }
  .service-overview p:not(.eyebrow) {
    font-size:15px
  }
  .services-grid {
    grid-template-columns:1fr;
    gap:24px
  }
  .service-card-copy {
    padding:24px
  }
  .service-card h3 {
    font-size:22px
  }
  .service-card .text-link {
    font-size:13px
  }
  .page-cta h2 {
    font-size:27px
  }
  .page-cta p {
    font-size:14px
  }
}
@media(prefers-reduced-motion:reduce) {
  .page-intro .intro-copy {
    animation:none
  }
  .representation-card,.course-card,.course-card svg,.disclosure:after {
    transition:none
  }
}
@media(max-width:540px) {
  .representaciones-page h1 {
    font-size:clamp(28px,8.1vw,43px);
    letter-spacing:-1px
  }
  .representations-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .representation-card {
    display:grid;
    grid-template-columns:120px minmax(0,1fr)
  }
  .representation-logo {
    height:100%;
    min-height:130px;
    border-bottom:0;
    border-right:1px solid #edf1ee;
    padding:12px
  }
  .representation-copy {
    padding:21px 17px
  }
  .representation-copy h3 {
    font-size:15px
  }
  .representation-copy p {
    font-size:13px;
    line-height:1.65
  }
}
@media(max-width:360px) {
  .representation-card {
    grid-template-columns:100px minmax(0,1fr)
  }
}
