:root{
  --color-bg:#f3fbff;
  --color-surface:#ffffff;
  --color-text:#061a23;
  --color-muted:#496470;
  --color-navy:#061a23;
  --color-navy-rgb:6,26,35;
  --color-mint:#14b8a6;
  --color-mint-dark:#0d9488;
  --color-accent:#2dd4bf;
  --color-accent-rgb:45,212,191;
  --color-border:rgba(var(--color-navy-rgb),0.12);
  --shadow-1:0 25px 50px -30px rgba(var(--color-navy-rgb),0.22);
  --shadow-2:0 18px 38px -28px rgba(var(--color-navy-rgb),0.28);
  --radius:14px;
  --container:1176px;
  --pad:clamp(1rem, 3.8vw, 1.5rem);
  --font-base:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,"Apple Color Emoji","Segoe UI Emoji";
  --font-cards:"Outfit", var(--font-base);
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}
body{
  margin:0;
  font-family:var(--font-base);
  line-height:1.5;
  color:var(--color-text);
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(var(--color-accent-rgb),0.10), transparent 55%),
    var(--color-bg);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
[hidden]{display:none !important}

.pricing-card,
.feature-card,
.addon-card{
  font-family:var(--font-cards);
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.sr-only:focus{
  position:fixed;
  top:12px;
  left:12px;
  width:auto;
  height:auto;
  margin:0;
  padding:.65rem .8rem;
  clip:auto;
  background:#fff;
  color:var(--color-navy);
  border-radius:10px;
  border:1px solid rgba(208,214,220,0.9);
  box-shadow:var(--shadow-1);
  z-index:1000;
}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--pad)}
.container--full{
  max-width:none;
  padding-left:clamp(1.25rem, 3vw, 3.5rem);
  padding-right:clamp(1.25rem, 3vw, 3.5rem);
}
.section{padding:3.5rem 0}
.section--tight{padding:2.5rem 0}
.legal{
  max-width:980px;
  margin:0 auto;
}
.legal .card h2{
  margin:1.25rem 0 .5rem;
  color:var(--color-navy);
  font-size:1.2rem;
}
.legal .card h2:first-child{margin-top:0}
.legal .card p{
  margin:.65rem 0;
  color:var(--color-text);
}
.legal-list{
  margin:.6rem 0 1rem 1.1rem;
  display:grid;
  gap:.45rem;
  color:var(--color-text);
}
.section--services{
  position:relative;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(var(--color-accent-rgb),0.20), transparent 62%),
    radial-gradient(820px 420px at 80% 10%, rgba(var(--color-accent-rgb),0.14), transparent 58%),
    linear-gradient(120deg, #061a23 0%, #073044 60%, #040d12 100%);
  color:#fff;
  overflow:hidden;
}
.section--services::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,0.18), transparent 40%),
    radial-gradient(1px 1px at 70% 60%, rgba(255,255,255,0.16), transparent 40%),
    radial-gradient(1px 1px at 40% 75%, rgba(255,255,255,0.14), transparent 40%);
  opacity:0.55;
  pointer-events:none;
}
.section--services .container{position:relative}
.services-top{
  display:grid;
  gap:1rem;
  justify-items:center;
  text-align:center;
}
.services-kicker{
  margin:0;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--color-muted);
  font-size:.92rem;
}
.services-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.65rem;
}
.services-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem .8rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.1);
  background:#fff;
  color:var(--color-text);
  text-decoration:none;
  font-weight:800;
  font-size:.95rem;
  letter-spacing:.01em;
  transition:transform .12s ease, border-color .15s ease, background .15s ease;
}
.services-tab:hover{
  transform:translateY(-1px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  background:rgba(var(--color-accent-rgb),0.12);
}
.services-shell{
  margin-top:2.25rem;
  max-width:1320px;
  scroll-margin-top:110px;
}
#extras-experiencias.services-shell{
  margin-top:1.35rem;
}
#extras-experiencias > .services-header{margin:0 auto}
#extras-experiencias > .extras-menu{margin:.9rem auto}
#extras-experiencias > .extras-sections{margin-top:0}
.services-header{
  text-align:center;
  max-width:70ch;
  margin:0 auto 1.65rem;
}
.services-title{
  margin:0 0 .55rem;
  font-size:clamp(1.85rem, 1.35rem + 1.35vw, 2.65rem);
  letter-spacing:-0.02em;
  text-transform:uppercase;
}
.services-lead{margin:0;color:rgba(255,255,255,0.82);font-weight:650}
.services-sub{margin:1.15rem 0 0;color:rgba(255,255,255,0.74);font-weight:800;font-size:1.15rem}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.25rem;
  margin-top:1.4rem;
  justify-content:center;
}
.pricing-card{
  position:relative;
  border-radius:22px;
  border:1px solid rgba(0,0,0,0.08);
  background:
    radial-gradient(620px 260px at 12% 10%, rgba(var(--color-accent-rgb),0.22), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,255,255,0.98));
  padding:1.85rem 1.7rem 1.65rem;
  box-shadow:var(--shadow-1);
  backdrop-filter:blur(10px);
}
.pricing-card--featured{
  border-color:rgba(var(--color-accent-rgb),0.55);
  background:
    radial-gradient(720px 300px at 12% 10%, rgba(var(--color-accent-rgb),0.28), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,255,255,0.99));
}
.pricing-badge{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  padding:.35rem .65rem;
  border-radius:999px;
  background:var(--color-mint);
  color:var(--color-navy);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.75rem;
  box-shadow:0 18px 26px -18px rgba(0,0,0,0.7);
}
.pricing-name{
  margin:0 0 .35rem;
  font-weight:900;
  font-size:1.05rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--color-text);
}
.pricing-price{
  margin:0 0 1.1rem;
  font-weight:900;
  display:flex;
  align-items:baseline;
  gap:.45rem;
  color:var(--color-navy);
}
.pricing-price span{
  font-size:clamp(2.65rem, 2.3rem + 1vw, 3rem);
  letter-spacing:-0.02em;
  color:var(--color-mint-dark);
}
.pricing-price small{
  font-size:1.05rem;
  color:rgba(var(--color-navy-rgb),0.64);
  font-weight:900;
}
.pricing-list{
  margin:0;
  padding-left:1.1rem;
  display:grid;
  gap:.65rem;
  font-size:1.05rem;
  line-height:1.55;
  color:var(--color-text);
  font-weight:700;
}
.pricing-cta{
  margin-top:1.75rem;
  display:flex;
  justify-content:center;
}
.pricing-cta .button{
  padding:1rem 1.55rem;
  border-radius:999px;
  min-width:0;
  box-shadow:0 26px 46px -34px rgba(0,0,0,0.65);
}
.services-included{
  margin-top:2.25rem;
  padding:2.15rem 1.85rem;
  background:linear-gradient(180deg, #ffffff 0%, #f6fbfa 100%);
  border:1px solid rgba(208,214,220,0.9);
  border-radius:calc(var(--radius) + 10px);
  box-shadow:var(--shadow-1);
  color:var(--color-text);
}
.section--operations .services-included{margin-top:0}
.section--operations .services-included{
  padding-top:0;
  padding-bottom:0;
  padding-left:clamp(1.25rem, 3vw, 3.5rem);
  padding-right:clamp(1.25rem, 3vw, 3.5rem);
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.services-included .section-title{
  text-align:center;
  margin:0 0 .65rem;
}
.services-included > .section-lead{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.services-included-cta{
  margin-top:1.85rem;
  padding-top:1.55rem;
  border-top:1px solid rgba(var(--color-navy-rgb),0.10);
  text-align:center;
}
.services-included-cta__title{
  margin:0;
  font-size:clamp(2.15rem, 1.65rem + 2vw, 3.15rem);
  letter-spacing:-0.03em;
  color:var(--color-navy);
  font-weight:950;
}
.services-included-cta__lead{
  margin:1rem auto 0;
  max-width:78ch;
  color:rgba(var(--color-navy-rgb),0.78);
  font-weight:750;
  line-height:1.6;
}
.services-included-cta__actions{
  margin-top:1.2rem;
  display:flex;
  justify-content:center;
}
.services-included-cta__actions .button{
  min-width:0;
  width:fit-content;
  max-width:100%;
  padding:1rem 1.55rem;
  border-radius:999px;
  box-shadow:0 26px 46px -34px rgba(0,0,0,0.25);
}
.services-kicker--included{color:rgba(var(--color-navy-rgb),0.62)}
.section-lead--center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.services-included .section-lead--center{
  max-width:80ch;
  font-size:1.12rem;
  line-height:1.7;
  color:rgba(var(--color-navy-rgb),0.70);
  font-weight:650;
}
.feature-card__icon{
  width:52px;
  height:52px;
  border-radius:12px;
  background:rgba(var(--color-accent-rgb),0.14);
  color:var(--color-mint-dark);
  display:grid;
  place-items:center;
  margin-bottom:.7rem;
}
.feature-card__icon svg{width:24px;height:24px}
.services-shell--addons{
  margin-top:2.75rem;
  max-width:1680px;
}
.section--addons .services-shell--addons{margin-top:0}
.addons-title{
  text-transform:none;
  letter-spacing:.08em;
}
.addons-grid{
  margin-top:1.35rem;
  display:grid;
  grid-template-columns:repeat(4, minmax(240px, 1fr));
  gap:2rem;
}
.addon-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.85rem;
  padding:1.35rem 1.25rem;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.06);
  box-shadow:0 22px 36px -30px rgba(0,0,0,0.62);
  backdrop-filter:blur(10px);
  text-align:center;
}
.addon-card__icon{
  flex:0 0 auto;
  width:60px;
  height:60px;
  border-radius:16px;
  background:rgba(var(--color-accent-rgb),0.18);
  color:var(--color-accent);
  display:grid;
  place-items:center;
}
.addon-card__icon svg{width:33px;height:33px}
.addon-card__title{
  margin:0;
  font-weight:600;
  line-height:1.25;
  font-size:1.1rem;
  color:#fff;
}
.addon-card__price{
  margin:0;
  font-weight:600;
  font-size:1.15rem;
  color:rgba(255,255,255,0.9);
}
.addons-note{
  margin:1.15rem auto 0;
  max-width:92ch;
  text-align:center;
  color:rgba(255,255,255,0.78);
  font-weight:650;
}
.button.addons-cta{
  display:flex;
  margin:1.1rem auto 0;
  width:fit-content;
  max-width:100%;
  padding:1rem 1.55rem;
  border-radius:999px;
  box-shadow:0 26px 46px -34px rgba(0,0,0,0.65);
}
.addons-quote{
  margin:2.4rem auto 0;
  max-width:92ch;
  text-align:center;
  font-size:clamp(1.15rem, 1.02rem + .55vw, 1.45rem);
  line-height:1.65;
  color:rgba(255,255,255,0.84);
  font-weight:650;
}
.addons-quote strong{
  display:block;
  margin-bottom:.25rem;
  font-size:1.35em;
  color:#fff;
}
	@media (max-width: 980px){
  .addons-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    overflow-x:visible;
    padding-bottom:0;
  }
}
@media (max-width: 520px){
  .addons-grid{
    grid-template-columns:1fr;
    overflow-x:visible;
    padding-bottom:0;
  }
}
.extras-block{
  margin-top:1.9rem;
  border-top:1px solid rgba(0,0,0,0.08);
  padding-top:1.35rem;
}
.extras-title{
  margin:0;
  text-align:center;
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.extras-grid{
  margin-top:1rem;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:.85rem;
}
.extras-item{
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.06);
  background:var(--color-surface);
  padding:.95rem 1rem;
  color:var(--color-text);
  font-weight:800;
}
.extras-note{
  margin:1rem auto 0;
  max-width:80ch;
  text-align:center;
  color:var(--color-muted);
  font-weight:700;
}
.extras-menu{
  margin:.25rem auto 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.6rem;
  max-width:1100px;
}
.extras-menu__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.35rem .6rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.1);
  background:rgba(255,255,255,0.95);
  color:var(--color-text);
  text-decoration:none;
  font-weight:800;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.01em;
  transition:transform .12s ease, border-color .15s ease, background .15s ease;
}
.extras-menu__link:hover{
  transform:translateY(-1px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  background:rgba(var(--color-accent-rgb),0.15);
}
.extras-sections{
  margin-top:1.55rem;
  display:grid;
  gap:1.1rem;
}
#extra-transfer{--extras-accent:var(--color-mint);--extras-accent-rgb:var(--color-accent-rgb);--extras-bg-image:url("../img/transfer.jpeg")}
#extra-experiencias{--extras-accent:rgb(59,130,246);--extras-accent-rgb:59,130,246;--extras-bg-image:url("../img/extras experiencias.jpg")}
#extra-bagagem{--extras-accent:rgb(245,158,11);--extras-accent-rgb:245,158,11;--extras-bg-image:url("../img/Bagagem.jpeg")}
#extra-familias{--extras-accent:rgb(139,92,246);--extras-accent-rgb:139,92,246;--extras-bg-image:url("../img/familias.jpeg")}
#extra-chef{--extras-accent:rgb(239,68,68);--extras-accent-rgb:239,68,68;--extras-bg-image:url("../img/Chef-privado.jpg")}
#extra-relocation{--extras-accent:rgb(34,197,94);--extras-accent-rgb:34,197,94;--extras-bg-image:url("../img/Relocation.jpg")}
.extras-section{
  --extras-accent:var(--color-mint);
  --extras-accent-rgb:var(--color-accent-rgb);
  --extras-bg-image:none;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-radius:22px;
  border:1px solid rgba(var(--color-navy-rgb),0.10);
  background-color:rgba(255,255,255,0.72);
  background-image:var(--extras-bg-image);
  background-size:cover;
  background-position:right center;
  background-repeat:no-repeat;
  padding:clamp(1.15rem, 0.95rem + 0.6vw, 1.55rem) clamp(1.1rem, 0.9rem + 0.8vw, 1.6rem);
  box-shadow:0 30px 60px -50px rgba(var(--color-navy-rgb),0.42);
  scroll-margin-top:110px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.extras-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 260px at 15% 0%, rgba(var(--extras-accent-rgb),0.14), transparent 60%),
    radial-gradient(740px 260px at 90% 20%, rgba(var(--color-accent-rgb),0.08), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,0.76) 0%, rgba(243,251,255,0.68) 100%);
  pointer-events:none;
  z-index:0;
}
.extras-section::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg, rgba(var(--extras-accent-rgb),0.95), rgba(var(--extras-accent-rgb),0.35));
  pointer-events:none;
  z-index:1;
  opacity:0.9;
}
.extras-section > *{position:relative;z-index:2}
.extras-section:hover{
  transform:translateY(-2px);
  border-color:rgba(var(--extras-accent-rgb),0.35);
  box-shadow:0 36px 70px -54px rgba(var(--color-navy-rgb),0.55);
}
.extras-section__title{
  margin:0 0 .7rem;
  font-size:clamp(1.55rem, 1.15rem + 1.0vw, 2.25rem);
  letter-spacing:-0.02em;
  text-transform:uppercase;
  color:var(--color-navy);
  display:flex;
  align-items:center;
  gap:.75rem;
  padding-bottom:.65rem;
  border-bottom:1px solid rgba(var(--color-navy-rgb),0.08);
}
.extras-section__title::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--extras-accent);
  box-shadow:0 0 0 5px rgba(var(--extras-accent-rgb),0.14);
  flex:0 0 auto;
}
.extras-section__lead{
  margin:0;
  color:rgba(var(--color-navy-rgb),0.86);
  font-weight:750;
  line-height:1.7;
}
.extras-section__text{
  margin:.75rem 0 0;
  color:rgba(var(--color-navy-rgb),0.70);
  font-weight:650;
  line-height:1.7;
}
.extras-section__text > strong:only-child{
  display:inline-flex;
  align-items:center;
  padding:.25rem .6rem;
  border-radius:999px;
  border:1px solid rgba(var(--extras-accent-rgb),0.26);
  background:rgba(var(--extras-accent-rgb),0.10);
  color:var(--color-navy);
  font-weight:900;
}
.extras-section__actions{
  margin-top:.9rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  flex-wrap:wrap;
  padding-top:1rem;
  border-top:1px solid rgba(var(--color-navy-rgb),0.08);
}
.extras-section__actions--center{justify-content:center}
.extras-section__actions .extras-cta{margin-top:0}
.extras-phone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem .9rem;
  border-radius:999px;
  border:1px solid rgba(var(--extras-accent-rgb),0.22);
  background:rgba(var(--extras-accent-rgb),0.10);
  box-shadow:0 14px 22px -18px rgba(var(--color-navy-rgb),0.42);
  font-weight:900;
  font-size:1.05rem;
  color:var(--color-navy);
  text-decoration:none;
  letter-spacing:.01em;
  transition:transform .12s ease, border-color .15s ease, background .15s ease;
}
.extras-phone:hover{
  transform:translateY(-1px);
  border-color:rgba(var(--extras-accent-rgb),0.45);
  background:rgba(var(--extras-accent-rgb),0.14);
}
.extras-experiences{
  margin-top:1rem;
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
  align-items:start;
}
.extras-experiences__main .extras-cta{margin-top:0}
.extras-widgets{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:clamp(.7rem, .55rem + .6vw, 1rem);
}
.extras-widget{
  display:flex;
  flex-direction:column;
  border-radius:18px;
  border:1px solid rgba(0,0,0,0.08);
  overflow:hidden;
  background:rgba(255,255,255,0.92);
  box-shadow:var(--shadow-1);
  position:relative;
}
.extras-widget::after{
  content:"";
  position:absolute;
  left:0;
  top:calc(3.25rem + 1px);
  width:46px;
  height:26px;
  background:rgba(255,255,255,0.98);
  z-index:2;
  pointer-events:none;
}
.extras-widget__title{
  margin:0;
  padding:.75rem .95rem;
  min-height:3.25rem;
  display:flex;
  align-items:center;
  font-weight:900;
  color:var(--color-navy);
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.extras-widget__frame{
  width:100%;
  height:clamp(300px, 26vw, 420px);
  border:0;
  display:block;
  background:#fff;
}
.extras-link{
  color:var(--color-mint-dark);
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
.extras-cta{
  margin-top:.9rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.7rem 1rem;
  border-radius:999px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(135deg, var(--color-mint), var(--color-accent));
  color:var(--color-navy);
  font-weight:900;
  letter-spacing:.01em;
  text-decoration:none;
  box-shadow:0 22px 30px -20px rgba(var(--color-navy-rgb),0.55);
  transition:transform .12s ease, filter .15s ease, box-shadow .15s ease;
}
.extras-cta::after{
  content:"";
  position:absolute;
  inset:-2px;
  background:radial-gradient(520px 220px at 20% 0%, rgba(255,255,255,0.55), transparent 60%);
  opacity:0;
  z-index:-1;
  transition:opacity .18s ease;
}
.extras-cta > *{position:relative;z-index:1}
.extras-cta:hover::after{opacity:1}
.extras-cta:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
  box-shadow:0 30px 40px -24px rgba(var(--color-navy-rgb),0.6);
}
.extras-gallery{
  margin-top:1.15rem;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(.7rem, .55rem + .6vw, 1rem);
}
.extras-tile{
  position:relative;
  aspect-ratio: 16 / 10;
  border-radius:18px;
  border:1px solid rgba(0,0,0,0.1);
  overflow:hidden;
  background-image:
    var(--extras-tile-image, none),
    radial-gradient(900px 240px at 20% 20%, rgba(var(--color-accent-rgb),0.16), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.65) 60%, rgba(255,255,255,0.2) 100%);
  background-size:cover, cover, cover;
  background-position:center, center, center;
  box-shadow:var(--shadow-1);
  text-decoration:none;
  color:var(--color-text);
  transition:transform .12s ease, border-color .15s ease, filter .15s ease;
}
.extras-tile::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(0deg, rgba(255,255,255,0.7), rgba(255,255,255,0.05)),
    radial-gradient(1200px 420px at 40% 12%, rgba(255,255,255,0.18), transparent 60%);
  pointer-events:none;
}
.extras-tile:hover{
  transform:translateY(-2px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  filter:brightness(1.02);
}
.extras-tile:focus-visible{
  outline:3px solid rgba(var(--color-accent-rgb),0.65);
  outline-offset:3px;
}
.extras-tile__label{
  position:absolute;
  left:.9rem;
  bottom:.85rem;
  padding:.35rem .55rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.15);
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(8px);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.8rem;
}

@media (max-width: 980px){
  .extras-widgets{grid-template-columns:repeat(auto-fit, minmax(320px, 1fr))}
  .extras-gallery{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .extras-section::after{content:none}
}
@media (max-width: 520px){
  .extras-widgets{grid-template-columns:1fr}
  .extras-gallery{grid-template-columns:1fr}
}
.features-grid{
  margin-top:1.6rem;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:1rem;
}
.services-included .features-grid{
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  max-width:none;
  margin-left:0;
  margin-right:0;
  gap:1.75rem;
}
@media (min-width: 1100px){
  .services-included .features-grid{
    grid-template-columns:repeat(5, minmax(0, 1fr));
  }
}
.feature-card{
  background:var(--color-surface);
  border:1px solid rgba(208,214,220,0.9);
  border-radius:var(--radius);
  padding:1.05rem 1.15rem .95rem;
  box-shadow:var(--shadow-1);
}
.feature-card h3{margin:0 0 .35rem;color:var(--color-navy);font-size:1.05rem}
.feature-card p{margin:0;color:var(--color-text);font-size:.98rem;line-height:1.5}
.feature-card--reveal{
  border-radius:14px;
  aspect-ratio:5 / 6;
  padding:1.35rem 1.35rem 1.25rem;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.services-included .feature-card--reveal{
  position:relative;
  text-align:center;
  aspect-ratio:auto;
  padding:1.25rem 1.15rem 1.15rem;
  transition:none;
}
.services-included .feature-card h3{margin:0}
.services-included .feature-card p{
  font-size:clamp(.95rem, .9rem + .25vw, 1.05rem);
  line-height:1.55;
}
.services-included .feature-card__icon{
  width:72px;
  height:72px;
  border-radius:20px;
  display:grid;
  place-items:center;
  position:static;
  transform:none;
  margin:0 auto .85rem;
  opacity:1;
}
.services-included .feature-card__icon svg{width:32px;height:32px}
.services-included .feature-card--reveal h3{
  position:static;
  transform:none;
  width:auto;
  margin:0 0 .55rem;
  opacity:1;
  transition:none;
  font-size:1.05rem;
}
.services-included .feature-card__icon{
  transition:none;
}
.services-included .feature-card--reveal p{
  position:static;
  inset:auto;
  display:block;
  text-align:center;
  margin:0;
  opacity:1;
  transform:none;
  transition:none;
  overflow:visible;
}
.feature-card--reveal:hover,
.feature-card--reveal:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  background:linear-gradient(135deg, rgba(var(--color-navy-rgb),0.97), rgba(var(--color-accent-rgb),0.25));
  box-shadow:0 24px 46px -32px rgba(var(--color-navy-rgb),0.25);
}
.section--operations .feature-card--reveal:hover,
.section--operations .feature-card--reveal:focus-visible{
  background:var(--color-surface);
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 28px 54px -38px rgba(0,0,0,0.35);
}
@media (hover: hover) and (pointer: fine){
  .services-included .feature-card--reveal{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  }
  .services-included .feature-card--reveal:hover,
  .services-included .feature-card--reveal:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(var(--color-accent-rgb),0.55);
    background:var(--color-surface);
    box-shadow:0 24px 46px -32px rgba(var(--color-navy-rgb),0.25);
  }

  .section--operations .services-included .feature-card--reveal{
    background:var(--color-surface);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:300px;
  }
  .section--operations .services-included .feature-card--reveal:hover,
  .section--operations .services-included .feature-card--reveal:focus-visible{
    transform:none;
    background:var(--color-surface);
    border-color:rgba(var(--color-accent-rgb),0.55);
    box-shadow:0 28px 54px -38px rgba(0,0,0,0.35);
  }

  .section--operations .services-included .feature-card--reveal .feature-card__icon,
  .section--operations .services-included .feature-card--reveal h3{
    transition:opacity .18s ease, transform .26s ease;
    will-change:opacity, transform;
  }
  .section--operations .services-included .feature-card--reveal p{
    position:absolute;
    inset:1.15rem;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    opacity:0;
    transform:translateY(14px);
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .26s ease;
    will-change:opacity, transform;
  }
  .section--operations .services-included .feature-card--reveal:hover .feature-card__icon,
  .section--operations .services-included .feature-card--reveal:focus-visible .feature-card__icon,
  .section--operations .services-included .feature-card--reveal:hover h3,
  .section--operations .services-included .feature-card--reveal:focus-visible h3{
    opacity:0;
    transform:translateY(-14px);
  }
  .section--operations .services-included .feature-card--reveal:hover p,
  .section--operations .services-included .feature-card--reveal:focus-visible p{
    opacity:1;
    transform:translateY(0);
    visibility:visible;
    pointer-events:auto;
  }
}
@media (hover: none){
  .services-included .feature-card--reveal{
    aspect-ratio:auto;
    padding:1.25rem 1.15rem 1.15rem;
  }
  .feature-card--reveal{transition:none}
  .feature-card--reveal:hover,
  .feature-card--reveal:focus-visible{
    transform:none;
    border-color:rgba(208,214,220,0.9);
    background:var(--color-surface);
    box-shadow:var(--shadow-1);
  }
  .services-included .feature-card__icon{
    position:static;
    transform:none;
    margin:0 auto .85rem;
    opacity:1;
  }
  .services-included .feature-card--reveal h3{
    position:static;
    transform:none;
    width:auto;
    margin:0 0 .65rem;
    opacity:1;
  }
  .services-included .feature-card--reveal p{
    position:static;
    inset:auto;
    display:block;
    opacity:1;
    transform:none;
    overflow:visible;
  }
  .services-included .feature-card--reveal:hover .feature-card__icon,
  .services-included .feature-card--reveal:focus-visible .feature-card__icon,
  .services-included .feature-card--reveal:hover h3,
  .services-included .feature-card--reveal:focus-visible h3{
    opacity:1;
    transform:none;
  }
  .services-included .feature-card--reveal:hover p,
  .services-included .feature-card--reveal:focus-visible p{
    opacity:1;
    transform:none;
    color:var(--color-text);
  }
}
.feature-highlight{
  margin-top:1.35rem;
  border-radius:calc(var(--radius) + 8px);
  border:1px solid rgba(var(--color-accent-rgb),0.55);
  background:linear-gradient(135deg, rgba(var(--color-accent-rgb),0.14) 0%, rgba(255,255,255,0.04) 65%);
  padding:1.35rem 1.35rem 1.2rem;
  display:flex;
  gap:1rem;
  align-items:flex-start;
}
.feature-highlight__icon{
  width:54px;
  height:54px;
  border-radius:16px;
  background:rgba(var(--color-accent-rgb),0.18);
  color:var(--color-mint-dark);
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.feature-highlight__icon svg{width:26px;height:26px}
.feature-highlight__content{flex:1;min-width:0}
.feature-highlight h3{margin:0 0 .35rem;color:var(--color-navy);font-size:1.12rem}
.feature-highlight p{margin:0;color:var(--color-text);font-weight:700}
.feature-highlight p + p{margin-top:.65rem}
.feature-highlight p strong{display:block;margin-bottom:.15rem}
@media (max-width: 720px){
  .feature-highlight{flex-direction:column}
}

@media (max-width: 980px){
  .pricing-grid{grid-template-columns:1fr}
}
.section--consulting{
  background:#fff;
  color:var(--color-text);
  border-top:1px solid rgba(208,214,220,0.9);
  padding:clamp(3.25rem, 2.9rem + 2vw, 4.75rem) 0;
  --consulting-shift: clamp(0px, 4vw, 30px);
  --consulting-cta-shift: calc(var(--consulting-shift) - 20px);
}
.consulting-shell{
  width:100%;
  max-width:1050px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.section-title.consulting-title{color:var(--color-navy)}
.section--consulting .section-title.consulting-title{margin-bottom:.5rem}
.section--consulting .section-lead{
  color:rgba(var(--color-navy-rgb),0.72);
  font-weight:650;
  text-align:center;
  max-width:85ch;
  margin-left:auto;
  margin-right:auto;
}
.consulting-illustration{
  margin:1.9rem auto .55rem;
  width:min(860px, 100%);
  height:auto;
  filter:drop-shadow(0 22px 28px rgba(var(--color-navy-rgb),0.18));
  transform:translateX(var(--consulting-shift));
}
.consulting-cta{
  margin:0 auto;
  padding:1rem 1.55rem;
  border-radius:999px;
  min-width:0;
  width:fit-content;
  max-width:100%;
  font-size:1.08rem;
  box-shadow:0 26px 46px -34px rgba(var(--color-navy-rgb),0.25);
  transform:translateX(var(--consulting-cta-shift)) translateY(-1px);
}
.section--consulting .consulting-cta:hover{transform:translateX(var(--consulting-cta-shift)) translateY(-1px)}
.section--consulting .consulting-cta:active{transform:translateX(var(--consulting-cta-shift)) translateY(-1px)}
.section--about{
  background:var(--color-surface);
  border-top:0;
  border-bottom:0;
  color:var(--color-text);
}
.section--about-benefits .about-benefits-shell{
  width:100%;
  max-width:calc(78ch + 3.7rem);
  margin-left:auto;
  margin-right:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.section--premium-services.section--about-benefits .section-title{margin-bottom:2rem}
.about-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:2.75rem;
  align-items:start;
}
.about-story{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  width:100%;
  max-width:calc(78ch + 3.7rem);
  margin-left:auto;
  margin-right:auto;
}
.about-story .section-title{
  margin-bottom:1.1rem;
  font-size:.95rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(var(--color-navy-rgb),0.62);
}
.about-story__text{
  font-size:1.16rem;
  line-height:1.8;
  max-width:78ch;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}
.about-story__text p{
  margin-top:0;
  margin-bottom:1.2rem;
  color:var(--color-text);
}
.about-story__flags{
  margin-top:1.85rem;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
  max-width:78ch;
  margin-left:auto;
  margin-right:auto;
}
.about-flag{
  position:relative;
  padding:1.65rem 1.6rem 1.4rem;
  border-radius:calc(var(--radius) + 8px);
  border:1px solid rgba(var(--color-accent-rgb),0.25);
  background:rgba(var(--color-accent-rgb),0.11);
  box-shadow:0 22px 36px -30px rgba(var(--color-navy-rgb),0.32);
  overflow:hidden;
  isolation:isolate;
  text-align:center;
}
.about-flag::before,
.about-flag::after{
  position:absolute;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:900;
  line-height:1;
  color:rgba(var(--color-navy-rgb),0.14);
  pointer-events:none;
  user-select:none;
  z-index:0;
}
.about-flag::before{
  content:"“";
  font-size:4.9rem;
  top:-.6rem;
  left:.9rem;
}
.about-flag::after{
  content:"”";
  font-size:4.9rem;
  bottom:-2.3rem;
  right:1rem;
}
.about-flag__title{
  margin:0 0 .75rem;
  font-size:clamp(1.55rem,1.25rem + 1vw,1.95rem);
  font-weight:900;
  font-style:italic;
  letter-spacing:-0.03em;
  color:var(--color-navy);
  position:relative;
  z-index:1;
}
.about-flag__text{
  margin:0;
  color:rgba(var(--color-navy-rgb),0.88);
  font-weight:600;
  font-style:italic;
  font-size:1.1rem;
  line-height:1.75;
  position:relative;
  z-index:1;
}
.about-card{
  background:
    radial-gradient(900px 320px at 12% 0%, rgba(var(--color-accent-rgb),0.18), transparent 60%),
    linear-gradient(120deg, rgba(var(--color-navy-rgb),0.98) 0%, rgba(13,148,136,0.35) 65%, rgba(var(--color-navy-rgb),0.98) 100%);
  border:0;
  border-radius:calc(var(--radius) + 6px);
  padding:1.85rem;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  text-align:center;
  color:#fff;
  width:100%;
  max-width:calc(78ch + 3.7rem);
  margin-left:auto;
  margin-right:auto;
}
.about-card__header{
  display:flex;
  align-items:center;
  gap:.65rem;
  justify-content:center;
  color:#fff;
}
.about-card__header svg{
  width:32px;
  height:32px;
  color:var(--color-mint);
}
.about-card__title{
  margin:0;
  font-size:1.35rem;
  font-weight:900;
  color:#fff;
}
.about-benefits{
  margin:0;
  padding-left:0;
  list-style:none;
  counter-reset:about-benefit;
  display:grid;
  gap:1.15rem;
  color:#fff;
  text-align:center;
  max-width:62ch;
  margin-left:auto;
  margin-right:auto;
  font-size:1.05rem;
}
.about-benefits li{
  counter-increment:about-benefit;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.6rem;
  position:relative;
  padding:1.35rem .75rem .75rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.06);
  box-shadow:none;
  font-weight:600;
  line-height:1.45;
}
.about-benefits li::before{
  content:counter(about-benefit);
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  position:absolute;
  top:-17px;
  left:50%;
  transform:translateX(-50%);
  background:var(--color-mint);
  color:var(--color-navy);
  font-weight:950;
  flex:0 0 auto;
  margin-top:0;
  box-shadow:0 18px 26px -20px rgba(0,0,0,0.55);
}
.section--premium-services.section--about-benefits .about-benefits__lead{
  margin:0 0 2.6rem;
  color:rgba(255,255,255,0.82);
  font-weight:650;
  text-align:center;
  max-width:62ch;
  margin-left:auto;
  margin-right:auto;
}
.about-slogan{
  padding-bottom:1rem;
  border-bottom:0;
  color:rgba(255,255,255,0.88);
  font-weight:500;
  font-size:1.03rem;
}
.about-slogan > p:not(.about-mark){
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  max-width:78ch;
}
.about-cta{
  margin:1.15rem auto 0;
  width:auto;
  max-width:none;
  padding:1rem 1.55rem;
  border-radius:999px;
  font-size:1.06rem;
  box-shadow:0 24px 42px -34px rgba(var(--color-navy-rgb),0.6);
}
.about-slogan__title{
  margin:1.9rem 0 1.1rem;
  font-weight:900;
  letter-spacing:-0.02em;
  text-transform:none;
  color:#fff;
  font-size:clamp(1.6rem, 1.3rem + 1vw, 2.05rem);
  text-align:center;
  width:100%;
}
.about-mark{
  margin:.35rem 0 0;
  font-weight:900;
  letter-spacing:-0.02em;
  text-align:center;
  color:rgba(255,255,255,0.85);
  font-size:1.15rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.6rem;
}
.about-mark__x{color:var(--color-mint);}
.about-mark__image{
  display:none;
  width:min(208px, 92%);
  height:auto;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,0.35));
}
.about-mark.has-image .about-mark__text{display:none}
.about-mark.has-image .about-mark__image{display:block}

.section--about-slogan{
  background:#fff;
  text-align:center;
}
.section--about-slogan .about-slogan{color:var(--color-muted)}
.section--about-slogan .about-slogan__title{
  margin-top:0;
  color:var(--color-navy);
}
.section--about-slogan .about-mark{color:var(--color-navy)}
.section--about-slogan .about-cta{
  display:flex;
  width:fit-content;
  margin-left:auto;
  margin-right:auto;
}
.section-title{
  margin:0 0 .75rem;
  color:var(--color-navy);
  font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);
  letter-spacing:-0.02em;
}
.section-lead{margin:0;max-width:65ch;color:var(--color-muted)}
.section--zones .section-title{text-align:center}
.section--zones .section-lead{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

@media (min-width: 980px){
  .about-grid{
    grid-template-columns:1fr;
    gap:2.1rem;
    align-items:start;
  }
  .about-card{margin-top:0}
  .about-story__flags{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

html.reveal-enabled .reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s ease, transform .6s ease;
  transition-delay:var(--reveal-delay, 0ms);
  will-change:transform, opacity;
}
html.reveal-enabled .reveal.is-revealed{
  opacity:1;
  transform:none;
}
html.reveal-enabled .reveal.reveal--scale{transform:translateY(14px) scale(.985)}

@media (prefers-reduced-motion: reduce){
  html.reveal-enabled .reveal{
    transition:none;
    opacity:1;
    transform:none;
  }
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.75rem 1rem;
  border-radius:999px;
  border:1px solid transparent;
  font:inherit;
  font-size:1rem;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
  line-height:1;
  transition:transform .08s ease,background .15s ease,border-color .15s ease,color .15s ease;
  user-select:none;
}
.button--rect{border-radius:10px}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(1px)}
.button--primary{background:var(--color-mint);color:#fff}
.button--primary:hover{background:var(--color-mint-dark)}
.button--outline{background:transparent;border-color:rgba(255,255,255,0.35);color:#fff}
.button--outline:hover{border-color:rgba(255,255,255,0.6)}
.button--navy{background:var(--color-bg);color:#fff;border:1px solid rgba(255,255,255,0.35)}
.button--navy:hover{background:rgba(255,255,255,0.08);color:#fff}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(var(--color-navy-rgb),0.92);
  border-bottom:0;
  backdrop-filter:blur(16px);
  transition:background .3s ease, border-color .3s ease;
  overflow:visible;
}
.site-header::after{
  content:none;
}
.site-header--dark{
  background:rgba(var(--color-navy-rgb),0.98);
  border-bottom:0;
  backdrop-filter:none;
}
.header-inner{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.15rem var(--pad);
}
.site-header--dark .header-inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  min-height:96px;
}
.brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  text-decoration:none;
  min-width:fit-content;
}
.brand img{width:150px;height:auto}
.site-header--dark .brand img{width:160px}

.nav{
  display:flex;
  gap:1.6rem;
  margin-left:auto;
  align-items:center;
}
.site-header--dark .nav{
  margin-left:0;
  justify-content:center;
}
.nav a{
  position:relative;
  display:inline-flex;
  font-size:16px;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  padding:.3rem 0;
  transition:color .15s ease, transform .15s ease;
}
.site-header--dark .nav a{color:rgba(255,255,255,0.92)}
.site-header--dark .nav a:hover{color:#fff}
.nav a:hover{transform:translateY(-1px)}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:2px;
  background:var(--color-mint);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.nav a:hover::after,
.nav a[aria-current="page"]::after{transform:scaleX(1)}

.nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.nav-dropdown__toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font:inherit;
  font-size:16px;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  padding:.3rem 0;
  background:transparent;
  border:0;
  cursor:pointer;
  transition:color .15s ease, transform .15s ease;
}
.site-header--dark .nav-dropdown__toggle{color:rgba(255,255,255,0.92)}
.site-header--dark .nav-dropdown__toggle:hover{color:#fff}
.nav-dropdown__toggle:hover{transform:translateY(-1px)}
.nav-dropdown__toggle::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:2px;
  background:var(--color-mint);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.nav-dropdown--active .nav-dropdown__toggle::after,
.nav-dropdown.is-open .nav-dropdown__toggle::after,
.nav-dropdown__toggle:hover::after{transform:scaleX(1)}
.nav-dropdown__menu{
  position:absolute;
  top:calc(100% + 12px);
  left:-.65rem;
  min-width:320px;
  padding:.35rem;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.10);
  background:rgba(255,255,255,0.96);
  box-shadow:0 28px 54px rgba(0,0,0,0.35);
  z-index:200;
  opacity:0;
  transform:translateY(10px);
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
}
.nav-dropdown.is-open .nav-dropdown__menu,
.nav-dropdown__toggle[aria-expanded="true"] + .nav-dropdown__menu{
  opacity:1;
  transform:none;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .16s ease, transform .16s ease, visibility 0s;
}
.nav .nav-dropdown__menu a{
  display:flex;
  align-items:center;
  width:100%;
  padding:.55rem .65rem;
  border-radius:999px;
  font-size:14px;
  font-weight:850;
  color:#000;
  text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
.nav-dropdown__menu a::after{content:none}
.nav-dropdown__menu a:hover{
  background:rgba(var(--color-accent-rgb),0.12);
  transform:none;
}
.nav .nav-dropdown__menu a[aria-current="page"]{
  background:rgba(var(--color-accent-rgb),0.18);
  color:#000;
}

@media (hover: hover) and (pointer: fine){
  .nav-dropdown__menu::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-12px;
    height:12px;
  }
  .nav-dropdown:hover .nav-dropdown__menu,
  .nav-dropdown:focus-within .nav-dropdown__menu{
    opacity:1;
    transform:none;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .16s ease, transform .16s ease, visibility 0s;
  }
}

.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:.5rem}
.site-header--dark .header-actions{margin-left:0;justify-self:end}
.site-header--dark .header-actions .button{
  padding:.65rem .95rem;
  border-radius:999px;
  font-size:16px;
  font-weight:700;
}
.site-header--dark .header-actions .button--rect{border-radius:10px}

.lang-select{
  border:1px solid rgba(var(--color-navy-rgb),0.18);
  background:#fff;
  border-radius:10px;
  padding:.6rem .75rem;
  font:inherit;
  font-weight:900;
  color:var(--color-navy);
  cursor:pointer;
}
.site-header--dark .lang-select{
  border-color:rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.92);
  color:var(--color-navy);
  box-shadow:0 14px 30px -22px rgba(0,0,0,0.85);
  padding:.5rem .65rem;
  font-size:16px;
  font-weight:700;
}
.site-header--dark .lang-select:focus-visible{
  outline:3px solid rgba(var(--color-accent-rgb),0.65);
  outline-offset:3px;
}
.site-header--dark .lang-select option{
  background:#fff;
  color:var(--color-text);
}

.nav-toggle{
  display:none;
  border:1px solid rgba(var(--color-navy-rgb),0.18);
  background:#fff;
  border-radius:999px;
  padding:.65rem .75rem;
  font-weight:800;
  color:var(--color-navy);
  cursor:pointer;
}
.site-header--dark .nav-toggle{
  border-color:rgba(255,255,255,0.18);
  background:linear-gradient(135deg, rgba(255,255,255,0.95), rgba(var(--color-accent-rgb),0.14));
  color:#fff;
}
.nav-toggle svg{width:20px;height:20px}

.nav-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:transparent;
  z-index:90;
}

@media (max-width: 1400px){
  .site-header--dark .header-inner{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "brand actions"
      "nav nav";
    row-gap:.75rem;
    min-height:auto;
  }
  .site-header--dark .brand{grid-area:brand}
  .site-header--dark .header-actions{grid-area:actions}
  .site-header--dark .nav{
    grid-area:nav;
    flex-wrap:wrap;
    gap:1.05rem;
    justify-content:center;
  }
  .site-header--dark .nav a{font-size:15px}
  .site-header--dark .nav-dropdown__toggle{font-size:15px}
}

.hero-cover{
  --hero-image:url("../img/Fundo-index.jpg");
  min-height:clamp(540px, 75vh, 780px);
  display:flex;
  align-items:center;
  justify-content:center;
  background-color:rgb(var(--color-navy-rgb));
  background-image:var(--hero-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:#fff;
  position:relative;
  overflow:visible;
}
.hero-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(var(--color-navy-rgb),0.65) 0%, rgba(var(--color-navy-rgb),0.28) 45%, transparent 100%);
  pointer-events:none;
}
.hero-cover-inner{
  width:100%;
  padding:4.5rem 0;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  position:relative;
  z-index:1;
}
.hero-title{
  margin:0;
  font-size:clamp(1.85rem, 1.35rem + 2.2vw, 2.375rem);
  font-weight:300;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#fff;
}
.hero-title strong{color:var(--color-mint);font-weight:700}
.hero-title__image{
  display:none;
  width:min(820px, 92vw);
  height:auto;
}
.hero-title.has-image{
  letter-spacing:normal;
  text-transform:none;
}
.hero-title.has-image .hero-title__text{display:none}
.hero-title.has-image .hero-title__image{display:block}
.hero-subtitle{
  margin:0;
  font-size:clamp(1.1rem, 1rem + .6vw, 1.6rem);
  color:rgba(255,255,255,0.82);
}
.search-bar{
  margin-top:1.15rem;
  width:min(1080px, 100%);
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(var(--color-navy-rgb),0.12);
  border-radius:999px;
  box-shadow:0 38px 90px -62px rgba(var(--color-navy-rgb),0.55);
  backdrop-filter:none;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  z-index:10;
  transform:translateZ(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.search-bar:hover{
  transform:translateY(-2px);
  box-shadow:0 46px 120px -82px rgba(var(--color-navy-rgb),0.65);
}
.search-bar:focus-within{
  border-color:rgba(var(--color-accent-rgb),0.75);
  box-shadow:
    0 48px 130px -90px rgba(var(--color-navy-rgb),0.65),
    0 0 0 4px rgba(var(--color-accent-rgb),0.20);
}
.search-field{
  flex:1 1 0;
  min-width:0;
  padding:1.1rem 1.35rem;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.35rem;
  transition:background .15s ease;
}
.search-field:hover{background:rgba(var(--color-navy-rgb),0.02)}
.search-field:focus-within{background:rgba(var(--color-accent-rgb),0.08)}
.search-label{
  display:block;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(var(--color-navy-rgb),0.55);
  font-weight:900;
}
.search-input{
  width:100%;
  margin-top:0;
  border:0;
  padding:0;
  font:inherit;
  font-weight:800;
  font-size:1.05rem;
  color:var(--color-text);
  background:transparent;
  outline:none;
}
.search-input::placeholder{
  color:rgba(var(--color-navy-rgb),0.35);
  font-weight:800;
}
select.search-input{
  -webkit-appearance:none;
  appearance:none;
  padding-right:1.9rem;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M5%207l5%206%205-6'%20fill='none'%20stroke='%23061a23'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.55'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .2rem center;
  background-size:18px 18px;
}
.search-bar.is-popover-open{overflow:visible}
.search-field--guests{position:relative}
button.search-guest-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  text-align:left;
  border:0;
  background:transparent;
}
button.search-guest-toggle{
  -webkit-appearance:none;
  appearance:none;
  padding-right:1.9rem;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M5%207l5%206%205-6'%20fill='none'%20stroke='%23061a23'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.55'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .2rem center;
  background-size:18px 18px;
}
.guest-popover{
  position:absolute;
  top:calc(100% + .85rem);
  left:0;
  width:min(340px, 90vw);
  background:rgba(255,255,255,0.98);
  border:1px solid rgba(208,214,220,0.95);
  border-radius:18px;
  box-shadow:0 28px 60px -42px rgba(0,0,0,0.65);
  padding:1rem 1.1rem;
  color:var(--color-navy);
  z-index:50;
}
.guest-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.55rem 0;
}
.guest-title{
  font-weight:900;
  color:var(--color-navy);
}
.guest-controls{display:flex;align-items:center;gap:.65rem}
.guest-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(208,214,220,0.95);
  background:#fff;
  color:var(--color-navy);
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  transition:transform .08s ease, border-color .15s ease, background .15s ease;
}
.guest-btn:hover{transform:translateY(-1px);border-color:rgba(var(--color-accent-rgb),0.8)}
.guest-btn:active{transform:translateY(1px)}
.guest-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.guest-count{min-width:1.75rem;text-align:center;font-weight:900}
.search-field--dates{position:relative}
.date-popover{
  position:absolute;
  top:calc(100% + .85rem);
  left:0;
  width:min(760px, 92vw);
  background:rgba(255,255,255,0.98);
  border:1px solid rgba(208,214,220,0.95);
  border-radius:18px;
  box-shadow:0 28px 60px -42px rgba(0,0,0,0.65);
  color:var(--color-navy);
  z-index:500;
  overflow:hidden;
}
.date-picker-header{
  display:grid;
  grid-template-columns:42px 1fr 1fr 42px;
  align-items:center;
  gap:1rem;
  padding:.85rem 1rem;
  border-bottom:1px solid rgba(208,214,220,0.9);
}
.date-month-title{
  text-align:center;
  font-weight:900;
  letter-spacing:-0.01em;
}
.date-nav{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(208,214,220,0.95);
  background:#fff;
  color:var(--color-navy);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .08s ease, border-color .15s ease, background .15s ease;
}
.date-nav:hover{transform:translateY(-1px);border-color:rgba(var(--color-accent-rgb),0.8)}
.date-nav:active{transform:translateY(1px)}
.date-picker-body{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.75rem;
  padding:1rem 1.1rem 1.15rem;
}
.date-weekdays{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:.3rem;
  font-size:.75rem;
  font-weight:900;
  color:rgba(var(--color-navy-rgb),0.55);
  text-align:center;
}
.date-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:.3rem;
  margin-top:.45rem;
}
.date-day{
  height:38px;
  border-radius:999px;
  border:0;
  padding:0;
  background:transparent;
  color:var(--color-navy);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease, color .15s ease;
}
.date-day:hover{background:rgba(var(--color-navy-rgb),0.06)}
.date-day.is-empty{
  opacity:0;
  pointer-events:none;
}
.date-day.is-in-range{background:rgba(var(--color-accent-rgb),0.16)}
.date-day.is-start,
.date-day.is-end{
  background:var(--color-navy);
  color:#fff;
}
.date-day.is-today{box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),0.22) inset}
.search-divider{
  width:1px;
  background:rgba(208,214,220,0.95);
  margin:.95rem 0;
}
.search-actions{
  display:flex;
  align-items:center;
  padding:.75rem .85rem .75rem .55rem;
}
.search-submit{
  border:0;
  border-radius:999px;
  background:var(--color-navy);
  color:#fff;
  padding:.95rem 1.45rem;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 18px 30px -24px rgba(var(--color-navy-rgb),0.45);
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.search-submit:hover{
  background:var(--color-mint-dark);
  transform:translateY(-1px);
  box-shadow:0 22px 34px -26px rgba(var(--color-navy-rgb),0.55);
}
.search-submit:active{
  transform:translateY(1px);
  box-shadow:0 16px 26px -22px rgba(var(--color-navy-rgb),0.45);
}

.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.75rem}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem}

.card{
  background:var(--color-surface);
  border:1px solid rgba(208,214,220,0.9);
  border-radius:var(--radius);
  padding:1.25rem 1.25rem 1.15rem;
  box-shadow:var(--shadow-1);
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(600px 220px at 20% 0%, rgba(var(--color-accent-rgb),0.18), transparent 60%),
    radial-gradient(500px 220px at 90% 10%, rgba(var(--color-accent-rgb),0.10), transparent 55%);
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
}
.card > *{position:relative}
.card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 28px 38px -26px rgba(var(--color-navy-rgb),0.22);
}
.card:hover::before{opacity:1}
.card--xl{
  padding:1.65rem 1.65rem 1.55rem;
}

.zones-grid{
  margin-top:1.75rem;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
}
.zone-card{
  position:relative;
  display:block;
  text-decoration:none;
  color:inherit;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(208,214,220,0.9);
  background:var(--color-surface);
  box-shadow:var(--shadow-1);
  min-height:240px;
  transform:translateZ(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.zone-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  transform:scale(1);
  transition:transform .35s ease;
}
.zone-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.25rem;
  background:linear-gradient(180deg, rgba(var(--color-navy-rgb),0) 45%, rgba(var(--color-navy-rgb),0.78) 100%);
}
.zone-title{
  margin:0;
  color:#fff;
  font-size:1.3rem;
  font-weight:900;
  letter-spacing:-0.01em;
}
.zone-sub{
  margin:.3rem 0 0;
  color:rgba(255,255,255,0.85);
  font-size:.98rem;
  font-weight:700;
}
.zone-card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 28px 38px -26px rgba(var(--color-navy-rgb),0.22);
}
.zone-card:hover img{transform:scale(1.06)}

@media (hover: none){
  .zone-card:hover{
    transform:none;
    border-color:rgba(208,214,220,0.9);
    box-shadow:var(--shadow-1);
  }
  .zone-card:hover img{transform:none}
}

.zones-cta{
  margin-top:1.65rem;
  display:flex;
  justify-content:center;
}
.zones-cta .button{
  padding:.95rem 1.35rem;
  border-radius:999px;
  min-width:0;
  box-shadow:0 26px 46px -34px rgba(0,0,0,0.45);
}

.section--calendar{
  position:relative;
  background:linear-gradient(180deg, rgba(var(--color-navy-rgb),0.12), rgba(255,255,255,0.98));
  color:var(--color-text);
  overflow:hidden;
}
.section--calendar::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(var(--color-accent-rgb),0.22), transparent 55%);
  pointer-events:none;
}
.section--calendar .container{position:relative}
.section--calendar .section-title{
  color:var(--color-text);
  font-size:clamp(2.05rem, 1.55rem + 1.8vw, 3.15rem);
  margin:0 0 .45rem;
}
.section--calendar .section-lead{color:var(--color-muted)}

.calendar-layout{
  display:grid;
  grid-template-columns:minmax(0, 740px);
  gap:1.1rem;
  justify-content:center;
}
.calendar-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.85rem;
}
.calendar-header__title{
  margin:0;
  color:var(--color-navy);
  font-size:clamp(2rem, 1.6rem + 1.4vw, 2.7rem);
  letter-spacing:-0.03em;
}
.calendar-header__sub{
  margin:-.35rem 0 0;
  color:rgba(var(--color-navy-rgb),0.78);
  font-size:clamp(.9rem, .86rem + .18vw, 1rem);
  line-height:1.6;
  max-width:60ch;
}
.calendar-mini-card{
  background:rgba(255,255,255,0.96);
  border:1px solid rgba(var(--color-navy-rgb),0.10);
  border-radius:calc(var(--radius) + 10px);
  padding:1.65rem 1.55rem;
  box-shadow:0 26px 46px -40px rgba(var(--color-navy-rgb),0.38);
}
.calendar-mini-title{
  margin:0 0 .45rem;
  color:var(--color-navy);
  font-size:clamp(1.65rem, 1.3rem + 1.2vw, 2.15rem);
  letter-spacing:-0.03em;
}
.calendar-mini-lead{
  margin:0 0 1.15rem;
  color:rgba(var(--color-navy-rgb),0.78);
  font-weight:650;
  line-height:1.7;
}
.calendar-actions{
  margin-top:1.25rem;
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
}
.calendar-bullets{
  margin:1.4rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.6rem;
  color:var(--color-text);
  font-weight:700;
}
.calendar-bullets li{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
}
.calendar-bullets li::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  margin-top:.35rem;
  background:rgba(var(--color-accent-rgb),0.92);
  box-shadow:0 14px 26px -22px rgba(var(--color-navy-rgb),0.45);
  flex:0 0 auto;
}
.calendar-widget{
  background:linear-gradient(135deg, rgba(255,255,255,0.95), rgba(var(--color-accent-rgb),0.18));
  border:1px solid rgba(var(--color-accent-rgb),0.35);
  border-radius:calc(var(--radius) + 6px);
  width:100%;
  max-width:740px;
  margin-left:auto;
  margin-right:auto;
  padding:1.35rem 1.35rem 1.25rem;
  box-shadow:var(--shadow-1);
  backdrop-filter:blur(12px);
  max-width:620px;
  width:100%;
  justify-self:start;
}
.calendar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.calendar-month{
  margin:0;
  font-weight:900;
  letter-spacing:-0.01em;
  font-size:1.35rem;
}
.calendar-sub{
  margin:.3rem 0 0;
  color:var(--color-muted);
  font-weight:700;
}
.calendar-legend{
  display:flex;
  gap:.85rem;
  flex-wrap:wrap;
  justify-content:flex-end;
  color:var(--color-muted);
  font-weight:800;
  font-size:.95rem;
}
.legend-item{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.legend-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(var(--color-accent-rgb),0.25);
  border:1px solid rgba(var(--color-accent-rgb),0.35);
}
.legend-dot--free{
  background:rgba(var(--color-accent-rgb),0.95);
  border-color:rgba(var(--color-accent-rgb),0.65);
}
.legend-dot--busy{
  background:rgba(255,171,87,0.95);
  border-color:rgba(255,171,87,0.65);
}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:.55rem;
}
.calendar-dow{
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:900;
  font-size:.82rem;
  color:var(--color-muted);
}
.calendar-day{
  min-height:52px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.08);
  background:rgba(255,255,255,0.92);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:var(--color-text);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  aspect-ratio:1 / 1;
}
.calendar-day.is-muted{
  opacity:0.45;
  background:rgba(255,255,255,0.6);
}
.calendar-day.is-free{
  border-color:rgba(var(--color-accent-rgb),0.45);
  background:rgba(var(--color-accent-rgb),0.14);
  cursor:pointer;
}
.calendar-day.is-busy{
  border-color:rgba(255,171,87,0.50);
  background:rgba(255,171,87,0.16);
}
.calendar-day.is-range-start,
.calendar-day.is-range-end{
  background:rgba(var(--color-accent-rgb),0.95);
  border-color:rgba(var(--color-accent-rgb),0.95);
  color:#fff;
  box-shadow:0 20px 34px -26px rgba(var(--color-navy-rgb),0.4);
}
.calendar-day.is-in-range{
  background:rgba(var(--color-accent-rgb),0.30);
  border-color:rgba(var(--color-accent-rgb),0.55);
}
.calendar-day.is-busy,
.calendar-day.is-muted{
  cursor:default;
}
.calendar-day:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 42px -34px rgba(var(--color-navy-rgb),0.18);
  border-color:rgba(0,0,0,0.16);
}
.calendar-day.is-muted:hover{
  transform:none;
  box-shadow:none;
  border-color:rgba(0,0,0,0.14);
}
.calendar-day.is-busy:hover{
  transform:none;
  box-shadow:none;
}

.comments-grid{
  margin-top:1.75rem;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.35rem;
}
.comment{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:.95rem;
}
.comment__bubble{
  margin:0;
  background:var(--color-surface);
  border:1px solid rgba(208,214,220,0.9);
  border-radius:var(--radius);
  padding:1.5rem 1.55rem;
  height:336px;
  display:flex;
  align-items:center;
  font-size:1.12rem;
  line-height:1.65;
  box-shadow:var(--shadow-1);
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.comment__bubble::before{
  content:"“";
  position:absolute;
  top:18px;
  left:16px;
  font-size:120px;
  line-height:1;
  color:rgba(var(--color-accent-rgb),0.14);
  font-weight:900;
  pointer-events:none;
}
.comment__bubble::after{
  content:"";
  position:absolute;
  left:34px;
  bottom:-14px;
  width:0;
  height:0;
  border:14px solid transparent;
  border-top-color:var(--color-surface);
  filter:drop-shadow(0 -1px 0 rgba(208,214,220,0.9));
}
.comment__bubble p{margin:0;position:relative}
.comment__meta{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding-left:.15rem;
}
.comment__avatar{
  width:44px;
  height:44px;
  border-radius:999px;
  background:rgba(var(--color-accent-rgb),0.16);
  border:1px solid rgba(var(--color-accent-rgb),0.35);
  overflow:hidden;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.comment__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.comment:hover .comment__avatar{border-color:rgba(var(--color-accent-rgb),0.65)}
.comment__name{font-weight:900;color:var(--color-navy);line-height:1.1;font-size:1.05rem}
.comment__role{color:var(--color-muted);font-size:1rem}
.comment__rating{
  margin-left:auto;
  color:var(--color-mint);
  letter-spacing:.08em;
  font-size:1.15rem;
}
.comment:hover .comment__bubble{
  transform:translateY(-6px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 28px 38px -26px rgba(var(--color-navy-rgb),0.22);
}

.process{
  --gap:1.55rem;
  margin:1.75rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--gap);
  align-items:stretch;
}
.process-step{
  position:relative;
}
.process-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  right:calc(-1 * var(--gap));
  width:var(--gap);
  height:2px;
  background:rgba(var(--color-navy-rgb),0.18);
  transform:translateY(-50%);
  pointer-events:none;
}
.process-step:not(:last-child)::before{
  content:"";
  position:absolute;
  top:50%;
  right:calc(-1 * var(--gap));
  width:10px;
  height:10px;
  border-top:2px solid rgba(var(--color-navy-rgb),0.18);
  border-right:2px solid rgba(var(--color-navy-rgb),0.18);
  transform:translateY(-50%) rotate(45deg);
  pointer-events:none;
}
.process-card{
  height:100%;
  background:var(--color-surface);
  border:1px solid rgba(208,214,220,0.9);
  border-radius:var(--radius);
  padding:1.55rem 1.55rem 1.45rem;
  box-shadow:var(--shadow-1);
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.process-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(550px 240px at 20% 0%, rgba(var(--color-accent-rgb),0.16), transparent 60%),
    radial-gradient(420px 240px at 90% 10%, rgba(var(--color-accent-rgb),0.10), transparent 55%);
  opacity:0.9;
  pointer-events:none;
}
.process-card > *{position:relative}
.process-card h3{margin:0 0 .5rem;color:var(--color-navy);font-size:1.25rem}
.process-card p{margin:0;color:var(--color-text)}
.process-number{
  width:46px;
  height:46px;
  border-radius:14px;
  background:rgba(var(--color-accent-rgb),0.92);
  color:var(--color-navy);
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  box-shadow:0 18px 30px -22px rgba(var(--color-navy-rgb),0.35);
}
.process-number svg{width:24px;height:24px}
.process-card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 28px 38px -26px rgba(var(--color-navy-rgb),0.22);
}

.section--process{
  position:relative;
  --icon-offset:0px;
  background:var(--color-surface);
}
.section--process .section-title{color:var(--color-text)}
.section--process .section-lead{color:var(--color-muted)}
.section--process .process-step:not(:last-child)::after{background:rgba(0,0,0,0.1)}
.section--process .process-step:not(:last-child)::before{
  border-top-color:rgba(0,0,0,0.1);
  border-right-color:rgba(0,0,0,0.1);
}
.section--process .process-card{
  background:var(--color-surface);
  border-color:rgba(0,0,0,0.08);
  box-shadow:var(--shadow-1);
}
.section--process .process-card h3{color:var(--color-navy)}
.section--process .process-card p{color:var(--color-text)}
.section--process .process-card:hover{
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 32px 70px -56px rgba(var(--color-navy-rgb),0.25);
}
.section--process .process-number{
  border-radius:16px;
  background:linear-gradient(135deg, rgba(var(--color-accent-rgb),0.85) 0%, rgba(255,255,255,0.8) 60%);
  color:var(--color-navy);
  box-shadow:0 24px 40px -32px rgba(var(--color-navy-rgb),0.25);
  transform:translateY(var(--icon-offset));
  margin-bottom:calc(1rem + var(--icon-offset));
}
@media (min-width: 981px){
  .section--process .process-step:nth-child(2){--icon-offset:18px}
  .section--process .process-step:nth-child(3){--icon-offset:36px}
}
.section--premium-services{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(1200px 520px at 15% 0%, rgba(var(--color-accent-rgb),0.22), transparent 60%),
    linear-gradient(120deg, #061a23 0%, #073044 60%, #040d12 100%);
  color:#fff;
}
.section--premium-services::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(var(--color-navy-rgb),0.55), transparent 65%);
  pointer-events:none;
}
.section--premium-services .container{position:relative}
.section--premium-services .section-title{
  color:#fff;
  text-align:center;
  margin-bottom:0;
}
.premium-grid{
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  margin-top:1.6rem;
}
.premium-card{
  background:rgba(var(--color-navy-rgb),0.45);
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:var(--shadow-2);
  backdrop-filter:blur(12px);
  color:#fff;
  padding:1.55rem 1.55rem 1.45rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.premium-card::before{opacity:0.25}
.section--premium-services .premium-card h3{color:#fff;font-size:1.2rem;margin:0 0 .75rem}
.section--premium-services .premium-card p{color:rgba(255,255,255,0.82);font-weight:400;margin:0;max-width:46ch}
.premium-card__icon{
  width:76px;
  height:76px;
  border-radius:16px;
  background:rgba(var(--color-accent-rgb),0.16);
  border:1px solid rgba(var(--color-accent-rgb),0.35);
  color:var(--color-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 1rem;
  box-shadow:0 22px 50px -44px rgba(var(--color-navy-rgb),0.75);
}
.premium-card__icon svg{width:38px;height:38px}
.premium-cta{
  margin-top:1.65rem;
  display:flex;
  justify-content:center;
}
.premium-cta .button{
  padding:.95rem 1.55rem;
  border-radius:999px;
  min-width:0;
  box-shadow:0 26px 46px -34px rgba(var(--color-navy-rgb),0.65);
}
.card h3{margin:0 0 .5rem;font-size:1.12rem;color:var(--color-navy)}
.card p{margin:0;color:var(--color-text)}
.pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.35rem .6rem;
  border-radius:999px;
  background:rgba(var(--color-accent-rgb),0.14);
  color:var(--color-navy);
  font-weight:800;
  font-size:.85rem;
}

.logo-strip{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:1rem 0;
}
.logo-strip--about{
  justify-content:center;
  gap:1.25rem 2.2rem;
  padding:1.35rem 0 0;
  margin-top:1.35rem;
  border-top:1px solid rgba(var(--color-navy-rgb),0.10);
}
.logo-mark{
  display:inline-flex;
  align-items:baseline;
  gap:.25rem;
  font-weight:900;
  letter-spacing:-0.02em;
  color:rgba(var(--color-navy-rgb),0.75);
  opacity:0.9;
  transition:color .15s ease, opacity .15s ease, transform .15s ease;
}
.logo-mark span{
  font-weight:700;
  opacity:0.85;
}
.logo-mark:hover{
  color:rgba(var(--color-navy-rgb),0.92);
  opacity:1;
  transform:translateY(-1px);
}
.logo-strip img{
  height:34px;
  width:auto;
  filter:none;
  opacity:1;
  transition:none;
}

.page-hero{
  background:
    radial-gradient(900px 360px at 15% 0%, rgba(var(--color-accent-rgb),0.22), transparent 60%),
    linear-gradient(120deg, #061a23 0%, #073044 60%, #040d12 100%);
  color:#fff;
  padding:3.25rem 0 2.25rem;
  text-align:center;
}
.page-hero--cover{
  background:
    linear-gradient(120deg, rgba(6,26,35,0.86) 0%, rgba(7,48,68,0.70) 60%, rgba(4,13,18,0.9) 100%),
    url("../img/Fundo_sobre.png");
  background-size:cover;
  background-position:center;
}
.page-hero--services{
  background:
    linear-gradient(120deg, rgba(6,26,35,0.88) 0%, rgba(7,48,68,0.72) 60%, rgba(4,13,18,0.9) 100%),
    url("../img/gestao alojamento local.jpg");
  background-size:cover;
  background-position:center;
  padding:4.2rem 0 3.1rem;
}
.page-hero--services-management{
  background:
    linear-gradient(120deg, rgba(6,26,35,0.88) 0%, rgba(7,48,68,0.72) 60%, rgba(4,13,18,0.9) 100%),
    url("../img/gestao alojamento local.jpg");
  background-size:cover;
  background-position:center;
}
.page-hero--services-extras{
  background:
    linear-gradient(120deg, rgba(6,26,35,0.88) 0%, rgba(7,48,68,0.72) 60%, rgba(4,13,18,0.9) 100%),
    url("../img/extras experiencias.jpg");
  background-size:cover;
  background-position:center;
}
.page-hero--services-extras + .section--services{padding-top:2.25rem}
.page-hero--services-extras + .section--services #extras-experiencias.services-shell{margin-top:0}
.page-hero--contact{
  background:
    linear-gradient(120deg, rgba(6,26,35,0.88) 0%, rgba(7,48,68,0.72) 60%, rgba(4,13,18,0.9) 100%),
    url("../img/Background-contatos.jpg");
  background-size:cover;
  background-position:center;
}
.page-hero h1{margin:0 0 .5rem;font-size:clamp(2rem,1.6rem + 1.6vw,2.7rem);letter-spacing:-0.03em}
.page-hero p{margin:0 auto;max-width:70ch;color:rgba(255,255,255,0.86)}

@media (max-width: 520px){
  .page-hero{padding:2.75rem 0 1.9rem}
  .page-hero--services{padding:3.35rem 0 2.5rem}
  .page-hero h1{line-height:1.1}
}

.post-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.post{
  background:var(--color-surface);
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(208,214,220,0.9);
  box-shadow:var(--shadow-1);
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.post:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 28px 38px -26px rgba(var(--color-navy-rgb),0.22);
}
.post img{aspect-ratio:16/10;object-fit:cover}
.post-body{padding:1.1rem 1.2rem 1.2rem}
.post-title{margin:0 0 .5rem;color:var(--color-navy);font-size:1.12rem}
.post-excerpt{margin:0 0 1rem;color:var(--color-text)}
.post-meta{display:flex;gap:.75rem;align-items:center;color:var(--color-muted);font-size:.92rem}

.listings{
  margin-top:1.6rem;
  display:grid;
  gap:1.45rem;
  max-width:1420px;
  margin-left:auto;
  margin-right:auto;
}
.listing-card{
  background:var(--color-surface);
  border:1px solid rgba(208,214,220,0.9);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-1);
  display:grid;
  grid-template-columns:minmax(0, 560px) minmax(0, 1fr);
  min-height:420px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.listing-card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--color-accent-rgb),0.55);
  box-shadow:0 28px 38px -26px rgba(var(--color-navy-rgb),0.22);
}
.listing-media{position:relative;background:rgba(var(--color-navy-rgb),0.08)}
.listing-carousel{margin:0;height:100%}
.listing-carousel .carousel-track{
  gap:0;
  padding:0;
  scroll-padding:0;
  height:100%;
  scrollbar-width:none;
}
.listing-carousel .carousel-track::-webkit-scrollbar{display:none}
.listing-carousel .carousel-item{flex:0 0 100%}
.listing-carousel img{
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:4 / 3;
}
.listing-carousel .carousel-btn{
  width:44px;
  height:44px;
  border-color:rgba(255,255,255,0.22);
  background:rgba(var(--color-navy-rgb),0.58);
  color:#fff;
  backdrop-filter:blur(10px);
}
.listing-carousel .carousel-btn--prev{left:12px}
.listing-carousel .carousel-btn--next{right:12px}
.listing-carousel .carousel-btn:hover{
  transform:translateY(calc(-50% - 2px));
  background:rgba(var(--color-navy-rgb),0.78);
}

.carousel-dots{
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
  padding:.35rem .55rem;
  border-radius:999px;
  background:rgba(var(--color-navy-rgb),0.38);
  backdrop-filter:blur(10px);
}
.carousel-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  padding:0;
  background:rgba(255,255,255,0.45);
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, opacity .15s ease;
}
.carousel-dot:hover{opacity:0.95}
.carousel-dot.is-active{
  background:var(--color-mint);
  transform:scale(1.15);
}
.carousel-dot:focus-visible{
  outline:3px solid rgba(var(--color-accent-rgb),0.35);
  outline-offset:3px;
}

.listing-body{
  padding:1.65rem 1.75rem 0;
  display:flex;
  flex-direction:column;
}
.listing-title{
  margin:0;
  color:var(--color-navy);
  font-size:clamp(1.2rem, 1.05rem + 0.6vw, 1.55rem);
  letter-spacing:-0.02em;
}
.listing-location{
  margin:.45rem 0 0.95rem;
  display:flex;
  align-items:center;
  gap:.45rem;
  color:var(--color-muted);
  font-weight:800;
}
.listing-location svg{
  width:18px;
  height:18px;
  color:var(--color-mint-dark);
  flex:0 0 auto;
}
.listing-description{
  margin:0;
  color:var(--color-text);
  max-width:70ch;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.listing-bottom{
  margin-top:1.25rem;
  border-top:1px solid rgba(208,214,220,0.9);
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 0.95fr) 180px;
}
.listing-bottom > *{
  padding:1.15rem 1.25rem;
  display:flex;
  align-items:center;
}
.listing-bottom > :not(:first-child){border-left:1px solid rgba(208,214,220,0.9)}
.listing-features{gap:.5rem;flex-wrap:wrap}
.listing-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(208,214,220,0.9);
  background:rgba(var(--color-navy-rgb),0.02);
  color:var(--color-navy);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 18px -16px rgba(var(--color-navy-rgb),0.22);
}
.listing-icon svg{width:22px;height:22px}
.listing-icon--text{font-weight:900;font-size:1.05rem}
.listing-occupancy{display:grid;gap:.45rem;font-weight:900;color:var(--color-navy)}
.listing-occupancy-row{display:flex;align-items:center;gap:.55rem}
.listing-occupancy-row svg{width:22px;height:22px;color:rgba(var(--color-navy-rgb),0.6)}
.listing-action{justify-content:center}
.listing-book{
  background:transparent;
  border:0;
  padding:.35rem .2rem;
  font:inherit;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-mint-dark);
  cursor:pointer;
  transition:color .15s ease, transform .15s ease;
}
.listing-book:hover{color:var(--color-mint);transform:translateY(-1px)}
.listing-book:active{transform:translateY(1px)}
.listing-book:focus-visible{
  outline:3px solid rgba(var(--color-accent-rgb),0.28);
  outline-offset:6px;
  border-radius:999px;
}

@media (max-width: 980px){
  .listing-card{grid-template-columns:1fr}
  .listing-card{min-height:auto}
  .listing-body{padding:1.15rem 1.1rem 0}
  .listing-carousel img{aspect-ratio:16 / 10}
  .listing-bottom{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .listing-bottom > :not(:first-child){border-left:0}
  .listing-bottom > :nth-child(2n){border-left:1px solid rgba(208,214,220,0.9)}
  .listing-bottom > :nth-child(n+3){border-top:1px solid rgba(208,214,220,0.9)}
  .listing-action{grid-column:1 / -1}
}

@media (max-width: 640px){
  .listing-bottom{grid-template-columns:1fr}
  .listing-bottom > :nth-child(2n){border-left:0}
  .listing-bottom > :nth-child(n+2){border-top:1px solid rgba(208,214,220,0.9)}
  .listing-action{grid-column:auto}
}

.carousel{
  position:relative;
  margin-top:1.5rem;
}
.carousel-track{
  display:flex;
  gap:1.25rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding:1rem;
  padding:.25rem 0 1.25rem;
  -webkit-overflow-scrolling:touch;
}
.carousel-track:focus{outline:none}
.carousel-track:focus-visible{
  outline:3px solid rgba(var(--color-accent-rgb),0.22);
  outline-offset:6px;
  border-radius:var(--radius);
}
.carousel-track::-webkit-scrollbar{height:10px}
.carousel-track::-webkit-scrollbar-thumb{
  background:rgba(var(--color-accent-rgb),0.65);
  border-radius:999px;
}
.carousel-track::-webkit-scrollbar-track{
  background:rgba(var(--color-navy-rgb),0.10);
  border-radius:999px;
}
.carousel-item{
  flex:0 0 clamp(360px, 45vw, 560px);
  scroll-snap-align:start;
}
.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(208,214,220,0.9);
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  color:var(--color-navy);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 18px 32px -26px rgba(0,0,0,0.35);
  z-index:2;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.carousel-btn svg{width:22px;height:22px}
.carousel-btn--prev{left:-6px}
.carousel-btn--next{right:-6px}
.carousel-btn:hover{
  transform:translateY(calc(-50% - 2px));
  box-shadow:0 22px 36px -28px rgba(0,0,0,0.42);
}
.carousel-btn:active{transform:translateY(calc(-50% + 1px))}
.carousel-btn:disabled{
  opacity:0.35;
  cursor:default;
  transform:translateY(-50%);
  box-shadow:none;
}
.carousel-btn:disabled:hover{transform:translateY(-50%)}

.form{
  margin-top:1.25rem;
  background:var(--color-surface);
  border:1px solid rgba(208,214,220,0.9);
  border-radius:var(--radius);
  padding:1.25rem;
  box-shadow:var(--shadow-1);
}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form label{display:block;font-weight:800;color:var(--color-navy);margin:0 0 .35rem}
.form input,.form textarea{
  width:100%;
  border-radius:12px;
  padding:.75rem .9rem;
  border:1px solid rgba(var(--color-navy-rgb),0.12);
  font:inherit;
  background:#fff;
  color:var(--color-text);
}
.form textarea{resize:vertical;min-height:120px}
.form input:focus,.form textarea:focus{outline:3px solid rgba(var(--color-accent-rgb),0.22);border-color:rgba(var(--color-accent-rgb),0.6)}
.form-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.form-hint{margin:0;color:var(--color-muted);font-size:.95rem}
.contact-section--dark{
  position:relative;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(var(--color-accent-rgb),0.14), transparent 62%),
    linear-gradient(120deg, #061a23 0%, #073044 60%, #040d12 100%);
}
.contact-section--dark .container{position:relative}
.contact-shell{
  max-width:1320px;
  margin:0 auto;
  padding:clamp(1.35rem, 2.6vw, 2.4rem);
  border-radius:calc(var(--radius) + 12px);
  border:1px solid rgba(0,0,0,0.08);
  background:var(--color-bg);
  box-shadow:0 20px 50px -44px rgba(0,0,0,0.25);
}
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.9fr) minmax(0, 1fr);
  gap:2rem;
  align-items:stretch;
}
.contact-layout .form{margin-top:0;padding:2.1rem 2.1rem 1.95rem}
.contact-section--dark .contact-layout .form,
.contact-section--dark .contact-side-card{
  border-color:rgba(0,0,0,0.08);
  box-shadow:0 28px 48px -38px rgba(0,0,0,0.15);
  background:var(--color-bg);
}
.contact-form-header{margin:0 0 1.25rem}
.contact-title{
  margin:0;
  color:var(--color-navy);
  font-size:1.25rem;
  font-weight:900;
  letter-spacing:-0.01em;
}
.contact-text{margin:.5rem 0 0;color:var(--color-text);max-width:70ch}
.contact-text--muted{color:var(--color-muted)}
.contact-form-full{grid-column:1 / -1}
.contact-side{display:flex;flex-direction:column;gap:1.35rem}
.contact-side-card{padding:1.8rem 1.75rem 1.65rem}
.contact-side-card .contact-title{font-size:1.18rem}
.contact-side-card a{text-decoration:none}
.contact-side-card a:hover{text-decoration:underline}
.contact-meta{margin-top:.9rem;display:grid;gap:.45rem}
.contact-meta span{color:var(--color-muted)}
.contact-list{margin:.9rem 0 0 1.1rem}

@media (max-width: 980px){
  .contact-layout{grid-template-columns:1fr}
  .contact-layout .form-grid{grid-template-columns:1fr}
}

.site-footer{
  background:rgba(var(--color-navy-rgb),0.98);
  color:rgba(255,255,255,0.86);
  font-size:.9rem;
}
.footer-logo{
  width:110px;
  height:auto;
}
.footer-callcost{
  font-size:50%;
}
.site-footer .container--full{
  padding-left:clamp(1.5rem, 5vw, 6.5rem);
  padding-right:clamp(1.5rem, 5vw, 6.5rem);
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:2.75rem 0 1.5rem}
.footer-title{margin:0 0 .75rem;color:#fff;font-size:.95rem}
.site-footer a{color:rgba(255,255,255,0.86);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
p.footer-title[data-i18n="footer.links"] + p{font-size:0.8em}
.footer-dispute{
  display:grid;
  gap:.45rem;
  padding:0 0 1.45rem;
}
.footer-dispute .footer-title{margin:0 0 .25rem}
.footer-dispute__lead,
.footer-dispute__details{
  margin:0;
  max-width:120ch;
  color:rgba(255,255,255,0.72);
  font-size:.85rem;
  line-height:1.6;
}
.footer-dispute__details strong{color:#fff}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  padding:1rem 0 1.25rem;
  font-size:.82rem;
  color:rgba(255,255,255,0.65);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem;
}

.dispute-banner{
  background:#fff;
  border-top:1px solid rgba(var(--color-navy-rgb),0.08);
  color:var(--color-text);
}
.dispute-banner .container--full{
  padding-left:clamp(1.5rem, 5vw, 6.5rem);
  padding-right:clamp(1.5rem, 5vw, 6.5rem);
}
.dispute-banner__inner{
  display:grid;
  gap:.45rem;
  padding:1.45rem 0 1.65rem;
}
.dispute-banner .footer-title{margin:0 0 .25rem;color:var(--color-navy)}
.dispute-banner .footer-dispute__lead,
.dispute-banner .footer-dispute__details{
  margin:0;
  max-width:120ch;
  color:rgba(var(--color-navy-rgb),0.78);
  font-size:.95rem;
  line-height:1.6;
}
.dispute-banner .footer-dispute__details strong{color:var(--color-navy)}
.dispute-banner a{
  color:var(--color-navy);
  text-decoration:underline;
  text-decoration-color:rgba(var(--color-accent-rgb),0.6);
  text-underline-offset:2px;
}
.dispute-banner a:hover{color:rgb(var(--color-accent-rgb))}

.notice{
  border:1px solid rgba(var(--color-accent-rgb),0.5);
  background:rgba(var(--color-accent-rgb),0.12);
  color:var(--color-navy);
  border-radius:var(--radius);
  padding:1rem 1.1rem;
}

.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  width:60px;
  height:60px;
  border-radius:999px;
  background:var(--color-mint);
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 22px 38px -26px rgba(var(--color-navy-rgb),0.55);
  z-index:105;
  isolation:isolate;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.whatsapp-float svg{width:28px;height:28px}
.whatsapp-float::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:var(--color-mint);
  opacity:.35;
  transform:scale(1);
  animation:wppPulse 2.2s ease-out infinite;
  z-index:-1;
}
@keyframes wppPulse{
  0%{transform:scale(1);opacity:.30}
  70%{transform:scale(1.55);opacity:0}
  100%{transform:scale(1.55);opacity:0}
}
.whatsapp-float:hover{
  transform:translateY(-3px);
  box-shadow:0 28px 46px -30px rgba(0,0,0,0.6);
  filter:saturate(1.08);
}
.whatsapp-float:active{transform:translateY(1px)}
.whatsapp-tooltip{
  position:absolute;
  right:72px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  background:rgba(3,3,3,0.92);
  color:#fff;
  padding:.55rem .75rem;
  border-radius:12px;
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.01em;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
  white-space:nowrap;
}
.whatsapp-float:hover .whatsapp-tooltip{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

@media (max-width: 980px){
  .site-header--dark{--mobile-nav-icon:56px}
  .grid-3,.post-grid{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .zones-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .calendar-layout{grid-template-columns:1fr}
  .calendar-widget{padding:1.15rem 1.1rem 1.05rem;max-width:740px;margin-left:auto;margin-right:auto}
  .calendar-grid{gap:.5rem}
  .calendar-day{min-height:46px;border-radius:12px}
  .comments-grid{grid-template-columns:1fr}
  .carousel-item{flex-basis:86vw}
  .listing-carousel .carousel-item{flex-basis:100%}
  .carousel-btn{display:none}
  .process{grid-template-columns:1fr;--gap:1.1rem}
  .process-step:not(:last-child)::after{
    top:auto;
    right:auto;
    left:50%;
    bottom:calc(-1 * var(--gap));
    width:2px;
    height:var(--gap);
    transform:translateX(-50%);
  }
  .process-step:not(:last-child)::before{
    top:auto;
    right:auto;
    left:50%;
    bottom:calc(-1 * var(--gap));
    transform:translateX(-50%) rotate(135deg);
  }
  .footer-grid{grid-template-columns:1fr;gap:1.25rem}
  .consulting-shell{transform:none}

  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0;
    width:44px;
    height:44px;
    padding:.35rem;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .site-header--dark .nav-toggle{
    border:0;
    background:transparent;
    box-shadow:none;
    color:#fff;
  }
  .nav-toggle:focus-visible{
    outline:3px solid rgba(var(--color-accent-rgb),0.65);
    outline-offset:3px;
  }
  .nav-toggle__label{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
  }
	  .nav{
	    position:fixed;
	    top:0;
	    right:0;
	    left:0;
	    bottom:0;
	    width:100vw;
	    max-width:100vw;
	    background:#fff;
	    margin-left:0;
	    padding:calc(1.1rem + env(safe-area-inset-top)) var(--pad) calc(1.1rem + env(safe-area-inset-bottom));
	    flex-direction:column;
	    align-items:stretch;
	    gap:.85rem;
	    transform:translateX(110%);
	    transition:transform .2s ease;
	    z-index:120;
	    box-shadow:0 30px 60px rgba(0,0,0,0.35);
	    overflow-y:auto;
	  }
	  .nav.is-open{transform:translateX(0)}
	  .nav a{font-size:16px;padding:.55rem 0;color:var(--color-text);width:100%}
	  .nav a::after{content:none}
	  .nav > a{
	    display:block;
	    padding:.55rem 0;
	    border:0;
	    border-radius:0;
	    background:transparent;
	    font-weight:800;
	  }
	  .nav > a::after{content:none}
	  .nav > a[aria-current="page"]{
	    background:transparent;
	    border-color:transparent;
	    color:var(--color-mint-dark);
	    font-weight:900;
	  }
	  .nav > a[aria-current="page"]::after{content:none}
	  .nav-close{
	    display:inline-flex;
	    position:sticky;
	    top:calc(env(safe-area-inset-top) + .25rem);
	    margin-left:auto;
	    z-index:1;
	  }
		  .site-header--dark .brand{display:flex;flex:0 0 auto}
		  .site-header--dark .brand img{width:calc(var(--mobile-nav-icon) * 2);height:auto}
	  .site-header--dark .header-inner{
	    display:flex;
	    align-items:center;
	    justify-content:space-between;
	    padding:.85rem var(--pad);
	    min-height:auto;
	    gap:.75rem;
	  }
		  .header-actions{margin-left:auto}
		  .site-header--dark .header-actions{
		    margin-left:0;
		    width:auto;
		    flex:1 1 auto;
		    display:flex;
		    align-items:center;
		    justify-content:flex-end;
		    flex-wrap:nowrap;
		    gap:.6rem;
		  }
	  .site-header--dark .header-actions .button,
	  .site-header--dark .header-actions .lang-select,
	  .site-header--dark .header-actions .nav-toggle{
	    height:46px;
	  }
		  .site-header--dark .header-actions .button{
		    display:flex;
		    align-items:center;
		    justify-content:center;
		    padding:0 .9rem;
		    flex:0 0 auto;
		    width:fit-content;
		    min-width:0;
		  }
		  .site-header--dark .header-actions .nav-toggle{
		    flex:0 0 var(--mobile-nav-icon);
		    width:var(--mobile-nav-icon);
		    border-radius:999px;
		    border:1px solid rgba(255,255,255,0.16);
		    background:rgba(255,255,255,0.06);
		  }
	  .site-header--dark .header-actions .lang-select{
	    padding:0 .75rem;
	    text-align:center;
	  }
	  .site-header--dark .header-actions .lang-select,
	  .site-header--dark .header-actions label[for="language-switch"]{
	    display:none;
	  }
	  .site-header--dark .header-actions .nav-toggle{padding:0}
	  .nav-overlay.is-open{display:block}

  .site-header--dark .nav a{color:var(--color-text)}
	  .site-header--dark .nav-dropdown__toggle{color:var(--color-text)}
	  .site-header--dark .nav a[aria-current="page"]{
	    color:var(--color-mint-dark);
	    font-weight:900;
	  }
	  /* Mobile: remove "Serviços" and flatten submenu items into the main menu */
	  .nav-dropdown{display:contents}
	  .nav-dropdown__toggle{display:none}
		  .nav-dropdown__menu{
		    display:contents;
		    position:static;
		    opacity:1;
		    visibility:visible;
		    pointer-events:auto;
		    transform:none;
		    transition:none;
		    padding:0;
		    min-width:0;
		    border:0;
		    background:transparent;
		    box-shadow:none;
		  }
		  .nav-dropdown__menu::before,
		  .nav-dropdown__menu::after{content:none}
		  .nav .nav-dropdown__menu a{
		    padding:.55rem 0;
		    border-radius:0;
		    font-size:16px;
		    font-weight:800;
		    background:transparent;
		  }

	  .site-header--dark .header-inner{min-height:92px}
	  .site-header--dark .brand img{width:calc(var(--mobile-nav-icon) * 2);height:auto}

	  .hero-cover-inner{padding:3.25rem 0}
	  .search-bar{
	    border-radius:var(--radius);
	    flex-direction:column;
	  }
	  .date-popover{width:100%}
	  .date-picker-body{grid-template-columns:1fr;gap:1.15rem}
	  .search-divider{display:none}
	  .search-actions{padding:0 1rem 1rem;justify-content:center}
	}

@media (max-width: 640px){
  .zones-grid{grid-template-columns:1fr}
  .zone-card{min-height:0}
  .zone-card img{height:230px}
  .calendar-grid{gap:.45rem}
  .calendar-day{min-height:42px;border-radius:12px;font-size:.95rem}

  .button,
  .extras-cta,
  .extras-phone,
  .listing-book,
  .services-tab,
  .extras-menu__link,
  .search-submit{
    white-space:nowrap;
    text-align:center;
    max-width:100%;
  }

  .button,
  .extras-cta,
  .extras-phone{font-size:.95rem}
}

@media (max-width: 520px){
  .button,
  .extras-cta,
  .extras-phone,
  .search-submit,
  .services-tab,
  .extras-menu__link{
    font-size:clamp(.72rem, 3.4vw, .95rem);
  }

  .button,
  .extras-cta,
  .extras-phone,
  .search-submit{
    padding:clamp(.6rem, 2.8vw, .75rem) clamp(.9rem, 4.2vw, 1rem);
  }

  .services-tab,
  .extras-menu__link{
    padding:clamp(.35rem, 2.2vw, .45rem) clamp(.6rem, 3.6vw, .8rem);
  }

  .about-cta{
    max-width:100%;
    padding:clamp(.75rem, 3.6vw, .95rem) clamp(1.1rem, 5.2vw, 1.35rem);
    font-size:clamp(.54rem, 2.6vw, .76rem);
  }
}

		@media (max-width: 420px){
		  .site-header--dark{--mobile-nav-icon:52px}
		  .site-header--dark .header-actions{gap:.55rem}

		  .button,
		  .extras-cta,
		  .extras-phone{font-size:.9rem}
		}

.nav-language{
  width:100%;
  margin-top:.75rem;
  padding-top:.75rem;
  border-top:1px solid rgba(0,0,0,0.08);
  display:grid;
  gap:.5rem;
}
.nav-language__label{
  font-weight:900;
  color:rgba(var(--color-navy-rgb),0.75);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.8rem;
}
.nav-language .lang-select{
  width:100%;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.12);
  background:#fff;
  color:var(--color-text);
  font-size:16px;
  font-weight:700;
}

.nav-close{
  align-self:flex-end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:999px;
  border:0;
  background:transparent;
  color:var(--color-text);
  cursor:pointer;
  flex:0 0 auto;
  box-shadow:none;
}
.nav-close:hover{transform:translateY(-1px)}
.nav-close:active{transform:translateY(1px)}
.nav-close svg{width:18px;height:18px}

@media (min-width: 981px){
  .nav-close{display:none}
}
