/*
  Theme Name: IRC Design 2025
  Author: Keanu Husen
  Author URI: https://www.brycereyes.com/
  Description: IRC Design 2025 is a custom theme designed by Bryce Reyes and built by Keanu Husen for IRC Design.
  Requires at least: WordPress 6.2.2
  Version: 1.0.0
  License: GNU General Public License v2 or later
  License URI: LICENSE
*/

/* -------------------- Settings -------------------- */

:root {
  --white: #fff;
  --black: #3b3b3b;
  
  --alabaster: #f3f2eb;
  --gold: #d4972a;
  --gray: #707070;
  --green: #7DA44B;
  --orange: #f26120;
  --platinum: #ced7d5;
  --teal: #4d989d;
}

/* ========== Main CSS ========== */

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: 'Avenir', sans-serif;
  text-wrap: pretty;
}

h1 {
  font-weight: 900;
  font-size: 2.5rem;
  line-height: 1.2;
}
h2 {
  font-weight: 900;
  font-size: 1.75rem;
  line-height: 1.2;
}
h3 {  
  font-size: 1rem;
  line-height: 1.2;
  font-style: italic;
  font-family: 'Iowan', serif;
  text-transform: uppercase;
}
h4 {
  font-weight: 900;
  font-size: 1rem;
  line-height: 1.2;
}
h5 {
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1.2;
}
h6 {
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1.2;
}

@media (min-width: 960px) {
  h1 {
    font-size: 3rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {  
    font-size: 1.25rem;
  }
  h4 {
    font-size: 1.25rem;
  }
  h5 {
    font-size: 0.9rem;
  }
  h6 {
    font-size: 0.9rem;
  }
}

@media (min-width: 1200px) {
  h1 {
    font-size: 4rem;
  }
  h2 {
    font-size: 3.5rem;
  }
  h3 {  
    font-size: 1.5rem;
  }
  h4 {
    font-size: 1.5rem;
  }
  h5 {
    font-size: 1rem;
  }
  h6 {
    font-size: 1rem;
  }
}


/* Header (sticky) */

.irc-header {
  width: 100%;
  display: block;
  background: var(--alabaster);
  color: var(--black);
  padding: 1rem;
  border-top: 0.5rem solid var(--orange);
  position: sticky;
  top: 0;
  z-index: 100;
  transition: all .25s ease;
}
.irc-header.scrolled {
  box-shadow: rgba(59, 59, 59, 0.25) 0px 0px 1rem;
}
.irc-header {
  width: 100%;
  display: block;
  background: var(--alabaster);
  color: var(--black);
  padding: 1rem;
  border-top: 0.5rem solid var(--orange);
  position: sticky;
  top: 0;
  z-index: 100;
}
.irc-header .irc-wrapper {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
}
.irc-header .irc-logo {
  flex: 0 0 auto;
}
.irc-header .irc-logo img {
  max-width: 160px;
}
.irc-header .irc-menu {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-end;
}
.irc-header .irc-menu a {
  display: block;
  padding: 0.75rem;
  /* background: var(--white); */
  border: 2px solid var(--orange);
}
.irc-header .irc-menu a .box {
  display: block;
  width: 1.5rem;
  height: 1rem;
  position: relative;
}
.irc-header .irc-menu a .line {
  width: 100%;
  height: 2px;
  background: var(--orange);
  position: absolute;
  top: 0;
  left: 0;
  transition: all .25s ease;
}
.irc-header .irc-menu a .line:nth-child(2) {
  top: 7px;
}
.irc-header .irc-menu a .line:nth-child(3) {
  top: 14px;
}
.irc-header .irc-menu.show a .line {
  top: 7px;
  transform: rotate(45deg);
}
.irc-header .irc-menu.show a .line:nth-child(2) {
  opacity: 0;
}
.irc-header .irc-menu.show a .line:nth-child(3) {
  transform: rotate(-45deg);
}
.irc-header .irc-nav {
  flex: 1 1 auto;
  display: none;
  text-align: right;
}
.irc-header .irc-nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
.irc-header .irc-nav ul li {
  position: relative;
}
.irc-header .irc-nav ul li .sub-nav {
  display: block;
  width: 280px;
  height: auto;
  margin-top: 1rem;
  padding: 0.5rem;
  font-size: 0.875rem;
  background: var(--alabaster);
  /* border: 0.25rem solid var(--orange); */
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  transition: all .25s ease;
  opacity: 0;
  visibility: hidden;
  box-shadow: rgba(59, 59, 59, 0.25) 0px 0px 1rem;
}
.irc-header .irc-nav ul li:hover .sub-nav {
  margin-top: 0;
  opacity: 1;
  visibility: visible;
}
.irc-header .irc-nav ul li .sub-nav ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  justify-content: flex-start;
  width: 100%;
  text-align: left;
}
.irc-header .irc-nav ul li .sub-nav ul li {
  width: 100%;
}
.irc-header .irc-nav ul li .sub-nav ul li a {
  display: block;
  padding: 0.5rem;
  border-top: none;
  border-bottom: 1px solid var(--orange);
}
.irc-header .irc-nav ul li .sub-nav ul li a:hover {
  color: var(--white);
  background: var(--orange);
}
.irc-header .irc-nav ul li .sub-nav ul li.k-12 a:hover {
  color: var(--white) !important;
  background: var(--green);
}
.irc-header .irc-nav ul li .sub-nav ul li.k-12 a:hover .irc-color-gold,
.irc-header .irc-nav ul li .sub-nav ul li.k-12 a:hover .irc-color-gray,
.irc-header .irc-nav ul li .sub-nav ul li.k-12 a:hover .irc-color-teal,
.irc-header .irc-nav ul li .sub-nav ul li.k-12 a:hover .irc-color-green {
  color: var(--white) !important;
}
.irc-header .irc-nav ul li .sub-nav ul li:last-child a {
  border-bottom: none;
}

.irc-header .irc-nav ul li a {
  display: inline-block;
  padding: 0.5rem 0;
  text-decoration: none;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
.irc-header .irc-nav ul li.selected a {
  border-top: 2px solid var(--orange);
  border-bottom: 2px solid var(--orange);
}
.irc-header .irc-nav ul .button a {
  display: block;
  padding: 0.5rem 1rem 0.25rem 1rem;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid var(--orange);
}

@media (min-width: 960px) {
  .irc-header .irc-wrapper {
    padding: 1rem 0;
  }
  .irc-header .irc-logo img {
    max-width: 240px;
  }
}
@media (min-width: 1025px) {
  .irc-header .irc-nav {
    display: block;
  }
  .irc-header .irc-menu {
    display: none;
  }
}


/* Main Mobile Menu */

.irc-mobile-nav {
  width: 100%;
  height: 100%;
  /* height: calc(100vh + 4rem); */
  padding: 1rem 1rem 5rem 1rem;
  background: var(--alabaster);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  visibility: hidden;
  opacity: 0;
  transition: all .25s ease;
}
.irc-mobile-nav.show {
  visibility: visible;
  opacity: 1;
}
.irc-mobile-nav .wrapper {
  padding-top: calc(84px + 1rem);
}
.irc-mobile-nav .wrapper .nav {
  list-style: none;
}
.irc-mobile-nav .wrapper .nav li {
  display: block;
  position: relative;
}
.irc-mobile-nav .wrapper .nav li a {
  display: block;
  padding: 1rem 0;
  text-decoration: none;
  border-top: 1px solid var(--orange);
}
.irc-mobile-nav .wrapper .nav li:last-child a {
  border-bottom: 2px solid var(--orange);
}
.irc-mobile-nav .wrapper .nav li.button a {
  display: block;
  padding: 0.75rem 1rem 0.5rem 1rem;
  color: var(--white);
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid var(--orange);
  background: var(--orange);
}

.irc-mobile-nav .wrapper .nav li .indicator {
  padding: 1rem;
  color: var(--black);
  position: absolute;
  top: 0;
  right: 0;
  /* background: var(--orange); */
  border: 1px solid var(--orange);
}
.irc-mobile-nav .wrapper .nav li .sub-nav {
  padding: 0 1rem;
  max-height: 0;
  overflow: hidden;
  transition: all .25s ease;
}
.irc-mobile-nav .wrapper .nav li .sub-nav.show {
  padding: 1rem;
  max-height: 320px;
}
.irc-mobile-nav .wrapper .nav li .sub-nav a {
  border-top: none;
  border-bottom: none;
  padding: 0 0 1rem 0;
}
.irc-mobile-nav .wrapper .meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 2rem 0;
}
.irc-mobile-nav .wrapper .meta .heading {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  font-weight: bold;
  border-bottom: 1px solid var(--black);
}


/* Main Content */

.irc-main {
  flex: 1;
  padding: 0;
  overflow-x: hidden;
}
.irc-main ol,
.irc-main ul {
  margin-left: 1rem;
}
.irc-main ol {
  list-style: decimal;
}
.irc-main ul {
  list-style: disc;
}


/* Home Hero */

.home-hero {
  width: 100%;
  padding: 2rem 1rem 0 1rem;
  position: relative;
}
.home-hero .ruler {
  max-width: 3rem;
  position: absolute;
  top: 40%;
  right: 0;
  z-index: 0;
}
.home-hero .container {
  display: flex;
  flex-flow: row-reverse wrap;
  gap: 2rem;
}
.home-hero .container .content {
  flex: 1 1 100%;
  margin-right: 0;
  position: relative;
  z-index: 20;
}
.home-hero .container .content .draw-line {
  display: none;
  height: 2rem;
  width: 2px;
  position: absolute;
  left: 4rem;
  bottom: 4rem;
  z-index: 80;
}
.home-hero .container .graphic {
  flex: 1 1 100%;
  position: relative;
  z-index: 10;
}
.home-hero .container .graphic .bg {
  margin-right: -3rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 70;
}
.home-hero .container .graphic .grid {
  max-width: 16rem;
  position: absolute;
  top: -1rem;
  right: 8rem;
  z-index: 80;
}
.home-hero .container .graphic .zap {
  max-width: 2rem;
  position: absolute;
  top: -2rem;
  right: 3rem;
  z-index: 80;
}
.home-hero .container .graphic .target {
  max-width: 2rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 80;
}
.home-hero .container .graphic .hero {
  margin-left: -1rem;
  position: relative;
  z-index: 90;
}
.home-hero h1 {
  color: var(--orange);
  text-transform: uppercase;
}
.home-hero p {
  margin: 16px 0 16px 0;
  color: var(--black);
  font-size: 1rem;
  font-family: 'Iowan', serif;
  text-transform: uppercase;
}
.home-hero .irc-button {
  margin-top: 16px;
}

@media (min-width: 760px) {
  .home-hero {
    padding: 6rem 1rem 0 1rem;
    margin: 16px 0 32px 0;
  }
  .home-hero .container {
    flex-flow: row nowrap;
    gap: 1rem;
  }
  .home-hero .container .content {
    flex: 1 1 33.33%;
    margin-right: -3rem;
  }
  .home-hero .container .graphic {
    flex: 1 1 66.67%;
  }
  .home-hero .container .graphic .bg {
    margin-right: -3rem;
    top: 0;
    left: 0;
  }
  .home-hero .container .graphic .grid {
    max-width: 24rem;
    top: -6rem;
    right: 8rem;
  }
  .home-hero .container .graphic .zap {
    top: -3rem;
    right: 3rem;
  }
  .home-hero .container .graphic .target {
    max-width: 4rem;
    top: 0;
    left: 8rem;
  }
  .home-hero .container .graphic .hero {
    margin-left: -1rem;
  }
}
@media (min-width: 960px) {
  .home-hero p {
    font-size: 1.25rem;
  }
  .home-hero .container {
    flex-flow: row nowrap;
  }
  .home-hero .container .content {
    flex: 1 1 33.33%;
  }
  .home-hero .container .graphic {
    flex: 1 1 66.67%;
  }
  .home-hero .container .content .draw-line {
    display: block;
    height: 8rem;
    bottom: 2rem;
  }
}
@media (min-width: 1025px) {
  .home-hero .ruler {
    max-width: 4rem;
  }
}
@media (min-width: 1200px) {
  .home-hero p {
    font-size: 1.5rem;
  }
  .home-hero .container .content .draw-line {
    height: 12rem;
    bottom: 4rem;
  }
}


/* Home Steps */

.home-steps {
  width: 100%;
  padding: 0 1rem 0 1rem;
  background: var(--platinum);
}
.home-steps .container {
  padding: 4rem 1rem 2rem 1rem;
  color: var(--white);
  background: var(--orange);
  transform: translateY(-4rem);
}
.home-steps .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--black);
}
.home-steps .container .content {
  display: flex;
  flex-flow: row wrap;
  gap: 2rem;
  padding-top: 2rem;
  position: relative;
}
.home-steps .container .content .graphic {
  flex: 1 1 100%;
  margin-left: 0;
}
.home-steps .container .content .list {
  flex: 1 1 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.home-steps .container .content .list .li {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
}
.home-steps .container .content .list .li:after {
  width: 1px;
  height: calc(100% - 64px);
  position: absolute;
  left: 24px;
  content: '';
  display: block;
  background: var(--black);
  top: 64px;
}
.home-steps .container .content .list .li .number {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: var(--black);
  font-size: 1.5rem;
  font-style: italic;
  font-family: 'Iowan', serif;
  text-align: center;
  background: var(--white);
  border-radius: 3rem;
}
.home-steps .container .content .list .li .copy {
  flex: 1 1 auto;
  display: block;
  padding-top: 0.5rem;
  color: var(--black);
}
.home-steps .container .content .list .li .copy h4 {
  color: var(--white);
}
.home-steps .container .content .list .li .copy p {
  margin: 8px 0;
}

@media (min-width: 760px) {
  .home-steps .container {
    padding: 6rem 4rem 4rem 4rem;
    transform: translateY(-8rem);
  }
  .home-steps .container .content {
    flex-flow: row nowrap;
    gap: 2rem;
    padding-top: 4rem;
  }
  .home-steps .container .content .graphic {
    flex: 1 1 40%;
    margin-left: -5rem;
  }
  .home-steps .container .content .list {
    flex: 1 1 60%;
  }
}
@media (min-width: 960px) {
  .home-steps .container .content {
    gap: 4rem;
  }
  .home-steps .container .content .graphic {
    margin-left: -6rem;
  }
  .home-steps .container .content .list .li {
    gap: 2rem;
  }
}
@media (min-width: 1200px) {
  .home-steps .container .content {
    gap: 6rem;
  }
  .home-steps .container .content .graphic {
    margin-left: -8rem;
  }
}


/* Home Parallax */

.home-parallax {
  width: 100%;
  padding: 8rem 1rem 8rem 1rem;
  position: relative;
  overflow: hidden;
}
.home-parallax .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  object-fit: cover;
}
.home-parallax .bg-image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.home-parallax .container {
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 10;
}
.home-parallax .container .dots {
  max-width: 45%;
  position: absolute;
  top: -12rem;
  left: 0rem;
  z-index: 20;
}
.home-parallax .container .logo {
  max-width: 100%;
  margin-right: 0;
  position: relative;
  z-index: 30;
}

@media (min-width: 960px) {
  .home-parallax .container .logo {
    max-width: 55%;
    margin-right: -4rem;
  }
}


/* Home Grid */

.home-grid {
  width: 100%;
  padding: 2rem 1rem 4rem 1rem;
  background: var(--white);
  position: relative;
}
.home-grid .bg {
  position: absolute;
  top: 2rem;
  left: 50%;
  width: 100%;
  max-width: 1360px;
  height: 100%;
  z-index: 0;
  background: url('/wp-content/uploads/2025/10/Grid.svg') repeat-y top center / contain;
  transform: translateX(-50%);
}
.home-grid .container {
  padding: 2rem 0rem;
  position: relative;
  z-index: 10;
}
.home-grid .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.home-grid .container .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-top: 1rem;
  position: relative;
}
.home-grid .container .grid .item {
  display: block;
  text-align: center;
}
.home-grid .container .grid .item p {
  margin: 8px 0 16px 0;
}
.home-grid .container .grid .item .graphic {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 120px;
  height: 80px;
  margin: 0 auto;
}
.home-grid .container .grid .item .graphic img {
  width: 100%;
  max-width: 120px;
  max-height: 80px;
  padding: 1rem;
}
.home-grid .container .grid .item .irc-button {
  display: none;
}

@media (min-width: 760px) {
  .home-grid {
    padding: 4rem 1rem 8rem 1rem;
  }
  .home-grid .bg {
    top: 4rem;
  }
  .home-grid .container {
    padding: 2rem 4rem;
  }
  .home-grid .container .grid {
    gap: 2rem;
    padding-top: 4rem;
    grid-template-columns: 1fr 1fr;
  }
  .home-grid .container .grid .item .graphic {
    width: 180px;
    height: 140px;
  }
  .home-grid .container .grid .item .graphic img {
    max-width: 180px;
    max-height: 140px;
  }
  .home-grid .container .grid .item .irc-button {
    display: block;
  }
}
@media (min-width: 960px) {
  .home-grid .container .grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
  }
  .home-grid .container .grid .item .graphic {
    width: 240px;
    height: 200px;
  }
  .home-grid .container .grid .item .graphic img {
    max-width: 240px;
    max-height: 200px;
  }
}


/* Home Features */

.home-features {
  width: 100%;
  padding: 0 1rem 0 1rem;
  background: var(--white);
}
.home-features .container {
  padding: 4rem 1rem 2rem 1rem;
  background: var(--alabaster);
  transform: translateY(-4rem);
  position: relative;
  z-index: 10;
}
.home-features .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.home-features .container .grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding-top: 2rem;
  position: relative;
}
.home-features .container .grid .item {
  display: block;
  text-align: center;
}
.home-features .container .grid .item p {
  margin: 8px 0 16px 0;
}
.home-features .container .grid .item .divider {
  margin: 1rem 0;
  width: 100%;
  height: 2px;
  background: var(--orange);
}
.home-features .container .grid .item .graphic {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 200px;
  height: 200px;
  margin: 0 auto;
  padding-bottom: 1rem;
}
.home-features .container .grid .item .graphic img {
  width: 100%;
  max-width: 200px;
  max-height: 200px;
  padding: 1rem;
}

@media (min-width: 760px) {
  .home-features .container .grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
  }
}
@media (min-width: 960px) {
  .home-features .container {
    padding: 6rem 4rem;
    transform: translateY(-6rem);
  }
  .home-features .container .grid {
    gap: 3rem;
    padding-top: 4rem;
  }
}


/* Home Projects */

.home-projects {
  width: 100%;
  padding: 12rem 1rem 2rem 1rem;
  margin-top: -14rem;
  background: var(--platinum);
  position: relative;
}
.home-projects .bg {
  position: absolute;
  top: 12rem;
  left: 50%;
  width: 100%;
  max-width: 1360px;
  height: 100%;
  z-index: 0;
  background: url('/wp-content/uploads/2025/10/Grid.svg') repeat-y top center / contain;
  transform: translateX(-50%);
}
.home-projects .container {
  padding: 2rem 0rem;
  position: relative;
  z-index: 10;
}
.home-projects .container .zap {
  max-width: 2rem;
  position: absolute;
  top: -8rem;
  right: -1rem;
  z-index: 80;
}
.home-projects .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.home-projects .container .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding-top: 2rem;
  position: relative;
}
.home-projects .container .cards .card {
  display: flex;
  flex-flow: row wrap;
  gap: 0;
  max-width: 960px;
  margin: 0 auto;
  padding: 1rem;
  background: var(--white);
}
.home-projects .container .cards .card .graphic {
  flex: 1 1 100%;
}
.home-projects .container .cards .card .graphic img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.home-projects .container .cards .card .copy {
  flex: 1 1 100%;
}
.home-projects .container .cards .card .copy .details {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  border-bottom: 2px solid var(--orange);
}
.home-projects .container .cards .card .copy .details .title {
  flex: 1 1 auto;
  padding: 1rem 1rem 1rem 0;
  border-right: 2px solid var(--orange);
}
.home-projects .container .cards .card .copy .details .location {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  padding: 1rem 0 1rem 1rem;
  text-transform: uppercase;
}
.home-projects .container .cards .card .copy .tags {
  padding: 1rem 0;
  font-size: 0.875rem;
  text-transform: uppercase;
  border-bottom: 2px solid var(--orange);
}
.home-projects .container .cards .card .copy .excerpt {
  padding: 1rem 0 0 0;
  /* border-bottom: 2px solid var(--orange); */
}
.home-projects .container .cards .card .copy .irc-button {
  margin-top: 1rem;
}
.home-projects .container .cards .card .copy .irc-button a {
  width: 100%;
  text-align: center;
}

.home-projects .container .cards .card.alt {
  flex-flow: row wrap;
}
.home-projects .container .cards .card.alt .graphic img {
  margin-left: auto;
  margin-right: 0;
}

.home-projects .container > .irc-button {
  margin-top: 2rem;
  text-align: center;
}

@media (min-width: 760px) {
  .home-projects {
    padding: 16rem 1rem 4rem 1rem;
    margin-top: -16rem;
  }
  .home-projects .container .cards {
    gap: 2rem;
    padding-top: 4rem;
  }
  .home-projects .container .cards .card {
    flex-flow: row nowrap;
    gap: 0;
    padding: 2rem;
  }
  .home-projects .container .cards .card.alt {
    flex-flow: row-reverse nowrap;
  }
  .home-projects .container .cards .card .graphic {
    flex: 0 0 40%;
  }
  .home-projects .container .cards .card .graphic img {
    margin-left: -1rem;
  }
  .home-projects .container .cards .card.alt .graphic img {
    margin-right: -1rem;
  }
  .home-projects .container .cards .card .copy {
    flex: 1 1 60%;
  }
  .home-projects .container .cards .card .copy .irc-button a {
    width: auto;
  }
}
@media (min-width: 960px) {
  .home-projects .container .cards {
    gap: 4rem;
  }
  .home-projects .container > .irc-button {
    margin-top: 4rem;
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .home-projects .container {
    padding: 2rem 4rem;
  }
  .home-projects .container .cards .card .graphic img {
    margin-left: -4rem;
  }
  .home-projects .container .cards .card.alt .graphic img {
    margin-right: -4rem;
  }
}


/* Home Partners */

.home-partners {
  width: 100%;
  padding: 0 1rem 0 1rem;
  background: var(--white);
  margin-bottom: -8rem;
}
.home-partners .container {
  padding: 3rem 1rem;
  background: var(--alabaster);
  transform: translateY(-6rem);
  position: relative;
  z-index: 10;
}
.home-partners .container .heading {
  padding-bottom: 2rem;
  text-align: center;
  border-bottom: 2px solid var(--orange);
}
.home-partners .container .heading h2 {
  max-width: 580px;
  margin: 0 auto;
}
.home-partners .container .copy {
  max-width: 580px;
  margin: 0 auto;
  padding-top: 2rem;
  text-align: center;
}
.home-partners .container .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-top: 2rem;
  position: relative;
}
.home-partners .container .grid .item {
  display: block;
  text-align: center;
  position: relative;
}
.home-partners .container .grid .item .graphic {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 0 auto;
  aspect-ratio: 4/3;
}
.home-partners .container .grid .item .graphic img {
  display: block;
  width: 100%;
  height: auto;
  padding: 0 3rem;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 10;
  transform: translateY(-50%);
}
.home-partners .container .grid .item .graphic img.bg {
  width: 100%;
  height: 100%;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transform: none;
}
.home-partners .container .grid .item .graphic img.logo {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 4rem;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (min-width: 760px) {
  .home-partners .container {
    padding: 4rem 2rem;
  }
  .home-partners .container .grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
    padding-top: 4rem;
  }
}
@media (min-width: 960px) {
  .home-partners .container {
    padding: 6rem 4rem;
  }
  .home-partners .container .grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 2rem;
    padding-top: 4rem;
  }
  .home-partners .container .grid .item .graphic img.logo {
    max-height: 6rem;
  }
}


/* Page Hero */

.page-hero {
  width: 100%;
  padding: 1rem 1rem 0 1rem;
}
.page-hero .container {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  position: relative;
}
.page-hero .container .draw-line {
  display: none;
  height: 12rem;
  width: 2px;
  position: absolute;
  left: 4rem;
  bottom: -4rem;
  z-index: 10;
}
.page-hero.about .container .draw-line {
  display: none;
  bottom: 4rem;
}
.page-hero .container .content {
  flex: 1 1 100%;
  margin-right: 0;
  position: relative;
  z-index: 20;
}
.page-hero .container .content .target {
  max-width: 2rem;
}
.page-hero .container .dots {
  max-width: 24rem;
  position: absolute;
  top: 16rem;
  left: -4rem;
  z-index: 0;
  opacity: 0.5;
}
.page-hero .container .graphic {
  flex: 1 1 100%;
  position: relative;
  z-index: 10;
}
.page-hero .container .graphic .grid {
  max-width: 16rem;
  position: absolute;
  top: 0rem;
  left: -2rem;
  z-index: 80;
  opacity: 0.2;
}
.page-hero .container .graphic .zap {
  max-width: 2rem;
  position: absolute;
  top: -1rem;
  right: 0rem;
  z-index: 80;
}
.page-hero .container .graphic .hero {
  margin-left: -1rem;
  position: relative;
  z-index: 90;
}
.page-hero h1 {
  color: var(--orange);
  /* font-size: 4rem; */
  text-transform: uppercase;
}
.page-hero p {
  margin: 1rem 0;
  color: var(--black);
  font-size: 1rem;
  font-family: 'Iowan', serif;
  text-transform: uppercase;
}
.page-hero .irc-button {
  margin-top: 16px;
}

@media (min-width: 760px) {
  .page-hero {
    padding: 4rem 1rem 0 1rem;
  }
  .page-hero h1 {
    font-size: 4.5rem;
  }
  .page-hero .container {
    flex-flow: row nowrap;
    gap: 1rem;
  }
  .page-hero .container .draw-line {
    display: block;
    height: 12rem;
    left: 4rem;
    bottom: -4rem;
  }
  .page-hero.about .container .draw-line {
    display: block;
    bottom: 4rem;
  }
  .page-hero .container .dots {
    max-width: 48rem;
    top: 24rem;
    left: -12rem;
  }
  .page-hero .container .content {
    flex: 1 1 45%;
    margin-right: -6rem;
  }
  .page-hero .container .content .target {
    max-width: 4rem;
  }
  .page-hero .container .graphic {
    flex: 1 1 55%;
    margin-right: -3rem;
  }
  .page-hero .container .graphic .grid {
    max-width: 24rem;
    top: -4rem;
    left: -6rem;
  }
  .page-hero .container .graphic .zap {
    max-width: 2rem;
    position: absolute;
    top: -3rem;
    right: 3rem;
    z-index: 80;
  }
  .page-hero p {
    margin: 2rem 0 1rem 0;
    font-size: 1.5rem;
  }
}


/* Page Intro (postcard) */

.page-intro-postcard {
  width: 100%;
  padding: 0 1rem 0 1rem;
  background: var(--platinum);
}
.page-intro-postcard .container {
  padding: 4rem 1rem 2rem 1rem;
  color: var(--black);
  background: var(--white);
  transform: translateY(-4rem);
}
.page-intro-postcard .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.page-intro-postcard .container .content {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  padding-top: 2rem;
  position: relative;
}
.page-intro-postcard .container .content .graphic {
  flex: 1 1 100%;
  margin-right: 0;
}
.page-intro-postcard .container .content .copy {
  flex: 1 1 100%;
  font-size: 1rem;
  line-height: 2;
}
.page-intro-postcard .container .content .copy p {
  padding-bottom: 1rem;
}
.page-intro-postcard .container .content .copy p:last-child {
  padding-bottom: 0;
}
.page-intro-postcard .container .br-icon {
  max-width: 2rem;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 20;
}

@media (min-width: 760px) {
  .page-intro-postcard .container {
    padding: 8rem 4rem 6rem 4rem;
    transform: translateY(-8rem);
  }
  .page-intro-postcard .container .content {
    flex-flow: row-reverse nowrap;
    gap: 4rem;
    padding-top: 4rem;
  }
  .page-intro-postcard .container .content .graphic {
    flex: 1 1 40%;
    margin-right: -8rem;
  }
  .page-intro-postcard .container .content .copy {
    flex: 1 1 60%;
    font-size: 1.1rem;
  }
  .page-intro-postcard .container .br-icon {
    max-width: 4rem;
  }
}
@media (min-width: 960px) {
  .page-intro-postcard .container .content .copy {
    font-size: 1.2rem;
  }
}


/* Page Intro (grid) */

.page-intro-grid {
  width: 100%;
  padding: 0 1rem 0 1rem;
  background: var(--alabaster);
}
.page-intro-grid .container {
  padding: 4rem 1rem 2rem 1rem;
  color: var(--black);
  background: var(--white);
  transform: translateY(-2rem);
}
.page-intro-grid .container .tl-icon {
  max-width: 3rem;
  position: absolute;
  top: 5rem;
  left: -1rem;
  z-index: 20;
  transform: translateY(-100%);
}
.page-intro-grid .container .tl-icon.k-12 {
  z-index: 30;
}
.page-intro-grid .container .br-icon {
  max-width: 3rem;
  position: absolute;
  bottom: 0;
  right: 1rem;
  z-index: 20;
}
.page-intro-grid .container .highlight-icon {
  margin-bottom: 2rem;
  padding: 2rem;
  text-align: center;
  position: relative;
}
.page-intro-grid .container .highlight-icon .bg {
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.page-intro-grid .container .highlight-icon img {
  max-width: 6rem;
  margin: 0 auto;
  position: relative;
  z-index: 20;
}
.page-intro-grid .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.page-intro-grid .container .content {
  gap: 4rem;
  padding-top: 2rem;
  position: relative;
}
.page-intro-grid .container .content {
  font-size: 1rem;
  line-height: 2;
}
.page-intro-grid .container .content p {
  padding-bottom: 1rem;
}
.page-intro-grid .container .content p:last-child {
  padding-bottom: 0;
}
.page-intro-grid .container .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
  padding: 0;
  position: relative;
}
.page-intro-grid .container .grid.three {
  grid-template-columns: 1fr 1fr;
}
.page-intro-grid .container .grid .item {
  display: block;
  text-align: center;
}
.page-intro-grid .container .grid .item p {
  margin: 8px 0 16px 0;
}
.page-intro-grid .container .grid .item .graphic {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 120px;
  height: 80px;
  margin: 0 auto;
}
.page-intro-grid .container .grid .item .graphic img {
  width: 100%;
  max-width: 120px;
  max-height: 80px;
  padding: 1rem;
}
.page-intro-grid .container .grid .item .irc-button {
  display: none;
}
.page-intro-grid .container .irc-button.center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}

@media (min-width: 760px) {
  .page-intro-grid .container {
    margin-bottom: -2rem;
    padding: 6rem 4rem 4rem 4rem;
    transform: translateY(-4rem);
  }
  .page-intro-grid .container .tl-icon {
    max-width: 6rem;
    top: 0;
    left: -1rem;
    transform: translateY(-100%);
  }
  .page-intro-grid .container .br-icon {
    max-width: 6rem;
    bottom: 0;
    right: 2rem;
  }
  .page-intro-grid .container .highlight-icon {
    margin-bottom: 2rem;
    padding: 4rem;
  }
  .page-intro-grid .container .highlight-icon img {
    max-width: 10rem;
    max-height: 10rem;
  }
  .page-intro-grid .container .highlight-icon img.bg {
    max-height: initial;
  }
  .page-intro-grid .container .content {
    font-size: 1.1rem;
    padding-top: 3rem;
  }
  .page-intro-grid .container .grid {
    gap: 2rem;
    margin: 0;
    padding: 1rem;
  }
  .page-intro-grid .container .grid.three {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .page-intro-grid .container .grid .item .graphic {
    width: 180px;
    height: 140px;
  }
  .page-intro-grid .container .grid .item .graphic img {
    max-width: 180px;
    max-height: 140px;
    padding: 1rem;
  }
  .page-intro-grid .container .grid .item .irc-button {
    display: block;
  }
}
@media (min-width: 1200px) {
  .page-intro-grid .container .content {
    font-size: 1.2rem;
    padding-top: 4rem;
  }
  .page-intro-grid .container .grid {
    gap: 4rem;
    padding: 4rem;
  }
  .page-intro-grid .container .grid .item .graphic {
    width: 240px;
    height: 200px;
  }
  .page-intro-grid .container .grid .item .graphic img {
    max-width: 240px;
    max-height: 200px;
    padding: 1rem;
  }
}


/* Page Intro (contact) */

.page-intro-contact {
  width: 100%;
  padding: 2rem 1rem 2rem 1rem;
  background: var(--alabaster);
}
.page-intro-contact .container {
  margin-bottom: -4rem;
  padding: 2rem 1rem;
  color: var(--black);
  background: var(--white);
  position: relative;
}
.page-intro-contact .container .target {
  max-width: 2rem;
  position: absolute;
  top: -1rem;
  left: -1rem;
  z-index: 80;
}
.page-intro-contact .container .content {
  display: flex;
  flex-flow: row wrap;
  gap: 2rem;
  padding-bottom: 4rem;
  position: relative;
  border-bottom: 2px solid var(--platinum);
}
.page-intro-contact .container .content .form {
  flex: 1 1 45%;
}
.page-intro-contact .container .content .copy {
  flex: 1 1 55%;
}
.page-intro-contact .container .content .copy .heading {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.page-intro-contact .container .content .copy p {
  padding-bottom: 1rem;
}
.page-intro-contact .container .content .copy p:last-child {
  padding-bottom: 0;
}
.page-intro-contact .container .content .copy .call {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  margin-top: 1rem;
}
.page-intro-contact .container .content .copy .call .phone {
  flex: 0 0 auto;
}
.page-intro-contact .container .content .copy .call .info {
  flex: 1 1 auto;
  font-weight: bold;
  font-size: 1.2rem;
}
.page-intro-contact .container .content .copy .call .info a {
  color: var(--orange);
}
.page-intro-contact .container .content .copy .call .info a:hover {
  color: var(--black);
}

@media (min-width: 760px) {
  .page-intro-contact .container {
    margin-bottom: -4rem;
    padding: 4rem 4rem 4rem 4rem;
  }
  .page-intro-contact .container .target {
    max-width: 4rem;
    top: -2rem;
    left: -2rem;
  }
  .page-intro-contact .container .content {
    flex-flow: row nowrap;
    gap: 4rem;
  }
  .page-intro-contact .container .content .copy .call {
    gap: 2rem;
    margin-top: 2rem;
  }
}


/* Page Bios */

.page-bios {
  width: 100%;
  padding: 2rem 1rem 4rem 1rem;
  background: var(--platinum);
  position: relative;
  /* background: url("https://irc2.wpenginepowered.com/wp-content/uploads/2026/02/diamonds-scaled.png") repeat top center; */
}
.page-bios .bg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 1360px;
  height: 100%;
  z-index: 0;
  background: url('/wp-content/uploads/2025/10/Grid.svg') repeat-y top center / contain;
  transform: translateX(-50%);
  opacity: 0.5;
}
.page-bios .container {
  padding: 0;
  position: relative;
  z-index: 10;
}
.page-bios .container .bg-pattern {
  width: 100%;
  height: 110%;
  background: url('https://irc2.wpenginepowered.com/wp-content/uploads/2026/02/diamonds-scaled.png') repeat-y top center / contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.5;
}
.page-bios .container .heading {
  text-align: center;
  padding: 2rem 0;
  font-size: 1rem;
  line-height: 2;
}
.page-bios .container .heading .divider {
  width: 100%;
  height: 2px;
  margin: 2rem 0;
  background: var(--orange);
}
.page-bios .container .bios {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
  padding: 2rem 0 2rem 0;
  position: relative;
}
.page-bios .container .bios .bio {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 20;
}
.page-bios .container .bios .bio.alt {
  flex-flow: row wrap;
}
.page-bios .container .bios .bio p {
  margin: 8px 0 16px 0;
}
.page-bios .container .bios .bio .graphic {
  flex: 1 1 100%;
}
.page-bios .container .bios .bio .graphic img.frill {
  max-width: 8rem;
  height: auto;
  aspect-ratio: initial;
  object-fit: initial;
  border-radius: 0;
  position: absolute;
  top: -1rem;
  left: -1rem;
  z-index: 10;
}
.page-bios .container .bios .bio.alt .graphic img.frill {
  left: auto;
  right: -1rem;
}
.page-bios .container .bios .bio .graphic img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: 100%;
  position: relative;
  z-index: 20;
}
.page-bios .container .bios .bio .copy {
  flex: 1 1 100%;
  line-height: 2;
}
.page-bios .container .bios .bio .copy .divider {
  width: 100%;
  height: 2px;
  margin: 1rem 0;
  background: var(--orange);
}
.page-bios .container .bios .bio .copy .icons {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
}
.page-bios .container .bios .bio .copy .icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 3rem;
  color: var(--white);
  text-decoration: none;
  background: var(--orange);
  border-radius: 50%;
}
.page-bios .container .bios .bio .copy .icons a:hover {
  background: var(--black);
}

@media (min-width: 760px) {
  .page-bios {
    padding: 2rem 1rem 8rem 1rem;
  }
  .page-bios .container {
    padding: 2rem 4rem;
  }
  .page-bios .container .heading {
    padding: 2rem;
    font-size: 1.1rem;
  }
  .page-bios .container .bios {
    gap: 4rem;
    padding: 4rem 2rem 2rem 2rem;
  }
  .page-bios .container .bios .bio {
    flex-flow: row nowrap;
    align-items: center;
    gap: 4rem;
  }
  .page-bios .container .bios .bio.alt {
    flex-flow: row-reverse nowrap;
  }
  .page-bios .container .bios .bio .graphic {
    flex: 0 0 35%;
  }
  .page-bios .container .bios .bio .graphic img.frill {
    max-width: 12rem;
    top: -2rem;
    left: -2rem;
  }
  .page-bios .container .bios .bio.alt .graphic img.frill {
    left: auto;
    right: -2rem;
  }
  .page-bios .container .bios .bio .copy {
    flex: 1 1 65%;
  }
}
@media (min-width: 960px) {
  .page-bios .container .heading {
    padding: 2rem;
    font-size: 1.2rem;
  }
}


/* Page Textbox */

.page-textbox {
  width: 100%;
  padding: 0 1rem 0 1rem;
  background: var(--alabaster);
  color: var(--white);
}
.page-textbox .container {
  padding: 4rem 1rem 2rem 1rem;
  background: var(--orange);
  transform: translateY(-2rem);
  position: relative;
  z-index: 10;
}
.page-textbox .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--black);
}
.page-textbox .container .content {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 2;
}
.page-textbox .container .content p {
  margin-bottom: 1rem;
}
.page-textbox .container .content p:last-child {
  margin-bottom: 0;
}

@media (min-width: 760px) {
  .page-textbox .container {
    padding: 6rem 4rem;
    transform: translateY(-6rem);
  }
  .page-textbox .container .content {
    font-size: 1.1rem;
  }
}
@media (min-width: 1200px) {
  .page-textbox .container .content {
    font-size: 1.2rem;
  }
}


/* Page Text */

.page-text {
  width: 100%;
  padding: 16rem 1rem 8rem 1rem;
  margin-top: -16rem;
  background: var(--alabaster);
  position: relative;
}
.page-text .container {
  padding: 1rem 0;
  position: relative;
  z-index: 10;
}
.page-text .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.page-text .container .content {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 2;
}
.page-text .container .content p {
  margin-bottom: 1rem;
}
.page-text .container .content p:last-child {
  margin-bottom: 0;
}
.page-text .container .content .images {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 2rem 0 0 0;
}
.page-text .container .content .images img {
  max-width: 8rem;
  height: auto;
}

@media (min-width: 760px) {
  .page-text {
    padding: 16rem 1rem 8rem 1rem;
  }
  .page-text .container {
    padding: 2rem 4rem;
  }
  .page-text .container .content {
    font-size: 1.1rem;
  }
  .page-text .container .content .images {
    flex-flow: row nowrap;
    gap: 1rem;
    margin: 4rem 0 0 0;
  }
  .page-text .container .content .images img {
    max-width: 12rem;
  }
}
@media (min-width: 1200px) {
  .page-text .container .content {
    font-size: 1.2rem;
  }
}


/* Page Features */

.page-features {
  width: 100%;
  padding: 2rem 1rem 2rem 1rem;
  background: var(--alabaster);
  position: relative;
}
.page-features.projects,
.page-features.industries {
  background: var(--platinum);
}
.page-features .container {
  padding: 0;
  position: relative;
  z-index: 10;
}
.page-features .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.page-features .container .content {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 2;
}
.page-features .container .content p {
  margin-bottom: 1rem;
}
.page-features .container .content p:last-child {
  margin-bottom: 0;
}
.page-features .container .content .images {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 4rem 0 0 0;
}
.page-features .container .content .images img {
  max-width: 12rem;
  height: auto;
}
.page-features .container .grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding-top: 2rem;
  position: relative;
}
.page-features .container .grid .item {
  display: block;
  text-align: center;
}
.page-features .container .grid .item p {
  margin: 8px 0 16px 0;
}
.page-features .container .grid .item .divider {
  margin: 1rem 0;
  width: 100%;
  height: 2px;
  background: var(--orange);
}
.page-features .container .grid .item .graphic {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 200px;
  height: 200px;
  margin: 0 auto;
  padding-bottom: 1rem;
}
.page-features .container .grid .item .graphic img {
  width: 100%;
  max-width: 200px;
  max-height: 200px;
  padding: 1rem;
}
.page-features .container > .irc-button {
  margin-top: 2rem;
  text-align: center;
}

@media (min-width: 760px) {
  .page-features {
    padding: 8rem 1rem 8rem 1rem;
  }
  .page-features.industries {
    padding: 2rem 1rem 2rem 1rem;
  }
  .page-features.projects {
    padding: 2rem 1rem 0rem 1rem;
  }
  .page-features .container {
    padding: 2rem 4rem;
  }
  .page-features .container .grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
    padding-top: 4rem;
  }
  .page-features .container .content {
    font-size: 1.1rem;
  }
}
@media (min-width:1200px) {
  .page-features .container .content {
    font-size: 1.2rem;
  }
}


/* Page Projects */

.page-projects {
  width: 100%;
  padding: 0 1rem 2rem 1rem;
  background: var(--platinum);
  position: relative;
}
.page-projects .bg {
  position: absolute;
  top: 4rem;
  left: 50%;
  width: 100%;
  max-width: 1360px;
  height: 100%;
  z-index: 0;
  background: url('/wp-content/uploads/2025/10/Grid.svg') repeat-y top center / contain;
  transform: translateX(-50%);
}
.page-projects .bg-pattern {
  width: 100%;
  height: 100%;
  background: url('https://irc2.wpenginepowered.com/wp-content/uploads/2026/02/diamonds-scaled.png') repeat-y top center / contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0.5;
}
.page-projects .container {
  padding: 0;
  position: relative;
  z-index: 10;
}
.page-projects .container .zap {
  max-width: 2rem;
  position: absolute;
  top: -8rem;
  right: -1rem;
  z-index: 80;
}
.page-projects .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.page-projects .container .content {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 2;
}
.page-projects .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding-top: 2rem;
  position: relative;
}
.page-projects .cards a {
  display: block;
  position: relative;
  text-decoration: none;
  border: .5rem solid transparent;
}
.page-projects .cards a:hover {
  border-color: var(--orange);
}
.page-projects .cards a:hover .tint {
  opacity: 0.2;
}
.page-projects .cards .card {
  display: flex;
  align-items: flex-end;
  width: 100%;
  aspect-ratio: 4/3;
  position: relative;
}
.page-projects .cards .card > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.page-projects .cards .card .tint {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: var(--black);
  opacity: 0.5;
  top: 0;
  left: 0;
  z-index: 20;
  transition: all 0.25s ease;
}
.page-projects .cards .card .meta {
  padding: 1rem;
  position: relative;
  z-index: 30;
}
.page-projects .cards .card .meta img {
  max-width: 3rem;
  max-height: 4rem;
  padding-bottom: 1rem;
}
.page-projects .cards .card .meta .title {
  display: block;
  color: var(--white);
  border-bottom: 2px solid var(--orange);
}
.page-projects .cards .card .meta .excerpt {
  display: none;
}
.page-projects .irc-button {
  padding-top: 2rem;
  text-align: center;
  position: relative;
  z-index: 20;
}

@media (min-width: 760px) {
  .page-projects {
    padding: 2rem 1rem 4rem 1rem;
  }
  .page-projects .container {
    padding: 0rem 2rem;
  }
  .page-projects .container .content {
    font-size: 1.1rem;
  }
  .page-projects .cards {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    padding-top: 2rem;
  }
  .page-projects .cards .card .meta {
    padding: 1.5rem;
  }
}
@media (min-width: 960px) {
  .page-projects {
    padding: 8rem 1rem 8rem 1rem;
  }
  .page-projects .container {
    padding: 2rem 4rem;
  }
  .page-projects .container .content {
    font-size: 1.2rem;
  }
  .page-projects .cards {
    gap: 1rem;
    padding-top: 4rem;
  }
}


/* Designed Projects */

.designed-projects {
  width: 100%;
  padding: 4rem 1rem 4rem 1rem;
  background: var(--platinum);
  position: relative;
}
.designed-projects .bg {
  position: absolute;
  top: 4rem;
  left: 50%;
  width: 100%;
  max-width: 1360px;
  height: 100%;
  z-index: 0;
  background: url('/wp-content/uploads/2025/10/Grid.svg') repeat-y top center / contain;
  transform: translateX(-50%);
}
.designed-projects .container {
  padding: 1rem 0;
  position: relative;
  z-index: 10;
}
.designed-projects .container .filters {
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-bottom: 2rem;
}
.designed-projects .container .filters .filter {
  position: relative;
}
.designed-projects .container .filters .filter::after {
  content: '';
  width: 2px;
  height: 100%;
  background: var(--orange);
  position: absolute;
  top: 0;
  right: -0.5rem;
  z-index: 10;
}
.designed-projects .container .filters .filter:last-child::after {
  display: none;
}
.designed-projects .container .filters .filter a {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-style: italic;
  font-family: 'Iowan', serif;
  text-align: center;
  text-transform: uppercase;;
  text-decoration: none;
  padding: 1rem;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
.designed-projects .container .filters .filter.selected a {
  border-top: 2px solid var(--orange);
  border-bottom: 2px solid var(--orange);
}
.designed-projects .container .filters .filter a:hover {
  border-top: 2px solid var(--orange);
  border-bottom: 2px solid var(--orange);
}
.designed-projects .container .current-filter {
  padding-top: 2rem;
  font-style: italic;
  font-family: 'Iowan', serif;
  text-align: center;
  text-transform: uppercase;;
  text-decoration: none;
}
.designed-projects .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.designed-projects .container .content {
  margin-top: 2rem;
  font-size: 1.2rem;
  line-height: 2;
}
.designed-projects .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding-top: 2rem;
  position: relative;
}
.designed-projects .cards .zap {
  max-width: 2rem;
  position: absolute;
  bottom: -2rem;
  right: -1rem;
  z-index: 80;
}
.designed-projects .cards a {
  display: block;
  position: relative;
  border: .5rem solid transparent;
  text-decoration: none;
}
.designed-projects .cards a:hover {
  border-color: var(--orange);
}
.designed-projects .cards a:hover .tint {
  opacity: 0.2;
}
.designed-projects .cards .card {
  display: flex;
  align-items: flex-end;
  width: 100%;
  aspect-ratio: 4/3;
  position: relative;
}
.designed-projects .cards .card > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.designed-projects .cards .card .tint {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: var(--black);
  opacity: 0.5;
  top: 0;
  left: 0;
  z-index: 20;
  transition: all 0.25s ease;
}
.designed-projects .cards .card .meta {
  padding: 1rem;
  position: relative;
  z-index: 30;
}
.designed-projects .cards .card .meta img {
  max-width: 3rem;
  max-height: 4rem;
  padding-bottom: 1rem;
}
.designed-projects .cards .card .meta .title {
  display: block;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--white);
  border-bottom: 2px solid var(--orange);
}
.designed-projects .cards .card .meta .excerpt {
  display: block;
  height: auto;
  max-height: 0;
  overflow: hidden;
  color: var(--white);
  transition: all 0.25s ease;
}
.designed-projects .irc-button {
  padding-top: 2rem;
  text-align: center;
  position: relative;
  z-index: 20;
}

@media (min-width: 760px) {
  .designed-projects .container {
    padding: 2rem 4rem;
  }
  .designed-projects .container .filters {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
  .designed-projects .cards {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    padding-top: 2rem;
  }
  .designed-projects .cards .zap {
    max-width: 2rem;
    bottom: 2rem;
    right: -4rem;
  }
  .designed-projects .cards .card .meta {
    padding: 1.5rem;
  }
  .designed-projects .cards .card .meta img {
    max-width: 4rem;
    max-height: 5rem;
  }

  .designed-projects .cards.unique {
    grid-template-columns: repeat(4, 1fr) / repeat(6, auto);
  }
  .designed-projects .cards.unique a.wide .card {
    height: 100%;
  }
  .designed-projects .cards.unique a:nth-child(1) {
    grid-row-start: 1;
    grid-row-end: 3;
    grid-column-start: 1;
    grid-column-end: 3;
  }
  .designed-projects .cards.unique a:nth-child(1):hover .card .meta .excerpt {
    max-height: 3rem;
  }
  .designed-projects .cards.unique a:nth-child(2) {
    grid-row-start: 1;
    grid-row-end: 2;
    grid-column-start: 3;
    grid-column-end: 4;
  }
  .designed-projects .cards.unique a:nth-child(3) {
    grid-row-start: 2;
    grid-row-end: 3;
    grid-column-start: 3;
    grid-column-end: 4;
  }
  .designed-projects .cards.unique a:nth-child(4) {
    grid-row-start: 3;
    grid-row-end: 4;
    grid-column-start: 1;
    grid-column-end: 2;
  }
  .designed-projects .cards.unique a:nth-child(5) {
    grid-row-start: 3;
    grid-row-end: 4;
    grid-column-start: 2;
    grid-column-end: 3;
  }
  .designed-projects .cards.unique a:nth-child(6) {
    grid-row-start: 3;
    grid-row-end: 4;
    grid-column-start: 3;
    grid-column-end: 4;
  }
  .designed-projects .cards.unique a:nth-child(7) {
    grid-row-start: 4;
    grid-row-end: 5;
    grid-column-start: 1;
    grid-column-end: 2;
  }
  .designed-projects .cards.unique a:nth-child(8) {
    grid-row-start: 5;
    grid-row-end: 6;
    grid-column-start: 1;
    grid-column-end: 2;
  }
  .designed-projects .cards.unique a:nth-child(9) {
    grid-row-start: 4;
    grid-row-end: 6;
    grid-column-start: 2;
    grid-column-end: 4;
  }
  .designed-projects .cards.unique a:nth-child(10) {
    grid-row-start: 6;
    grid-row-end: 7;
    grid-column-start: 1;
    grid-column-end: 2;
  }
  .designed-projects .cards.unique a:nth-child(11) {
    grid-row-start: 6;
    grid-row-end: 7;
    grid-column-start: 2;
    grid-column-end: 3;
  }
  .designed-projects .cards.unique a:nth-child(12) {
    grid-row-start: 6;
    grid-row-end: 7;
    grid-column-start: 3;
    grid-column-end: 4;
  }
}


/* Industry Projects */

.industry-projects {
  width: 100%;
  padding: 2rem 1rem 2rem 1rem;
  background: var(--platinum);
  position: relative;
  overflow: hidden;
}
.industry-projects .bg {
  position: absolute;
  top: 2rem;
  left: 50%;
  width: 100%;
  max-width: 1360px;
  height: 100%;
  z-index: 0;
  background: url('/wp-content/uploads/2025/10/Grid.svg') repeat-y top center / contain;
  transform: translateX(-50%);
}
.industry-projects .container {
  padding: 0;
  position: relative;
  z-index: 10;
}
.industry-projects .container .zap {
  max-width: 2rem;
  position: absolute;
  top: -8rem;
  right: -1rem;
  z-index: 80;
}
.industry-projects .container .heading {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--orange);
}
.industry-projects .container .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding-top: 0;
  position: relative;
}
.industry-projects .container .cards .card {
  display: flex;
  flex-flow: row wrap;
  gap: 0;
  max-width: 960px;
  margin: 0 auto;
  padding: 1rem;
  background: var(--white);
  position: relative;
}
.industry-projects .container .cards .card .tl-icon {
  max-width: 6rem;
  position: absolute;
  top: 6rem;
  left: -2rem;
  z-index: -10;
  transform: translateY(-100%);
}
.industry-projects .container .cards .card .tr-icon {
  max-width: 6rem;
  position: absolute;
  top: 3rem;
  right: -2rem;
  z-index: -10;
  transform: translateY(-100%);
}
.industry-projects .container .cards .card .graphic {
  flex: 1 1 100%;
}
.industry-projects .container .cards .card .graphic img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  margin-left: 0;
  position: relative;
  z-index: 20;
}
.industry-projects .container .cards .card .copy {
  flex: 1 1 100%;
}
.industry-projects .container .cards .card .copy .details {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  border-bottom: 2px solid var(--orange);
}
.industry-projects .container .cards .card .copy .details .title {
  flex: 1 1 auto;
  padding: 1rem 1rem 1rem 0;
  border-right: 2px solid var(--orange);
}
.industry-projects .container .cards .card .copy .details .location {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  padding: 1rem 0 1rem 1rem;
  text-transform: uppercase;
}
.industry-projects .container .cards .card .copy .tags {
  padding: 1rem 0;
  font-size: 0.875rem;
  text-transform: uppercase;
  border-bottom: 2px solid var(--orange);
}
.industry-projects .container .cards .card .copy .excerpt {
  padding: 1rem 0;
  border-bottom: 2px solid var(--orange);
}
.industry-projects .container .cards .card .copy .irc-button {
  margin-top: 1rem;
}
.industry-projects .container .cards .card .copy .irc-button a {
  width: 100%;
  text-align: center;
}

.industry-projects .container .cards .card.alt {
  flex-flow: row wrap;
}
.industry-projects .container .cards .card.alt .graphic img {
  margin-left: auto;
  margin-right: 0;
}
.industry-projects .related-projects .heading {
  max-width: 20rem;
  margin: 2rem auto 0 auto;
  padding-bottom: 1rem;
  text-align: center;
}
.industry-projects .related-projects .heading h3 {
  margin-bottom: 0;
}
.industry-projects .related-projects .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding-top: 2rem;
  position: relative;
}
.industry-projects .related-projects .cards a {
  display: block;
  position: relative;
  border: .5rem solid transparent;
  text-decoration: none;
}
.industry-projects .related-projects .cards a:hover {
  border-color: var(--orange);
}
.industry-projects .related-projects .cards a:hover .tint {
  opacity: 0.2;
}
.industry-projects .related-projects .cards .card {
  display: flex;
  align-items: flex-end;
  width: 100%;
  padding: 0;
  aspect-ratio: 4/3;
  position: relative;
}
.industry-projects .related-projects .cards .card > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.industry-projects .related-projects .cards .card .tint {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: var(--black);
  opacity: 0.5;
  top: 0;
  left: 0;
  z-index: 20;
  transition: all 0.25s ease;
}
.industry-projects .related-projects .cards .card .meta {
  padding: 1rem;
  position: relative;
  z-index: 30;
}
.industry-projects .related-projects .cards .card .meta img {
  max-width: 4rem;
  max-height: 6rem;
  padding-bottom: 1rem;
}
.industry-projects .related-projects .cards .card .meta .title {
  display: block;
  color: var(--white);
  border-bottom: 2px solid var(--orange);
}
.industry-projects .related-projects .cards .card .meta .excerpt {
  display: none;
}

/* @media (min-width: 760px) {
  
} */
@media (min-width: 760px) {
  .industry-projects {
    padding: 4rem 1rem 4rem 1rem;
  }
  .industry-projects .bg {
    top: 4rem;
  }
  .industry-projects .container {
    padding: 2rem 4rem;
  }
  .industry-projects .container .cards {
    gap: 1rem;
    padding-top: 4rem;
  }
  .industry-projects .container .cards .card {
    flex-flow: row nowrap;
    gap: 0;
    padding: 2rem;
  }
  .industry-projects .container .cards .card.alt {
    flex-flow: row-reverse nowrap;
  }
  .industry-projects .container .cards .card .tl-icon {
    max-width: 10rem;
    top: 6rem;
    left: -8rem;
    transform: translateY(-100%);
  }
  .industry-projects .container .cards .card .tr-icon {
    max-width: 10rem;
    top: 2rem;
    right: -6rem;
    transform: translateY(-100%);
  }
  .industry-projects .container .cards .card .graphic {
    flex: 0 0 40%;
  }
  .industry-projects .container .cards .card .graphic img {
    margin-left: -1rem;
  }
  .industry-projects .container .cards .card.alt .graphic img {
    margin-right: -1rem;
  }
  .industry-projects .container .cards .card .copy {
    flex: 1 1 60%;
  }
  .industry-projects .container .cards .card .copy .irc-button a {
    width: auto;
    /* text-align: left; */
  }
  .industry-projects .related-projects .heading {
    margin: 4rem auto 0 auto;
  }
  .industry-projects .related-projects .cards {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .industry-projects .related-projects .cards .card {
    padding: 0;
  }
  .industry-projects .related-projects .cards .card .meta {
    padding: 1.5rem;
  }
}
@media (min-width: 960px) {
  .industry-projects .container .cards {
    gap: 1rem;
  }
}
@media (min-width: 1200px) {
  .industry-projects .container {
    padding: 2rem 4rem;
  }
  .industry-projects .container .cards .card .graphic img {
    margin-left: -4rem;
  }
  .industry-projects .container .cards .card.alt .graphic img {
    margin-right: -4rem;
  }
}


/* Project Intro */

.project-intro {
  width: 100%;
  padding: 2rem 1rem 2rem 1rem;
  background: var(--alabaster);
}
.project-intro .container {
  margin-bottom: 0;
  padding: 2rem 1rem;
  color: var(--black);
  background: var(--white);
  position: relative;
}
.project-intro .container .target {
  max-width: 2rem;
  position: absolute;
  top: -1rem;
  left: -1rem;
  z-index: 80;
}
.project-intro .container .content {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: 2rem;
  padding-bottom: 3rem;
  position: relative;
  /* border-bottom: 2px solid var(--platinum); */
}
.project-intro .container .content .copy {
  flex: 1 1 55%;
}
.project-intro .container .content .copy .heading {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--orange);
}
.project-intro .container .content .copy .heading .category {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: baseline;
}
.project-intro .container .content .copy .heading .category .graphic {
  flex: 0 0 auto;
}
.project-intro .container .content .copy .heading .category .graphic img {
  max-width: 4rem;
  max-height: 4.5rem;
}
.project-intro .container .content .copy .heading .category .info {
  flex: 1 1 auto;
  font-family: 'Iowan', serif;
  text-transform: uppercase;
}
.project-intro .container .content .copy .heading .category .info a {
  color: var(--orange);
}
.project-intro .container .content .copy .heading .category .info a:hover {
  color: var(--black);
}
.project-intro .container .content .copy .location {
  margin-bottom: 2rem;
}
.project-intro .container .content .copy p {
  padding-bottom: 1rem;
}
.project-intro .container .content .copy p:last-child {
  padding-bottom: 0;
}
.project-intro .container .content .photos {
  flex: 1 1 45%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.project-intro .container .content .photos > .photo:first-child{
  grid-column-start: 1;
  grid-column-end: 3;
}
.project-intro .container .content .photos .photo img {
  display: block;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.project-intro .container .content .photos .swiper {
  max-width:100%;
  width:100%;
  grid-column-start: 1;
  grid-column-end: 3;
}
.project-intro .container .meta {
  display: flex;
  flex-flow: row wrap;
  /* grid-template-columns: 1fr; */
  gap: 1rem;
  padding-bottom: 1rem;
  /* padding-bottom: 4rem; */
  font-size: 1.125rem;
  text-align: center;
}
.project-intro .container .meta .heading {
  margin-bottom: 1rem;
  padding: 1rem 0;
  border-bottom: 2px solid var(--orange);
}
.project-intro .container .meta .services {
  flex: 1 1 calc(50% - 1rem);
  text-align: center;
}
.project-intro .container .meta .thanks {
  flex: 1 1 calc(50% - 1rem);
  text-align: center;
}
.project-intro .container .meta .details {
  flex: 0 0 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.project-intro .container .meta .details .subheading {
  padding-bottom: 0.5rem;
  color: var(--orange);
}
.project-intro .container .quote {
  margin-bottom: -6rem;
  padding: 2rem;
  color: var(--white);
  font-size: 1rem;
  text-align: center;
  background: var(--orange);
  position: relative;
  z-index: 20;
}
.project-intro .container .quote .inner {
  max-width: 720px;
  margin: 0 auto;
}
.project-intro .container .quote p {
  margin-bottom: 1rem;
}

@media (min-width: 760px) {
  .project-intro .container .quote {
    margin-bottom: -10rem;
  }
  .project-intro .container {
    margin-bottom: 0;
    padding: 4rem 4rem 4rem 4rem;
  }
  .project-intro .container .target {
    max-width: 4rem;
    top: -2rem;
    left: -2rem;
  }
  .project-intro .container .content {
    flex-flow: row nowrap;
    gap: 4rem;
  }
  .project-intro .container .content .copy .heading {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
  }
  .project-intro .container .content .copy .call {
    gap: 2rem;
    margin-top: 2rem;
  }
  .project-intro .container .meta {
    /* grid-template-columns: 1fr 1fr; */
    gap: 2rem;
    padding-bottom: 2rem;
  }
  .project-intro .container .meta .details {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .project-intro .container .meta .details .heading {
    grid-column-start: 1;
    grid-column-end: 4;
  }
  .project-intro .container .meta .details .subheading {
    padding-bottom: 1rem;
  }
  .project-intro .container .quote {
    padding: 4rem;
    font-size: 1.2rem;
  }
}


/* Footer Quotes */

.footer-quotes {
  width: 100%;
  padding: 6rem 1rem 6rem 1rem;
  background: var(--white);
  position: relative;
  overflow: hidden;
}
.footer-quotes .irc-wrapper {
  position: relative;
}
.footer-quotes .stem {
  max-width: 4rem;
  position: absolute;
  top: -12rem;
  left: 0rem;
  z-index: 0;
}
.footer-quotes .pre-container {
  display: block;
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 10;
}
.footer-quotes .footer-quotes-swiper {
  overflow-x: visible;
  overflow-y: visible;
}
.footer-quotes .footer-quotes-swiper .swiper-buttons {
  display: flex;
  flex-flow: row nowrap;
  gap: 0.5rem;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 20;
  transform: translateY(100%);
}
.footer-quotes .footer-quotes-swiper .swiper-buttons .swiper-button-prev,
.footer-quotes .footer-quotes-swiper .swiper-buttons .swiper-button-next {
  margin: 0;
  padding: 0;
  color: var(--black);
  position: relative;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  transition: all .25s ease;
}
.footer-quotes .container {
  display: flex;
  flex-flow: row wrap;
  gap: 0;
  max-width: 960px;
  margin: 0 auto;
  padding: 4rem 2rem 2rem 2rem;
  position: relative;
  z-index: 10;
}
.footer-quotes .container .bg {
  width: 170%;
  max-width: 170%;
  position: absolute;
  top: 50%;
  left: -40%;
  z-index: 10;
  transform: translateY(-50%) rotate(12deg);
}
.footer-quotes .pre-container .dots-right {
  max-width: 32rem;
  position: absolute;
  top: -8rem;
  right: -16rem;
  z-index: 20;
}
.footer-quotes .pre-container .dots-left {
  max-width: 20rem;
  position: absolute;
  bottom: -2rem;
  left: -22rem;
  z-index: 30;
}
.footer-quotes .container .mark {
  flex: 0 0 20%;
  position: relative;
  z-index: 100;
}
.footer-quotes .container .quote {
  flex: 1 1 auto;
  position: relative;
  z-index: 100;
  padding-top: 2rem;
  color: var(--white);
  font-size: 0.875rem;
}
.footer-quotes .container .quote .author {
  padding-top: 0.75rem;
}

@media (min-width: 760px) {
  .footer-quotes {
    padding: 10rem 1rem 8rem 1rem;
  }
  .footer-quotes .stem {
    max-width: 8rem;
    top: -16rem;
  }
  .footer-quotes .footer-quotes-swiper {
    overflow-x: clip;
    overflow-y: visible;
  }
  .footer-quotes .footer-quotes-swiper .swiper-buttons .swiper-button-prev:hover,
  .footer-quotes .footer-quotes-swiper .swiper-buttons .swiper-button-next:hover {
    color: var(--orange);
  }
  .footer-quotes .container {
    flex-flow: row nowrap;
    gap: 3rem;
    padding: 8rem 4rem 4rem 4rem;
  }
  .footer-quotes .container .bg {
    width: 100%;
    max-width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(0deg);
  }
  .footer-quotes .container .quote {
    padding-top: 6rem;
    font-size: 1rem;
  }
  .footer-quotes .container .quote .author {
    padding-top: 0.875rem;
  }
}
@media (min-width: 1200px) {
  .footer-quotes .container .quote {
    font-size: 1.25rem;
  }
  .footer-quotes .container .quote .author {
    padding-top: 1rem;
  }
}


/* Footer Postcard */

.footer-postcard {
  width: 100%;
  padding: 0 1rem 2rem 1rem;
  background: var(--alabaster);
  position: relative;
}
.footer-postcard .container {
  text-align: center;
  position: relative;
}
.footer-postcard .container .postcard {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0;
  margin: 0 auto;
}
.footer-postcard .container .postcard .graphic {
  flex: 1 1 100%;
}
.footer-postcard .container .postcard .graphic img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  margin: -1rem -4rem 2rem 0;
}
.footer-postcard .container .postcard .copy {
  flex: 1 1 100%;
  padding: 0 2rem;
}
.footer-postcard .container .postcard .copy h3 {
  margin: 1rem 0 2rem 0;
}

@media (min-width: 760px) {
  .footer-postcard {
    padding: 0 1rem 0 1rem;
  }
  .footer-postcard .container .postcard {
    flex-flow: row-reverse nowrap;
  }
  .footer-postcard .container .postcard .graphic {
    flex: 0 0 50%;
  }
  .footer-postcard .container .postcard .graphic img {
    margin: -1rem -4rem -1rem 0;
  }
  .footer-postcard .container .postcard .copy {
    flex: 1 1 50%;
    padding: 0 2rem;
  }
}


/* Footer (bottom) */

.irc-footer {
  background: var(--white);
  color: var(--black);
  padding: 4rem 1rem 2rem 1rem;
}
.irc-footer .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  row-gap: 3rem;
}
.irc-footer .container .logo {
  grid-column-start: 1;
  grid-column-end: 3;
}
.irc-footer .container .logo img {
  max-width: 16rem;
}
.irc-footer .container .logo .socials {
  display: flex;
  flex: row nowrap;
  gap: 1rem;
  margin-top: 2rem;
}
.irc-footer .container .logo .socials a {
  color: var(--black);
  font-size: 1.5rem;
  text-decoration: none;
}
.irc-footer .container .address {
  grid-column-start: 1;
  grid-column-end: 2;
}
.irc-footer .container .phone {
  grid-column-start: 2;
  grid-column-end: 3;
}
.irc-footer .container .links {
  grid-column-start: 1;
  grid-column-end: 3;
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  height: auto;
}
.irc-footer .container .links a {
  flex: 0 0 calc(50% - 0.5rem);
  padding-bottom: 1rem;
  font-weight: bold;
  text-decoration: none;
  border-bottom: 1px solid var(--black);
}
.irc-footer .container .heading {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  font-weight: bold;
  border-bottom: 1px solid var(--black);
}
.irc-footer .sub-footer {
  padding-top: 2rem;
  font-size: 0.75rem;
  text-align: left;
}

@media (min-width: 760px) {
  .irc-footer {
    padding: 8rem 1rem 2rem 1rem;
  }
  .irc-footer .container {
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
  }
  .irc-footer .container .logo {
    grid-column-start: 1;
    grid-column-end: 3;
  }
  .irc-footer .container .address {
    grid-column-start: 3;
    grid-column-end: 4;
  }
  .irc-footer .container .phone {
    grid-column-start: 4;
    grid-column-end: 5;
  }
  .irc-footer .container .links {
    grid-column-start: 5;
    grid-column-end: 7;
  }
  .irc-footer .sub-footer {
    padding-top: 2rem;
    font-size: 0.875rem;
    text-align: right;
  }
}


/* Global styles */

.irc-button {
  display: block;
  position: relative;
  z-index: 60;
}
.irc-button a {
  display: inline-block;
  min-width: 10rem;
  padding: 0.5rem 1.5rem 0.25rem 1.5rem;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  border: 2px solid var(--orange);
}
.irc-button.large a {
  min-width: 10rem;
  padding: 1rem 2rem 0.75rem 2rem;
  /* color: var(--white); */
  /* background: var(--orange); */
  /* border: 2px solid var(--orange); */
}

@media(min-width: 760px) {
  .home-hero .irc-button a {
    padding: 0.5rem 1.5rem 0.25rem 1.5rem;
  }
}

.irc-wrapper {
  max-width: 1280px;
  margin: 0 auto;
}

.irc-color-white {color: var(--white) !important;}
.irc-color-black {color: var(--black) !important;}
.irc-color-alabaster {color: var(--alabaster) !important;}
.irc-color-gold {color: var(--gold) !important;}
.irc-color-gray {color: var(--gray) !important;}
.irc-color-green {color: var(--green) !important;}
.irc-color-orange {color: var(--orange) !important;}
.irc-color-platinum {color: var(--platinum) !important;}
.irc-color-teal {color: var(--teal) !important;}

.irc-bg-white {background: var(--white) !important;}
.irc-bg-black {background: var(--black) !important;}
.irc-bg-alabaster {background: var(--alabaster) !important;}
.irc-bg-gold {background: var(--gold) !important;}
.irc-bg-gray {background: var(--gray) !important;}
.irc-bg-green {background: var(--green) !important;}
.irc-bg-orange {background: var(--orange) !important;}
.irc-bg-platinum {background: var(--platinum) !important;}
.irc-bg-teal {background: var(--teal) !important;}


/* Ninja Forms styles */

.nf-form-fields-required {display: none;}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  padding: 0.5rem;
  border: 1px solid var(--black);
  box-sizing: border-box;
}
input[type="submit"] {
  display: block;
  padding: 0.5rem 1rem 0.25rem 1rem;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid var(--orange);
  cursor: pointer;
  transition: all .25s ease;
}
@media (min-width: 960px) {
  input[type="submit"]:hover {
    color: var(--white);
    background: var(--orange);
  }
}


/* Responsive styles */

/* 960px - desktop animations */

@media (min-width: 960px) {
  .irc-header .irc-menu a:hover {
    background: var(--orange);
  }
  .irc-header .irc-menu a:hover .line {
    background: var(--white);
  }
  .irc-header .irc-nav ul .button a:hover {
    color: var(--white);
    background: var(--orange);
  }
  .irc-header .irc-nav ul li a:hover {
    border-top: 2px solid var(--orange);
    border-bottom: 2px solid var(--orange);
  }
 .irc-button a:hover {
    color: var(--white);
    background: var(--orange);
  }
 .irc-button.large a:hover {
    color: var(--white);
    background: var(--orange);
    border-color: var(--orange);
  }
  .irc-footer .container .logo .socials a:hover {
    color: var(--orange);
  }
  .irc-footer .container a:hover {
    color: var(--orange);
  }
  .irc-footer .container .links a:hover {
    border-color: var(--orange);
  }
}