.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1120px;
}
body {font-family: 'Montserrat';}body {line-height: 1.6;font-size: 16px;font-weight: 500;color: #222;}.oxy-nav-menu-hamburger-line {background-color: #222;}h1, h2, h3, h4, h5, h6 {font-family: 'Montserrat';font-size: 37px;font-weight: 900;line-height: 1.15;color: #000000;}h2, h3, h4, h5, h6{font-size: 32px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 20px;
padding-bottom: 75px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
.layout-section {
}
.layout-section__inner {
}
.layout-split {
}
.layout-split--2 {
}
.layout-split__item {
}
.site-header {
}
.site-header__top {
}
.site-header__main {
}
.site-header__logo {
}
.site-header__nav-wrapper {
}
.archive-hero__content {
}
.archive-hero__title {
}
.archive-hero__description {
}
.archive-hero {
}
.home-hero {
}
.home-hero__content {
}
.home-hero__button-container {
}
.button--solid {
}
.button--burgundy {
}
.button--outline {
}
.button--white {
}
.cleanrooms {
}
.cleanrooms__hero {
}
.cleanrooms-hero__media {
}
.cleanrooms-hero__content {
}
.cta-split-contact {
}
.cta-split-contact__divider {
}
.cta-split-contact__divider-line {
}
.cta-split-contact__divider-text {
}
.cta-split-contact__call {
}
.cleanrooms-classifications {
}
.cleanrooms-classifications__table-container {
}
.cleanrooms-classifications__content {
}
.cleanrooms-design {
}
.cleanrooms-design__content {
}
.cleanrooms-design__image {
}
.cleanrooms-testing {
}
.cleanrooms-testing__intro {
}
.cleanrooms-testing__list {
}
.cleanrooms-testing__item {
}
.cleanrooms-testing__divider {
}
.cleanrooms-products {
}
.cleanroom-products__additional {
}
.home-products {
}
.home-products__sidebar {
}
.home-products__grid {
}
.overline {
 margin-top:0px;
}
.quote-cart {
}
.quote-cart-code-block {
}
.contact-page {
}
.contact-page__header {
}
.contact-page__form {
}
.contact-page__locations {
}
.contact-page__location {
}
.contact-page__location-info {
}
.contact-page__map-container {
}
.product-archive-content {
}
.button--black {
}
.slime-line-height {
}
.home-products__image-container {
}
.home-products__grid-item {
}
.home-products__grid-item-heading {
}
.home-reviews {
}
.review-grid {
}
.review-grid-item {
}
.review-grid-item__header {
}
.review-grid-item__header__initial {
}
.review-grid-item__header__stars {
}
.home-services {
}
.home-services__image {
}
.home-services__content {
}
.home-services__line-content {
}
.home-cleanrooms {
}
.home-cleanrooms__features {
}
.home-cleanrooms__feature {
}
.home-cleanrooms__feature-image {
}
.home-cleanrooms__feature-heading {
}
.home-cleanrooms__content {
}
.home-email-signup {
}
.blog-archive {
}
.blog-archive__content {
}
.blog-archive__sidebar {
}
.blog-archive__post {
}
.blog-archive__post-excerpt {
}
.blog-post {
}
.blog-single__content {
}
.blog-post__content {
}
.blog-post__sidebar {
}
.blog-post__toc {
}
.blog-post__featured-image {
}
.product-archive-grid {
}
.search-results {
}
.split-contact-hero {
}
.split-contact-hero__content {
}
.product-categories {
}
.about-hero {
}
.about-hero__content {
}
.careers-hero {
}
.color-burgundy {
}
.careers-values {
}
.careers-values__content {
}
.careers-values__media {
}
.careers-values__item {
}
.careers-perks {
}
.product-categories__list {
}
.footer-cta {
}
.footer-main {
}
.footer-cta__heading {
}
.footer-cta__content {
}
.product-archive {
}
.product-archive-help-box {
}
.product-page {
}
.site-header__phone-link {
}
.site-header__contact-link {
}
.footer-cta__text-container {
}
.footer-cta__form-container {
}
.home-email-signup__text-container {
}
.home-email-signup__form-container {
}
.home-blog {
}
.home-blog__text-container {
}
.home-blog__grid {
}
.sidebar__box {
}
.sidebar__box--email-cta {
}
.sticky {
}
.sidebar__boxes-container {
}
.sidebar__box--social {
}
.sidebar__box--service-cta {
}
.sidebar__box--related-posts {
}
.landing-page {
}
.landing-page__hero {
}
.landing-page__hero-form {
}
.landing-page__hero-intro {
}
.services-hero {
}
.services-item {
}
.services-item__intro {
}
.services-item__details {
}
.services-item--grey {
}
.cleanrooms-products__intro {
}
/* =========================
   GLOBAL TYPOGRAPHY
========================= */

/* Paragraphs */
p {
  margin-top: 0;
  margin-bottom: 15px;
}

p:last-of-type {
  margin-bottom: 0;
}

p strong,
li strong {
  font-weight: 800;
}

p a {
  font-weight: 800;
  color: #96001b;
  text-decoration: underline;
}

p a:hover {
  text-decoration: underline;
}

/* Utility for line height */
.slime-line-height {
  line-height: 1.4;
}

/* Overline style */
.overline {
  color: #96001b;
  font-weight: 800;
  letter-spacing: 2.5px;
  line-height: 1;
}

/* =========================
   COLORS
========================= */

.color-burgundy {
  color: #96001b;
}

/* =========================
   LAYOUT / CONTAINERS
========================= */

.layout-section {
  width: 100%;
  padding: 0 25px;
}

.layout-section__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.layout-split {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 50px;
}

.layout-split--2 > * {
  flex: 1;
  min-width: 0;
}

/* =========================
   BUTTONS
========================= */

.button--solid,
.button--outline {
  line-height: 1.3;
  font-size: 15px;
  font-weight: 800;
  border: solid 2px;
  padding: 6px 15px;
  min-width: 200px;
  text-align: center;
}

.button--solid {
  border-radius: 3px;
}

.button--outline {
  background-color: transparent;
}

.button--burgundy {
  background-color: #96001b;
  border-color: #96001b;
  color: #fff;
}

.button--black {
  border-color: #000000;
  color: #000000;
}

.button--white {
  border-color: #ffffff;
  color: #ffffff;
}

/* =========================
   HEADER / NAVIGATION
========================= */

.site-header__top {
  background-color: #f4f4f4;
  padding-top: 8px;
  padding-bottom: 8px;
}

.site-header__top .layout-section__inner {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 25px;
}

.site-header__phone-link {
  display: flex;
  flex-direction: row;
  gap: 3px;
}

.site-header__phone-link svg {
  width: 15px;
  height: 15px;
  align-items: center;
  margin-bottom: -2px;
}

.site-header__phone-link, .site-header__contact-link {
  color: #000000;
  line-height: 1;
  font-size: 15px;
}

.site-header__phone-link:hover, .site-header__contact-link:hover {
  text-decoration: underline;
}

.site-header__main {
  height: 70px;
  justify-content: center;
}

.site-header__main .layout-section__inner {
  display: flex;
  flex-direction: row;
  align-items: center; /* vertically center content */
  gap: 50px; /* space between logo and nav */
}

/* Logo */
.site-header__logo {
  flex: 0 0 auto; /* do not grow or shrink */
  height: 50px; /* fixed height container */
  display: flex;
  align-items: center;
}

.site-header__logo img {
  height: 50px;
  width: auto;
  display: block;
}

/* Navigation wrapper */
.site-header__nav-wrapper {
  flex: 1 1 auto; /* take all remaining space */
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 70px;
  gap: 10px;
}

/* Quote / Cart */
.quote-cart-icon {
  position: relative;
  display: inline-block;
}

.quote-cart-link {
  display: flex;
  position: relative;
}

.quote-cart-svg {
  width: 23px;
  height: auto;
}

.quote-cart-count {
  position: absolute;
  bottom: calc(100% - 8px);
  left: calc(100% - 8px);
  background: #96001b;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  line-height: 1;
}

/* =========================
   SEARCH FORM
========================= */

.navbar-search {
  position: relative;
  display: inline-block;
}

.search-toggle {
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  display: flex;
  justify-content: center;
}

.search-toggle img {
  width: 18px;
  height: 18px;
}

.search-form-wrapper {
  display: none;
  position: absolute;
  top: 120%;
  right: 0;
  background: #fff;
  padding: 10px;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1000;
  min-width: 250px;
}

.search-form-wrapper.active {
  display: block;
  opacity: 1;
}

/* WooCommerce input */
.search-form-wrapper input[type="search"] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.search-form-wrapper button[type="submit"] {
  display: none;
}

/* =========================
   SPLIT CONTACT HERO
========================= */

.split-contact-hero {
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 100px;
  padding-bottom: 125px;
}

.split-contact-hero .cta-split-contact {
  margin-bottom: -40px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Hero Content Box */
.split-contact-hero__content {
  max-width: 800px;
  padding: 35px 35px 0 35px;
  background-color: rgba(255,255,255,.6);
  margin-bottom: 40px;
  border: solid 1px #ffffff;
  border-radius: 5px;
}

.split-contact-hero__content h1 {
  margin-bottom: 10px;
}

.split-contact-hero__content p {
  margin-bottom: 20px;
  border-left: solid 2px #e0e0e0;
  padding: 5px 0 5px 15px;
}

/* CTA Split Contact */
.cta-split-contact {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 15px;
  border: solid 1px #d3d3d3;
  border-radius: 5px;
  background-color: #ffffff;
}

.cta-split-contact__divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.cta-split-contact__divider-line {
  width: 1px;
  height: 15px;
  background-color: #d3d3d3;
}

.cta-split-contact__divider-text {
  font-weight: 900;
  line-height: 1;
}

.cta-split-contact__call {
  font-weight: 800;
  align-items: center;
  line-height: 1.2;
}

.cta-split-contact__call a {
  font-weight: 900;
  font-size: 20px;
  color: #000000;
}

/* =========================
   MEGA MENU
========================= */

.mega-menu .view-all-row a {
  text-align: center!important;
  color: #000000!important;
  border-top: solid 1px #e0e0e0!important;
  padding-top: 12px!important;
  padding-bottom: 12px!important;
  margin-top: 15px!important;
}

.mega-menu .view-all-row a:hover {
  text-decoration: underline!important;
}

@media (min-width: 1061px) {

  .mega-menu-link {
    position: relative!important;
  }
  
  .mega-menu > li > a::before {
    content: '';
    position: absolute!important;
    bottom: calc(50% - 15px);
    left: 50%;
    width: 0!important;
    height: 3px!important;
    background-color: #96001b!important;
    transition: width 0.3s ease;
    transform: translateX(-50%);
  }
  
  .mega-menu > li > a:hover::before {
    width: calc(100% - 45px)!important;
  }
  
  .mega-sub-menu {
    padding-bottom: 0!important;
  }

}/* =========================
   PRODUCT CONTAINER
========================= */
.product-page {
  padding-top: 100px;
  padding-bottom: 125px;
}

.product-container {
  margin-bottom: 25px!important;
}

/* =========================
   PRODUCT IMAGE / GALLERY
========================= */
.product__gallery .woocommerce-product-gallery {
  width: 100% !important;
  margin-bottom: 0 !important;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
  position: sticky;
  top: 50px;
}

.woocommerce div.product div.images ol {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px;
}

.woocommerce div.product div.images ol li {
  width: 100%!important;
  border: solid 1px #f4f4f4;
}

/* =========================
   PRODUCT DETAILS
========================= */
.product__title {
  margin-bottom: 5px;
}

.product__short-description {
  margin-bottom: 12px;
}

.product__badges {
  margin-top: 15px;
  margin-bottom: 25px;
}

.product__badges img {
  width: 50px;
}

/* Tooltip / Badge */
.product__badge-wrapper {
  position: relative;
  display: inline-block;
  cursor: help;
}

.custom-tooltip {
  position: absolute;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translateX(-50%);
  background: #222;
  color: #fff;
  padding: 8px 10px;
  border-radius: 6px;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  z-index: 10;
  visibility: hidden;
}

.custom-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
}

.product__badge-wrapper:hover .custom-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-4px);
}

.product__important-notice {
  font-size: 14px;
  padding: 10px 12px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  margin-top: 15px;
}

.product__important-notice strong {
  color: #96001b;
}

/* =========================
   AVAILABLE OPTIONS / VARIATIONS
========================= */
.available-options {
  font-size: 15px;
  margin-bottom: 10px !important;
  padding-top: 20px;
  border-top: solid 1px #e0e0e0;
  color: #767676;
}

.woocommerce div.product form.cart {
  margin-bottom: 40px;
}

.woocommerce div.product form.cart .variations {
  padding-bottom: 25px;
  border-bottom: solid 1px #e0e0e0;
}

.woocommerce div.product form.cart .variations tbody {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
}

.woocommerce div.product form.cart .variations tr {
  display: flex;
}

.woocommerce div.product form.cart .variations td {
  flex: 1 0 0;
}

.woocommerce div.product form.cart .variations td select {
  width: 350px;
}

.woocommerce div.product form.cart .variations th.label {
  width: 150px;
  display: flex;
  align-items: center;
  line-height: 1.2;
}

.woocommerce-page label {
  margin-bottom: 0;
}

.woocommerce div.product form.cart .variations td.value {
  position: relative;
  display: flex;
}

/* Variation Select Dropdown */
.woocommerce div.product form.cart .variations select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 300px;
  padding: 8px 12px;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid #e0e0e0;
  border-radius: 3px;
  background-color: #fff;
  color: #333;
  transition: all 0.2s ease-in-out;
}

.woocommerce div.product form.cart .variations select:hover {
  border-color: #999;
}

.woocommerce div.product form.cart .variations select:focus {
  border-color: #000000;
  box-shadow: 0 0 0 2px rgba(0, 113, 161, 0.15);
  outline: none;
}

/* =========================
   ADD TO CART
========================= */
.product__add-to-cart .woocommerce-variation-add-to-cart,
.product-type-simple .cart {
  display: flex;
  gap: 10px;
  align-items: center;
}

.product__add-to-cart .quantity {
  margin-right: 0 !important;
}

.product__add-to-cart .quantity .qty {
  -webkit-appearance: none;
  -moz-appearance: textfield;
  appearance: none;
  width: 70px;
  margin-right: 0 !important;
  padding: 8px 15px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  background-color: #fff;
  transition: all 0.2s ease-in-out;
}

/* Remove Spinner Arrows */
.product__add-to-cart .woocommerce div.quantity input.qty::-webkit-outer-spin-button,
.product__add-to-cart .woocommerce div.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.product__add-to-cart .woocommerce div.quantity input.qty:hover {
  border-color: #000000;
}

.product__add-to-cart .woocommerce div.quantity input.qty:focus {
  box-shadow: 0 0 0 2px rgba(0, 113, 161, 0.15);
  outline: none;
}

/* Add to Cart Button */
.product__add-to-cart .single_add_to_cart_button {
  font-size: 15px;
  font-weight: 800;
  text-align: center;
  line-height: 1.2;
  border: solid 2px;
  border-radius: 3px;
  padding: 8px 15px;
  width: 100%;
  background-color: #96001b;
  border-color: #96001b;
  color: #ffffff;
  margin-left: 0 !important;
}

.product__add-to-cart .single_add_to_cart_button.disabled:hover {
  cursor: default;
}

.product__add-to-cart button.single_add_to_cart_button {
  display: none !important;
}

.product__add-to-cart .reset_variations {
  display: flex;
  align-items: center;
  color: #000000;
}

.product__add-to-cart .reset_variations:hover {
  text-decoration: underline;
}

/* =========================
   PRODUCT META (Categories / Brand / CTA)
========================= */
.product__categories,
.product__brand {
  font-size: 15px;
}

.product__categories strong,
.product__brand strong {
  color: #767676;
  font-weight: 500;
}

.product__categories a,
.product__brand a {
  color: #767676;
  font-weight: 500;
  text-decoration: underline;
}

/* Help / CTA box */
.product__help-cta {
  padding: 10px 12px;
  margin-bottom: 10px;
  background-color: #f4f4f4;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  text-align: center;
}

.product__help-cta p {
  line-height: 1.3;
}

.product__help-cta__heading {
  font-weight: 800;
  margin-bottom: 0;
}

.product__help-cta__subheading {
  font-size: 15px;
  margin-bottom: 10px!important;
}

.product__help-cta__link-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background-color: #ffffff;
  border: solid 1px #e0e0e0;
  border-radius: 3px;
}

.product__help-cta__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #000000;
  font-weight: 800;
  padding: 5px;
}

.product__help-cta__link:first-of-type {
  border-right: solid 1px #e0e0e0;
}

.product__help-cta__link:hover {
  text-decoration: underline;
}

.product__help-cta__link img {
  width: 18px;
}

/* =========================
   PRODUCT TABS
========================= */
.product__tabs {
  width: 100%;
}

.product__tabs ul.tabs {
  list-style: none;
  display: flex;
  border-bottom: 1px solid #ddd;
  margin: 0;
  padding: 0;
}

.product__tabs ul.tabs li {
  margin: 0;
  cursor: pointer;
  border: 1px solid transparent;
  border-bottom: none;
  user-select: none;
  font-weight: 800;
  color: #555;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  border-radius: 5px 5px 0 0;
}

.product__tabs ul.tabs li.active {
  border-color: #ddd #ddd #fff;
  background-color: #fff;
  color: #000;
}

.product__tabs ul.tabs li a {
  display: block;
  color: #000000;
  padding: 12px 20px;
}

.product__tabs .woocommerce-Tabs-panel {
  padding: 35px 25px 40px 25px;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 5px 5px;
}

.product__tabs .woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information {
  padding: 0;
}

/* -------- PRODUCT DESCRIPTION -------- */
.woocommerce-Tabs-panel--description h2 {
  font-size: 28px;
  font-weight: 900;
  color: #000000;
  margin-bottom: 12px;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 6px;
}

.woocommerce-Tabs-panel--description h3 {
  font-size: 18px;
  font-weight: 800;
  margin-top: 30px;
  margin-bottom: 8px;
  margin-left: 15px;
  position: relative;
}

.woocommerce-Tabs-panel--description h3::before {
  content: "";
  position: absolute;
  left: -15px;
  top: calc(50% - 1px);
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #96001b;
  border-radius: 50%;
}

.woocommerce-Tabs-panel--description p {
  color: #333;
  margin-bottom: 16px;
}

.woocommerce-Tabs-panel--description p:last-of-type {
  margin-bottom: 0;
}

/* Optional subtle background sectioning */
.woocommerce-Tabs-panel--description h3 + p {
  padding: 5px 0px 5px 20px;
  margin-left: 2px;
  border-left: 2px solid #e0e0e0;
}

/* =========================
   PRODUCT SPECIFICATIONS TABLE
========================= */
.woocommerce-product-attributes.shop_attributes {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-family: inherit;
  background-color: #fff;
  margin-bottom: 0 !important;
  border-top: none !important;
}

/* Header column */
.woocommerce-product-attributes-item__label {
  font-weight: 800;
  color: #000000;
  text-align: left;
  white-space: nowrap;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  padding: 12px 16px;
  border-bottom: solid 1px #e0e0e0;
}

.woocommerce table.shop_attributes tr:last-of-type th,
.woocommerce table.shop_attributes tr:last-of-type td {
  border-bottom: none;
}

.woocommerce table.shop_attributes td p {
  margin: 0;
  padding: 0;
}

/* Hover row highlight */
.woocommerce-product-attributes.shop_attributes tr:hover {
  background-color: #f4f4f4;
  transition: background-color 0.2s ease;
}.product-archive, .product-archive article {
  width: 100%;
}

/* =========================
   ARCHIVE HERO / HEADER
========================= */
.archive-hero {
  padding-top: 50px;
  padding-bottom: 50px;
  background-image: url("https://heyitsnathan.com/wp-content/uploads/grey-archive-background-desktop.webp");
  background-size: cover;
  background-position: 50%;
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
}

.archive-hero__content {
  max-width: 700px;
}

.archive-hero__content h1 {
  margin-bottom: 5px;
}

.archive-hero__content p {
  line-height: 1.4;
}

/* =========================
   PRODUCT ARCHIVE CONTAINER
========================= */
.product-archive-content {
  padding-top: 75px;
  padding-bottom: 100px;
}

/* =========================
   PRODUCT ARCHIVE GRID
========================= */
.product-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 50px;
  row-gap: 50px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* =========================
   PRODUCT CARD / ITEM
========================= */
.product-archive-item {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-archive-item__image-wrapper {
  position: relative;
}

.product-archive-item__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  margin-bottom: 15px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  transition: box-shadow 0.3s ease;
}

.product-archive-item__badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background-color: #96001b;
  color: white;
  padding: 4px 10px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 3px;
  z-index: 10;
}

.product-archive-item__link:hover .product-archive-item__image {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

/* Product title */
.product-archive-item__title {
  font-size: 18px;
  font-weight: 800;
  margin: 0;
  margin-bottom: 8px;
  padding: 0 3px 5px 3px;
  border-bottom: solid 2px #000000;
}

.product-archive-item__link:hover .product-archive-item__title {
  text-decoration: underline;
}

/* Product snippet / description */
.product-archive-item__snippet {
  color: #767676;
  font-size: 15px;
  line-height: 1.4;
}

.product-archive-help-box {
  width: 100%;
  margin-top: 50px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  padding: 10px 25px;
  text-align: center;
  align-items: center;
}

/* =========================
   RESPONSIVE GRID ADJUSTMENTS
========================= */
@media (max-width: 768px) {
  .product-archive-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}/* =========================
   HOME HERO / HEADER
========================= */
.home-hero {
  background-image: url('https://heyitsnathan.com/wp-content/uploads/pleated-filter-for-commercial-buildings.webp');
  background-position: 50%;
}

.home-hero h1 {
  max-width: 550px;
}

/* Mobile hero background */
@media (max-width: 767px) {
  .home-hero {
    background-image: url('https://heyitsnathan.com/wp-content/uploads/2025/08/office-common-area-with-large-windows-mobile.webp');
  }
}

/* =========================
   HOME PRODUCTS SECTION
========================= */
.home-products {
  padding-top: 125px;
  padding-bottom: 125px;
}

.home-products .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 150px;
}

.home-products__sidebar {
  flex: 0 0 400px;
  position: sticky;
  top: 70px;
}

.home-products__sidebar h2 {
  margin-bottom: 5px;
}

.home-products__sidebar p {
  margin-bottom: 15px;
}

.home-products__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 30px 40px;
}

.home-products__grid-item {
  display: flex;
}

.home-products__image-container {
  width: 55px;
  height: 55px;
  margin-bottom: 10px;
}

.home-products__image-container img {
  margin: auto;
}

.home-products__grid-item-heading {
  display: flex;
  flex-direction: row;
  gap: 5px;
  justify-content: flex-start;
  padding-bottom: 5px;
  margin-bottom: 10px;
  color: #000000;
  border-bottom: solid 2px #000000;
}

.home-products__grid-item-heading h3 {
  font-size: 18px;
}

.home-products__grid-item-heading svg {
  width: 14px;
  height: 14px;
}

.home-products__grid-item-heading:hover h3,
.home-products__grid-item-heading:hover svg {
  color: #96001b;
}

/* =========================
   HOME REVIEWS SECTION
========================= */
.home-reviews {
  padding-top: 60px;
  margin-bottom: 90px;
  background-color: #f4f4f4;
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
}

.home-reviews .layout-section__inner {
  display: flex;
  align-items: center;
  margin-bottom: -90px;
}

.home-reviews h2 {
  margin-bottom: 25px;
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.review-grid-item {
  padding: 25px;
  background-color: #ffffff;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.review-grid-item__header__initial {
  font-size: 20px;
  font-weight: 900;
  height: 50px;
  width: 50px;
  border: solid 1px #e0e0e0;
  border-radius: 100%;
  background-color: #f4f4f4;
  display: flex;
  justify-content: center;
  align-items: center;
}

.review-grid-item__header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.review-grid-item__header__stars {
  display: flex;
  flex-direction: row;
}

.review-grid-item__header__stars svg {
  width: 20px;
  height: 20px;
  color: #96001b;
}

/* =========================
   HOME SERVICES SECTION
========================= */
.home-services {
  padding-top: 125px;
  padding-bottom: 125px;
}

.home-services .layout-section__inner {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.home-services__image {
  width: 40%;
}

.home-services__image img {
  width: 350px;
  margin: auto;
}

.home-services__content {
  width: 60%;
}

.home-services__content h2 {
  margin-bottom: 20px;
}

.home-services__line-content {
  border-left: solid 3px #e0e0e0;
  padding: 10px 0 10px 25px;
}

.home-services__line-content p {
  margin-bottom: 15px;
}

/* =========================
   HOME CLEANROOMS SECTION
========================= */
.home-cleanrooms {
  padding-top: 80px;
  padding-bottom: 80px;
  background-image: url('https://heyitsnathan.com/wp-content/uploads/2025/08/empty-cleanroom-controlled-environment.webp');
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
}

.home-cleanrooms .layout-section__inner {
  text-align: center;
  align-items: center;
}

.home-cleanrooms__content {
  background-color: rgba(255,255,255,.6);
  padding: 35px;
  max-width: 1000px;
  border-radius: 5px;
  border: solid 1px #ffffff;
  align-items: center;
  text-align: center;
  margin: auto;
}

.home-cleanrooms h2 {
  margin-bottom: 20px;
  max-width: 500px;
}

.home-cleanrooms__features {
  display: flex;
  flex-direction: row;
  gap: 50px;
  margin-bottom: 15px;
}

.home-cleanrooms__feature-image {
  width: 90px;
  height: 90px;
  padding: 18px;
  background-color: #ffffff;
  border: solid 1px #e0e0e0;
  border-radius: 100%;
  margin: 0 auto 8px auto;
}

.home-cleanrooms__feature-heading {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
}

.home-cleanrooms__content > p {
  margin-bottom: 15px;
}

/* =========================
   EMAIL SIGNUP SECTION
========================= */
.home-email-signup {
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: #f4f4f4;
  border-bottom: solid 1px #e0e0e0;
}

.home-email-signup .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 100px;
  align-items: center;
}

.home-email-signup__text-container {
  flex: 1 0 0;
}

.home-email-signup__form-container {
  flex: 0 0 500px;
}

.home-blog {
  padding-top: 125px;
  padding-bottom: 125px;
}

.home-blog .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 50px;
}

.home-blog__text-container {
  flex: 0 0 400px;
}

.home-blog__text-container h2 {
  margin-bottom: 5px;
}

.home-blog__text-container p {
  margin-bottom: 15px;
}

.home-blog__grid {
  flex: 1 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.home-blog__grid li a {
  text-align: left;
  align-items: flex-start;
  color: #000000;
}

.home-blog__grid li a:hover img {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.home-blog__grid li a:hover h3 {
  text-decoration: underline;
}

.home-blog__grid li img {
  margin-bottom: 15px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  transition: box-shadow .2s ease;
}

.home-blog__grid li h3 {
  font-size: 18px;
  margin-bottom: 5px;
}

.home-blog__grid li p {
  line-height: 1.4;
}

.home-blog__grid .oxy-repeater-pages-wrap {
  display: none;
}/* =======================
   CLEANROOM HERO SECTION
======================= */
.split-contact-hero.cleanrooms__hero {
  background-image: url('https://heyitsnathan.com/wp-content/uploads/2025/08/empty-cleanroom-controlled-environment.webp');
  background-position: 50%;
}

/* =======================
   CLEANROOM DESIGN SECTION
======================= */
.cleanrooms-design {
  padding-top: 125px;
  padding-bottom: 125px;
}

.cleanrooms-design .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 50px;
}

.cleanrooms-design__content {
  flex: 0 0 700px;
  padding-top: 25px;
}

.cleanrooms-design__content h2 {
  margin-bottom: 10px;
}

.cleanrooms-design__content p {
  border-left: solid 3px #96001b;
  padding: 5px 0 5px 15px;
}

.cleanrooms-design__modular-content {
  background-color: #f4f4f4;
  border-left: solid 5px #96001b;
  padding: 20px;
  border-radius: 0 5px 5px 0;
  margin-top: 25px;
}

.cleanrooms-design__image {
  flex: 1 0 0;
}

/* =======================
   CLEANROOM TESTING SECTION
======================= */
.cleanrooms-testing {
  margin-bottom: 100px;
}

.cleanrooms-testing__intro {
  max-width: 700px;
  margin-bottom: 25px;
}

.cleanrooms-testing__intro h2 {
  margin-bottom: 5px;
}

.cleanrooms-testing__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  padding: 0;
  list-style: none;
  margin: 0;
}

.cleanrooms-testing__item {
  padding: 30px 25px;
  background-color: #ffffff;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
}

.cleanrooms-testing__item img {
  width: 150px;
}

.cleanrooms-testing__item h3 {
  margin-bottom: 5px;
}

.cleanrooms-testing__item p {
  line-height: 1.4;
}

/* =======================
   CLEANROOM PRODUCTS SECTION
======================= */
.cleanrooms-products {
  padding-top: 50px;
  margin-bottom: 75px;
  background-color: #f4f4f4;
}

.cleanrooms-products__intro {
  max-width: 700px;
  margin-bottom: 25px;
}

.cleanrooms-products__intro h2 {
  margin-bottom: 5px;
}

.cleanrooms-products__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin-bottom: -75px;
}

.cleanrooms-products__item {
  display: flex;
  flex-direction: row;
  border-radius: 5px;
  overflow: hidden;
  background: #fff;
  position: relative;
  border: solid 1px #e0e0e0;
  transition: box-shadow 0.3s ease;
}

.cleanrooms-products__item:hover {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.cleanrooms-products__content {
  flex: 0 0 60%;
  padding: 20px;
  display: flex;
  flex-direction: column;
}

.cleanrooms-products__content h3 {
  margin-top: 0;
  margin-bottom: 5px;
}

.cleanrooms-products__content p {
  line-height: 1.4;
}

.cleanrooms-products__image {
  flex: 0 0 40%;
  border-left: solid 1px #e0e0e0;
}

.cleanrooms-products__image img {
  width: 101%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =======================
   ISO CLASSIFICATIONS SECTION
======================= */
.cleanrooms-classifications {
  padding-top: 100px;
  padding-bottom: 100px;
}

.cleanrooms-classifications .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 75px;
}

.cleanrooms-classifications__content {
  flex: 0 0 400px;
}

.cleanrooms-classifications h2 {
  margin-bottom: 10px;
}

.cleanrooms-classifications__table-container {
  flex: 1 0 0;
}

/* =======================
   ISO CLASSIFICATION TABLE
======================= */
.cleanrooms-classifications__table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(8px);
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.cleanrooms-classifications__table thead {
  background: #96001b;
  color: #fff;
}

.cleanrooms-classifications__table thead th {
  padding: 10px;
  font-weight: 900;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.35);
  border-left: 1px solid rgba(255,255,255,0.35);
}

.cleanrooms-classifications__table tbody tr {
  transition: background 0.2s ease;
}

.cleanrooms-classifications__table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.02);
}

.cleanrooms-classifications__table tbody tr:hover {
  background: #f4f4f4;
}

.cleanrooms-classifications__table td {
  padding: 10px;
  text-align: center;
  border-bottom: 1px solid #f4f4f4;
}

.cleanrooms-classifications__table td:first-child {
  font-weight: 800;
}

/* =======================
   MEDIA QUERIES
======================= */
@media (max-width: 768px) {
  .cleanrooms__hero {
    background-image: url('https://heyitsnathan.com/wp-content/uploads/2025/08/empty-cleanroom-for-controlled-environment.webp');
  }

  .cleanrooms-classifications__table {
    font-size: 0.85rem;
  }

  .cleanrooms-classifications__table thead th,
  .cleanrooms-classifications__table td {
    padding: 0.65rem;
  }
}/* =======================
   QUATE CART CONTAINER
======================= */
.quote-cart {
  padding-top: 100px;
  padding-bottom: 100px;
}

.quote-cart .layout-section__inner {
  max-width: 1000px;
}

.quote-cart-code-block,
.quote-cart-form,
.quote-cart-list {
  width: 100%;
}

/* =======================
   QUOTE CART LIST
======================= */
.quote-cart-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
}

.quote-cart-list li {
  display: flex;
  border-radius: 5px;
  transition: background-color 0.2s ease;
}

.quote-cart-list li:not(:last-of-type) {
  border-bottom: solid 1px #e0e0e0;
}

.quote-cart-list li:hover {
  background-color: #f4f4f4;
}

/* =======================
   QUOTE CART ITEM IMAGE
======================= */
.quote-cart-item__img {
  padding: 10px;
  background-color: #ffffff;
}

.quote-cart-item__img a {
  display: flex;
}

.quote-cart-item__img img {
  width: 150px;
  height: auto;
}

/* =======================
   QUOTE CART ITEM INFO
======================= */
.quote-cart-item__info {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 25px;
}

.quote-cart-item__product h3 a {
  color: #000000;
  font-size: 18px;
}

.quote-cart-item__product h3 a:hover {
  text-decoration: underline;
}

.quote-cart-item__product p {
  color: #767676;
}

.quote-cart-item__actions {
  display: flex;
  gap: 10px;
}

/* =======================
   QUOTE CART QUANTITY INPUT
======================= */
.quote-cart-item__quantity input[type="number"] {
  width: 60px;
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.quote-cart-item__quantity input[type="number"]:focus {
  border-color: #000;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
  outline: none;
}

/* =======================
   QUOTE CART REMOVE BUTTON
======================= */
.quote-cart-item__remove button {
  background: transparent;
  border: none;
  color: #96001b;
  font-size: 30px;
  line-height: 1;
  font-weight: bold;
  cursor: pointer;
  padding: 0 6px;
  transition: color 0.15s ease;
}

.quote-cart-item__remove button:hover {
  color: #000000;
}/* =======================
   CONTACT PAGE
======================= */
.contact-page {
  padding-top: 75px;
  padding-bottom: 100px;
}

.contact-page .layout-section__inner {
  max-width: 1080px;
}

/* =======================
   CONTACT HEADER
======================= */
.contact-page__header {
  max-width: 700px;
  margin: auto;
  margin-bottom: 25px;
}

.contact-page__header h1,
.contact-page__header p {
  text-align: center;
  margin: auto;
}

.contact-page__header p {
  color: #444;
}

/* =======================
   CONTACT FORM
======================= */
.contact-page__form {
  width: 100%;
  background-color: #f4f4f4;
  padding: 35px;
  margin-bottom: 50px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
}

/* =======================
   CONTACT LOCATIONS
======================= */
.contact-page__locations {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
}

.contact-page__location {
  padding: 25px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
}

.contact-page__location h2 {
  font-size: 30px;
  color: #96001b;
}

.contact-page__location p {
  margin-bottom: 0;
}

.contact-page__location p:last-of-type {
  margin-bottom: 25px;
}

/* =======================
   CONTACT MAP
======================= */
.contact-page__map-container {
  width: 100%;
}
/* =======================
   FORMS BUTTONS
======================= */
.ff-btn {
  width: 100%;
  background-color: #96001b!important;
  border: solid 1px #96001b!important;
  color: #ffffff!important;
}

.ff-btn:hover {
  opacity: 1!important;
}

/* =======================
   FORMS SUBMIT WRAPPER
======================= */
.ff_submit_btn_wrapper {
  margin-bottom: 0!important;
}/* =======================
   BLOG ARCHIVE PAGE
======================= */
.blog-archive {
  padding-top: 100px;
  padding-bottom: 100px;
}

.blog-archive .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 100px;
  align-items: stretch;
}

/* =======================
   BLOG ARCHIVE SIDEBAR
======================= */
.blog-archive__sidebar {
  flex: 0 0 350px;
  gap: 20px;
}


.blog-archive__sidebar .sticky {
  position: sticky;
  top: 50px;
}

/* =======================
   BLOG ARCHIVE CONTENT
======================= */
.blog-archive__content {
  flex: 1 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-row-gap: 50px;
  grid-column-gap: 25px;
}

/* =======================
   BLOG ARCHIVE POST
======================= */
.blog-archive__post a {
  text-align: left;
  align-items: flex-start;
  color: #000000;
}

.blog-archive__post a:hover img {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.blog-archive__post a:hover h2 {
  text-decoration: underline;
}

.blog-archive__post img {
  margin-bottom: 15px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  transition: box-shadow .2s ease;
}

.blog-archive__post h2 {
  font-size: 18px;
  margin-bottom: 5px;
}

/* =======================
   BLOG ARCHIVE EXCERPT
======================= */
.blog-archive__post-excerpt {
  line-height: 1.4;
  margin-bottom: 5px!important;
}

/* =======================
   BLOG ARCHIVE DATE
======================= */
.blog-archive__post-date {
  color: #767676;
  font-size: 15px;
}/* =======================
   BLOG POST PAGE
======================= */
.blog-post {
  padding-top: 100px;
  padding-bottom: 100px;
}

.blog-post .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 100px;
  align-items: stretch;
}

/* =======================
   BLOG POST SIDEBAR
======================= */
.blog-post__sidebar {
  flex: 0 0 350px;
  gap: 20px;
}


.blog-post__sidebar .sticky {
  position: sticky;
  top: 50px;
}

.sidebar__box {
  width: 100%;
  padding: 30px 25px;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
}

.sidebar__boxes-container {
  gap: 20px;
}

.sidebar__box--related-posts h3 {
  margin-bottom: 15px;
}

.sidebar__box--related-posts ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: solid 1px #e0e0e0;
}

.sidebar__box--related-posts ul li {
  border-bottom: solid 1px #e0e0e0;
  display: flex;
}

.sidebar__box--related-posts ul li a {
  padding: 8px 10px;
  color: #000000;
  font-size: 15px;
  line-height: 1.4;
}

.sidebar__box--related-posts ul li a:hover {
  background-color: #f4f4f4;
}

.sidebar__box--service-cta img {
  width: 70%;
  margin-bottom: 7px;
}

.sidebar__box--service-cta h3 {
  margin-bottom: 5px;
}

.sidebar__box--service-cta p {
  margin-bottom: 15px;
}

.sidebar__box--service-cta a {
  width: 100%;
}

.sidebar__box--social {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 15px 25px;
}

.sidebar__box--social p {
  font-weight: 900;
  margin-right: 10px;
  margin-top: 2px;
}

.sidebar__box--social svg {
  width: 30px;
  height: 30px;
  color: #000000;
  transition: color .2s ease;
}

.sidebar__box--social a:hover svg {
  color: #96001b;
}

.sidebar__box--social a:first-of-type {
  margin-right: 2px;
}

/* =======================
   BLOG POST CONTENT
======================= */
.blog-post__content {
  flex: 1 0 0;
}

.blog-post__content h1 {
  margin-bottom: 5px;
}

.blog-post__content h2 {
  margin-top: 40px;
  margin-bottom: 15px;
}

.blog-post__content h3 {
  margin-top: 30px;
  margin-bottom: 15px;
}

/* =======================
   BLOG POST DATE
======================= */
.blog-post__date {
  color: #767676;
  margin-bottom: 25px;
}

/* =======================
   BLOG POST FEATURED IMAGE
======================= */
.blog-post__featured-image {
  margin-bottom: 40px;
}

/* =======================
   BLOG POST TEXT CONTENT
======================= */
.blog-post__content .ct-inner-content p,
.blog-post__content .ct-inner-content ul,
.blog-post__content .ct-inner-content ol {
  line-height: 1.8;
  font-size: 18px;
}

.blog-post__content .ct-inner-content p a,
.blog-post__content .ct-inner-content ul a,
.blog-post__content .ct-inner-content ol a {
  text-decoration: none;
  font-weight: 800;
  color: #96001b;
}

.blog-post__content .ct-inner-content p a:hover,
.blog-post__content .ct-inner-content ul a:hover,
.blog-post__content .ct-inner-content ol a:hover {
  text-decoration: underline;
}

.blog-post__content .ct-inner-content img {
  border: solid 1px #e0e0e0;
}

/* =======================
   BLOG POST TABLE OF CONTENTS
======================= */
.blog-post__toc {
  width: 100%;
  padding: 25px;
  margin-bottom: 40px;
  border-top: solid 2px #e0e0e0;
  border-bottom: solid 2px #e0e0e0;
}

.blog-post__toc h3 {
  margin-top: 0;
  margin-bottom: 10px;
}

.blog-post__toc ol {
  margin: 0;
  padding-left: 25px;
  font-size: 18px;
}

.blog-post__toc a {
  color: #222;
}

.blog-post__toc a:hover {
  text-decoration: underline;
}/* =======================
   CAREERS HERO
======================= */
.careers-hero {
  background-image: url("https://heyitsnathan.com/wp-content/uploads/employees-walking-through-bright-hallway.jpg");
  background-size: cover;
  background-position: center;
  padding-top: 150px;
  padding-bottom: 150px;
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
}

.careers-hero .layout-section__inner {
  align-items: center;
  text-align: center;
}

/* =======================
   CAREERS VALUES
======================= */
.careers-values {
  padding-top: 125px;
  padding-bottom: 125px;
}

.careers-values .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 50px;
}

.careers-values__media {
  width: 100%;
  max-width: 500px;
}

.careers-values__content {
  flex: 1 0 0;
}

.careers-values__content h2 {
  margin-bottom: 15px;
}

.careers-values__item {
  padding: 5px 0 5px 20px;
  border-left: solid 2px #e0e0e0;
}

.careers-values__item:not(:last-of-type) {
  margin-bottom: 25px;
}

.careers-values__item h3 {
  font-size: 20px;
}

/* =======================
   CAREERS PERKS
======================= */
.careers-perks {
  background-color: #f4f4f4;
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
  margin-bottom: 500px;
  padding-top: 35px;
}

.careers-perks .layout-section__inner {
  margin-bottom: -100px;
}

/* Grid */
.careers-perks__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* Each item */
.careers-perks__item {
  text-align: center;
  cursor: default;
}

/* Image wrapper holds the image and overlay */
.careers-perks__image-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
}

/* The image itself */
.careers-perks__image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.35s ease;
  transform-origin: center;
}

/* White overlay that mutes the image */
.careers-perks__overlay {
  position: absolute;
  inset: 0;
  background-color: #fff;
  opacity: 0.6;
  transition: opacity 0.35s ease;
  z-index: 2;
  pointer-events: none;
}

/* Title below the image */
.careers-perks__title {
  margin-top: 12px;
  font-size: 20px;
  font-weight: 900;
  display: inline-block;
  position: relative;
  color: #111;
}

/* Underline element */
.careers-perks__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 60%;
  height: 3px;
  background: #96001b;
  transition: transform 0.35s ease;
}

/* Hover/focus interactions */
.careers-perks__item:hover .careers-perks__overlay,
.careers-perks__item:focus-within .careers-perks__overlay {
  opacity: 0;
}

.careers-perks__item:hover .careers-perks__image,
.careers-perks__item:focus-within .careers-perks__image {
  transform: scale(1.03);
}

.careers-perks__item:hover .careers-perks__title::after,
.careers-perks__item:focus-within .careers-perks__title::after {
  transform: translateX(-50%) scaleX(1);
}

/* =======================
   RESPONSIVE BREAKPOINTS
======================= */
@media (max-width: 1024px) {
  .careers-perks__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .careers-perks__list {
    grid-template-columns: 1fr;
  }
}/* =======================
   PRODUCT CATEGORIES
======================= */
.product-categories {
  padding-top: 100px;
  padding-bottom: 100px;
}

.product-categories h2 {
  margin-bottom: 20px;
  width: 100%;
  padding-left: 10px;
  padding-bottom: 10px;
  border-bottom: solid 3px #000000;
}

.product-categories__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.product-categories__list:not(:last-of-type) {
  margin-bottom: 50px;
}

.product-categories__list li {
  background-color: #f4f4f4;
  border: solid 1px #e0e0e0;
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.3s ease;
}

.product-categories__list li a {
  color: #333;
  text-decoration: none;
  display: block;
  padding: 8px 10px;
}

.product-categories__list li:hover {
  background-color: #e0e0e0;
}.footer-cta {
  width: 100%;
}

.footer-cta__heading .layout-section__inner, .footer-cta__content .layout-section__inner {
  max-width: 1000px;
  margin: auto;
}

.footer-cta__heading h3 {
  color: #96001b;
  line-height: 1;
  font-size: 70px;
  margin-bottom: -10px;
}

.footer-cta__content {
  background-color: #96001b;
  padding-top: 60px;
  padding-bottom: 60px;
}

.footer-cta__content .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 100px;
}

.footer-cta__text-container {
  flex: 0 0 350px;
}

.footer-cta__text-container h4 {
  font-size: 24px;
  color: #ffffff;
  margin-bottom: 5px;
}

.footer-cta__text-container p {
  color: #ffffff;
  line-height: 1.5;
}

.footer-cta__form-container {
  flex: 1 0 0;
}/* Main block */
.filter-finder {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem;
    font-family: 'Inter', sans-serif;
    color: #1a1a1a;
}

/* Form */
.filter-finder__form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.filter-finder__label {
    flex: 1 1 100%;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.filter-finder__select {
    flex: 1 1 60%;
    padding: 0.5rem 1rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1rem;
    background: #fff;
    transition: border 0.2s ease;
}

.filter-finder__select:focus {
    outline: none;
    border-color: #0073e6;
}

.filter-finder__button {
    flex: 1 1 30%;
    padding: 0.55rem 1.25rem;
    background: #0073e6;
    color: #fff;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.filter-finder__button:hover {
    background: #005bb5;
}

/* Custom size info callout */
.filter-finder__custom {
    background: #e6f0ff; /* soft blue background for emphasis */
    border-left: 4px solid #0073e6; /* accent line */
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 2rem;
}

.filter-finder__custom-text {
    font-size: 1rem;
    color: #003366; /* darker blue for readability */
    font-weight: 500;
    line-height: 1.5;
}

.filter-finder__custom-text strong {
    color: #0073e6; /* highlight “custom-sized filters” */
}

/* Results */
.filter-finder__heading {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.filter-finder__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.filter-finder__item {
    background: #f8f8f8;
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    transition: box-shadow 0.2s ease;
}

.filter-finder__item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.filter-finder__link {
    text-decoration: none;
    color: #1a1a1a;
    font-weight: 500;
    display: inline-block;
    transition: color 0.2s ease;
}

.filter-finder__link:hover {
    color: #0073e6;
}.landing-page .layout-section__inner {
  display: grid;
  gap: 50px;
  align-items: center;
  grid-template-columns: 1fr 1fr;
}

.landing-page__hero {
  padding-top: 100px;
  padding-bottom: 100px;
}

.landing-page__hero-intro img {
  width: 150px;
}.services-hero {
  background-image: url("https://heyitsnathan.com/wp-content/uploads/grey-archive-background-desktop.webp");           /* image */
  background-size: cover;
  background-position: 50% 90%;
}

.services-item {
  padding-top: 75px;
  padding-bottom: 75px;
}

:not(.services-item) + .services-item {
  padding-top: 125px;
}

.services-item:last-of-type {
  padding-bottom: 125px;
}

.services-item--grey {
  background-color: #f4f4f4;
  border-top: solid 1px #e0e0e0;
  border-bottom: solid 1px #e0e0e0;
}

.services-item .layout-section__inner {
  display: flex;
  flex-direction: row;
  gap: 50px;
}

.services-item__intro {
  flex: 0 0 400px;
}

.services-item__intro img {
  width: 200px;
  margin-bottom: 10px;
}

.services-item__intro h2 {
  margin-bottom: 15px;
}

.services-item__details {
  flex: 1 0 0;
}

.services-item__details h3 {
  margin-bottom: 8px;
  margin-left: 15px;
  position: relative;
}

.services-item__details h3::before {
  content: "";
  position: absolute;
  left: -15px;
  top: calc(50% - 1px);
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #96001b;
  border-radius: 50%;
}

.services-item__details p {
  padding: 5px 0px 5px 20px;
  margin-left: 2px;
  margin-bottom: 30px;
  border-left: 2px solid #e0e0e0;
}/* Basic Reset and Container */
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* Hero Section */
.page-hero {
  background: linear-gradient(180deg, #f5f7f9 0%, #ffffff 100%);
  text-align: center;
  padding: 3rem 1rem 2rem;
  border-bottom: 1px solid #e2e6ea;
}

.page-hero .page-title {
  font-size: 2.3rem;
  font-weight: 700;
  color: #1e2a36;
  margin-bottom: 0.75rem;
}

.page-hero .page-subtitle {
  font-size: 1.05rem;
  color: #5f6b77;
  max-width: 750px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Intro Text */
.page-intro {
  text-align: center;
  max-width: 800px;
  margin: 2rem auto 3rem;
  font-size: 1.05rem;
  color: #4a5560;
  line-height: 1.7;
}

/* List Section */
.page-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.75rem;
}

/* Base Item */
.page-list-item a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: #f9fafb;
  padding: 1.75rem 1.5rem;
  border: 1px solid #dfe4e8;
  border-radius: 10px;
  transition: all 0.25s ease;
  height: 100%;
}

.page-list-item a:hover {
  background: #eef3f7;
  border-color: #c8d2db;
  transform: translateY(-2px);
}

/* Icons */
.page-list-item .icon {
  font-size: 1.8rem;
  color: #3b7ed0;
  margin-bottom: 1rem;
}

/* Item Text */
.item-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: #1e2a36;
  margin: 0 0 0.5rem;
}

.item-description {
  font-size: 0.98rem;
  color: #5f6b77;
  line-height: 1.6;
  margin: 0;
}

/* Text-Only Items (Categories, Areas) */
.page-list-item:not(.with-description) a {
  font-weight: 600;
  font-size: 1.1rem;
  color: #1e2a36;
  padding: 1rem 1.25rem;
  justify-content: center;
  background: #f4f7f9;
}

.page-list-item:not(.with-description) a:hover {
  background: #e9eef2;
  transform: none;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .page-list {
    grid-template-columns: 1fr;
  }
  .page-hero {
    padding: 2.5rem 1rem 1.5rem;
  }
}