
:root{
  --stone:#DCD7C9;
  --mist:#A8B5B2;
  --pine: #fdfdfd;
  --bone:#E9E5D9;
  --gold: #e84815;
  --white:#ffffff;
  --shadow-2xl: 0 30px 80px rgba(0,0,0,.25);
  --radius-2xl: 32px;
}

html,body{ height:100%; }
body.ha{
  margin:0;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--bone);
  color: var(--pine);
  overflow-x:hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

a{ color: inherit; text-decoration: none; }
button{ font: inherit; }
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: #495057;
}
.ha-italic{ font-family: "Cormorant Garamond", serif; font-style: italic; }
.ha-gold{ color: var(--gold); }

.ha-header{
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  background: none;
  backdrop-filter: blur(10px);
}

.ha-brand{
  font-family: "Cormorant Garamond", serif;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 1.05rem;
  z-index: 9;
}
.ico-mq {
  color: #e84815;width:30px;height:auto
}
.ha-brand img{
width:110px;height:auto
}
.ha-brand__serif{ font-style: italic; opacity:.92; margin-right:.25rem; }

.ha-navlink{
  font-size: .82rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: .72;
  transition: opacity .25s ease, color .25s ease;
}
.ha-navlink:hover{ opacity: 1; color: var(--gold); }

.ha-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: .78rem 1.1rem;
  border-radius: 999px;
  border: 1px solid rgba(44,54,57,.25);
  font-size: .78rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 700;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.ha-btn:hover{ transform: translateY(-1px); }
.ha-btn--gold{background: var(--gold);border-color: transparent;color: var(--white);margin-right: 1.7rem;pointer-events
Specifies under what circumstances a given element can be the target element for a pointer event.

Widely available across major browsers (Baseline since January 2018)
Learn more

Don't show: all;';pointer-events
Specifies under what circumstances a given element can be the target element for a pointer event.

Widely available across major browsers (Baseline since January 2018)
Learn more

Don't show: all;';pointer-events: all;}

.ha-burger{
  width: 44px; height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(44,54,57,.25);
  background: rgba(255,255,255,.35);
  display:grid; place-items:center;
  gap: 6px;
}
.ha-burger span{ width: 18px; height: 2px; border-radius: 99px; background: rgba(44,54,57,.85); }

.ha-mobile{
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
  border-bottom: 1px solid rgba(44,54,57,.10);
}
.ha-mobile.is-open{ max-height: 360px; }

.ha-section{ padding: 8rem 0; }
@media (min-width: 768px){ .ha-section{ padding: 12rem 0; } #camere3.ha-section{padding: 3rem 0;} .ha-section2{ padding: 6rem 0; }}
.ha-section--bone{ background: var(--bone); }
.ha-section--pine{ background: var(--pine); color: var(--bone); }
.ha-section--white{ background: #ffffff; }

.ha-overflow{ overflow:hidden; }

.ha-kicker{
  display:block;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .5em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1.25rem;
}
.ha-kicker--gold{ color: var(--gold); }

.ha-h2{
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3rem, 5.5vw, 4.6rem);
  line-height: 1.05;
  margin: 0 0 1.8rem;
}
.ha-h2--invert{ color: var(--bone); }

.ha-h3{
  font-family: "Cormorant Garamond", serif;
  font-size: 1.9rem;
  margin: 0 0 .75rem;
  color: var(--pine);
}
.ha-section--pine .ha-h3{ color: var(--bone); }
.goToRoom{color: var(--gold);padding-top: 1vh;background-color: white;padding-left: 1rem;padding-right: 1rem;padding-bottom: .7rem;width: 25rem;max-width: fit-content;border-radius: .8rem;font-size: 1.4rem;}
.badgePerson{color: var(--gold);padding-top: 1vh;background-color: white;padding-left: 1rem;padding-right: 1rem;padding-bottom: .7rem;width: 25rem;max-width: fit-content;border-radius: .8rem;font-size: 1rem;}



.ha-h4{
  font-family: "Cormorant Garamond", serif;
  font-size: 1.6rem;
  margin: 0 0 .4rem;
}

.ha-p{
  color: rgba(44,54,57,.99);
  font-size: 1.08rem;
  line-height: 2.05;
  font-weight: 400;
  margin: 0 0 1.75rem;
}
.ha-section--pine .ha-p{ color: rgba(255,255,255,.78); }
.ha-p--muted{ color: rgba(44,54,57,.60); }

.ha-small{
  font-size: .98rem;
  line-height: 1.6;
  color: rgba(44,54,57,.95);
  margin: 0;
}
.ha-section--pine .ha-small{ color: rgba(255,255,255,.55); }

.ha-divider-top{ border-top: 1px solid rgba(44,54,57,.10); }
.ha-section--pine .ha-divider-top{ border-top-color: rgba(255,255,255,.10); }

.ha-image, .ha-media, .ha-suitePreview{
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: var(--shadow-2xl);
}
.ha-image img, .ha-media img, .ha-suitePreview img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.10);
}

.ha-media{ aspect-ratio: 16 / 9; }
.ha-image{aspect-ratio: 4 / 5;height: 90vh;margin-left: 9vw;}
.page-template-servizi .ha-media{ aspect-ratio: 3 / 3; }
.ha-wellness-offset{ margin-top: 0; }
@media (min-width: 768px){ .ha-wellness-offset{ margin-top: 8rem; } }

.ha-headerV2{position:fixed;inset:0;pointer-events:none;z-index: 9999;}
.ha-compassWrap{ position:fixed; top:40px; right:40px; z-index:120; pointer-events:auto; }
.ha-compass{
  margin-top: -6px;
  width:64px;
  height:64px;
  border-radius:999px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 8px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  color: #fff;
  transition: background .5s ease, transform .5s ease, border-color .5s ease, color .5s ease;
}
.ha-compass span{
  width:32px; height:1px;
  background: currentColor;
  transition: transform .5s ease, opacity .5s ease, background .5s ease;
}
/* scrolled state */
.ha-compass.is-scrolled{background: #343a40;border-color: rgba(255,255,255,.0);}
.ha-compass.is-open{ background: var(--gold); color: var(--pine); border-color: rgba(44,54,57,.10); }
.ha-compass.is-open span:nth-child(1){ transform: rotate(45deg) translateY(7px); background: var(--pine); }
.ha-compass.is-open span:nth-child(2){ opacity:0; }
.ha-compass.is-open span:nth-child(3){ transform: rotate(-45deg) translateY(-7px); background: var(--pine); }

.ha-cornerBrand{
  position:fixed; top:40px; left:40px;
  z-index:120;
  pointer-events:none;
  opacity:0;
  transition: opacity .7s ease;
}
.ha-cornerBrand.is-visible{ opacity:1; }
.ha-cornerBrand__text{
  font-family:"Cormorant Garamond", serif;
  font-size: 1.75rem;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--pine);
}

.ha-menuOverlay{
  position:fixed;
  inset:0;
  height: 1px;
  background: var(--pine);
  transform: translateY(-100%);
  transition: transform 1s cubic-bezier(.2,.9,.2,1);
  z-index: 0!important;
}
.ha-menuOverlay.is-open{ transform: translateY(0); }

.ha-menuGrid{
  width:100%;
  height:100%;
  max-width: 80rem;
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items:center;
  padding: 0 40px;
}
@media (min-width: 768px){
  .ha-menuGrid{ grid-template-columns: 1fr 1fr; padding: 0 56px; }
}

.ha-menuPeek__kicker{
  color: var(--gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1em;
  text-transform: uppercase;
  margin-bottom: 48px;
  display:block;
}
.ha-menuPeek__media{
  aspect-ratio: 5/4;
  max-width: 520px;
  border-radius: 24px;
  overflow:hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  height: 70vh;
}
.ha-menuPeek__media img{width:100%;height:100%;object-fit:cover;transform: scale(1.06);margin-top: -1rem;}

.ha-menuNav{
  display:flex;
  flex-direction:column;
  gap: 24px;
  text-align:center;
}
@media (min-width: 768px){
  .ha-menuNav{ text-align:left; gap: 48px; }
}
.ha-menuLink,.nav-link{
  position:relative;
  font-family:"Cormorant Garamond", serif;
  font-size: clamp(3rem, 3vw, 3rem);
  line-height: 1;
  color: #343a40;
  transition: color .5s ease;
}
.ha-menuLink:hover,.nav-link:hover{ color: var(--gold); font-style: italic; }

.ha-menuFooter{
  position:absolute;
  bottom:48px;
  left:50%;
  transform: translateX(-50%);
  color: rgb(56 67 85 / 20%);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .5em;
  text-transform: uppercase;
  pointer-events:none;
}
.ha-slogan{
  position: absolute;
  left: 24rem;
  top: -17vh;
  font-family:"Cormorant Garamond", serif;
  font-size: 21rem;
  line-height: 1;
  color: rgba(255,255,255,.20);
  text-transform: uppercase;
  pointer-events:none;
  user-select:none;
}
/* ===== Floating Chatbot (from original component) ===== */
.ha-chatbot{
  position: fixed;
  bottom: 40px;
  left: 40px;
  z-index: 130;
  pointer-events:auto;
}

.ha-chatFab{
  display:flex;
  align-items:center;
  gap: 16px;
  padding: 16px 24px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  transition: background .5s ease, border-color .5s ease, transform .5s ease;
}
.ha-chatFab:hover{
  background: var(--bone);
  border-color: rgba(44,54,57,.10);
  transform: translateY(-1px);
}
.ha-chatDot{
  width: 8px; height: 8px;
  border-radius: 99px;
  background: var(--gold);
  transition: transform .35s ease;
}
.ha-chatFab:hover .ha-chatDot{ transform: scale(1.5); }
.ha-chatFabText{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: var(--pine);
}
.ha-chatWindow{
  width: 320px;
  max-width: calc(100vw - 80px);
  background: var(--bone);
  border-radius: 32px;
  overflow:hidden;
  border: 1px solid rgba(44,54,57,.05);
  box-shadow: -20px 20px 80px rgba(0,0,0,.15);
  transform: translateY(14px);
  opacity: 0;
  pointer-events:none;
  transition: opacity .7s ease, transform .7s ease;
  margin-bottom: 14px;
}
@media (min-width: 576px){
  .ha-chatWindow{ width: 380px; }
}
.ha-chatWindow.is-open{
  opacity: 1;
  transform: translateY(0);
  pointer-events:auto;
}
.ha-chatHeader{
  background: #343a40;
  padding: 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.ha-chatTitle{
  color: var(--bone);
  font-family:"Cormorant Garamond", serif;
  font-size: 18px;
  letter-spacing: .02em;
  font-style: italic;
}
.ha-chatSub{
  margin-top: 6px;
  color: var(--gold);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .4em;
  text-transform: uppercase;
}
.ha-chatClose{
  width: 32px; height: 32px;
  border-radius: 999px;
  border: 0;
  background: rgba(233,229,217,.10);
  color: var(--bone);
  display:grid;
  place-items:center;
  transition: background .25s ease, color .25s ease;
}
.ha-chatClose:hover{ background: var(--bone); color: var(--pine); }

.ha-chatBody{
  height: 350px;
  overflow-y: auto;
  padding: 24px;
  background: rgba(233,229,217,.50);
  scroll-behavior:smooth;
}
.ha-chatBody::-webkit-scrollbar{ width:0; height:0; }

.ha-msg{ display:flex; margin-bottom: 16px; }
.ha-msg--user{ justify-content:flex-end; }
.ha-msg--assistant{ justify-content:flex-start; }

.ha-bubble{
  max-width: 90%;
  padding: 12px 20px;
  font-size: 12px;
  line-height: 1.55;
}
.ha-bubble--user{
  background: var(--gold);
  color:#fff;
  border-radius: 20px 20px 6px 20px;
}
.ha-bubble--assistant{
  background: #fff;
  color: #343a40;
  border-radius: 20px 20px 20px 6px;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}

.ha-typing{
  display:flex;
  gap: 6px;
  align-items:center;
  background:#fff;
  padding: 10px 14px;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.ha-typing i{
  width:4px; height:4px;
  border-radius:99px;
  background: var(--gold);
  display:inline-block;
  animation: haBounce 1s infinite ease-in-out;
}
.ha-typing i:nth-child(2){ animation-delay:.2s; }
.ha-typing i:nth-child(3){ animation-delay:.4s; }
@keyframes haBounce{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-4px);} }

.ha-chatInput{
  background: #343a40;
  border-top: 1px solid rgba(44,54,57,.05);
  padding: 24px;
  display:flex;
  gap: 12px;
  align-items:center;
}
.ha-chatField{
  flex:1;
  border:0;
  outline:none;
  background: rgba(233,229,217,.30);
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 11px;
}
.ha-chatField:focus{ box-shadow: 0 0 0 2px rgba(194,153,107,.35); }
.ha-chatSend{
  width:40px;
  height:40px;
  border-radius:999px;
  border:0;
  background: var(--pine);
  color: #343a40;
  display:grid;
  place-items:center;
  box-shadow: 0 12px 24px rgba(0,0,0,.12);
  transition: background .25s ease;
}
.ha-chatSend:hover{ background: var(--gold); }

/* Responsive positioning tweaks */
@media (max-width: 575.98px){.wrapper2{overflow-x:hidden}  .ha-headerV2{position: fixed;width: 100%;height:70px;padding: .1rem .1rem; /* py-8 px-12 */background: rgba(255, 255, 255, .57);backdrop-filter: blur(18px);border-bottom: 1px solid rgba(255, 255, 255, .20);z-index: 9999!important;}
.ha-headerV2 .px-4 {
    padding-right: .5rem !important;
    padding-left: .5rem !important;
}
                             
                             
                             .ha-hero__overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 20%, rgba(0, 0, 0, .2), rgba(0, 0, 0, .26));
    z-index: -1;
}.ha-compass {
    background: #343a40;
    border-color: rgba(255, 255, 255, .0);
}
  .ha-compassWrap{top: 10px;right: 18px;}
  .ha-cornerBrand{ top: 18px; left: 18px; }
    .ha-chatbot{ right: 18px; bottom: 18px; }
.ha-brand {
 
    z-index: 9;
}
.ha-brand img{width: 60px;height:auto;margin-top: -5px;}
  .ha-btn--gold {padding: .78rem 1rem;margin-right: 5rem;font-size: .6rem;}
.ha-lang {
    position: relative;
    z-index: 10020;
    margin-right: -7px;
}
.ha-burger{
display:none
}.ha-hero__overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 20%, rgba(0, 0, 0, .02), rgba(0, 0, 0, .06));
    z-index: 0;
}
}

html.ha-lock, body.ha-lock{ overflow:hidden; }

.ha-menuOverlay{ visibility:hidden; }
.ha-menuOverlay.is-open{visibility:visible;height: 100vh;}

.ha-menuOverlay{ z-index: 9999; }
.ha-compassWrap{ z-index: 10000; }

/* Fix: menu overlay must not block clicks when closed */
.ha-menuOverlay{pointer-events: none;}
.ha-menuOverlay.is-open{ pointer-events:auto; }

.ha-chatFab{ cursor:pointer; }
.ha-chatSend,.ha-chatClose{ cursor:pointer; }

/* HERO */
.ha-hero{
  position: relative;
  height: 100vh;
  background: var(--pine);
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top: 92px; /* fixed header */
}
.ha-hero__bg{ position:absolute; inset:0; z-index:0; }
.ha-hero__bg img{
  width:100%; height:100%;
  object-fit: cover;
  filter: brightness(.60);
}
.ha-hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background: radial-gradient(900px 520px at 50% 20%, rgba(0,0,0,.10), rgba(0,0,0,.05));
}
.hero-content{ position: relative; z-index:2; padding-inline: 1rem; }
.ha-hero__kicker{
  display:block;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .6em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.ha-hero__title{
  font-family:"Cormorant Garamond", serif;
  color:#fff;
  font-size: clamp(3.5rem, 10vw, 10rem);
  line-height: .9;
  margin: 0 0 1.8rem;
}
.ha-hero__lede{
  color: rgba(255,255,255,.70);
  font-size: 1.125rem;
  font-weight: 300;
  max-width: 42rem;
  margin: 0 auto 2.4rem;
}
@media (min-width: 768px){ .ha-hero__lede{ font-size: 1.25rem; } }

.ha-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 1.25rem 3rem;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  font-weight: 700;
  transition: transform .25s ease, background .5s ease, color .5s ease, border-color .5s ease;
}
.ha-cta:hover{ transform: translateY(-1px); }
.ha-cta--gold{ background: var(--gold); color: #fff; box-shadow: 0 25px 60px rgba(0,0,0,.35); }
.ha-cta--gold:hover{ background:#fff; color: var(--gold); }
.ha-cta--ghost{
  border: 1px solid rgba(255,255,255,.30);
  color:#fff;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
}
.ha-cta--ghost:hover{ background: rgba(255,255,255,.10); }

.ha-hero__tag{
  position:absolute;
  left: 3rem;
  bottom: 2.4rem;
  z-index:2;
  color: rgba(255,255,255,.60);
  font-size: 9px;
  letter-spacing: .5em;
  text-transform: uppercase;
}
.ha-line{ width: 48px; height: 1px; background: rgba(255,255,255,.40); }

/* Suites */
.ha-sticky{
  position: sticky;
  top: 8rem;
}
.ha-suiteList{ margin-top: 1rem; }
.ha-suiteItem{
  width:100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  padding: 2rem 0;
  color: var(--bone);
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  transition: padding-left .25s ease;
}
.ha-suiteItem:hover{ padding-left: 1rem; }
.ha-suiteItem .ha-arrow{ color: var(--gold); opacity:0; transition: opacity .2s ease; }
.ha-suiteItem:hover .ha-arrow{ opacity: 1; }
.ha-suiteItem.is-active .ha-arrow{ opacity: 1; }
.ha-suiteItem.is-active .ha-suiteName{ color: var(--gold); }

.ha-suiteNum{
  font-family:"Cormorant Garamond", serif;
  font-style: italic;
  color: rgba(255,255,255,.30);
  font-size: 1.25rem;
}
.ha-suiteName{
  font-family:"Cormorant Garamond", serif;
  font-size: clamp(1.9rem, 3.4vw, 3.1rem);
  line-height: 1.1;
  transition: color .25s ease;
}

.ha-suitePreview{
  position: relative;
  aspect-ratio: 4/ 4;
  height: 90vh;
}
.ha-suitePreview img{
  width:100%; height:100%;
  object-fit: cover;
  transition: filter 1s ease, transform 1s ease, opacity .6s ease;
  transform: scale(1.0);
}
.ha-suiteShade{
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(44,54,57,.60), rgba(0,0,0,0));
}
.ha-suiteCaption{
  position:absolute;
  left: 2.5rem;
  right: 2.5rem;
  bottom: 2.5rem;
}
.ha-suiteDesc{
  margin: 0 0 1rem;
  font-size: .95rem;
  color: rgba(255,255,255,.80);
  line-height: 1.65;
  font-weight: 300;
}
.ha-suitePrice{
  font-family:"Cormorant Garamond", serif;
  font-style: italic;
  font-size: 1.7rem;
  color: var(--gold);
}

/* Reviews */
.ha-reviews{ display: grid; gap: 8rem; }
.ha-reviewText{
  font-family:"Cormorant Garamond", serif;
  font-style: italic;
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  line-height: 1.2;
  color: var(--mist);
  margin: 0 0 2.5rem;
}
.ha-goldline{ width: 48px; height: 1px; background: var(--gold); }
.ha-reviewAuthor{
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
}
.ha-reviewPlace{
  margin-top: .25rem;
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
}
.imgRoom{position: relative;
  aspect-ratio: 3/ 2;width:100%;object-fit:cover;
  height: 50vh;}
/* Footer */
.ha-footer{
  background: #495057;
  color: var(--bone);
  padding: 10rem 0 3rem;
  position: relative;
  overflow: hidden;
}




@media (min-width: 768px){ .ha-footer{ padding-top: 12rem; } }

.ha-footerTitle{
  font-family:"Cormorant Garamond", serif;
  font-size: clamp(4rem, 7.8vw, 7.6rem);
  line-height: .85;
  margin: 0 0 2rem;
  color: #fff;
}
.ha-footLabel{
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.20);
  margin-bottom: .75rem;
  font-weight: 700;
}
.ha-footText{
  font-size: .95rem;
  font-weight: 300;
  color: rgba(255,255,255,.78);
  line-height: 1.6;
}
.ha-footerNav{
  display:flex;
  flex-direction: column;
  gap: 1.25rem;
  font-size: 1.25rem;
  font-weight: 300;
}
.ha-footerNav a{ transition: color .25s ease; }
.ha-footerNav a:hover{ color: var(--gold); }

.ha-footerBottom{
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 1.25rem;
  display:flex;
  align-items:center;
  justify-content: space-between;
  font-size: 8px;
  letter-spacing: .5em;
  text-transform: uppercase;
  color: rgba(255,255,255,.20);
  font-weight: 600;
}
.ha-footerHuge{
  position:absolute;
  right: -49px;
  bottom: -103px;
  font-family:"Cormorant Garamond", serif;
  font-size: 15rem;
  line-height: 1;
  color: rgba(255,255,255,.10);
  text-transform: uppercase;
  pointer-events:none;
  user-select:none;
}
   .ha-pageHero{min-height:78vh;display:flex;align-items:flex-end;padding-bottom:5.5rem;position:relative;}
    .ha-pageHero .ha-hero__overlay{opacity:.55;}
    .ha-pageHero .ha-hero__title{font-size:clamp(3.1rem,6vw,5.2rem);}
    .ha-breadcrumbs{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.75);}
    .ha-breadcrumbs a{opacity:.85}
    .ha-breadcrumbs a:hover{color:var(--gold);opacity:1}
    .ha-swiper{border-radius:2rem;overflow:hidden;box-shadow:var(--shadow-2xl);}
    .ha-swiper .swiper-slide{height:auto}
    .ha-swiper img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
    .ha-swiper .swiper-pagination-bullet{background:rgba(255,255,255,.75);opacity:.65}
    .ha-swiper .swiper-pagination-bullet-active{background:var(--gold);opacity:1}
    .ha-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .9rem;border-radius:999px;border:1px solid rgba(44,54,57,.12);background:rgba(255,255,255,.6);backdrop-filter: blur(8px);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#2c3639;}
    .ha-section--pine .ha-chip{background:rgba(0,0,0,.10);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.9);}
    
/* SplitText helpers */
.split-line{ display:block; overflow:hidden; padding-bottom:.08em; }
.split-char{ display:inline-block; will-change: transform; }

/* accessibility */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; }
}


/* =========================
   PAGINA FAQ Ã¢â‚¬â€œ Alessandra style
   Scope: body.page-faq (consigliato)
   Markup: .toggle.faq .toggle-header .toggle-title .toggle-icon + .toggle-content
========================= */

.page-faq{
  --faq-ink: #0D2228;
  --faq-muted: rgba(13,34,40,.72);
  --faq-line: rgba(13,34,40,.12);
  --faq-panel: rgba(255,255,255,.88);
  --faq-panel2: rgba(255,255,255,.94);
  --faq-accent: #6E9DBE;
  --faq-shadow: 0 18px 46px rgba(13,34,40,.10);
}

/* wrapper pagina (opzionale) */
.page-faq .faq-wrap{
  padding: 0.5rem 0 2.5rem;
  background: transparent;
}

/* titoli sezione */
.page-faq h1{
  color: var(--faq-ink);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 600;
  margin: 0 0 .75rem 0;
}
.page-faq .faq-intro{
  color: var(--faq-muted);
  line-height: 1.8;
  margin: 0 0 1.75rem 0;
  max-width: 72ch;
}

/* =========================
   TOGGLE / FAQ CARD
========================= */

.page-faq .toggle.faq{
  border: 1px solid var(--faq-line);
  border-radius: 20px;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  width: 90%;
}

/* spacing tra card */
.page-faq .toggle.faq.pb-3.mb-3{
  margin-bottom: 14px !important;
  padding-bottom: 0 !important;
}

/* header */
.page-faq .toggle.faq .toggle-header{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;

  padding: 1.05rem 3.25rem 1.05rem 1.15rem;
  background: var(--faq-panel);
  cursor: pointer;

  transition: transform .16s ease, background .22s ease, box-shadow .22s ease;
}

.page-faq .toggle.faq .toggle-header:hover{
  transform: translateY(-2px);
  background: var(--faq-panel2);
  box-shadow: var(--faq-shadow);
}

/* titolo domanda */
.page-faq .toggle.faq .toggle-title{
  color: var(--faq-ink);
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.35;
}

/* stato aperto */
.page-faq .toggle.faq.is-open .toggle-header{
  background: var(--faq-panel2);
}

/* contenuto risposta (IMPORTANTE per GSAP height) */
.page-faq .toggle.faq .toggle-content{
  padding: 0 1.15rem 1.1rem 1.15rem;
  background: #fff;
  color: var(--faq-muted);
  line-height: 1.75;

  overflow: hidden; /* per animazione height */
}

/* separatore quando aperto */
.page-faq .toggle.faq.is-open .toggle-content{
  border-top: 1px solid rgba(13,34,40,.08);
}

/* =========================
   ICONA + / Ã¢Ë†â€™ (senza cambiare HTML)
========================= */

.page-faq .toggle.faq .toggle-icon{
  position: absolute;
  right: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
}

/* due linee */
.page-faq .toggle.faq .toggle-icon::before,
.page-faq .toggle.faq .toggle-icon::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #e84815;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: opacity .18s ease, transform .18s ease;
}

/* orizzontale */
.page-faq .toggle.faq .toggle-icon::before{
  width: 18px;
  height: 2px;
}

/* verticale */
.page-faq .toggle.faq .toggle-icon::after{
  width: 2px;
  height: 18px;
}

/* open -> diventa "-" (nascondo la verticale) */
.page-faq .toggle.faq.is-open .toggle-icon::after{
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(.15);
}

/* focus tastiera */
.page-faq .toggle.faq .toggle-header:focus{
  outline: none;
}
.page-faq .toggle.faq .toggle-header:focus-visible{
  outline: 3px solid rgba(110,157,190,.35);
  outline-offset: 2px;
}

/* =========================
   RESPONSIVE
========================= */
 .underHight{
  font-family: "Cormorant Garamond", serif;
  font-size: 4.6rem!important;
  line-height: 1.05;
  margin: 0 0 1.8rem;
  }
@media (max-width: 991px){
  .page-faq .toggle.faq .toggle-header{
    padding: .95rem 3rem .95rem 1rem;
  }
  .page-faq .toggle.faq{
  border: 1px solid var(--faq-line);
  border-radius: 20px;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  width: 100%;
}
}

@media (max-width: 575px){
  .page-faq .toggle.faq{
    border-radius: 16px;
  }
  .page-faq .toggle.faq .toggle-title{
    font-size: 1rem;
  }
}











/* HERO */
.ha-hero{
  position:relative;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  z-index: 0;
}

.ha-hero__bg img{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.6);
}

.ha-hero__overlay{
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 50% 20%,rgba(0,0,0,.02),rgba(0,0,0,.06));
  z-index: 0;
}

.hero-content{
  position:relative;
  z-index:2;
  color:#fff;
}

.ha-hero__title{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(3rem,8vw,8rem);
}

.italic{
  font-style:italic;
}

.kicker{
  color:var(--gold);
  font-size:12px;
  letter-spacing:.5em;
  text-transform:uppercase;
}

.section-title{
  font-family:"Cormorant Garamond",serif;
  font-size:3rem;
  margin-bottom:1rem;
}

/* MEDIA */
.ha-media{
  position:relative;
  border-radius:2rem;
  overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,.2);
  transition:transform .6s ease, box-shadow .6s ease;
}

.service-block:hover .ha-media{
  transform:rotateY(3deg) rotateX(2deg) translateY(-12px);
  box-shadow:0 60px 120px rgba(0,0,0,.25);
}

.ha-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Reveal */
.reveal-mask{
  position:absolute;
  inset:0;
  background:var(--bone);
  z-index:2;
}

/* CTA */
.cta{
  display:inline-block;
  margin-top:1rem;
  padding:1rem 2.5rem;
  border-radius:50px;
  background:var(--gold);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.3em;
  text-transform:uppercase;
  transition:transform .3s ease, background .3s ease;
}

.cta:hover{
  transform:translateY(-3px);
  background:#fff;
  color:var(--gold);
}
.service-list{
  margin: 1rem 0 0;
  padding-left: 1.1rem;
  line-height: 1.9;
  color: rgba(44,54,57,.9);
}
.service-list li{
  margin-bottom: .35rem;
}
.service-list strong{
  font-weight: 600;
}





.ha-testimonials-luxe{
  position: relative;
  padding: clamp(90px, 10vw, 150px) 0;
  background: #efede4;
  overflow: hidden;
}

.ha-testimonials-luxe::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.45), transparent 30%),
    radial-gradient(circle at 80% 80%, rgba(255,255,255,0.25), transparent 28%);
  pointer-events: none;
}

.ha-testimonials-head{
  position: relative;
  max-width: 900px;
  margin: 0 auto 70px;
  z-index: 2;
}

.ha-testimonials-kicker{
  display: inline-block;
  margin-bottom: 16px;
  font-size: 0.72rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: #ef5a1a;
  font-weight: 600;
}

.ha-testimonials-title{
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 1.02;
  font-weight: 400;
  color: #4c5159;
  letter-spacing: -0.03em;
}

.ha-testimonials-intro{
  max-width: 620px;
  margin: 24px auto 0;
  font-size: 1.05rem;
  line-height: 1.85;
  color: rgba(76,81,89,0.78);
}

.ha-testimonials-grid{
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.ha-testimonial-card{
  position: relative;
  padding: 42px 34px 32px;
  min-height: 100%;
  border-radius: 30px;
  background: rgba(255,255,255,0.58);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.65);
  box-shadow:
    0 20px 50px rgba(0,0,0,0.05),
    inset 0 1px 0 rgba(255,255,255,0.45);
  transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}

.ha-testimonial-card:hover{
  transform: translateY(-8px);
  box-shadow:
    0 28px 60px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.55);
  border-color: rgba(239,90,26,0.18);
}

.ha-testimonial-quoteMark{
  position: absolute;
  top: 18px;
  left: 24px;
  font-family: Georgia, serif;
  font-size: 4.4rem;
  line-height: 1;
  color: rgba(239,90,26,0.16);
  pointer-events: none;
}

.ha-testimonial-text{
  position: relative;
  margin: 0 0 34px;
  padding-top: 18px;
  font-size: 1.08rem;
  line-height: 1.95;
  color: #4c5159;
}

.ha-testimonial-footer{
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: auto;
}

.ha-testimonial-line{
  width: 46px;
  height: 1px;
  flex: 0 0 46px;
  background: linear-gradient(to right, #ef5a1a, rgba(239,90,26,0.18));
}

.ha-testimonial-author{
  font-size: 0.98rem;
  font-weight: 600;
  color: #3f444b;
  letter-spacing: 0.01em;
}

.ha-testimonial-place{
  margin-top: 3px;
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(76,81,89,0.56);
}

@media (max-width: 991.98px){
  .ha-testimonials-grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ha-testimonials-head{
    margin-bottom: 44px;
  }

  .ha-testimonial-card{
    padding: 34px 24px 26px;
    border-radius: 24px;
  }

  .ha-testimonial-text{
    font-size: 1rem;
    line-height: 1.8;
  }
  .ha-cta{

  padding: 1.25rem 2rem;
  border-radius: 999px;
  font-size: .8rem;
  letter-spacing: .2em;

}
.ha-section {
    padding: 3rem 0;
}

  .ha-image{aspect-ratio: 3 / 2;height: 47vh;margin-left: 0;}
}





  :root{
    --ha-cream:#eeece2;
    --ha-cream-2:#f6f4ed;
    --ha-white:#ffffff;
    --ha-dark:#4f5862;
    --ha-dark-2:#313842;
    --ha-text:#5d6670;
    --ha-title:#3f4650;
    --ha-orange:#f45a17;
    --ha-orange-2:#de4f12;
    --ha-line:rgba(63,70,80,.12);
    --ha-radius:28px;
    --ha-radius-lg:36px;
    --ha-shadow:0 18px 50px rgba(22,28,36,.10);
    --ha-max:1680px;
  }

  .ha-contact-page,
  .ha-contact-page *{
    box-sizing:border-box;
  }

  .ha-contact-page{margin-top:17vh;
    background:var(--ha-cream);
    color:var(--ha-text);
    font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  }

  .ha-contact-page img{
    max-width:100%;
    height:auto;
    display:block;
  }

  .ha-contact-shell{
    width:min(calc(100% - 48px), var(--ha-max));
    margin:0 auto;
  }

  .ha-contact-header{
    position:relative;
    padding:22px 0 10px;
    z-index:10;
  }

  .ha-contact-topbar{
    min-height:92px;
    display:grid;
    grid-template-columns:200px 1fr 120px;
    align-items:start;
    gap:24px;
  }

  .ha-contact-brand{
    display:inline-flex;
    align-items:flex-start;
    gap:12px;
    text-decoration:none;
  }

  .ha-contact-brand img{
    width:92px;
    height:auto;
  }

  .ha-contact-book{
    justify-self:center;
    align-self:start;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:116px;
    min-height:44px;
    padding:0 24px;
    border-radius:999px;
    background:var(--ha-orange);
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:13px;
    font-weight:700;
    transition:.25s ease;
  }

  .ha-contact-book:hover{
    background:var(--ha-orange-2);
    color:#fff;
    transform:translateY(-1px);
  }

  .ha-contact-menu{
    justify-self:end;
    width:62px;
    height:62px;
    border:none;
    border-radius:50%;
    background:var(--ha-dark-2);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,.14);
    cursor:pointer;
  }

  .ha-contact-menu span{
    display:block;
    width:24px;
    height:2px;
    margin:3px 0;
    background:rgba(255,255,255,.92);
    border-radius:2px;
  }

  .ha-contact-hero{
    padding:10px 0 36px;
  }

  .ha-contact-hero-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(440px, .95fr);
    gap:40px;
    align-items:stretch;
  }

  .ha-contact-copy{
    padding:34px 10px 0 10px;
  }

  .ha-kicker{
    display:inline-block;
    margin-bottom:18px;
    color:var(--ha-orange);
    text-transform:uppercase;
    letter-spacing:.32em;
    font-size:13px;
    font-weight:700;
  }

  .ha-contact-title{
    margin:0 0 24px;
    color:var(--ha-title);
    font-family: Georgia, "Times New Roman", serif;
    font-size:clamp(52px, 6vw, 92px);
    line-height:.96;
    font-weight:400;
    letter-spacing:-.03em;
  }

  .ha-contact-title em{
    display:block;
    font-style:italic;
    font-weight:400;
  }

  .ha-contact-intro{
    max-width:760px;
    font-size:20px;
    line-height:1.8;
    margin-bottom:26px;
  }

  .ha-contact-divider{
    width:100%;
    height:1px;
    background:var(--ha-line);
    margin:28px 0 34px;
  }

  .ha-contact-details{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:34px 48px;
  }

  .ha-contact-detail h3{
    margin:0 0 10px;
    font-family: 'Cormorant Garamond';
    color:var(--ha-title);
    font-size:clamp(28px,2.4vw,42px);
    line-height:1.05;
    font-weight:400;
  }

  .ha-contact-detail p,
  .ha-contact-detail li,
  .ha-contact-detail a{
    font-size:18px;
    line-height:1.65;
    color:var(--ha-text);
    text-decoration:none;
  }

  .ha-contact-detail a:hover{
    color:var(--ha-orange);
  }

  .ha-contact-image{
    position:relative;
    min-height:760px;
    border-radius:36px;
    overflow:hidden;
    box-shadow:var(--ha-shadow);
  }

  .ha-contact-image img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .ha-contact-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(49,56,66,.08));
    pointer-events:none;
  }

  .ha-contact-map-section{
    padding:12px 0 80px;
  }

  .ha-contact-map-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr);
    gap:24px;
    align-items:start;
  }

  .ha-map-card,
  .ha-side-card{
    background:rgba(255,255,255,.32);
    border:1px solid rgba(63,70,80,.08);
    border-radius:0;
    padding:28px;
  }

  .ha-map-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:14px;
  }

  .ha-map-head h2{
    margin:0;
    color:#20262e;
    font-family: 'Cormorant Garamond';
    font-size:clamp(38px,4vw,66px);
    line-height:1.02;
    font-weight:400;
    letter-spacing:-.03em;
  }

  .ha-map-link{
    white-space:nowrap;
    align-self:flex-start;
    color:#1f2933;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.20em;
    font-size:13px;
    border-bottom:1px solid rgba(31,41,51,.35);
    padding-bottom:6px;
  }

  .ha-map-link:hover{
    color:var(--ha-orange);
    border-color:var(--ha-orange);
  }

  .ha-map-illustrated{
    background:#eae6dc;
    border:1px solid rgba(63,70,80,.10);
    border-radius:28px;
    overflow:hidden;
    margin-top:14px;
  }

  .ha-map-illustrated svg{
    display:block;
    width:100%;
    height:auto;
  }

  .ha-map-tags{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:16px;
  }

  .ha-map-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 18px;
    background:rgba(255,255,255,.64);
    border:1px solid rgba(63,70,80,.08);
    color:#27313a;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
  }

  .ha-side-stack{
    display:grid;
    gap:20px;
  }

  .ha-side-card h3{
    margin:0 0 14px;
    color:#16202a;
    font-family: 'Cormorant Garamond';
    font-size:clamp(36px,3vw,54px);
    line-height:1.04;
    font-weight:400;
    letter-spacing:-.03em;
  }

  .ha-side-card p{
    margin:0;
    font-size:18px;
    line-height:1.7;
    color:var(--ha-text);
  }

  .ha-stats{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:30px 24px;
  }

  .ha-stat small{
    display:block;
    margin-bottom:8px;
    color:#d19949;
    text-transform:uppercase;
    letter-spacing:.22em;
    font-size:12px;
    font-weight:700;
  }

  .ha-stat strong{
    display:block;
    margin-bottom:8px;
    color:#111921;
    font-family: 'Cormorant Garamond';
    font-size:clamp(38px,3vw,56px);
    line-height:1;
    font-weight:600;
  }

  .ha-stat span{
    display:block;
    font-size:18px;
    line-height:1.55;
  }

  .ha-contact-cta{
    background:var(--ha-dark);
    margin-top:0;
    color:#fff;
    overflow:hidden;
    position:relative;
  }

  .ha-contact-cta::before{
    content:"GARDA";
    position:absolute;
    right:-40px;
    bottom:-56px;
    color:rgba(255,255,255,.08);
    font-family: Georgia, "Times New Roman", serif;
    font-size:clamp(180px,20vw,380px);
    line-height:.8;
    letter-spacing:.04em;
    pointer-events:none;
  }

  .ha-contact-cta-shell{
    width:min(calc(100% - 48px), var(--ha-max));
    margin:0 auto;
    padding:76px 0 34px;
    position:relative;
    z-index:2;
  }

  .ha-contact-cta-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(240px, .75fr) 220px;
    gap:40px;
    align-items:end;
    min-height:540px;
  }

  .ha-big-title{
    margin:0 0 46px;
    font-family: Georgia, "Times New Roman", serif;
    font-size:clamp(84px,10vw,190px);
    line-height:.86;
    font-weight:400;
    letter-spacing:-.05em;
    color:#fff;
  }

  .ha-big-title em{
    color:var(--ha-orange);
    font-style:italic;
  }

  .ha-meta-label{
    margin:0 0 10px;
    color:rgba(255,255,255,.35);
    text-transform:uppercase;
    letter-spacing:.30em;
    font-size:12px;
    font-weight:700;
  }

  .ha-meta-block p,
  .ha-meta-block a{
    margin:0;
    color:rgba(255,255,255,.88);
    text-decoration:none;
    font-size:17px;
    line-height:1.65;
  }

  .ha-meta-block a:hover{
    color:#fff;
  }

  .ha-request-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:255px;
    min-height:54px;
    margin-top:26px;
    padding:0 26px;
    border-radius:999px;
    background:var(--ha-orange);
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:13px;
    font-weight:700;
    box-shadow:0 16px 30px rgba(0,0,0,.12);
    transition:.25s ease;
  }

  .ha-request-btn:hover{
    color:#fff;
    background:var(--ha-orange-2);
    transform:translateY(-1px);
  }

  .ha-footer-nav{
    justify-self:end;
    align-self:center;
    display:grid;
    gap:12px;
    text-align:left;
  }

  .ha-footer-nav a{
    color:rgba(255,255,255,.88);
    text-decoration:none;
    font-size:18px;
    line-height:1.45;
  }

  .ha-footer-nav a:hover{
    color:#fff;
  }

  .ha-bottomline{
    margin-top:52px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
  }

  .ha-bottomline p,
  .ha-bottomline a{
    margin:0;
    color:rgba(255,255,255,.35);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:11px;
  }

  .ha-bottomline a:hover{
    color:rgba(255,255,255,.75);
  }

  @media (max-width: 1399.98px){
    .ha-contact-hero-grid,
    .ha-contact-map-grid,
    .ha-contact-cta-grid{
      grid-template-columns:1fr;
    }

    .ha-contact-image{
      min-height:620px;
    }

    .ha-footer-nav{
      justify-self:start;
    }
  }

  @media (max-width: 991.98px){
    .ha-contact-shell,
    .ha-contact-cta-shell{
      width:min(calc(100% - 32px), var(--ha-max));
    }

    .ha-contact-topbar{
      grid-template-columns:1fr auto;
      grid-template-areas:
        "brand menu"
        "book book";
      row-gap:18px;
    }

    .ha-contact-brand{ grid-area:brand; }
    .ha-contact-menu{ grid-area:menu; }
    .ha-contact-book{
      grid-area:book;
      justify-self:start;
    }

    .ha-contact-copy{
      padding-top:12px;
    }

    .ha-contact-details,
    .ha-stats{
      grid-template-columns:1fr;
    }

    .ha-contact-image{
      min-height:500px;
    }

    .ha-big-title{
      margin-bottom:28px;
    }
  }

  @media (max-width: 767.98px){
    .ha-contact-header{
      padding-top:16px;
    }

    .ha-contact-title{
      font-size:64px;
    }

    .ha-contact-intro,
    .ha-contact-detail p,
    .ha-contact-detail li,
    .ha-contact-detail a,
    .ha-side-card p,
    .ha-stat span{
      font-size:17px;
    }

    .ha-map-head{
      flex-direction:column;
      align-items:flex-start;
    }

    .ha-map-card,
    .ha-side-card{
      padding:22px;
    }

    .ha-contact-image{
      min-height:400px;
      border-radius:26px;
    }

    .ha-contact-cta-shell{
      padding-top:54px;
    }

    .ha-contact-cta-grid{
      min-height:auto;
    }

    .ha-big-title{
      font-size:76px;
    }

    .ha-request-btn{
      min-width:100%;
    }
  }


/* =========================
   Language dropdown
========================= */

.ha-lang{
  position: relative;
  z-index: 10020;
}

.ha-lang__toggle{
  min-width: 86px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(44,54,57,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-right: 1.1rem;
  color: #343a40;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.ha-lang__toggle:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.78);
  border-color: rgba(232,72,21,.22);
  box-shadow: 0 14px 28px rgba(0,0,0,.08);
}

.ha-lang__label{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  line-height: 1;
}

.ha-lang__chevron{
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  transform: rotate(45deg) translateY(-1px);
  transition: transform .25s ease;
  flex: 0 0 auto;
}

.ha-lang.is-open .ha-lang__chevron{
  transform: rotate(-135deg) translateY(-1px);
}

.ha-lang__menu{
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 220px;
  padding: 10px;
  border-radius: 22px;
  border: 1px solid rgba(44,54,57,.08);
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 24px 60px rgba(0,0,0,.10);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.ha-lang.is-open .ha-lang__menu{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.ha-lang__item{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  color: #343a40;
  transition: background .22s ease, color .22s ease, transform .22s ease;
}

.ha-lang__item:hover{
  background: rgba(232,72,21,.07);
  color: var(--gold);
  transform: translateX(2px);
}

.ha-lang__item.is-active{
  background: rgba(232,72,21,.10);
}

.ha-lang__code{
  min-width: 34px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}

.ha-lang__name{
  font-size: 15px;
  line-height: 1.2;
  color: inherit;
}

/* versione scura sopra hero */
.ha-headerV2 .ha-lang__toggle,
.ha-header .ha-lang__toggle{
  color: #343a40;
}

.ha-compass.is-scrolled ~ * .ha-lang__toggle{
  background: rgba(255,255,255,.78);
}

/* se vuoi forzarlo piÃƒÂ¹ elegante dentro header fixed */
.ha-headerV2 .ha-lang{
  pointer-events: auto;
}

/* Mobile */
@media (max-width: 575.98px){
  .ha-lang__toggle{
    min-width: 74px;
    height: 40px;
    padding: 0 14px;
  }

  .ha-lang__label{
    font-size: 10px;
    letter-spacing: .22em;
  }

  .ha-lang__menu{
    width: 190px;
    border-radius: 18px;
  }

  .ha-lang__item{
    padding: 12px 14px;
  }

  .ha-lang__name{
    font-size: 14px;
  }
}



