/*-----------------------------------------------------------

    Website by
     ____                            _                  
    |  _ \ _ __ ___  _ __ ___   ___ | | _____  _ __ ___  TM
    | |_) | '__/ _ \| '_ ` _ \ / _ \| |/ / _ \| '__/ _ \
    |  __/| | | (_) | | | | | | (_) |   | (_) | | |  __/
    |_|   |_|  \___/|_| |_| |_|\___/|_|\_\___/|_|  \___|
                                                     
    promokore.com
-------------------------------------------------------------*/
/*-----------------------------------------------------------

    1.  variables
    2.  mixins
    3.  helpers
    4.  typography
    5.  Core
    6.  header
    7.  Menu
    8.  slider
    9.  project
    10. about
    11. blog
    12. contact
    13. Footer

-------------------------------------------------------------*/
/* -------------------------------------------------------
                   Variables
-------------------------------------------------------- */
/* -------------------------------------------------------
                     mixins
-------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300&family=Poppins:wght@100&display=swap");
[data-overlay]:before {
  content: "";
  position: absolute;
  background: #000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}

[data-overlay="0"]:before {
  opacity: 0;
}

[data-overlay="1"]:before {
  opacity: 0.1;
}

[data-overlay="2"]:before {
  opacity: 0.2;
}

[data-overlay="3"]:before {
  opacity: 0.3;
}

[data-overlay="4"]:before {
  opacity: 0.4;
}

[data-overlay="5"]:before {
  opacity: 0.5;
}

[data-overlay="6"]:before {
  opacity: 0.6;
}

[data-overlay="7"]:before {
  opacity: 0.7;
}

[data-overlay="8"]:before {
  opacity: 0.8;
}

[data-overlay="9"]:before {
  opacity: 0.9;
}

[data-overlay="10"]:before {
  opacity: 1;
}

.cover-bg {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.v-middle {
  position: absolute;
  top: 50%;
  left: 0;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* -------------------------------------------------------
                     helpers
-------------------------------------------------------- */
.display-table-cell {
  display: table-cell !important;
}

.vertical-align-middle {
  vertical-align: middle;
}

.line-height-5 {
  line-height: 1.5 !important;
}

.line-height-6 {
  line-height: 1.6 !important;
}

.line-height-7 {
  line-height: 1.7 !important;
}

.line-height-8 {
  line-height: 1.8 !important;
}

.uppercase {
  text-transform: uppercase !important;
}

.lowercase {
  text-transform: lowercase !important;
}

.capitalize {
  text-transform: capitalize !important;
}

.nott {
  text-transform: none !important;
}

.fright {
  float: right !important;
}

.fleft {
  float: left !important;
}

.fnone {
  float: none !important;
}

.center {
  text-align: center !important;
}

.nobg {
  background: none !important;
}

.nobgcolor {
  background-color: transparent !important;
}

.fw300 {
  font-weight: 300 !important;
}

.fw400 {
  font-weight: 400 !important;
}

.fw500 {
  font-weight: 500 !important;
}

.fw600 {
  font-weight: 600 !important;
}

.fw700 {
  font-weight: 700 !important;
}

.ls0 {
  letter-spacing: 0px !important;
}

.ls1 {
  letter-spacing: 1px !important;
}

.ls2 {
  letter-spacing: 2px !important;
}

.ls3 {
  letter-spacing: 3px !important;
}

.ls4 {
  letter-spacing: 4px !important;
}

.ls5 {
  letter-spacing: 5px !important;
}

.fz-12 {
  font-size: 12px !important;
}

.fz-14 {
  font-size: 14px !important;
}

.fz-15 {
  font-size: 15px !important;
}

.fz-16 {
  font-size: 16px !important;
}

.fz-18 {
  font-size: 18px !important;
}

.fz-20 {
  font-size: 20px !important;
}

.fz-30 {
  font-size: 30px !important;
}

.section-padding {
  padding-top: 114px !important;
  padding-bottom: 114px !important;
}

.section-padding2 {
  padding-top: 114px !important;
  padding-bottom: 0px !important;
}

.mpl-0 {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.mpr-0 {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

.m-auto {
  margin: auto !important;
}

.no-margin {
  margin: none !important;
}

.m-0 {
  margin: 0 !important;
}

.mbl-0 {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.mbr-0 {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

.m-0 {
  margin: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mt-55 {
  margin-top: 55px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mt-62 {
  margin-top: 62px !important;
}

.mt-65 {
  margin-top: 65px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mt-75 {
  margin-top: 75px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mt-85 {
  margin-top: 85px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mt-95 {
  margin-top: 95px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

/*-------------------------------------------------------
           Custom Margin Bottom
-------------------------------------------------------*/
.mb-0 {
  margin-bottom: 0 !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

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

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-62 {
  margin-bottom: 62px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

/*-------------------------------------------------------
           Custom Padding Top
-------------------------------------------------------*/
.pt-0 {
  padding-top: 0 !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pt-55 {
  padding-top: 55px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pt-65 {
  padding-top: 65px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pt-75 {
  padding-top: 75px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pt-85 {
  padding-top: 85px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pt-95 {
  padding-top: 95px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pt-200 {
  padding-top: 200px !important;
}

/*-------------------------------------------------------
           Custom Padding bottom
-------------------------------------------------------*/
.pb-0 {
  padding-bottom: 0 !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pb-55 {
  padding-bottom: 55px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pb-65 {
  padding-bottom: 65px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pb-75 {
  padding-bottom: 75px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pb-85 {
  padding-bottom: 85px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pb-95 {
  padding-bottom: 95px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.b-shadow {
  -webkit-box-shadow: 0px 5px 35px 0px rgba(148, 146, 245, 0.15);
  box-shadow: 0px 5px 35px 0px rgba(148, 146, 245, 0.15);
}

.t-shadow-1 {
  text-shadow: 2px 8px 6px rgba(0, 0, 0, 0.1);
}

.t-shadow-2 {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.w-100 {
  width: 100%;
}

.height-100 {
  height: 100%;
}

.color-white {
  color: #fff !important;
}

.noheight {
  height: 0 !important;
}

.nolineheight {
  line-height: 0 !important;
}

.ohidden {
  position: relative;
  overflow: hidden !important;
}

.no-padding {
  padding: 0 !important;
}

.p-relative {
  position: relative !important;
}

.p-absolute {
  position: absolute !important;
}

.hidden {
  display: none !important;
}

.nothidden {
  display: block !important;
}

.inline-block {
  float: none !important;
  display: inline-block !important;
}

.o-hidden {
  overflow: hidden !important;
}

.p-op {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.l-auto {
  left: auto !important;
}

.r-auto {
  right: auto !important;
}

.b-auto {
  bottom: auto !important;
}

/* -------------------------------------------------------
                   typography
-------------------------------------------------------- */
dl,
dt,
dd,
ol,
ul,
li {
  margin: 0;
  padding: 0;
}

.clear {
  clear: both;
  display: block;
  font-size: 0px;
  height: 0px;
  line-height: 0;
  width: 100%;
  overflow: hidden;
}

::-moz-selection {
  background: #fd4145;
  color: #fff;
}

::selection {
  background: #fd4145;
  color: #fff;
}

/* ----------------------------------------------------------------
	Typography
-----------------------------------------------------------------*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none !important;
  list-style: none !important;
  outline: none !important;
  margin: 0;
  padding: 0;
  -webkit-transition: unset;
  -o-transition: unset;
  transition: unset;
}

html {
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: 0 !important;
  overflow: visible !important;
}

body {
  line-height: 1.2;
  color: #fff;
  font-size: 17px;
  font-family: "Montserrat", sans-serif;
  height: 100%;
  overflow-x: hidden;
  font-weight: 300;
}

body.hidden {
  opacity: 0;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio {
  display: inline-block;
  max-width: 100%;
}

address {
  font-style: italic;
  margin-bottom: 24px;
}

cite,
dfn,
em,
i {
  font-style: italic;
}

a {
  text-decoration: none !important;
  color: #fd4145;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

span,
a {
  display: inline-block;
  color: inherit;
}

iframe {
  border: none !important;
}

button {
  background: inherit;
  border: none;
}

/* ----------------------------------------------------------------
	Basic Layout Styles
-----------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #151515;
  font-weight: 800;
  line-height: 1.2;
  font-family: "Montserrat", sans-serif;
  margin: 0;
}

h1 {
  font-size: 55px;
}

h2 {
  font-size: 40px;
}

h3 {
  font-size: 35px;
}

h4 {
  font-size: 30px;
}

h5 {
  font-size: 14px;
}

h6 {
  font-size: 18px;
}

h4 {
  font-weight: 400;
}

h5,
h6 {
  font-weight: bold;
}

p {
  line-height: 1.6;
  font-weight: 500;
  margin: 0;
}

/* -------------------------------------------------------
                   Core
-------------------------------------------------------- */
body {
  background-color: #14213d !important;
  cursor: url(../img/dot.png) 3 3, auto !important;
  overflow: hidden !important;
}

body.light-v {
  background-color: #fff !important;
}

body > * {
  -webkit-transition: unset;
  -o-transition: unset;
  transition: unset;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}

body.cuby-mobile {
  overflow: auto !important;
}

.container {
  max-width: 1340px;
}

.single-title {
  margin-bottom: 50px;
  position: relative;
  color: #fff;
  font-family: "Playfair Display", serif;
  text-transform: uppercase;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 2px;
}

.single-title span {
  color: transparent;
  -webkit-text-stroke-color: #fff;
  -webkit-text-stroke-width: 1px;
}

.title-box {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 70px;
}

.title-box:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #13213d;
  height: 3px;
  width: 70px;
  z-index: 1;
}

.title-box :is(h1, h3) {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 32px;
  letter-spacing: 2px;
  background-color: #13213d;
  z-index: 2;
  padding-right: 30px;
}

.title-box .lineStagger {
  height: 2px;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  background-color: #168a98;
  width: 100%;
}

.small-title {
  position: relative;
  margin-bottom: 30px;
}

.small-title span.co-title {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 2px;
}

.small-title span.co-title span {
  font-family: "Fjalla One", sans-serif;
}

.subtitle {
  margin-bottom: 3px;
  font-size: 24px;
  color: #fff;
}

.bg-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.bg-layer .project-ctrl {
  position: absolute;
  top: 0;
  height: 100%;
  width: 145px;
  cursor: pointer;
  opacity: 0;
}

.bg-layer .line {
  position: absolute;
  height: 100%;
  width: 1px;
  background-color: #000;
  opacity: 0.06;
  top: 0;
  z-index: 20;
}

.bg-layer .line-1 {
  left: calc(20% - 0.5px);
}

.bg-layer .line-2 {
  left: calc(40% - 0.5px);
}

.bg-layer .line-3 {
  left: calc(60% - 0.5px);
}

.bg-layer .line-4 {
  left: calc(80% - 0.5px);
}

.bg-layer .right {
  right: 0;
}

.bg-layer .left {
  left: 0;
}

.cy-section {
  position: relative;
  overflow: hidden;
}

.cy-section h3 {
  position: relative;
  color: #fff;
  font-size: 36px;
  line-height: 48px;
  letter-spacing: 1.5px;
  margin-bottom: 30px;
}

.custom-btn {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  color: inherit;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -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;
}

.custom-btn > * {
  pointer-events: none;
}

.custom-btn[type="button"] {
  padding: 0;
  font-size: 1rem;
  background-color: transparent;
}

.custom-btn.-icon-left .custom-btn__icon {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
}

.custom-btn__label {
  display: inline-block;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 1px;
  font-size: 12px;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1),
    -webkit-transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.custom-btn:hover .custom-btn__label {
  -webkit-transform: translateX(1em);
  -ms-transform: translateX(1em);
  transform: translateX(1em);
}

.custom-btn.-icon-left:hover .custom-btn__label {
  -webkit-transform: translateX(-1em);
  -ms-transform: translateX(-1em);
  transform: translateX(-1em);
}

.custom-btn__icon {
  position: relative;
  width: 60px;
  height: 60px;
}

.custom-btn__icon-small {
  width: 20%;
  height: 20%;
  position: absolute;
  top: 40%;
  left: 40%;
}

.custom-btn__icon-small svg {
  display: block;
  width: 100%;
  height: 100%;
}

.custom-btn__icon-small svg path,
.custom-btn__icon-small svg polygon {
  fill: #fff;
}

.custom-btn__icon-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.custom-btn__icon-circle svg {
  display: block;
  width: 100%;
  height: 100%;
}

.custom-btn__icon-circle svg path {
  stroke: #fff;
  fill: none;
}

.custom-btn__icon-circle .bottomcircle {
  opacity: 0.25;
}

.custom-btn__icon-circle .topcircle {
  stroke-width: 2;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: stroke-dashoffset 1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: stroke-dashoffset 1s cubic-bezier(0.23, 1, 0.32, 1);
  stroke-dasharray: 222;
  stroke-dashoffset: 222;
  -webkit-animation: dashOut 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  animation: dashOut 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
}

.custom-btn:hover .topcircle {
  -webkit-animation: dashIn 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  animation: dashIn 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
}

@-webkit-keyframes dashIn {
  from {
    stroke-dashoffset: 222;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes dashIn {
  from {
    stroke-dashoffset: 222;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes dashOut {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: -222;
  }
}

@keyframes dashOut {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: -222;
  }
}

.contact-section {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(204, 204, 204, 0.05);
  background-color: #1b1b1b;
}

.contact-section .contact-box {
  text-align: center;
}

.contact-section .contact-box .box {
  -webkit-transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
}

.contact-section .contact-box .box .bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0.05;
  -webkit-transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  -webkit-clip-path: circle(33.2% at 50% 50%);
  clip-path: circle(33.2% at 50% 50%);
}

.contact-section .contact-box .box h2 {
  position: relative;
  font-size: 42px;
  line-height: 1.5;
  display: block;
  color: #fff;
  font-family: "Playfair Display", serif;
  font-weight: 600;
  -webkit-transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
  margin-bottom: 30px;
}

.contact-section .contact-box .box h2:hover {
  z-index: 33;
}

.contact-section .contact-box .box:hover .bg {
  opacity: 0.3;
  -webkit-clip-path: circle(47.6% at 50% 50%);
  clip-path: circle(47.6% at 50% 50%);
}

/**
    Loader 100%

 */
.root:before,
.root:after {
  content: "";
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-100%) translateY(0%);
  -ms-transform: translateX(-100%) translateY(0%);
  transform: translateX(-100%) translateY(0%);
}

.root:after {
  -webkit-transition: all 2.5s ease-out;
  -moz-transition: all 2.5s ease-out;
  -ms-transition: all 2.5s ease-out;
  -o-transition: all 2.5s ease-out;
  transition: all 2.5s ease-out;
  z-index: 100;
  background: rgba(255, 255, 255, 0.95);
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.root:before {
  -webkit-transition: all 1.5s ease-in;
  -moz-transition: all 1.5s ease-in;
  -ms-transition: all 1.5s ease-in;
  -o-transition: all 1.5s ease-in;
  transition: all 1.5s ease-in;
  z-index: 1001;
  background: #212121;
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

body.dsn-loader-active .root:before,
body.dsn-loader-active .root:after {
  -webkit-transform: translateX(100%) translateY(0%);
  -ms-transform: translateX(100%) translateY(0%);
  transform: translateX(100%) translateY(0%);
}

.dsn-loader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999999999999;
}

.dsn-loader .dsn-up,
.dsn-loader .dsn-down {
  position: fixed;
  left: 0;
  height: 50vh;
  width: 100vw;
}

.dsn-loader .dsn-up {
  top: 0;
  background-color: #212121;
}

.dsn-loader .dsn-down {
  top: 50%;
  background-color: #212121;
}

.dsn-loader .dsn-progress-page {
  position: absolute !important;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 99;
}

.dsn-loader .dsn-progress-page svg {
  position: absolute;
  top: 50%;
  -webkit-transition: stroke-dashoffset 1s linear 1s;
  -o-transition: stroke-dashoffset 1s linear 1s;
  transition: stroke-dashoffset 1s linear 1s;
}

.dsn-loader .dsn-progress-page .progressbar-text {
  top: 53% !important;
  font-size: 24px;
  color: #fff !important;
}

[data-dsn-grid="progress-circle"] svg {
  stroke-width: 2px;
}

[data-dsn-grid="progress-circle"] .icon__fixed {
  position: absolute;
  width: 100%;
  height: 100%;
  padding-top: 19px;
  padding-left: 22px;
  cursor: pointer;
  -webkit-transition: all 900ms cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: all 900ms cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: all 900ms cubic-bezier(0.4, 0.8, 0.74, 1);
}

[data-dsn-grid="progress-circle"] .icon__fixed:hover {
  font-size: 15px;
}

[data-dsn-grid="progress-circle"] .icon__fixed:hover i.fa-angle-up::before {
  content: "\f062";
}

[data-dsn-grid="progress-circle"] .icon__fixed i {
  color: #fff;
}

.dsn-hover {
  position: absolute;
  top: -100%;
  width: 50%;
  height: 100%;
  z-index: 999999;
}

.dsn-hover .custom-btn {
  pointer-events: none;
  display: none;
  -webkit-transform: translate(-25%, -1%);
  -ms-transform: translate(-25%, -1%);
  transform: translate(-25%, -1%);
}

.dsn-hover .custom-btn__label.btn__label-right {
  display: none;
}

.dsn-hover .custom-btn__label.btn__label-left {
  display: block;
}

.dsn-hover.dsn-left-hover .custom-btn {
  -webkit-transform: translate(0%, 0%);
  -ms-transform: translate(0%, 0%);
  transform: translate(0%, 0%);
}

.dsn-hover.dsn-left-hover svg {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.dsn-hover.dsn-left-hover .custom-btn__label.btn__label-left {
  display: none;
}

.dsn-hover.dsn-left-hover .custom-btn__label.btn__label-right {
  display: block;
}

.dsn-hover.dsn-left-hover:hover .custom-btn__label {
  -webkit-transform: translateX(-10px);
  -ms-transform: translateX(-10px);
  transform: translateX(-10px);
}

.dsn-video .dsn-iframe-player {
  position: relative;
  padding: 56.25% 0 0 0;
}

.dsn-video .dsn-iframe-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.dsn-move {
  background-color: #171718;
  border-radius: 50%;
  opacity: 0.5;
}

.dsn-move.dsn-loader {
  opacity: 1;
}

.dsn-move.dsn-loader:before {
  content: "";
  position: absolute;
  width: 80%;
  height: 80%;
  left: 10%;
  top: 10%;
  background: #fff;
  border-radius: 50%;
  -webkit-animation: clip-path 2s linear infinite;
  -moz-animation: clip-path 2s linear infinite;
  -ms-animation: clip-path 2s linear infinite;
  -o-animation: clip-path 2s linear infinite;
  animation: clip-path 2s linear infinite;
  -webkit-transition: all 1.5s ease-in-out 2s;
  -o-transition: all 1.5s ease-in-out 2s;
  transition: all 1.5s ease-in-out 2s;
}

@-webkit-keyframes clip-path {
  0% {
    background: #fff;
    -webkit-clip-path: circle(0% at 0 0%);
    clip-path: circle(0% at 0 0%);
  }
  50% {
    -webkit-clip-path: circle(100% at 0% 50%);
    clip-path: circle(100% at 0% 50%);
  }
  75% {
    background: #721c24;
    -webkit-clip-path: circle(100% at 50% 0%);
    clip-path: circle(100% at 50% 0%);
  }
  100% {
    -webkit-clip-path: circle(0% at 50% 50%);
    clip-path: circle(0% at 50% 50%);
  }
}

@keyframes clip-path {
  0% {
    background: #fff;
    -webkit-clip-path: circle(0% at 0 0%);
    clip-path: circle(0% at 0 0%);
  }
  50% {
    -webkit-clip-path: circle(100% at 0% 50%);
    clip-path: circle(100% at 0% 50%);
  }
  75% {
    background: #721c24;
    -webkit-clip-path: circle(100% at 50% 0%);
    clip-path: circle(100% at 50% 0%);
  }
  100% {
    -webkit-clip-path: circle(0% at 50% 50%);
    clip-path: circle(0% at 50% 50%);
  }
}

.dsn-not-move {
  z-index: 1001;
}

/**
Override Circle -- Mouse
*/
.override-circle {
  -webkit-box-shadow: 0 0 39px inset !important;
  box-shadow: 0 0 39px inset !important;
  border: 0 none !important;
  opacity: 0.3 !important;
  height: 80px !important;
  width: 80px !important;
  -webkit-transform: translate(-40px, -40px);
  -ms-transform: translate(-40px, -40px);
  transform: translate(-40px, -40px);
  -webkit-transition: all 0.3s ease-in-out 0.3s;
  -o-transition: all 0.3s ease-in-out 0.3s;
  transition: all 0.3s ease-in-out 0.3s;
}

.override-circle-none {
  display: none;
}

.button-loadmore {
  -webkit-transition: 1s;
  -moz-transition: 1s;
  -ms-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
}

.button-loadmore.dsn-loading {
  height: 23px !important;
  border-radius: 7px;
}

.button-loadmore.dsn-loading .progress-text {
  top: -19px;
}

.button-loadmore .dsn-load-progress-ajax {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background-color: #212121;
  color: #fff;
}

.button-loadmore .progress-text {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  z-index: 2;
  width: 100%;
  height: 100%;
}

.dsn-video img {
  cursor: pointer;
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 99999999;
}

.modal-open .modal .modal-content {
  background-color: #171718;
  color: #fff;
  padding: 60px 30px;
}

.modal-open .modal .modal-content .title-box {
  margin-bottom: 30px !important;
}

.modal-open .modal .modal-content .title-box :is(h1, h3) {
  background-color: #171718;
}

.services .services-item .list li button {
  color: inherit;
  background: inherit;
  cursor: pointer;
}

.box-filter .custom-btn {
  position: fixed;
  bottom: 60px;
  z-index: 22;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.box-filter .custom-btn .custom-btn__icon-small {
  width: 20%;
  height: 20%;
  position: absolute;
  top: 38%;
  left: 35%;
}

.box-filter .custom-btn .custom-btn__icon-small i {
  color: #fff;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.Filter-overlay {
  position: fixed;
  height: 100vh;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: left;
  -webkit-transition: all 0.1s ease-in-out 0.6s;
  -o-transition: all 0.1s ease-in-out 0.6s;
  transition: all 0.1s ease-in-out 0.6s;
  background-color: #1b1b1b;
  opacity: 0.9;
  z-index: 999;
  display: none;
}

.Filter-overlay .close-filters {
  position: fixed;
  cursor: url(../img/close_fliter.png) 3 3, auto !important;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
}

.Filter-overlay ul {
  margin-left: 45px;
}

.Filter-overlay ul li {
  display: block;
  line-height: 24px;
  position: relative;
  margin: 0;
}

.Filter-overlay ul li a {
  display: inline-block;
  padding-top: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  z-index: 15;
  position: relative;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.Filter-overlay ul li a:after {
  content: "";
  position: absolute;
  left: 0;
  width: 0;
  height: 3px;
  background-color: #212121;
  -webkit-transform: translate(0, 12px);
  -moz-transform: translate(0, 12px);
  -ms-transform: translate(0, 12px);
  -o-transform: translate(0, 12px);
  transform: translate(0, 12px);
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.cat-filter-item {
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

/* -------------------------------------------------------
                   Menu
-------------------------------------------------------- */
/* -------------------------------------------------------
                   Navbar primary
-------------------------------------------------------- */
.site-header {
  display: block;
  position: fixed;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 20px;
  z-index: 9000;
  -webkit-transition: all 0.7s ease-out;
  -o-transition: all 0.7s ease-out;
  transition: all 0.7s ease-out;
  top: 0;
}

.site-header.header-stickytop {
  height: auto !important;
}

.site-header .extend-container {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  width: 100%;
  padding: 0 50px;
  max-width: none;
  margin: 0 auto;
}

.site-header .extend-container .inner-header {
  position: relative;
}

.site-header .extend-container .inner-header .main-logo {
  width: 230px;
  position: relative;
  z-index: 9999;
  -webkit-transition: width 0.5s ease-in-out 0s;
  -o-transition: width 0.5s ease-in-out 0s;
  transition: width 0.5s ease-in-out 0s;
}

.site-header .extend-container .main-navigation {
  position: relative;
  height: auto;
  background: transparent !important;
  height: 0%;
  width: 100%;
  left: 0;
  top: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-transition: background-color 0.5s ease-in-out 0.5s,
    height 0.5s ease-in-out 0.5s;
  -o-transition: background-color 0.5s ease-in-out 0.5s,
    height 0.5s ease-in-out 0.5s;
  transition: background-color 0.5s ease-in-out 0.5s,
    height 0.5s ease-in-out 0.5s;
}

.site-header .extend-container .main-navigation ul {
  width: 100%;
  max-width: none;
  margin: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  padding: 0;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
  justify-content: flex-end;
}

.site-header .extend-container .main-navigation ul li {
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  margin-right: 20px;
  padding-top: 13px;
  padding-bottom: 5px;
  position: relative;
  text-align: center;
}

.site-header .extend-container .main-navigation ul li a {
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
  font-weight: inherit;
  font-size: inherit;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  padding: 10px 0;
  margin-top: -10px;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  font-family: "Montserrat";
}

.site-header .extend-container .main-navigation ul li a:hover,
.extend-container .by-now a:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: inherit;
}

.site-header .extend-container .main-navigation ul li ul {
  -webkit-transform: translate3d(0px, 20px, 0px);
  transform: translate3d(0px, 20px, 0px);
  display: block;
  opacity: 0;
  min-width: 240px;
  position: absolute;
  width: 100%;
  left: -20px;
  height: inherit;
  overflow: visible;
  visibility: hidden;
  top: 40px;
  padding-top: 20px;
  padding-bottom: 10px;
  background: #171718;
  border-radius: 3px;
  -webkit-transition: all 0.7s ease-in-out;
  -o-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
}

.site-header .extend-container .main-navigation ul li ul li {
  overflow: visible;
  position: relative;
  list-style: none;
  text-align: left;
  float: left;
  display: block;
  padding-left: 20px;
  width: 100%;
}

.site-header .extend-container .main-navigation .custom-drop-down:hover ul {
  opacity: 1;
  visibility: visible;
  top: 15px;
}

.site-header ul li a {
  cursor: none;
}

.site-header ul li a:hover:after,
#phone-link:hover::after {
  width: 100%;
}

.site-header ul li a:after {
  content: "";
  position: absolute;
  left: 0;
  top: 80%;
  width: 0;
  height: 1px;
  background-color: #ffffff;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
a.mail-header {
  font-weight: 600 !important;
}
#phone-link::after {
  content: "";
  position: absolute;
  left: 0;
  top: 95%;
  width: 0;
  height: 1px;
  background-color: #ffffff;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
p.address-mobile {
  font-weight: 400 !important;
}

@media (min-width: 991px) {
  .nav-mobile {
    visibility: hidden;
  }
}

/* -------------------------------------------------------
                   Navbar Overlay
-------------------------------------------------------- */
.header-top {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  z-index: 9999999;
}

.header-top .header-container {
  position: relative;
  width: 100%;
  max-width: 2560px;
  padding: 0 80px;
  margin: auto;
}

.header-top .header-container .logo {
  position: relative;
  display: table;
  pointer-events: auto;
  padding-top: 18px;
  z-index: 10;
  top: 10px;
  float: left;
}

.header-top .header-container .logo img {
  width: 225px;
  height: 50px;
}

.header-top .header-container .menu-icon {
  position: relative;
  height: 100px;
  width: 100px;
  z-index: 999;
  float: right;
}

.header-top .header-container .menu-icon .icon-circle {
  width: 50px;
  height: 50px;
  border-radius: 32px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 2px solid #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 0.2;
  margin-top: -20px;
  margin-left: -20px;
  cursor: pointer;
  z-index: 4;
}

.header-top .header-container .menu-icon .icon-m {
  position: relative;
  top: 50px;
  left: 45px;
  width: 22px;
}

.header-top .header-container .menu-icon__line {
  height: 2px;
  width: 22px;
  display: block;
  background-color: #ffffff;
  margin-bottom: 4px;
  -webkit-transition: background-color 0.5s ease, -webkit-transform 0.2s ease;
  transition: background-color 0.5s ease, -webkit-transform 0.2s ease;
  -o-transition: transform 0.2s ease, background-color 0.5s ease;
  transition: transform 0.2s ease, background-color 0.5s ease;
  transition: transform 0.2s ease, background-color 0.5s ease,
    -webkit-transform 0.2s ease;
}

.header-top .header-container .menu-icon__line-left {
  width: 11px;
}

.header-top .header-container .menu-icon__line-right {
  width: 11px;
  position: absolute;
  right: 2px;
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  text-align: center;
  -webkit-transition: all 1.5s ease-in-out 2s;
  -o-transition: all 1.5s ease-in-out 2s;
  transition: all 1.5s ease-in-out 2s;
  z-index: 15;
}

.nav:before,
.nav:after {
  content: "";
  position: fixed;
  width: 100%;
  height: 100vh;
  background: black;
  z-index: -1;
  -webkit-transition: -webkit-transform cubic-bezier(0.77, 0, 0.175, 1) 1.3s;
  transition: -webkit-transform cubic-bezier(0.77, 0, 0.175, 1) 1.3s;
  -o-transition: transform cubic-bezier(0.77, 0, 0.175, 1) 1.3s;
  transition: transform cubic-bezier(0.77, 0, 0.175, 1) 1.3s;
  transition: transform cubic-bezier(0.77, 0, 0.175, 1) 1.3s,
    -webkit-transform cubic-bezier(0.77, 0, 0.175, 1) 1.3s;
  -webkit-transform: translateX(-100%) translateY(0%);
  -ms-transform: translateX(-100%) translateY(0%);
  transform: translateX(-100%) translateY(0%);
}

.nav:after {
  background: white;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.nav:before {
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.nav .inner {
  display: table-cell;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin: auto;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.nav .inner .logo {
  position: absolute;
  top: 9px;
  left: 78px;
  pointer-events: auto;
  padding-top: 18px;
}

.nav .inner .logo img {
  width: 225px;
  height: 50px;
}

.nav .inner address {
  margin-top: 50px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  color: #656464;
  font-style: inherit;
  padding-left: 14px;
  padding-right: 15px;
  font-size: 17px;
}

.nav__content {
  position: absolute;
  width: 100%;
  top: 70%;
  height: 100% !important;
  opacity: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.8s ease, -webkit-transform 0.3s ease;
  -o-transition: opacity 0.8s ease, transform 0.3s ease;
  transition: opacity 0.8s ease, transform 0.3s ease;
  transition: opacity 0.8s ease, transform 0.3s ease,
    -webkit-transform 0.3s ease;
}

.nav__list-item {
  position: relative;
  display: block;
  padding: 0 5px;
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-transition: opacity 1s ease, color 0.7s ease,
    -webkit-transform 0.7s ease;
  transition: opacity 1s ease, color 0.7s ease, -webkit-transform 0.7s ease;
  -o-transition: opacity 1s ease, transform 0.7s ease, color 0.7s ease;
  transition: opacity 1s ease, transform 0.7s ease, color 0.7s ease;
  transition: opacity 1s ease, transform 0.7s ease, color 0.7s ease,
    -webkit-transform 0.7s ease;
  margin-right: 25px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 15px;
  cursor: pointer;
}

.nav__list-item a {
  position: relative;
  display: block;
  color: #151515;
}

.nav__list-item a:hover {
  opacity: 0.7;
}

.nav__list-item ul {
  display: block;
  margin-top: 15px;
}

.nav__list-item ul li {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 10px;
}

body.nav-active .menu-icon .icon-circle {
  border: 2px solid #000 !important;
  opacity: 1 !important;
}

body.nav-active .menu-icon__line {
  background-color: #13213c !important;
  -webkit-transform: translateX(0px) rotate(-45deg);
  -ms-transform: translateX(0px) rotate(-45deg);
  transform: translateX(0px) rotate(-45deg);
}

body.nav-active .menu-icon__line-left {
  -webkit-transform: translateX(1px) rotate(45deg);
  -ms-transform: translateX(1px) rotate(45deg);
  transform: translateX(1px) rotate(45deg);
}

body.nav-active .menu-icon__line-right {
  -webkit-transform: translateX(2px) rotate(45deg);
  -ms-transform: translateX(2px) rotate(45deg);
  transform: translateX(2px) rotate(45deg);
  top: 10px;
}

body.nav-active .nav {
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 0.2s ease-in-out 0.5s;
  -o-transition: all 0.2s ease-in-out 0.5s;
  transition: all 0.2s ease-in-out 0.5s;
}

body.nav-active .nav:before,
body.nav-active .nav:after {
  -webkit-transform: translateX(0%) translateY(0%);
  -ms-transform: translateX(0%) translateY(0%);
  transform: translateX(0%) translateY(0%);
}

body.nav-active .nav:after {
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

body.nav-active .nav:before {
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}

body.nav-active .nav .inner {
  opacity: 1;
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

body.nav-active .nav__content {
  opacity: 1;
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

body.nav-active .nav__list-item {
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%);
  -webkit-transition: opacity 1s ease, color 0.7s ease,
    -webkit-transform 0.7s ease;
  transition: opacity 1s ease, color 0.7s ease, -webkit-transform 0.7s ease;
  -o-transition: opacity 1s ease, transform 0.7s ease, color 0.7s ease;
  transition: opacity 1s ease, transform 0.7s ease, color 0.7s ease;
  transition: opacity 1s ease, transform 0.7s ease, color 0.7s ease,
    -webkit-transform 0.7s ease;
}

body.nav-active .nav__list-item:nth-child(0) {
  -webkit-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

body.nav-active .nav__list-item:nth-child(1) {
  -webkit-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

body.nav-active .nav__list-item:nth-child(2) {
  -webkit-transition-delay: 0.7s;
  -o-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

body.nav-active .nav__list-item:nth-child(3) {
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

body.nav-active .nav__list-item:nth-child(4) {
  -webkit-transition-delay: 0.9s;
  -o-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

body.nav-active .nav__list-item:nth-child(5) {
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

body.nav-active .nav__list-item:nth-child(6) {
  -webkit-transition-delay: 1.1s;
  -o-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

body.nav-active .nav__list-item:nth-child(7) {
  -webkit-transition-delay: 1.2s;
  -o-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

body.nav-active .nav__list-item:nth-child(8) {
  -webkit-transition-delay: 1.3s;
  -o-transition-delay: 1.3s;
  transition-delay: 1.3s;
}

body.nav-active .nav__list-item:nth-child(9) {
  -webkit-transition-delay: 1.4s;
  -o-transition-delay: 1.4s;
  transition-delay: 1.4s;
}

body.nav-active .nav__list-item:nth-child(10) {
  -webkit-transition-delay: 1.5s;
  -o-transition-delay: 1.5s;
  transition-delay: 1.5s;
}

/* -------------------------------------------------------
                   Navbar Fixed Top
-------------------------------------------------------- */
.header-stickytop {
  position: fixed;
  height: 60px;
  top: 0;
  background-color: #1b1b1b;
}

.header-stickytop .header-bg {
  background-color: #1b1b1b;
}

.header-stickytop .header-bg img.header-bg-img {
  top: 0;
  -webkit-transform: translateY(-25%);
  -ms-transform: translateY(-25%);
  transform: translateY(-25%);
  opacity: 0;
}

.by-now a {
  font-weight: 600;
  text-transform: uppercase;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.9px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin-right: 20px;
  padding-top: 10px;
  padding-bottom: 5px;
}

/* .by-now a:hover {
  background: #fd4145;
} */

/* -------------------------------------------------------
                   Header Blog Page And Work Page
-------------------------------------------------------- */
.header-single {
  position: relative;
  max-height: 100vh;
  border-bottom: 1px solid #171718;
  min-height: 0;
}

.header-single .caption {
  text-align: center;
}

.header-single .caption .title-header {
  color: #fff;
  font-size: 60px;
  letter-spacing: 2px;
  font-family: "Playfair Display", serif;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.header-single .caption .des-header {
  position: relative;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 400;
}

.header-single .caption .des-header:before {
  border-bottom: 4px solid #fd4145;
  top: -30px;
  content: "";
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 155px;
}

/* -------------------------------------------------------
                   Header Project And Header About
-------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .header-project {
    height: 50vh !important;
  }
}
.header-project {
  position: relative;
  overflow: hidden;
  height: 75vh;
}
.social-img {
  width: 15px;
  margin-right: 20px;
  padding-top: 10px;
  padding-bottom: 5px;
}
.header-project video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  background-size: cover;
}

.header-project .content {
  position: relative;
  width: 100%;
}

.header-project .content h3 {
  font-size: 16px;
  color: #fff;
  letter-spacing: 4px;
}

.header-project .content :is(h1, h2) {
  color: #fff;
  font-size: 7vw;
  line-height: 1.3em;
  letter-spacing: 2px;
  font-family: "Playfair Display", serif;
}

.header-project .content :is(h1, h2) span {
  color: transparent;
  -webkit-text-stroke-color: #fff;
  -webkit-text-stroke-width: 1px;
}

.header-not .content__title {
  font-size: 9vw !important;
  font-family: "Poppins", sans-serif !important;
  margin-bottom: 30px;
}

.header-not .content__title span {
  -webkit-text-stroke-width: 2px !important;
}

.header-not .des-header {
  position: relative;
  color: #fff;
  font-weight: 400;
  letter-spacing: 2px;
}

.header-not .des-header::before {
  border-bottom: 4px solid #fd4145;
  top: -30px;
  content: "";
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 155px;
}

/* -------------------------------------------------------
                   Slider
-------------------------------------------------------- */
.dsn-grid-slider {
  position: relative;
  height: 100vh;
  width: 100%;
  overflow: hidden !important;
}

.dsn-grid-slider .dsn-progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.dsn-grid-slider .dsn-progress-circle {
  position: fixed;
  pointer-events: none;
  left: 0;
  top: 0;
  z-index: 999999999;
  width: 40px;
  height: 40px;
  margin-top: -5px;
  margin-left: -5px;
  opacity: 0.6;
}

.dsn-grid-slider .dsn-progress-circle .icon__fixed {
  position: absolute;
  width: 100%;
  height: 100%;
  padding-top: 10px;
  padding-left: 10px;
  color: #fff;
}

.dsn-grid-slider .dsn-progress-circle svg {
  stroke-width: 4px;
}

.dsn-grid-slider .dsn-grid-content {
  max-height: 100vh;
  width: 100%;
  overflow: hidden !important;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-prev {
  position: relative;
  width: calc(10% + 30px);
  overflow: hidden;
  height: 70vh;
  margin-top: 15vh;
  z-index: 11;
  -webkit-transition: 0.7s ease-in-out;
  -moz-transition: 0.7s ease-in-out;
  -ms-transition: 0.7s ease-in-out;
  -o-transition: 0.7s ease-in-out;
  transition: 0.7s ease-in-out;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  cursor: -webkit-grab;
  cursor: grab;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-prev:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-prev .img {
  -webkit-transition: 5s ease-in;
  -moz-transition: 5s ease-in;
  -ms-transition: 5s ease-in;
  -o-transition: 5s ease-in;
  transition: 5s ease-in;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-prev:hover {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-prev .slick-list,
.dsn-grid-slider .dsn-grid-content .dsn-grid-prev .slick-track {
  height: 100%;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-info {
  position: absolute;
  display: block;
  width: calc(50% - 15px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  left: calc(10% + 60px);
  padding-left: 30px;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-info .dsn-grid-info-wrapper {
  display: none;
}

.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .dsn-grid-info-wrapper.dsn-slider-active {
  display: block;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-info .slide-content__kicker {
  overflow: hidden;
  opacity: 0.7;
  color: #fff;
  font-family: "Poppins", sans-serif;
  margin-bottom: 30px;
  font-weight: 400;
  letter-spacing: 2px;
  font-size: 12px;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-info h2 {
  max-width: unset;
  color: #fff;
  -webkit-text-stroke: 1px #fff;
  -webkit-text-fill-color: #fff;
  -ms-transform-origin: 0 50%;
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  font-size: 5vw;
  line-height: 1;
  margin-bottom: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  width: unset;
  cursor: pointer;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-info .chars__wrapper {
  margin-bottom: 0;
  padding-bottom: 0;
  padding-top: 0;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-info .slide-meta {
  overflow: hidden;
  width: 80vw;
  margin-bottom: 35px !important;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-info .slide-meta .slide-meta__item,
.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item {
  display: inline-block;
  margin-right: 15px;
  padding-left: 10px;
  border-left: 4px solid rgba(255, 255, 255, 0.1);
}
.slide-meta__item {
  width: 60%;
}

.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .slide-meta__title,
.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .single-meta__title,
.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .slide-meta__title,
.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .single-meta__title {
  display: block;
  margin-bottom: 5px;
  font-size: 10px;
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
}

.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .slide-meta__value,
.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .single-meta__value,
.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .slide-meta__value,
.dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .single-meta__value {
  font-size: 17px;
  letter-spacing: 1px;
  color: #fff;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current {
  position: absolute;
  width: 65%;
  height: calc(100% - 0px);
  top: 0;
  left: 35%;
  overflow: hidden;
  padding-top: 0;
  background-color: #1b1b1b;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .slick-list,
.dsn-grid-slider .dsn-grid-content .dsn-grid-current .slick-track {
  height: 100%;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .dsn-grid-slider-effect {
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  width: 100%;
  height: 100%;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .dsn-grid-hover-label,
.dsn-grid-slider .dsn-grid-content .dsn-grid-current .dsn-grid-hover-pic {
  position: absolute;
  left: 100%;
  width: 100%;
  height: 100%;
  background-color: #1b1b1b;
  z-index: 9;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .dsn-grid-hover-pic {
  display: none;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .slick-slider {
  position: absolute;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .slick-arrow {
  position: absolute;
  right: 30px;
  top: 50%;
  color: #fff;
  font-size: 16px;
  -webkit-transform-origin: 0% 50%;
  -ms-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .slick-prev {
  top: 40% !important;
  z-index: 1;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-current .slick-prev:after {
  content: "";
  display: block;
  height: 1px;
  width: 20px;
  -webkit-transform: rotate(35deg);
  -ms-transform: rotate(35deg);
  transform: rotate(35deg);
  background: #e2e2e2;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1),
    -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: absolute;
  bottom: 2px;
  left: 45px;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-nav {
  position: relative;
  margin: 15px 0;
  left: 200px;
  text-align: center;
  bottom: 0;
  display: inline-block;
  line-height: 40px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
}

.dsn-grid-slider .dsn-grid-content .dsn-grid-nav .dsn-grid-spacing-count {
  width: 40px;
  height: 1px;
  background-color: #fff;
  -webkit-transition: opacity 0.2s ease-in-out 0.2s;
  -o-transition: opacity 0.2s ease-in-out 0.2s;
  transition: opacity 0.2s ease-in-out 0.2s;
  margin: 6px 15px;
}

.dsn-grid-slider .dsn-grid-content.dsn-demo .dsn-grid-prev {
  display: none;
}

.dsn-grid-slider .dsn-grid-content.dsn-demo .dsn-grid-info {
  left: 60px;
}

.dsn-grid-slider .dsn-grid-content.dsn-demo .dsn-grid-current {
  width: 80%;
  left: 20%;
}

.dsn-grid-slider .dsn-grid-content.dsn-demo .dsn-grid-current.dsn-full {
  width: 100%;
  left: 0;
}

.dsn-grid-nav-box {
  position: fixed;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 12;
}

.dsn-grid-nav-box #to-top,
.dsn-grid-nav-box #to-bottom {
  color: #fff;
  font-size: 20px;
  position: relative;
  cursor: pointer;
}

.dsn-grid-nav-box #to-top svg,
.dsn-grid-nav-box #to-bottom svg {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}

.dsn-grid-nav-box #to-top svg .circle,
.dsn-grid-nav-box #to-bottom svg .circle {
  stroke-width: 1px;
  stroke-dashoffset: 113.113px;
  stroke-dasharray: 113.113px;
  opacity: 0;
  fill: #fff;
}

.dsn-grid-nav-box #to-top svg .path,
.dsn-grid-nav-box #to-bottom svg .path {
  fill: none;
  stroke: #fff;
  stroke-miterlimit: 10;
  stroke-width: 1.8px;
  -webkit-transition: opacity 0.3s, fill 0.3s, stroke 0.3s;
  -o-transition: opacity 0.3s, fill 0.3s, stroke 0.3s;
  transition: opacity 0.3s, fill 0.3s, stroke 0.3s;
}

.dsn-grid-nav-box .to_top,
.dsn-grid-nav-box .to_bottom {
  display: block;
  position: relative;
  height: 50px;
  width: 50px;
  margin: auto;
  z-index: 15;
}

.dsn-grid-nav-box .to_top .icon-circle,
.dsn-grid-nav-box .to_bottom .icon-circle {
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
  cursor: pointer;
  z-index: 4;
}

.dsn-grid-nav-box .to_top .icon-circle:hover,
.dsn-grid-nav-box .to_bottom .icon-circle:hover {
  border: 1px solid #fff;
  border-radius: 50%;
  opacity: 0.3;
}

.dsn-grid-nav-box .to_top a,
.dsn-grid-nav-box .to_bottom a {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  z-index: 22;
}

.dsn-grid-nav-box .dsn-grid-num {
  display: block;
  position: relative;
  height: 50px;
  width: 50px;
  margin: auto;
  z-index: 15;
}

.dsn-grid-nav-box .dsn-grid-num a {
  position: relative;
  width: 100%;
  height: 100%;
  left: 0;
  text-align: center;
  z-index: 22;
  font-family: "Fjalla One", sans-serif;
  letter-spacing: 1px;
  color: #fff;
}

.dsn-grid-nav-box .dsn-grid-num a span {
  width: 100%;
  height: 100%;
  font-size: 18px;
  line-height: 50px;
}

.chars__wrapper {
  display: inline-block;
  overflow: visible;
  padding-bottom: 5px;
  padding-top: 5px;
}

.word__wrapper {
  position: relative;
  display: inline-block;
  margin-bottom: 10px;
}

/* -------------------------------------------------------
                   Project
-------------------------------------------------------- */
.intro {
  position: relative;
  overflow: hidden;
}

.intro .info-title {
  position: relative;
}

.intro .info-title h1 {
  font-size: 40px;
  font-weight: 300;
  line-height: 52px;
  letter-spacing: 2px;
  color: #fff;
}

.intro .intro-description {
  position: relative;
  margin-top: 10px;
}

.intro .intro-description h5 {
  font-size: 18px;
  font-weight: 400;
  font-family: "Playfair Display", serif;
  color: #fff;
  margin-bottom: 30px;
}

.intro .intro-description ul {
  margin-top: 30px;
}

.intro .intro-description ul li {
  position: relative;
  display: inline-block;
  padding-right: 50px;
}

.intro .intro-description ul li span {
  display: block;
  color: #fff;
}

.intro .intro-description ul li .title-cat {
  font-family: "Playfair Display", serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.intro .intro-description ul li .info {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 400;
  opacity: 0.8;
}

a.single-image {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.content-block {
  position: relative;
}

.content-block .dsn-image {
  position: relative;
}

.content-block .box-im {
  height: 100%;
}

.content-block .dsn-video {
  position: relative;
}

.content-block .dsn-video .play-button {
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-65%, -50%);
  -ms-transform: translate(-65%, -50%);
  transform: translate(-65%, -50%);
  cursor: none;
  z-index: 5;
}

.content-block .dsn-video .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 4;
}

.content-block .dsn-video .play-btn i {
  color: #fff;
  font-size: 40px;
}

.content-block .dsn-video .play-circles {
  display: block;
  width: 100%;
  height: 100%;
}

.box-desc :is(h2, h3) {
  color: #fff;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 1px;
  font-weight: 300;
}

.box-desc p {
  max-width: 698px;
  margin: auto;
}

.proj-container {
  position: relative;
  padding-top: 50px;
}

.proj-container .box-im {
  position: relative;
  padding-left: 15%;
  padding-right: 15%;
}

.proj-container .box-im:last-child {
  margin-top: 100px;
}

.proj-container .box-im .image-zoom {
  width: 85%;
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: bottom;
}

.proj-container .box-im .image-zoom img {
  max-width: 100%;
  -webkit-transition: all 750ms ease-in-out;
  -o-transition: all 750ms ease-in-out;
  transition: all 750ms ease-in-out;
}

.proj-container .box-im .caption {
  margin: 0px;
  vertical-align: top;
  right: calc(15% - -15px);
  bottom: 0px;
  padding-top: 10px;
  display: inline-block;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
  color: #fff;
  letter-spacing: 1px;
  font-size: 28px;
  position: absolute;
}

.p-img .col-lg-6:nth-child(even) {
  margin-top: 100px;
}

.proj-slider {
  position: relative;
}

.proj-slider .item-project {
  position: relative;
}

.proj-slider .item-project img {
  width: 100%;
  padding-left: 10%;
}

.proj-slider .slick-list {
  padding: 0 20% 0 0;
}

.dsn-quote {
  position: relative;
  overflow: hidden;
}

.dsn-quote .quote-content {
  position: relative;
  text-align: center;
}

.dsn-quote .quote-content .icon--quote {
  width: 55px;
  height: 55px;
  display: inline-block;
  vertical-align: middle;
}

.dsn-quote .quote-content .icon--quote .ring {
  fill: #5f6063;
}

.dsn-quote .quote-content .icon--quote .marks {
  fill: #fff;
}

.dsn-quote .quote-content p {
  color: #fff;
  font-size: 24px;
  line-height: 32px;
  margin: 30px 0 30px;
}

.dsn-quote .quote-content h5 {
  color: #fff;
  font-family: "Playfair Display", serif;
  font-weight: 400;
}

.project-next-box {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(204, 204, 204, 0.05);
}

.project-next-box .next-project {
  text-align: center;
}

.project-next-box .next-project h4 {
  font-size: 28px;
  color: #fff;
  font-weight: 100;
}

.project-next-box .next-project a {
  -webkit-transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
}

.project-next-box .next-project a .project-next-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0.05;
  -webkit-transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  -webkit-clip-path: circle(33.2% at 50% 50%);
  clip-path: circle(33.2% at 50% 50%);
}

.project-next-box .next-project a .next-title {
  position: relative;
  font-size: 5vw;
  line-height: 1.3em;
  display: inline-block;
  color: #fff;

  font-weight: 600;
  -webkit-transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
}

.project-next-box .next-project a .next-title:hover {
  z-index: 33;
}

.project-next-box .next-project a:hover .project-next-bg {
  opacity: 0.3;
  -webkit-clip-path: circle(47.6% at 50% 50%);
  clip-path: circle(47.6% at 50% 50%);
}

.project-next-box .next-project a:hover .next-title {
  z-index: 1;
  color: #47afbb;
}
.intro-about {
  margin-bottom: 0 !important;
}
section.about {
  height: 85vh !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.about-container {
  margin-top: 3.5rem;
}

.content__title {
  /* -webkit-animation-name: glitch-anim-text;
  animation-name: glitch-anim-text;
  -webkit-animation-duration: var(--time-anim);
  animation-duration: var(--time-anim);
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: calc(var(--delay-anim) + var(--time-anim) * 0.2);
  animation-delay: calc(var(--delay-anim) + var(--time-anim) * 0.2); */
  transition: transform 1s ease-out;
}
#phone-link img {
  width: 15px;
  margin-right: 10px;
}
#phone-link {
  position: relative;
}

#footer {
  position: fixed;
  left: 50px;
  bottom: 30px;
  font-size: 11px;
  color: #fff;
  z-index: 99999;
  font-family: "Montserrat";
  letter-spacing: 0.5px;
}
#footer .footer-light-text {
  font-weight: 100;
}

.dsn-grid-color {
  --color-text: #aaa;
  --color-bg: #000;
  --color-link: #1c1cc9;
  --color-link-hover: #aaa;
  --color-info: #1c1cc9;
  --glitch-width: 100vw;
  --glitch-height: 100vh;
  --gap-horizontal: 10px;
  --gap-vertical: 5px;
  --color-title: #fff;
  /* --time-anim: 4s;
  --delay-anim: 2s; */
  --blend-mode-1: none;
  --blend-mode-2: none;
  --blend-mode-3: none;
  --blend-mode-4: overlay;
  --blend-mode-5: overlay;
  --blend-color-1: transparent;
  --blend-color-2: transparent;
  --blend-color-3: transparent;
  --blend-color-4: #fb909a;
  --blend-color-5: #1c1cc9;
}

/* Glitch styles */
.glitch {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--glitch-width);
  height: var(--glitch-height);
  overflow: hidden;
  opacity: 0.3;
}

.glitch__img {
  position: absolute;
  top: calc(-1 * var(--gap-vertical));
  left: calc(-1 * var(--gap-horizontal));
  width: calc(100% + var(--gap-horizontal) * 2);
  height: calc(100% + var(--gap-vertical) * 2);
  background-color: var(--blend-color-1);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background-blend-mode: var(--blend-mode-1);
}

.glitch__img:nth-child(n + 2) {
  opacity: 0;
}

.imgloaded .glitch__img:nth-child(n + 2) {
  -webkit-animation-duration: var(--time-anim);
  animation-duration: var(--time-anim);
  -webkit-animation-delay: var(--delay-anim);
  animation-delay: var(--delay-anim);
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.imgloaded .glitch__img:nth-child(2) {
  background-color: var(--blend-color-2);
  background-blend-mode: var(--blend-mode-2);
  -webkit-animation-name: glitch-anim-1;
  animation-name: glitch-anim-1;
}

.imgloaded .glitch__img:nth-child(3) {
  background-color: var(--blend-color-3);
  background-blend-mode: var(--blend-mode-3);
  -webkit-animation-name: glitch-anim-2;
  animation-name: glitch-anim-2;
}

.imgloaded .glitch__img:nth-child(4) {
  background-color: var(--blend-color-4);
  background-blend-mode: var(--blend-mode-4);
  -webkit-animation-name: glitch-anim-3;
  animation-name: glitch-anim-3;
}

.imgloaded .glitch__img:nth-child(5) {
  background-color: var(--blend-color-5);
  background-blend-mode: var(--blend-mode-5);
  -webkit-animation-name: glitch-anim-flash;
  animation-name: glitch-anim-flash;
}

/* Animations */
@-webkit-keyframes glitch-anim-1 {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(var(--gap-horizontal), 0, 0);
    transform: translate3d(var(--gap-horizontal), 0, 0);
    -webkit-clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%);
    clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%);
  }
  2% {
    -webkit-clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%);
    clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%);
  }
  4% {
    -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%);
    clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%);
  }
  6% {
    -webkit-clip-path: polygon(0 1%, 100% 1%, 100% 2%, 0 2%);
    clip-path: polygon(0 1%, 100% 1%, 100% 2%, 0 2%);
  }
  8% {
    -webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
    clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
  }
  10% {
    -webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
    clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
  }
  12% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
    clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
  }
  14% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
    clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
  }
  16% {
    -webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
    clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
  }
  18% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
    clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
  }
  20% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
    clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
  }
  21.9% {
    opacity: 1;
    -webkit-transform: translate3d(var(--gap-horizontal), 0, 0);
    transform: translate3d(var(--gap-horizontal), 0, 0);
  }
  22%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}
@keyframes glitch-anim-1 {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(var(--gap-horizontal), 0, 0);
    transform: translate3d(var(--gap-horizontal), 0, 0);
    -webkit-clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%);
    clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%);
  }
  2% {
    -webkit-clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%);
    clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%);
  }
  4% {
    -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%);
    clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%);
  }
  6% {
    -webkit-clip-path: polygon(0 1%, 100% 1%, 100% 2%, 0 2%);
    clip-path: polygon(0 1%, 100% 1%, 100% 2%, 0 2%);
  }
  8% {
    -webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
    clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
  }
  10% {
    -webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
    clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
  }
  12% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
    clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
  }
  14% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
    clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
  }
  16% {
    -webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
    clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
  }
  18% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
    clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
  }
  20% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
    clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
  }
  21.9% {
    opacity: 1;
    -webkit-transform: translate3d(var(--gap-horizontal), 0, 0);
    transform: translate3d(var(--gap-horizontal), 0, 0);
  }
  22%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}

@-webkit-keyframes glitch-anim-2 {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
    -webkit-clip-path: polygon(0 25%, 100% 25%, 100% 30%, 0 30%);
    clip-path: polygon(0 25%, 100% 25%, 100% 30%, 0 30%);
  }
  3% {
    -webkit-clip-path: polygon(0 3%, 100% 3%, 100% 3%, 0 3%);
    clip-path: polygon(0 3%, 100% 3%, 100% 3%, 0 3%);
  }
  5% {
    -webkit-clip-path: polygon(0 5%, 100% 5%, 100% 20%, 0 20%);
    clip-path: polygon(0 5%, 100% 5%, 100% 20%, 0 20%);
  }
  7% {
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
    clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
  }
  9% {
    -webkit-clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
    clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
  }
  11% {
    -webkit-clip-path: polygon(0 52%, 100% 52%, 100% 59%, 0 59%);
    clip-path: polygon(0 52%, 100% 52%, 100% 59%, 0 59%);
  }
  13% {
    -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
    clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
  }
  15% {
    -webkit-clip-path: polygon(0 75%, 100% 75%, 100% 75%, 0 75%);
    clip-path: polygon(0 75%, 100% 75%, 100% 75%, 0 75%);
  }
  17% {
    -webkit-clip-path: polygon(0 65%, 100% 65%, 100% 40%, 0 40%);
    clip-path: polygon(0 65%, 100% 65%, 100% 40%, 0 40%);
  }
  19% {
    -webkit-clip-path: polygon(0 45%, 100% 45%, 100% 50%, 0 50%);
    clip-path: polygon(0 45%, 100% 45%, 100% 50%, 0 50%);
  }
  20% {
    -webkit-clip-path: polygon(0 14%, 100% 14%, 100% 33%, 0 33%);
    clip-path: polygon(0 14%, 100% 14%, 100% 33%, 0 33%);
  }
  21.9% {
    opacity: 1;
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
  }
  22%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}

@keyframes glitch-anim-2 {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
    -webkit-clip-path: polygon(0 25%, 100% 25%, 100% 30%, 0 30%);
    clip-path: polygon(0 25%, 100% 25%, 100% 30%, 0 30%);
  }
  3% {
    -webkit-clip-path: polygon(0 3%, 100% 3%, 100% 3%, 0 3%);
    clip-path: polygon(0 3%, 100% 3%, 100% 3%, 0 3%);
  }
  5% {
    -webkit-clip-path: polygon(0 5%, 100% 5%, 100% 20%, 0 20%);
    clip-path: polygon(0 5%, 100% 5%, 100% 20%, 0 20%);
  }
  7% {
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
    clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
  }
  9% {
    -webkit-clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
    clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
  }
  11% {
    -webkit-clip-path: polygon(0 52%, 100% 52%, 100% 59%, 0 59%);
    clip-path: polygon(0 52%, 100% 52%, 100% 59%, 0 59%);
  }
  13% {
    -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
    clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
  }
  15% {
    -webkit-clip-path: polygon(0 75%, 100% 75%, 100% 75%, 0 75%);
    clip-path: polygon(0 75%, 100% 75%, 100% 75%, 0 75%);
  }
  17% {
    -webkit-clip-path: polygon(0 65%, 100% 65%, 100% 40%, 0 40%);
    clip-path: polygon(0 65%, 100% 65%, 100% 40%, 0 40%);
  }
  19% {
    -webkit-clip-path: polygon(0 45%, 100% 45%, 100% 50%, 0 50%);
    clip-path: polygon(0 45%, 100% 45%, 100% 50%, 0 50%);
  }
  20% {
    -webkit-clip-path: polygon(0 14%, 100% 14%, 100% 33%, 0 33%);
    clip-path: polygon(0 14%, 100% 14%, 100% 33%, 0 33%);
  }
  21.9% {
    opacity: 1;
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
  }
  22%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}

@-webkit-keyframes glitch-anim-3 {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
    transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
    -webkit-clip-path: polygon(0 1%, 100% 1%, 100% 3%, 0 3%);
    clip-path: polygon(0 1%, 100% 1%, 100% 3%, 0 3%);
  }
  1.5% {
    -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 9%, 0 9%);
    clip-path: polygon(0 10%, 100% 10%, 100% 9%, 0 9%);
  }
  2% {
    -webkit-clip-path: polygon(0 5%, 100% 5%, 100% 6%, 0 6%);
    clip-path: polygon(0 5%, 100% 5%, 100% 6%, 0 6%);
  }
  2.5% {
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
    clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
  }
  3% {
    -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
    clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
  }
  5% {
    -webkit-clip-path: polygon(0 30%, 100% 30%, 100% 25%, 0 25%);
    clip-path: polygon(0 30%, 100% 30%, 100% 25%, 0 25%);
  }
  5.5% {
    -webkit-clip-path: polygon(0 15%, 100% 15%, 100% 16%, 0 16%);
    clip-path: polygon(0 15%, 100% 15%, 100% 16%, 0 16%);
  }
  7% {
    -webkit-clip-path: polygon(0 40%, 100% 40%, 100% 39%, 0 39%);
    clip-path: polygon(0 40%, 100% 40%, 100% 39%, 0 39%);
  }
  8% {
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
    clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
  }
  9% {
    -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 55%, 0 55%);
    clip-path: polygon(0 60%, 100% 60%, 100% 55%, 0 55%);
  }
  10.5% {
    -webkit-clip-path: polygon(0 30%, 100% 30%, 100% 31%, 0 31%);
    clip-path: polygon(0 30%, 100% 30%, 100% 31%, 0 31%);
  }
  11% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 69%, 0 69%);
    clip-path: polygon(0 70%, 100% 70%, 100% 69%, 0 69%);
  }
  13% {
    -webkit-clip-path: polygon(0 40%, 100% 40%, 100% 41%, 0 41%);
    clip-path: polygon(0 40%, 100% 40%, 100% 41%, 0 41%);
  }
  14% {
    -webkit-clip-path: polygon(0 80%, 100% 80%, 100% 75%, 0 75%);
    clip-path: polygon(0 80%, 100% 80%, 100% 75%, 0 75%);
  }
  14.5% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 51%, 0 51%);
    clip-path: polygon(0 50%, 100% 50%, 100% 51%, 0 51%);
  }
  15% {
    -webkit-clip-path: polygon(0 90%, 100% 90%, 100% 90%, 0 90%);
    clip-path: polygon(0 90%, 100% 90%, 100% 90%, 0 90%);
  }
  16% {
    -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
    clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
  }
  18% {
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 99%, 0 99%);
    clip-path: polygon(0 100%, 100% 100%, 100% 99%, 0 99%);
  }
  20% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 71%, 0 71%);
    clip-path: polygon(0 70%, 100% 70%, 100% 71%, 0 71%);
  }
  21.9% {
    opacity: 1;
    -webkit-transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
    transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
  }
  22%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}

@keyframes glitch-anim-3 {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
    transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
    -webkit-clip-path: polygon(0 1%, 100% 1%, 100% 3%, 0 3%);
    clip-path: polygon(0 1%, 100% 1%, 100% 3%, 0 3%);
  }
  1.5% {
    -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 9%, 0 9%);
    clip-path: polygon(0 10%, 100% 10%, 100% 9%, 0 9%);
  }
  2% {
    -webkit-clip-path: polygon(0 5%, 100% 5%, 100% 6%, 0 6%);
    clip-path: polygon(0 5%, 100% 5%, 100% 6%, 0 6%);
  }
  2.5% {
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
    clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
  }
  3% {
    -webkit-clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
    clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
  }
  5% {
    -webkit-clip-path: polygon(0 30%, 100% 30%, 100% 25%, 0 25%);
    clip-path: polygon(0 30%, 100% 30%, 100% 25%, 0 25%);
  }
  5.5% {
    -webkit-clip-path: polygon(0 15%, 100% 15%, 100% 16%, 0 16%);
    clip-path: polygon(0 15%, 100% 15%, 100% 16%, 0 16%);
  }
  7% {
    -webkit-clip-path: polygon(0 40%, 100% 40%, 100% 39%, 0 39%);
    clip-path: polygon(0 40%, 100% 40%, 100% 39%, 0 39%);
  }
  8% {
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
    clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
  }
  9% {
    -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 55%, 0 55%);
    clip-path: polygon(0 60%, 100% 60%, 100% 55%, 0 55%);
  }
  10.5% {
    -webkit-clip-path: polygon(0 30%, 100% 30%, 100% 31%, 0 31%);
    clip-path: polygon(0 30%, 100% 30%, 100% 31%, 0 31%);
  }
  11% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 69%, 0 69%);
    clip-path: polygon(0 70%, 100% 70%, 100% 69%, 0 69%);
  }
  13% {
    -webkit-clip-path: polygon(0 40%, 100% 40%, 100% 41%, 0 41%);
    clip-path: polygon(0 40%, 100% 40%, 100% 41%, 0 41%);
  }
  14% {
    -webkit-clip-path: polygon(0 80%, 100% 80%, 100% 75%, 0 75%);
    clip-path: polygon(0 80%, 100% 80%, 100% 75%, 0 75%);
  }
  14.5% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 51%, 0 51%);
    clip-path: polygon(0 50%, 100% 50%, 100% 51%, 0 51%);
  }
  15% {
    -webkit-clip-path: polygon(0 90%, 100% 90%, 100% 90%, 0 90%);
    clip-path: polygon(0 90%, 100% 90%, 100% 90%, 0 90%);
  }
  16% {
    -webkit-clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
    clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
  }
  18% {
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 99%, 0 99%);
    clip-path: polygon(0 100%, 100% 100%, 100% 99%, 0 99%);
  }
  20% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 71%, 0 71%);
    clip-path: polygon(0 70%, 100% 70%, 100% 71%, 0 71%);
  }
  21.9% {
    opacity: 1;
    -webkit-transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
    transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0)
      scale3d(-1, -1, 1);
  }
  22%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
}

@-webkit-keyframes glitch-anim-text {
  0% {
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
    clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
  }
  2% {
    -webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
    clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
  }
  4% {
    -webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
    clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
  }
  5% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
    clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
  }
  6% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
    clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
  }
  7% {
    -webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
    clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
  }
  8% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
    clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
  }
  9% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
    clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
  }
  9.9% {
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
  }
  10%,
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}

@keyframes glitch-anim-text {
  0% {
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
    -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
    clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
  }
  2% {
    -webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
    clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
  }
  4% {
    -webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
    clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
  }
  5% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
    clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
  }
  6% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
    clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
  }
  7% {
    -webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
    clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
  }
  8% {
    -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
    clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
  }
  9% {
    -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
    clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
  }
  9.9% {
    -webkit-transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
    transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0)
      scale3d(-1, -1, 1);
  }
  10%,
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}

/* Flash */
@-webkit-keyframes glitch-anim-flash {
  0%,
  5% {
    opacity: 0.2;
    -webkit-transform: translate3d(
      var(--gap-horizontal),
      var(--gap-vertical),
      0
    );
    transform: translate3d(var(--gap-horizontal), var(--gap-vertical), 0);
  }
  5.5%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes glitch-anim-flash {
  0%,
  5% {
    opacity: 0.2;
    -webkit-transform: translate3d(
      var(--gap-horizontal),
      var(--gap-vertical),
      0
    );
    transform: translate3d(var(--gap-horizontal), var(--gap-vertical), 0);
  }
  5.5%,
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/*-----------------------------------------------------------
    All Project Page
-------------------------------------------------------------*/
.proj-full {
  position: relative;
}

.proj-full .content {
  position: relative;
  text-align: center;
}

.proj-full .content .block__link {
  border-bottom: 1px solid #171718;
  margin-bottom: 60px;
  padding-bottom: 60px;
  position: relative;
  display: inline-block;
  text-transform: uppercase;
  color: #fff;
  -webkit-transition: color 0.25s ease;
  -moz-transition: color 0.25s ease;
  -o-transition: color 0.25s ease;
  transition: color 0.25s ease;
  line-height: 1;
}

.proj-full .content .block__link:last-child {
  margin-bottom: 0;
}

.proj-full .content .block__link span.num {
  overflow: hidden;
  opacity: 0.7;
  color: #fff;
  font-family: "Poppins", sans-serif;
  background-color: #171718;
  padding: 8px;
  display: block;
  margin-bottom: 20px;
  font-weight: 400;
  letter-spacing: 2px;
  font-size: 12px;
}

.proj-full .content .block__link h2 {
  max-width: 480px;
  color: #fff;
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  font-size: 5vw;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 20px;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.proj-full .content .block__link h2:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: inherit;
}

.proj-full .hover-reveal {
  position: fixed;
  width: 40vw;
  height: 40vh;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
}

.proj-full .hover-reveal__inner,
.proj-full .hover-reveal__img {
  width: 100%;
  height: 100%;
  position: relative;
}

.proj-full .hover-reveal__deco {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #181314;
}

.proj-full .hover-reveal__img {
  background-size: cover;
  background-position: 50% 50%;
}

.proj-full .button-loadmore {
  position: relative;
  clear: both;
  display: block;
  width: 190px;
  height: 60px;
  padding: 0 35px;
  line-height: 63px;
  text-align: center;
  cursor: pointer;
  border: none;
  overflow: hidden;
  margin: 0 auto;
  color: #bdc1c0;
  background-color: #171718;
  font-size: 14px;
  font-weight: 400;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.proj-full .button-loadmore:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: #fff;
}

@-webkit-keyframes loop {
  0% {
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
  50% {
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  51% {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  100% {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
}

@keyframes loop {
  0% {
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
  50% {
    -webkit-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  51% {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  100% {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
  }
}

/* -------------------------------------------------------
                   About
-------------------------------------------------------- */
.hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.hero .content__title {
  -webkit-animation-name: glitch-anim-text;
  animation-name: glitch-anim-text;
  -webkit-animation-duration: var(--time-anim);
  animation-duration: var(--time-anim);
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: calc(var(--delay-anim) + var(--time-anim) * 0.2);
  animation-delay: calc(var(--delay-anim) + var(--time-anim) * 0.2);
}

.hero .content h3 {
  font-size: 16px;
  color: #fff;
  letter-spacing: 4px;
}

.hero .content h2 {
  color: #fff;
  font-size: 7vw;
  line-height: 1.3em;
  letter-spacing: 0;
  font-family: "Playfair Display", serif;
}

.hero .content h2 span {
  color: transparent;
  -webkit-text-stroke-color: #fff;
  -webkit-text-stroke-width: 1px;
}

.hero .c-video video {
  height: 100%;
  width: 100%;
}

/* -------------------------------------------------------
                   About Info
-------------------------------------------------------- */
.about-info {
  position: relative;
}

.about-info.section-padding {
  padding-top: 150px !important;
}

.about-info h4 {
  color: #fff;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.5;
}

.about-info h5 {
  font-size: 18px;
  color: #fff;
}

/* -------------------------------------------------------
                   About Logo
-------------------------------------------------------- */
.dsn-logo {
  position: relative;
  overflow: hidden;
}

.dsn-logo ul {
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}

.dsn-logo ul li {
  -webkit-flex: 1;
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
  -webkit-flex-grow: 0;
  -moz-box-flex: 0;
  -ms-flex-positive: 0;
  -webkit-box-flex: 0;
  flex-grow: 0;
  padding: 30px;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-flex-basis: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  border: 1px solid #171718;
}

.dsn-logo ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: all 0.1s ease 0.1s;
  -o-transition: all 0.1s ease 0.1s;
  transition: all 0.1s ease 0.1s;
}

.dsn-logo ul li img:hover {
  opacity: 0.7;
}

/* -------------------------------------------------------
                   Services
-------------------------------------------------------- */
.services {
  position: relative;
}

.services .title-box-services h3 {
  padding-left: 40px;
  padding-right: 40px;
}

.services .title-box-services:after {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.services .services-item {
  position: relative;
  padding-right: 30px;
  margin-bottom: 40px;
  overflow: hidden;
}

.services .services-item .subtitle {
  margin-bottom: 30px;
  letter-spacing: 1.5px;
  font-size: 16px;
}

.services .services-item .subtitle i {
  color: #fd4145;
  margin-right: 10px;
  vertical-align: middle;
  font-size: 22px;
}

.services .services-item .services-text {
  color: #fff;
  opacity: 0.7;
}

.services .services-item .list {
  font-size: 12px;
  font-weight: 400;
  margin-top: 30px;
}

.services .services-item .list li {
  float: left;
  margin: 0 10px 10px 0;
  padding: 8px 12px;
  border-radius: 2px;
  background-color: #171718;
  color: #f2f2f2;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.services .services-item .list li:first-child {
  float: none;
  opacity: 0.5;
  margin: 0 0 30px 0;
  padding: 0;
  background: none;
  color: #f2f2f2;
  font-family: "Fjalla One", sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.p-intro {
  color: #fff;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 50px;
  max-width: 1100px;
}

.p-intro.p-intro-small {
  font-size: 14px;
}

.p-intro a.strike {
  position: relative;
  display: inline-block;
  color: #f2f2f2;
  font-weight: 700;
}

/* -------------------------------------------------------
                   Blog
-------------------------------------------------------- */
.post-full-content {
  position: relative;
  overflow: hidden;
}

.post-full-content .post-op {
  width: 100%;
  position: relative;
  margin-bottom: 0;
}

.post-full-content .post-op ul {
  list-style: none !important;
  margin-left: 0;
  margin-bottom: 20px !important;
}

.post-full-content .post-op ul li {
  list-style: none !important;
  margin-right: 10px;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-block;
}

.post-full-content .post-op ul li a {
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.post-full-content .post-op ul li a:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: #fff;
}

.post-full-content .post-op ul li i {
  color: #fd4145;
  padding-right: 10px;
}

.post-full-content p {
  margin-bottom: 30px;
  line-height: 1.8;
}

.post-full-content hr {
  margin-top: 30px;
  margin-bottom: 30px;
  border: 0;
  border-top: 1px solid #171718;
}

.post-full-content blockquote {
  border-left: 4px solid #fd4145;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
  padding: 20px 0 20px 35px;
  margin-bottom: 30px;
}

.post-full-content blockquote p {
  margin-bottom: 0 !important;
}

.post-full-content ul {
  position: relative;
  margin: 0 0 30px 20px;
  list-style: disc !important;
}

.post-full-content ul li {
  color: #fff;
  line-height: 20px;
  margin-bottom: 10px;
  list-style: disc !important;
  vertical-align: baseline;
}

.post-full-content ul li p {
  color: #666;
}

.post-tags {
  position: relative;
  margin-bottom: 30px;
}

.post-tags a {
  border: 2px solid #171718;
  display: inline-block;
  font-size: 12px;
  letter-spacing: 1px;
  line-height: 46px;
  margin: 0 6px 6px 0;
  padding: 0 25px;
  text-transform: uppercase;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.post-tags a:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: #fff;
}

.post-author {
  position: relative;
  border-bottom: 1px solid #171718;
  border-top: 1px solid #171718;
  padding: 30px 0 20px 0;
  padding-left: 80px;
  overflow: hidden;
}

.post-author .author-img {
  position: absolute;
  left: 0;
}

.post-author .author-img img {
  border-radius: 100%;
  width: 50px;
  height: 50px;
}

.post-author .author-content h5 {
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: #fff;
  display: block;
  float: left;
  font-weight: 500;
}

.post-author .author-content h5 a {
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.post-author .author-content h5 a:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: #fff;
}

.post-author .author-content p {
  margin-bottom: 20px;
  float: left;
  width: 100%;
}

.post-author .author-social {
  float: right;
  position: relative;
}

.post-author .author-social ul {
  list-style: none !important;
}

.post-author .author-social ul li {
  list-style: none !important;
  float: left;
  position: relative;
  width: 46px;
  height: 46px;
  line-height: 46px;
  border-top: 1px solid #171718;
  border-bottom: 1px solid #171718;
  text-align: center;
}

.post-author .author-social ul li:before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 46px;
  background: #171718;
}

.post-author .author-social ul li:first-child {
  border-left: 1px solid #171718;
}

.post-author .author-social ul li a {
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.post-author .author-social ul li a:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: #fff;
}

.post-comment {
  position: relative;
}

.post-comment .comments-title,
.post-comment .reply-title {
  margin-top: 20px;
  padding-bottom: 20px !important;
  border-bottom: 1px solid #171718;
  padding-bottom: 10px;
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
}

.post-comment .comments-title span,
.post-comment .reply-title span {
  padding: 0 8px;
  font-size: 12px;
}

.post-comment .comment-list {
  position: relative;
  list-style: none !important;
  border-bottom: 1px solid #171718;
  margin-left: 0;
  margin-bottom: 0;
}

.post-comment .comment-list .comment {
  padding-left: 20px;
  list-style: none !important;
}

.post-comment .comment-list .comment .comment-body {
  position: relative;
  margin-left: 80px;
  padding-top: 30px;
}

.post-comment .comment-list .comment .comment-body .comment-author {
  position: absolute;
  top: 30px;
  left: -76px;
}

.post-comment .comment-list .comment .comment-body .comment-author img {
  border-radius: 100%;
  width: 50px;
  height: 50px;
}

.post-comment .comment-list .comment .comment-body .author-name {
  position: relative;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 2px;
}

.post-comment .comment-list .comment .comment-body .comment-meta,
.post-comment .comment-list .comment .comment-body .comment-meta a {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 12px;
  color: #fff;
  letter-spacing: 1px;
  padding-bottom: 10px;
  opacity: 0.9;
}

.post-comment .comment-list .comment .comment-body a.comment-reply-link {
  font-size: 14px;
  color: #fff;
  opacity: 1;
}

.post-comment .reply-post {
  width: 100%;
  position: relative;
}

.post-comment .reply-post .reply-title {
  padding-bottom: 30px;
  margin-bottom: 5px;
}

.post-comment .reply-post .comment-reply-form {
  margin-top: 30px;
}

.post-comment .reply-post .comment-reply-form {
  position: relative;
}

.post-comment .reply-post .comment-reply-form form {
  width: 100%;
  position: relative;
}

.post-comment .reply-post .comment-reply-form form .form-group {
  position: relative;
  margin-bottom: 30px;
}

.post-comment .reply-post .comment-reply-form form .form-group label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 15px;
}

.post-comment .reply-post .comment-reply-form form .form-group input,
.post-comment .reply-post .comment-reply-form form .form-group textarea {
  width: 100%;
  padding: 12px;
  font-weight: 600;
  background-color: #171718;
  border: none;
}

.post-comment .reply-post .comment-reply-form form .form-group textarea {
  height: 180px;
  max-height: 180px;
}

.post-next-box {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(204, 204, 204, 0.05);
}

.post-next-box .next-post {
  text-align: center;
}

.post-next-box .next-post h4 {
  font-size: 28px;
  color: #fff;
  font-family: "Playfair Display", serif;
}

.post-next-box .next-post a {
  -webkit-transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: all 500ms cubic-bezier(0.4, 0.8, 0.74, 1);
}

.post-next-box .next-post a .post-next-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0.05;
  -webkit-transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: opacity 1.5s cubic-bezier(0.4, 0.8, 0.74, 1),
    clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1),
    -webkit-clip-path 1s cubic-bezier(0.4, 0.8, 0.74, 1);
  -webkit-clip-path: circle(33.2% at 50% 50%);
  clip-path: circle(33.2% at 50% 50%);
}

.post-next-box .next-post a .next-title {
  position: relative;
  font-size: 5vw;
  line-height: 1.3em;
  display: inline-block;
  color: #fff;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  -webkit-transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
  -o-transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
  transition: color 0.8s cubic-bezier(0.4, 0.8, 0.74, 1);
}

.post-next-box .next-post a .next-title:hover {
  z-index: 33;
}

.post-next-box .next-post a:hover .post-next-bg {
  opacity: 0.3;
  -webkit-clip-path: circle(47.6% at 50% 50%);
  clip-path: circle(47.6% at 50% 50%);
}

.post-next-box .next-post a:hover .post-title {
  z-index: 1;
  color: #000;
}

/* -------------------------------------------------------
                   Single Post
-------------------------------------------------------- */
.mean-content {
  position: relative;
  overflow: hidden;
}

.mean-content .content-area {
  position: relative;
}

.mean-content .content-area .post-item {
  position: relative;
  border-bottom: 1px solid #171718;
  margin-bottom: 60px;
  padding-bottom: 60px;
}

.mean-content .content-area .post-item:last-child {
  margin-bottom: 0;
}

.mean-content .content-area .post-item .post-format {
  position: relative;
}

.mean-content .content-area .post-item .post-format .post-thumbnail {
  margin-bottom: 30px;
}

.mean-content .content-area .post-item .entry-header .post-meta li {
  display: inline;
  font-family: "Fjalla One", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2em;
  list-style: outside none none;
  margin-left: 0;
  padding-left: 0;
  position: relative;
  text-transform: uppercase;
}

.mean-content .content-area .post-item .entry-header .title-box {
  padding-bottom: 0;
  margin-bottom: 30px;
  line-height: 1.7;
}

.mean-content .content-area .post-item .entry-header .title-box a {
  color: #fff;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.mean-content .content-area .post-item .entry-header .title-box a:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: #fff;
}

.mean-content .content-area .post-item .cats-links {
  text-transform: uppercase;
  border: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2em;
  padding: 30px 0;
  display: inline-block;
  width: 100%;
}

.mean-content .content-area .post-item .cats-links a {
  color: #fff;
}

.mean-content .content-area .button-loadmore {
  position: relative;
  clear: both;
  display: block;
  width: 190px;
  height: 60px;
  padding: 0 35px;
  line-height: 63px;
  text-align: center;
  cursor: pointer;
  border: none;
  overflow: hidden;
  margin: 0 auto;
  color: #bdc1c0;
  background-color: #171718;
  font-size: 14px;
  font-weight: 400;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.mean-content .content-area .button-loadmore:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: #fff;
}

.sidebar-single {
  position: relative;
  overflow: hidden;
  padding-left: 30px;
  padding-right: 30px;
}

.sidebar-single .widget {
  position: relative;
  margin: 0 0 50px;
  width: 100%;
  margin-bottom: 50px;
  border-bottom: 1px solid #171718;
  padding-bottom: 50px;
}

.sidebar-single .widget .title-s {
  position: relative;
  display: block;
  color: #fff;
  font-size: 18px;
  letter-spacing: 2px;
  background-color: #1b1b1b;
  z-index: 2;
  padding-bottom: 10px;
  margin-bottom: 30px;
}

.sidebar-single .widget .title-s:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #474748;
  height: 3px;
  width: 70px;
  z-index: 1;
}

.sidebar-single .widget-search {
  margin-top: 0;
  padding: 0;
}

.sidebar-single .widget-search form {
  position: relative;
}

.sidebar-single .widget-search form:before {
  position: absolute;
  top: 18px;
  right: 17px;
  font-size: 13px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f002";
  -webkit-font-smoothing: antialiased;
  color: #fff;
  line-height: 0.5;
}

.sidebar-single .widget-search form input {
  padding: 11px 25px 10px 14px;
  width: 100%;
  outline: none;
  font-size: 15px;
  color: #fff;
  font-weight: 500;
  background-color: #171718;
  border: 2px solid #212121;
  border-radius: 0;
  font-weight: 500;
}

.sidebar-single .recent_posts .recent_post {
  display: block;
}

.sidebar-single .recent_posts .recent_post:not(:last-child) {
  margin-bottom: 20px;
}

.sidebar-single .recent_posts .recent_post .post-media {
  display: inline-block;
  text-align: center;
  width: 40%;
  max-width: 100px;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  will-change: transform;
}

.sidebar-single .recent_posts .recent_post .post-media a {
  display: block;
  position: relative;
}

.sidebar-single .recent_posts .recent_post .post-media a img {
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.sidebar-single .recent_posts .recent_post .post_info {
  display: inline-block;
  vertical-align: middle;
  padding-left: 11px;
  padding-top: 10px;
  width: 55%;
  text-align: left;
}

.sidebar-single .recent_posts .recent_post .post_info p {
  margin-top: -2px;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 13px;
  margin-bottom: 10px;
}

.sidebar-single .recent_posts .recent_post .post_info p a {
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.sidebar-single .recent_posts .recent_post .post_info p a:hover {
  color: #fd4145;
}

.sidebar-single .recent_posts .recent_post .post_info h5 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
}

.sidebar-single .recent_posts .recent_post .post_info h5 a {
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.sidebar-single .recent_posts .recent_post .post_info h5 a:hover {
  color: #fd4145;
}

.sidebar-single .widget-newsletter .mail-news .banner {
  padding: 0;
  font-weight: 600;
  position: relative;
  padding-right: 0;
  display: block;
  margin: 0 auto;
}

.sidebar-single .widget-newsletter .mail-news .banner p {
  margin-bottom: 20px;
}

.sidebar-single .widget-newsletter .form {
  position: relative;
}

.sidebar-single .widget-newsletter .form form input {
  padding: 11px 25px 10px 14px;
  width: 100%;
  outline: none;
  font-size: 15px;
  color: #fff;
  font-weight: 500;
  background-color: #171718;
  border: 2px solid #212121;
  border-radius: 0;
  font-weight: 500;
}

.sidebar-single .widget-newsletter .form form .btn {
  background: #171718;
  color: #fff;
  margin-top: 20px;
  font-size: 12.1px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 3px;
  line-height: 14px;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  border-radius: 0;
  margin-top: 20px;
  padding: 17px 41px;
  -webkit-transition: background 0.3s, color 0.3s;
  -moz-transition: background 0.3s, color 0.3s;
  -o-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
}

.sidebar-single .instagram_feed {
  position: relative;
  overflow: hidden;
}

.sidebar-single .instagram_feed .instagram_pics {
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.sidebar-single .instagram_feed li {
  position: relative;
  display: inline-block;
  float: left;
  margin: 0;
  padding: 5px 10px 5px 0;
  width: 33%;
  transition: transform 1s ease, -webkit-transform 1s ease;
}

.sidebar-single .instagram_feed li a {
  position: relative;
  display: block;
  overflow: hidden;
  transition: transform 1s ease, -webkit-transform 1s ease;
}

.sidebar-single .instagram_feed li a img {
  transition: transform 1s ease, -webkit-transform 1s ease;
}

.sidebar-single .instagram_feed li a .instagram-overlay {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background: rgba(31, 33, 35, 0.45);
  color: #fff;
}

.sidebar-single .instagram_feed li a .instagram-overlay .instagram-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  color: #fff;
}

.sidebar-single .instagram_feed li a .instagram-overlay .instagram-meta div {
  color: #fff;
  width: 100%;
  text-align: center;
}

.sidebar-single
  .instagram_feed
  li
  a
  .instagram-overlay
  .instagram-meta
  div
  span {
  margin: 0 5px;
  font-size: 15px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.sidebar-single
  .instagram_feed
  li
  a
  .instagram-overlay
  .instagram-meta
  div
  span
  i {
  font-size: 16px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.sidebar-single .instagram_feed li:hover a img {
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}

.sidebar-single .instagram_feed li:hover a .instagram-overlay {
  opacity: 1;
}

.sidebar-single .instagram_feed li:hover a .instagram-overlay .instagram-meta {
  opacity: 1;
}

.sidebar-single .widget-tag a {
  cursor: pointer;
  padding: 6px 12px;
  background: #171718;
  position: relative;
  font-size: 12px;
  color: #f2f2f2;
  margin: 5px 10px 5px 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #212121;
  transition: transform 1s ease, -webkit-transform 1s ease;
}

.sidebar-single .widget-tag a:hover {
  background-color: #fd4145;
}

.pagination {
  position: relative;
  margin-top: 50px;
}

.pagination .nav-links .page-numbers {
  position: relative;
  padding: 0 25px;
  line-height: 46px;
  letter-spacing: 1px;
  text-align: center;
  border: 2px solid #171718;
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  margin: 0 6px 6px 0;
}

.pagination .nav-links a:hover {
  color: #fff;
}

/* -------------------------------------------------------
                   contact
-------------------------------------------------------- */
.contact-p {
  position: relative;
}

.contact-p.section-padding {
  padding-top: 150px !important;
  padding-bottom: 150px !important;
}

.contact-p .contact-info {
  position: relative;
  padding: 0 30px;
}

.contact-p .contact-info .title-box {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.contact-p .contact-info .title-box:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #13213d;
  height: 3px;
  width: 70px;
  z-index: 1;
}

.contact-p .contact-info .title-box :is(h1, h3) {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 32px;
  letter-spacing: 2px;
  background-color: #1b1b1b;
  z-index: 2;
  padding-right: 15%;
}

.contact-p .contact-info .title-box .lineStagger {
  height: 2px;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  background-color: #168a98;
  width: 100%;
}

.contact-p .contact-info .desc {
  position: relative;
}

.contact-p .contact-info .desc ul li {
  font-weight: 600;
  margin-bottom: 15px;
}

.contact-p .contact-info .desc ul li:last-child {
  margin-bottom: 0;
}

.contact-p .contact-info .info-inf .in-box {
  position: relative;
  margin-top: 30px;
}

.contact-p .contact-info .info-inf .in-box h4 {
  color: #fd4145;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 10px;
}

.contact-p .contact-info .mail-dtls {
  position: relative;
  margin-top: 30px;
}

.contact-p .contact-info .mail-dtls span {
  font-weight: 600;
  color: #fff;
}

.contact-p .contact-info .mail-dtls .maill,
.contact-p .contact-info .mail-dtls .dsn {
  margin-left: 30px;
  font-weight: 600;
}

.contact-p .contact-info .mail-dtls a:hover {
  color: #fd4145;
}

.contact-p .form-box {
  position: relative;
  padding: 0 30px;
}

.contact-p .form-box .help-block {
  color: red;
  margin-top: 15px;
  font-weight: bold;
}

.contact-p .form-box .input__wrap {
  position: relative;
}

.contact-p .form-box .input__wrap .form-group {
  position: relative;
  margin-bottom: 30px;
}

.contact-p .form-box .input__wrap .form-group label {
  display: block;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 15px;
}

.contact-p .form-box .input__wrap .form-group input,
.contact-p .form-box .input__wrap .form-group textarea {
  width: 100%;
  padding: 12px;
  font-weight: 600;
  background-color: #171718;
  color: #fff;
  border: none;
}

.contact-p .form-box .input__wrap .form-group textarea {
  height: 180px;
  max-height: 180px;
}

/* -------------------------------------------------------
                   Footer
-------------------------------------------------------- */
.footer {
  position: relative;
  background-color: #171718;
  z-index: 999;
}

.footer .social-content {
  position: relative;
}

.footer .social-content ul li {
  color: #fff;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  margin-right: 15px;
  padding: 5px;
}

.footer .social-content ul li a {
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear;
  color: inherit;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
}

.footer .social-content ul li a:hover {
  -webkit-mask-image: -webkit-linear-gradient(
    165deg,
    rgba(0, 0, 0, 0.6) 30%,
    #000 50%,
    rgba(0, 0, 0, 0.6) 70%
  );
  -webkit-mask-size: 200%;
  -webkit-animation: shine 1s infinite;
  animation: shine 1s infinite;
  color: inherit;
}
.social-content .mobile {
  width: 100%;
}
.social-content > ul > li.mobile:nth-child(2) {
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .footer .social-content ul li {
    margin-right: 25px;
  }
}

.footer .content-block {
  position: relative;
}

.footer .content-block .column-logo {
  z-index: 1;
}

.footer .content-block .column-logo img {
  width: 140px;
  margin-left: 11px;
  margin-top: -41px;
}

.footer .content-block .column-contact h4 {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  font-family: "Playfair Display", serif;
  letter-spacing: 3px;
  padding-top: 10px;
}

.footer .content-block .column-contact h4 a {
  color: inherit;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear;
}

.footer .content-block .column-contact h4 a:hover {
  color: #fd4145;
}

.footer .content-block .column-content h5 {
  display: inline-block;
  color: #898989;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}

.footer .content-block .column-content h5 span {
  font-weight: 300;
}

.footer .content-block .column-content h5:last-child {
  margin-bottom: 0;
}

.footer .content-block .column-content h5 .love {
  color: #fd4145;
  padding-left: 5px;
  padding-right: 5px;
  font-size: 16px;
  font-weight: bold;
}

.light-v {
  background-color: #fff !important;
}

.light-v .site-header .extend-container .main-navigation ul li,
.light-v .post-comment .comments-title,
.light-v .post-comment .reply-title {
  color: #000;
}

.light-v .dsn-grid-slider .dsn-grid-content .dsn-grid-info h2 {
  color: #000;
  -webkit-text-stroke: 1px #000;
  -webkit-text-fill-color: #000;
}

.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .slide-meta__value,
.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .single-meta__value,
.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .slide-meta__value,
.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .single-meta__value,
.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .slide-meta__title,
.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .slide-meta__item
  .single-meta__title,
.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .slide-meta__title,
.light-v
  .dsn-grid-slider
  .dsn-grid-content
  .dsn-grid-info
  .slide-meta
  .single-meta__item
  .single-meta__title,
.light-v .dsn-grid-nav-box .dsn-grid-num a {
  color: #1b1b1b;
}

.light-v .dsn-grid-nav-box #to-top svg .path,
.light-v .dsn-grid-nav-box #to-bottom svg .path {
  stroke: #000;
}

.light-v .custom-drop-down li {
  color: #fff !important;
}

.light-v .site-header.header-stickytop {
  background-color: #fff;
}

.light-v .header-project .content :is(h1, h2),
.light-v .hero .content h2 {
  color: #000;
}

.light-v .header-project .content :is(h1, h2) span,
.light-v .hero .content h2 span {
  -webkit-text-stroke-color: #000;
}

.light-v .title-box :is(h1, h3),
.light-v .contact-p .contact-info .title-box :is(h1, h3) {
  color: #1b1b1b;
  background: #fff;
}

.light-v .intro .info-title h1,
.light-v .box-desc :is(h2, h3),
.light-v .post-full-content blockquote,
.light-v .post-author .author-content h5 {
  color: #1b1b1b;
}

.light-v .intro .intro-description ul li span,
.light-v .header-single .caption .des-header,
.light-v .header-single .caption .title-header,
.light-v .header-project .content h3,
.light-v .post-full-content ul li {
  color: #3b3b3b;
}

.light-v .about-info h4 {
  color: #1b1b1b;
}

.light-v .about-info h5 {
  color: #3b3b3b;
}

.light-v .about-info p {
  color: #333;
}

.light-v .dsn-quote .quote-content h5,
.light-v .mean-content .content-area .post-item .cats-links a,
.light-v .post-comment .comment-list .comment .comment-body .comment-meta,
.light-v .post-comment .comment-list .comment .comment-body .comment-meta a {
  color: #3b3b3b;
}

.light-v .dsn-quote .quote-content p,
.light-v .post-comment .comment-list .comment .comment-body .author-name,
.light-v .contact-p .contact-info .mail-dtls span {
  color: #333;
}

.light-v .services .p-intro,
.light-v .services .services-text {
  color: #333 !important;
}

.light-v .services .subtitle {
  color: #1b1b1b;
}

.light-v .services .list li {
  color: #333;
  background-color: #fafafa;
}

.light-v .services .list li:first-child {
  color: #000;
  opacity: 0.7;
}

.light-v .dsn-logo ul li,
.light-v .header-single,
.light-v .mean-content .content-area .post-item,
.light-v .post-author,
.light-v .post-comment .comment-list,
.light-v .post-comment .comments-title,
.light-v .post-comment .reply-title,
.light-v .proj-full .content .block__link {
  border-color: #fafafa;
}

.light-v .mean-content .content-area .button-loadmore {
  background-color: #fafafa;
}

.light-v .mean-content .content-area .button-loadmore .progress-text {
  color: #1b1b1b;
}

.light-v .button-loadmore .dsn-load-progress-ajax,
.light-v .proj-full .content .block__link span.num {
  background-color: #fafafa;
  color: #1b1b1b;
}

.light-v .post-comment .reply-post .comment-reply-form form .form-group input,
.light-v
  .post-comment
  .reply-post
  .comment-reply-form
  form
  .form-group
  textarea,
.light-v .contact-p .form-box .input__wrap .form-group input,
.light-v .contact-p .form-box .input__wrap .form-group textarea {
  background-color: #fafafa;
  color: #000;
}

.light-v .contact-section {
  background-color: #fafafa;
}

.light-v .contact-section .bg-layer .line {
  background-color: #d5d5d5;
}

.light-v .contact-section .box h2 {
  color: #000;
}

.light-v .bg-layer .line {
  background-color: #d5d5d5;
}

.light-v .project-next-box .next-project h4 {
  color: #000;
  opacity: 0.8;
}

.light-v .proj-container .box-im .caption,
.light-v .mean-content .content-area .post-item .entry-header .title-box a,
.light-v .post-next-box .next-post a .next-title,
.light-v .proj-full .content .block__link h2 {
  color: #000;
}

.light-v .project-next-box .next-project a .next-title {
  color: #000;
}

.light-v .custom-btn__label {
  color: #000;
}

.light-v .custom-btn__icon-small svg path,
.light-v .custom-btn__icon-small svg polygon,
.light-v .dsn-quote .quote-content .icon--quote .marks {
  fill: #000;
}

.light-v .custom-btn__icon-circle svg path {
  stroke: #000;
  fill: none;
}

.light-v .button-loadmore .progress-text {
  background-color: #fafafa;
  color: #1b1b1b;
}

.light-v .box-filter .custom-btn .custom-btn__label {
  color: #000;
}

.light-v .box-filter .custom-btn .custom-btn__icon .custom-btn__icon-small i {
  color: #000;
}

.light-v
  .box-filter
  .custom-btn
  .custom-btn__icon
  .custom-btn__icon-circle
  svg
  path {
  stroke: #000;
  fill: none;
  opacity: 0.5;
}

/*# sourceMappingURL=style.css.map */

/*# extra */

.by-now a {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 14px;
}

.header-project .content :is(h1, h2) {
  font-family: "Montserrat", sans-serif;
}

img.mailto {
  width: 19px;
  margin-right: 10px;
}

/* Contactos RS - septiembre 2026 */
.rs-phone-group {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  vertical-align: middle;
}
.rs-phone-group .phone-link {
  position: relative;
  white-space: nowrap;
}
.rs-phone-group .phone-link img {
  width: 15px;
  margin-right: 10px;
}
.rs-phone-group .phone-label {
  font-weight: 600;
}
.by-now .rs-phone-group {
  gap: 0;
  font-size: 11px;
  line-height: 1.35;
}
@media only screen and (max-width: 767px) {
  .rs-phone-group {
    display: flex;
    align-items: flex-start;
  }
}


/* RS footer contact split */
.footer .rs-footer-bottom {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  color: #898989;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
.footer .rs-footer-phones {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.footer .rs-footer-bottom a,
.footer .rs-footer-contact a {
  color: inherit;
  transition: all 0.2s linear;
}
.footer .rs-footer-bottom a:hover,
.footer .rs-footer-contact a:hover {
  color: #fd4145;
}
.footer .rs-footer-credit {
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
  font-weight: 300;
}
.footer .rs-footer-contact h5 {
  line-height: 1.9;
}
.footer .rs-footer-contact h5 span {
  font-weight: 300;
}
@media (max-width: 991px) {
  .footer .rs-footer-bottom {
    display: none;
  }
}

/* Selector de teléfonos RS */
.rs-phone-trigger {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  line-height: inherit;
  letter-spacing: inherit;
  vertical-align: middle;
}
.rs-phone-trigger span { display: inline-block; }
.rs-phone-trigger img.phone {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 16px;
}
.by-now .rs-phone-trigger {
  color: #fff;
  font-family: "Montserrat";
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .9px;
  margin-right: 20px;
  padding-top: 10px;
  padding-bottom: 5px;
  transition: all .2s ease-in-out;
}
.rs-phone-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.rs-phone-modal.is-open { display: flex; }
.rs-phone-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 14, 18, .78);
  backdrop-filter: blur(6px);
}
.rs-phone-modal__panel {
  position: relative;
  width: min(790px, 100%);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(0,0,0,.32);
  overflow: hidden;
}
.rs-phone-modal__head {
  padding: 24px 28px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #ececec;
}
.rs-phone-modal__head h3 {
  margin: 0;
  color: #171718;
  font-size: 23px;
  line-height: 1.2;
}
.rs-phone-modal__close {
  border: 0;
  background: #f2f2f2;
  color: #171718;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}
.rs-phone-modal__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 24px 28px 18px;
}
.rs-phone-card {
  border-radius: 14px;
  padding: 24px;
  color: #fff;
  min-height: 218px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
/* Colores corporativos tomados del logotipo RS: #41B0BC y #158A98 */
.rs-phone-card--install { background: linear-gradient(135deg, #41B0BC, #55BEC8); }
.rs-phone-card--services { background: linear-gradient(135deg, #158A98, #0F7481); }
.rs-phone-card__eyebrow {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: .88;
}
.rs-phone-card h4 {
  color: #fff;
  font-size: 22px;
  margin: 0 0 8px;
}
.rs-phone-card__number {
  display: block;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .3px;
  margin-bottom: 22px;
}
.rs-phone-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #fff;
  color: #171718 !important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .5px;
}
.rs-phone-modal__chat {
  margin: 0 28px 28px;
  padding: 17px 20px;
  border-radius: 12px;
  background: #f3f9fa;
  border: 1px solid rgba(21,138,152,.2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
}
.rs-phone-modal__chat-copy { min-width: 0; }
.rs-phone-modal__chat-kicker {
  display: block;
  color: #158A98;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 3px;
}
.rs-phone-modal__chat strong {
  display: block;
  color: #171718;
  font-size: 15px;
  line-height: 1.35;
}
.rs-phone-modal__chat span.rs-chat-note {
  display: block;
  color: #666;
  font-size: 12px;
  margin-top: 3px;
}
.rs-phone-modal__chat-badge {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 999px;
  background: #158A98;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .5px;
  white-space: nowrap;
}
body.rs-modal-open { overflow: hidden; }
@media (max-width: 650px) {
  .rs-phone-modal { padding: 14px; }
  .rs-phone-modal__head { padding: 20px 20px 16px; }
  .rs-phone-modal__head h3 { font-size: 19px; }
  .rs-phone-modal__grid { grid-template-columns: 1fr; padding: 18px 20px 14px; }
  .rs-phone-card { min-height: 170px; padding: 20px; }
  .rs-phone-modal__chat { margin: 0 20px 20px; align-items: flex-start; flex-direction: column; gap: 10px; }
}

/* Refinamiento visual del selector RS */
.rs-phone-modal__panel {
  width: min(880px, 100%);
  border: 1px solid rgba(23,23,24,.06);
}
.rs-phone-modal__head {
  padding: 26px 30px 20px;
  background: linear-gradient(180deg,#ffffff 0%,#fbfcfc 100%);
}
.rs-phone-modal__head h3 { font-size: 25px; font-weight: 700; }
.rs-phone-modal__grid { gap: 18px; padding: 26px 30px 18px; }
.rs-phone-card { position: relative; overflow: hidden; min-height: 232px; padding: 26px; box-shadow: 0 12px 28px rgba(0,0,0,.08); }
.rs-phone-card:after { content:""; position:absolute; width:170px; height:170px; border-radius:50%; right:-70px; top:-70px; background:rgba(255,255,255,.10); }
.rs-phone-card:before { content:""; position:absolute; width:90px; height:90px; border-radius:50%; right:35px; bottom:-48px; background:rgba(255,255,255,.08); }
.rs-phone-card > * { position:relative; z-index:1; }
.rs-phone-card__button { transition: transform .2s ease, box-shadow .2s ease; box-shadow: 0 8px 18px rgba(0,0,0,.12); }
.rs-phone-card__button:hover { transform: translateY(-2px); box-shadow:0 12px 22px rgba(0,0,0,.16); }
.rs-phone-modal__chat {
  margin: 2px 30px 30px;
  padding: 20px 22px;
  min-height: 108px;
  background: linear-gradient(135deg,#f6fbfb 0%,#eef7f8 100%);
  border: 1px solid rgba(21,138,152,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  cursor: default;
}
.rs-phone-modal__chat-copy { max-width: 650px; }
.rs-phone-modal__chat strong { font-size: 16px; }
.rs-phone-modal__chat-visual { flex:0 0 92px; display:flex; flex-direction:column; align-items:center; gap:7px; }
.rs-phone-modal__avatar {
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  position:relative; background:#fff; color:#158A98;
  font-size:25px; box-shadow:0 9px 22px rgba(21,138,152,.17);
  border:1px solid rgba(21,138,152,.14);
}
.rs-phone-modal__status { position:absolute; right:2px; bottom:4px; width:13px; height:13px; border-radius:50%; background:#41B0BC; border:2px solid #fff; }
.rs-phone-modal__chat-label { color:#158A98; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.9px; white-space:nowrap; }
.rs-phone-modal__chat-badge { display:none !important; }
@media (max-width:650px){
 .rs-phone-modal__grid{padding:18px 20px 14px;}
 .rs-phone-modal__chat{margin:0 20px 20px; flex-direction:row; align-items:center; gap:14px;}
 .rs-phone-modal__chat-visual{flex-basis:70px;}
 .rs-phone-modal__avatar{width:52px;height:52px;}
}

/* chat.html: bloque de chat activo solo en el entorno de prueba */
.rs-chat-test .rs-phone-modal__chat--active { cursor:pointer; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rs-chat-test .rs-phone-modal__chat--active:hover { transform:translateY(-2px); box-shadow:0 16px 38px rgba(21,138,152,.18); border-color:rgba(21,138,152,.32); }
.rs-chat-test .rs-phone-modal__chat--active:focus { outline:2px solid #158A98; outline-offset:3px; }
.rs-chat-test .rs-phone-modal__chat--active .rs-phone-modal__avatar { box-shadow:0 0 0 7px rgba(21,138,152,.08), 0 10px 25px rgba(21,138,152,.2); }

/* Refinado visual del avatar/chat: se sustituye el círculo por una silueta inspirada en el isotipo RS */
.rs-phone-modal__chat-visual { flex:0 0 108px; display:flex; flex-direction:column; align-items:center; gap:9px; }
.rs-phone-modal__avatar.rs-phone-modal__avatar--brand {
  width:86px;
  height:64px;
  border-radius:16px;
  clip-path: polygon(0 0, 88% 0, 97% 9%, 93% 22%, 100% 35%, 92% 50%, 100% 66%, 93% 80%, 97% 92%, 88% 100%, 0 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  background: linear-gradient(90deg,#41B0BC 0 43%, #158A98 43% 100%);
  color:#fff;
  font-size:27px;
  box-shadow:0 14px 28px rgba(15,101,112,.22);
  border:none;
  overflow:visible;
}
.rs-phone-modal__avatar.rs-phone-modal__avatar--brand::before {
  content:"";
  position:absolute;
  inset:8px 10px 8px 12px;
  clip-path: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
  opacity:.9;
  pointer-events:none;
}
.rs-phone-modal__avatar-icon {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  text-shadow:0 2px 10px rgba(0,0,0,.12);
}
.rs-phone-modal__avatar-icon i { transform: translateX(2px); }
.rs-phone-modal__status { right:-3px; bottom:-4px; width:15px; height:15px; border-radius:50%; background:#41B0BC; border:3px solid #fff; box-shadow:0 5px 12px rgba(0,0,0,.14); }
.rs-phone-modal__chat-label { color:#158A98; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1px; white-space:nowrap; }
@media (max-width:650px){
 .rs-phone-modal__chat-visual{flex-basis:86px;}
 .rs-phone-modal__avatar.rs-phone-modal__avatar--brand{width:74px;height:56px;}
}

/* Corrección final del bloque de chat del pop-up */
.rs-phone-modal__chat-visual { flex: 0 0 108px; display: flex; justify-content: center; align-items: center; }
.rs-phone-modal__avatar-wrap {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.rs-phone-modal__avatar-asset {
  display:block;
  width:76px;
  height:auto;
}
.rs-phone-modal__chat-label {
  color:#158A98;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  white-space:nowrap;
}
.rs-phone-modal__status,
.rs-phone-modal__avatar,
.rs-phone-modal__avatar-icon { display:none !important; }
.rs-chat-test .rs-phone-modal__chat--active .rs-phone-modal__avatar-asset {
  transform: translateY(-1px);
  filter: drop-shadow(0 16px 28px rgba(21,138,152,.18));
}
@media (max-width:650px){
  .rs-phone-modal__chat-visual { flex-basis: 88px; }
  .rs-phone-modal__avatar-asset { width:66px; }
}

/* Corrección decoración superior de tarjetas telefónicas */
.rs-phone-card:after {
  width: 162px;
  height: 182px;
  right: -52px;
  top: -48px;
  border-radius: 0;
  background: url("../img/rs-phone-card-badge.svg") no-repeat center/contain;
  opacity: .95;
}
.rs-phone-card:before { display: none; }
@media (max-width:650px){
  .rs-phone-card:after {
    width: 132px;
    height: 148px;
    right: -44px;
    top: -38px;
  }
}


/* Ajuste final: las tarjetas superiores usan la misma silueta del icono RS del bloque de chat */
.rs-phone-card { overflow: hidden; }
.rs-phone-card:after {
  content: "";
  position: absolute;
  width: 188px;
  height: 210px;
  right: -58px;
  top: -56px;
  border-radius: 0;
  background: url("../img/rs-phone-card-overlay.svg") no-repeat center/contain;
  opacity: 1;
  pointer-events: none;
}
.rs-phone-card:before {
  content: none !important;
  display: none !important;
}
@media (max-width: 650px) {
  .rs-phone-card:after {
    width: 152px;
    height: 172px;
    right: -50px;
    top: -48px;
  }
}


/* Ajuste fino final solicitado: teléfonos más pequeños y rombo superior más discreto */
.rs-phone-card__number {
  font-size: 17px;
  line-height: 1.35;
  letter-spacing: .2px;
}
.rs-phone-card:after {
  width: 124px;
  height: 138px;
  right: -28px;
  top: -22px;
  opacity: .88;
}
@media (max-width: 650px) {
  .rs-phone-card__number {
    font-size: 15px;
  }
  .rs-phone-card:after {
    width: 104px;
    height: 116px;
    right: -24px;
    top: -18px;
  }
}


/* Corrección: mantener el tamaño original de los teléfonos; solo se reduce el icono/rombo superior */
.rs-phone-card__number {
  font-size: 20px;
  line-height: normal;
  letter-spacing: .3px;
}
@media (max-width: 650px) {
  .rs-phone-card__number {
    font-size: 20px;
    line-height: normal;
    letter-spacing: .3px;
  }
}


/* ===== RS footer redesign for interior pages ===== */
.footer.rs-footer-redesign {
  padding-top: 82px;
  padding-bottom: 48px;
}
.footer.rs-footer-redesign .content-block {
  border-top: 0;
}
.footer.rs-footer-redesign .rs-footer-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  text-align: center;
}
.footer.rs-footer-redesign .rs-footer-logo-mark img {
  width: 120px;
  max-width: 100%;
  display: block;
}
.footer.rs-footer-redesign .rs-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 14px 42px;
  max-width: 1120px;
}
.footer.rs-footer-redesign .rs-footer-links a {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  transition: color .2s linear, opacity .2s linear;
}
.footer.rs-footer-redesign .rs-footer-links a:hover {
  color: #41B0BC;
}
.footer.rs-footer-redesign .rs-footer-phonecards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px;
}
.footer.rs-footer-redesign .rs-footer-phonecard {
  min-width: 280px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  padding: 14px 24px;
  border-radius: 16px;
  border: 1px solid rgba(65,176,188,.18);
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.footer.rs-footer-redesign .rs-footer-phonecard:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(0,0,0,.18);
  border-color: rgba(65,176,188,.32);
}
.footer.rs-footer-redesign .rs-footer-phonecard--install {
  background: linear-gradient(135deg, rgba(65,176,188,.98), rgba(85,190,200,.96));
}
.footer.rs-footer-redesign .rs-footer-phonecard--services {
  background: linear-gradient(135deg, rgba(21,138,152,.98), rgba(15,116,129,.96));
}
.footer.rs-footer-redesign .rs-footer-phonecard__icon {
  width: 50px;
  height: 50px;
  min-width: 50px;
  border-radius: 50%;
  background: rgba(255,255,255,.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(1px);
}
.footer.rs-footer-redesign .rs-footer-phonecard__icon img {
  width: 23px;
  height: 23px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.footer.rs-footer-redesign .rs-footer-phonecard__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  text-align: left;
}
.footer.rs-footer-redesign .rs-footer-phonecard__copy small {
  display: block;
  color: rgba(255,255,255,.94);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}
.footer.rs-footer-redesign .rs-footer-phonecard__copy strong {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2px;
}
.footer.rs-footer-redesign .rs-footer-meta {
  width: 100%;
  margin-top: 6px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 28px;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.footer.rs-footer-redesign .rs-footer-meta a {
  color: inherit;
}
.footer.rs-footer-redesign .rs-footer-meta a:hover {
  color: #41B0BC;
}
.footer.rs-footer-redesign .rs-footer-meta__divider {
  opacity: .5;
}
@media (max-width: 991px) {
  .footer.rs-footer-redesign {
    padding-top: 66px;
    padding-bottom: 42px;
  }
  .footer.rs-footer-redesign .rs-footer-shell {
    gap: 24px;
  }
  .footer.rs-footer-redesign .rs-footer-logo-mark img {
    width: 102px;
  }
  .footer.rs-footer-redesign .rs-footer-links {
    gap: 12px 24px;
  }
  .footer.rs-footer-redesign .rs-footer-links a {
    font-size: 15px;
  }
  .footer.rs-footer-redesign .rs-footer-phonecard {
    min-width: 260px;
  }
}
@media (max-width: 767px) {
  .footer.rs-footer-redesign {
    padding-top: 54px;
    padding-bottom: 34px;
  }
  .footer.rs-footer-redesign .rs-footer-shell {
    gap: 22px;
  }
  .footer.rs-footer-redesign .rs-footer-logo-mark img {
    width: 90px;
  }
  .footer.rs-footer-redesign .rs-footer-links {
    flex-direction: column;
    gap: 16px;
  }
  .footer.rs-footer-redesign .rs-footer-phonecards {
    width: 100%;
    gap: 14px;
  }
  .footer.rs-footer-redesign .rs-footer-phonecard {
    width: 100%;
    min-width: 0;
    max-width: 380px;
    padding: 14px 18px;
  }
  .footer.rs-footer-redesign .rs-footer-phonecard__icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }
  .footer.rs-footer-redesign .rs-footer-phonecard__copy strong {
    font-size: 17px;
  }
  .footer.rs-footer-redesign .rs-footer-meta {
    gap: 8px 12px;
    font-size: 13px;
  }
  .footer.rs-footer-redesign .rs-footer-meta__divider {
    display: none;
  }
  .footer.rs-footer-redesign .rs-footer-meta__item {
    width: 100%;
  }
}

/* Chat launcher helper in chat.html */
.rs-chat-test iframe[src*="nousmachine"],
.rs-chat-test iframe[src*="chatbot"] {
  z-index: 999999 !important;
}


/* Ajuste final del menú del footer: una línea en escritorio y filas equilibradas al reducir ancho */
.footer.rs-footer-redesign .rs-footer-links {
  width: 100%;
  max-width: 1320px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  column-gap: 20px;
  row-gap: 18px;
}
.footer.rs-footer-redesign .rs-footer-links a {
  width: 100%;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 1180px) and (min-width: 768px) {
  .footer.rs-footer-redesign .rs-footer-links {
    max-width: 900px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 24px;
  }
  .footer.rs-footer-redesign .rs-footer-links a {
    white-space: normal;
  }
  .footer.rs-footer-redesign .rs-footer-links a:nth-child(n+5) {
    transform: translateX(50%);
  }
}
@media (max-width: 767px) {
  .footer.rs-footer-redesign .rs-footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    max-width: 420px;
  }
  .footer.rs-footer-redesign .rs-footer-links a {
    white-space: normal;
  }
}
@media (max-width: 480px) {
  .footer.rs-footer-redesign .rs-footer-links {
    grid-template-columns: 1fr;
    max-width: 320px;
  }
}


/* Tercera caja del footer: próximo chat 24/7 */
.footer.rs-footer-redesign .rs-footer-phonecards {
  width: 100%;
  max-width: 980px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.footer.rs-footer-redesign .rs-footer-phonecard {
  width: 100%;
  min-width: 0;
  min-height: 78px;
  box-sizing: border-box;
}
.footer.rs-footer-redesign .rs-footer-phonecard--chat {
  background: linear-gradient(135deg, rgba(19,42,48,.96), rgba(14,70,79,.96));
  border-color: rgba(65,176,188,.24);
  cursor: default;
}
.footer.rs-footer-redesign .rs-footer-phonecard__icon--chat {
  border-radius: 0;
  background: transparent;
  width: 50px;
  height: 54px;
  min-width: 50px;
}
.footer.rs-footer-redesign .rs-footer-phonecard__icon--chat img {
  width: 44px;
  height: 50px;
  filter: none;
}
@media (max-width: 900px) {
  .footer.rs-footer-redesign .rs-footer-phonecards {
    max-width: 650px;
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .footer.rs-footer-redesign .rs-footer-phonecard--chat {
    grid-column: 1 / -1;
    width: calc(50% - 8px);
    justify-self: center;
  }
}
@media (max-width: 600px) {
  .footer.rs-footer-redesign .rs-footer-phonecards {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer.rs-footer-redesign .rs-footer-phonecard,
  .footer.rs-footer-redesign .rs-footer-phonecard--chat {
    width: 100%;
    max-width: 380px;
  }
}


/* Unificación final: 3 cajas en pop-up y footer */
.rs-phone-modal__panel { width: min(1080px, 96vw); }
.rs-phone-modal__grid.rs-phone-modal__grid--three {
  grid-template-columns: repeat(3, minmax(0,1fr));
  align-items: stretch;
}
.rs-phone-modal__grid--three .rs-phone-card {
  min-height: 224px;
  padding: 24px;
}
.rs-phone-card--chat {
  background: linear-gradient(135deg, rgba(19,42,48,.98), rgba(14,70,79,.98));
  border: 1px solid rgba(65,176,188,.25);
  color: #fff;
  cursor: default;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.rs-phone-card--chat:after,
.rs-phone-card--chat:before { display:none !important; }
.rs-phone-card__chat-content { position:relative; z-index:1; }
.rs-phone-card__chat-note {
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.35;
}
.rs-phone-card__chat-bottom {
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:22px;
}
.rs-phone-card__chat-icon {
  width:56px;
  height:auto;
  display:block;
  flex:0 0 auto;
}
.rs-phone-card__button--chat {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  min-height:42px;
  opacity:.78;
  pointer-events:none;
}
.rs-chat-test .rs-phone-card--chat.rs-phone-modal__chat--active {
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rs-chat-test .rs-phone-card--chat.rs-phone-modal__chat--active:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
  border-color:rgba(65,176,188,.45);
}
.rs-chat-test .rs-phone-card--chat.rs-phone-modal__chat--active .rs-phone-card__button--chat {
  opacity:1;
}
.footer.rs-footer-redesign button.rs-footer-phonecard {
  appearance:none;
  font:inherit;
  text-align:left;
  color:inherit;
}
.footer.rs-footer-redesign .rs-footer-phonecard--chat-active {
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.footer.rs-footer-redesign .rs-footer-phonecard--chat-active:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 32px rgba(0,0,0,.18);
  border-color:rgba(65,176,188,.42);
}
@media (max-width: 920px) {
  .rs-phone-modal__grid.rs-phone-modal__grid--three {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .rs-phone-modal__grid--three .rs-phone-card--chat {
    grid-column:1 / -1;
    min-height:180px;
  }
}
@media (max-width: 650px) {
  .rs-phone-modal__grid.rs-phone-modal__grid--three {
    grid-template-columns: 1fr;
  }
  .rs-phone-modal__grid--three .rs-phone-card--chat {
    grid-column:auto;
  }
}


/* /chat/: el launcher nativo de Nous se conserva como disparador interno,
   pero no se muestra; el usuario abre el chat desde nuestras cajas RS. */
.rs-chat-test [data-rs-nous-launcher="true"] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* En /chat/ quitamos el botón flotante de volver arriba para no competir con el chat. */
.rs-chat-test [data-dsn-grid="progress-circle"] {
  display: none !important;
}


/* /chat/ hotfix: asegurar que la tercera caja del footer sea visible y homogénea */
.rs-chat-test .footer.rs-footer-redesign .rs-footer-phonecard--chat-active {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  min-height:78px !important;
  background:linear-gradient(135deg, rgba(19,42,48,.98), rgba(14,70,79,.98)) !important;
  border:1px solid rgba(65,176,188,.28) !important;
  color:#fff !important;
}
.rs-chat-test .footer.rs-footer-redesign .rs-footer-phonecard--chat-active .rs-footer-phonecard__copy,
.rs-chat-test .footer.rs-footer-redesign .rs-footer-phonecard--chat-active .rs-footer-phonecard__icon {
  display:flex !important;
}


/* /chat/: dejar visible el launcher nativo de Nous en esta fase de pruebas */
.rs-chat-test [data-rs-nous-launcher="true"] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
/* La tercera caja del footer debe verse siempre en /chat/. */
.rs-chat-test .footer.rs-footer-redesign .rs-footer-phonecard--chat-active {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* =======================================================
   RS 2026 · Header flotante azul corporativo
   ======================================================= */
@media (min-width: 992px) {
  .site-header {
    padding: 16px 0 0 !important;
    background: transparent !important;
  }
  .site-header > .extend-container {
    width: calc(100% - 36px) !important;
    max-width: 1540px !important;
    min-height: 68px;
    margin: 0 auto !important;
    padding: 11px 18px !important;
    align-items: center;
    background: #08253f !important;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    box-shadow: 0 16px 42px rgba(4,22,37,.24);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  .site-header.header-stickytop > .extend-container {
    background: rgba(8,37,63,.97) !important;
    box-shadow: 0 12px 34px rgba(4,22,37,.30);
  }
  .site-header .extend-container .inner-header .main-logo {
    width: 188px !important;
  }
  .site-header .extend-container .main-navigation ul li {
    margin-right: 15px !important;
  }
  .site-header .extend-container .main-navigation ul li a {
    letter-spacing: 1.45px !important;
  }
  .site-header .extend-container .main-navigation ul li ul {
    background: #08253f !important;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 12px !important;
    box-shadow: 0 18px 36px rgba(4,22,37,.30);
  }
  .site-header .extend-container .main-navigation ul li ul li {
    margin-right: 0 !important;
  }
  .site-header .by-now .rs-phone-trigger {
    margin-right: 12px !important;
  }
}


/* =======================================================
   RS 2026 V5 · Brand reveal del navbar
   Línea central -> icono RS en color -> Instalaciones entra desde derecha.
   Usa exclusivamente los vectores corporativos oficiales aportados.
   ======================================================= */
@media (min-width: 992px) {
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 220px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
  }
  .rs-brand-animated {
    position: relative;
    display: block;
    width: 212px;
    height: 46px;
    overflow: visible;
    isolation: isolate;
  }
  .rs-brand-icon-wrap,
  .rs-brand-word-wrap,
  .rs-brand-separator {
    position: absolute;
    display: block;
    will-change: transform, opacity, filter, clip-path, left;
  }
  .rs-brand-icon-wrap {
    z-index: 3;
    left: 0;
    top: 2px;
    width: 38px;
    height: 42px;
    opacity: 0;
    transform-origin: center center;
    clip-path: inset(0 50% 0 50%);
    filter: grayscale(1) brightness(2.4);
    animation: rsBrandIconReveal 1.35s cubic-bezier(.22,.78,.23,1) .12s forwards;
  }
  .rs-brand-icon-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .rs-brand-separator {
    z-index: 4;
    left: 104px;
    top: 9px;
    width: 2px;
    height: 29px;
    border-radius: 999px;
    background: #00b1be;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: center center;
    animation: rsBrandLineReveal 1.35s cubic-bezier(.22,.78,.23,1) 0s forwards;
  }
  .rs-brand-word-wrap {
    z-index: 2;
    left: 55px;
    top: 9px;
    width: 154px;
    height: 29px;
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translate3d(54px,0,0);
    animation: rsBrandWordReveal .72s cubic-bezier(.2,.75,.25,1) .73s forwards;
  }
  .rs-brand-word-wrap img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    display: block;
  }
}

@keyframes rsBrandLineReveal {
  0%   { opacity:0; left:104px; transform:scaleY(0); }
  18%  { opacity:1; left:104px; transform:scaleY(1); }
  48%  { opacity:1; left:104px; transform:scaleY(1); }
  100% { opacity:1; left:46px;  transform:scaleY(1); }
}
@keyframes rsBrandIconReveal {
  0%,14% { opacity:0; transform:translate3d(85px,0,0) scale(.62); clip-path:inset(0 50% 0 50%); filter:grayscale(1) brightness(2.5); }
  42%    { opacity:1; transform:translate3d(76px,0,0) scale(.90); clip-path:inset(0 0 0 0); filter:grayscale(1) brightness(2.0); }
  66%    { opacity:1; transform:translate3d(48px,0,0) scale(1); filter:grayscale(.35) brightness(1.25); }
  100%   { opacity:1; transform:translate3d(0,0,0) scale(1); clip-path:inset(0 0 0 0); filter:none; }
}
@keyframes rsBrandWordReveal {
  0%   { opacity:0; transform:translate3d(54px,0,0); clip-path:inset(0 100% 0 0); }
  30%  { opacity:.35; }
  100% { opacity:1; transform:translate3d(0,0,0); clip-path:inset(0 0 0 0); }
}

@media (prefers-reduced-motion: reduce) and (min-width: 992px) {
  .rs-brand-icon-wrap,
  .rs-brand-word-wrap,
  .rs-brand-separator { animation:none !important; }
  .rs-brand-icon-wrap { opacity:1; transform:none; clip-path:none; filter:none; }
  .rs-brand-separator { opacity:1; left:46px; transform:scaleY(1); }
  .rs-brand-word-wrap { opacity:1; transform:none; clip-path:none; }
}

/* =======================================================
   RS 2026 V6 · Header premium / pills
   Header azul RS, contacto secundario y TELÉFONOS destacado.
   ======================================================= */
@media (min-width: 992px) {
  .site-header {
    padding-top: 14px !important;
  }
  .site-header > .extend-container {
    width: calc(100% - 40px) !important;
    max-width: 1580px !important;
    min-height: 72px !important;
    padding: 10px 14px 10px 18px !important;
    border-radius: 20px !important;
    background: rgba(8,37,63,.96) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 18px 46px rgba(3,20,34,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%);
    backdrop-filter: blur(16px) saturate(130%);
  }
  .site-header.header-stickytop > .extend-container {
    background: rgba(8,37,63,.985) !important;
    box-shadow: 0 15px 38px rgba(3,20,34,.34) !important;
  }
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 224px !important;
    flex: 0 0 224px !important;
  }
  .site-header .extend-container .main-navigation {
    min-width: 0;
    flex: 1 1 auto;
  }
  .site-header .extend-container .main-navigation > ul.extend-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    padding: 0 !important;
  }
  .site-header .extend-container .main-navigation > ul.extend-container > li {
    margin: 0 4px !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
  }
  .site-header .extend-container .main-navigation > ul.extend-container > li > a {
    margin: 0 !important;
    padding: 12px 8px !important;
    line-height: 1 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.25px !important;
    color: rgba(255,255,255,.90) !important;
    transition: color .22s ease, transform .22s ease, opacity .22s ease !important;
  }
  .site-header .extend-container .main-navigation > ul.extend-container > li > a:hover {
    color: #fff !important;
    transform: translateY(-1px);
  }
  .site-header .extend-container .main-navigation > ul.extend-container > li > a:after {
    opacity: .34 !important;
  }

  /* CONTACTO: pastilla de cristal, discreta */
  .site-header .main-navigation a[href^="mailto:"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 38px;
    padding: 0 15px !important;
    margin: 0 2px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    background: rgba(255,255,255,.075) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    text-transform: uppercase;
    white-space: nowrap;
    transition: background .22s ease, border-color .22s ease, transform .22s ease !important;
  }
  .site-header .main-navigation a[href^="mailto:"]:hover {
    background: rgba(255,255,255,.13) !important;
    border-color: rgba(255,255,255,.38) !important;
    transform: translateY(-1px) !important;
  }
  .site-header .main-navigation a[href^="mailto:"]:after { display:none !important; }
  .site-header .main-navigation a[href^="mailto:"] img.mailto {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: .94;
  }

  /* TELÉFONOS: CTA principal corporativo */
  .site-header .by-now {
    margin: 0 0 0 2px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .site-header .by-now .rs-phone-trigger {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 40px;
    margin: 0 !important;
    padding: 0 17px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: linear-gradient(135deg,#41B0BC 0%,#158A98 100%) !important;
    color: #fff !important;
    font-family: 'Montserrat',sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
    box-shadow: 0 8px 22px rgba(20,138,152,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
  }
  .site-header .by-now .rs-phone-trigger:before {
    content:'';
    position:absolute;
    inset:-2px auto -2px -45%;
    width:40%;
    transform:skewX(-18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
    transition:left .55s ease;
    pointer-events:none;
  }
  .site-header .by-now .rs-phone-trigger:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(20,138,152,.38), inset 0 1px 0 rgba(255,255,255,.2) !important;
    filter: saturate(1.08);
  }
  .site-header .by-now .rs-phone-trigger:hover:before { left:115%; }
  .site-header .by-now .rs-phone-trigger img.phone {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
    margin: 0 !important;
    filter: brightness(0) invert(1);
  }

  /* Las RRSS siguen disponibles en footer/mobile: el navbar queda limpio. */
  .site-header .main-navigation > ul.extend-container > a {
    display:none !important;
  }

  .site-header .extend-container .main-navigation ul li ul {
    top: 42px !important;
    min-width: 245px;
    padding: 9px !important;
    border-radius: 14px !important;
    background: rgba(8,37,63,.985) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 22px 44px rgba(3,20,34,.34) !important;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }
  .site-header .extend-container .main-navigation ul li ul li {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }
  .site-header .extend-container .main-navigation ul li ul li a {
    display:block !important;
    margin:0 !important;
    padding:11px 12px !important;
    border-radius:9px;
    font-size:10px !important;
    letter-spacing:.9px !important;
    color:rgba(255,255,255,.82) !important;
  }
  .site-header .extend-container .main-navigation ul li ul li a:hover {
    background:rgba(65,176,188,.12) !important;
    color:#fff !important;
  }
  .site-header .extend-container .main-navigation ul li ul li a:after { display:none !important; }
}

/* Mobile: conserva el menú actual pero convierte contacto/teléfonos en acciones claras. */
@media (max-width: 991px) {
  .header-top .nav__content address .rs-phone-trigger {
    margin: 10px 0 8px !important;
    padding: 11px 15px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg,#41B0BC,#158A98) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:1px !important;
  }
  .header-top .nav__content address .rs-phone-trigger img.phone {
    filter:brightness(0) invert(1);
  }
  .header-top .nav__content address a[href^="mailto:"] {
    display:inline-flex !important;
    align-items:center !important;
    gap:8px;
    padding:10px 14px;
    border:1px solid rgba(21,138,152,.22);
    border-radius:999px;
  }
}


/* =======================================================
   RS 2026 V7 · Header XL + mega menú Servicios
   ======================================================= */
@media (min-width: 992px) {
  .site-header { padding-top: 12px !important; }
  .site-header > .extend-container {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    min-height: 88px !important;
    padding: 13px 18px 13px 24px !important;
    border-radius: 22px !important;
  }
  .site-header.header-stickytop > .extend-container {
    min-height: 78px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 262px !important;
    flex: 0 0 262px !important;
  }
  .rs-brand-animated { min-height: 54px !important; }
  .site-header .extend-container .main-navigation > ul.extend-container {
    gap: 10px !important;
  }
  .site-header .extend-container .main-navigation > ul.extend-container > li > a {
    padding: 14px 10px !important;
    font-size: 11.5px !important;
    letter-spacing: 1.15px !important;
  }
  .site-header .main-navigation a[href^="mailto:"] {
    min-height: 44px !important;
    padding: 0 18px !important;
  }
  .site-header .by-now .rs-phone-trigger {
    min-height: 46px !important;
    padding: 0 20px !important;
    font-size: 11.5px !important;
  }

  /* Mega menú: Instalaciones + RS Servicios */
  .site-header .rs-services-dropdown { position: relative !important; }
  .site-header .rs-services-dropdown > .rs-services-mega {
    position: absolute !important;
    top: 54px !important;
    right: -180px !important;
    left: auto !important;
    width: 590px !important;
    min-width: 590px !important;
    padding: 14px !important;
    display: grid !important;
    grid-template-columns: 1.45fr .9fr !important;
    gap: 12px !important;
    border-radius: 18px !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(9px) scale(.985);
    transform-origin: 70% 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }
  .site-header .rs-services-dropdown:hover > .rs-services-mega {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
  }
  .site-header .rs-services-mega > .rs-services-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 13px;
    background: rgba(255,255,255,.035);
    min-width: 0;
  }
  .site-header .rs-services-mega > .rs-services-solutions {
    background: linear-gradient(145deg,rgba(65,176,188,.12),rgba(255,255,255,.035));
    border: 1px solid rgba(65,176,188,.14);
  }
  .site-header .rs-services-kicker {
    display:block;
    padding: 2px 10px 10px;
    color: rgba(255,255,255,.48);
    font-family:'Montserrat',sans-serif;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.7px;
    text-transform:uppercase;
  }
  .site-header .rs-services-mega > .rs-services-column > a {
    position:relative;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    margin:0 !important;
    padding:10px !important;
    border-radius:9px;
    color:rgba(255,255,255,.84) !important;
    font-size:10px !important;
    line-height:1.25 !important;
    letter-spacing:.65px !important;
    text-align:left;
    white-space:normal;
  }
  .site-header .rs-services-mega > .rs-services-column > a:hover {
    background:rgba(65,176,188,.13) !important;
    color:#fff !important;
  }
  .site-header .rs-services-mega > .rs-services-column > a:after { display:none !important; }
  .site-header .rs-new-badge {
    flex:0 0 auto;
    padding:4px 6px;
    border-radius:999px;
    background:#41B0BC;
    color:#fff;
    font-size:7px;
    font-weight:800;
    letter-spacing:.7px;
  }
}

@media (min-width: 992px) and (max-width: 1240px) {
  .site-header > .extend-container { width: calc(100% - 16px) !important; padding-left:16px !important; padding-right:12px !important; }
  .site-header .extend-container .inner-header .main-logo.rs-main-logo { width:220px !important; flex-basis:220px !important; }
  .site-header .extend-container .main-navigation > ul.extend-container { gap:5px !important; }
  .site-header .extend-container .main-navigation > ul.extend-container > li > a { padding-left:7px !important; padding-right:7px !important; font-size:10.5px !important; }
}

@media (max-width: 991px) {
  .header-top .rs-services-mobile-list { max-height:52vh; overflow:auto; padding-right:4px !important; }
}

/* New-service scaffold pages */
.rs-new-service-hero {
  min-height: 78vh;
  display:grid;
  place-items:center;
  padding:160px 24px 90px;
  background:
    radial-gradient(circle at 18% 22%, rgba(65,176,188,.18), transparent 34%),
    radial-gradient(circle at 82% 70%, rgba(21,138,152,.15), transparent 34%),
    #08253f;
  color:#fff;
  text-align:center;
}
.rs-new-service-hero .rs-new-service-inner { max-width:820px; margin:auto; }
.rs-new-service-hero .rs-new-kicker { font:700 11px/1 Montserrat,sans-serif; letter-spacing:2.2px; text-transform:uppercase; color:#41B0BC; }
.rs-new-service-hero h1 { margin:18px 0 16px; font:700 clamp(42px,6vw,86px)/.96 Montserrat,sans-serif; letter-spacing:-.045em; color:#fff; }
.rs-new-service-hero p { margin:0 auto 28px; max-width:650px; font:500 16px/1.65 Montserrat,sans-serif; color:rgba(255,255,255,.72); }
.rs-new-service-hero .rs-new-cta { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border-radius:999px; background:linear-gradient(135deg,#41B0BC,#158A98); color:#fff; font:700 11px/1 Montserrat,sans-serif; letter-spacing:1px; text-transform:uppercase; }


/* RS 2026 V8 · service hero video full-screen fix */
.header-project.rs-video-hero{height:100vh!important;min-height:680px!important;position:relative!important;overflow:hidden!important;}
.header-project.rs-video-hero .rs-service-media{position:absolute!important;inset:0!important;z-index:0!important;width:100%!important;height:100%!important;overflow:hidden!important;}
.header-project.rs-video-hero .rs-service-video{position:absolute!important;inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;object-fit:cover!important;object-position:center center!important;transform:none!important;-webkit-transform:none!important;-ms-transform:none!important;z-index:0!important;display:block!important;}
@media (max-width:767px){.header-project.rs-video-hero{height:100svh!important;min-height:560px!important;}}


/* =======================================================
   RS 2026 V9 · Menús separados + acciones compactas + logo oficial
   Los SVG oficiales NO se modifican: solo se animan/revelan como assets intactos.
   ======================================================= */
@media (min-width: 992px) {
  .site-header > .extend-container {
    min-height: 88px !important;
    padding: 13px 17px 13px 18px !important;
  }

  /* Zona de marca: placa clara para preservar los colores exactos del SVG oficial. */
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 244px !important;
    flex: 0 0 244px !important;
    height: 58px !important;
    overflow: visible !important;
  }
  .rs-brand-official-animated {
    position: relative;
    display: block;
    width: 232px;
    height: 58px;
    border-radius: 15px;
    overflow: hidden;
    background: rgba(255,255,255,.975);
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 20px rgba(2,18,30,.12);
    isolation: isolate;
  }
  .rs-brand-icon-official,
  .rs-brand-logo-official,
  .rs-brand-official-animated .rs-brand-separator {
    position:absolute;
    display:block;
    will-change:transform,opacity,clip-path,left;
  }
  .rs-brand-official-animated .rs-brand-separator {
    z-index:4;
    top:13px;
    left:115px;
    width:2px;
    height:32px;
    border-radius:999px;
    background:#00b1be;
    opacity:0;
    transform:scaleY(0);
    transform-origin:center;
    animation:rsOfficialLine 1.35s cubic-bezier(.22,.78,.23,1) forwards;
  }
  .rs-brand-icon-official {
    z-index:3;
    top:9px;
    left:99px;
    width:36px;
    height:40px;
    opacity:0;
    clip-path:inset(0 50% 0 50%);
    animation:rsOfficialIcon 1.26s cubic-bezier(.22,.78,.23,1) .08s forwards;
  }
  .rs-brand-icon-official img {
    width:100%;height:100%;display:block;object-fit:contain;
  }
  .rs-brand-logo-official {
    z-index:2;
    top:10px;
    left:13px;
    width:205px;
    height:38px;
    opacity:0;
    transform:translate3d(34px,0,0);
    clip-path:inset(0 0 0 22%);
    animation:rsOfficialLogo .78s cubic-bezier(.2,.75,.25,1) .72s forwards;
  }
  .rs-brand-logo-official img {
    width:100%;height:100%;display:block;object-fit:contain;
  }

  .site-header .extend-container .main-navigation > ul.rs-header-nav {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:5px !important;
    padding:0 !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li {
    margin:0 2px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill) {
    display:inline-flex !important;
    align-items:center !important;
    min-height:36px !important;
    padding:0 8px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    letter-spacing:.75px !important;
    white-space:nowrap;
  }

  /* Principal: todos los servicios técnicos. */
  .site-header .rs-installations-menu > a {
    color:#fff !important;
    font-weight:700 !important;
  }
  .site-header .rs-installations-menu > a:before {
    content:'';
    width:5px;height:5px;border-radius:50%;
    margin-right:7px;
    background:#41B0BC;
    box-shadow:0 0 0 4px rgba(65,176,188,.11);
  }

  /* Secundario: RS Servicios queda claramente separado sin competir con Instalaciones. */
  .site-header .rs-secondary-services-menu {
    margin-left:5px !important;
    padding-left:7px !important;
    border-left:1px solid rgba(255,255,255,.16);
  }
  .site-header .rs-secondary-services-menu > a {
    color:rgba(255,255,255,.68) !important;
    font-weight:600 !important;
  }
  .site-header .rs-secondary-services-menu:hover > a { color:#fff !important; }
  .rs-secondary-dot {
    display:inline-block;
    width:5px;height:5px;border-radius:50%;
    margin-right:7px;
    background:rgba(65,176,188,.8);
  }

  /* Dos dropdowns independientes. */
  .site-header .rs-split-dropdown { position:relative !important; }
  .site-header .rs-split-dropdown > .rs-dropdown-panel {
    position:absolute !important;
    display:block !important;
    top:43px !important;
    left:0 !important;
    right:auto !important;
    width:286px !important;
    min-width:286px !important;
    padding:9px !important;
    margin:0 !important;
    border-radius:15px !important;
    background:rgba(8,37,63,.985) !important;
    border:1px solid rgba(255,255,255,.13) !important;
    box-shadow:0 22px 44px rgba(3,20,34,.34) !important;
    backdrop-filter:blur(18px) saturate(125%);
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(8px) scale(.985) !important;
    transform-origin:20% 0;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease !important;
  }
  .site-header .rs-secondary-services-menu > .rs-dropdown-panel {
    width:226px !important;
    min-width:226px !important;
    background:linear-gradient(150deg,rgba(10,53,76,.99),rgba(8,37,63,.99)) !important;
  }
  .site-header .rs-split-dropdown:hover > .rs-dropdown-panel {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
  .site-header .rs-dropdown-panel > li {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
  }
  .site-header .rs-dropdown-panel > li > a {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:10px 11px !important;
    border-radius:9px !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:.55px !important;
    line-height:1.25 !important;
    color:rgba(255,255,255,.82) !important;
    white-space:normal !important;
    text-align:left !important;
  }
  .site-header .rs-dropdown-panel > li > a:hover {
    background:rgba(65,176,188,.13) !important;
    color:#fff !important;
  }
  .site-header .rs-dropdown-panel > li > a:after { display:none !important; }

  /* Contacto + teléfonos: misma geometría, menos alto y más aire lateral. */
  .site-header .rs-action-item { margin-left:2px !important; }
  .site-header .rs-header-pill {
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    margin:0 !important;
    padding:0 19px !important;
    border-radius:999px !important;
    font-family:'Montserrat',sans-serif !important;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.8px !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
  .site-header .rs-contact-pill {
    border:1px solid rgba(255,255,255,.20) !important;
    background:rgba(255,255,255,.065) !important;
    color:#fff !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
  }
  .site-header .rs-contact-pill:hover {
    background:rgba(255,255,255,.115) !important;
    border-color:rgba(255,255,255,.32) !important;
    transform:translateY(-1px) !important;
  }
  .site-header .rs-contact-pill:after { display:none !important; }
  .site-header .rs-contact-pill img.mailto,
  .site-header .rs-phone-pill img.phone {
    width:13px !important;
    height:13px !important;
    margin:0 !important;
    flex:0 0 13px !important;
    filter:brightness(0) invert(1) !important;
  }
  .site-header .rs-phone-pill {
    position:relative;
    border:1px solid rgba(255,255,255,.16) !important;
    background:linear-gradient(135deg,#41B0BC 0%,#158A98 100%) !important;
    color:#fff !important;
    box-shadow:0 7px 18px rgba(20,138,152,.22),inset 0 1px 0 rgba(255,255,255,.16) !important;
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease,filter .2s ease !important;
  }
  .site-header .rs-phone-pill:hover {
    transform:translateY(-1px) !important;
    box-shadow:0 9px 21px rgba(20,138,152,.30),inset 0 1px 0 rgba(255,255,255,.18) !important;
  }
  .site-header .rs-phone-pill:before { display:none !important; }

  /* Neutraliza reglas antiguas de la pastilla de mail y .by-now. */
  .site-header .main-navigation a[href^="mailto:"].rs-contact-pill {
    min-height:36px !important;
    height:36px !important;
    padding:0 19px !important;
  }

}

@media (min-width: 992px) and (max-width: 1280px) {
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width:228px !important;
    flex-basis:228px !important;
  }
  .rs-brand-official-animated { width:216px; }
  .rs-brand-logo-official { width:190px; }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill) {
    padding-left:6px !important;padding-right:6px !important;font-size:9.7px !important;letter-spacing:.55px !important;
  }
  .site-header .rs-header-pill { padding-left:15px !important;padding-right:15px !important;font-size:9.5px !important; }
}

@keyframes rsOfficialLine {
  0%{opacity:0;transform:scaleY(0);left:115px}
  18%{opacity:1;transform:scaleY(1);left:115px}
  58%{opacity:1;transform:scaleY(1);left:115px}
  100%{opacity:0;transform:scaleY(1);left:50px}
}
@keyframes rsOfficialIcon {
  0%,12%{opacity:0;transform:translate3d(0,0,0) scale(.72);clip-path:inset(0 50% 0 50%)}
  42%{opacity:1;transform:translate3d(0,0,0) scale(1);clip-path:inset(0 0 0 0)}
  76%{opacity:1;transform:translate3d(-84px,0,0) scale(1)}
  100%{opacity:0;transform:translate3d(-84px,0,0) scale(1);clip-path:inset(0 0 0 0)}
}
@keyframes rsOfficialLogo {
  0%{opacity:0;transform:translate3d(34px,0,0);clip-path:inset(0 0 0 22%)}
  30%{opacity:.45}
  80%{clip-path:inset(0 0 0 22%)}
  100%{opacity:1;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
}

@media (prefers-reduced-motion: reduce) and (min-width: 992px) {
  .rs-brand-official-animated .rs-brand-separator,
  .rs-brand-icon-official,
  .rs-brand-logo-official { animation:none !important; }
  .rs-brand-official-animated .rs-brand-separator,
  .rs-brand-icon-official { display:none !important; }
  .rs-brand-logo-official { opacity:1 !important;transform:none !important;clip-path:none !important; }
}

@media (max-width: 991px) {
  .header-top .logo img,
  .header-top .nav .inner > .logo img {
    width:auto !important;
    max-width:205px !important;
    max-height:56px !important;
    object-fit:contain !important;
  }
  .header-top .rs-mobile-secondary-services > a {
    color:#0a8f9d !important;
  }
  .header-top .rs-services-mobile-secondary {
    border-left:2px solid rgba(10,143,157,.22);
    padding-left:12px !important;
  }
}


/* =======================================================
   RS 2026 V10 · Header depurado + menús unidos + rombos RS
   Branding: SVG oficiales intactos, sin caja ni reinterpretación.
   ======================================================= */
@media (min-width: 992px) {
  /* Un poco menos ancho: más aire lateral sin perder presencia. */
  .site-header > .extend-container {
    width: calc(100% - 64px) !important;
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  /* Logo oficial directo sobre el header, sin placa/caja blanca. */
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 224px !important;
    flex: 0 0 224px !important;
    height: 58px !important;
  }
  .rs-brand-official-animated {
    width: 214px !important;
    height: 58px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .rs-brand-logo-official {
    left: 0 !important;
    width: 210px !important;
  }

  /* Navegación con más peso visual y menos sensación de mini texto. */
  .site-header .extend-container .main-navigation > ul.rs-header-nav {
    gap: 3px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li {
    margin: 0 1px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill) {
    min-height: 40px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .55px !important;
  }

  /* Instalaciones + RS Servicios: juntos, sin separador; rombos con los dos tonos RS. */
  .site-header .rs-secondary-services-menu {
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }
  .site-header .rs-installations-menu > a:before,
  .site-header .rs-secondary-services-menu .rs-secondary-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 1px !important;
    margin-right: 8px !important;
    transform: rotate(45deg) !important;
    box-shadow: none !important;
    flex: 0 0 7px !important;
  }
  .site-header .rs-installations-menu > a:before {
    background: #00b1be !important;
  }
  .site-header .rs-secondary-services-menu .rs-secondary-dot {
    display: inline-block !important;
    background: #008b99 !important;
  }
  .site-header .rs-secondary-services-menu > a {
    color: rgba(255,255,255,.86) !important;
    font-weight: 700 !important;
  }
  .site-header .rs-secondary-services-menu:hover > a { color:#fff !important; }

  /* Dropdowns algo más legibles. */
  .site-header .rs-dropdown-panel > li > a {
    font-size: 11px !important;
    line-height: 1.3 !important;
    padding: 11px 12px !important;
  }

  /* Acciones: mismo tamaño, más carácter, sin exceso de altura. */
  .site-header .rs-action-item { margin-left: 4px !important; }
  .site-header .rs-header-pill,
  .site-header .main-navigation a[href^="mailto:"].rs-contact-pill {
    height: 39px !important;
    min-height: 39px !important;
    max-height: 39px !important;
    padding: 0 17px !important;
    border-radius: 12px !important;
    gap: 8px !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: .72px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease !important;
  }
  .site-header .rs-contact-pill {
    background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.055)) !important;
    border: 1px solid rgba(0,177,190,.48) !important;
    box-shadow: 0 8px 22px rgba(2,18,30,.19), inset 0 1px 0 rgba(255,255,255,.09) !important;
  }
  .site-header .rs-contact-pill:before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 8px !important;
    bottom: 8px !important;
    width: 2px !important;
    border-radius: 3px !important;
    background: #00b1be !important;
    opacity: .9 !important;
  }
  .site-header .rs-contact-pill:hover {
    transform: translateY(-2px) !important;
    background: linear-gradient(145deg, rgba(0,177,190,.17), rgba(255,255,255,.075)) !important;
    border-color: rgba(0,177,190,.72) !important;
    box-shadow: 0 12px 28px rgba(0,177,190,.17), inset 0 1px 0 rgba(255,255,255,.11) !important;
  }
  .site-header .rs-phone-pill {
    background: linear-gradient(135deg, #00b1be 0%, #008b99 100%) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 9px 24px rgba(0,139,153,.30), inset 0 1px 0 rgba(255,255,255,.22) !important;
  }
  .site-header .rs-phone-pill:after {
    content:'' !important;
    position:absolute !important;
    width:46px !important;
    height:70px !important;
    top:-17px !important;
    left:-58px !important;
    transform:skewX(-18deg) !important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.19),transparent) !important;
    transition:left .48s ease !important;
    pointer-events:none !important;
  }
  .site-header .rs-phone-pill:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 13px 30px rgba(0,139,153,.38), inset 0 1px 0 rgba(255,255,255,.25) !important;
  }
  .site-header .rs-phone-pill:hover:after { left: 118% !important; }
  .site-header .rs-contact-pill img.mailto,
  .site-header .rs-phone-pill img.phone {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
    position:relative !important;
    z-index:2 !important;
  }
  .site-header .rs-header-pill span { position:relative; z-index:2; }

  /* Footer: el elemento central es SIEMPRE el icono oficial RS, no el logotipo completo. */
  .footer.rs-footer-redesign .rs-footer-logo-mark img {
    width: 126px !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

@media (min-width: 992px) and (max-width: 1280px) {
  .site-header > .extend-container {
    width: calc(100% - 28px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 200px !important;
    flex-basis: 200px !important;
  }
  .rs-brand-official-animated { width: 194px !important; }
  .rs-brand-logo-official { width: 190px !important; }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill) {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 10.7px !important;
    letter-spacing: .35px !important;
  }
  .site-header .rs-header-pill,
  .site-header .main-navigation a[href^="mailto:"].rs-contact-pill {
    padding-left: 13px !important;
    padding-right: 13px !important;
    font-size: 9.7px !important;
  }
}

@media (max-width: 991px) {
  .footer.rs-footer-redesign .rs-footer-logo-mark img {
    width: 108px !important;
    height: auto !important;
  }
}


/* =======================================================
   RS 2026 V11 · Header proporcionado + wordmark blanco + footer con aire
   El icono RS oficial permanece intacto. La palabra Instalaciones usa la
   variante vectorial blanca solicitada para trabajar sobre el fondo azul.
   ======================================================= */
@media (min-width: 992px) {
  /* Casi todo el ancho: aproximadamente 100 px por lado en pantallas grandes. */
  .site-header > .extend-container {
    width: calc(100% - clamp(80px, 10vw, 200px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Marca directamente sobre el azul: icono oficial + Instalaciones en blanco. */
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 224px !important;
    flex: 0 0 224px !important;
    height: 58px !important;
  }
  .rs-brand-official-animated {
    width: 214px !important;
    height: 58px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .rs-brand-icon-official {
    top: 9px !important;
    left: 99px !important;
    width: 36px !important;
    height: 40px !important;
  }
  .rs-brand-logo-official {
    top: 17px !important;
    left: 58px !important;
    width: 150px !important;
    height: 24px !important;
  }
  .rs-brand-logo-official img {
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:contain !important;
  }

  /* Más legibilidad sin separar los dos bloques de servicios. */
  .site-header .extend-container .main-navigation > ul.rs-header-nav {
    gap: 4px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill) {
    font-size: 12.3px !important;
    letter-spacing: .5px !important;
  }
  .site-header .rs-secondary-services-menu {
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  /* Acciones: dos pastillas completas, con más distancia y más detalle. */
  .site-header .rs-contact-item {
    margin-left: 14px !important;
  }
  .site-header .rs-phone-item {
    margin-left: 10px !important;
  }
  .site-header .rs-header-pill,
  .site-header .main-navigation a[href^="mailto:"].rs-contact-pill {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 17px 0 9px !important;
    border-radius: 999px !important;
    gap: 9px !important;
    font-size: 10.4px !important;
    letter-spacing: .72px !important;
  }

  /* Contacto: cristal vivo, SIN línea interior. */
  .site-header .rs-contact-pill {
    background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055)) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    color:#fff !important;
    box-shadow: 0 8px 22px rgba(2,18,30,.20), inset 0 1px 0 rgba(255,255,255,.10) !important;
  }
  .site-header .rs-contact-pill:before,
  .site-header .rs-contact-pill:after {
    content:none !important;
    display:none !important;
  }
  .site-header .rs-contact-pill img.mailto {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
    padding: 6px !important;
    border-radius: 999px !important;
    background: rgba(0,177,190,.20) !important;
    box-shadow: inset 0 0 0 1px rgba(0,177,190,.23) !important;
    filter: brightness(0) invert(1) !important;
  }
  .site-header .rs-contact-pill:hover {
    transform: translateY(-2px) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(0,177,190,.09)) !important;
    border-color: rgba(0,177,190,.52) !important;
    box-shadow: 0 13px 28px rgba(0,177,190,.13), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  /* Teléfonos: color RS, icono en burbuja y brillo muy sutil. */
  .site-header .rs-phone-pill {
    padding-right: 18px !important;
    background: linear-gradient(135deg,#00b1be 0%,#008b99 100%) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    box-shadow: 0 9px 24px rgba(0,139,153,.27), inset 0 1px 0 rgba(255,255,255,.24) !important;
  }
  .site-header .rs-phone-pill img.phone {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
    padding: 6px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.16) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12) !important;
    filter: brightness(0) invert(1) !important;
  }
  .site-header .rs-phone-pill:after {
    width: 40px !important;
    opacity: .72 !important;
  }
  .site-header .rs-phone-pill:hover {
    transform: translateY(-2px) scale(1.015) !important;
    box-shadow: 0 14px 30px rgba(0,139,153,.35), inset 0 1px 0 rgba(255,255,255,.28) !important;
  }

  /* Footer interior con respiración entre icono, secciones y tarjetas. */
  .footer.rs-footer-redesign {
    padding-top: 108px !important;
    padding-bottom: 62px !important;
  }
  .footer.rs-footer-redesign .rs-footer-shell {
    gap: 44px !important;
  }
  .footer.rs-footer-redesign .rs-footer-logo-mark {
    margin-bottom: 4px !important;
  }
  .footer.rs-footer-redesign .rs-footer-logo-mark img {
    width: 128px !important;
  }
  .footer.rs-footer-redesign .rs-footer-links {
    gap: 16px 44px !important;
    margin-top: 4px !important;
  }
  .footer.rs-footer-redesign .rs-footer-phonecards {
    gap: 22px !important;
    margin-top: 6px !important;
  }
  .footer.rs-footer-redesign .rs-footer-meta {
    margin-top: 12px !important;
    padding-top: 32px !important;
  }
}

/* Mantener suficiente ancho útil en portátiles sin comprimir el menú. */
@media (min-width: 992px) and (max-width: 1380px) {
  .site-header > .extend-container {
    width: calc(100% - 44px) !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 196px !important;
    flex-basis: 196px !important;
  }
  .rs-brand-official-animated { width: 190px !important; }
  .rs-brand-logo-official { left:54px !important; width:132px !important; }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill) {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 10.8px !important;
  }
  .site-header .rs-contact-item { margin-left: 8px !important; }
  .site-header .rs-phone-item { margin-left: 7px !important; }
  .site-header .rs-header-pill,
  .site-header .main-navigation a[href^="mailto:"].rs-contact-pill {
    padding-right: 13px !important;
    font-size: 9.5px !important;
  }
}

@media (max-width: 991px) {
  .footer.rs-footer-redesign {
    padding-top: 78px !important;
    padding-bottom: 48px !important;
  }
  .footer.rs-footer-redesign .rs-footer-shell {
    gap: 34px !important;
  }
  .footer.rs-footer-redesign .rs-footer-phonecards {
    gap: 16px !important;
  }
}

/* La animación termina con el icono oficial visible a la izquierda. */
@keyframes rsOfficialIcon {
  0%,12%{opacity:0;transform:translate3d(0,0,0) scale(.72);clip-path:inset(0 50% 0 50%)}
  42%{opacity:1;transform:translate3d(0,0,0) scale(1);clip-path:inset(0 0 0 0)}
  76%{opacity:1;transform:translate3d(-84px,0,0) scale(1)}
  100%{opacity:1;transform:translate3d(-84px,0,0) scale(1);clip-path:inset(0 0 0 0)}
}
@keyframes rsOfficialLogo {
  0%{opacity:0;transform:translate3d(38px,0,0);clip-path:inset(0 0 0 30%)}
  30%{opacity:.45}
  80%{clip-path:inset(0 0 0 12%)}
  100%{opacity:1;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
}

/* =======================================================
   RS 2026 V11.1 · Coherencia cromática menú / footer
   Los dos bloques de servicios heredan exactamente las familias
   cromáticas de las tarjetas RS Instalaciones y RS Servicios del footer.
   ======================================================= */
@media (min-width: 992px) {
  /* Header: ~100 px de aire a cada lado en desktop grande. */
  .site-header > .extend-container {
    width: calc(100% - 200px) !important;
  }

  /* Un poco más de separación entre las dos acciones del extremo derecho. */
  .site-header .rs-contact-item { margin-left: 18px !important; }
  .site-header .rs-phone-item { margin-left: 14px !important; }

  /* Trigger principal: mismo tono claro que RS Instalaciones del footer. */
  .site-header .rs-installations-menu > a,
  .site-header .rs-secondary-services-menu > a {
    border-radius: 12px !important;
    transition: background .2s ease, box-shadow .2s ease, transform .2s ease, color .2s ease !important;
  }
  .site-header .rs-installations-menu:hover > a,
  .site-header .rs-installations-menu:focus-within > a {
    color:#fff !important;
    background: linear-gradient(135deg, rgba(65,176,188,.98), rgba(85,190,200,.96)) !important;
    box-shadow: 0 8px 22px rgba(65,176,188,.24), inset 0 1px 0 rgba(255,255,255,.18) !important;
    transform: translateY(-1px) !important;
  }

  /* Trigger secundario: mismo tono oscuro que RS Servicios del footer. */
  .site-header .rs-secondary-services-menu:hover > a,
  .site-header .rs-secondary-services-menu:focus-within > a {
    color:#fff !important;
    background: linear-gradient(135deg, rgba(21,138,152,.98), rgba(15,116,129,.96)) !important;
    box-shadow: 0 8px 22px rgba(15,116,129,.28), inset 0 1px 0 rgba(255,255,255,.15) !important;
    transform: translateY(-1px) !important;
  }

  /* El propio desplegable continúa la misma identidad cromática. */
  .site-header .rs-installations-menu > .rs-dropdown-panel {
    background: linear-gradient(135deg, rgba(65,176,188,.985), rgba(85,190,200,.975)) !important;
    border-color: rgba(255,255,255,.20) !important;
    box-shadow: 0 22px 44px rgba(23,104,113,.30) !important;
  }
  .site-header .rs-secondary-services-menu > .rs-dropdown-panel {
    background: linear-gradient(135deg, rgba(21,138,152,.985), rgba(15,116,129,.975)) !important;
    border-color: rgba(255,255,255,.17) !important;
    box-shadow: 0 22px 44px rgba(5,73,82,.34) !important;
  }
  .site-header .rs-dropdown-panel > li > a {
    color: rgba(255,255,255,.94) !important;
  }
  .site-header .rs-dropdown-panel > li > a:hover,
  .site-header .rs-dropdown-panel > li > a:focus {
    color:#fff !important;
    background: rgba(255,255,255,.14) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.09) !important;
  }
}

/* Portátiles: se conserva espacio suficiente para que el menú no se comprima. */
@media (min-width: 992px) and (max-width: 1380px) {
  .site-header > .extend-container {
    width: calc(100% - 72px) !important;
  }
  .site-header .rs-contact-item { margin-left: 10px !important; }
  .site-header .rs-phone-item { margin-left: 10px !important; }
}


/* RS 2026 V12 · Redes conservadas en header V11 */
@media (min-width: 992px) {
  .site-header .rs-social-item { margin-left: 2px !important; display:flex !important; align-items:center !important; }
  .site-header .rs-header-social {
    width: 30px !important; height: 30px !important; min-width:30px !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    border-radius:999px !important; background:rgba(255,255,255,.07) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    transition:transform .2s ease, background .2s ease, border-color .2s ease !important;
  }
  .site-header .rs-header-social:hover { transform:translateY(-2px) !important; background:rgba(255,255,255,.14) !important; border-color:rgba(65,176,188,.45) !important; }
  .site-header .rs-header-social img.social-img { width:14px !important; height:14px !important; margin:0 !important; padding:0 !important; display:block !important; }
}
@media (min-width: 992px) and (max-width: 1380px) {
  .site-header .rs-header-social { width:27px !important; height:27px !important; min-width:27px !important; }
  .site-header .rs-header-social img.social-img { width:13px !important; height:13px !important; }
}


/* RS 2026 V12 · Fotovoltaica hero video */
.header-project.rs-video-hero{position:relative !important;overflow:hidden !important;isolation:isolate;background-position:center !important;background-size:cover !important;height:100vh !important;min-height:680px !important;}
.header-project.rs-video-hero .rs-service-media{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;}
.header-project.rs-video-hero .rs-service-video{position:absolute !important;inset:0 !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;min-width:0 !important;min-height:0 !important;object-fit:cover !important;object-position:center center !important;display:block !important;background:transparent;transform:none !important;-webkit-transform:none !important;-ms-transform:none !important;z-index:0 !important;}
.header-project.rs-video-hero::after{content:'';position:absolute;inset:0;z-index:1;background:rgba(5,14,19,.25);pointer-events:none;}
.header-project.rs-video-hero > .container{position:relative;z-index:2;}
.header-project.rs-video-hero .content__title{font-family:'Montserrat',sans-serif !important;font-weight:700 !important;letter-spacing:-.02em !important;}
video.rs-video-error{display:none !important;}
@media (max-width:767px){.header-project.rs-video-hero{height:100svh !important;min-height:560px !important}.header-project.rs-video-hero .rs-service-video{object-position:center center !important;}}

/* =======================================================
   RS 2026 V13 · Header usability + dropdown colour fidelity
   - Wordmark "Instalaciones" complete
   - Larger, easier service selectors
   - Colour belongs to dropdown panels, not the triggers
   - Simple contact/phone icon treatment
   ======================================================= */
@media (min-width: 992px) {
  /* Service selectors: larger text and much larger hit area. */
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li.rs-split-dropdown > a:not(.rs-header-pill) {
    min-height: 44px !important;
    padding: 0 12px !important;
    font-size: 13.2px !important;
    line-height: 1 !important;
    letter-spacing: .38px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    color: rgba(255,255,255,.95) !important;
  }
  .site-header .rs-secondary-services-menu > a {
    color: rgba(255,255,255,.92) !important;
  }
  .site-header .rs-installations-menu:hover > a,
  .site-header .rs-installations-menu:focus-within > a,
  .site-header .rs-secondary-services-menu:hover > a,
  .site-header .rs-secondary-services-menu:focus-within > a {
    background: rgba(255,255,255,.06) !important;
    box-shadow: none !important;
    transform: none !important;
    color: #fff !important;
  }

  /* Small service identifiers remain subtle; no filled trigger boxes. */
  .site-header .rs-installations-menu > a:before,
  .site-header .rs-secondary-services-menu .rs-secondary-dot {
    width: 6px !important;
    height: 6px !important;
    min-width: 6px !important;
    margin-right: 8px !important;
    box-shadow: 0 0 0 4px rgba(65,176,188,.10) !important;
  }

  /* Dropdown panels use the exact footer card colour families. */
  .site-header .rs-split-dropdown > .rs-dropdown-panel {
    top: 41px !important;
    padding: 12px !important;
    border-radius: 17px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  }
  .site-header .rs-installations-menu > .rs-dropdown-panel {
    width: 338px !important;
    min-width: 338px !important;
    background: linear-gradient(135deg, rgba(65,176,188,.99), rgba(85,190,200,.98)) !important;
    box-shadow: 0 24px 48px rgba(23,104,113,.31) !important;
  }
  .site-header .rs-secondary-services-menu > .rs-dropdown-panel {
    width: 282px !important;
    min-width: 282px !important;
    background: linear-gradient(135deg, rgba(21,138,152,.99), rgba(15,116,129,.98)) !important;
    box-shadow: 0 24px 48px rgba(5,73,82,.34) !important;
  }
  .site-header .rs-dropdown-panel > li > a {
    padding: 13px 15px !important;
    border-radius: 10px !important;
    font-size: 12.6px !important;
    line-height: 1.28 !important;
    letter-spacing: .28px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.96) !important;
  }
  .site-header .rs-dropdown-panel > li > a:hover,
  .site-header .rs-dropdown-panel > li > a:focus {
    background: rgba(255,255,255,.16) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10) !important;
  }

  /* Contact: simple envelope inside one circle. */
  .site-header .rs-contact-pill img.mailto {
    width: 25px !important;
    height: 25px !important;
    flex: 0 0 25px !important;
    padding: 5px !important;
    box-sizing: border-box !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.12) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10) !important;
    filter: brightness(0) invert(1) !important;
  }

  /* Phone SVG already contains its circle: no second bubble, no decoration. */
  .site-header .rs-phone-pill img.phone {
    width: 23px !important;
    height: 23px !important;
    flex: 0 0 23px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
  }
  .site-header .rs-phone-pill:before,
  .site-header .rs-phone-pill:after {
    display: none !important;
    content: none !important;
  }
}

/* Keep the menu readable on laptops without crushing the labels. */
@media (min-width: 992px) and (max-width: 1380px) {
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li.rs-split-dropdown > a:not(.rs-header-pill) {
    min-height: 42px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 11.8px !important;
    letter-spacing: .25px !important;
  }
  .site-header .rs-installations-menu > .rs-dropdown-panel {
    width: 318px !important;
    min-width: 318px !important;
  }
  .site-header .rs-secondary-services-menu > .rs-dropdown-panel {
    width: 264px !important;
    min-width: 264px !important;
  }
  .site-header .rs-dropdown-panel > li > a {
    font-size: 12px !important;
    padding: 12px 14px !important;
  }
}

/* =========================================================
   RS 2026 · Loader minimal 3D · icono oficial RS
   ========================================================= */
.dsn-loader{
  background:#f7f9fa;
  overflow:hidden;
  opacity:1;
}
.dsn-loader .dsn-up,
.dsn-loader .dsn-down{
  background:#f7f9fa !important;
  z-index:0;
}
.dsn-loader .dsn-progress-page{
  z-index:1 !important;
  pointer-events:none;
}
.dsn-loader .dsn-progress-page > svg,
.dsn-loader .dsn-progress-page .progressbar-text{
  display:none !important;
}
.rs-loader-stage{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:640px;
  pointer-events:none;
}
.rs-loader-stage::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:92px;
  height:92px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(0,177,190,.085) 0%,rgba(0,177,190,.025) 42%,rgba(0,177,190,0) 72%);
  filter:blur(1px);
  animation:rsLoaderAura 1.8s ease-in-out infinite alternate;
}
.rs-loader-mark{
  position:relative;
  width:70px;
  height:78px;
  transform-style:preserve-3d;
  will-change:transform,opacity,filter;
  animation:rsLoaderBuild 1.42s cubic-bezier(.2,.78,.22,1) both,
            rsLoaderBreathe 1.7s 1.42s ease-in-out infinite alternate;
}
.rs-loader-mark::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:-15px;
  height:8px;
  border-radius:50%;
  background:rgba(8,34,43,.12);
  filter:blur(7px);
  transform:translateZ(-14px) scaleX(.82);
  animation:rsLoaderShadow 1.42s cubic-bezier(.2,.78,.22,1) both;
}
.rs-loader-face{
  position:absolute;
  inset:0;
  display:block;
  background:url("../img/icono-RS-Instalaciones.svg") center/contain no-repeat;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform-style:preserve-3d;
  filter:drop-shadow(0 7px 10px rgba(0,65,75,.10));
}
.rs-loader-face--front{transform:translateZ(2px)}
.rs-loader-face--back{transform:rotateY(180deg) translateZ(2px)}
@keyframes rsLoaderBuild{
  0%{opacity:0;transform:translateZ(-22px) rotateY(-86deg) rotateX(10deg) rotateZ(-3deg) scale(.72);filter:blur(2.4px)}
  18%{opacity:1}
  42%{transform:translateZ(2px) rotateY(34deg) rotateX(1deg) rotateZ(-.5deg) scale(.90);filter:blur(.35px)}
  58%{transform:translateZ(30px) rotateY(10deg) rotateX(-2deg) rotateZ(.35deg) scale(1.105);filter:blur(0)}
  70%{transform:translateZ(12px) rotateY(-5deg) rotateX(0) rotateZ(0) scale(1.025)}
  82%{transform:translateZ(3px) rotateY(2deg) rotateX(0) rotateZ(0) scale(.992)}
  100%{opacity:1;transform:translateZ(0) rotateY(0) rotateX(0) rotateZ(0) scale(1);filter:blur(0)}
}
@keyframes rsLoaderBreathe{
  from{transform:rotateY(-2deg) translateY(0) scale(1)}
  to{transform:rotateY(4deg) translateY(-2px) scale(1.018)}
}
@keyframes rsLoaderShadow{
  0%{opacity:0;transform:translateZ(-14px) scaleX(.36)}
  42%{opacity:.45;transform:translateZ(-14px) scaleX(.62)}
  58%{opacity:.9;transform:translateZ(-14px) scaleX(1.02)}
  78%{opacity:.72;transform:translateZ(-14px) scaleX(.86)}
  100%{opacity:1;transform:translateZ(-14px) scaleX(.82)}
}
@keyframes rsLoaderAura{
  from{opacity:.5;transform:translate(-50%,-50%) scale(.92)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
}
@media (max-width:767px){
  .rs-loader-mark{width:60px;height:67px}
  .rs-loader-stage::before{width:82px;height:82px}
}
@media (prefers-reduced-motion:reduce){
  .rs-loader-mark,.rs-loader-mark::after,.rs-loader-stage::before{animation:none !important}
  .rs-loader-mark{opacity:1;transform:none}
}


/* =========================================================
   RS 2026 · CTA “Más información” redondeado y limpio
   Solo afecta a los CTA del slider, no a Next / Prev.
   ========================================================= */
.dsn-grid-info .custom-btn{
  min-height:46px;
  padding:0 7px 0 20px;
  gap:9px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(8,25,34,.20);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
  box-shadow:0 9px 26px rgba(2,15,22,.16),inset 0 1px 0 rgba(255,255,255,.08);
  transition:background .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease !important;
}
.dsn-grid-info .custom-btn .custom-btn__label{
  font-family:'Montserrat',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.075em;
  transform:none !important;
}
.dsn-grid-info .custom-btn .custom-btn__icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:linear-gradient(145deg,#00b1be,#008b99);
  box-shadow:0 5px 14px rgba(0,139,153,.25);
}
.dsn-grid-info .custom-btn .custom-btn__icon-small{
  width:11px;
  height:11px;
  top:11.5px;
  left:11.5px;
}
.dsn-grid-info .custom-btn .custom-btn__icon-circle{display:none !important}
.dsn-grid-info .custom-btn:hover{
  transform:translateY(-2px);
  background:rgba(0,177,190,.18);
  border-color:rgba(255,255,255,.48);
  box-shadow:0 13px 31px rgba(0,139,153,.20),inset 0 1px 0 rgba(255,255,255,.12);
}
.dsn-grid-info .custom-btn:hover .custom-btn__label{transform:none !important}
@media (max-width:767px){
  .dsn-grid-info .custom-btn{min-height:43px;padding-left:17px}
  .dsn-grid-info .custom-btn .custom-btn__icon{width:31px;height:31px;flex-basis:31px}
  .dsn-grid-info .custom-btn .custom-btn__icon-small{top:10px;left:10px}
}


/* =======================================================
   RS 2026 V16 · Header limpio, sin círculos extra ni subrayados
   ======================================================= */
@media (min-width: 992px) {
  /* Quitar cualquier línea/subrayado animado del menú superior. */
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a::after,
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > button::after {
    display:none !important;
    content:none !important;
    opacity:0 !important;
  }

  /* Hover sencillo: el elemento activo gana presencia y los demás bajan suavemente. */
  .site-header .rs-header-nav > li > a:not(.rs-header-pill),
  .site-header .rs-header-nav > li > .rs-header-pill,
  .site-header .rs-header-social {
    transition:opacity .22s ease, filter .22s ease, color .22s ease, background .22s ease, transform .22s ease !important;
  }
  .site-header .rs-header-nav:hover > li > a:not(.rs-header-pill),
  .site-header .rs-header-nav:hover > li > .rs-header-pill,
  .site-header .rs-header-nav:hover > li > .rs-header-social {
    opacity:.56 !important;
  }
  .site-header .rs-header-nav > li:hover > a:not(.rs-header-pill),
  .site-header .rs-header-nav > li:hover > .rs-header-pill,
  .site-header .rs-header-nav > li:hover > .rs-header-social {
    opacity:1 !important;
    filter:brightness(1.14) !important;
  }

  /* Contacto y teléfono: iconos limpios, sin círculo interior. */
  .site-header .rs-contact-pill img.mailto,
  .site-header .rs-phone-pill img.phone {
    width:18px !important;
    height:18px !important;
    flex:0 0 18px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    filter:none !important;
    opacity:1 !important;
    object-fit:contain !important;
  }
  .site-header .rs-contact-pill::before,
  .site-header .rs-contact-pill::after,
  .site-header .rs-phone-pill::before,
  .site-header .rs-phone-pill::after {
    display:none !important;
    content:none !important;
  }

  /* Redes: más grandes, sin círculo, borde ni fondo. */
  .site-header .rs-social-item {
    margin-left:7px !important;
  }
  .site-header .rs-header-social {
    width:27px !important;
    height:32px !important;
    min-width:27px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
  }
  .site-header .rs-header-social img.social-img {
    width:20px !important;
    height:20px !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    object-fit:contain !important;
  }
  .site-header .rs-header-social:hover {
    background:transparent !important;
    border-color:transparent !important;
    transform:none !important;
    filter:brightness(1.25) !important;
  }

  /* Las cajas ENTERAS de los dos submenús usan las mismas familias del footer. */
  .site-header .rs-installations-menu > .rs-dropdown-panel {
    background:linear-gradient(135deg,rgba(65,176,188,.98),rgba(85,190,200,.96)) !important;
    border-color:rgba(255,255,255,.18) !important;
  }
  .site-header .rs-secondary-services-menu > .rs-dropdown-panel {
    background:linear-gradient(135deg,rgba(21,138,152,.98),rgba(15,116,129,.96)) !important;
    border-color:rgba(255,255,255,.18) !important;
  }
  .site-header .rs-dropdown-panel > li > a::after {
    display:none !important;
    content:none !important;
  }
}

@media (min-width: 992px) and (max-width: 1380px) {
  .site-header .rs-header-social img.social-img { width:18px !important; height:18px !important; }
  .site-header .rs-contact-pill img.mailto,
  .site-header .rs-phone-pill img.phone { width:17px !important; height:17px !important; flex-basis:17px !important; }
}

/* RS SEO: semantic headings retain the established typography. */
.dsn-grid-slider .dsn-grid-content .dsn-grid-info .slide-content__kicker { line-height:1.2; }

/* =======================================================
   RS 2026 V14 · RS Servicios hub + azul/verde en navegación
   ======================================================= */
@media (min-width: 992px) {
  /* Familias visuales separadas: Instalaciones = azul / Servicios = verde. */
  .site-header .rs-installations-menu > a {
    color:#b9d9f4 !important;
  }
  .site-header .rs-secondary-services-menu > a {
    color:#a9e2b4 !important;
  }
  .site-header .rs-installations-menu:hover > a,
  .site-header .rs-installations-menu:focus-within > a {
    color:#fff !important;
    background:rgba(38,104,158,.18) !important;
  }
  .site-header .rs-secondary-services-menu:hover > a,
  .site-header .rs-secondary-services-menu:focus-within > a {
    color:#fff !important;
    background:rgba(83,176,104,.16) !important;
  }
  .site-header .rs-installations-menu > a:before {
    background:#5da3d9 !important;
    box-shadow:0 0 0 4px rgba(93,163,217,.12) !important;
  }
  .site-header .rs-secondary-services-menu .rs-secondary-dot {
    background:#71c780 !important;
    box-shadow:0 0 0 4px rgba(113,199,128,.12) !important;
  }
  .site-header .rs-installations-menu > .rs-dropdown-panel {
    width:360px !important;
    min-width:360px !important;
    background:linear-gradient(145deg,rgba(15,48,78,.99),rgba(25,83,124,.985)) !important;
    border-color:rgba(124,185,231,.20) !important;
    box-shadow:0 24px 52px rgba(4,24,41,.42) !important;
  }
  .site-header .rs-secondary-services-menu > .rs-dropdown-panel {
    width:300px !important;
    min-width:300px !important;
    background:linear-gradient(145deg,rgba(42,112,66,.99),rgba(78,161,92,.985)) !important;
    border-color:rgba(166,224,176,.20) !important;
    box-shadow:0 24px 52px rgba(19,68,33,.38) !important;
  }
  .site-header .rs-dropdown-panel > li > a {
    padding:15px 16px !important;
    font-size:14.4px !important;
    line-height:1.25 !important;
    letter-spacing:.18px !important;
    font-weight:600 !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li.rs-split-dropdown > a:not(.rs-header-pill) {
    font-size:14px !important;
    letter-spacing:.24px !important;
  }
}
@media (min-width: 992px) and (max-width: 1380px) {
  .site-header .rs-dropdown-panel > li > a { font-size:13.3px !important; }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li.rs-split-dropdown > a:not(.rs-header-pill) { font-size:12.6px !important; }
  .site-header .rs-installations-menu > .rs-dropdown-panel { width:338px !important; min-width:338px !important; }
  .site-header .rs-secondary-services-menu > .rs-dropdown-panel { width:286px !important; min-width:286px !important; }
}

/* Mobile: las dos familias también se reconocen de un vistazo. */
.header-top .rs-mobile-secondary-services > a { color:#78c989 !important; }
.header-top .rs-mobile-secondary-services .rs-services-mobile-secondary a { color:rgba(205,242,212,.92) !important; }

/* Hub RS Servicios */
.rs-services-hub {
  --rsh-green:#69bf78;
  --rsh-green-deep:#2f7b4a;
  --rsh-green-soft:#dff3e3;
  --rsh-blue:#153a5a;
  --rsh-ink:#0f1e28;
  position:relative;
  min-height:100vh;
  padding:150px 0 86px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 14%, rgba(118,201,131,.22), transparent 30%),
    radial-gradient(circle at 15% 82%, rgba(58,116,161,.18), transparent 36%),
    linear-gradient(145deg,#07131c 0%,#0c1f2b 52%,#102b28 100%);
  color:#fff;
  font-family:'Montserrat',sans-serif;
}
.rs-services-hub:before,
.rs-services-hub:after {
  content:'';
  position:absolute;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.08);
  transform:rotate(28deg);
  border-radius:38px;
}
.rs-services-hub:before { width:520px;height:520px;right:-220px;top:40px; }
.rs-services-hub:after { width:390px;height:390px;left:-190px;bottom:-165px;border-color:rgba(105,191,120,.13); }
.rs-services-hub__inner {
  width:min(1380px,calc(100% - 96px));
  margin:0 auto;
  position:relative;
  z-index:2;
}
.rs-services-hub__top {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:70px;
  align-items:end;
  margin-bottom:52px;
}
.rs-services-hub__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin-bottom:18px;
  color:#a9e2b4;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.rs-services-hub__eyebrow:before {
  content:'';
  width:9px;height:9px;
  border-radius:3px;
  background:var(--rsh-green);
  transform:rotate(30deg);
  box-shadow:0 0 0 5px rgba(105,191,120,.10);
}
.rs-services-hub h1 {
  max-width:850px;
  margin:0;
  color:#fff;
  font-size:clamp(46px,5.7vw,88px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:700;
}
.rs-services-hub h1 span { color:#8dd49a; }
.rs-services-hub__lead {
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.62;
  font-weight:400;
}
.rs-services-hub__lead strong { color:#fff;font-weight:600; }
.rs-services-hub__count {
  display:inline-flex;
  margin-top:24px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.86);
  font-size:12px;
  font-weight:600;
  letter-spacing:.5px;
  backdrop-filter:blur(10px);
}
.rs-services-grid {
  display:grid;
  grid-template-columns:1.12fr .88fr;
  grid-template-rows:1fr 1fr;
  gap:18px;
  min-height:640px;
}
.rs-service-card {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:0;
  overflow:hidden;
  padding:34px;
  color:#fff !important;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:rgba(255,255,255,.055);
  box-shadow:0 18px 50px rgba(0,0,0,.16);
  backdrop-filter:blur(16px);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .35s ease;
}
.rs-service-card:hover {
  transform:translateY(-5px);
  border-color:rgba(255,255,255,.24);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
}
.rs-service-card--electricity {
  grid-row:1 / span 2;
  background:
    radial-gradient(circle at 80% 15%,rgba(228,255,217,.24),transparent 27%),
    linear-gradient(150deg,#356d45 0%,#63b875 53%,#7ac788 100%);
}
.rs-service-card--gas {
  background:linear-gradient(145deg,rgba(22,70,89,.95),rgba(27,104,95,.92));
}
.rs-services-grid__pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.rs-service-card--phone { background:linear-gradient(145deg,rgba(32,66,71,.94),rgba(52,118,81,.90)); }
.rs-service-card--internet { background:linear-gradient(145deg,rgba(18,48,67,.96),rgba(33,89,75,.92)); }
.rs-service-card__top { display:flex;justify-content:space-between;align-items:flex-start;gap:20px;position:relative;z-index:2; }
.rs-service-card__num { color:rgba(255,255,255,.58);font-size:12px;font-weight:700;letter-spacing:1.4px; }
.rs-service-card__icon {
  width:58px;height:58px;min-width:58px;
  display:flex;align-items:center;justify-content:center;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.rs-service-card__icon svg { width:27px;height:27px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.rs-service-card__content { position:relative;z-index:2; }
.rs-service-card__label { margin:0 0 10px;color:rgba(255,255,255,.64);font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase; }
.rs-service-card h2 { margin:0;color:#fff;font-size:clamp(30px,3vw,50px);line-height:1.02;letter-spacing:-.035em;font-weight:700; }
.rs-service-card--phone h2,
.rs-service-card--internet h2 { font-size:clamp(25px,2.2vw,36px); }
.rs-service-card p { max-width:540px;margin:17px 0 0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.55; }
.rs-service-card--electricity p { font-size:17px;line-height:1.55; }
.rs-service-card__promise {
  max-width:610px;
  margin:28px 0 0;
  color:#fff;
  font-size:clamp(24px,2.7vw,39px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:600;
}
.rs-service-card__promise em { display:block;margin-top:10px;font-style:normal;color:#e9ffe8;font-size:.46em;line-height:1.45;letter-spacing:0;font-weight:500; }
.rs-service-card__footer { display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:32px;position:relative;z-index:2; }
.rs-service-card__link { display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.3px; }
.rs-service-card__arrow {
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;background:rgba(255,255,255,.13);font-size:18px;transition:transform .25s ease,background .25s ease;
}
.rs-service-card:hover .rs-service-card__arrow { transform:translateX(4px);background:rgba(255,255,255,.20); }
.rs-service-card__watermark {
  position:absolute;right:-22px;bottom:-36px;
  color:rgba(255,255,255,.055);
  font-size:clamp(120px,18vw,260px);
  line-height:.8;font-weight:700;letter-spacing:-.08em;
  pointer-events:none;user-select:none;
}
.rs-services-hub__bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:34px;
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:rgba(255,255,255,.045);
}
.rs-services-hub__bottom-copy { display:flex;align-items:center;gap:18px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.5; }
.rs-services-hub__bottom-mark { width:11px;height:11px;border-radius:3px;background:#72c881;transform:rotate(30deg);box-shadow:0 0 0 7px rgba(114,200,129,.08); }
.rs-services-hub__cta {
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 22px;border-radius:999px;
  background:#72c881;color:#092016 !important;text-decoration:none !important;
  font-size:13px;font-weight:700;white-space:nowrap;
  transition:transform .25s ease,background .25s ease;
}
.rs-services-hub__cta:hover { transform:translateY(-2px);background:#8bd598; }

@media (max-width: 991px) {
  .rs-services-hub { padding:118px 0 66px; }
  .rs-services-hub__inner { width:min(100% - 36px,760px); }
  .rs-services-hub__top { grid-template-columns:1fr;gap:24px;margin-bottom:34px; }
  .rs-services-hub h1 { font-size:clamp(42px,11vw,68px); }
  .rs-services-hub__lead { font-size:16px; }
  .rs-services-grid { display:flex;flex-direction:column;min-height:0; }
  .rs-services-grid__pair { grid-template-columns:1fr 1fr; }
  .rs-service-card { min-height:300px;padding:28px;border-radius:24px; }
  .rs-service-card--electricity { min-height:530px; }
  .rs-service-card__promise { font-size:clamp(25px,6vw,36px); }
  .rs-services-hub__bottom { align-items:flex-start;flex-direction:column; }
}
@media (max-width: 620px) {
  .rs-services-hub { padding-top:104px; }
  .rs-services-hub__inner { width:calc(100% - 24px); }
  .rs-services-grid__pair { grid-template-columns:1fr; }
  .rs-service-card { min-height:280px;padding:24px; }
  .rs-service-card--electricity { min-height:500px; }
  .rs-service-card__icon { width:50px;height:50px;min-width:50px;border-radius:15px; }
  .rs-service-card h2,.rs-service-card--phone h2,.rs-service-card--internet h2 { font-size:31px; }
  .rs-service-card__promise { font-size:28px; }
  .rs-services-hub__bottom { padding:22px; }
  .rs-services-hub__cta { width:100%; }
}


/* =========================================================
   RS SERVICIOS · V2 BLOQUEADA · 2026-09-17
   Solo Montserrat. Geometría de fondo muy tenue y rounded.
   ========================================================= */
.rs-services-v2,
.rs-services-v2 * ,
.rs-nerea-offer,
.rs-nerea-offer *,
.rs-offer-steps,
.rs-offer-steps * {
  font-family: "Montserrat", Arial, sans-serif !important;
}
.rs-services-v2 {
  --rs-v2-bg:#071b1a;
  --rs-v2-bg-2:#0a2420;
  --rs-v2-green:#74c982;
  --rs-v2-green-soft:#96d79d;
  --rs-v2-green-deep:#1f6d50;
  position:relative;
  overflow:hidden;
  padding:142px 0 92px;
  background:
    linear-gradient(135deg, rgba(8,31,29,.98), rgba(5,25,27,.995)),
    #071b1a;
  color:#fff;
}
.rs-services-v2:before {
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(115deg, transparent 0 64%, rgba(89,159,111,.08) 64% 66%, transparent 66%),
    linear-gradient(26deg, transparent 0 77%, rgba(89,159,111,.05) 77% 79%, transparent 79%);
  pointer-events:none;
}
.rs-services-v2__geometry {
  position:absolute;
  inset:-8% -3% auto -3%;
  width:106%;
  height:112%;
  color:rgba(118,202,130,.18);
  pointer-events:none;
}
.rs-services-v2__geometry .geo { vector-effect:non-scaling-stroke; stroke-width:1.4; opacity:.18; }
.rs-services-v2__geometry .geo--center-up,
.rs-services-v2__geometry .geo--right-center,
.rs-services-v2__geometry .geo--center-down { opacity:.28; stroke-width:1.55; }
.rs-services-v2__geometry .geo--diamond { opacity:.12; }
.rs-services-v2__inner { position:relative;z-index:2;width:min(100% - 96px,1320px);margin:0 auto; }
.rs-services-v2__top {
  display:grid;grid-template-columns:1.08fr .72fr;align-items:end;gap:72px;margin-bottom:46px;
}
.rs-services-v2__eyebrow {
  display:flex;align-items:center;gap:11px;margin-bottom:19px;color:#8dd99a;
  font-size:12px;font-weight:700;letter-spacing:1.9px;text-transform:uppercase;
}
.rs-services-v2__eyebrow span { width:9px;height:9px;border-radius:50%;background:#70c881;box-shadow:0 0 0 6px rgba(112,200,129,.06); }
.rs-services-v2 h1 {
  margin:0;max-width:830px;color:#fff;font-size:clamp(52px,5.65vw,88px);
  line-height:.98;letter-spacing:-.055em;font-weight:700;
}
.rs-services-v2 h1 em { color:#87d592;font-style:normal; }
.rs-services-v2__intro { padding-bottom:8px; }
.rs-services-v2__intro p { margin:0 0 22px;max-width:520px;color:rgba(255,255,255,.76);font-size:17px;line-height:1.62; }
.rs-services-v2__intro strong { color:#fff;font-weight:700; }
.rs-services-v2__intro > span {
  display:inline-flex;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.045);color:rgba(255,255,255,.86);font-size:12px;font-weight:600;
}
.rs-services-v2__grid {
  display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:1fr 1fr;gap:18px;min-height:650px;
}
.rs-services-v2__small-pair { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.rs-v2-card {
  position:relative;overflow:hidden;display:flex;align-items:stretch;min-height:0;
  border:1px solid rgba(212,246,217,.20);border-radius:28px;text-decoration:none !important;color:#fff !important;
  background:#2a7957;isolation:isolate;
  transition:transform .32s cubic-bezier(.2,.7,.2,1), border-color .3s ease, filter .3s ease;
}
.rs-v2-card:before {
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,0) 42%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.10));
}
.rs-v2-card:after {
  content:"";position:absolute;width:430px;height:430px;right:-170px;bottom:-235px;z-index:-1;
  border:1px solid rgba(222,255,225,.12);border-radius:94px;transform:rotate(45deg);
}
.rs-v2-card:hover { transform:translateY(-4px);border-color:rgba(225,255,228,.32);filter:saturate(1.04); }
.rs-v2-card--electricity {
  grid-row:1 / span 2;
  background:
    linear-gradient(145deg,rgba(91,167,102,.97),rgba(43,116,75,.98)),
    #438a5b;
}
.rs-v2-card--gas { background:linear-gradient(145deg,#317b5a,#286d50); }
.rs-v2-card--phone { background:linear-gradient(145deg,#3e8a65,#31785a); }
.rs-v2-card--internet { background:linear-gradient(145deg,#347a5d,#245e4d); }
.rs-v2-card__num {
  position:absolute;top:28px;left:30px;z-index:4;color:rgba(255,255,255,.74);
  font-size:12px;font-weight:700;letter-spacing:1.5px;
}
.rs-v2-card__copy {
  position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;
  width:58%;padding:78px 22px 38px 30px;
}
.rs-v2-card--gas .rs-v2-card__copy { width:56%; }
.rs-v2-card--phone .rs-v2-card__copy,
.rs-v2-card--internet .rs-v2-card__copy { width:62%;padding:72px 14px 24px 24px; }
.rs-v2-card__copy h2 {
  margin:0 0 12px;color:#fff;font-size:clamp(36px,3.45vw,58px);line-height:.98;letter-spacing:-.045em;font-weight:700;
}
.rs-v2-card--gas h2 { font-size:clamp(34px,3vw,52px); }
.rs-v2-card--phone h2,.rs-v2-card--internet h2 { font-size:clamp(24px,2.1vw,35px); }
.rs-v2-card__copy h3 { margin:0 0 12px;color:#fff;font-size:clamp(20px,2.15vw,34px);line-height:1.12;font-weight:600;letter-spacing:-.025em; }
.rs-v2-card--gas h3 { font-size:clamp(18px,1.55vw,25px); }
.rs-v2-card--phone h3,.rs-v2-card--internet h3 { font-size:15px;line-height:1.35; }
.rs-v2-card__copy p { margin:0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.55; }
.rs-v2-card__button {
  display:inline-flex;align-items:center;justify-content:space-between;gap:34px;width:max-content;min-width:188px;
  margin-top:28px;padding:14px 17px 14px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.07);color:#fff;font-size:13px;font-weight:700;
}
.rs-v2-card__button b { font-size:18px;font-weight:500;transition:transform .25s ease; }
.rs-v2-card:hover .rs-v2-card__button b { transform:translateX(3px); }
.rs-v2-card--phone .rs-v2-card__button,.rs-v2-card--internet .rs-v2-card__button { min-width:0;margin-top:18px;padding:10px 13px 10px 15px;font-size:11px;gap:12px; }
.rs-v2-card__visual {
  position:absolute;z-index:2;right:2.8%;top:50%;width:44%;height:80%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:center;
}
.rs-v2-card__visual:before {
  content:"";position:absolute;width:76%;aspect-ratio:1;border-radius:30px;transform:rotate(45deg);
  border:1px solid rgba(235,255,237,.10);background:rgba(233,255,237,.025);
}
.rs-v2-card__visual img { position:relative;z-index:2;max-width:92%;max-height:88%;filter:drop-shadow(0 16px 22px rgba(0,0,0,.16)); }
.rs-v2-card--gas .rs-v2-card__visual { width:42%;right:2%;height:78%; }
.rs-v2-card--phone .rs-v2-card__visual,.rs-v2-card--internet .rs-v2-card__visual { width:43%;right:2%;height:70%; }
.rs-v2-card--phone .rs-v2-card__visual:before,.rs-v2-card--internet .rs-v2-card__visual:before { width:88%;border-radius:24px; }

.rs-nerea-offer {
  position:relative;padding:72px 0;background:#f1f4ea;color:#102b29;overflow:hidden;
}
.rs-nerea-offer:after {
  content:"";position:absolute;right:-110px;top:-180px;width:520px;height:520px;border-radius:96px;transform:rotate(45deg);
  border:1px solid rgba(48,118,86,.09);pointer-events:none;
}
.rs-nerea-offer__shell {
  position:relative;z-index:2;width:min(100% - 96px,1320px);margin:0 auto;
  display:grid;grid-template-columns:330px 1fr 370px;gap:0;
  border:1px solid rgba(30,98,73,.12);border-radius:30px;overflow:hidden;background:rgba(255,255,255,.58);
}
.rs-nerea-offer__portrait { min-height:410px;overflow:hidden;background:#dce9df; }
.rs-nerea-offer__portrait img { width:100%;height:100%;object-fit:cover;object-position:50% 33%;display:block; }
.rs-nerea-offer__content { padding:48px 38px; }
.rs-nerea-offer__eyebrow { color:#22805a;font-size:12px;line-height:1;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px; }
.rs-nerea-offer h2 { margin:0 0 15px;color:#102b29;font-size:clamp(34px,3vw,48px);line-height:1.02;letter-spacing:-.045em;font-weight:700; }
.rs-nerea-offer__content > p { max-width:660px;margin:0;color:#49625d;font-size:15px;line-height:1.62; }
.rs-nerea-offer__actions { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px; }
.rs-nerea-action {
  appearance:none;border:1px solid rgba(25,99,72,.12);border-radius:16px;background:#fff;color:#12352f !important;
  display:flex;align-items:center;gap:10px;min-height:76px;padding:12px 12px;text-decoration:none !important;text-align:left;cursor:pointer;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.rs-nerea-action:hover { transform:translateY(-2px);border-color:rgba(25,99,72,.25); }
.rs-nerea-action--primary { background:#e4f2e3; }
.rs-nerea-action__icon { width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;background:#2d9b64;color:#fff;font-size:16px; }
.rs-nerea-action span:nth-child(2) { display:flex;flex-direction:column;gap:2px; }
.rs-nerea-action small { color:#70847f;font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.8px;font-weight:600; }
.rs-nerea-action strong { color:#173833;font-size:12px;line-height:1.25;font-weight:700; }
.rs-nerea-action > b { margin-left:auto;color:#2d7b59;font-size:16px; }
.rs-callback-form {
  position:relative;margin-top:12px;padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(25,99,72,.14);
  display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;
}
.rs-callback-form[hidden] { display:none !important; }
.rs-callback-form label { display:flex;flex-direction:column;gap:5px; }
.rs-callback-form label span { font-size:9px;color:#6b827d;text-transform:uppercase;letter-spacing:.7px;font-weight:700; }
.rs-callback-form input { width:100%;height:43px;border:1px solid #dfe8e2;border-radius:10px;padding:0 12px;font-size:12px;color:#183b35;background:#fbfdfb;outline:none; }
.rs-callback-form button[type="submit"] { height:43px;border:0;border-radius:11px;padding:0 16px;background:#2b9361;color:#fff;font-weight:700;font-size:12px;cursor:pointer; }
.rs-callback-form__close { position:absolute;right:5px;top:-31px;border:0;background:transparent;color:#47685f;font-size:22px;cursor:pointer; }
.rs-nerea-offer__invoice {
  padding:42px 32px;background:linear-gradient(160deg,#163f34,#0e312a);color:#fff;
}
.rs-nerea-offer__invoice-head { display:flex;flex-direction:column;gap:6px;margin-bottom:10px; }
.rs-nerea-offer__invoice-head span { color:#8fd7a0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px; }
.rs-nerea-offer__invoice-head strong { font-size:26px;line-height:1.08;letter-spacing:-.03em; }
.rs-nerea-offer__invoice > p { margin:0 0 18px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5; }
.rs-invoice-share { display:grid;grid-template-columns:1fr 1fr;gap:9px; }
.rs-invoice-drop { grid-column:1/-1;min-height:112px;border:1px dashed rgba(255,255,255,.28);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;cursor:pointer;background:rgba(255,255,255,.04); }
.rs-invoice-drop input { position:absolute;opacity:0;pointer-events:none; }
.rs-invoice-drop__icon { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#67bd78;color:#0d3026;font-weight:700;font-size:20px; }
.rs-invoice-drop strong { font-size:12px;color:#fff; }
.rs-invoice-drop small { font-size:9px;color:rgba(255,255,255,.55); }
.rs-invoice-share > input { min-width:0;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(255,255,255,.06);padding:0 11px;color:#fff;font-size:11px;outline:none; }
.rs-invoice-share > input::placeholder { color:rgba(255,255,255,.48); }
.rs-invoice-share > button { grid-column:1/-1;height:44px;border:0;border-radius:12px;background:#72c781;color:#0c2d23;font-weight:700;cursor:pointer; }
.rs-invoice-share__note { grid-column:1/-1;color:rgba(255,255,255,.48);font-size:9px;line-height:1.4; }

.rs-offer-steps { padding:52px 0 58px;background:#0b2d27;color:#fff; }
.rs-offer-steps__inner { width:min(100% - 96px,1320px);margin:0 auto; }
.rs-offer-steps__head { text-align:center;margin-bottom:32px; }
.rs-offer-steps__head > span { color:#81cf8d;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700; }
.rs-offer-steps__head h2 { margin:5px 0 0;font-size:34px;line-height:1.05;letter-spacing:-.035em;font-weight:700; }
.rs-offer-steps__head em { color:#79ce87;font-style:normal; }
.rs-offer-steps ol { list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0; }
.rs-offer-steps li { position:relative;display:flex;gap:14px;padding:8px 24px;border-left:1px solid rgba(255,255,255,.10); }
.rs-offer-steps li:first-child { border-left:0; }
.rs-offer-steps li > b { color:#8ed69a;font-size:13px;line-height:1.3; }
.rs-offer-steps li div { display:flex;flex-direction:column;gap:5px; }
.rs-offer-steps li strong { color:#fff;font-size:13px;line-height:1.3; }
.rs-offer-steps li span { color:rgba(255,255,255,.58);font-size:10px;line-height:1.5; }

@media (max-width: 1100px) {
  .rs-services-v2__inner,.rs-nerea-offer__shell,.rs-offer-steps__inner { width:min(100% - 40px,930px); }
  .rs-services-v2__top { grid-template-columns:1fr;gap:26px; }
  .rs-services-v2__grid { grid-template-columns:1fr;grid-template-rows:auto;min-height:0; }
  .rs-v2-card--electricity { grid-row:auto;min-height:560px; }
  .rs-v2-card--gas { min-height:330px; }
  .rs-services-v2__small-pair { min-height:300px; }
  .rs-nerea-offer__shell { grid-template-columns:280px 1fr; }
  .rs-nerea-offer__invoice { grid-column:1/-1; }
}
@media (max-width: 760px) {
  .rs-services-v2 { padding:112px 0 58px; }
  .rs-services-v2__inner,.rs-nerea-offer__shell,.rs-offer-steps__inner { width:min(100% - 28px,620px); }
  .rs-services-v2 h1 { font-size:clamp(40px,12vw,64px); }
  .rs-services-v2__intro p { font-size:15px; }
  .rs-v2-card--electricity { min-height:520px; }
  .rs-v2-card--gas { min-height:300px; }
  .rs-services-v2__small-pair { grid-template-columns:1fr;min-height:0; }
  .rs-v2-card--phone,.rs-v2-card--internet { min-height:280px; }
  .rs-v2-card__copy { width:66%;padding-left:22px; }
  .rs-v2-card--phone .rs-v2-card__copy,.rs-v2-card--internet .rs-v2-card__copy { width:64%; }
  .rs-v2-card__visual { width:42%;right:0; }
  .rs-nerea-offer { padding:44px 0; }
  .rs-nerea-offer__shell { display:block;border-radius:22px; }
  .rs-nerea-offer__portrait { height:300px;min-height:0; }
  .rs-nerea-offer__content { padding:30px 20px; }
  .rs-nerea-offer__actions { grid-template-columns:1fr; }
  .rs-callback-form { grid-template-columns:1fr; }
  .rs-nerea-offer__invoice { padding:30px 20px; }
  .rs-offer-steps ol { grid-template-columns:1fr 1fr;row-gap:20px; }
  .rs-offer-steps li:nth-child(3) { border-left:0; }
}
@media (max-width: 520px) {
  .rs-services-v2__inner,.rs-nerea-offer__shell,.rs-offer-steps__inner { width:calc(100% - 20px); }
  .rs-v2-card { border-radius:22px; }
  .rs-v2-card--electricity { min-height:560px; }
  .rs-v2-card__copy,.rs-v2-card--gas .rs-v2-card__copy,.rs-v2-card--phone .rs-v2-card__copy,.rs-v2-card--internet .rs-v2-card__copy {
    width:100%;padding:70px 20px 24px;
  }
  .rs-v2-card__visual { opacity:.42;width:70%;right:-18%;top:42%; }
  .rs-v2-card__copy h2 { font-size:38px; }
  .rs-v2-card--gas h2,.rs-v2-card--phone h2,.rs-v2-card--internet h2 { font-size:32px; }
  .rs-services-v2__small-pair { gap:14px; }
  .rs-offer-steps ol { grid-template-columns:1fr; }
  .rs-offer-steps li { border-left:0;border-top:1px solid rgba(255,255,255,.08);padding:18px 0; }
  .rs-offer-steps li:first-child { border-top:0; }
  .rs-invoice-share { grid-template-columns:1fr; }
  .rs-invoice-drop,.rs-invoice-share > button,.rs-invoice-share__note { grid-column:1; }
}


/* =========================================================
   RS SERVICIOS · V3 banner corporativo
   ========================================================= */
.rs-v2-card__visual img {
  transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease;
  transform-origin: 50% 58%;
}
.rs-v2-card:hover .rs-v2-card__visual img {
  transform: translateY(-8px) scale(1.05) rotate(-1.5deg);
  filter: drop-shadow(0 26px 28px rgba(0,0,0,.22));
}
.rs-v2-card--electricity .rs-v2-card__visual:after,
.rs-v2-card--gas .rs-v2-card__visual:after,
.rs-v2-card--phone .rs-v2-card__visual:after,
.rs-v2-card--internet .rs-v2-card__visual:after {
  content:""; position:absolute; inset:auto; width:74%; height:74%; border-radius:38px; opacity:.18;
  background: radial-gradient(circle at 40% 40%, rgba(232,255,233,.38), transparent 58%);
  filter: blur(26px); z-index:1; transition: opacity .35s ease, transform .55s cubic-bezier(.2,.7,.2,1);
}
.rs-v2-card:hover .rs-v2-card__visual:after { opacity:.28; transform: scale(1.08); }
.rs-v2-card--electricity::before {
  background:
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,0) 42%),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.10)),
    radial-gradient(circle at 72% 38%, rgba(244,255,236,.18), transparent 25%);
}

.rs-conversion-banner {
  position:relative;
  padding:22px 0 56px;
  background:linear-gradient(180deg, #071b1a 0%, #0b211d 20%, #081d1b 100%);
  color:#fff;
  overflow:hidden;
}
.rs-conversion-banner::before {
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(122deg, transparent 0 68%, rgba(125,204,138,.05) 68% 70%, transparent 70%),
    linear-gradient(36deg, transparent 0 74%, rgba(125,204,138,.04) 74% 76%, transparent 76%);
  pointer-events:none;
}
.rs-conversion-banner::after {
  content:""; position:absolute; right:-220px; bottom:-170px; width:600px; height:600px; border-radius:120px;
  transform:rotate(45deg); border:1px solid rgba(140,216,151,.08); opacity:.5; pointer-events:none;
}
.rs-conversion-banner__shell {
  position:relative; z-index:2; width:min(100% - 96px,1320px); margin:0 auto;
  border-radius:34px; border:1px solid rgba(216,250,221,.12);
  background:linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  box-shadow:0 28px 80px rgba(0,0,0,.18); overflow:hidden;
}
.rs-conversion-banner__hero {
  position:relative; display:grid; grid-template-columns:1.15fr .85fr; min-height:330px;
  background:
    linear-gradient(115deg, rgba(12,41,34,.95), rgba(8,31,28,.96) 58%, rgba(8,31,28,.72));
}
.rs-conversion-banner__hero::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(circle at 76% 34%, rgba(126,214,144,.10), transparent 23%),
    radial-gradient(circle at 28% 86%, rgba(126,214,144,.08), transparent 18%),
    linear-gradient(90deg, transparent 0 62%, rgba(255,255,255,.035) 62%, transparent 100%);
  animation: rsBannerShift 18s linear infinite alternate;
  pointer-events:none;
}
@keyframes rsBannerShift {
  from { transform:translate3d(0,0,0) scale(1); }
  to { transform:translate3d(-2%,1%,0) scale(1.03); }
}
.rs-conversion-banner__copy {
  position:relative; z-index:2; padding:42px 42px 36px 44px; display:flex; flex-direction:column; justify-content:center;
}
.rs-conversion-banner__eyebrow {
  display:flex; align-items:center; gap:10px; margin-bottom:16px; color:#8fda9a; font-size:12px; font-weight:700; letter-spacing:1.7px; text-transform:uppercase;
}
.rs-conversion-banner__eyebrow span { width:9px; height:9px; border-radius:50%; background:#82d58f; box-shadow:0 0 0 6px rgba(130,213,143,.08); }
.rs-conversion-banner__copy h2 {
  margin:0; max-width:760px; color:#fff; font-size:clamp(38px,3.95vw,64px); line-height:1.02; letter-spacing:-.05em; font-weight:700;
}
.rs-conversion-banner__copy p {
  margin:18px 0 0; max-width:720px; color:rgba(255,255,255,.74); font-size:16px; line-height:1.68;
}
.rs-conversion-banner__switches { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.rs-conversion-banner__switches button {
  appearance:none; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(255,255,255,.055);
  color:#fff; font-size:13px; font-weight:700; letter-spacing:-.01em; padding:14px 18px; cursor:pointer; transition:.28s ease;
}
.rs-conversion-banner__switches button:hover { background:rgba(255,255,255,.09); transform:translateY(-1px); }
.rs-conversion-banner__switches button.is-active { background:linear-gradient(135deg,#78ca86,#5aad72); color:#08221d; border-color:transparent; }
.rs-conversion-banner__meta { display:flex; flex-wrap:wrap; gap:10px 14px; margin-top:16px; }
.rs-conversion-banner__meta span { display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.04); color:rgba(255,255,255,.64); font-size:11px; font-weight:600; }
.rs-conversion-banner__figure {
  position:relative; overflow:hidden; min-height:330px; display:flex; align-items:flex-end; justify-content:flex-end;
}
.rs-conversion-banner__figure::before {
  content:""; position:absolute; inset:0; background:
    linear-gradient(180deg, rgba(11,34,28,0) 0%, rgba(11,34,28,.18) 100%),
    linear-gradient(135deg, rgba(138,223,149,.13), rgba(138,223,149,0) 34%);
}
.rs-conversion-banner__figure::after {
  content:""; position:absolute; inset:auto -6% -18% auto; width:74%; aspect-ratio:1; border-radius:64px; transform:rotate(45deg);
  border:1px solid rgba(217,251,221,.10); background:rgba(217,251,221,.02);
}
.rs-conversion-banner__figure-media {
  position:relative; z-index:2; width:min(460px,88%); margin-right:18px; margin-bottom:0; align-self:stretch; display:flex; align-items:flex-end;
}
.rs-conversion-banner__figure-media img { width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; filter:saturate(.98) contrast(1.02); }

.rs-conversion-panels { background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.015)); border-top:1px solid rgba(255,255,255,.08); }
.rs-conversion-panel[hidden] { display:none !important; }
.rs-conversion-panel__grid { padding:28px 30px 32px; }
.rs-conversion-panel__grid--offer { display:grid; grid-template-columns:.98fr 1.02fr; gap:22px; align-items:start; }
.rs-conversion-panel__grid--nerea,
.rs-conversion-panel__grid--call { display:grid; grid-template-columns:1fr .92fr; gap:22px; align-items:start; }
.rs-conversion-panel__kicker { margin-bottom:12px; color:#87d792; font-size:12px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; }
.rs-conversion-panel__intro h3 { margin:0; color:#fff; font-size:clamp(28px,2.45vw,42px); line-height:1.04; letter-spacing:-.04em; font-weight:700; }
.rs-conversion-panel__intro p { margin:14px 0 0; max-width:620px; color:rgba(255,255,255,.74); font-size:15px; line-height:1.65; }
.rs-conversion-steps { list-style:none; padding:0; margin:22px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rs-conversion-steps li {
  display:flex; gap:14px; align-items:flex-start; padding:16px 16px; border:1px solid rgba(255,255,255,.08); border-radius:18px;
  background:rgba(255,255,255,.03);
}
.rs-conversion-steps li b { color:#88da94; font-size:14px; line-height:1.1; }
.rs-conversion-steps li strong { display:block; color:#fff; font-size:14px; line-height:1.2; }
.rs-conversion-steps li span { display:block; margin-top:6px; color:rgba(255,255,255,.58); font-size:12px; line-height:1.45; }

.rs-invoice-share--banner {
  display:block; padding:24px; border:1px solid rgba(255,255,255,.08); border-radius:24px;
  background:linear-gradient(160deg, rgba(12,42,34,.94), rgba(9,31,28,.96)); box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.rs-invoice-share__head { display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.rs-invoice-share__head span { color:#8ed99a; font-size:11px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; }
.rs-invoice-share__head strong { color:#fff; font-size:28px; line-height:1.08; letter-spacing:-.035em; font-weight:700; }
.rs-invoice-share__fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.rs-invoice-share__fields input[type="email"] { grid-column:1 / -1; }
.rs-invoice-share--banner > button {
  width:100%; height:52px; margin-top:14px; border:0; border-radius:14px; background:linear-gradient(135deg,#83d98f,#6bbb7b); color:#08231d; font-size:15px; font-weight:700; cursor:pointer;
}
.rs-invoice-share--banner > button span { margin-left:8px; }
.rs-invoice-share--banner .rs-invoice-share__note { display:block; margin-top:12px; color:rgba(255,255,255,.48); font-size:11px; line-height:1.45; }

.rs-nerea-cta-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px; }
.rs-nerea-cta {
  text-decoration:none !important; appearance:none; border:1px solid rgba(255,255,255,.10); border-radius:18px; background:rgba(255,255,255,.03);
  color:#fff; padding:16px 16px; min-height:90px; display:flex; align-items:center; gap:12px; cursor:pointer; transition:.28s ease;
}
.rs-nerea-cta:hover { transform:translateY(-2px); background:rgba(255,255,255,.05); }
.rs-nerea-cta--primary { background:linear-gradient(135deg, rgba(128,211,140,.17), rgba(128,211,140,.06)); }
.rs-nerea-cta__icon { width:42px; height:42px; min-width:42px; border-radius:50%; display:grid; place-items:center; background:#74cb84; color:#08231d; font-size:16px; }
.rs-nerea-cta small { display:block; color:rgba(255,255,255,.52); font-size:10px; text-transform:uppercase; letter-spacing:.9px; font-weight:700; }
.rs-nerea-cta strong { display:block; margin-top:2px; color:#fff; font-size:13px; line-height:1.3; }
.rs-callback-form--inline { margin-top:14px; background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.09); }
.rs-callback-form--inline input { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); color:#fff; }
.rs-callback-form--inline label span { color:rgba(255,255,255,.56); }
.rs-callback-form--inline button[type="submit"] { background:linear-gradient(135deg,#81d78e,#63b975); color:#08231d; }
.rs-callback-form--inline .rs-callback-form__close { color:rgba(255,255,255,.62); }
.rs-nerea-sidecard {
  padding:24px; border:1px solid rgba(255,255,255,.08); border-radius:24px; background:linear-gradient(145deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
.rs-nerea-sidecard__quote { color:#fff; font-size:22px; line-height:1.2; letter-spacing:-.03em; font-weight:600; }
.rs-nerea-sidecard ul { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.rs-nerea-sidecard li { position:relative; padding-left:18px; color:rgba(255,255,255,.68); font-size:14px; line-height:1.55; }
.rs-nerea-sidecard li::before { content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:50%; background:#87d792; }

.rs-phone-callout__cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.rs-phone-callout__card {
  text-decoration:none !important; padding:20px 18px; border-radius:22px; border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); color:#fff;
}
.rs-phone-callout__card small { display:block; color:#8ed99b; font-size:11px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; }
.rs-phone-callout__card strong { display:block; margin:8px 0 6px; color:#fff; font-size:24px; line-height:1.05; letter-spacing:-.03em; }
.rs-phone-callout__card span { color:rgba(255,255,255,.58); font-size:13px; line-height:1.45; }
.rs-phone-callout__card--alt { background:linear-gradient(145deg, rgba(72,127,102,.12), rgba(255,255,255,.02)); }
.rs-call-request {
  display:grid; gap:10px; padding:24px; border:1px solid rgba(255,255,255,.08); border-radius:24px; background:linear-gradient(155deg, rgba(12,42,34,.94), rgba(9,31,28,.97));
}
.rs-call-request__head { display:flex; flex-direction:column; gap:6px; margin-bottom:2px; }
.rs-call-request__head span { color:#8fd99b; font-size:11px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; }
.rs-call-request__head strong { color:#fff; font-size:28px; line-height:1.08; letter-spacing:-.03em; }
.rs-call-request input,
.rs-call-request textarea {
  width:100%; min-width:0; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.05); color:#fff; padding:0 14px; outline:none; font-size:13px;
}
.rs-call-request input { height:48px; }
.rs-call-request textarea { min-height:112px; padding-top:12px; resize:vertical; }
.rs-call-request input::placeholder,
.rs-call-request textarea::placeholder { color:rgba(255,255,255,.42); }
.rs-call-request button {
  height:52px; border:0; border-radius:14px; background:linear-gradient(135deg,#83d98f,#68bc79); color:#08231d; font-size:15px; font-weight:700; cursor:pointer;
}

@media (max-width:1100px) {
  .rs-conversion-banner__shell { width:min(100% - 40px, 940px); }
  .rs-conversion-banner__hero { grid-template-columns:1fr; }
  .rs-conversion-banner__figure { min-height:280px; }
  .rs-conversion-banner__figure-media { width:min(430px,90%); margin-left:auto; margin-right:0; }
  .rs-conversion-panel__grid--offer,
  .rs-conversion-panel__grid--nerea,
  .rs-conversion-panel__grid--call { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .rs-conversion-banner { padding:14px 0 40px; }
  .rs-conversion-banner__shell { width:min(100% - 24px, 650px); border-radius:24px; }
  .rs-conversion-banner__copy { padding:28px 20px 24px; }
  .rs-conversion-banner__copy h2 { font-size:clamp(34px,10vw,52px); }
  .rs-conversion-banner__meta { display:none; }
  .rs-conversion-banner__figure { min-height:210px; }
  .rs-conversion-banner__figure-media { width:min(330px,90%); }
  .rs-conversion-panel__grid { padding:20px; }
  .rs-conversion-steps { grid-template-columns:1fr; }
  .rs-invoice-share__fields,
  .rs-nerea-cta-row,
  .rs-phone-callout__cards { grid-template-columns:1fr; }
}


/* =======================================================
   RS 2026 · Acceso destacado a cargadores de vehículos eléctricos
   ======================================================= */
@media (min-width: 992px) {
  .site-header .rs-ev-feature { margin: 0 2px !important; }
  .site-header .rs-ev-feature > a {
    min-height: 39px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 11px !important;
    border: 1px solid rgba(0,177,190,.58) !important;
    border-radius: 999px !important;
    background: rgba(0,177,190,.10) !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: .42px !important;
    white-space: nowrap !important;
    transition: transform .2s ease, background .2s ease, border-color .2s ease !important;
  }
  .site-header .rs-ev-feature > a:hover {
    transform: translateY(-1px) !important;
    background: rgba(0,177,190,.20) !important;
    border-color: rgba(0,177,190,.9) !important;
  }
  .site-header .rs-ev-feature > a::after { display:none !important; }
}
.rs-nav-new,
.rs-footer-new,
.rs-home-footer-ev span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 5px;
  border-radius:999px;
  background:#00b1be;
  color:#041319;
  font-size:7px;
  font-weight:900;
  line-height:1;
  letter-spacing:.7px;
  vertical-align:super;
}
@media (min-width: 992px) and (max-width: 1280px) {
  .site-header .rs-ev-feature > a { padding-left:8px !important; padding-right:8px !important; font-size:9.4px !important; }
  .site-header .rs-ev-feature .rs-nav-new { display:none !important; }
}
@media (max-width: 991px) {
  .header-top .rs-mobile-ev-feature > a {
    display:flex !important;
    align-items:center;
    gap:9px;
    color:#087f8c !important;
    font-weight:800 !important;
  }
  .header-top .rs-mobile-ev-feature .rs-nav-new { transform:translateY(-2px); }
}
.footer.rs-footer-redesign .rs-footer-links { grid-template-columns:repeat(8,minmax(0,1fr)) !important; }
.footer.rs-footer-redesign .rs-footer-ev { color:#00b1be !important; font-weight:800 !important; }
.footer.rs-footer-redesign .rs-footer-ev:hover { color:#fff !important; }
.footer.rs-footer-redesign .rs-footer-new { margin-left:4px; }
@media (max-width:1180px) and (min-width:768px) {
  .footer.rs-footer-redesign .rs-footer-links { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .footer.rs-footer-redesign .rs-footer-links a:nth-child(n+5) { transform:none !important; }
}
@media (max-width:767px) {
  .footer.rs-footer-redesign .rs-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:480px) {
  .footer.rs-footer-redesign .rs-footer-links { grid-template-columns:1fr !important; }
}
#footer .rs-home-footer-ev {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
#footer .rs-home-footer-ev:hover { color:#00b1be; }


/* =======================================================
   RS 2026-09-23 · NAV PROMO refinado + sociales ampliadas
   ======================================================= */
@media (min-width: 992px) {
  /* Cargadores: píldora más horizontal y bastante más baja, alineada con las acciones. */
  .site-header .rs-ev-feature {
    margin-left: 7px !important;
    margin-right: 7px !important;
  }
  .site-header .rs-ev-feature > a {
    min-height: 32px !important;
    height: 32px !important;
    padding: 2px 18px !important;
    gap: 8px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
  }
  .site-header .rs-ev-feature .rs-nav-new {
    padding: 2px 6px !important;
    font-size: 7.5px !important;
    letter-spacing: .65px !important;
  }

  /* Redes sociales: presencia real, sin volver a encerrarlas en círculos. */
  .site-header .rs-social-item {
    margin-left: 8px !important;
  }
  .site-header .rs-header-social {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .site-header .rs-header-social img.social-img {
    width: 27px !important;
    height: 27px !important;
  }
}

@media (min-width: 992px) and (max-width: 1380px) {
  .site-header .rs-ev-feature {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }
  .site-header .rs-ev-feature > a {
    min-height: 30px !important;
    height: 30px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 9.8px !important;
  }
  .site-header .rs-ev-feature .rs-nav-new { display:inline-flex !important; }
  .site-header .rs-social-item { margin-left: 5px !important; }
  .site-header .rs-header-social {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }
  .site-header .rs-header-social img.social-img {
    width: 23px !important;
    height: 23px !important;
  }
}

@media (max-width: 991px) {
  .header-top .rs-mobile-ev-feature > a {
    width: max-content !important;
    padding: 5px 18px !important;
    margin-top: 3px !important;
    margin-bottom: 3px !important;
    border: 1px solid rgba(0,177,190,.55) !important;
    border-radius: 999px !important;
    background: rgba(0,177,190,.08) !important;
    line-height: 1.05 !important;
  }
  .header-top .rs-mobile-ev-feature .rs-nav-new {
    padding: 2px 6px !important;
    font-size: 7.5px !important;
  }
}


/* =======================================================
   RS 2026-09-23 · HEADER V4 · Más aire horizontal + menor altura
   - Todos los accesos desktop ganan 2–3x de padding lateral.
   - Altura visual reducida aprox. 30%.
   - Cabecera más fina y secciones con un poco más de respiración.
   ======================================================= */
@media (min-width: 1391px) {
  .site-header {
    padding-top: 12px !important;
  }
  .site-header > .extend-container {
    width: calc(100% - 96px) !important;
    max-width: 1780px !important;
    min-height: 54px !important;
    padding: 6px 18px !important;
    border-radius: 16px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav {
    gap: 6px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li {
    margin-left: 2px !important;
    margin-right: 2px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill),
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li.rs-split-dropdown > a:not(.rs-header-pill) {
    min-height: 26px !important;
    height: 26px !important;
    padding-left: 26px !important;
    padding-right: 26px !important;
    border-radius: 9px !important;
    line-height: 1 !important;
  }
  .site-header .rs-header-pill,
  .site-header .main-navigation a[href^="mailto:"].rs-contact-pill {
    min-height: 26px !important;
    height: 26px !important;
    max-height: 26px !important;
    padding-left: 38px !important;
    padding-right: 38px !important;
  }
  .site-header .rs-ev-feature {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }
  .site-header .rs-ev-feature > a {
    min-height: 24px !important;
    height: 24px !important;
    padding-left: 34px !important;
    padding-right: 34px !important;
    gap: 8px !important;
  }
  .site-header .rs-contact-item,
  .site-header .rs-phone-item {
    margin-left: 6px !important;
  }
  .site-header .rs-header-social {
    width: 31px !important;
    min-width: 31px !important;
    height: 26px !important;
  }
  .site-header .rs-header-social img.social-img {
    width: 25px !important;
    height: 25px !important;
  }
  .site-header .rs-split-dropdown > .rs-dropdown-panel {
    top: 34px !important;
  }
}

/* Portátiles: conserva el nuevo ritmo sin forzar saltos o desbordes. */
@media (min-width: 992px) and (max-width: 1390px) {
  .site-header > .extend-container {
    width: calc(100% - 24px) !important;
    min-height: 52px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .site-header .extend-container .inner-header .main-logo.rs-main-logo {
    width: 176px !important;
    flex-basis: 176px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav {
    gap: 2px !important;
  }
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li > a:not(.rs-header-pill),
  .site-header .extend-container .main-navigation > ul.rs-header-nav > li.rs-split-dropdown > a:not(.rs-header-pill) {
    min-height: 26px !important;
    height: 26px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 10.2px !important;
    line-height: 1 !important;
  }
  .site-header .rs-header-pill,
  .site-header .main-navigation a[href^="mailto:"].rs-contact-pill {
    min-height: 26px !important;
    height: 26px !important;
    max-height: 26px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 9.2px !important;
  }
  .site-header .rs-ev-feature > a {
    min-height: 24px !important;
    height: 24px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .site-header .rs-contact-item,
  .site-header .rs-phone-item,
  .site-header .rs-social-item {
    margin-left: 3px !important;
  }
  .site-header .rs-header-social {
    width: 28px !important;
    min-width: 28px !important;
    height: 26px !important;
  }
  .site-header .rs-header-social img.social-img {
    width: 23px !important;
    height: 23px !important;
  }
  .site-header .rs-split-dropdown > .rs-dropdown-panel {
    top: 34px !important;
  }
}

/* Móvil: menos altura en la promo, manteniendo una zona táctil cómoda. */
@media (max-width: 991px) {
  .header-top .rs-mobile-ev-feature > a {
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}
