@media screen and (max-width : 1482px) {
	.wrapper {padding: 0 calc(var(--pad) * 2.5);}

	.padding-lr-4 {padding-left: 0 !important; padding-right: 0 !important;}

	.row-about-about .im {width: calc(((100vw - var(--content-width)) / 2) - var(--pad) * 6) !important;}
	.row-about-about .im-1,
	.row-about-about .im-2 {left: calc(var(--pad) * 2.5);}
	.row-about-about .im-3,
	.row-about-about .im-4 {right: calc(var(--pad) * 2.5);}

	.team-grid {--gap: calc(var(--pad) * 6) calc(var(--pad) * 4);}
}

@media screen and (max-width : 1380px) {
	.main-menu .level-0:not(.icon):not(.button) > a {font-size: 0.875rem;}

	.row-footer-form .align {gap: calc(var(--pad) * 6);}

	.press-wrap {gap: calc(var(--pad) * 10);}

	.row-about-about {--content-width: 800px;}

	.row-content-with-cards .cols {gap: calc(var(--pad) * 10);}
}

@media screen and (max-width : 1280px) {
	.padding-lr-2 {padding-left: 0 !important; padding-right: 0 !important;}

	.site-logo a {width: 160px;}

	.secondary-menu {width: 160px;}

	.main-menu > ul {gap: calc(var(--pad) * 1.25);}
	.main-menu .level-0:not(.icon):not(.button) > a {font-size: 0.75rem;}
	.main-menu .button > a {padding: 0 calc(var(--pad) * 2); font-size: 0.875rem;}

	.row-home-categories .bottom {gap: calc(var(--pad) * 4);}
	.row-home-categories .bottom .h3 {font-size: 2rem !important;}

	.row-home-categories .grid {--gap: calc(var(--pad) * 3);}
	.row-home-categories .overlay {padding: calc(var(--pad) * 2.5) calc(var(--pad) * 3);}
	.row-home-categories .desc {font-size: 1rem;}

	.row-home-hero .content-2 {width: 42%;}

	.row-home-marquee .marquee {padding: 0;}

	.press-wrap {gap: calc(var(--pad) * 6);}
	.press-post a {gap: calc(var(--pad) * 4);}
	.press-post .image {width: 200px;}

	.row-about-about {--content-width: 660px;}

	.row-content-with-cards .cols {gap: calc(var(--pad) * 6);}
	
	.boxes-cards .box .align {gap: calc(var(--pad) * 5); padding: calc(var(--pad) * 6);}
	.boxes-cards .box .number {font-size: 5rem; width: 140px;}

	.team-grid {--columns: repeat(4, 1fr);}
}

@media screen and (max-width : 1023px) {
	.padding-lr-1 {padding-left: 0 !important; padding-right: 0 !important;}

	.padding-top-xl {padding-top: calc(var(--pad) * 9);}
	.padding-bottom-xl {padding-bottom: calc(var(--pad) * 9);}
	.padding-left-xl {padding-left: 4%;}
	.padding-right-xl {padding-right: 4%;}

	.padding-top-l {padding-top: calc(var(--pad) * 6);}
	.padding-bottom-l {padding-bottom: calc(var(--pad) * 6);}
	.padding-left-l {padding-left: 2%;}
	.padding-right-l {padding-right: 2%;}

	.padding-top-m {padding-top: calc(var(--pad) * 2.5);}
	.padding-bottom-m {padding-bottom: calc(var(--pad) * 2.5);}
	.padding-left-m {padding-left: 0;}
	.padding-right-m {padding-right: 0;}

	#mobile-menu-toggle {display: inline-block;}

	.primary-menu {display: none;}
	.secondary-menu {width: unset; flex: 1;}

	#header .content {height: 80px;}

	.padding-from-header {padding-top: 80px;}

	.row-footer-form .align {gap: calc(var(--pad) * 4);}
	.row-footer-form .sidebar {width: 260px;}
	.row-footer-form .text p {margin: 0 0 4px 0;}
	.row-footer-form .text p:has(a) {font-size: 1.25rem;}
	.row-footer-form .footer-menu {margin: calc(var(--pad) * 4) 0 0 0;}
	.row-footer-form .footer-menu a {font-size: 1rem;}
	.row-footer-form .fields {--gap: calc(var(--pad) * 3); --columns: repeat(2, 1fr);}
	.row-footer-form .field.two {grid-row: 8;}
	.row-footer-form .field.three {grid-column: span 2;}

	.row-home-categories .grid {--columns: repeat(2, 1fr);}
	.row-home-categories .image:after {height: 100%;}

	h3, .h3 {font-size: 2rem !important; line-height: 110% !important;}
	h4, .h4 {font-size: 1.75rem !important; line-height: 130% !important;}
	h5, .h5 {font-size: 1.5rem !important; line-height: 135% !important;}
	h6, .h6 {font-size: 1.375rem !important; line-height: 140% !important;}

	.row-home-categories .bottom .content {width: 100%; text-align: center;}
	.row-home-categories .bottom .line {display: none;}
	.row-home-categories .bottom .cta {width: 100%; text-align: center;}
	.row-home-categories .bottom .cta .button {width: unset !important;}

	.row-home-marquee .track span {font-size: 1rem;}
	.row-home-marquee .track span:before {width: 5px;}

	.press-post .title {font-size: 1.25rem; line-height: 135%;}
	.press-post .image {width: 100%;}
	.press-post .meta {font-size: 1rem;}
	
	.press-post.featured .title {font-size: 1.5rem; line-height: 125%;}

	.press-posts {gap: calc(var(--pad) * 5);}
	.press-posts .press-post:not(:last-child) {padding: 0 0 calc(var(--pad) * 5) 0;}

	.row-about-about {--content-width: 500px;}
	.row-about-about .im {width: calc(((100vw - var(--content-width)) / 2) - var(--pad) * 2) !important;}
	.row-about-about .im-1,
	.row-about-about .im-2 {left: 0;}
	.row-about-about .im-3,
	.row-about-about .im-4 {right: 0;}
	.row-about-about .entry-content p {font-size: 1.125rem;}

	.row-content-with-cards .entry-content p {font-size: 1.125rem;}

	.boxes-cards .box .align {gap: calc(var(--pad) * 4); padding: calc(var(--pad) * 4);}
	.boxes-cards .box .number {font-size: 3rem; width: 80px;}
	.boxes-cards .box .title {font-size: 1.375rem; line-height: 140%;}

	.team-grid {--columns: repeat(3, 1fr);}
}

@media screen and (max-width : 899px) {
	.row-footer-form .sidebar {width: 220px;}
	.row-footer-form .text p {font-size: 1rem;}
	.row-footer-form .text p:has(a) {font-size: 1.125rem;}
	.row-footer-form .footer-menu a {font-size: 0.875rem;}

	.social-menu > ul {gap: var(--pad);}
}

@media screen and (max-width : 767px) {
	.padding-lr-3 {padding-left: 0 !important; padding-right: 0 !important;}

	.padding-top-xl {padding-top: calc(var(--pad) * 6);}
	.padding-bottom-xl {padding-bottom: calc(var(--pad) * 6);}

	.padding-top-l {padding-top: calc(var(--pad) * 4.5);}
	.padding-bottom-l {padding-bottom: calc(var(--pad) * 4.5);}

	h1, .h1,
	h2, .h2,
	h3, .h3,
	h4, .h4,
	h5, .h5,
	h6, .h6,
	.entry-content p, .entry-content .as-p,
	.entry-content hr,
	.entry-content ul, .entry-content ol,
	.entry-content iframe,
	.entry-content .table, .entry-content table,
	.button-group
	{margin: 0 0 calc(var(--pad) * 2.5) 0;}

	.entry-content p, .entry-content .as-p {font-size: 1rem;}
	.entry-content li {font-size: 1rem; padding: 0 0 0 calc(var(--pad) * 2.25);}
	.entry-content ul li:before {top: 8px;}

	#header .content {gap: calc(var(--pad) * 1.5);}

	a.button,
	.button a,
	button.button,
	input.button,
	span.button {height: calc(var(--pad) * 6); font-size: 1rem; padding: 0 calc(var(--pad) * 4);}

	.row-footer-form .sidebar {width: 100%; display: flex; flex-wrap: wrap; gap: calc(var(--pad) * 4);}
	.row-footer-form .text {order: 1; flex: 1;}
	.row-footer-form .social-menu {margin: 0; order: 2;}
	.row-footer-form .footer-menu {margin: 0; order: 3; width: 100%;}
	.row-footer-form .footer-menu > ul {grid-template-columns: repeat(4, 1fr);}

	h3, .h3 {font-size: 1.375rem !important; line-height: 130% !important;}
	h4, .h4 {font-size: 1.25rem !important; line-height: 140% !important;}
	h5, .h5 {font-size: 1.125rem !important; line-height: 145% !important;}
	h6, .h6 {font-size: 1rem !important; line-height: 150% !important;}

	.row-home-marquee {padding: calc(var(--pad) * 4) 0;}

	.carousel-wrap {padding: calc(var(--pad) * 4) 0 0 0; margin-top: 0;}
	.carousel {width: 50%;}
	.card video,
	.card img {border-radius: 10px;}

	.row-home-about .bottom {padding-top: 0;}

	.press-wrap {gap: calc(var(--pad) * 5);}
	.press-wrap .sidebar {flex: 100%; padding: 0 0 calc(var(--pad) * 5) 0; border-bottom: solid 1px var(--white);}
	.press-wrap .main {flex: 100%;}

	.row-about-about {--content-width: 100%;}
	.row-about-about .images {position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--pad); padding: var(--pad); margin: calc(var(--pad) * 5) 0 0 0;}
	.row-about-about .im {position: relative; left: unset !important; top: unset !important; width: 100% !important;}
	.row-about-about .im img {width: 100%; height: 100%; object-fit: cover;}
	.row-about-about .im .rellax {transform: none !important; display: contents;}
	.row-about-about .entry-content p {font-size: 1rem;}
	.row-about-about .entry-content p:has(.button) {margin-block: 40px !important;}
	.row-about-about .tagline {top: 15%;}

	.row-content-with-cards .entry-content p {font-size: 1rem;}

	.row-content-with-cards .cards {width: 100%;}

	.person-title {font-size: 1.125rem; line-height: 140%;}
	.person-role {font-size: 1rem; margin: 2px 0 0 0;}

	.person-window .person-head {gap: calc(var(--pad) * 3);}
	.person-window .person-image {width: 90px;}
	.person-window .person-body {margin: calc(var(--pad) * 4) 0 0 0;}
}

@media screen and (max-width : 599px) {
	#footer .copyright {gap: calc(var(--pad) * 1.5) calc(var(--pad) * 2.5);}

	.row-footer-form .footer-menu > ul {grid-template-columns: repeat(3, 1fr);}

	.row-footer-form .fields {--columns: unset;}
	.row-footer-form .field.two {grid-column: unset; grid-row: 13;}
	.row-footer-form .field.three {grid-column: unset;}

	.row-home-categories .overlay {gap: var(--pad); padding: calc(var(--pad) * 2);}
	.row-home-categories .title {font-size: 1.25rem;}
	.row-home-categories .desc {font-size: 0.875rem;}
	.row-home-categories .category .cta {font-size: 1rem;}

	.row-home-hero .overlay {flex-wrap: wrap; flex-direction: column; justify-content: center; gap: calc(var(--pad) * 2);}
	.row-home-hero .content-1 {width: 100%;}
	.row-home-hero .content-2 {width: 100%; text-align: unset;}

	.row-home-hero {margin-top: 40px;}

	h1, .h1 {line-height: 110% !important;}
		h2, .h2 {line-height: 120% !important;}

	.row-home-marquee {padding: calc(var(--pad) * 2.5) 0;}

	.row-about-about .tagline {top: 25%;}

	.boxes-cards .box .number {font-size: 2rem; width: 50px;}
	.boxes-cards .box .title {font-size: 1.25rem;}

	.team-grid {--gap: calc(var(--pad) * 4); --columns: repeat(2, 1fr);}
}

@media screen and (max-width : 467px) {
	#mobile-menu .level-0.button > a {width: 100%;}

	#footer .copyright p {width: 100%; text-align: center;}
}

@media screen and (max-width : 424px) {
	.site-logo a {width: 132px;}

	.main-menu .button > a {padding: 0 calc(var(--pad) * 1.5); font-size: 0.75rem;}

	.row-home-categories .grid {--columns: unset;}
	.row-home-categories .image {aspect-ratio: 1;}
}

@media screen and (max-width : 374px) {
	.secondary-menu {display: none;}

	.row-footer-form .footer-menu > ul {grid-template-columns: repeat(2, 1fr);}
}
/* Slightly taller homepage cards on mobile. */
@media screen and (max-width: 767px) {
  .row-home-categories .category .image {aspect-ratio: 314 / 396;}
}
@media screen and (max-width: 424px) {
  .row-home-categories .category .image {aspect-ratio: 10 / 11;}
}

/* Place the inquiry form before footer information on mobile. */
@media screen and (max-width: 767px) {
  .row-footer-form .align > .form {order: -1;}
}

/* Keep About and Media together in the mobile footer. */
@media (max-width: 767px) {
  .row-footer-form .footer-menu > ul > li:has(a[href$="/about/"]) {grid-column: 1;}
}

/* Show media post photos before their titles on mobile. */
@media (max-width: 767px) {
  .press-post > a {display: flex; flex-direction: column;}
  .press-post > a > .image {order: -1;}
}

/* Mobile hero: a clear photo collage above the copy and CTA. */
@media (max-width: 767px) {
  .home .row-home-hero {display: flex; flex-direction: column; margin-top: 96px;}
  .home .row-home-hero .images {grid-area: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0;}
  .home .row-home-hero .images .col {display: contents;}
  .home .row-home-hero .images .stack {height: auto; aspect-ratio: 3 / 4; margin: 0 !important;}
  .home .row-home-hero .images .image {height: 100%; aspect-ratio: auto;}
  .home .row-home-hero .images:before,
  .home .row-home-hero .images:after,
  .home .row-home-hero .images .stack:before,
  .home .row-home-hero .images .stack:after {display: none;}
  .home .row-home-hero .overlay {grid-area: auto; align-items: stretch; gap: 24px; padding: 32px 0 48px;}
  .home .row-home-hero .content-1,
  .home .row-home-hero .content-1 > .entry-content {display: contents;}
  .home .row-home-hero .content-1 h1 {margin: 0; line-height: 1.05 !important;}
  .home .row-home-hero .content-2 {order: 1; width: 100%; text-align: left;}
  .home .row-home-hero .content-2 h2 {margin: 0;}
  .home .row-home-hero .content-1 p {order: 2; margin: 0;}
  .home .row-home-hero .content-1 .button {width: 100%;}
}
