html.side-header-overlay-full-screen body > .body {
    background: url(/img/demos/personal-portfolio-1/Elite\ Local\ Logo-49.png);
}

.logocomingsoon {
    max-width: 400px;
}
body {
    font-family: "Poppins", Arial, sans-serif;
    font-size: 16px;
    font-weight: 300;
}

p, li, td, th, label, input, textarea, select,
.el-italy-cover__text,
.el-italy-cover__subtitle,
.el-page-hero-cover__text,
.el-vision-split__text p,
.journey-intro-text,
.thumb-info p,
.service-overlay p,
.bg-block-content p {
    font-weight: 300;
}

p.font-weight-regular,
p.font-weight-normal,
p.font-weight-light {
    font-weight: 300 !important;
}
 h1 {
    font-size: 70px;
 }

 h2 {
    font-size: 55px;
 }

  h3 {
    font-size: 32px;
 }
  h4 {
    font-size: 30px;
 }
  h5 {
    font-size: 26px;
 }
  h6 {
    font-size: 24px;
 }

 h1,h2,h3,h4,h5,h6 {
    font-weight: 300;
    line-height: 1.2;
 }

.btn {
    font-weight: 300;
}


 .number-process {
    font-size: 7vw;
    font-family: 'Cormorant', serif !important;
 }
 .img-services {
    border-radius: 50% 50% 0 0;
 }

 .thumb-info .thumb-info-title {
    font-weight: 300;
    font-size: inherit;
 }
   /**/
.btn {
    font-size: 18px;
}

a:hover {
    color: var(--primary--100) !important;
}

a.btn-link-effect-1:hover::before {
  background-color: var(--primary--100) !important;
}

#contact .contact-info a {
    letter-spacing: 5px;
}

.img-arco {
  width: 100%;
  aspect-ratio: 1 / 1.2;
  overflow: hidden;
  border-radius: 50% 50% 0 0;
  display: block;
}

.img-arco img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.logobg {
    width: 90%;
    opacity: 0.03;
    left: 5%;
    position: fixed;
}

@media (max-width: 1199px) {
    .logocomingsoon {
        max-width: 350px;
                width: 100%;
    }
}

@media (max-width: 991px) {
    .sticky-wrapper.sticky-wrapper-effect-1 {
        position: absolute !important;
    }
}

@media (max-width: 767px) {
    .logocomingsoon {
        max-width: 300px;
                width: 100%;
    }

    h1 {
        font-size: 45px;
    }

    h2 {
        font-size: 40px;
    }
    
     h3 {
    font-size: 28px;
    }
    h4 {
        font-size: 26px;
    }
    h5 {
        font-size: 24px;
    }
    h6 {
        font-size: 20px;
    }
    body {
        font-size:14px;
    }
    #circleSection .min-vh-100 {
        min-height: 70vh !important;
    }

    .sticky-wrapper ul li a.btn {
        font-size: 15px;
    }
}

@media (max-width: 575px) {
    h1 {
        font-size: 40px;
    }


    h2 {
        font-size: 38px;
    }
    #contact .list-inline-item {
        display: block;
    }
    #contact .contact-info a {
       font-size: 14px !important;
    }
}

.logocustom {
    left: 75%;
    bottom: 10%;
}

@media (min-width: 992px) {
  .min-vh-lg-100 {
    min-height: 100vh;
  }
}
#header .header-nav-main nav {
        /*font-family: 'Cormorant', serif !important;*/
       
}

#header .header-nav.header-nav-links.header-nav-light-text nav > ul > li > a,
#header .header-nav.header-nav-line.header-nav-light-text nav > ul > li > a,
#header .header-nav.header-nav-links.header-nav-light-text nav > ul > li .el-nav-item__row > a {
    color: var(--light) !important;
     font-weight: 300;

}


#header .header-nav.header-nav-links.header-nav-light-text nav > ul > li > a:hover,
#header .header-nav.header-nav-line.header-nav-light-text nav > ul > li > a:hover,
#header .header-nav.header-nav-links.header-nav-light-text nav > ul > li .el-nav-item__row > a:hover {
    color: var(--primary) !important;;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li.el-nav-item--has-children {
    display: block;
    text-align: center;
    list-style: none !important;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li.el-nav-item--has-children::before,
html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li.el-nav-item--has-children::after,
html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub > ul > li::before,
html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub > ul > li::after {
    content: none !important;
    display: none !important;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-item__row {
    position: relative;
    display: inline-block;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-item__row > a {
    display: inline-block;
    border: 0;
    font-size: 1.8rem;
    text-transform: none;
    color: var(--light) !important;
    padding: 15px 0 !important;
    font-weight: 300;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-toggle {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: var(--light) !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s ease, color .3s ease;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-toggle span {
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 300;
    color: inherit;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li.el-nav-item--has-children.is-open .el-nav-toggle {
    transform: translateY(-50%) rotate(180deg);
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: max-height .35s ease, opacity .25s ease, visibility .25s ease;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li.el-nav-item--has-children.is-open > .el-nav-sub {
    max-height: 16rem;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-toggle:focus-visible {
    outline: 1px solid var(--primary);
    outline-offset: 4px;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub > ul {
    margin: 0 !important;
    padding: 0.15rem 0 0.75rem !important;
    list-style: none !important;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub > ul > li {
    text-align: center;
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub a {
    display: inline-block;
    color: var(--primary) !important;
    font-size: 1.05rem;
    font-weight: 300;
    letter-spacing: 0.06em;
    line-height: 1.3;
    padding: 0.4rem 0;
    text-transform: none;
    text-decoration: none;
    border: 0;
    background: transparent;
}

html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub a:hover,
html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub a.active {
    color: var(--light) !important;
}

@media (max-width: 767px) {
    html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub a {
        font-size: 0.95rem;
        padding: 0.5rem 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-sub,
    html.side-header-overlay-full-screen #header .header-nav-main nav > ul > li .el-nav-toggle {
        transition: none;
    }
}

.comingsoon-text {
    font-size: 15vw;
    font-family: 'Cormorant', serif !important;
    opacity: 0.1;
    color: rgba(255,255,255,0.2);
    font-style: italic;
    position: fixed;
    bottom: 40%;
    left: 0;
    width: 100%;
    z-index: 0;
    text-align: center;
}

.sticky-wrapper.is-sticky {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}
/*
.sticky-active .text-color-light, .text-light{
 color: var(--secondary) !important;
}
 */

 .sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body {
    backdrop-filter: blur(8px);
    background-color: rgba(0, 0, 0, 0.07);
 }

  .sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body img {
    width: 30px;
  }



  .sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body .container-fluid .row.py-3 {
    padding-bottom: 0rem !important;
    padding-top: .0rem !important;
 }

 .sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body .container-fluid .row .col-2 .py-4 {
    padding-bottom: .50rem !important;
    padding-top: .5rem !important;
 }



 .sticky-body {
    transition: background 0.25s ease, color 0.55s ease;
}

/* versione chiara */
.sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body.light,
.sticky-wrapper.sticky-wrapper-effect-1 .sticky-body.light {
  color: #000;
}


/* versione scura */
.sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body.dark,
.sticky-wrapper.sticky-wrapper-effect-1 .sticky-body.dark {
  color: var(--light);
}
.sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body.dark img,
.sticky-wrapper.sticky-wrapper-effect-1 .sticky-body.dark img {
  filter: invert(1);
}

.sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body.dark .btn,
.sticky-wrapper.sticky-wrapper-effect-1 .sticky-body.dark .btn {
color:var(--dark) !important;
}

.sticky-wrapper.sticky-wrapper-effect-1.sticky-effect-active .sticky-body.dark .hamburguer-btn.hamburguer-btn-light .hamburguer span,
.sticky-wrapper.sticky-wrapper-effect-1 .sticky-body.dark .hamburguer-btn.hamburguer-btn-light .hamburguer span {
    background: var(--dark);
}



.custom-loader {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* animazione semplice */
.custom-loader img {
  width: 260px;
  height: auto;
  animation: loaderAnim 1.2s ease-in-out infinite;
}

/* effetto breathing (molto elegante) */
@keyframes loaderAnim {
  0%, 100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}


/* overlay */
.loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  pointer-events: none;
}

/* contenitore 3D */
.loading-overlay {
  perspective: 1200px;
}

/* ante */
.window-left,
.window-right {
  width: 50%;
  height: 100%;
  /* background: #062e49; colore ante */
  background: #f1f1f1; /* colore ante */
  position: relative;
  z-index: 2;
  backface-visibility: hidden;
}

.lightversion .window-left,
.lightversion .window-right {
  width: 50%;
  height: 100%;
  background: #062e49; 

}

.loader-dark .window-left,
.loader-dark .window-right {
  background: #f1f1f1;
}

.loader-light .window-left,
.loader-light .window-right {
  background: #062e49;
}

/* ORIGINE ROTAZIONE (fondamentale) */
.window-left {
  transform-origin: left center;
  animation: openLeft3D 2.2s cubic-bezier(0.65, 0, 0.35, 1) forwards;
   animation-delay: 0.15s;
}

.window-right {
  transform-origin: right center;
  animation: openRight3D 2.2s cubic-bezier(0.65, 0, 0.35, 1) forwards;
   animation-delay: 0.15s;
}

/* animazioni 3D */
@keyframes openLeft3D {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(-100deg);
  }
}

@keyframes openRight3D {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(100deg);
  }
}

/* loader sopra (opzionale) */
.bounce-loader {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}


.loading-overlay {
  background: transparent !important;
}



.serviceblock {
    padding-left: 20px;
    padding-right: 20px;
}

.serviceblock .thumb-info-wrapper {
  /*max-height: 70vh;*/
}


.serviceblock .thumb-info-slide-info-hover-1 {
  text-align: left !important;
}

.serviceblock  .thumb-info:hover .thumb-info-wrapper .thumb-info-title{
   transition: transform 1.2s ease-out, opacity 1.2s ease-out, translate 1.2s !important;
}

.serviceblock .thumb-info .thumb-info-wrapper .thumb-info-plus {
    opacity: 0;
    position: absolute;
    width: 10%;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate3d(-50%, -50%, 0);
    transition: ease all 1.2s;
}

.serviceblock  .thumb-info:hover .thumb-info-wrapper .thumb-info-plus {
    opacity: 1;
    width: 30%;
}

.serviceblock .thumb-info .thumb-info-wrapper .thumb-info-plus::before, 
.serviceblock .thumb-info .thumb-info-wrapper .thumb-info-plus::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    border-top: 1px solid #FFF;
    transform: translate3d(-50%, -50%, 0);
}

.serviceblock .thumb-info:hover .thumb-info-wrapper .thumb-info-plus::after {
    transform: translate3d(-50%, -50%, 0) rotate(90deg);
}


/* RESPONSIVE */

@media (max-width: 1199px) {
  #services .serviceblock .thumb-info.thumb-info-slide-info-hover .thumb-info-slide-info-hover-1 {
    top: 0 !important;
    transform: none !important;
    padding: 1.75rem 1.5rem;
    text-align: left !important;
  }

  #services .serviceblock .thumb-info.thumb-info-slide-info-hover:hover .thumb-info-slide-info-hover-1 {
    top: 0 !important;
  }

  #services .serviceblock .thumb-info-slide-info-hover-1 .mt-5 {
    margin-top: 1.15rem !important;
  }
}

@media (max-width: 991px) {
  #services .serviceblock .thumb-info-wrapper {
    height: 500px;
    max-height: 500px;
    margin: 0 !important;
  }

  #services .serviceblock .thumb-info-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  #services .serviceblock .thumb-info.thumb-info-slide-info-hover .thumb-info-slide-info-hover-1 {
    top: 50% !important;
    transform: translateY(-50%) !important;
    text-align: center !important;
    padding: 1.5rem 1.5rem;
  }

  #services .serviceblock .thumb-info.thumb-info-slide-info-hover:hover .thumb-info-slide-info-hover-1 {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  #services .row > .serviceblock + .serviceblock {
    margin-top: 1.75rem;
  }
}


@media(max-width:767px){

    .serviceblock {
        max-width: 100%;
        margin: 0 auto 1.75rem;
        padding-left: 0;
        padding-right: 0;
    }
}

@media(max-width:575px){

    .serviceblock {
        max-width: 80vw;
        margin: 0 auto 40px;
    }
    .thumb-info-wrapper {
        max-width: 60vw;
        margin: 0 auto 40px !important;
    }

    #why .thumb-info-wrapper {
        max-width: none;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #services .serviceblock .thumb-info-wrapper {
        max-width: none;
        height: 500px;
        max-height: 500px;
        margin: 0 !important;
    }
}


.bg-block {
  min-height: 420px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  transition: transform .5s ease, background-position .8s ease, filter .5s ease;
}

.bg-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--dark-rgba-30);
}

.bg-block > div {
  position: relative;
  z-index: 2;
}

.bg-block:hover {
  transform: scale(1.02);
  background-position: center 40%;
  filter: brightness(1.1) contrast(1.1);
}


.bg-block-plus {
  opacity: 0;
  position: absolute;
  width: 10%;
  height: 10%;
  top: 50%;
  left: 50%;
  z-index: 3;
  transform: translate3d(-50%, -50%, 0);
  transition: ease all 1.2s;
  pointer-events: none;
}
.bg-block-plus::before,
.bg-block-plus::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  border-top: 1px solid #fff;
  transform: translate3d(-50%, -50%, 0);
}

.bg-block:hover .bg-block-plus {
  opacity: 1;
  width: 30%;
  height: 30%;
}
.bg-block:hover .bg-block-plus::after {
  transform: translate3d(-50%, -50%, 0) rotate(90deg);
}
.bg-block-content {
  position: relative;
  z-index: 2;
  transition: transform .45s ease, opacity .35s ease;
}
.bg-block:hover .bg-block-content {
  opacity: 0;
  transform: translateY(-40px);
}


.v-line {
  width: 1px;
  height: 80px;
  margin: 10px auto;
  padding: 0;
  background: rgba(0, 0, 0, 0.5);

  animation: lineFade 1.4s ease-out both;
}

@keyframes lineFade {
  from {
    transform: scaleY(0);
    opacity: 0;
  }
  to {
    transform: scaleY(1);
    opacity: 1;
  }
}

/** JOURNEY **/
.journey-editorial{
    background:#f8f6f2;
    padding:140px 8%;
    color:#1e1e1e;
    overflow:hidden;
}

/* INTRO */

.journey-intro{
    max-width:900px;
    margin:0 auto 140px;
}

.journey-label{
    display:block;
    font-size:12px;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:30px;
    color:#9b8663;
}

.customTitle {
    line-height:1.1;
    font-weight:300;
}

.journey-intro h2,
 .customTitle h2 {
    font-family:'Cormorant Garamond', serif;
    font-size:64px;
    line-height:1.1;
    font-weight:300;
    max-width:900px;
}

.journey-intro-text {
    margin-top: 1.5rem;
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 720px;
}

/* GENERIC BLOCK */

.journey-block{
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    align-items:center;
    gap:100px;
    margin-bottom:180px;
}


.journey-block.layout-right {
  grid-template-columns:1fr 1fr;
}




.journey-content{
    width:100%;
    max-width:420px;
}

.layout-left .journey-content{
    justify-self:center;
}

.layout-right .journey-content{
    justify-self:center;
}

.layout-left .journey-content{
    justify-self:center;
    transform:translateX(-20px);
}

.layout-right .journey-content{
    justify-self:center;
    transform:translateX(20px);
}




.layout-right{
    /*align-items:flex-start;*/
    align-items: center;
}

.journey-block {
  position: relative;
}

.journey-number {
  font-size: 24px;
  letter-spacing: 3px;
  color: rgba(0,0,0,0.35);
  font-weight: 300;
}


.journey-image{
    flex:0 0 58%;
}

.journey-image img{
    width:100%;
    object-fit:cover;
    display:block;
}

.journey-image.portrait{
    flex:0 0 42%;
}

.journey-image.portrait img{
    height:820px;
}

.journey-content{
    flex:1;
    max-width:420px;
}

.journey-step{
    display:block;
    font-size:24px;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:30px;
    color: var(--primary--100) !important;
}

.journey-content p,
.journey-final p,
.journey-overlay p{
    font-size:20px;
    line-height:1.9;
    color:#4f4f4f;
    font-weight:300;
}

/* FULL IMAGE */

.journey-full-image{
    position:relative;
    margin-bottom:180px;
}

.journey-full-image img{
    width:100%;
    height:85vh;
    object-fit:cover;
    display:block;
}

.journey-overlay{
    position:absolute;
    left:10%;
    bottom:10%;
    max-width:500px;
    background:rgba(255,255,255,0.82);
    padding:60px;
    backdrop-filter:blur(10px);
}

/* OFFSET BLOCK */

.editorial-offset{
    align-items:flex-start;
    gap:60px;
        grid-template-columns: 1.4fr 0.6fr;
}

.journey-small-image{
    width:100%;
    margin-top:60px;
}

.journey-small-image img{
    width:100%;
    height:480px;
    object-fit:cover;
}

.large-offset{
    margin-top:180px;
}

/* FINAL */

.journey-final{
    max-width:780px;
    margin:220px auto 0;
    text-align:center;
}

.journey-final p{
    font-family:'Cormorant Garamond', serif;
    font-size:42px;
    line-height:1.5;
    color:#2c2c2c;
}


.journey-next {
  display: inline-block;
  margin-top: 20px;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(0,0,0,0.5);
  text-decoration: none;
  transition: 0.3s;
}

.journey-next:hover {
  color: rgba(0,0,0,0.85);
  transform: translateX(5px);
}

html {
  scroll-behavior: smooth !important;
}


.journey-block,
.journey-full-image,
.journey-final {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: transform, opacity;
  scroll-margin-top: 150px;
}

.journey-block.is-visible,
.journey-full-image.is-visible,
.journey-final.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* RESPONSIVE */

@media(max-width:991px){

    .journey-editorial{
        padding:100px 24px;
    }

    .journey-intro{
        margin-bottom:80px;
    }

    .journey-intro h2{
        font-size:42px;
    }

    .journey-block{
        grid-template-columns:1fr;
        gap:50px;
        margin-bottom:100px;
    }

    .journey-block.layout-right{
        grid-template-columns:1fr;
    }

    .layout-right .journey-image{
        order:-1;
    }

    .layout-left .journey-content,
    .layout-right .journey-content{
        justify-self:start;
        max-width:100%;
        transform:none;
    }

    .journey-image,
    .journey-image.portrait,
    .journey-small-image{
        width:100%;
        flex:none;
    }

    .journey-image img,
    .journey-image.portrait img,
    .journey-full-image img{
        height:500px;
    }

    .journey-overlay{
        position:relative;
        left:auto;
        bottom:auto;
        max-width:100%;
        padding:40px 30px;
        background:#fff;
    }

    .large-offset{
        margin-top:0;
    }

    .journey-final{
        margin-top:120px;
    }

    .journey-final p{
        font-size:30px;
    }

}

@media(max-width:568px){

    .journey-editorial{
        padding:70px 18px;
    }

    .journey-intro{
        margin-bottom:55px;
    }

    .journey-label h3{
        margin-bottom:28px !important;
        font-size:18px;
    }

    .journey-intro h2{
        font-size:34px;
        line-height:1.12;
    }

    .journey-block{
        gap:28px;
        margin-bottom:72px;
    }

    .journey-image img,
    .journey-image.portrait img{
        height:330px;
        object-position:center;
    }

    .journey-full-image{
        margin-bottom:72px;
    }

    .journey-full-image img{
        height:360px;
    }

    .journey-overlay{
        padding:32px 22px;
    }

    .journey-number{
        font-size:18px;
        letter-spacing:2px;
        margin-bottom:8px;
    }

    .journey-step{
        font-size:17px;
        line-height:1.35;
        letter-spacing:2px;
        margin-bottom:18px;
    }

    .journey-content p,
    .journey-overlay p{
        font-size:17px;
        line-height:1.7;
    }

    .journey-next{
        margin-top:10px;
    }

    .journey-final{
        margin-top:80px;
    }

    .journey-final p{
        font-size:27px;
        line-height:1.35;
    }

}

.service-img{
    height: 300px;
    object-fit: cover;
    transition: transform .6s ease;
    width: 100%;
}

/* overlay nascosto */
.service-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 1;
    transform: translateY(0px);
    transition: all .4s ease;
}

/* hover reveal */
.service-card:hover .service-overlay{
    opacity: 0.8;
    transform: translateY(-10px);
}

/* zoom immagine */
.service-card:hover .service-img{
    transform: scale(1.05);
}

.service-overlay h6{
    font-weight: 300;
    letter-spacing: .2px;
}

.service-overlay p{
    font-size: 0.9rem;
    line-height: 1.4;
    opacity: 0.85;
}


.spotlight-cursor-text.custom,
.spotlight-cursor-text.custom .content  {
    height: 65vh;
}

.spotlight-cursor-text.custom .contact-info {
    padding-top: 0px;
}


@keyframes editorialReveal {
  from {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
.editorial-reveal,
.editorial-reveal-block {
  opacity: 0;
}
.editorial-reveal.is-visible,
.editorial-reveal-block.is-visible {
  animation: editorialReveal 1.4s ease forwards;
}
@media (prefers-reduced-motion: reduce) {
  .editorial-reveal,
  .editorial-reveal-block {
    opacity: 1;
    animation: none;
  }
}


.about-image-wrapper {
  max-width: 430px;
}
@media (max-width: 991px) {
  .about-image-wrapper {
    max-width: 360px;
  }
  .aboutimg, .img-arco {
        max-height: 70vh;
        width: auto;
    }
}
@media (max-width: 575px) {
  .about-image-wrapper {
    max-width: 300px;
  }
}



/* Page hero cover (For People / For Properties / service pages) */
.el-page-hero-cover {
  position: relative;
  min-height: 100vh;
  background-color: #062e49;
  background-size: cover !important;
  background-position: center center;
  background-repeat: no-repeat !important;
}

.el-page-hero-cover__overlay {
  min-height: 100vh;
  background: linear-gradient(90deg, rgba(6, 46, 73, 0.88) 0%, rgba(6, 46, 73, 0.62) 42%, rgba(6, 46, 73, 0.28) 100%);
}

.el-page-hero-cover__pretitle {
  color: var(--primary, #C59B61);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.8125rem;
  font-weight: 400;
  margin-bottom: 1.25rem;
}

.el-page-hero-cover__title {
  color: #fff;
  font-family: 'Cormorant', serif;
  font-size: clamp(2.25rem, 4.5vw, 4.25rem);
  font-weight: 300;
  line-height: 1.12;
  margin-bottom: 1.5rem;
  text-transform: none;
}

.el-page-hero-cover__text {
  color: #fff;
  font-size: 1rem;
  line-height: 1.75;
  max-width: 34rem;
  margin-bottom: 2.25rem;
}

.el-page-hero-cover__btn {
  display: inline-block;
  border: 1px solid var(--primary, #C59B61);
  color: var(--primary, #C59B61) !important;
  background: transparent;
  padding: 0.85rem 1.75rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
  font-weight: 400;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.el-page-hero-cover__btn:hover {
  background: var(--primary, #C59B61);
  color: #fff !important;
  border-color: var(--primary, #C59B61);
}

@media (max-width: 767px) {
  .el-page-hero-cover__overlay {
    background: linear-gradient(180deg, rgba(6, 46, 73, 0.9) 0%, rgba(6, 46, 73, 0.72) 100%);
  }

  .el-page-hero-cover__title {
    font-size: 2.25rem;
  }
}

/* Home Italy section - full background instead of arched side image */
.el-italy-cover {
  position: relative;
  min-height: 70vh;
  background-color: #062e49;
  background-size: cover !important;
  background-position: center center;
  background-repeat: no-repeat !important;
}

.el-italy-cover__overlay {
  min-height: 70vh;
  background: linear-gradient(90deg, rgba(6, 46, 73, 0.9) 0%, rgba(6, 46, 73, 0.72) 45%, rgba(6, 46, 73, 0.35) 100%);
}

#italy .min-vh-100 {
  min-height: 70vh !important;
}

.el-italy-cover__content {
  color: #fff;
}

.el-italy-cover__title {
  font-family: 'Cormorant', serif;
  font-size: clamp(2.4rem, 4.2vw, 3.75rem);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: #fff !important;
  margin: 0 0 1.25rem;
}

.el-italy-cover__subtitle {
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  font-weight: 300;
  line-height: 1.45;
  color: #fff !important;
  margin: 0 0 1rem;
}

.el-italy-cover__text {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #fff !important;
  margin: 0 0 2rem;
}

.el-italy-cover__btn {
  display: inline-block;
  border: 1px solid #fff;
  color: #fff !important;
  background: transparent;
  padding: 0.85rem 1.75rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
  font-weight: 400;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.el-italy-cover__btn:hover {
  background: #fff;
  color: #062e49 !important;
  border-color: #fff;
}

@media (max-width: 991px) {
  #italy .min-vh-100 {
    min-height: 70vh !important;
  }

  #italy .container {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .el-italy-cover__overlay {
    background: linear-gradient(180deg, rgba(6, 46, 73, 0.92) 0%, rgba(6, 46, 73, 0.78) 100%);
  }
}

@media (max-width: 767px) {
  #italy .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* About Vision: text in .container like other sections, photo cover flush right */
.el-vision-split {
  position: relative;
  background: #f1f1f1;
  overflow: hidden;
}

.el-vision-split__media {
  position: absolute;
  top: 0;
  right: 0;
  width: 33.333vw;
  height: 100%;
  background-color: #062e49;
  background-size: cover !important;
  background-position: center center;
  background-repeat: no-repeat !important;
  z-index: 1;
}

.el-vision-split__content {
  position: relative;
  z-index: 2;
}

.el-vision-split__text {
  background: transparent;
}

.el-vision-split__text h1 {
  margin-bottom: 1.75rem;
}

.el-vision-split__text p {
  color: #1c1c1c;
}

@media (max-width: 991px) {
  .el-vision-split__media {
    position: relative;
    width: 100%;
    height: 50vh;
    min-height: 320px;
  }

  .el-vision-split__content .row {
    min-height: 0 !important;
  }

  .el-vision-split__text {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #services.section.px-5,
  #services.container-fluid.p-5 {
    padding-left: 3.75rem !important;
    padding-right: 3.75rem !important;
  }

  #services .container-fluid.px-5,
  #services .p-5 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
}

/* Mobile only: unbox light text + service grids. Desktop/tablet stay as designed. */
@media (max-width: 767px) {
  :root {
    --el-mobile-text-inset: 1.75rem;
  }

  #about.section.bg-light > .container > .row.px-5 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #about.section.bg-light > .container > .row.px-5 .p-5 {
    padding-left: var(--el-mobile-text-inset) !important;
    padding-right: var(--el-mobile-text-inset) !important;
  }

  #why.section.p-5 {
    padding-left: var(--el-mobile-text-inset) !important;
    padding-right: var(--el-mobile-text-inset) !important;
  }

  #why .row {
    margin-left: 0;
    margin-right: 0;
  }

  #why .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .journey-editorial {
    padding-left: 0;
    padding-right: 0;
  }

  .journey-intro,
  .journey-content,
  .journey-final {
    padding-left: var(--el-mobile-text-inset);
    padding-right: var(--el-mobile-text-inset);
    max-width: none;
  }

  .journey-image,
  .journey-full-image {
    padding-left: 18px;
    padding-right: 18px;
  }

  #gallery.section.p-5 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  #gallery.section .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  #services.section.px-5,
  #services.container-fluid.p-5 {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
  }

  #services .container-fluid.px-5,
  #services .p-5 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #services .row {
    margin-left: 0;
    margin-right: 0;
  }

  #services .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  #services .row > [class*="col-"] + [class*="col-"] {
    margin-top: 1.75rem;
  }
}

/* Grav managed form */
.el-grav-form .form-field,.el-grav-form .form-group{margin-bottom:1.25rem}.el-grav-form label{display:block;margin-bottom:.35rem;color:#1c1c1c;font-size:.95rem}.el-grav-form input[type="text"],.el-grav-form input[type="email"],.el-grav-form textarea{display:block;width:100%;min-height:44px;padding:.65rem .85rem;border:1px solid rgba(0,0,0,.18);background:#fff;color:#1c1c1c;font-size:1rem;line-height:1.4;border-radius:0}.el-grav-form textarea{min-height:150px}.el-grav-form button[type="submit"],.el-grav-form input[type="submit"]{border:0;background:var(--primary,#C59B61);color:#fff;padding:.75rem 1.35rem;cursor:pointer}
.el-grav-form input[type="checkbox"]{display:inline-block;width:auto;min-height:0;margin-right:.55rem;vertical-align:middle}
.el-grav-form label.inline{display:inline;font-weight:300;line-height:1.5}
.el-grav-form label.inline a{color:var(--primary,#C59B61);text-decoration:underline}

.el-legal{padding-top:8rem;padding-bottom:4rem;color:#1c1c1c}
.el-legal__title{font-family:'Cormorant',serif;font-weight:300;font-size:clamp(2rem,4vw,3rem);margin-bottom:2rem;color:#1c1c1c}
.el-legal__body{font-weight:300;font-size:1rem;line-height:1.75}
.el-legal__body h2,.el-legal__body h3{font-family:'Cormorant',serif;font-weight:300;margin:2rem 0 .75rem}
.el-legal__body p{margin-bottom:1rem}
.el-legal__body a{color:var(--primary,#C59B61)}
@media (max-width:767px){
  .el-legal{padding-top:6rem;padding-left:1.75rem;padding-right:1.75rem}
}
