/* Variable --------------------------------------------- */
:root{
  --font-sans: "proxima-nova", "Proxima Nova", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
  --font-display: "Nasalization", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --white: #ffffff;
  --black: #000000;
  --purple: #a2197a;
  --light-purple: #b7449c;
  --dark-purple: #80197A;
  --light-grey: #eaeaea;
  --dark-grey: #808080;
  --charcoal: #4d4d4d;
  --orange: #E64011;
  --blue: #1CB7E2;
  --pink: #FF58AC;
  --hr-padding-top: 0 0 6.25rem 0;
  --hr-padding: 6.25rem 0 0 0;
  --header-padding: 1.875rem 5.313rem;
  --header-menu-padding: 3.125rem 0;
  --header-menu-inner: 0 2.5rem;
  --module-padding: 6.25rem 0;
  --module-padding-lg: 12.5rem 0;
  --module-padding-inner: 0 5.313rem;
  --our-work-padding: 6.25rem 0 0 0;
  --our-work-inner: 2.5rem 5.313rem;
  --testimonials-margin: 6.25rem 0 6.25rem 9.375rem;
  --testimonials-padding-inner: 5.313rem 5.313rem 10.625rem 5.313rem;
  --single-padding: 6.25rem 0 0 0;
  --team-card-padding: 0.938rem;
  --team-card-popup-padding: 3.125rem;
  --font-size-copyright: 0.813rem;
  --font-size-button: 0.875rem;
  --font-size-menu: 1rem;
  --font-size-copy: 1.125rem;
  --font-size-subheading: 1.375rem;
  --font-size-post-title: 1.375rem;
  --font-size-footer: 1.625rem;
  --font-size-quote: 1.875rem;
  --font-size-heading: 3rem;
  --font-size-work: 3.375rem;
  --font-size-product-title: 4.75rem;
  --font-size-cta: 6rem;
  --font-size-slider: 8rem;
  --btn-radius: 1.375rem;
  --module-radius: 5.313rem;
  --overlap-md: -6.25rem;
  --overlap-lg: -12.5rem;
  --overlap-xl: -18.75rem;
  --ratio-tall-25: calc(16 / 9 / 3);
  --buttons-gap: clamp(28px, 4vw, 50px);
  --news-gap: clamp(40px, 8vw, 80px); 
  --heading-gap: clamp(50px, 10vw, 100px); 
  --intro-gap: clamp(24px, 13vw, 300px); 
  --rail-color: var(--dark-grey);
  --rail-width: 1px;
  --rail-offset: 1.2rem;
  --dot-size: 8px;
  --gap: 1.375rem; 
}
/* General --------------------------------------------- */
body, html{background-color: var(--light-grey); line-height: normal; overflow-x: hidden;}
*, *::before, *::after{box-sizing: border-box; margin: 0; padding: 0;}
.site-inner{max-width: 100%; padding: 0;}
.content{width: 100%;}
img, picture, video, canvas{max-width: 100%; display: block;}
p, a, li, h1, h2, h3, h4, h5, h6{margin: 0; font-family: var(--font-sans); color: var(--black);}
input, button, textarea, select{font: inherit;}
button{border-radius: var(--btn-radius);}
a, a:focus, a:active, a:hover{outline: none; box-shadow: none;}
.site-inner,.content, .content-sidebar-wrap, main, .page-builder{position: relative; z-index: auto; transform: none; filter: none; opacity: 1;}
li::marker{color: var(--purple);}
.archive-description{display: none;}
.content > *:first-child{padding-top: 120px;}
/* Header --------------------------------------------- */
.site-header{position: fixed; padding: var(--header-padding); box-shadow: none; top: 0; left: 0; width: 100%; z-index: 99999; transition: transform 0.3s ease; will-change: transform; background: var(--white);}
.header-wrap{display: flex; align-items: center;}
.site-header.is-hidden{transform: translateY(-100%);}
.site-header.is-revealed{transform: translateY(0);}
.site-branding{flex: 0 0 auto;}
.site-logo{height: 60px;}
.custom-nav{flex: 1 1 auto;}
.header-actions{flex: 0 0 auto; display: flex; gap: 16px; justify-content: flex-end; flex: auto;}
.header-actions a.btn{font-size: var(--font-size-menu);}
.menu-toggle{position:relative; visibility: visible; display: inline-flex; align-items: center; gap: 10px; padding: 0; cursor: pointer; margin: 0; border-radius: 0;}
.menu-word{pointer-events:none; font-size: var(--font-size-menu); color: var(--black); font-family: var(--font-sans); font-weight: 600;}
.menu-icon{position: relative; width: 22px; height: 16px; display: inline-block;}
.menu-icon span{display: block; width: 25px; height: 2px; background: var(--black); border-radius: 0;}
.btn, input[type="submit"], .news-index .btn{font-family: var(--font-sans); font-size: var(--font-size-button); display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: var(--btn-radius); background: var(--purple); color: var(--white); text-decoration: none; font-weight: 600; white-space: nowrap; letter-spacing: -0.42px; cursor: pointer;}
.btn:hover, input[type="submit"]:hover, .news-index .btn:hover{color: var(--white); background: var(--light-purple);}
.menu-icon span{position:absolute; left:0; right:0; height:2px; background: currentColor; transform-origin: center; transition: transform .25s ease, opacity .2s ease, top .25s ease, bottom .25s ease;}
.menu-icon span:nth-child(1){top:0;}
.menu-icon span:nth-child(2){top:7px;}
.menu-icon span:nth-child(3){bottom:0;}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1), .menu-toggle.is-open .menu-icon span:nth-child(1){top:7px; transform: rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2), .menu-toggle.is-open .menu-icon span:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3), .menu-toggle.is-open .menu-icon span:nth-child(3){bottom:auto; top:7px; transform: rotate(-45deg);}
.menu-toggle:hover, .menu-toggle:focus{color: var(--purple); outline: none;}
.menu-open{overflow: hidden;}
.mega-menu{position: fixed; inset:0; z-index:9999;}
.mega-menu[hidden]{display: none!important;}
.mega-menu__backdrop{position: absolute; inset: 0; background: rgba(0,0,0,.35);}
.menu-open .mega-menu__backdrop{ opacity:1; }
.mega-menu__panel{position: relative; inset: 0; height:100%; overflow: auto; opacity: 0;}
.menu-open #site-menu .mega-menu__panel{opacity:1;}
.mega-menu__wrap{padding: var(--header-menu-padding); background: var(--white); border-radius: 0 0 var(--module-radius) var(--module-radius); margin-top: 120px;}
.mega-menu__header{display:flex; justify-content:flex-end; }
.mega-menu__grid{padding: var(--header-menu-inner); display: grid; gap: clamp(16px, 2vw, 32px); grid-template-columns: minmax(220px, 1.35fr) minmax(220px, 1.35fr) minmax(220px, 1.35fr) 1fr 1fr 1fr 1fr; grid-auto-rows: auto; align-items:start;}
.mega-col .mega-heading{font-size: var(--font-size-copy); letter-spacing: -0.16px; text-transform: uppercase; font-weight: 500; margin-bottom: 15px;}
.mega-col--page{grid-row: 1;}
.mega-menu__grid > .mega-col:nth-of-type(-n+3){grid-row: 1 / span 2;}
.mega-list li, .mega-pages__list li, .mega-empty{font-size: var(--font-size-menu); letter-spacing: -0.17px; margin-bottom: 10px;}
.mega-col .mega-heading a, .mega-list li a, .mega-pages__list li a{text-decoration: none;}
.mega-col .mega-heading a:hover, .mega-list li a:hover, .mega-pages__list li a:hover{text-decoration: underline;}
.mega-hero{grid-column: 4 / -1; grid-row: 2; border-radius: var(--btn-radius); overflow: hidden; align-self: stretch; margin: 0;}
.mega-hero img{width:100%; height:100%; object-fit:cover; display:block;}
html.menu-open, body.menu-open {overflow: hidden; height: 100%;}
#site-menu .mega-menu__backdrop {cursor: pointer;}
/* Slider --------------------------------------------- */
.acf-slideshow{width: 100%; position: relative;}
.flickity-slider{position: inherit!important;}
.acf-slider .slide{position: relative; width: 100%; overflow: visible; align-items: center; justify-content: center; height: 80vh;}
.acf-slider img, .acf-slider video{display: block; width: 100%; height: 100%; object-fit: cover;}
.acf-slider img{object-position: center;}
.media-wrapper{position: relative; width: 100%; height: 100%; overflow: hidden;}
.media-wrapper img, .media-wrapper video{width: 100%; height: 100%; object-fit: cover; display: block;}
.media-overlay{pointer-events: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); z-index: 1;}
.acf-slider .slide-inner{position: absolute; top: 50%; left: 2.5rem; transform: translateY(calc(-50% - 85px)); z-index: 2; color: var(--white); width:100%;}
.acf-slider .slide-inner p.subheading{font-size: var(--font-size-heading); color: var(--white);}
.acf-slider .slide-inner h1{font-size: var(--font-size-slider); color: var(--white); line-height: 100px;}
.flickity-page-dots{bottom: 40px!important;}
.flickity-page-dots .dot{border: 2px solid var(--purple); background: transparent!important; opacity: 1!important;}
li.dot.is-selected{background: var(--purple)!important;}
.flickity-button, .flickity-button:hover{background: transparent;}
.flickity-prev-next-button.previous{background-image: url(/wp-content/themes/dmc/assets/img/left_arrow.svg); background-repeat: no-repeat; height: 45px; width: 45px; padding: 0;}
.flickity-prev-next-button.next{background-image: url(/wp-content/themes/dmc/assets/img/right_arrow.svg); background-repeat: no-repeat; height: 45px; width: 45px; padding: 0;}
.flickity-prev-next-button .flickity-button-icon{display: none;}
.slide-inner, .floating-button{position: relative; z-index: 2;}
.floating-button{transition: transform 0.4s ease-in-out; position: fixed; top: 50%; right: 0.813rem; transform: translateY(-50%); width: 100px; height: 100px; border-radius: 50%; overflow: hidden; z-index: 1000;}
.floating-button:hover{transform: translateY(-50%) scale(1.08); transition: transform 0.4s ease-in-out;}
.fill-layer{position: absolute; inset: 0; border-radius: 50%; background-color: #ffffff; z-index: 1; transition: background-color 0.2s linear;}
.rotating-text{position: absolute; width: 100%; height: 100%; animation: rotate 10s linear infinite; z-index: 1;}
.rotating-text svg{width: 100%; height: 100%; fill: var(--dark-grey);}
.center-text{position: absolute; z-index: 2; color: var(--dark-grey); transform: translate(-50%, -50%); top: 50%; left: 50%;}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
body.home .slideshow-down{left: 50%;}
.slideshow-down{background: none; border: 0; cursor: pointer; z-index: 20; transform: translateY(calc(-50% - 85px)); position: absolute; bottom: 40px; left: 2.5rem; padding: 0; margin: 0;}
.slideshow-down img, .latest-news .news-controls button img, .scroll-to-top img{width: 45px; height: 45px;}
/* Introduction --------------------------------------------- */
section.overlap-md{margin-top: var(--overlap-md); position: relative; z-index: auto;  isolation: auto;  overflow: visible; }
.introduction{padding: var(--module-padding); background: var(--white); border-radius: var(--module-radius) var(--module-radius) 0 0; position: relative; isolation: isolate; z-index: 1;}
@media(prefers-reduced-motion: reduce){
  .overlap-md{ transform: none; }
  .introduction .intro-right-hero{ transform: none; }
}
ul.module-subheading{margin-bottom: 15px;}
ul.module-subheading li{font-weight: 700; font-size: var(--font-size-subheading); display: flex; flex-direction: column; text-transform: uppercase; position: relative; padding-left: 1rem;}
ul.module-subheading li::before{content: ""; position: absolute; left: 0; top: 0.5em; width: 8px; height: 8px; border-radius: 50%; background-color: var(--purple);}
.introduction h2.module-heading{margin-bottom: var(--buttons-gap);}
h2.module-heading{color: var(--charcoal); font-size: var(--font-size-heading); font-weight: 400; margin-bottom: var(--heading-gap);}
.copy p{font-size: var(--font-size-copy); margin: 0 0 28px;}
.copy p:last-child{margin: 0;}
.copy ul, .copy ul li{font-size: var(--font-size-copy);}
.copy li{list-style: inside; list-style-type: disc;}
.introduction .intro-grid, .introduction .intro-media, .call-to-action .intro-media, .our-values .intro-grid, .current-vacancies .intro-grid{display: grid; grid-template-columns: clamp(180px, 20vw, 260px) 1fr; column-gap: var(--intro-gap); align-items: start;}
.introduction .intro-grid .copy{max-width: 60%;}
.buttons-row{display: flex; gap: 16px; flex-wrap: wrap; margin-top: var(--buttons-gap);}
.btn{align-items: center; text-decoration: none; font-weight: 600;}
.btn .bullet{margin-right: 0.5rem;}
.introduction .intro-left-image, .introduction .intro-right-hero, .call-to-action .intro-left-image, .call-to-action .intro-right-hero, .full-image{border-radius: var(--btn-radius); overflow: hidden;}
.introduction .intro-left-image, .call-to-action .intro-left-image{width: 100%;}
.introduction .intro-right-hero, .call-to-action .intro-right-hero{position: relative; z-index: 2; transform: translateY(6.25rem);}
/* Page Builder --------------------------------------------- */
.page-builder > section{position: relative; z-index: 1;}
.page-builder > section::before, .page-builder > section::after{z-index: 0;}
.our-products, .latest-news, .our-sectors{z-index: 1 !important;}
.our-products{padding: var(--module-padding-lg); background: var(--light-grey); border-radius: var(--module-radius) var(--module-radius) 0 0; position: relative; isolation: isolate;}
.block-quote .wrap, .introduction .wrap, .our-products .wrap, .client-carousel .wrap, .latest-news .wrap, .call-to-action .wrap, .latest-work .wrap, .our-values .wrap, .our-people .wrap, .where-we-operate .wrap, .current-vacancies .wrap, .footer .wrap, .one-column .wrap, .our-sectors .wrap, .contact .wrap, .news-index .wrap{padding: var(--module-padding-inner);}
.our-products .header-wrap, .latest-news .header-wrap, .latest-work .header-wrap{column-gap: var(--intro-gap); align-items: baseline; justify-content: space-between;}
.cta{font-family: var(--font-sans); display: flex; align-items: center; gap: 0.625rem; font-size: var(--font-size-button); text-decoration: none; font-weight: 600; white-space: nowrap; letter-spacing: -0.42px;}
img.right-arrow{height: 2rem; width: auto; vertical-align: middle;}
.our-products .products-grid{display:grid; row-gap: clamp(16px, 2vw, 28px);}
.our-products .product-band{--gap: clamp(12px, 1.6vw, 24px); --row: clamp(8px, 0.8vw, 14px); display:grid; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--gap); row-gap: var(--gap); grid-auto-rows: var(--row);}
.our-products .product-card, .our-sectors .sector-card{position:relative; display: block; width: 100%; min-width: 0; overflow:hidden; border-radius: var(--btn-radius); background: #ddd center/cover no-repeat; align-self: stretch; isolation: isolate;}
.our-products .product-card .card-img, .our-sectors .sector-card .card-img{width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform 320ms ease; will-change: transform;}
.our-products .product-card::before, .our-sectors .sector-card::before{content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.30) 40%, rgba(0,0,0,0.00) 80%); z-index: 1;}
.our-products .product-card .overlay, .our-sectors .sector-card .overlay{position: absolute; inset: 0; background: var(--purple); opacity: 0; transition: opacity 220ms ease; pointer-events: none; z-index: 1; mix-blend-mode: multiply;}
.our-products .product-card .product-content, .our-sectors .sector-card .sector-content{font-size: var(--font-size-subheading); left: 20px; right: 20px; bottom: 20px; color: var(--white); display: flex; flex-direction: column; text-align: center; position: absolute; z-index: 2;}
.our-products .product-card:hover .card-img, .our-products .product-card:focus-visible .card-img, .our-sectors .sector-card:hover .card-img, .our-sectors .sector-card:focus-visible .card-img{transform: scale(1.06);}
.our-products .product-card:hover .overlay, .our-products .product-card:focus-visible .overlay, .our-products .product-card:active .overlay, .our-sectors .sector-card:hover .overlay, .our-sectors .sector-card:focus-visible .overlay, .our-sectors .sector-card:active .overlay{opacity: 0.8;}
@media (prefers-reduced-motion: reduce){
  .our-products .product-card .card-img{
    transition: none;
    transform: none;
  }
  .our-products .product-card .overlay{
    transition: none;
  }
}
h3.product-title{font-size: var(--font-size-subheading); font-weight: 700; color: var(--white);}
.our-products .stack{display: grid; grid-template-rows: 1fr 1fr; row-gap: var(--gap);}
.our-products .slot-1{grid-column: 1 / span 8; grid-row: span 18;}
.our-products .stack-right-row1{grid-column: 9 / span 4; grid-row: span 18;}
.our-products .stack-left-row2{grid-column: 1 / span 4; grid-row: span 18;}
.our-products .slot-6{grid-column: 5 / span 8; grid-row: span 18;}
.our-products .slot-7{grid-column: 1 / span 9; grid-row: span 16;}
.our-products .slot-8{grid-column:10 / span 3; grid-row: span 16;}
.our-work-parallax, .our-work-items .our-work-item:first-child .work-image{border-radius: var(--module-radius) var(--module-radius) 0 0;}
.our-work-item{position: relative;}
.entry, .work-inner .cats, .client-carousel h2.module-heading, .latest-news h2.module-heading, .latest-work h2.module-heading, body.single-products .client-carousel ul.module-subheading, body.single-work .client-carousel ul.module-subheading, body.single-sectors .client-carousel ul.module-subheading, body.single-services .client-carousel ul.module-subheading{margin-bottom: 0;}
.work-link{display: block; position: relative; text-decoration: none;}
.work-image{display: block; width: 100%; height: auto;}
.work-gradient-overlay{position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.0) 80%); pointer-events: none; z-index: 1;}
.our-work-items .our-work-item:first-child .work-gradient-overlay{border-radius: var(--module-radius) var(--module-radius) 0 0; overflow: hidden;}
.work-inner{width: 100%; position: absolute; top: 0; padding: var(--our-work-inner); z-index: 2;}
li.work-category{color: var(--white); text-transform: capitalize; font-size: var(--font-size-copy);}
.our-work-parallax .header-wrap{column-gap: var(--intro-gap); justify-content: space-between;}
.our-work-parallax .cta-row{flex: 0 0 auto; width: 45px; height: 45px; display: grid; place-items: center;}
.our-work-parallax .cta-row .plus{display: block; width: 100%; height: 100%; flex: 0 0 auto;  aspect-ratio: 1 / 1; object-fit: contain;}
h2.work-title{font-family: var(--font-display); font-size: var(--font-size-work); letter-spacing: -2.7px; color: var(--white); width: 55%;}
.client-carousel{background-color: var(--light-grey); padding: var(--module-padding); border-radius: var(--module-radius) var(--module-radius) 0 0; position: relative; isolation: isolate;}
.owl-carousel.logos-owl{ margin: 0; padding: var(--module-padding);}
.owl-carousel.logos-owl .owl-item{display: grid; place-items: center;}
.owl-carousel.logos-owl .item{display: grid; place-items: center;}
.client-carousel .testimonial-block{display: block; margin: var(--testimonials-margin); position: relative;}
.client-carousel .testimonial-card{height: 100%;}
.client-carousel .testimonial-card img{width: 100%; height: 100%; object-fit: cover; }
.owl-carousel.testimonials-owl{width: 100%; height: 100%; min-width: 0;}
.owl-carousel.testimonials-owl .owl-stage-outer{height: 100%;}
.owl-carousel.testimonials-owl .owl-stage{height: 100%; display: flex;}
.owl-carousel.testimonials-owl .owl-item{height: 100%; display: flex;}
.owl-carousel.testimonials-owl .item{display: grid; grid-template-columns: minmax(0,50%) minmax(0,50%); align-items: stretch; min-width: 0; background: var(--white); border-radius: var(--btn-radius) 0 0 var(--btn-radius); overflow: hidden; min-height: var(--testi-eq-h, auto);}
.client-carousel .testimonial-inner{min-height: 100%; position: relative; padding: var(--testimonials-padding-inner);}
.client-carousel .testimonial-inner .quote::before, .latest-news .news-card::before{content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: var(--dark-grey);}
.client-carousel .testimonial-inner .quote{display: block; overflow-wrap: anywhere; margin-bottom: 30px; position: relative;}
.client-carousel .testimonial-inner .quote p{color: var(--charcoal); font-size: var(--font-size-quote); line-height: 34px; letter-spacing: -0.6px; margin-left: 15px;}
.client-carousel .testimonial-inner .byline, .block-quote .byline{display: flex; gap: 10px; align-items: baseline;}
.client-carousel .testimonial-inner .testimonial-name, .client-carousel .testimonial-inner .company{width:100%; display:block; font-family:var(--font-sans); font-size:var(--font-size-menu); letter-spacing:-0.32px;}
.client-carousel .testimonial-inner .testimonial-name, .dash{color: var(--purple);}
.client-carousel .testimonial-inner .company{color: var(--black);}
.owl-carousel.testimonials-owl{width:100%; min-width:0;}
.owl-carousel.testimonials-owl .owl-stage-outer{height:auto;}
.owl-carousel.testimonials-owl .owl-stage{height:auto; display:block;}
.owl-carousel.testimonials-owl .owl-item{height:auto;}
.owl-nav{position: absolute; right: 5.313rem; bottom: 20px;}
.owl-nav-prev, .owl-nav-next{position: absolute; bottom: clamp(16px, 3vw, 20px); background: none; border: none; box-shadow: none; width: auto; height: auto; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center;}
.owl-nav-next{right: 5.313rem;}
.owl-nav-prev{right: 8.625rem;}
.owl-nav-prev img, .owl-nav-next img{display: block; width: 45px; height: 45px; z-index: 2;}
.client-carousel .owl-nav-prev,
.client-carousel .owl-nav-next{
  position: absolute;
  bottom: 24px;
  z-index: 5;
}
.client-carousel .owl-nav-next{ right: 24px; }
.client-carousel .owl-nav-prev{ right: 72px; }
.latest-news, .latest-work{padding: var(--module-padding); background: var(--white); border-radius: var(--module-radius); position: relative; isolation: isolate; z-index: 1;}
.latest-news .inner{display: flex; align-items: center; justify-content: space-between;}
.latest-news h2.module-heading{color: var(--black);}
.latest-news .news-slider, .work-slider-outer, .our-values, .our-people, .where-we-operate, .current-vacancies{padding: var(--module-padding);}
.latest-news .carousel-cell:last-child{margin-right: 0;}
a.card-link{display: block; text-decoration: none; transition: background 0.4s ease, transform 0.3s ease, box-shadow 0.3s ease; color: inherit;}
a.card-link:hover{background: linear-gradient(to bottom right, #5bc2f9 0%, #d5f1fd 60%);}
.card-link-inner{padding: 30px;}
.cats{font-size: var(--font-size-copy); text-transform: uppercase; margin-bottom: 15px;}
h3.title{font-size: var(--font-size-post-title); letter-spacing: -0.72px; margin-bottom: 15px;}
.date{font-size: var(--font-size-copy); color: var(--purple); text-transform: uppercase;}
.latest-news .news-slider-outer{padding-right: clamp(24px, 6vw, 80px);}
.latest-news .news-slider .flickity-viewport{overflow: visible;}
.latest-news .carousel-cell{width: clamp(280px, 28vw, 360px); transition: all 0.3s ease;}
.latest-news .news-card{display:block;}
.latest-news .news-card .meta{margin-bottom: .5rem;}
.latest-news .cats{margin:0; padding:0; list-style:none;}
.latest-news .cats li{list-style: disc inside;}
.latest-news .cats li + li::before{display: none; content:" / "; margin:0 .25em; opacity:.6;}
.latest-news .news-card .title{margin: .25rem 0 .75rem;}
.latest-news .news-card .date{font-size: .875rem; opacity:.7;}
.latest-news .news-footer{display:flex; align-items:center; justify-content:space-between; gap: 24px; margin-top: clamp(16px, 3vw, 28px);}
.latest-news .news-controls{display:flex; gap: 12px;}
.latest-news .news-controls button{display: grid; place-items: center; border: 0; cursor: pointer; padding: 0; margin: 0; background: transparent;}
.latest-news .news-progress{position:relative; flex: 1 1 auto; height:2px;}
.latest-news .news-progress .track{position:absolute; inset:0; background: var(--light-grey); border-radius:2px; display:block;}
.latest-news .news-progress .bar{position:absolute; inset:0 auto 0 0; width:0%; background: var(--purple); border-radius:2px; display:block; transition: width .28s ease;}
.latest-news .news-footer .news-progress{margin-left: auto;}
hr#top.module-border{padding: var(--hr-padding-top); border-top: 1px solid var(--dark-grey); border-bottom: 0;}
hr.module-border{border-bottom: 1px solid var(--dark-grey); padding: var(--hr-padding); margin: 0;}
img.speech-marks{width: 50px;}
.quote{font-family: var(--font-sans); color: var(--charcoal); font-size: var(--font-size-quote); line-height: 34px; letter-spacing: -0.6px; margin-bottom: 30px;}
.quote p{margin-bottom: 28px;}
.quote p:last-child{margin-bottom: 0;}
.testimonial-name{width: 100%; display: block; font-family: var(--font-sans); font-size: var(--font-size-menu); letter-spacing: -0.32px; color: var(--purple);}
.company{width: 100%; display: block; font-family: var(--font-sans); font-size: var(--font-size-menu); letter-spacing: -0.32px; color: var(--black);}
/* Our Products Index & Single Products --------------------------------------------- */
#grid.our-products{padding: 0; background: var(--white); border-radius: 0;}
.call-to-action{background: var(--white);}
/* .call-to-action .intro-media{padding-top: 6.25rem;}*/
.call-to-action-inner{background: var(--light-grey); padding: var(--module-padding-lg); border-radius: var(--module-radius) var(--module-radius) 0 0;}
.call-to-action-inner h2.module-heading{font-size: var(--font-size-cta); line-height: 100px; color: var(--charcoal); font-weight: 400; margin-bottom: 0;}
.work-slider{justify-content: center; column-gap: 1.5rem; display: flex;}
.work-card{border-radius: var(--btn-radius); overflow: hidden; align-items: flex-end; display: flex; background-position: 50%; background-repeat: no-repeat; height: 25rem; position: relative; padding: 2.5rem;}
.work-card .overlay{position: absolute; inset: 0; background: linear-gradient(#1d1c1d00 22.75%,#1d1c1d0f 28.48%,#1d1c1d1f 34.34%,#1d1c1d40 42.06%,#1d1c1d61 49.79%,#1d1c1d80 57.51%,#1d1c1d8c 69.1%,#1d1c1d99 80.03%,#1d1c1dcc 90.52%); z-index: 1;}
.work-card h3.title{font-size: var(--font-size-subheading); color: var(--white); z-index: 1; position: relative; margin: 0;}
body.single-products .acf-slider .slide-inner, body.single-work .acf-slider .slide-inner{top: 30%; transform: translateY(calc(-30% - 85px));}
body.page-template-products .client-carousel{padding: var(--single-padding); background: var(--white); border-radius: inherit;}
body.page-template-products .work-slider-outer{padding: var(--our-work-padding);}
body.single-products .acf-slider .slide-inner h1, body.single-work .acf-slider .slide-inner h1{font-size: var(--font-size-product-title); line-height: 86px; letter-spacing: -1.52px;}
body.single-products .introduction .intro-right-hero, body.single-work .introduction .intro-right-hero{margin-top: var(--overlap-xl); position: relative; isolation: auto; border-radius: var(--btn-radius); overflow: hidden;}
ul.product-list{list-style: none; margin-left: 0; padding-left: 1.2rem; position: relative; }
ul.product-list::before{content: ""; position: absolute; left: 3.5px; top: 0; bottom: 0; width: var(--rail-width); background: var(--rail-color); pointer-events: none;}
ul.product-list li a{position: relative; display: block; text-decoration: none; font-weight: 400; font-size: var(--font-size-copy); color: inherit;}
ul.product-list li a::after{content: ""; position: absolute; left: calc(var(--rail-offset) - (var(--dot-size) / 2) + (var(--rail-width) / 2) - 35px); top: 50%; transform: translateY(-50%); width: var(--dot-size); height: var(--dot-size); border-radius: 50%; background: transparent;}
ul.product-list li a:hover, ul.product-list li.active a{font-weight: 700;}
ul.product-list li.active a::after{background: var(--purple);}
ul.product-list li.active a::before{content: ""; position: absolute; left: calc(var(--rail-offset) - (var(--dot-size) / 2) + (var(--rail-width) / 2) - 32px);top: 50%; transform: translateY(-50%); width: 2px; height: var(--gap); background: var(--white); pointer-events: none;}
body.single-post .page-builder, body.single-products .page-builder, body.single-work .page-builder, .our-sectors, body.single-sectors .page-builder, body.single-services .page-builder{background: var(--white); padding: var(--single-padding);}
.one-column{width: 70%; margin: 0 auto;}
.block-quote{width: 50%; margin: 0 auto;}
.one-column .subheading{font-size: var(--font-size-post-title); font-weight: 700;}
.one-column h2.module-heading{margin-bottom: var(--buttons-gap);}
.single-image .edge-to-edge-image{padding-top: 0;}
.single-image .full-image, .slideshow .full-image{border-radius: 0; overflow: inherit;}
.one-column, .single-image, .slideshow, .block-quote{padding: var(--module-padding);}
body.single-post .latest-work, body.single-products .latest-work, body.single-work .latest-work, body.page-template-sectors .latest-work, body.single-sectors .latest-work, body.page-template-services .latest-work, body.single-services .latest-work{border-radius: 0 0 5.313rem 5.313rem;}
.social-share{display: flex; align-items: center; justify-content: space-between; width: 70%; margin: 0 auto; border-top: 1px solid var(--dark-grey); padding-top: 30px;}
body.single-products .client-carousel, body.single-work .client-carousel, body.single-sectors .client-carousel, body.single-services .client-carousel{background: inherit; border-radius: 0;}
body.single-products .client-carousel ul.module-subheading li, body.single-work .client-carousel ul.module-subheading li, body.single-sectors .client-carousel ul.module-subheading li, body.single-services .client-carousel ul.module-subheading li{font-size: var(--font-size-post-title); text-transform: inherit; padding-left: 0;}
body.single-products .client-carousel ul.module-subheading li::before, body.single-work .client-carousel ul.module-subheading li::before, body.single-sectors .client-carousel ul.module-subheading li::before, body.single-services .client-carousel ul.module-subheading li::before{display: none;}
body.single-products #carousel-header.wrap, body.single-work #carousel-header.wrap, body.single-sectors #carousel-header.wrap, body.single-services #carousel-header.wrap{width: 70%; margin: 0 auto;}
.tags{width: 70%; margin: 0 auto; padding-top: 30px;}
.tag-grid{padding-top: 30px; display: flex; align-items: center; gap: var(--gap); flex-flow: wrap;}
.tag-grid a{font-family: var(--font-sans); font-size: var(--font-size-button); display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: var(--btn-radius); border: 1px solid var(--charcoal); color: var(--charcoal); text-decoration: none; font-weight: 600; white-space: nowrap; letter-spacing: -0.42px; cursor: pointer;}
.tag-grid a:hover{background: var(--charcoal); color: var(--white);}
/* Our Sectors Index & Sectors Products --------------------------------------------- */
.our-sectors{position: relative;}
.our-sectors .sectors-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap: var(--module-gap, 24px);}
body.single-sectors .acf-slider .slide-inner{top: 30%; transform: translateY(calc(-30% - 85px));}
body.single-sectors .acf-slider .slide-inner h1{font-size: var(--font-size-product-title); line-height: 86px; letter-spacing: -1.52px;}
body.single-sectors .introduction .intro-right-hero{margin-top: var(--overlap-xl); position: relative; isolation: auto; border-radius: var(--btn-radius); overflow: hidden;}
/* Our Work Index & Single Products --------------------------------------------- */
body.page-template-our-work .latest-news, body.archive.tax-work-categories .latest-news{border-radius: 0 0 var(--module-radius) var(--module-radius);}
/* News & Views --------------------------------------------- */
.news-index{padding: var(--module-padding); background: var(--white); border-radius: var(--module-radius); position: relative; isolation: isolate; z-index: 1!important;}
.news-index h2.module-heading{margin-bottom: var(--buttons-gap);}
.news-grid{position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--news-gap);}
.news-grid .carousel-cell{position: relative;}
.news-grid .carousel-cell:nth-child(3n)::after{content:""; position:absolute; left:-200%; width:300%; height:1px; background: var(--dark-grey); bottom:0; transform: translateY(calc(var(--news-gap) / 2)); pointer-events:none;}
.news-index .news-controls{display:flex; align-items:center; justify-content:space-between; gap: clamp(12px, 2vw, 24px); margin-bottom: var(--buttons-gap);}
.news-index .news-filters{display: flex; flex-wrap: wrap; gap: 8px; background: var(--light-grey); border-radius: var(--btn-radius); overflow: hidden;}
.news-index .pill{border: 0; letter-spacing: -0.42px; appearance: none; border: 0; cursor: pointer; padding: 10px 16px; font-family: var(--font-sans); font-size: var(--font-size-button); background: transparent; color: var(--charcoal); font-weight: 600; }
.news-index .pill.is-active{border: 0; color: var(--white); border-radius: var(--btn-radius); background: var(--purple); white-space: nowrap;}
.news-index .news-search{position:relative; width:min(360px, 100%);}
.news-index .news-search input{width: 100%; border: 1px solid #ddd; border-radius: 999px; padding: .6rem 1rem; outline:none;}
.news-index .news-card{position: relative; overflow: hidden;  height: 100%; border-right: 1px solid var(--dark-grey);}
.news-index .news-card::before{content:""; position:absolute; inset:0; background: var(--light-grey); opacity:0; transition: opacity .25s ease; z-index:0;}
.news-index .news-card:hover::before, .news-index .news-card:focus-within::before{opacity:1;}
.news-index .card-link, .news-index .card-link-inner{position:relative; z-index:1; display:block; height:100%;}
.news-index .thumb{border-radius: var(--btn-radius); overflow: hidden; margin-bottom: 15px;}
.news-index .news-card h3.title{margin-bottom: var(--buttons-gap);}
.news-index .news-load{display: grid; place-items: center;}
.news-index .btn{margin: 80px 0;}
.news-index.is-loading .btn{pointer-events:none;}
/* Single News --------------------------------------------- */
body.single-post .acf-slider ul.module-subheading li{color: var(--white);}
body.single-post .acf-slider ul.module-subheading li::before{background-color: var(--white);}
body.single-post .acf-slider .slide-inner h1{font-size: var(--font-size-product-title); line-height: 86px; letter-spacing: -1.52px; width: 60%;}
body.single-post .introduction h2{color: var(--charcoal); font-size: var(--font-size-heading); font-weight: 400; width: 60%;}
body.single-post .introduction .intro-right-hero{isolation: auto; border-radius: var(--btn-radius); overflow: hidden; width: 28%; right: 5%; position: absolute; bottom: 100%;}
body.archive .news-index{border-radius: 0 0 var(--module-radius) var(--module-radius); margin-top: 120px;}
/* About --------------------------------------------- */
body.page-template-about{background-color: var(--white);}
body.page-template-about .introduction{border-radius: var(--module-radius);}
body.page-template-about .introduction .intro-grid .copy {max-width: 100%;}
.our-people, .current-vacancies{background-color: var(--white);}
.our-people h2.module-heading, .where-we-operate h2.module-heading, .client-carousel h2.module-heading{width: 65%;}
.anchor-list a{scroll-behavior: smooth;}
.anchor-list li, .product-list li{display: flex; align-items: flex-start; flex-direction: column; text-transform: uppercase; position: relative;}
.anchor-list li a, .product-list li a{text-decoration: none; font-weight: 400; font-size: var(--font-size-subheading); color: inherit;}
.our-values{background-color: var(--light-grey); border-radius: var(--module-radius);}
.our-values .edge-to-edge-image, .where-we-operate .edge-to-edge-image{padding-top: 0;}
.edge-to-edge-image{padding-top: 6.25rem;}
.full-image img{width: 100%;}
.team-grid{position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: var(--gap); align-items: start;}
.team-card{border-radius: var(--btn-radius); overflow: hidden; background: var(--light-grey);}
.team-content{display: block; padding: var(--team-card-padding);}
h3.team-title, h3.vacancies-title{font-family: var(--font-sans); font-size: var(--font-size-footer); color: var(--purple);}
.company-name{font-family: var(--font-sans); font-size: var(--font-size-footer); color: var(--charcoal);}
.job-title{font-size: var(--font-size-button); color: var(--black); text-transform: uppercase; font-family: var(--font-sans);margin-bottom: 1.875rem; display: block;}
.team-bottom{display: flex; align-items: center; justify-content: space-between;}
.bio-button{width: 45px; height: 45px; background: var(--purple); border-radius: 999px; display: grid; place-items: center; cursor: pointer; transition: all 200ms ease, outline 200ms cubic-bezier(0.4, 0, 0.2, 1); outline: 1px solid var(--purple); outline-offset: -1px; padding: 0;}
.bio-button:hover, .bio-button:focus{background: var(--light-purple); outline: 1px solid var(--purple);}
.team-img-wrap{position: relative; overflow: hidden;}
.team-caricature, .team-image{width: 100%; height: auto; display: block; transition: opacity 0.4s ease, transform 0.4s ease;}
.team-image{position: absolute; top: 0; left: 0; opacity: 0;}
.team-card:hover .team-image{opacity: 1; transform: scale(1.05);}
.team-card:hover .team-caricature{opacity: 0;}
.bio-overlay{position: fixed; inset: 0; backdrop-filter: blur(5px); opacity: 0; visibility: hidden; transition: opacity .3s ease; z-index: 99999;}
.bio-drawer{position: fixed; top: 0; right: -100%; width: 580px; height: 100%; background: var(--black); color: var(--white); overflow-y: auto; transition: right .4s ease; z-index: 99999; padding: var(--team-card-popup-padding); display: flex; flex-direction: column; border-radius: var(--btn-radius) 0 0 var(--btn-radius);}
.bio-drawer.active{right: 0;}
.bio-overlay.active{opacity: 1; visibility: visible;}
.bio-close, .bio-close:focus{width: 45px; height: 45px; background: var(--white); border-radius: 50%; cursor: pointer; transition: all 200ms ease, outline 200ms cubic-bezier(0.4, 0, 0.2, 1);outline: 1px solid var(--white); outline-offset: -1px; padding: 0; margin: 0; color: var(--black); position: absolute; right: 15px; margin-bottom: 30px; top: 15px;}
h3.bio-name{font-family: var(--font-sans); font-size: var(--font-size-quote); color: var(--white); margin: 2rem 0 0.5rem 0;}
.bio-job{font-size: var(--font-size-button); color: var(--light-grey); text-transform: uppercase; font-family: var(--font-sans); margin-bottom: 1.875rem; display: block;}
.bio-photo img{width: 100%; border-radius: var(--btn-radius); margin: 0 0 1.875rem 0;}
.bio-text{margin-bottom: 2rem;}
.bio-text p{color: var(--white); font-size: var(--font-size-menu);}
.bio-nav{display: flex; justify-content: end; gap: var(--gap);}
.bio-bottom{margin: 0 0 2rem 0; display: flex; align-items: center; justify-content: space-between;}
.bio-bottom a{color: var(--white);}
.bio-prev, .bio-next, .bio-prev:hover, .bio-prev:focus, .bio-next:hover, .bio-next:focus{width: 45px; height: 45px; background: var(--white); border-radius: 50%; cursor: pointer; transition: all 200ms ease, outline 200ms cubic-bezier(0.4, 0, 0.2, 1); outline: 1px solid var(--white); outline-offset: -1px; padding: 0; color: var(--black);}
body.page-template-about .footer{background-color: var(--light-grey); border-radius: var(--module-radius) var(--module-radius) 0 0;}
.where-we-operate{background-color: var(--light-grey); border-radius: 5.313rem 5.313rem 0 0; padding: var(--module-padding);}
.localities{padding: var(--module-padding);}
.localities-inner{position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: var(--gap); align-items: stretch;}
.localities-card, .vacancies-card{height: 100%; border-right: 1px solid var(--dark-grey);}
.localities-card:last-child, .vacancies-card:nth-child(4n){border-right: 0;}
h3.region{font-size: var(--font-size-copy); letter-spacing: -0.16px; text-transform: uppercase; margin-bottom: 1rem;}
.region.color-1{color: var(--blue);}
.region.color-2{color: var(--blue);}
.region.color-3{color: var(--dark-purple);}
.region.color-4{color: var(--orange);}
.localities-list p{font-size: var(--font-size-copy); letter-spacing: -0.17px; margin-bottom: 10px;}
.current-vacancies{border-radius: var(--module-radius);}
.vacancies-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); align-items: stretch; row-gap: 3.75rem;}
.vacancies-card{display: flex; height: 100%;}
.vacancies-card .vacancies-content{  display: flex; flex-direction: column; width: 100%;}
.job-description{flex-grow: 1; padding-right: 1.375rem; display: block; margin-bottom: 3rem;}
.job-description p{font-size: var(--font-size-menu);}
.vacancies-card .cta-row{margin-top: auto;}
.vacancies-card.is-hidden{display: none;}
.vacancies-load-more-wrap{margin-top: 3.75rem; text-align: center;}
button#vacancies-load-more{font-family: var(--font-sans); font-size: var(--font-size-button); display: inline-flex; justify-content: center; padding: 10px 16px; border-radius: var(--btn-radius); background: var(--purple); color: var(--white); white-space: nowrap; letter-spacing: -0.42px; cursor: pointer; align-items: center; text-decoration: none; font-weight: 600;}
button#vacancies-load-more:hover, button#vacancies-load-more:active, button#vacancies-load-more:focus{background-color: var(--light-purple);}
/* Contact --------------------------------------------- */
body.page-template-contact .introduction{padding: 0;}
body.page-template-contact .introduction .intro-right-hero{margin-top: var(--overlap-lg); position: relative; z-index: auto; isolation: auto; border-radius: var(--btn-radius); overflow: hidden;}
#two.intro-grid{padding: var(--module-padding-lg);}
.contact{padding-bottom: 12.5rem; background-color: var(--white); border-radius: 0 0 var(--module-radius) var(--module-radius);}
.contact-details{display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap);}
.contact-details h3.module-heading{font-size: var(--font-size-button); color: var(--dark-grey); text-transform: uppercase; font-family: var(--font-sans); display: block;}
.email, .number{display: block; font-size: var(--font-size-footer); color: var(--black); text-decoration: none; border-bottom: 1px solid var(--light-grey);}
.email:hover, .number:hover{color: var(--purple);}
.contact-grid{display: grid; grid-template-columns: repeat(2, 1fr); column-gap: var(--intro-gap);}
.contact-col-left h2.module-heading{font-size: var(--font-size-quote); color: var(--charcoal); margin-bottom: var(--buttons-gap);}
.office{display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap);}
.office-image img{border-radius: var(--btn-radius); overflow: hidden;}
.office-details{font-family: var(--font-sans); font-size: var(--font-size-copy);}
.company-name{display: block; margin-bottom: 1rem;}
.address, .opening-hours{display: block; margin-bottom: 2rem;}
input, textarea{border-radius: var(--btn-radius); border: 1px solid var(--light-grey); font-family: var(--font-sans); font-size: var(--font-size-button); margin-bottom: 10px; color: var(--black);}
input:focus, textarea:focus{border: 1px solid var(--purple);}
.wpcf7 form.sent .wpcf7-response-output{padding: 0; margin: 2em 0; border: 0; font-family: var(--font-sans); font-size: var(--font-size-button); color: var(--purple);}
.wpcf7-not-valid-tip{font-family: var(--font-sans); font-size: var(--font-size-button); margin-bottom: 10px;}
/* Policies --------------------------------------------- */
body.page-template-policies .page-builder{padding: var(--module-padding); background: var(--white); position: relative; isolation: isolate; z-index: 1; border-radius: var(--module-radius);}
/* 404 Error Page --------------------------------------------- */
body.error404 .entry .wrap{padding: var(--module-padding); background: var(--white); border-radius: 0 0 var(--module-radius) var(--module-radius);}
body.error404 .entry .inner{padding: var(--module-padding-inner);}
body.error404 .entry h1{margin-bottom: var(--buttons-gap); font-size: var(--font-size-heading); font-weight: 400;}
body.error404 .entry p{font-size: var(--font-size-copy);}
/* Footer --------------------------------------------- */
.site-footer{border: 0; padding: 0;}
.footer{background-color: var(--light-grey); padding: var(--module-padding); font-size: var(--font-size-menu); color: var(--black); position: relative; letter-spacing: -0.16px;}
.footer-top{display: grid; grid-template-columns: 50% 50%; grid-template-areas: "cta cols" "cta certs"; gap: var(--gap); align-items: start;}
.footer-cta{grid-area: cta;}
.footer-cta a.btn{font-size: var(--font-size-menu);}
.footer-columns{grid-area: cols; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap);}
.footer-cta .widget{margin: 0;}
.textwidget p{margin: 0 0 28px;}
.textwidget p:last-child{margin: 0;}
.footer-cta h3{font-size: var(--font-size-footer); letter-spacing: -0.26px; color: var(--purple); margin-bottom: var(--buttons-gap);}
.footer .widget-title{font-size: var(--font-size-menu); text-transform: uppercase; font-weight: 700; letter-spacing: -0.16px; color: var(--purple);}
.footer-column ul li{margin-bottom: 0.25rem;}
.footer-column a, .footer-bottom a, .footer-bottom__left .policies-menu a{color: inherit; text-decoration: none;}
.footer-column a:hover, .footer-bottom a:hover, .footer-bottom__left .policies-menu a:hover{text-decoration: underline;}
.footer-certifications{grid-area: certs; display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(12px, 2vw, 24px);}
.footer-certifications .widget-title{flex: 0 0 100%;}
.footer-certifications img{display: block; height: 78px; width: auto;}
.footer-bottom{display: flex; justify-content: space-between; flex-wrap: wrap; letter-spacing: -0.13px; color: var(--black); font-family: var(--font-sans); font-size: var(--font-size-copyright);}
.footer-bottom > div{flex: 1;}
.footer-bottom__right{text-align: right;}
.footer-bottom__left{display: flex; align-items: center; flex-wrap: wrap; gap: 1rem;}
.footer-bottom__left .policies-menu{display: flex; align-items: center; margin: 0; padding: 0; list-style: none; gap: 1rem;}
.footer-bottom__left .policies-menu li{position: relative; margin: 0; padding: 0;}
.footer-bottom__left .policies-menu li + li{padding-left: 1rem;}
.footer-bottom__left .policies-menu li + li::before{content: "";position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: 1em; border-left: 1px solid var(--black);}
.scroll-to-top{position: absolute; right: 5.313rem; top: 6.25rem; cursor: pointer; background: transparent; padding: 0; margin: 0; border: 0; }
/* Text Animation --------------------------------------------- */
.animated-slide{opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; will-change: transform, opacity;}
.animated-slide.in-view{opacity: 1; transform: translateY(0);}