#pot {
  animation: linear infinite;
  animation-name: run;
  animation-duration: 5s;
}
@keyframes run {
  0% {
    left: 0;
  }
  50% {
    left: 100%;
  }
  100% {
    left: 0;    
  }
}
  .header_trigger {
    width:30px;
    height:28px;
    display:-webkit-inline-box;
    display:-ms-inline-flexbox;
    display:inline-flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-flow:column wrap;
    flex-flow:column wrap;
    position:relative;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end
  }
  .header_trigger .line {
    width:100%;
    height:3px;
    background:#fff;
    -webkit-transition:width .3s ease-in-out;
    -o-transition:width .3s ease-in-out;
    transition:width .3s ease-in-out;
    border-radius:3px
  }
  .header_trigger .line--short {
    width:50%
  }
  .header_trigger.active .line--short {
    width:100%
  }
.abt_img {
  padding-top: 60px;
  height: auto;
  border-radius: 20px;
}
.secondary {
  column-gap: 5vw;
}
.acccontainer {
  flex-direction: row;
  display: flex;
  padding: 0%;
  margin: 0%;
  justify-content: center;
}
.acclogo {
  max-width: 100%;
  width: auto;
  height: auto;
  opacity: 75%;
  padding: 0px 100px
}
.wrapper, .services_list-item {
  border-radius: 25px;
}
.services_list .wrapper {
  background-image: url(/resources/plans.jpg);
}
@font-face {
  font-family:Roboto;
  src: url(/fonts/Roboto-Regular.ttf);
}
@font-face {
  font-family: Archivo;
  src: url(/fonts/Archivo-Regular.ttf);
}
@-webkit-keyframes rotate-center {
  0% {
    -webkit-transform:rotate(0);
    transform:rotate(0)
  }
  100% {
    -webkit-transform:rotate(360deg);
    transform:rotate(360deg)
  }
}
@keyframes rotate-center {
  0% {
    -webkit-transform:rotate(0);
    transform:rotate(0)
  }
  100% {
    -webkit-transform:rotate(360deg);
    transform:rotate(360deg)
  }
}
@-webkit-keyframes pulse {
  0%,
  100% {
    -webkit-transform:scale(0);
    transform:scale(0)
  }
  50% {
    -webkit-transform:scale(1);
    transform:scale(1)
  }
}
@keyframes pulse {
  0%,
  100% {
    -webkit-transform:scale(0);
    transform:scale(0)
  }
  50% {
    -webkit-transform:scale(1);
    transform:scale(1)
  }
}
* {
    margin:0;
    padding:0;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    outline:0
}
html {
  scroll-behavior:smooth
}
body {
  font-family:Roboto;
  font-size:17px;
  line-height:1.5;
  color:#000810;
  position:relative
}
body,
html {
  overflow-x:hidden
}
html[dir=rtl] .page .media {
  right:unset!important;
  left:-10%
}
html[dir=rtl] .section_header .subtitle {
  padding-left:0;
  padding-right:60px
}
html[dir=rtl] .section_header .subtitle:before {
  left:unset;
  right:0
}
html[dir=rtl] .section_header .subtitle--extended:before {
  right:unset;
  left:calc(100% - 40px)
}
html[dir=rtl] .link-arrow .icon {
  -webkit-transform:scaleX(-1);
  -ms-transform:scaleX(-1);
  transform:scaleX(-1);
  margin-left:0!important;
  margin-right:10px
}
html[dir=rtl] .link-arrow:focus .icon,
html[dir=rtl] .link-arrow:hover .icon {
  margin-right:15px
}
html[dir=rtl] input[type=checkbox]+label .icon {
  margin-right:0;
  margin-left:20px
}
html[dir=rtl] .swiper-controls .swiper-button .icon {
  -webkit-transform:scaleX(-1);
  -ms-transform:scaleX(-1);
  transform:scaleX(-1)
}
html[dir=rtl] #scrollTrigger {
  right:unset;
  left:12px
}
html[dir=rtl] .footer_main-block_nav .list-item .link .icon {
  -webkit-transform:scaleX(-1);
  -ms-transform:scaleX(-1);
  transform:scaleX(-1)
}
ul {
  list-style:none
}
a {
  text-decoration:none
}
a,
button,
input,
textarea {
  background:0 0;
  color:inherit;
  font-family:inherit;
  border:none;
  cursor:pointer;
  -webkit-transition:.3s ease-in-out;
  -o-transition:.3s ease-in-out;
  transition:.3s ease-in-out
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:Archivo,sans-serif;
  font-weight:700;
  line-height:1.2
}
.h1,
h1 {
  font-size:40px
}
.h2,
h2 {
  font-size:36px;
  line-height:1.1
}
.h3,
.h4,
h3,
h4 {
  font-size:26px
}
.h5,
h5 {
  font-size:18px
}
.h6,
h6 {
  font-size:14px;
  line-height:1.5
}
:not(.header_nav-list) {
  scrollbar-width:auto;
  scrollbar-color:#a9a9a9 #e9e6e6
}
:not(.header_nav-list)::-webkit-scrollbar {
  width:8px
}
:not(.header_nav-list)::-webkit-scrollbar-track {
  background:#e9e6e6
}
:not(.header_nav-list)::-webkit-scrollbar-thumb {
  background-color:#a9a9a9;
  border-radius:0;
  border:none
}
textarea {
  resize:none
}
img {
  width:100%;
  -o-object-fit:cover;
  object-fit:cover;
  display:block
}
input[type=checkbox] {
  display:none
}
input[type=checkbox]:checked+label .icon {
  color:#0da574
}
input[type=checkbox]+label {
  cursor:pointer
}
input[type=checkbox]+label .icon {
  color:transparent;
  width:18px;
  height:18px;
  border:1px solid #c8c8c8;
  font-size:12px;
  margin-right:20px;
  text-align:center;
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-transition:color .3s ease-in-out;
  -o-transition:color .3s ease-in-out;
  transition:color .3s ease-in-out
}
.text {
  text-align: justify;
}
.header {
  will-change:transform;
  position:fixed;
  width:100%;
  z-index:1000000;
  top:0;
  left:0;
  background-color:transparent;
  -webkit-transition:.2s ease-in-out;
  -o-transition:.2s ease-in-out;
  transition:.2s ease-in-out;
  background-color:#001f3f;
}
.header .container {
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  padding:15px 20px
}
.header.opened {
  height:100vh
}
.header .opened,
.header .sticky {
  background-color:#001f3f
}
.header_nav {
  width:100%;
  -webkit-box-ordinal-group:2;
  -ms-flex-order:1;
  order:1
}
.collapse:not(.show) {
  display:none
}
.header_nav-list {
  max-height:calc(100vh - 100px);
  margin-top:40px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:40px;
  overflow-y:auto
}
.header_nav-list_item {
  text-transform:uppercase;
  font-size:14px;
  font-family:Archivo,sans-serif;
  font-weight:600;
  color:#fff
}
.header_nav-list_item .nav-item.current,
.header_nav-list_item .nav-link.current {
  color:#ffc631
}
.hero {
  padding:100px 0 0;
  position:relative;
  overflow:hidden
}
.hero .container {
  padding-bottom:200px;
  position:relative
}
.hero_deco {
  display:none;
  z-index:11;
}
.hero_media {
  position:absolute;
  right:-50%;
  bottom:-25%;
  max-height:50%;
  max-width:860px
}
.hero_header {
  position:relative;
  z-index:100
}
.hero_header .title {
  font-family:Archivo,sans-serif;
  font-weight:800
}
.hero_header .text {
  text-shadow:0 0 5px #001f3f
}
.hero_main {
  position:relative;
}
.hero_main .card {
  display:none
}
.container {
  max-width:1290px;
  padding:0 20px;
  margin-left: 15vw;
  margin-right: 15vw
}
#topContainer {
  background-size: cover;
}
.accreditations {
  padding:25px 0;
  box-shadow: inset 0 0 10px black;
}
.section {
  padding:80px 0
}
.section_header {
    margin-bottom:30px
}
.section_header .subtitle {
  text-transform:uppercase;
  padding-left:60px;
  position:relative;
  display:inline-block;
  font-size:16px;
  line-height:21px;
  margin-bottom:15px;
  font-family:Archivo,sans-serif;
  font-weight:600
}
.section_header .subtitle:before {
  content:'';
  position:absolute;
  left:0;
  top:50%;
  -webkit-transform:translateY(-50%);
  -ms-transform:translateY(-50%);
  transform:translateY(-50%);
  height:2px;
  width:40px;
  background:#ffc631
}
.section_header .subtitle--extended {
  padding-left:20px
}
.section_header .subtitle--extended:before {
  width:1000%;
  left:-1000%
}
.section_header .text {
  margin:20px 0 30px
}
.btn,
.field {
  height:54px
}
.field {
  background:#fff;
  border:1px solid transparent;
  padding:17px 19px;
  -webkit-transition:.3s ease-in-out;
  -o-transition:.3s ease-in-out;
  transition:.3s ease-in-out;
  color:#000810;
  font-size:inherit;
  line-height:inherit;
  margin-bottom:20px
}
.field::-webkit-input-placeholder {
  color:#a9a9a9;
  -webkit-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out;
  font-size:16px
}
.field::-moz-placeholder {
  color:#a9a9a9;
  -moz-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out;
  font-size:16px
}
.field:-ms-input-placeholder {
  color:#a9a9a9;
  -ms-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out;
  font-size:16px
}
.field::-ms-input-placeholder {
  color:#a9a9a9;
  -ms-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out;
  font-size:16px
}
.field::placeholder {
  color:#a9a9a9;
  -webkit-transition:opacity .3s ease-in-out;
  -o-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out;
  font-size:16px
}
.field:focus::-webkit-input-placeholder {
  opacity:0
}
.field:focus::-moz-placeholder {
  opacity:0
}
.field:focus:-ms-input-placeholder {
  opacity:0
}
.field:focus::-ms-input-placeholder {
  opacity:0
}
.field:focus::placeholder {
  opacity:0
}
.field.error {
  border-color:red!important
}
.btn {
  font-family:Archivo,sans-serif;
  font-weight:700;
  padding:0 30px;
  color:#000810;
  font-size:18px;
  line-height:1;
  -webkit-transition:.3s ease-in-out;
  -o-transition:.3s ease-in-out;
  transition:.3s ease-in-out;
  background:#ffc631;
  text-transform:uppercase;
  position:relative;
  bottom:0;
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  width:100%;
  border-radius: 15px;
}
.btn:not(.btn--static):focus,
.btn:not(.btn--static):hover {
  bottom:5px
}
.metadata {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  gap:0 10px;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  text-transform:uppercase;
  color:#202c38;
  font-size:14px
}
.metadata .icon {
  font-size:5px;
  color:#ffc631
}
.link-arrow {
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  text-transform:uppercase;
  font-size:18px;
  line-height:1;
  color:#0da574;
  letter-spacing:1px;
  font-family:Archivo,sans-serif;
  font-weight:600
}
.link-arrow--alt {
  color:#ffc631
}
.link-arrow .icon {
  margin:-2px 0 0 10px;
  -webkit-transition:.3s ease-in-out;
  -o-transition:.3s ease-in-out;
  transition:.3s ease-in-out;
  font-size:16px
}
.link-arrow:focus .icon,
.link-arrow:hover .icon {
  margin-left:15px
}
.brand {
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  gap:10px;
  color:#fff;
  font-family:Archivo,sans-serif;
  font-weight:700;
  font-size:24px;
  line-height:1
}
.brand_logo {
  position:fixed;
  width:210px;
  height:90px;
  margin-top: -35px;
  margin-left: 10vw;
}
.alt_brand_logo {
  position:fixed;
  width: 210px;
  height: 90px;
}
.highlight {
  color:#0da574
}
.primary-bg {
  background:#001f3f;
  color:#fff
}
.secondary-bg {
  background: #001f3f;
}
.tertiary-bg {
  background: #a9a9a9;
}
.transparent-bg {
  background-color: transparent;
  color: #fff
}
.primary-bg .checklist_item .icon {
  color:#ffc631
}
.presentation {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px
}
.presentation .gallery_item .media {
  display:block
}
.blog_feed {
  display:grid;
  grid-gap:40px
}
.blog_feed-item .media {
  aspect-ratio:410/320;
  overflow:hidden
}
.blog_feed-item .media img {
  height:100%
}
.blog_feed-item .metadata {
  margin:10px 0 5px
}
.blog_feed-item .main_title {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  gap:10px
}
.blog_feed-item .main_title .icon {
  margin-top:5px;
  color:#0da574
}
.blog_feed-item .main_text {
  margin:10px 0 20px;
  padding-bottom:15px;
  color:#162739;
  border-bottom:1px solid #c8c8c8
}
.gallery_item {
  height:260px;
  overflow:hidden
}
.gallery_item .media {
  position:relative;
  height:100%
}
.gallery_item .media img {
  height:100%
}
.gallery_item .media .overlay {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  -webkit-box-pack:end;
  -ms-flex-pack:end;
  justify-content:flex-end;
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  padding:20px;
  color:#fff;
  background:rgba(0,31,63,.5);
  opacity:0;
  -webkit-transition:opacity .3s ease-in-out;
  -o-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out
}
.gallery_item .media .overlay_header {
  margin-bottom:0
}
.gallery_item .media .overlay_caption {
  font-family:Archivo,sans-serif;
  font-weight:700;
  text-wrap: auto
}
.gallery_item .media .overlay_label {
  text-transform:uppercase;
  color:#ffc631;
  margin-top:20px;
  font-family:Archivo,sans-serif;
  font-weight:600;
  font-size:18px
}
.gallery_item .media:hover .overlay {
  opacity:1
}
.header--pinned {
  -webkit-transform:translateY(0);
  -ms-transform:translateY(0);
  transform:translateY(0)
}
.header--unpinned {
  -webkit-transform:translateY(-100%);
  -ms-transform:translateY(-100%);
  transform:translateY(-100%)
}
.services_header {
  max-width:510px;
  width:100%
}
.services_list {
  display:grid;
  grid-gap:30px
}
.services_list-item {
  background-color: #fff;
}
.services_list-item .services_header .text {
  color:#162739;
}
.services_list-item .wrapper {
  border:1px solid #c8c8c8;
  padding:30px;
  -webkit-transition:.3s ease-in-out;
  -o-transition:.3s ease-in-out;
  transition:.3s ease-in-out
}
.services_list-item .wrapper:hover {
  border-color:#0da574
}
.services_list-item .wrapper .number {
  color:#a9a9a9;
  font-family:Archivo,sans-serif;
  font-weight:800;
  font-size:36px;
  line-height:40px
}
.services_list-item .wrapper .title {
  margin:20px 0
}
.services_list-item .wrapper .description {
  margin-bottom:40px;
  color:#202c38
}
.blog_header {
  margin-bottom:0
}
.blog_btn {
  margin:30px 0 40px;
  width:100%
}
.contact_form-header {
  margin-bottom:30px
}
.contact_info {
  margin-top:60px
}
.contact_info-header {
  max-width:340px;
  margin-bottom:30px
}
.contact-form_btn,
.contact-form_field {
  width:100%
}
.contact-form_field {
  font-size:inherit;
  line-height:inherit;
  padding:17px 20px;
  border:1px solid #a9a9a9;
  margin-bottom:30px;
  color:#202c38;
  -webkit-transition:.3s ease-in-out;
  -o-transition:.3s ease-in-out;
  transition:.3s ease-in-out
}
.contact-form_field[data-type=message] {
  margin-bottom:0;
  min-height:164px
}
.contact-form_field::-webkit-input-placeholder {
  font-size:inherit;
  line-height:inherit;
  color:#a9a9a9;
  -webkit-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out
}
.contact-form_field::-moz-placeholder {
  font-size:inherit;
  line-height:inherit;
  color:#a9a9a9;
  -moz-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out
}
.contact-form_field:-ms-input-placeholder {
  font-size:inherit;
  line-height:inherit;
  color:#a9a9a9;
  -ms-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out
}
.contact-form_field::-ms-input-placeholder {
  font-size:inherit;
  line-height:inherit;
  color:#a9a9a9;
  -ms-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out
}
.contact-form_field::placeholder {
  font-size:inherit;
  line-height:inherit;
  color:#a9a9a9;
  -webkit-transition:opacity .3s ease-in-out;
  -o-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out
}
.contact-form_field:focus {
  border-color:#202c38
}
.contact-form_field:focus::-webkit-input-placeholder {
  opacity:0
}
.contact-form_field:focus::-moz-placeholder {
  opacity:0
}
.contact-form_field:focus:-ms-input-placeholder {
  opacity:0
}
.contact-form_field:focus::-ms-input-placeholder {
  opacity:0
}
.contact-form_field:focus::placeholder {
  opacity:0
}
.contact-form_btn {
  margin-top:40px
}
.contact-info {
  max-width:285px;
  margin-bottom:40px
}
.contact-info_group {
  font-family:Archivo,sans-serif;
  margin-bottom:30px
}
.contact-info_group:last-of-type {
  margin-bottom:0
}
.contact-info_group span {
  display:block
}
.contact-info_group .name {
  text-transform:uppercase;
  font-size:14px;
  line-height:22px;
  margin-bottom:8px;
  color:#a9a9a9;
  font-weight:500
}
.contact-info_group .content {
  font-weight:600;
  font-size:18px;
  line-height:23px
}
.contact-info_group .content .link {
  -webkit-transition:color .3s ease-in-out;
  -o-transition:color .3s ease-in-out;
  transition:color .3s ease-in-out
}
.contact-info_group .content .link:focus,
.contact-info_group .content .link:hover {
  color:#0da574
}
.footer {
  padding-top:80px;
  padding-bottom:60px
}
.footer_main {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:40px
}
.footer_main-block .brand,
.footer_main-block_title {
  margin-bottom:20px
}
.footer_main-block_form {
  margin-top:20px
}
.footer_main-block_form .btn,
.footer_main-block_form .field {
  width:100%
}
.footer_main-block_form .field:focus {
  border-color:#ffc631
}
.footer_main-block_form .btn .icon {
  display:none
}
.footer_main-block_form .btn:focus,
.footer_main-block_form .btn:hover {
  background:#ffd464
}
.footer_main-block .group-wrapper {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  gap:10px
}
.footer_main-block .group-wrapper:first-of-type {
  margin-bottom:15px
}
.footer_main-block .group-wrapper .icon {
  color:#ffc631;
  font-size:18px;
  margin-top:5px
}
.footer_main-block .group-wrapper .group {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  line-height:23px
}
.footer_main-block .group-wrapper .group a,
.footer_main-block .group-wrapper .group span {
  display:inline-block
}
.footer_main-block .group-wrapper .group a {
  -webkit-transition:opacity .3s ease-in-out;
  -o-transition:opacity .3s ease-in-out;
  transition:opacity .3s ease-in-out
}
.footer_main-block .group-wrapper .group a:focus,
.footer_main-block .group-wrapper .group a:hover {
  opacity:.8
}
.footer_main-block_nav {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
  gap:15px
}
.footer_main-block_nav .list-item .link {
  display:-webkit-inline-box;
  display:-ms-inline-flexbox;
  display:inline-flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  font-family:Archivo,sans-serif;
  font-weight:600;
  font-size:14px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:1px;
  gap:5px
}
.footer_main-block_nav .list-item .link.current {
  color:#ffc631
}
.footer_main-block_nav .list-item .link .icon {
  font-size:10px;
  color:#ffc631;
  -webkit-transition:.3s ease-in-out;
  -o-transition:.3s ease-in-out;
  transition:.3s ease-in-out
}
.footer_main-block_nav .list-item .link:focus .icon,
.footer_main-block_nav .list-item .link:hover .icon {
  color:#0da574
}
.footer_secondary {
  border-top:1px solid #a9a9a9;
  margin-top:60px;
  padding-top:60px
}
.footer_secondary-copyright {
  text-align:center;
  margin:0 0 40px
}
.footer_secondary-copyright span {
  display:inline-block
}
.footer_secondary .socials {
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center
}
.footer_secondary .socials_item-link {
  background:#ffc631;
  color:#001f3f
}
.blogSection {
    background-color: #1b1b1b;
}
.page {
  padding:100px 0 40px;
  position:relative;
  overflow:hidden
}
.page .section_header {
  position:relative;
  z-index:3;
  margin-bottom:0
}
.page .media {
  position:absolute;
  width:50%;
  -webkit-transform:rotate(153deg);
  -ms-transform:rotate(153deg);
  transform:rotate(153deg);
  bottom:-15%;
  right:10%;
  opacity:.8;
  z-index:1;
  max-width:700px
}
.page .media img {
  height:100%
}
.rndHer {
    position: relative;
    z-index: 10;
    border-radius: 300px;
}
.subheader {
  font-weight: 600;
}
.desc_list {
  list-style-type:disc;
  margin-left: 5vw;
  margin-right: 5vw;
}
.projects_list {
  display:grid;
  gap:40px
}
.projects_list-item .media {
  aspect-ratio:625/500;
  margin-bottom:20px;
  position:relative;
  overflow:hidden
}
.projects_list-item .media img {
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  display:block;
  -o-object-fit:cover;
  object-fit:cover;
  will-change:transform;
  -webkit-transition:-webkit-transform .5s ease-in-out;
  transition:transform .5s ease-in-out;
  -o-transition:transform .5s ease-in-out;
  transition:transform .5s ease-in-out,-webkit-transform .5s ease-in-out
}
.projects_list-item .media:hover img {
  -webkit-transform:scale(1.1);
  -ms-transform:scale(1.1);
  transform:scale(1.1)
}
.projects_list-item .main_title {
  margin-bottom:15px;
  -webkit-box-flex:1;
  -ms-flex-positive:1;
  flex-grow:1;
  padding-bottom:15px;
  position:relative
}
.projects_list-item .main_title .divider--line {
  position:absolute;
  width:100%;
  height:1px;
  background:#a9a9a9;
  bottom:0;
  left:0
}
.projects_list-item .main_info {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column
}
.projects_list-item .main_info .location {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  gap:10px;
  margin-bottom:10px
}
.projects_list-item .main_info .location .icon {
  color:#ffc631;
  font-size:24px
}
@media screen and (min-width:567.98px) {
  body {
    font-size: 12px;
  }
  html[dir=rtl] .hero_main .card {
    margin:30px 0 0 auto
  }
  html[dir=rtl] .hero_main .card img {
    right:auto;
    left:-14%
  }
  html[dir=rtl] .footer_main-block .group-wrapper:first-of-type {
    margin-right:0;
    margin-left:30px
  }
  .rndHer {
    margin-top: -110%;
    margin-left: 0%;
    width: 85%;
  }
  .btn {
    width:-webkit-fit-content!important;
    width:-moz-fit-content!important;
    width:fit-content!important
  }
  .blog_btn {
    width:unset
  }
  .gallery_item .media .overlay {
    padding:30px
  }
  .hero_deco {
    position:absolute;
    display:block;
    opacity:.5;
    -webkit-transform:rotate(154deg);
    -ms-transform:rotate(154deg);
    transform:rotate(154deg);
    max-width:50%;
    bottom:10%;
    left:-10%
  }
  .hero_media {
    right:-50%;
    max-height:65%
  }
  .hero_main .card {
    display:block;
    background:-o-radial-gradient(1.55% 6.12%,97.35% 239.81%,rgba(255,255,255,.9) 0,rgba(255,255,255,.52) 100%);
    background:radial-gradient(97.35% 239.81% at 1.55% 6.12%,rgba(255,255,255,.9) 0,rgba(255,255,255,.52) 100%);
    -webkit-backdrop-filter:blur(80px);
    backdrop-filter:blur(80px);
    overflow:hidden;
    color:#000810;
    max-width:388px;
    margin:30px auto 0 0
  }
  .hero_main .card_underlay {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:-o-radial-gradient(1.55% 6.12%,97.35% 239.81%,rgba(255,255,255,.9) 0,rgba(255,255,255,.52) 100%);
    background:radial-gradient(97.35% 239.81% at 1.55% 6.12%,rgba(255,255,255,.9) 0,rgba(255,255,255,.52) 100%);
    z-index:-1
  }
  .hero_main .card .wrapper {
    padding:20px
  }
  .hero_main .card img {
    position:absolute;
    -webkit-transform:rotate(2deg);
    -ms-transform:rotate(2deg);
    transform:rotate(2deg);
    right:-14%;
    top:30%;
    max-height:210px;
    height:100%;
    width:auto
  }
  .hero_main .card .info,
  .hero_main .card .square {
    display:block
  }
  .hero_main .card .square {
    font-family:Archivo,sans-serif;
    font-weight:800;
    font-size:28px;
    line-height:32px;
    margin:15px 0 5px
  }
  .hero_main .card .square sup {
    font-size:16px;
    position:relative;
    bottom:2px
  }
  .hero_main .card .info {
    font-weight:500
  }
  .hero_main .card .link-arrow {
    margin-top:30px
  }
  .services_list-item .wrapper {
    padding:40px
  }
  .services_list-item .number {
    font-size:40px;
    line-height:50px
  }
  .features_card-title {
    max-width:330px
  }
  .features_card-description {
    max-width:380px
  }
  .contact-form_field--half {
    width:calc(50% - 15px)
  }
  .contact .socials_item-link {
    width:50px;
    height:50px;
    font-size:26px;
    line-height:30px
  }
  .footer_main-block_subtitle {
    max-width:450px
  }
  .footer_main-block_form {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex
  }
  .footer_main-block_form .field {
    margin-bottom:0
  }
  .footer_main-block_form .btn {
    width:auto
  }
  .footer_main-block .group-wrapper {
    display:-webkit-inline-box;
    display:-ms-inline-flexbox;
    display:inline-flex
  }
  .footer_main-block .group-wrapper:first-of-type {
    margin-bottom:0;
    margin-right:30px
  }
  .footer_main-block_nav {
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    -ms-flex-direction:row;
    flex-direction:row;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    gap:40px
  }
  .footer_secondary {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between
  }
  .footer_secondary-copyright {
    margin:0;
    text-align:unset
  }
  .projects_list-item .main_info {
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    -ms-flex-direction:row;
    flex-direction:row;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:10px
  }
  .projects_list-item .main_info .location {
    margin:0
  }
}
@media screen and (min-width:767.98px) {
  .abt_img {
    width: 60vw;
  }
  .secondary {
    column-count: 1;
  }
  html[dir=rtl] .hero_main .card {
    margin:0
  }
  html[dir=rtl] .hero_main .card img {
    right:auto;
    left:-25%
  }
  body {
    font-size:19px
  }
  h1 {
    font-size:46px;
    line-height:1.1
  }
  h2 {
    font-size:40px;
    line-height:1.3
  }
  h3,
  h4 {
    font-size:26px;
    line-height:1.2
  }
  .rndHer{
    margin-top: -90%;
    width: 80%;
  }
  .section_header {
    margin-bottom:40px
  }
  .gallery_item .media .overlay {
    padding:40px
  }
  .blog_btn {
    margin:0
  }
  .blog .wrapper {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    margin-bottom:40px
  }
  .blog .container {
    display:block!important
  }
  .blog_feed {
    grid-template-columns:repeat(2,1fr);
    grid-gap:40px 30px
  }
  .blog_feed-item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column
  }
  .blog_feed-item .main {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1
  }
  .blog_feed-item .main_text {
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1
  }
  .presentation {
    grid-template-columns:1fr 1fr;
    gap:20px
  }
  .gallery_item {
    height:340px
  }
  .header.opened {
    height:50vh
  }
  .header_nav-list {
    max-height:calc(50vh - 100px)
  }
  .hero {
    padding:200px 0 0
  }
  .hero .container {
    padding-bottom:130px
  }
  .hero_header {
    max-width:550px
  }
  .hero_media {
    right:0;
    max-height:60%;
    bottom:-25%
  }
  .hero_main {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between
  }
  .hero_main .card,
  .hero_main .numbers {
    margin:0
  }
  .hero_main .card {
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1
  }
  .hero_main .card .wrapper {
    padding:30px
  }
  .hero_main .card img {
    right:-25%
  }
  .services_list {
    grid-template-columns:repeat(2,1fr)
  }
  .services_list-item .wrapper {
    padding:30px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column
  }
  .alt_brand_logo {
  margin-top: 0px;
  }
  .services_list-item .wrapper .description {
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1
  }
  .footer_main {
    padding-bottom:80px;
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    -ms-flex-flow:row wrap;
    flex-flow:row wrap;
    gap:40px 80px
  }
  .footer_main-block {
    width:calc(50% - 40px)
  }
  .footer_main-block:nth-of-type(3) {
    -webkit-box-ordinal-group:5;
    -ms-flex-order:4;
    order:4
  }
  .footer_main-block .group-wrapper {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex
  }
  .footer_main-block .group-wrapper:first-of-type {
    margin-right:0;
    margin-bottom:15px
  }
  .footer_main-block_nav {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    gap:15px
  }
  .footer_main-block_form {
    margin-top:40px
  }
  .footer_main-block_form .btn {
    width:54px!important;
    padding:0
  }
  .footer_main-block_form .btn .text {
    display:none
  }
  .footer_main-block_form .btn .icon {
    display:inline-block
  }
  .footer_main-block_form .field {
    width:calc(100% - 54px)
  }
  .footer_secondary {
    margin:0;
    padding-top:60px
  }
  .footer_secondary-copyright {
    max-width:350px
  }
  .page {
    padding:100px 0 60px
  }
  .page .media {
    bottom:-45%
  }
  .paragraph {
    padding: 40px 0;
  }
  .projects_list {
    grid-template-columns:repeat(2,1fr)
  }
  .projects_list-item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column
  }
  .projects_list-item .main {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1
  }
  .projects_list-item .main_title {
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1
  }
  .projects_list-item .main_info {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start
  }
}
@media screen and (min-width:1023.98px) {
  .secondary {
      column-count: 2;
  }
  .abt_img {
    width: 30vw;
  }
  html[dir=rtl] .header .container {
    -webkit-box-orient:horizontal;
    -webkit-box-direction:reverse;
    -ms-flex-direction:row-reverse;
    flex-direction:row-reverse
  }
  html[dir=rtl] .header_nav-list .nav-link:after {
    left:auto;
    right:0
  }
  html[dir=rtl] .hero_main .numbers {
    text-align:left
  }
  html[dir=rtl] .page .media {
    left:-18%
  }
  h1 {
    font-size:58px;
    line-height:1
  }
  h2 {
    font-size:48px;
    line-height:1.1
  }
  h3 {
    font-size:30px;
    line-height:1.2
  }
  h4 {
    Line-height:1.1
  }
  .rndHer {
    margin-top: -80%;
    width: 80%;
  }
  .section {
    padding:180px 0
  }
  .header_section {
    padding: 50px 0
  }
  .blog .container {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:30px
  }
  .header {
    padding:30px 0
  }
  .header.sticky {
    padding:20px 0
  }
  .header .container {
    padding:0 20px
  }
  .header .brand_name,
  .header_trigger {
    display:none
  }
  .header_nav {
    display:-webkit-box!important;
    display:-ms-flexbox!important;
    display:flex!important;
    width:unset
  }
  .header_nav .nav-link {
    position:relative
  }
  .header_nav .nav-link:after {
    content:'';
    position:absolute;
    width:0;
    height:2px;
    background-color:#ffc631;
    bottom:-6px;
    left:0;
    -webkit-transition:width .3s ease-in-out;
    -o-transition:width .3s ease-in-out;
    transition:width .3s ease-in-out
  }
  .header_nav .nav-link:focus,
  .header_nav .nav-link:hover {
    color:#ffc631
  }
  .header_nav .nav-link.current {
    color:#fff
  }
  .header_nav .nav-link.current:after {
    width:100%
  }
  .header_nav-list {
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    -ms-flex-direction:row;
    flex-direction:row;
    height:unset;
    margin-top:0;
    overflow-y:unset
  }
  .hero_deco {
    bottom:-20%
  }
  .hero_media {
    right:4%;
    max-height:70%
  }
  .hero .container {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:40px
  }
  .hero_header {
    margin:0
  }
  .hero_main {
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    gap:120px
  }
  .hero_main .numbers {
    text-align:right
  }
  .hero_main .numbers .label {
    line-height:25px
  }
  .hero_main .card {
    width:100%
  }
  .hero_main .card .wrapper {
    padding:40px
  }
  .hero_main .card .square {
    font-size:36px;
    line-height:40px
  }
  .hero_main .card .info {
    font-size:18px;
    line-height:22px
  }
  .services_list-item .wrapper {
    padding:40px
  }
  .services_list-item .wrapper .number {
    font-size:48px;
    line-height:55px
  }
  .contact .container {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    gap:60px
  }
  .contact_info {
    margin-top:0
  }
  .contact_info-header {
    margin-bottom:40px
  }
  .contact_info .socials {
    margin-bottom:5px
  }
  .contact_form-header {
    max-width:370px
  }
  .contact-info {
    margin-bottom:87px
  }
  .contact-info_group {
    margin-bottom:40px
  }
  .footer_main-block {
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
  }
  .footer_main-block:first-of-type {
    max-width:280px
  }
  .footer_main-block:nth-of-type(3) {
    -webkit-box-ordinal-group:unset;
    -ms-flex-order:unset;
    order:unset
  }
  .page {
    padding:200px 0 80px
  }
  .page .media {
    bottom:30%;
    right:-18%;
    width:100%
  }
  .projects_list {
    grid-gap:60px 40px
  }
  .projects_list-item .main_info {
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    -ms-flex-direction:row;
    flex-direction:row;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
  }
  .projects_list-item .main_title .text {
    display:block;
    max-width:450px
  }
}
@media screen and (min-width:1169.98px) {
  .header .brand_name {
    display:block
  }
}
@media screen and (min-width:1199.98px) {
  .footer_main {
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between
  }
  .footer_main-block:last-of-type {
    max-width:330px
  }
}
@media screen and (min-width:1279.98px) {
  html[dir=rtl] .page .media {
    left:200px
  }
  html[dir=rtl] .hero_media {
    right:auto;
    left:200px
  }
  .rndHer {
    margin-top: 0%;
    width: 100%;
  }
  .blog .container {
    gap:60px
  }
  .blog_feed {
    grid-template-columns:repeat(3,1fr)
  }
  .blog_feed-item .metadata {
    margin:20px 0
  }
  .blog_feed-item .main_text {
    margin:20px 0 25px
  }
  .presentation {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0
  }
  .gallery_item {
    height:440px
  }
  .hero {
    padding:280px 0 0
  }
  .hero_deco {
    max-width:60%;
    left:-15%;
    bottom:-35%
  }
  .hero_media {
    right:0;
    max-height:unset;
    height:550px
  }
  .hero_header .text {
    max-width:470px
  }
  .hero_main {
    gap:190px
  }
  .hero_main .numbers {
    gap:60px
  }
  .services_list {
    grid-template-columns:repeat(3,1fr)
  }
  .contact .container {
    gap:140px
  }
  .page .media {
    right:200px
  }
}
@media screen and (min-width:1330px) {
  .header .container {
    padding:0
  }
  .container {
    padding:0
  }
  .projects_list-item .main_title .text {
    max-width:unset
  }
}
@media screen and (min-width:1365.98px) {
  html[dir=rtl] #scrollTrigger {
    right:auto;
    left:30px
  }
  .gallery_item {
    height:600px
  }
}

/* Useful Classes */
.xy-center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.transition {
	transition: all 350ms ease-in-out;
}

.r-3-2 {
	width: 100%;
	padding-bottom: 66.667%;
	background-color: #ddd;
}

.image-holder {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* Main Styles */
.gallery-wrapper {
	position: relative;
	overflow: hidden;
}

.gallery {
	position: relative;
	white-space: nowrap;
	font-size: 0;
}

.item-wrapper {
	cursor: pointer;
	width: 23%; /* arbitrary value */
	display: inline-block;
	background-color: white;
}

.gallery-item { opacity: 0.5; }
.gallery-item.active { opacity: 1; }

.controls {
	font-size: 0;
	border-top: none;
}
.move-btn {
	display: inline-block;
	width: 50%;
	border: none;
  color: #ccc;
	background-color: transparent;
	padding: 0.2em 1.5em;
}
.move-btn:first-child {border-right: none;}
.move-btn.left  { cursor: w-resize; }
.move-btn.right { cursor: e-resize; }
.blog_height {
  margin-top: 20vh
}
@media screen and (min-width: 400px) {
  .alt_brand_logo {
    margin-top: 50px;
  }
}
/* ==========================================================
   2026 mobile + visual refresh
   Keeps the existing brand palette while improving usability,
   accessibility, touch behaviour and responsive layout.
   ========================================================== */
:root {
  --brand-navy: #001f3f;
  --brand-navy-2: #00315f;
  --brand-yellow: #ffc631;
  --brand-green: #0a8f67;
  --ink: #132238;
  --muted: #627083;
  --surface: #ffffff;
  --surface-soft: #f5f7f9;
  --border: #d9e0e7;
  --shadow-sm: 0 8px 24px rgba(0, 31, 63, .08);
  --shadow-md: 0 18px 50px rgba(0, 31, 63, .14);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
}

html {
  scroll-padding-top: 92px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.65;
  background: var(--surface);
  color: var(--ink);
  text-rendering: optimizeLegibility;
}

body.menu-open { overflow: hidden; }

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
  letter-spacing: -.02em;
}

h1 { font-size: clamp(2.25rem, 7vw, 4rem); }
h2 { font-size: clamp(2rem, 5vw, 3.25rem); }
h3, h4 { font-size: clamp(1.25rem, 2.4vw, 1.65rem); }

.text { text-align: left; }
p { max-width: 72ch; }

:focus-visible {
  outline: 3px solid var(--brand-yellow);
  outline-offset: 4px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.container {
  width: min(100% - 32px, 1290px);
  max-width: 1290px;
  margin-inline: auto;
  padding-inline: 0;
}

.section { padding: clamp(64px, 9vw, 128px) 0; }

.header {
  padding: 0;
  background: rgba(0, 31, 63, .96);
  box-shadow: 0 8px 26px rgba(0, 0, 0, .14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.header .container {
  min-height: 78px;
  padding: 10px 0;
  flex-wrap: wrap;
}

.brand { min-height: 52px; }
.alt_brand_logo {
  position: static;
  width: auto;
  height: 58px;
  margin: 0;
  object-fit: contain;
}

.header_trigger {
  width: 48px;
  height: 48px;
  padding: 12px 9px;
  align-items: stretch;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
}
.header_trigger .line { height: 2px; }
.header_trigger .line--short { width: 70%; margin-left: auto; }
.header_trigger.active .line:nth-child(1) { transform: translateY(11px) rotate(45deg); }
.header_trigger.active .line:nth-child(2) { opacity: 0; }
.header_trigger.active .line:nth-child(3) { width: 100%; transform: translateY(-11px) rotate(-45deg); }
.header_trigger .line { transition: transform .25s ease, opacity .2s ease, width .2s ease; }

.header.opened {
  height: 100dvh;
  overflow-y: auto;
}
.header_nav { width: 100%; }
.header_nav-list {
  gap: 0;
  margin-top: 10px;
  padding: 8px 0 24px;
  max-height: calc(100dvh - 88px);
}
.header_nav-list_item { font-size: 15px; }
.header_nav-list_item .nav-link {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 4px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.header_nav-list_item .nav-link .icon { color: var(--brand-yellow); }

.hero {
  min-height: min(820px, 100svh);
  padding: 118px 0 52px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 85% 25%, rgba(13,165,116,.18), transparent 34%),
    linear-gradient(145deg, #001f3f 0%, #002b53 100%);
}
.hero .container {
  display: grid;
  gap: 34px;
  padding-bottom: 0;
}
.hero_header { max-width: 680px; }
.hero_header .title { margin-bottom: 20px; }
.hero_header .text {
  margin-bottom: 28px;
  color: rgba(255,255,255,.86);
  text-shadow: none;
  font-size: clamp(1rem, 2vw, 1.18rem);
}
.hero_media {
  position: relative;
  inset: auto;
  order: -1;
  width: 100%;
  max-width: 720px;
  max-height: none;
}
.rndHer {
  width: 100%;
  margin: 0;
  border-radius: var(--radius-lg);
  aspect-ratio: 16 / 10;
  object-fit: cover;
  box-shadow: var(--shadow-md);
}
.hero_deco { display: none; }
.section_header .subtitle--extended { padding-left: 60px; }
.section_header .subtitle--extended:before { width: 40px; left: 0; }

.btn {
  min-height: 54px;
  width: auto;
  max-width: 100%;
  padding: 0 24px;
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(255, 198, 49, .18);
  font-size: 15px;
  letter-spacing: .035em;
  text-align: center;
}
.btn:not(.btn--static):hover,
.btn:not(.btn--static):focus { bottom: 0; transform: translateY(-2px); }

.about { background: var(--surface-soft); }
.about .main { max-width: 920px; }
.about .text + .text { margin-top: 24px; }

.services { background: var(--brand-navy); }
.services_header { max-width: 760px; }
.services_list { gap: 18px; }
.services_list-item,
.wrapper, .services_list-item { border-radius: var(--radius-md); }
.services_list-item { overflow: hidden; box-shadow: var(--shadow-sm); }
.services_list .wrapper { background-image: none; background: #fff; }
.services_list-item .wrapper {
  height: 100%;
  padding: 26px;
  border: 1px solid rgba(0,31,63,.08);
}
.services_list-item .wrapper .number {
  font-size: 30px;
  line-height: 1;
  color: rgba(0,31,63,.25);
}
.services_list-item .wrapper .title { margin: 18px 0 12px; color: var(--brand-navy); }
.services_list-item .wrapper .description { margin-bottom: 24px; }
.link-arrow { color: var(--brand-green); font-size: 15px; }

.blog_feed { gap: 24px; }
.blog_feed-item {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.blog_feed-item .media { aspect-ratio: 16 / 10; }
.blog_feed-item .main { padding: 0 22px 24px; }
.blog_feed-item .main_title { margin: 8px 0; }
.blog_feed-item .main_text { color: var(--muted); }

.presentation { gap: 10px; }
.gallery_item {
  height: clamp(280px, 65vw, 420px);
  border-radius: var(--radius-md);
}
.gallery_item .media .overlay {
  opacity: 1;
  padding: 22px;
  background: linear-gradient(to top, rgba(0,20,40,.88), rgba(0,31,63,.08) 72%);
}
.gallery_item .media .overlay_label { margin-top: 8px; font-size: 14px; }

.contact { background: var(--surface-soft); }
.contact .container { align-items: start; }
.contact_form { width: 100%; }
.contact_form-form { gap: 0; }
.contact-form_field {
  min-height: 56px;
  margin-bottom: 18px;
  padding: 15px 17px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #fff;
}
.contact-form_field:focus { border-color: var(--brand-navy); box-shadow: 0 0 0 3px rgba(0,31,63,.08); }
.contact-form_field[data-type=message] { min-height: 170px; }
.contact-form_btn { margin-top: 8px; }
.contact_info {
  margin-top: 42px;
  padding: 26px;
  border-radius: var(--radius-md);
  background: var(--brand-navy);
  color: #fff;
  box-shadow: var(--shadow-sm);
}
.contact-info { max-width: none; margin: 0; }
.contact-info_group { margin-bottom: 24px; overflow-wrap: anywhere; }
.contact-info_group .name { color: rgba(255,255,255,.62); }
.contact-info_group .content .link:hover { color: var(--brand-yellow); }

.accreditations { overflow: hidden; box-shadow: none; background: #eef1f4; }
.acccontainer {
  width: min(100% - 32px, 900px);
  margin-inline: auto;
  padding: 26px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px clamp(30px, 7vw, 80px);
}
.acclogo {
  width: auto;
  max-width: min(180px, 38vw);
  max-height: 74px;
  padding: 0;
  opacity: .78;
  object-fit: contain;
}
#pot { animation: none; }

.footer { padding: 64px 0 36px; }
.footer_main { gap: 42px; padding-bottom: 0; }
.footer_main-block .group-wrapper { gap: 14px; }
.footer_main-block .group-wrapper .group { font-style: normal; }
.footer_main-block_nav { gap: 12px; }
.footer_main-block_nav .list-item .link {
  min-height: 44px;
  font-size: 13px;
}
.footer_secondary { margin-top: 44px; padding-top: 28px; }
.footer_secondary-copyright { margin: 0; font-size: 14px; color: rgba(255,255,255,.68); }

@media (min-width: 568px) {
  body { font-size: clamp(16px, 1.1vw, 18px); }
  .container { width: min(100% - 48px, 1290px); }
  .contact-form_field--half { width: calc(50% - 9px); }
  .contact_form-form { column-gap: 18px; }
}

@media (min-width: 768px) {
  .hero { padding-top: 138px; }
  .hero .container { grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); align-items: center; }
  .hero_media { order: initial; }
  .rndHer { width: 100%; margin: 0; }
  .services_list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog_feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .presentation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery_item { height: 380px; }
}

@media (min-width: 1024px) {
  .header { padding: 0; }
  .header .container { min-height: 92px; padding: 10px 0; flex-wrap: nowrap; }
  .alt_brand_logo { height: 70px; }
  .header_trigger { display: none; }
  .header_nav { display: flex !important; width: auto; }
  .header_nav-list { flex-direction: row; gap: 30px; margin: 0; padding: 0; overflow: visible; }
  .header_nav-list_item .nav-link { min-height: 44px; padding: 8px 0; border: 0; }
  .header_nav-list_item .nav-link .icon { display: none; }
  .hero { padding: 150px 0 74px; }
  .services_list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact .container { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr); gap: clamp(50px, 8vw, 120px); }
  .contact_info { margin-top: 0; }
  .footer_main { flex-direction: row; justify-content: space-between; }
  .footer_main-block { width: auto; }
  .footer_main-block_nav { flex-direction: column; }
}

@media (min-width: 1280px) {
  .blog_feed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .presentation { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .gallery_item { height: 520px; border-radius: 0; }
  .gallery_item .media .overlay { opacity: 0; }
  .gallery_item .media:hover .overlay,
  .gallery_item .media:focus-within .overlay { opacity: 1; }
}

@media (hover: none) {
  .gallery_item .media .overlay { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================
   2026 secondary-page refresh
   Shared page, project, service, legal, form and utility styles.
   ========================================================== */

main.site-main,
main.page-main { min-height: 60vh; }

.page-hero {
  padding: clamp(126px, 15vw, 190px) 0 clamp(62px, 8vw, 104px);
  background:
    radial-gradient(circle at 82% 28%, rgba(13,165,116,.22), transparent 28%),
    linear-gradient(145deg, var(--brand-navy), #00315f);
  color: #fff;
  overflow: hidden;
}
.page-hero--compact { padding-bottom: clamp(48px, 6vw, 72px); }
.page-hero__content { max-width: 850px; }
.page-hero h1 { margin: 0; }
.page-hero p {
  max-width: 64ch;
  margin-top: 22px;
  color: rgba(255,255,255,.82);
  font-size: clamp(1rem, 1.6vw, 1.16rem);
}
.page-hero .subtitle { color: rgba(255,255,255,.88); }

.content-section { background: var(--surface); }
.content-section--soft { background: var(--surface-soft); }
.prose { max-width: 860px; }
.prose > * + * { margin-top: 1.15em; }
.prose a,
.legal-content a,
.sitemap-page a {
  color: var(--brand-green);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.prose a:hover,
.legal-content a:hover,
.sitemap-page a:hover { color: var(--brand-navy-2); }
.primary-bg .prose a { color: var(--brand-yellow); }

.content-panel {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.content-panel--dark {
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
}
.content-panel--dark p { color: rgba(255,255,255,.82); }

.feature-grid,
.testimonial-grid,
.sitemap-grid {
  display: grid;
  gap: 18px;
}
.feature-card,
.testimonial-card,
.sitemap-card {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.feature-card h3,
.sitemap-card h2 { margin-bottom: 10px; color: var(--brand-navy); }
.feature-card p { color: var(--muted); }

.testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.testimonial-card::before {
  content: "“";
  height: 34px;
  color: var(--brand-yellow);
  font-family: Georgia, serif;
  font-size: 64px;
  line-height: .8;
}
.testimonial-card blockquote {
  margin: 0;
  color: var(--ink);
  font-size: 1.02rem;
}
.testimonial-card figcaption {
  margin-top: auto;
  color: var(--brand-navy);
  font-family: Archivo, sans-serif;
  font-weight: 700;
}

.cta-band {
  padding: clamp(34px, 5vw, 54px);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 90% 20%, rgba(13,165,116,.28), transparent 30%),
    var(--brand-navy);
  color: #fff;
  box-shadow: var(--shadow-md);
}
.cta-band h2 { margin-bottom: 10px; }
.cta-band p { color: rgba(255,255,255,.78); }
.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.btn.btn--secondary {
  border: 1px solid rgba(255,255,255,.32);
  background: transparent;
  color: #fff;
  box-shadow: none;
}

.content-divider {
  width: min(120px, 25%);
  height: 3px;
  margin: 28px 0;
  border-radius: 999px;
  background: var(--brand-yellow);
}

/* Projects */
.projects-overview { padding-top: clamp(54px, 7vw, 92px); }
.projects-overview .projects_list {
  grid-template-columns: 1fr;
  gap: 22px;
}
.projects-overview .projects_list-item {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  box-shadow: var(--shadow-md);
}
.projects-overview .projects_list-item .media {
  margin: 0;
  aspect-ratio: 16 / 10;
}
.projects-overview .projects_list-item .main { padding: 24px; }
.projects-overview .projects_list-item .main_info .location {
  margin: 0 0 8px;
  color: var(--brand-green);
  font-family: Archivo, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.projects-overview .projects_list-item .main_title {
  padding: 0;
  margin: 0 0 12px;
}
.projects-overview .projects_list-item .main_text {
  color: var(--muted);
  margin-bottom: 18px;
}
.project-detail { scroll-margin-top: 90px; }
.project-detail .main { max-width: 920px; }
.project-detail .text + .text { margin-top: 18px; }
.project-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 34px;
}
.project-gallery .services_list-item {
  overflow: hidden;
  border-radius: var(--radius-md);
  background: transparent;
  box-shadow: var(--shadow-sm);
}
.project-gallery .wrapper { padding: 0; border: 0; }
.project-gallery img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  object-fit: cover;
}

/* Services */
.services-overview {
  background: var(--surface-soft);
}
.services-overview .services_header .title { color: var(--brand-navy); }
.services-overview .services_list-item .wrapper {
  display: flex;
  flex-direction: column;
}
.services-overview .services_list-item .description { flex-grow: 1; }
.service-detail { scroll-margin-top: 90px; }
.service-detail .container > .section_header { max-width: 880px; }
.service-detail .secondary {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
}
.service-detail .secondary .main { display: contents; }
.service-detail .secondary picture { min-width: 0; }
.service-detail .abt_img {
  width: 100%;
  height: auto;
  min-height: 260px;
  max-height: 520px;
  padding-top: 0;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  object-fit: cover;
}
.service-detail .paragraph,
.service-detail .text { max-width: 74ch; }
.service-detail .subheader {
  margin-top: 20px;
  color: var(--brand-navy);
  font-family: Archivo, sans-serif;
  font-weight: 700;
}
.service-detail.primary-bg .subheader { color: var(--brand-yellow); }
.service-detail.primary-bg .text,
.service-detail.primary-bg .paragraph { color: rgba(255,255,255,.84); }
.desc_list {
  margin: 20px 0 0 1.2em;
  padding: 0;
}
.desc_list li { margin-bottom: 10px; }

/* Contact */
.contact-page { background: var(--surface-soft); }
.contact-page .contact { padding-top: clamp(50px, 7vw, 90px); }
.contact-page .contact_form-header .title { max-width: 680px; }
.form-group { width: 100%; }
.form-label {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--brand-navy);
  font-family: Archivo, sans-serif;
  font-size: 14px;
  font-weight: 700;
}
.form-help {
  margin: -8px 0 18px;
  color: var(--muted);
  font-size: 14px;
}
.form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.form-status {
  margin-bottom: 22px;
  padding: 14px 16px;
  border-radius: var(--radius-sm);
  border: 1px solid #d6a700;
  background: #fff8dc;
  color: #604b00;
}
.form-status--error {
  border-color: #c94b4b;
  background: #fff0f0;
  color: #772020;
}
.contact_info address { font-style: normal; }
.contact_info .link { overflow-wrap: anywhere; }

/* Legal policy */
.legal-section { background: var(--surface-soft); }
.legal-content {
  max-width: 960px;
  margin-inline: auto;
  padding: clamp(24px, 5vw, 56px);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.legal-content > * + * { margin-top: 1em; }
.legal-content h2 {
  margin-top: 1.8em;
  padding-top: .2em;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  scroll-margin-top: 110px;
}
.legal-content h3 {
  margin-top: 1.25em;
  font-size: clamp(1.12rem, 2vw, 1.35rem);
}
.legal-content ul,
.legal-content ol {
  padding-left: 1.35em;
  list-style: initial;
}
.legal-content li + li { margin-top: .65em; }
.legal-toc {
  margin: 28px 0 40px;
  padding: 22px;
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}
.legal-toc ul {
  display: grid;
  gap: 8px;
  margin: 0;
}
.table-scroll {
  max-width: 100%;
  overflow-x: auto;
  margin: 24px 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}
.legal-content table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}
.legal-content th,
.legal-content td {
  padding: 14px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  text-align: left;
}
.legal-content th {
  background: var(--brand-navy);
  color: #fff;
}

/* Sitemap */
.sitemap-page { background: var(--surface-soft); }
.sitemap-card ul {
  display: grid;
  gap: 8px;
}
.sitemap-card li { min-width: 0; }

/* Thank-you / 404 */
.message-page {
  min-height: 72vh;
  display: flex;
  align-items: center;
}
.message-card {
  max-width: 780px;
  padding: clamp(26px, 5vw, 54px);
  border-radius: var(--radius-lg);
  background: #fff;
  color: var(--ink);
  box-shadow: var(--shadow-md);
}
.message-card .status-code {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--brand-green);
  font-family: Archivo, sans-serif;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.message-card p { margin-top: 14px; color: var(--muted); }

/* Accessible image defaults for refreshed secondary pages */
.project-detail img,
.service-detail img,
.content-section img {
  max-width: 100%;
}

@media (min-width: 640px) {
  .feature-grid,
  .testimonial-grid,
  .sitemap-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .project-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (min-width: 768px) {
  .projects-overview .projects_list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (min-width: 900px) {
  .service-detail .secondary { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
  .service-detail:nth-of-type(even) .secondary picture { order: 2; }
  .service-detail:nth-of-type(even) .secondary > :not(picture) { order: 1; }
}

@media (min-width: 1100px) {
  .feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .testimonial-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .sitemap-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .project-gallery { grid-template-columns: repeat(3, minmax(0,1fr)); }
}


/* ---------------------------------------------------------------
   v4 privacy / compliance UI
   --------------------------------------------------------------- */
.form-privacy {
  width: 100%;
  margin: 4px 0 20px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}
.form-privacy a {
  color: var(--brand-green);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer_company-disclosure {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.6;
}
.footer_company-disclosure p + p { margin-top: 4px; }
.footer_company-disclosure strong { color: #fff; }

.footer-link-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  color: inherit;
  font-family: Archivo, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
  text-align: left;
}
.footer-link-button .icon {
  color: var(--brand-yellow);
  font-size: 10px;
}

.cookie-banner[hidden],
.cookie-modal[hidden] { display: none !important; }

.cookie-banner {
  position: fixed;
  z-index: 2000000;
  right: 16px;
  bottom: 16px;
  left: 16px;
  padding: 0;
}
.cookie-banner__inner {
  width: min(1100px, 100%);
  margin-inline: auto;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px;
  background: #001f3f;
  color: #fff;
  box-shadow: 0 22px 70px rgba(0,8,16,.34);
}
.cookie-banner__copy h2 {
  margin-bottom: 8px;
  font-size: clamp(1.35rem, 4vw, 1.8rem);
}
.cookie-banner__copy p {
  max-width: 760px;
  color: rgba(255,255,255,.82);
}
.cookie-banner__copy a,
.cookie-text-button {
  color: #ffd464;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cookie-banner__copy a {
  display: inline-block;
  margin-top: 8px;
}
.cookie-banner__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}
.cookie-banner__actions .btn {
  width: 100%;
  min-height: 48px;
}
.cookie-banner .btn--secondary {
  border-color: rgba(255,255,255,.55);
  color: #fff;
  background: transparent;
}
.cookie-text-button {
  width: fit-content;
  padding: 8px 0;
  border: 0;
  background: transparent;
  font-size: 15px;
}

.cookie-modal {
  position: fixed;
  z-index: 2100000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,8,16,.68);
}
.cookie-modal__panel {
  position: relative;
  width: min(680px, 100%);
  max-height: min(760px, calc(100vh - 36px));
  overflow: auto;
  padding: clamp(24px, 5vw, 40px);
  border-radius: 22px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 30px 90px rgba(0,8,16,.38);
}
.cookie-modal__panel > p {
  margin-top: 10px;
  color: var(--muted);
}
.cookie-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--surface-soft);
  color: var(--brand-navy);
  font-size: 28px;
  line-height: 1;
}
.cookie-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
}
.cookie-option h3 {
  margin: 0 0 4px;
  font-size: 1rem;
}
.cookie-option p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}
.cookie-status {
  flex: 0 0 auto;
  color: var(--brand-green);
  font-weight: 800;
  font-size: 13px;
}
.cookie-option--toggle { cursor: pointer; }
.cookie-option--toggle input {
  display: block;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  accent-color: var(--brand-green);
  cursor: pointer;
}
.cookie-modal__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 26px;
}
.cookie-modal-open { overflow: hidden; }

.legal-updated {
  margin-bottom: 22px;
  color: var(--muted);
}
.legal-content code {
  padding: .12em .35em;
  border-radius: 5px;
  background: var(--surface-soft);
  font-size: .92em;
}

@media (min-width: 760px) {
  .cookie-banner__inner {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: 28px;
  }
  .cookie-banner__actions {
    min-width: 210px;
    margin-top: 0;
  }
  .cookie-modal__actions {
    flex-direction: row;
    align-items: center;
  }
}

/* ---------------------------------------------------------------
   v4.1 service + project section consistency fix
   Explicit section tones prevent broad legacy component backgrounds
   from overriding the intended alternating bands.
   --------------------------------------------------------------- */
.services-page .section-tone--light,
.projects-page .section-tone--light {
  background: var(--surface-soft);
  color: var(--ink);
}

.services-page .section-tone--dark,
.projects-page .section-tone--dark {
  background: var(--brand-navy);
  color: #fff;
}

.services-page .section-tone--light .section_header .title,
.projects-page .section-tone--light .section_header .title {
  color: var(--brand-navy);
}

.services-page .section-tone--dark .section_header .title,
.projects-page .section-tone--dark .section_header .title {
  color: #fff;
}

.services-page .section-tone--dark .section_header .subtitle,
.projects-page .section-tone--dark .section_header .subtitle {
  color: rgba(255,255,255,.86);
}

.services-page .section-tone--dark .detail-copy,
.projects-page .section-tone--dark .detail-copy,
.services-page .section-tone--dark .detail-copy p,
.projects-page .section-tone--dark .detail-copy p,
.services-page .section-tone--dark .detail-copy li,
.projects-page .section-tone--dark .detail-copy li {
  color: rgba(255,255,255,.84);
}

.services-page .section-tone--light .detail-copy,
.projects-page .section-tone--light .detail-copy,
.services-page .section-tone--light .detail-copy p,
.projects-page .section-tone--light .detail-copy p,
.services-page .section-tone--light .detail-copy li,
.projects-page .section-tone--light .detail-copy li {
  color: var(--ink);
}

.detail-header {
  max-width: 920px;
  margin-bottom: clamp(28px, 4vw, 48px);
}

.detail-header .title {
  max-width: 24ch;
}

.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.detail-media {
  min-width: 0;
}

.detail-media picture {
  display: block;
}

.detail-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 0;
  max-height: none;
  border-radius: var(--radius-md);
  object-fit: cover;
  box-shadow: var(--shadow-md);
}

.detail-copy {
  width: 100%;
  max-width: 72ch;
}

.detail-copy > * {
  max-width: none;
}

.detail-copy > * + * {
  margin-top: 1.1em;
}

.detail-copy p {
  margin-bottom: 0;
  line-height: 1.75;
}

.detail-subheading {
  margin-bottom: -.2em;
  color: var(--brand-navy);
  font-size: clamp(1.12rem, 2vw, 1.38rem);
  line-height: 1.35;
}

.section-tone--dark .detail-subheading {
  color: var(--brand-yellow);
}

.detail-list {
  margin-left: 1.25em;
  padding-left: .35em;
  list-style-position: outside;
}

.detail-list li {
  margin-bottom: .65em;
  padding-left: .15em;
  line-height: 1.65;
}

.service-detail .container,
.project-detail .container {
  position: relative;
}

.project-detail__intro {
  max-width: 920px;
}

.project-detail__copy {
  max-width: 78ch;
}

.project-gallery {
  width: 100%;
  margin: clamp(32px, 5vw, 56px) 0 0;
  padding: 0;
  list-style: none;
}

.project-gallery li {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.project-gallery picture {
  display: block;
  height: 100%;
}

.project-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 0;
  object-fit: cover;
}

.section-tone--dark .project-gallery li {
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
}

/* The overview bands are deliberate: services starts light; projects starts dark. */
.services-page .services-overview {
  background: var(--surface-soft);
  color: var(--ink);
}

.projects-page .projects-overview {
  background: var(--brand-navy);
  color: #fff;
}

@media (min-width: 900px) {
  .services-page .detail-layout {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: center;
  }

  .services-page .detail-layout--media-right .detail-media {
    order: 2;
  }

  .services-page .detail-layout--media-right .detail-copy {
    order: 1;
  }

  .project-detail__intro {
    margin-inline: 0;
  }
}


/* ---------------------------------------------------------------
   v4.2 header phone + homepage hero refinement
   --------------------------------------------------------------- */
.header_actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.header_phone {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  color: #fff;
  font-family: Archivo, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.header_phone:hover,
.header_phone:focus-visible {
  color: var(--brand-navy);
  border-color: var(--brand-yellow);
  background: var(--brand-yellow);
  transform: translateY(-1px);
}
.header_phone .icon { color: var(--brand-yellow); font-size: 17px; }
.header_phone:hover .icon,
.header_phone:focus-visible .icon { color: var(--brand-navy); }
.header_phone-number { display: none; }
.header_phone-label { display: inline; }

.hero {
  min-height: auto;
  padding-bottom: clamp(58px, 7vw, 88px);
}
.hero .container {
  gap: clamp(34px, 6vw, 82px);
}
.hero_header {
  max-width: 720px;
}
.hero_header .title {
  max-width: 13ch;
  margin-bottom: 20px;
  font-size: clamp(2.5rem, 7.8vw, 5.25rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.hero_header .text {
  max-width: 62ch;
  margin-bottom: 26px;
  font-size: clamp(1rem, 1.6vw, 1.16rem);
  line-height: 1.65;
}
.hero_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}
.hero_actions .btn { margin: 0; }
.hero_secondary-btn {
  border: 1px solid rgba(255,255,255,.5);
  background: transparent;
  color: #fff;
  box-shadow: none;
}
.hero_secondary-btn:hover,
.hero_secondary-btn:focus-visible {
  border-color: #fff;
  background: #fff;
  color: var(--brand-navy);
}
.hero_trust {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(255,255,255,.76);
  font-size: 14px;
}
.hero_trust li {
  display: flex;
  align-items: center;
  gap: 9px;
}
.hero_trust-mark {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,198,49,.14);
  color: var(--brand-yellow);
  font-size: 12px;
  font-weight: 900;
}
.hero_media {
  position: relative;
}
.rndHer {
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 26px 70px rgba(0,10,22,.34);
}
.hero_call-card {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 13px 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(0,31,63,.94);
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,10,22,.28);
  backdrop-filter: blur(10px);
}
.hero_call-card:hover,
.hero_call-card:focus-visible { color: var(--brand-yellow); }
.hero_call-label {
  color: rgba(255,255,255,.68);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hero_call-card strong {
  font-family: Archivo, sans-serif;
  font-size: 16px;
}

@media (min-width: 568px) {
  .header_phone-number { display: inline; }
  .header_phone-label { display: none; }
  .hero_trust { grid-template-columns: repeat(2, minmax(0, max-content)); column-gap: 22px; }
}

@media (min-width: 768px) {
  .hero_header .title { font-size: clamp(3.35rem, 6vw, 5.25rem); }
  .hero_call-card { right: 18px; bottom: 18px; padding: 14px 18px; }
}

@media (min-width: 1024px) {
  .header .brand { order: 1; }
  .header_nav { order: 2; margin-left: auto; }
  .header_actions { order: 3; margin-left: 24px; }
  .header_phone {
    min-height: 44px;
    padding: 0 15px;
    border-color: rgba(255,198,49,.45);
    color: #fff;
  }
  .header_phone-number { display: inline; }
  .header_phone-label { display: none; }
  .header_nav-list { gap: 24px; }
  .hero .container {
    grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
  }
  .hero_trust { grid-template-columns: 1fr; }
}

@media (min-width: 1220px) {
  .header_nav-list { gap: 30px; }
  .header_actions { margin-left: 30px; }
  .hero_trust { grid-template-columns: repeat(2, minmax(0, max-content)); }
}


/* v4.3 dynamic WordPress blog feed */
.blog_feed .main_title a {
  color: inherit;
  text-decoration: none;
}
.blog_feed .main_title a:hover,
.blog_feed .main_title a:focus-visible {
  color: var(--brand-green);
}

/* v4.4 homepage full-bleed hero */
.hero.primary-bg {
  position: relative;
  isolation: isolate;
  min-height: 100dvh;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 118px 0 clamp(42px, 6vw, 88px);
  background: #0b1720;
}
.hero.primary-bg .hero_media {
  position: absolute;
  inset: 0;
  z-index: -3;
  order: initial;
  width: 100%;
  max-width: none;
  max-height: none;
}
.hero.primary-bg .rndHer {
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  box-shadow: none;
  animation: hero-image-reveal .75s cubic-bezier(.16, 1, .3, 1) both;
}
.hero.primary-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg, rgba(0, 18, 34, .88) 0%, rgba(0, 24, 43, .56) 44%, rgba(0, 14, 28, .18) 75%), linear-gradient(0deg, rgba(0, 14, 28, .78) 0%, transparent 62%);
  pointer-events: none;
}
.hero.primary-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse 62% 55% at 23% 82%, rgba(255, 198, 49, .14), transparent 68%);
  pointer-events: none;
}
.hero.primary-bg .container {
  display: block;
  width: min(100% - 40px, 1290px);
  padding: 0;
}
.hero.primary-bg .hero_header {
  max-width: 860px;
  animation: hero-copy-reveal .72s .1s cubic-bezier(.16, 1, .3, 1) both;
}
.hero.primary-bg .hero_header .subtitle {
  display: inline-block;
  margin: 0 0 18px;
  padding: 0;
  color: rgba(255, 255, 255, .76);
  font-family: Archivo, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.hero.primary-bg .hero_header .subtitle::before { display: none; }
.hero.primary-bg .hero_header .title {
  max-width: 13ch;
  margin: 0 0 22px;
  color: #fff;
  font-family: Archivo, sans-serif;
  font-size: clamp(3.15rem, 7.8vw, 8.15rem);
  font-weight: 700;
  letter-spacing: -.06em;
  line-height: .87;
  text-shadow: 0 3px 30px rgba(0, 12, 22, .22);
}
.hero.primary-bg .hero_header .text {
  max-width: 48ch;
  margin: 0 0 29px;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.58;
  text-align: left;
}
.hero.primary-bg .hero_actions { margin: 0; }
.hero.primary-bg .hero_actions .btn {
  min-height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  box-shadow: 0 12px 32px rgba(0, 10, 20, .28);
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), box-shadow .5s cubic-bezier(.16, 1, .3, 1), background-color .5s cubic-bezier(.16, 1, .3, 1);
}
.hero.primary-bg .hero_actions .btn:hover,
.hero.primary-bg .hero_actions .btn:focus-visible {
  bottom: 0;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(0, 10, 20, .38);
}
.hero.primary-bg .hero_actions .btn:active { transform: translateY(0) scale(.98); }
.hero.primary-bg .hero_secondary-btn,
.hero.primary-bg .hero_trust,
.hero.primary-bg .hero_call-card,
.hero.primary-bg .hero_deco { display: none; }
@keyframes hero-image-reveal { from { opacity: 0; transform: scale(1.025); } to { opacity: 1; transform: scale(1); } }
@keyframes hero-copy-reveal { from { opacity: 0; transform: translateY(24px); filter: blur(6px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@media (max-width: 767px) {
  .hero.primary-bg { min-height: 100svh; padding: 108px 0 38px; }
  .hero.primary-bg::before { background: linear-gradient(90deg, rgba(0, 17, 32, .82), rgba(0, 17, 32, .48)), linear-gradient(0deg, rgba(0, 14, 28, .9), rgba(0, 14, 28, .08) 76%); }
  .hero.primary-bg .container { width: min(100% - 32px, 1290px); }
  .hero.primary-bg .hero_header .title { font-size: clamp(2.65rem, 12vw, 4.4rem); line-height: .9; }
}
@media (prefers-reduced-motion: reduce) {
  .hero.primary-bg .rndHer,
  .hero.primary-bg .hero_header { animation: none; }
  .hero.primary-bg .hero_actions .btn { transition: none; }
}
/* Keep the entry animation on composited properties only. */
@keyframes hero-copy-reveal { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

/* Full-bleed layer order: image, scrim, then content. */
.hero.primary-bg .hero_media { z-index: 0; }
.hero.primary-bg::before { z-index: 1; }
.hero.primary-bg::after { z-index: 2; }
.hero.primary-bg .container {
  position: relative;
  z-index: 3;
}

/* Use the project photo as the section background so it always covers the hero. */
.hero.primary-bg {
  background-color: #0b1720;
  background-image: url('/resources/bannerImage.jpg');
  background-image: image-set(url('/resources/optimized/bannerImage.webp') type('image/webp') 1x, url('/resources/bannerImage.jpg') type('image/jpeg') 1x);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.hero.primary-bg .hero_media { display: none; }

/* v5.0 section system: editorial construction portfolio */
:root {
  --section-ink: #10283b;
  --section-paper: #f5f3ed;
  --section-stone: #e8e3d8;
  --section-line: rgba(16, 40, 59, .14);
}
.page-main { overflow: clip; background: var(--section-paper); }
.section,
.content-section,
.content-section--soft,
.gallery-section { padding: clamp(72px, 10vw, 154px) 0; }
.section_header { max-width: 760px; }
.section_header .subtitle,
.detail-header .subtitle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: #677074;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.section_header .subtitle::before,
.detail-header .subtitle::before {
  width: 30px;
  height: 1px;
  position: static;
  flex: 0 0 30px;
  background: var(--brand-yellow);
  content: '';
}
.section_header .title,
.detail-header .title,
.content-section h2,
.content-section--soft h2 {
  color: var(--section-ink);
  font-family: Archivo, sans-serif;
  font-size: clamp(2.35rem, 4.4vw, 5.1rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .93;
}
.section_header .text,
.content-section .text,
.content-section--soft .text { color: #4c5b62; line-height: 1.75; }
.content-section { background: var(--section-paper); }
.content-section--soft { background: var(--section-stone); }
.content-section--soft .container,
.content-section .container { max-width: 1100px; }
.content-section .section_header + *,
.content-section--soft .section_header + * { max-width: 70ch; }
.content-section .section_header + p,
.content-section--soft .section_header + p { font-size: clamp(1.08rem, 1.5vw, 1.28rem); }

/* Home: a quiet introduction followed by a deliberately uneven service bento. */
.home .about,
main > .about.section { background: var(--section-paper); }
.about .main { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 8vw, 120px); align-items: start; max-width: 1240px; }
.about .main .section_header { position: sticky; top: 118px; }
.about .main > .text { margin: 0; font-size: clamp(1.06rem, 1.45vw, 1.28rem); line-height: 1.76; color: #49575e; }
.about .main > .text + .text { grid-column: 2; margin-top: -64px; padding-top: 96px; border-top: 1px solid var(--section-line); }
.services { background: var(--section-ink); }
.services .services_header .subtitle { color: rgba(255,255,255,.58); }
.services .services_header .title { max-width: 12ch; color: #fff; }
.services .services_header .highlight { color: var(--brand-yellow); }
.services_list { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; margin-top: clamp(38px, 6vw, 76px); }
.services_list-item { grid-column: span 4; min-height: 280px; border: 0; border-radius: 0; box-shadow: none; }
.services_list-item:nth-child(1) { grid-column: span 7; grid-row: span 2; min-height: 574px; }
.services_list-item:nth-child(2) { grid-column: span 5; }
.services_list-item:nth-child(3) { grid-column: span 5; }
.services_list-item:nth-child(4n) { grid-column: span 5; }
.services_list-item:nth-child(4n + 1):not(:first-child) { grid-column: span 7; }
.services_list-item .wrapper,
.services-overview .services_list-item .wrapper {
  height: 100%; display: flex; flex-direction: column; align-items: flex-start;
  padding: clamp(24px, 3.3vw, 54px); border: 1px solid rgba(255,255,255,.13); border-radius: 0;
  background: rgba(255,255,255,.06); color: #fff; transition: background-color .45s cubic-bezier(.16,1,.3,1), transform .45s cubic-bezier(.16,1,.3,1);
}
.services_list-item:nth-child(3n + 1) .wrapper { background: #e7e1d4; color: var(--section-ink); border-color: #e7e1d4; }
.services_list-item:nth-child(1) .wrapper { justify-content: flex-end; background: linear-gradient(145deg, rgba(16,40,59,.18), rgba(16,40,59,.72)), url('/resources/services/Services-1.jpg') center / cover; }
.services_list-item .wrapper:hover { transform: translateY(-4px); background-color: rgba(255,255,255,.14); }
.services_list-item:nth-child(3n + 1) .wrapper:hover { background-color: #f3ca5c; }
.services_list-item .wrapper .number { margin-bottom: auto; color: currentColor; opacity: .5; font-size: .8rem; letter-spacing: .12em; }
.services_list-item .wrapper .title { margin: 28px 0 12px; color: currentColor; font-size: clamp(1.45rem, 2vw, 2.25rem); letter-spacing: -.04em; line-height: 1; }
.services_list-item .wrapper .description { max-width: 38ch; color: currentColor; opacity: .78; }
.services_list-item .link { margin-top: auto; color: currentColor; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

/* Content, stories and proof move between paper, stone and ink. */
.blog { background: var(--section-paper); }
.blog > .container > .wrapper { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: clamp(38px, 6vw, 76px); }
.blog_header .title { max-width: 10ch; }
.blog_feed { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.blog_feed-item { grid-column: span 4; border: 0; border-radius: 0; overflow: hidden; background: transparent; box-shadow: none; }
.blog_feed-item:first-child { grid-column: span 7; }
.blog_feed-item:nth-child(2) { grid-column: span 5; margin-top: clamp(56px, 9vw, 140px); }
.blog_feed-item .media { border-radius: 0; overflow: hidden; }
.blog_feed-item:first-child .media { aspect-ratio: 16 / 10; }
.blog_feed-item .main { padding: 22px 0 0; }
.blog_feed-item .main_title { color: var(--section-ink); font-size: clamp(1.25rem, 2vw, 1.9rem); line-height: 1.04; letter-spacing: -.035em; }
.blog_feed-item .main_text { max-width: 48ch; }
.presentation.gallery { display: grid; grid-template-columns: 1.35fr .65fr .65fr 1.35fr; min-height: min(740px, 72vw); }
.presentation.gallery .gallery_item { min-height: 0; }
.presentation.gallery .gallery_item:nth-child(2),
.presentation.gallery .gallery_item:nth-child(3) { margin-top: clamp(52px, 9vw, 130px); margin-bottom: clamp(52px, 9vw, 130px); }
.presentation.gallery .media { height: 100%; }
.presentation.gallery .media img { height: 100%; object-fit: cover; }
.presentation.gallery .overlay { background: linear-gradient(0deg, rgba(8,25,39,.8), transparent 66%); }

/* Service and project pages: a true alternating story sequence. */
.services-page .services-overview { background: var(--section-paper); }
.services-page .services-overview .services_header .title { color: var(--section-ink); }
.services-page .services-overview .services_header .subtitle { color: #677074; }
.service-detail,
.project-detail { position: relative; }
.service-detail .container,
.project-detail .container { display: grid; grid-template-columns: minmax(260px, .76fr) minmax(0, 1.24fr); gap: clamp(38px, 8vw, 130px); align-items: start; }
.service-detail .detail-header,
.project-detail .detail-header { position: sticky; top: 118px; }
.detail-copy { max-width: 70ch; font-size: clamp(1.02rem, 1.35vw, 1.18rem); line-height: 1.78; }
.service-detail:nth-of-type(odd) .detail-header,
.project-detail:nth-of-type(odd) .detail-header { order: 2; }
.service-detail:nth-of-type(odd) .detail-copy,
.project-detail:nth-of-type(odd) .project-detail__copy { order: 1; }
.project-detail .project-detail__intro { display: contents; }
.project-gallery { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; margin-top: clamp(10px, 4vw, 44px); }
.project-gallery li { grid-column: span 4; overflow: hidden; border-radius: 0; }
.project-gallery li:first-child { grid-column: span 7; grid-row: span 2; }
.project-gallery li:nth-child(even) { grid-column: span 5; }
.project-gallery img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.project-gallery li:hover img { transform: scale(1.035); }
.section-tone--light { background: var(--section-paper); }
.section-tone--dark { background: var(--section-ink); }
.section-tone--dark .detail-header .title,
.section-tone--dark .detail-copy,
.section-tone--dark .detail-copy p { color: #fff; }
.section-tone--dark .detail-header .subtitle { color: rgba(255,255,255,.56); }
.section-tone--dark .detail-copy { color: rgba(255,255,255,.75); }

/* The final conversion moment is a single, contrast-rich invitation. */
.contact { background: #d8ae35; }
.contact .container { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(260px, .88fr); gap: clamp(38px, 8vw, 120px); align-items: start; }
.contact_form-header .title { color: var(--section-ink); max-width: 10ch; }
.contact_form-header .subtitle { color: rgba(16,40,59,.7); }
.contact_form-header .subtitle::before { background: var(--section-ink); }
.contact_form-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contact-form_field { width: 100%; min-height: 58px; border: 1px solid rgba(16,40,59,.25); border-radius: 0; background: rgba(255,255,255,.28); color: var(--section-ink); }
.contact-form_field:focus { border-color: var(--section-ink); box-shadow: 0 0 0 3px rgba(255,255,255,.36); }
.contact-form_field:not(.contact-form_field--half),
.contact-form_field[data-type=message],
.contact-form_btn { grid-column: 1 / -1; }
.contact-form_btn { width: max-content; min-width: 190px; margin-top: 10px; background: var(--section-ink); color: #fff; box-shadow: none; }
.contact_info { padding: clamp(26px, 4vw, 48px); border-radius: 0; background: var(--section-ink); box-shadow: none; }
.contact_info-header { color: #fff; font-size: clamp(1.6rem, 2.5vw, 2.35rem); letter-spacing: -.04em; }
.contact-info_group { border-color: rgba(255,255,255,.18); }
.contact-info_group .content .link { color: #fff; }

/* Supporting pages and footer share the same quieter editorial language. */
.page-hero { background: var(--section-ink); }
.page-hero__content { max-width: 900px; }
.page-hero h1 { font-size: clamp(3rem, 6.5vw, 7.25rem); letter-spacing: -.06em; line-height: .9; }
.page-hero p { max-width: 52ch; font-size: clamp(1rem, 1.3vw, 1.18rem); }
.legal-section { background: var(--section-paper); }
.sitemap-card { border-radius: 0; box-shadow: none; border: 1px solid var(--section-line); }
.footer { background: #091a28; }
.footer_main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(48px, 9vw, 150px); }
.footer_main-block_title { color: var(--brand-yellow); letter-spacing: .12em; text-transform: uppercase; font-size: .75rem; }
.footer_company-disclosure { max-width: 100%; border-top: 1px solid rgba(255,255,255,.14); }

@media (max-width: 767px) {
  .section, .content-section, .content-section--soft, .gallery-section { padding: 70px 0; }
  .about .main, .service-detail .container, .project-detail .container, .contact .container { grid-template-columns: 1fr; gap: 30px; }
  .about .main .section_header, .service-detail .detail-header, .project-detail .detail-header { position: static; }
  .about .main > .text + .text { grid-column: auto; margin-top: 0; padding-top: 30px; }
  .services_list, .blog_feed, .project-gallery { grid-template-columns: 1fr; }
  .services_list-item, .services_list-item:nth-child(n), .blog_feed-item, .blog_feed-item:first-child, .blog_feed-item:nth-child(2), .project-gallery li, .project-gallery li:first-child, .project-gallery li:nth-child(even) { grid-column: auto; grid-row: auto; min-height: 0; margin-top: 0; }
  .services_list-item:nth-child(1) { min-height: 390px; }
  .services_list-item .wrapper { min-height: 285px; }
  .presentation.gallery { grid-template-columns: 1fr 1fr; min-height: 580px; }
  .presentation.gallery .gallery_item:nth-child(2), .presentation.gallery .gallery_item:nth-child(3) { margin: 0; }
  .project-gallery img { min-height: 210px; }
  .service-detail:nth-of-type(odd) .detail-header, .project-detail:nth-of-type(odd) .detail-header, .service-detail:nth-of-type(odd) .detail-copy, .project-detail:nth-of-type(odd) .project-detail__copy { order: initial; }
  .contact_form-form { grid-template-columns: 1fr; }
  .contact-form_field, .contact-form_field--half { grid-column: auto; }
  .footer_main { grid-template-columns: 1fr; gap: 36px; }
}

/* v5.1 readability corrections: explicit contrast and calmer section rhythm. */
.services_list-item .wrapper,
.services-overview .services_list-item .wrapper { color: #fff !important; }
.services_list-item .wrapper .number,
.services_list-item .wrapper .title,
.services_list-item .wrapper .description,
.services_list-item .wrapper .link { color: #fff !important; opacity: 1; }
.services_list-item .wrapper .number { color: rgba(255,255,255,.62) !important; }
.services_list-item:nth-child(3n + 1) .wrapper { background: #e7e1d4 !important; color: var(--section-ink) !important; }
.services_list-item:nth-child(3n + 1) .wrapper .number { color: rgba(16,40,59,.58) !important; }
.services_list-item:nth-child(3n + 1) .wrapper .title,
.services_list-item:nth-child(3n + 1) .wrapper .description,
.services_list-item:nth-child(3n + 1) .wrapper .link { color: var(--section-ink) !important; }
.services_list-item:nth-child(1) .wrapper { color: #fff !important; }
.services_list-item:nth-child(1) .wrapper .number { color: rgba(255,255,255,.68) !important; }
.services_list-item .wrapper .description { max-width: 46ch; opacity: .84; }
.blog_feed { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(26px, 4vw, 56px); }
.blog_feed-item,
.blog_feed-item:first-child,
.blog_feed-item:nth-child(2) { grid-column: auto; margin-top: 0; }
.blog_feed-item:first-child { grid-column: span 2; }
.blog_feed-item:first-child .media { aspect-ratio: 16 / 8; }
.blog_feed-item .main { max-width: 58ch; }
.about .main { grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); }
.about .main > .text { max-width: 62ch; }
.service-detail .container,
.project-detail .container { grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); }
.detail-copy,
.project-detail__copy { min-width: 0; max-width: 72ch; }
@media (max-width: 980px) {
  .about .main,
  .service-detail .container,
  .project-detail .container { grid-template-columns: 1fr; gap: 30px; }
  .about .main .section_header,
  .service-detail .detail-header,
  .project-detail .detail-header { position: static; }
  .about .main > .text + .text { grid-column: auto; margin-top: 0; padding-top: 28px; }
  .service-detail:nth-of-type(odd) .detail-header,
  .project-detail:nth-of-type(odd) .detail-header,
  .service-detail:nth-of-type(odd) .detail-copy,
  .project-detail:nth-of-type(odd) .project-detail__copy { order: initial; }
  .services_list-item { grid-column: span 6; }
  .services_list-item:nth-child(1) { grid-column: span 12; grid-row: auto; min-height: 430px; }
  .services_list-item:nth-child(2), .services_list-item:nth-child(3), .services_list-item:nth-child(4n), .services_list-item:nth-child(4n + 1):not(:first-child) { grid-column: span 6; }
}
@media (max-width: 767px) {
  .blog_feed { grid-template-columns: 1fr; gap: 42px; }
  .blog_feed-item:first-child { grid-column: auto; }
}
.services_list-item:nth-child(1) .wrapper .title,
.services_list-item:nth-child(1) .wrapper .description,
.services_list-item:nth-child(1) .wrapper .link { color: #fff !important; }

/* v5.2 stable service and project compositions. */
.services .services_list,
.services-page .services_list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.services .services_list-item,
.services-page .services_list-item,
.services .services_list-item:nth-child(n),
.services-page .services_list-item:nth-child(n) {
  grid-column: auto;
  grid-row: auto;
  min-height: 330px;
  margin: 0;
}
.services .services_list-item:first-child,
.services-page .services_list-item:first-child { grid-column: span 2; }
.services .services_list-item .wrapper,
.services-page .services_list-item .wrapper,
.services .services_list-item:nth-child(3n + 1) .wrapper,
.services-page .services_list-item:nth-child(3n + 1) .wrapper {
  background: #f5f3ed !important;
  border-color: transparent !important;
  color: #10283b !important;
}
.services .services_list-item .wrapper .number,
.services .services_list-item .wrapper .title,
.services .services_list-item .wrapper .description,
.services .services_list-item .wrapper .link,
.services-page .services_list-item .wrapper .number,
.services-page .services_list-item .wrapper .title,
.services-page .services_list-item .wrapper .description,
.services-page .services_list-item .wrapper .link {
  color: #10283b !important;
}
.services .services_list-item .wrapper .number,
.services-page .services_list-item .wrapper .number { color: rgba(16,40,59,.55) !important; }
.services .services_list-item:first-child .wrapper,
.services-page .services_list-item:first-child .wrapper {
  background: linear-gradient(105deg, rgba(9,26,40,.88), rgba(9,26,40,.38)), url('/resources/services/Services-1.jpg') center / cover !important;
  color: #fff !important;
}
.services .services_list-item:first-child .wrapper .number,
.services .services_list-item:first-child .wrapper .title,
.services .services_list-item:first-child .wrapper .description,
.services .services_list-item:first-child .wrapper .link,
.services-page .services_list-item:first-child .wrapper .number,
.services-page .services_list-item:first-child .wrapper .title,
.services-page .services_list-item:first-child .wrapper .description,
.services-page .services_list-item:first-child .wrapper .link { color: #fff !important; }
.services .services_list-item:first-child .wrapper .number,
.services-page .services_list-item:first-child .wrapper .number { color: rgba(255,255,255,.68) !important; }

.projects-page .projects-overview .projects_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 54px);
}
.projects-page .projects-overview .projects_list-item {
  margin: 0;
  border-radius: 0;
  background: #f5f3ed;
  color: #10283b;
  box-shadow: none;
}
.projects-page .projects-overview .projects_list-item .media { aspect-ratio: 4 / 3; }
.projects-page .projects-overview .projects_list-item .main { padding: 24px 0 0; }
.projects-page .projects-overview .projects_list-item .main_title { color: #fff; }
.projects-page .projects-overview .projects_list-item .main_text { color: rgba(255,255,255,.72); }
.projects-page .project-detail .container { display: block; }
.projects-page .project-detail .detail-header,
.projects-page .project-detail:nth-of-type(odd) .detail-header { position: static; order: initial; margin-bottom: 28px; }
.projects-page .project-detail .project-detail__intro { display: block; max-width: 820px; }
.projects-page .project-detail .project-detail__copy,
.projects-page .project-detail:nth-of-type(odd) .project-detail__copy { order: initial; max-width: 76ch; }
.projects-page .project-gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(36px, 5vw, 62px);
}
.projects-page .project-gallery li,
.projects-page .project-gallery li:first-child,
.projects-page .project-gallery li:nth-child(even) { grid-column: auto; grid-row: auto; margin: 0; border-radius: 0; }
.projects-page .project-gallery img { min-height: 300px; aspect-ratio: 4 / 3; border-radius: 0; }
@media (max-width: 800px) {
  .services .services_list,
  .services-page .services_list,
  .projects-page .projects-overview .projects_list,
  .projects-page .project-gallery { grid-template-columns: 1fr; }
  .services .services_list-item:first-child,
  .services-page .services_list-item:first-child { grid-column: auto; }
  .projects-page .project-gallery img { min-height: 220px; }
}
.projects-page .projects-overview .projects_list-item .main_title { color: #10283b; }
.projects-page .projects-overview .projects_list-item .main_text { color: #526068; }

/* v5.3 service-card photographic backgrounds. */
.services .services_list-item:not(:first-child) .wrapper,
.services-page .services_list-item:not(:first-child) .wrapper {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: #fff !important;
}
.services .services_list-item:nth-child(2) .wrapper,
.services-page .services_list-item:nth-child(2) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/construction.jpg') !important; }
.services .services_list-item:nth-child(3) .wrapper,
.services-page .services_list-item:nth-child(3) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/joinery.jpg') !important; }
.services .services_list-item:nth-child(4) .wrapper,
.services-page .services_list-item:nth-child(4) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/plastering.jpg') !important; }
.services .services_list-item:nth-child(5) .wrapper,
.services-page .services_list-item:nth-child(5) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/roofing.jpg') !important; }
.services .services_list-item:nth-child(6) .wrapper,
.services-page .services_list-item:nth-child(6) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/plumbing.jpg') !important; }
.services .services_list-item:nth-child(7) .wrapper,
.services-page .services_list-item:nth-child(7) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/electrical.jpg') !important; }
.services .services_list-item:nth-child(8) .wrapper,
.services-page .services_list-item:nth-child(8) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/groundworks.jpg') !important; }
.services .services_list-item:nth-child(9) .wrapper,
.services-page .services_list-item:nth-child(9) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services-stock/specialty.jpg') !important; }
.services .services_list-item:not(:first-child) .wrapper .number,
.services .services_list-item:not(:first-child) .wrapper .title,
.services .services_list-item:not(:first-child) .wrapper .description,
.services .services_list-item:not(:first-child) .wrapper .link,
.services-page .services_list-item:not(:first-child) .wrapper .number,
.services-page .services_list-item:not(:first-child) .wrapper .title,
.services-page .services_list-item:not(:first-child) .wrapper .description,
.services-page .services_list-item:not(:first-child) .wrapper .link { color: #fff !important; }
.services .services_list-item:not(:first-child) .wrapper .number,
.services-page .services_list-item:not(:first-child) .wrapper .number { color: rgba(255,255,255,.68) !important; }

/* v5.4 page-layout corrections: keep service stories and project work aligned. */
.services-page .service-detail .container { display: block; }
.services-page .service-detail .detail-header { position: static; max-width: 900px; margin: 0 0 clamp(34px, 5vw, 58px); }
.services-page .service-detail .detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(30px, 6vw, 88px);
  align-items: center;
}
.services-page .service-detail .detail-layout--media-right .detail-media { order: 2; }
.services-page .service-detail .detail-layout--media-right .detail-copy { order: 1; }
.services-page .service-detail .detail-media img { width: 100%; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; }
.services-page .service-detail .detail-copy { width: auto; max-width: 68ch; min-width: 0; }
.services-page .service-detail .detail-copy p,
.services-page .service-detail .detail-copy li { font-size: clamp(1rem, 1.2vw, 1.13rem); line-height: 1.75; }

.projects-page .projects-overview { background: #10283b; }
.projects-page .projects-overview .projects_list { align-items: start; }
.projects-page .projects-overview .projects_list-item { width: 100%; }
.projects-page .project-detail { padding-top: clamp(72px, 9vw, 130px); padding-bottom: clamp(72px, 9vw, 130px); }
.projects-page .project-detail .section_header .title { max-width: 16ch; }
.projects-page .project-detail .detail-copy { width: 100%; }

/* Homepage highlighted projects: four equal, aligned image tiles. */
.presentation.gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  min-height: 0;
}
.presentation.gallery .gallery_item,
.presentation.gallery .gallery_item:nth-child(2),
.presentation.gallery .gallery_item:nth-child(3) {
  height: clamp(280px, 30vw, 460px);
  min-height: 0;
  margin: 0;
}
.presentation.gallery .gallery_item .media { height: 100%; }
.presentation.gallery .gallery_item .media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) {
  .services-page .service-detail .detail-layout { grid-template-columns: 1fr; gap: 28px; }
  .services-page .service-detail .detail-layout--media-right .detail-media,
  .services-page .service-detail .detail-layout--media-right .detail-copy { order: initial; }
  .presentation.gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .presentation.gallery .gallery_item,
  .presentation.gallery .gallery_item:nth-child(2),
  .presentation.gallery .gallery_item:nth-child(3) { height: clamp(240px, 48vw, 360px); }
}

/* v5.5 quieter enquiry section. */
.contact { background: #e6e1d7; }
.contact-form_field { background: rgba(255,255,255,.58); }

/* v5.6 contact form hierarchy: short details first, generous message space. */
.contact-page .contact_form-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-page .contact_form-form .form-group { min-width: 0; }
.contact-page .contact_form-form .form-group:nth-of-type(3),
.contact-page .contact_form-form .form-group:nth-of-type(4),
.contact-page .contact_form-form .form-privacy,
.contact-page .contact_form-form .contact-form_btn { grid-column: 1 / -1; }
.contact-page .contact_form-form .form-group:nth-of-type(4) { padding-top: 14px; border-top: 1px solid rgba(16,40,59,.18); }
.contact-page .contact_form-form textarea.contact-form_field { min-height: clamp(250px, 30vw, 360px); resize: vertical; }
.contact-page .contact_form-form .form-help { margin: 10px 0 0; color: rgba(16,40,59,.72); font-size: .85rem; }
.contact-page .contact_form-form .form-privacy { max-width: 72ch; margin: 4px 0 0; color: rgba(16,40,59,.8); line-height: 1.55; }
@media (max-width: 620px) {
  .contact-page .contact_form-form { grid-template-columns: 1fr; }
  .contact-page .contact_form-form .form-group:nth-of-type(n),
  .contact-page .contact_form-form .form-privacy,
  .contact-page .contact_form-form .contact-form_btn { grid-column: auto; }
}
.contact-page .contact_form-form .form-group { grid-column: 1 / -1; }
.contact-page .contact_form-form .form-group.contact-form_field--half { grid-column: auto !important; }
.contact-page .contact_form-form .form-group:has(textarea) { padding-top: 14px; border-top: 1px solid rgba(16,40,59,.18); }

/* v5.7 projects overview: a balanced, image-led portfolio gallery. */
.projects-page .projects-overview { background: #10283b; }
.projects-page .projects-overview .projects_list {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(26px, 4vw, 54px) 18px;
  margin: 0;
}
.projects-page .projects-overview .projects_list-item {
  grid-column: span 6;
  display: flex;
  flex-direction: column;
  overflow: visible;
  background: transparent;
  color: #fff;
}
.projects-page .projects-overview .projects_list-item:first-child,
.projects-page .projects-overview .projects_list-item:last-child { grid-column: span 7; }
.projects-page .projects-overview .projects_list-item:nth-child(2),
.projects-page .projects-overview .projects_list-item:nth-child(3) { grid-column: span 5; }
.projects-page .projects-overview .projects_list-item .media {
  position: relative;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #071723;
}
.projects-page .projects-overview .projects_list-item:first-child .media,
.projects-page .projects-overview .projects_list-item:last-child .media { aspect-ratio: 16 / 10; }
.projects-page .projects-overview .projects_list-item .media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(7,23,35,.34));
  pointer-events: none;
}
.projects-page .projects-overview .projects_list-item .media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.16,1,.3,1);
}
.projects-page .projects-overview .projects_list-item:hover .media img { transform: scale(1.035); }
.projects-page .projects-overview .projects_list-item .main { padding: 20px 0 0; }
.projects-page .projects-overview .projects_list-item .main_info .location {
  color: #f1c342;
  font-size: .7rem;
  letter-spacing: .14em;
}
.projects-page .projects-overview .projects_list-item .main_title {
  margin: 7px 0 12px;
  color: #fff;
  font-size: clamp(1.7rem, 2.8vw, 3.15rem);
  letter-spacing: -.055em;
  line-height: .94;
}
.projects-page .projects-overview .projects_list-item .main_text {
  max-width: 52ch;
  margin-bottom: 18px;
  color: rgba(255,255,255,.72);
  line-height: 1.62;
}
.projects-page .projects-overview .projects_list-item .link { color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.projects-page .projects-overview .projects_list-item .link .icon { color: #f1c342; }
@media (max-width: 800px) {
  .projects-page .projects-overview .projects_list { grid-template-columns: 1fr; gap: 42px; }
  .projects-page .projects-overview .projects_list-item,
  .projects-page .projects-overview .projects_list-item:first-child,
  .projects-page .projects-overview .projects_list-item:last-child,
  .projects-page .projects-overview .projects_list-item:nth-child(2),
  .projects-page .projects-overview .projects_list-item:nth-child(3) { grid-column: auto; }
  .projects-page .projects-overview .projects_list-item .media,
  .projects-page .projects-overview .projects_list-item:first-child .media,
  .projects-page .projects-overview .projects_list-item:last-child .media { aspect-ratio: 4 / 3; }
}

/* v5.8 aligned portfolio cards with stronger conversion cues. */
.projects-page .projects-overview .projects_list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.projects-page .projects-overview .projects_list-item,
.projects-page .projects-overview .projects_list-item:first-child,
.projects-page .projects-overview .projects_list-item:last-child,
.projects-page .projects-overview .projects_list-item:nth-child(2),
.projects-page .projects-overview .projects_list-item:nth-child(3) {
  grid-column: auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  background: #173348;
}
.projects-page .projects-overview .projects_list-item .media,
.projects-page .projects-overview .projects_list-item:first-child .media,
.projects-page .projects-overview .projects_list-item:last-child .media { aspect-ratio: 16 / 10; }
.projects-page .projects-overview .projects_list-item .main {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(26px, 3vw, 42px);
}
.projects-page .projects-overview .projects_list-item .main_text { margin-bottom: 26px; }
.projects-page .projects-overview .projects_list-item .link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  margin-top: auto;
  padding: 0 18px;
  background: #f1c342;
  color: #10283b;
  font-size: .75rem;
  letter-spacing: .09em;
  transition: transform .3s cubic-bezier(.16,1,.3,1), background-color .3s cubic-bezier(.16,1,.3,1);
}
.projects-page .projects-overview .projects_list-item .link .icon { color: currentColor; }
.projects-page .projects-overview .projects_list-item .link:hover,
.projects-page .projects-overview .projects_list-item .link:focus-visible { color: #10283b; background: #fff; transform: translateX(3px); }
@media (max-width: 800px) {
  .projects-page .projects-overview .projects_list { grid-template-columns: 1fr; }
}

/* Keep the desktop project overview cards equal in height. */
@media (min-width: 801px) {
  .projects-page .projects-overview .projects_list { grid-auto-rows: 1fr; }
  .projects-page .projects-overview .projects_list-item { height: 100%; }
}

/* v5.9 final CTA contrast. */
.cta-band h2 { color: #fff; }

/* Use the project’s own service photography where it best represents the work. */
.services .services_list-item:nth-child(3) .wrapper,
.services-page .services_list-item:nth-child(3) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services/Services-3.jpg') !important; }
.services .services_list-item:nth-child(4) .wrapper,
.services-page .services_list-item:nth-child(4) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services/Services-4.jpg') !important; }
.services .services_list-item:nth-child(5) .wrapper,
.services-page .services_list-item:nth-child(5) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services/Services-5.jpg') !important; }
.services .services_list-item:nth-child(9) .wrapper,
.services-page .services_list-item:nth-child(9) .wrapper { background-image: linear-gradient(rgba(9,26,40,.72), rgba(9,26,40,.72)), url('/resources/services/Services-9.jpg') !important; }

/* Remove legacy background chips from the homepage services heading. */
.services .services_header .subtitle.primary-bg,
.services .services_header .title.primary-bg { background: transparent; }

/* v6.0 subtle physical motion system. */
:root {
  --motion-enter: linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 19.4%, 1.067 22.5%, 1.089 26%, 1.079 30.3%, 1.049 36%, 1.024 42.6%, 1.011 50.3%, 1.004 59.2%, 1.001 69.3%, 1);
  --motion-snap: cubic-bezier(.22, 1, .36, 1);
}
.motion-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .58s var(--motion-enter) var(--motion-delay, 0ms), transform .58s var(--motion-enter) var(--motion-delay, 0ms);
  will-change: transform, opacity;
}
.motion-reveal.motion-visible { opacity: 1; transform: translateY(0); will-change: auto; }
.header { animation: motion-header-in .55s var(--motion-enter) both; }
@keyframes motion-header-in { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) and (pointer: fine) {
  .header .brand,
  .header .nav-link,
  .footer .link,
  .link-arrow,
  .btn,
  .gallery-card,
  .projects_list-item,
  .services_list-item,
  .blog_feed-item { transition-timing-function: var(--motion-snap); }
  .header .brand { transition-property: transform; transition-duration: .28s; }
  .header .brand:hover { transform: scale(1.025); }
  .header .nav-link,
  .footer .link { position: relative; }
  .header .nav-link::after,
  .footer .link::after {
    position: absolute;
    right: 0;
    bottom: -5px;
    left: 0;
    height: 1px;
    background: currentColor;
    content: '';
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .28s var(--motion-snap);
  }
  .header .nav-link:hover::after,
  .header .nav-link:focus-visible::after,
  .footer .link:hover::after,
  .footer .link:focus-visible::after { transform: scaleX(1); transform-origin: left; }
  .link-arrow { display: inline-flex; align-items: center; gap: 8px; transition: gap .28s var(--motion-snap), color .28s var(--motion-snap); }
  .link-arrow:hover,
  .link-arrow:focus-visible { gap: 12px; }
  .projects_list-item,
  .services_list-item,
  .blog_feed-item { transition-property: transform, box-shadow; transition-duration: .38s; }
  .projects_list-item:hover,
  .services_list-item:hover,
  .blog_feed-item:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(4, 18, 30, .16); }
  .gallery-card { transition-property: transform, box-shadow; transition-duration: .38s; }
  .gallery-card:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(4, 18, 30, .2); }
  .btn { transition: transform .28s var(--motion-snap), box-shadow .28s var(--motion-snap), background-color .28s var(--motion-snap), color .28s var(--motion-snap); }
  .btn:hover { transform: translateY(-2px); }
}
.btn:active,
.link-arrow:active,
.projects_list-item a:active,
.services_list-item a:active { transform: scale(.97); }
.contact-form_field { transition: border-color .25s var(--motion-snap), box-shadow .25s var(--motion-snap), background-color .25s var(--motion-snap); }
@media (prefers-reduced-motion: reduce) {
  .motion-reveal { opacity: 1; transform: none; transition: opacity .15s linear; }
  .header { animation: none; }
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* Keep every service card on the same dark photographic surface. */
.services .services_list-item,
.services-page .services_list-item { background: #091a28 !important; overflow: hidden; }
.services .services_list-item .wrapper,
.services-page .services_list-item .wrapper { min-height: 100%; background-color: #091a28 !important; }

.services .services_list-item,
.services-page .services_list-item,
.services .services_list-item .wrapper,
.services-page .services_list-item .wrapper {
  border: 0 !important;
  box-shadow: none !important;
}

/* v6.1 floating, quieter site navigation. */
.header {
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.header .container {
  width: min(100% - 28px, 1290px);
  min-height: 66px;
  margin-top: 12px;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(9,26,40,.88);
  box-shadow: 0 10px 30px rgba(2,12,20,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.header .brand { min-height: 46px; padding-left: 2px; }
.header .alt_brand_logo { height: 48px; }
.header_phone {
  min-height: 42px;
  padding: 0 12px;
  border-color: transparent;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  font-size: 12px;
}
.header_trigger {
  width: 42px;
  height: 42px;
  padding: 10px 8px;
  border-color: transparent;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
}
.header_trigger:hover,
.header_trigger:focus-visible { background: rgba(255,198,49,.2); }
.header.opened { background: rgba(9,26,40,.98); backdrop-filter: blur(16px); }
.header.opened .container {
  margin-top: 0;
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
@media (min-width: 1024px) {
  .header .container { min-height: 76px; padding: 8px 18px; }
  .header .alt_brand_logo { height: 56px; }
  .header_nav-list { gap: clamp(18px, 2.2vw, 32px); }
  .header_nav-list_item .nav-link { min-height: 40px; font-size: 13px; letter-spacing: .02em; }
  .header_phone { min-height: 42px; border-color: transparent; background: rgba(255,255,255,.08); }
}

/* v6.3 mobile gallery and compact footer cleanup. */
.footer {
  padding: 42px 0 24px;
}
.footer_main {
  gap: 28px;
}
.footer_main-block .brand,
.footer_main-block_title {
  margin-bottom: 14px;
}
.footer_main-block_nav {
  gap: 8px;
}
.footer_main-block_nav .list-item .link {
  min-height: 36px;
}
.footer_company-disclosure {
  margin-top: 28px;
  padding-top: 18px;
}
.footer_company-disclosure p {
  margin-bottom: 4px;
  line-height: 1.45;
}
.footer_secondary {
  margin-top: 24px;
  padding-top: 18px;
}

@media (max-width: 767px) {
  .presentation.gallery {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 8px;
    min-height: 0;
    white-space: normal;
  }
  .presentation.gallery .gallery_item,
  .presentation.gallery .gallery_item:nth-child(2),
  .presentation.gallery .gallery_item:nth-child(3),
  .presentation.gallery .gallery_item:nth-child(4) {
    width: 100%;
    height: min(72vw, 330px);
    min-height: 220px;
    margin: 0;
    grid-column: auto;
    grid-row: auto;
    overflow: hidden;
  }
  .presentation.gallery .gallery_item .media,
  .presentation.gallery .gallery_item .media picture,
  .presentation.gallery .gallery_item .media img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .presentation.gallery .gallery_item .media img {
    object-fit: cover;
  }
  .presentation.gallery .gallery_item .media .overlay {
    padding: 22px;
  }
  .footer {
    padding: 34px 0 20px;
  }
  .footer_main {
    gap: 24px;
  }
  .footer_main-block_nav .list-item .link {
    min-height: 34px;
  }
  .footer_company-disclosure {
    margin-top: 22px;
    padding-top: 16px;
    font-size: 13px;
  }
  .footer_secondary {
    margin-top: 20px;
    padding-top: 16px;
  }
}

/* v6.4 ultra-compact footer on phones. */
@media (max-width: 767px) {
  .footer {
    padding: 26px 0 14px;
  }
  .footer_main {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 18px;
    align-items: start;
  }
  .footer_main-block .brand,
  .footer_main-block_title {
    margin-bottom: 9px;
  }
  .footer_main-block .group-wrapper {
    gap: 8px;
    margin-bottom: 8px !important;
  }
  .footer_main-block .group-wrapper .icon {
    font-size: 14px;
    margin-top: 3px;
  }
  .footer_main-block .group-wrapper .group {
    line-height: 1.35;
    font-size: 13px;
    overflow-wrap: anywhere;
  }
  .footer_main-block_nav {
    gap: 2px;
  }
  .footer_main-block_nav .list-item .link {
    min-height: 28px;
    padding: 3px 0;
    font-size: 11px;
    letter-spacing: .06em;
  }
  .footer_main-block_nav .list-item .link .icon {
    font-size: 8px;
  }
  .footer_company-disclosure {
    margin-top: 16px;
    padding-top: 12px;
    font-size: 11px;
    line-height: 1.35;
  }
  .footer_company-disclosure p {
    line-height: 1.35;
  }
  .footer_secondary {
    margin-top: 14px;
    padding-top: 11px;
  }
  .footer_secondary-copyright {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3px 10px;
    font-size: 11px;
    line-height: 1.35;
  }
}

/* v6.5 compact footer rhythm at every viewport. */
.footer {
  padding-top: 34px;
  padding-bottom: 18px;
}
.footer_main {
  gap: clamp(22px, 4vw, 56px);
}
.footer_company-disclosure {
  margin-top: 22px;
  padding-top: 14px;
}
.footer_secondary {
  margin-top: 18px;
  padding-top: 14px;
}

@media (max-width: 767px) {
  .footer { padding-top: 26px; padding-bottom: 14px; }
  .footer_main { gap: 18px; }
  .footer_company-disclosure { margin-top: 16px; padding-top: 12px; }
  .footer_secondary { margin-top: 14px; padding-top: 11px; }
}

/* v6.6 remove legacy desktop footer reserve space. */
.footer_main {
  padding-bottom: 0 !important;
}
@media (min-width: 768px) {
  .footer_main-block:first-of-type {
    max-width: 420px;
  }
  .footer_main-block:first-of-type .group-wrapper:nth-of-type(2) .group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    column-gap: 18px;
  }
  .footer_main-block_nav {
    gap: 7px;
  }
}
@media (min-width: 1024px) {
  .footer_main-block_nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    column-gap: clamp(22px, 3vw, 48px);
    row-gap: 7px;
  }
}

/* v6.7 keep the footer address readable on desktop. */
@media (min-width: 768px) {
  .footer_main-block:first-of-type .group-wrapper:nth-of-type(2) .group {
    display: flex;
    grid-template-columns: none;
    flex-direction: column;
    column-gap: 0;
    line-height: 1.45;
  }
}

/* Keep the brand mark within 45% of the header bar at every viewport. */
.header .brand {
  flex: 0 1 45%;
  width: min(45%, 210px);
  max-width: 45%;
  min-width: 0;
}
.header .alt_brand_logo {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 56px;
  object-fit: contain;
  object-position: left center;
}

/* Footer design credit. */
.footer_credit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  color: rgba(255,255,255,.58);
  font-family: Archivo, sans-serif;
  font-size: 11px;
  letter-spacing: .04em;
  text-decoration: none;
}
.footer_credit img {
  display: block;
  width: 100px;
  height: auto;
  max-height: 30px;
  object-fit: contain;
}
.footer_credit:hover,
.footer_credit:focus-visible { color: #fff; }
.footer_credit:hover img,
.footer_credit:focus-visible img { opacity: .82; }
@media (max-width: 767px) {
  .footer_credit { margin-top: 8px; font-size: 10px; }
  .footer_credit img { width: 100px; max-height: 30px; }
}

/* Keep the optimised header logo contained within its brand slot. */
.header .brand > picture {
  display: block;
  width: 100%;
  max-width: 100%;
}