:root{--primary:#95bb9d;--secondary:#E93C05;--tertiary:#555;--light:#3e6c6c;--dark:#2e4c5c}
.back-to-top{position:fixed;display:none;right:30px;bottom:30px;z-index:99}
h1,.h1,h2,.h2,.fw-bold{font-weight:700!important}
h3,.h3,h4,.h4,.fw-medium{font-weight:600!important}
h5,.h5,h6,.h6,.fw-semi-bold{font-weight:500!important}
.btn{transition:.5s;font-weight:500}
.btn-primary,.btn-outline-primary:hover{color:var(--light)}
.btn-square{width:38px;height:38px}
.btn-sm-square{width:32px;height:32px}
.btn-lg-square{width:48px;height:48px}
.btn-square,.btn-sm-square,.btn-lg-square{padding:0;display:flex;align-items:center;justify-content:center;font-weight:400}
.fixed-top{transition:.5s}
.navbar .navbar-nav .nav-link{padding:25px 15px;color:var(--tertiary);font-weight:500;outline:none}
.navbar .navbar-nav .nav-link:hover,.navbar .navbar-nav .nav-link.active{color:var(--primary)}
@media (max-width: 991.98px) {
.navbar .navbar-nav{margin-top:10px;border-top:1px solid rgba(0,0,0,.07);background:#FFF}
.navbar .navbar-nav .nav-link{padding:10px 0}
}
@media (min-width: 992px) {
}
.carousel-caption{top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;text-align:start;z-index:1}
.carousel-control-prev,.carousel-control-next{width:3rem}
.carousel-control-prev-icon,.carousel-control-next-icon{width:3rem;height:3rem;background-color:var(--primary);border:10px solid var(--primary)}
.carousel-control-prev-icon{border-radius:0 3rem 3rem 0}
.carousel-control-next-icon{border-radius:3rem 0 0 3rem}
@media (max-width: 768px) {
#header-carousel .carousel-item{position:relative;min-height:450px}
#header-carousel .carousel-item img{position:absolute;width:100%;height:100%;object-fit:cover}
}
.facts{background:linear-gradient(rgba(149,187,157,.95),rgba(149,187,157,.95)),url(../img/bg.png)}
.callback{position:relative}
.callback::before{position:absolute;content:"";width:100%;height:50%;top:0;left:0;background:linear-gradient(rgba(149,187,157,.95),rgba(149,187,157,.95)),url(../img/bg.png);z-index:-1}
.feature .feature-box,.feature .feature-box *{transition:.5s}
.feature .feature-box:hover{background:var(--primary);border-color:var(--primary)!important}
.feature .feature-box:hover *{color:#FFF!important}
.project-item,.project-item .project-img{position:relative}
.project-item .project-img a{position:absolute;width:100%;height:100%;top:0;left:0;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;border-radius:8px;opacity:0;transition:.5s}
.project-item:hover .project-img a{opacity:1}
.project-item .project-title{position:absolute;top:3rem;right:0;bottom:0;left:3rem;border:1px solid var(--light);border-radius:8px;display:flex;align-items:flex-end;padding:18px;z-index:-1;transition:.5s}
.project-item:hover .project-title{background:var(--primary);border-color:var(--primary)}
.project-item .project-title h4{transition:.5s}
.project-item:hover .project-title h4{color:#FFF}
.testimonial-item{position:relative;text-align:center;padding-top:30px}
.testimonial-item .testimonial-text{position:relative;text-align:center}
.testimonial-item .testimonial-text .btn-square{position:absolute;width:60px;height:60px;top:-30px;left:50%;transform:translateX(-50%)}
.testimonial-item .testimonial-text::before{position:absolute;content:"";bottom:-60px;left:50%;transform:translateX(-50%);border:30px solid;border-color:var(--light) transparent transparent}
.testimonial-item .testimonial-text::after{position:absolute;content:"";bottom:-59px;left:50%;transform:translateX(-50%);border:30px solid;border-color:#FFF transparent transparent}
.footer .btn.btn-link{display:block;margin-bottom:5px;padding:0;text-align:left;color:var(--light);font-weight:400;text-transform:capitalize;transition:.3s}
.footer .btn.btn-link::before{position:relative;content:"›";font-family:inherit;font-weight:900;margin-right:10px}
.footer .btn.btn-link:hover{color:var(--primary);letter-spacing:1px;box-shadow:none}
.copyright{color:var(--primary);background:#3e6c6c}
.copyright a{color:var(--primary)}
ul.lista3,ul.arealinks{-webkit-column-count:3;-moz-column-count:3;column-count:3}
ul.arealinks{font-size:10pt}
.text-white a{color:#fff}
ul.pusty {list-style-type: none}

/* Mobile-first improvements; colours, photographs and component shapes retained. */
html { scroll-padding-top: 110px; }
body { overflow-wrap: break-word; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
a { color: #3e6c57; }
p a, .arealinks a, .towns a { text-decoration: underline; text-underline-offset: .18em; }
:focus-visible, .navbar .nav-link:focus-visible { outline: 3px solid #244b60; outline-offset: 4px; }
.RemAU-skip { position: fixed; top: -100px; left: 12px; z-index: 1100; padding: 12px 20px; background: white; color: #244b60; }
.RemAU-skip:focus { top: 10px; }
.fixed-top { background: rgba(255,255,255,.97); }
.navbar-brand { max-width: calc(100% - 105px); white-space: normal; }
.navbar-brand .display-5 { display: block; font-family: Jost, sans-serif; font-size: clamp(1.3rem, 5vw, 3rem); font-weight: 700; line-height: 1.15; }
.navbar-toggler { min-width: 48px; min-height: 48px; }
.navbar .navbar-nav .nav-link { min-height: 44px; color: #384b45; }
.navbar .navbar-nav .nav-link.active, .navbar .navbar-nav .nav-link:hover { color: #315e43; text-decoration: underline; }
.navbar-collapse { max-height: calc(100dvh - 100px); overflow-y: auto; }
.RemAU-simple-page main { padding-top: 100px; }
.RemAU-content-page main { padding-top: 78px; }
.text-primary { color: #3e6c57 !important; }
.btn-primary { color: #203e36; }
.btn-primary:hover, .btn-primary:focus { color: #17352b; }
.facts .text-white { color: #203e36 !important; }
.facts p.display-4 { font-family: Jost, sans-serif; font-weight: 700; margin-bottom: .5rem; }
.feature .feature-box:hover * { color: #203e36 !important; }
.footer .btn.btn-link, .footer a, .copyright, .copyright a { color: #fff; }
.footer .btn.btn-link { padding: 10px 0; min-height: 44px; }
.footer .btn.btn-link::before { content: '›'; font-family: inherit; }
.footer .btn.btn-link:hover { letter-spacing: normal; }
.towns li, .arealinks li, .lista3 li { break-inside: avoid; padding-bottom: .5rem; }
ul.lista3, ul.arealinks { column-count: 1; }
.arealinks a, .towns a { display: inline-block; padding-block: 8px; }
#header-carousel .carousel-item { min-height: 560px; }
#header-carousel .carousel-item img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
#header-carousel .carousel-caption { position: relative; min-height: 560px; padding: 35px 40px 55px; background: linear-gradient(90deg,rgba(244,248,242,.9),rgba(244,248,242,.6) 65%,transparent); }
#header-carousel .display-1 { font-size: clamp(2rem, 6vw, 5rem); line-height: 1.12; }
#header-carousel .btn { padding: 1rem 1.5rem !important; }
.carousel-control-prev, .carousel-control-next { width: 36px; }
.carousel-control-prev-icon, .carousel-control-next-icon { width: 36px; height: 48px; }
.carousel-control-prev, .carousel-control-next { opacity: .9; }
.RemAU-carousel { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 4px 16px; }
.RemAU-carousel > * { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.project-item { isolation: isolate; }
.project-item img { width: 100%; }
.RemAU-carousel-controls { display: flex; justify-content: center; gap: 20px; margin-top: 16px; }
.RemAU-carousel-controls button { border: 0; border-radius: 50%; width: 48px; height: 48px; background: #95bb9d; color: #203e36; font-size: 24px; }
.RemAU-carousel-controls button:disabled { opacity: .45; cursor: default; }
.back-to-top { display: none; right: 16px; bottom: 20px; }
.back-to-top.RemAU-visible { display: flex; }
.RemAU-form { max-width: 1000px; }
.RemAU-form [data-sd-iframe] { min-height: 600px; }
.RemAU-form iframe { width: 100%; max-width: 100%; border: 0; }
.nav-tabs { gap: 4px; }
.nav-tabs .nav-link { min-height: 44px; color: #315e43; }
summary { cursor: pointer; min-height: 44px; font-weight: 700; color: #2e4c5c; }
.facts, .callback::before { background-image: linear-gradient(rgba(149,187,157,.95),rgba(149,187,157,.95)), url('../img/RemAU-bg-760.webp'); }
@media (min-width: 576px) {
  ul.lista3, ul.arealinks { column-count: 2; }
}
@media (min-width: 768px) {
  .RemAU-carousel > * { flex-basis: calc((100% - 24px) / 2); }
}
@media (min-width: 992px) {
  .fixed-top { background: rgba(255,255,255,.94); }
  .RemAU-content-page main { padding-top: 82px; }
  .navbar-brand { max-width: 38%; }
  .navbar-brand .display-5 { font-size: clamp(1.8rem, 3vw, 3rem); }
  .navbar-collapse { overflow: visible; max-height: none; }
  ul.lista3, ul.arealinks { column-count: 3; }
  .RemAU-carousel > * { flex-basis: calc((100% - 48px) / 3); }
  #header-carousel .carousel-item { min-height: 0; }
  #header-carousel .carousel-item img { position: static; height: auto; }
  #header-carousel .carousel-caption { position: absolute; min-height: 0; background: none; padding: 20px 50px; }
  .carousel-control-prev, .carousel-control-next { width: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html, .RemAU-carousel { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
  .fixed-top, .back-to-top, .RemAU-carousel-controls, .carousel-control-prev, .carousel-control-next { display: none !important; }
  main { padding-top: 0 !important; }
  .RemAU-carousel { display: block; overflow: visible; }
  .carousel-item, .tab-pane { display: block !important; opacity: 1 !important; }
}

/* Phone-specific portrait crops; tablet and desktop retain the landscape originals. */
@media (max-width: 575.98px) {
  #header-carousel .carousel-item img { object-position: 50% center; }
}
@media (max-width: 374.98px) {
  #header-carousel .carousel-item, #header-carousel .carousel-caption { min-height: 480px; }
}
