:root{
  --drg-shadow: 0 22px 55px rgba(0,0,0,.14);
  --drg-panel-bg: rgba(255,255,255,.88);
  --drg-panel-border: rgba(18,18,18,.08);
}

/* HERO HOME */
.home .csectionfullscreen{
  min-height: clamp(520px, 82vh, 820px);
}
.home .csectionfullscreen .csectionopa::before{
  background: linear-gradient(to right, rgba(0,0,0,.22), rgba(0,0,0,0));
}
.home .csectionfullscreen .csectiontext{
  display:flex;
  align-items:center;
}
.home .csectionfullscreen .cvcenter{
  width:100%;
}
.home .csectionfullscreen .cvcenterinner{
  position:relative;
  display:inline-block;
  width:min(620px, calc(100vw - 48px));
  margin:36px 0;
  padding:34px 38px 28px;
  border-radius:32px;
  background:var(--drg-panel-bg);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border:1px solid var(--drg-panel-border);
  box-shadow:var(--drg-shadow);
}
.home .csectionfullscreen .col50{
  width:100%;
  max-width:none;
}
.home .csectionfullscreen h1{
  font-size:clamp(46px, 6vw, 84px);
  line-height:.95;
  letter-spacing:-.03em;
  max-width:9ch;
  margin-bottom:0;
}
.home .csectionfullscreen .cbottombanner{
  margin-top:18px;
}
.home .csectionfullscreen .cta{
  padding:14px 26px;
}
.drg-hero-card-hidden .home .csectionfullscreen .cvcenterinner{
  display:none;
}
.drg-hero-eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
  font-weight:700;
  font-size:12px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#6a737b;
}
.drg-hero-eyebrow::before{
  content:"";
  display:block;
  width:40px;
  height:2px;
  background:var(--color1);
  border-radius:2px;
}
.drg-hero-close{
  position:absolute;
  top:16px;
  right:16px;
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(18,18,18,.08);
  color:#4b5359;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:transform .25s ease, background .25s ease;
}
.drg-hero-close:hover{
  transform:translateY(-2px);
  background:#fff;
}
.drg-hero-close-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#121212;
  color:#fff;
  font-size:16px;
  line-height:1;
}

/* FLOAT BUTTONS */
.cfloatsbottom,
.home .cfloatsbottom,
.scrolled.home .cfloatsbottom{
  top:50%;
  bottom:auto !important;
  right:16px;
  transform:translateY(-50%);
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cfloatsbottom a{
  width:62px;
  height:62px;
  padding:0;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0 !important;
  color:transparent !important;
  box-shadow:var(--drg-shadow);
  transition:transform .25s ease, box-shadow .25s ease;
}
.cfloatsbottom a:hover{
  transform:translateY(-3px) scale(1.04);
}
.cfloatsbottom a svg{
  position:static;
  transform:none;
  width:28px;
  height:28px;
}

/* 4 BLOCKS / GALLERY */
.csection4blocks{
  overflow:hidden;
}
.csection4blocks .contentxxxlarge{
  padding-left:var(--paddings);
  padding-right:var(--paddings);
}
.csection4blocks .row{
  margin-left:-10px;
  margin-right:-10px;
}
.csection4blocks .ccolblock4{
  padding:10px;
  box-sizing:border-box;
}
.csection4blocks .ccolblock4 .cinner{
  height:100%;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(18,18,18,.08);
  box-shadow:0 12px 32px rgba(0,0,0,.08);
  transition:transform .35s ease, box-shadow .35s ease;
}
.csection4blocks .ccolblock4:hover .cinner{
  transform:translateY(-8px);
  box-shadow:0 20px 45px rgba(0,0,0,.14);
}
.csection4blocks .cblocktitle,
.csection4blocks .ccolblock4:nth-child(even) .cblocktitle{
  background:#fff;
  height:auto;
  min-height:0;
  border-bottom:1px solid rgba(18,18,18,.08);
}
.csection4blocks .cblocktitle h3{
  color:#121212;
  padding:22px 22px 16px;
}
.csection4blocks img{
  display:block;
  width:100%;
  height:340px;
  aspect-ratio:auto;
  object-fit:cover;
  transition:transform .55s ease, filter .35s ease;
  background:#f3f3f3;
}
.csection4blocks .ccolblock4:hover img{
  transform:scale(1.08);
  filter:saturate(1.06);
}
.csection4blocks .slick-list{
  overflow:visible;
}
.csection4blocks .slick-track{
  display:flex !important;
}
.csection4blocks .slick-slide{
  height:inherit !important;
}
.csection4blocks .slick-slide > div{
  height:100%;
}
.csection4blocks .slick-dots{
  bottom:-34px;
}
.csection4blocks .slick-dots li button:before{
  font-size:10px;
}
.csection4blocks .slick-prev,
.csection4blocks .slick-next{
  z-index:5;
  width:44px;
  height:44px;
}
.csection4blocks .slick-prev:before,
.csection4blocks .slick-next:before{
  font-size:38px;
  color:#121212;
}
.csection4blocks .slick-prev{left:-5px;}
.csection4blocks .slick-next{right:-5px;}

/* TEXT + SIDE VISUALS */
.drg-two-col-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(280px, .9fr);
  gap:38px;
  align-items:stretch;
}
.drg-two-col-layout > [class^="col"],
.drg-two-col-layout > [class*=" col"]{
  width:auto !important;
  float:none;
}
.drg-side-visual,
.drg-lead-visual,
.drg-service-visual{
  position:relative;
  min-height:280px;
  border-radius:30px;
  background-size:cover;
  background-position:center;
  box-shadow:var(--drg-shadow);
  overflow:hidden;
}
.drg-side-visual::after,
.drg-lead-visual::after,
.drg-service-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.1));
}
.csection-nosotros .row.drg-two-col-layout .col70,
.csection-nosotros .row.drg-two-col-layout .col40,
.contentxxlarge .row.drg-two-col-layout .col40{
  width:auto !important;
}
.csection-nosotros .ctextnosotros,
.ctermcontent{
  max-width:none;
}
.csection-nosotros .ctextnosotros p,
.ctermcontent p{
  text-align:justify;
  max-width:none;
}
.csection-nosotros .cinner,
.contentxxlarge .row.drg-two-col-layout .cinner{
  padding-right:0 !important;
}

/* SERVICES INTRO */
.csectionservices .col40.htitlebot{
  width:100% !important;
}
.csectionservices .col40.htitlebot .cinner{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(280px, .9fr);
  gap:36px;
  align-items:center;
}
.csectionservices .col40.htitlebot p{
  max-width:none;
}

/* SERVICES ITEMS */
.citemservicio .cinner.drg-service-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(240px, .92fr);
  gap:34px;
  align-items:center;
  padding-right:0;
}
.citemservicio .drg-service-copy{
  min-width:0;
}
.citemservicio .drg-service-visual{
  min-height:240px;
}

/* GENERAL TYPOGRAPHY TWEAKS */
.citemservicio .cinner p,
.csectionservices .col40.htitlebot p,
.csection-nosotros .ctextnosotros p,
.ctermcontent p{
  line-height:1.6;
}
.csinglecontent .cinner,
.csingleimg .cinner,
.contentxxlarge .row .cinner{
  padding-right:0;
}

/* MOBILE */
@media (max-width: 1100px){
  .csection4blocks img{
    height:280px;
  }
}
@media (max-width: 1000px){
  .home .csectionfullscreen{
    min-height:520px;
  }
  .home .csectionfullscreen .cvcenterinner{
    width:min(560px, calc(100vw - 34px));
    padding:26px 24px 22px;
    border-radius:26px;
  }
  .drg-two-col-layout,
  .csectionservices .col40.htitlebot .cinner,
  .citemservicio .cinner.drg-service-layout{
    grid-template-columns:1fr;
  }
  .drg-side-visual,
  .drg-lead-visual,
  .drg-service-visual{
    min-height:220px;
  }
  .citemservicio .cinner.drg-service-layout{
    padding-left:0;
  }
  .citemservicio img{
    position:relative;
    left:auto;
  }
}
@media (max-width: 700px){
  .home .csectionfullscreen .cvcenterinner{
    width:min(92vw, 520px);
    margin:20px 0;
    padding:22px 20px 18px;
  }
  .home .csectionfullscreen h1{
    font-size:clamp(28px, 10.8vw, 52px);
    max-width:9ch;
  }
  .drg-hero-eyebrow{
    gap:10px;
    margin-bottom:12px;
    font-size:11px;
  }
  .drg-hero-eyebrow::before{
    width:26px;
  }
  .drg-hero-close{
    top:10px;
    right:10px;
    padding:7px 10px;
    gap:6px;
    font-size:10px;
  }
  .drg-hero-close-icon{
    width:20px;
    height:20px;
    font-size:14px;
  }
  .cfloatsbottom,
  .home .cfloatsbottom,
  .scrolled.home .cfloatsbottom{
    right:10px;
    gap:10px;
  }
  .cfloatsbottom a{
    width:54px;
    height:54px;
  }
  .cfloatsbottom a svg{
    width:24px;
    height:24px;
  }
  .csection4blocks img{
    height:230px;
  }
}
