:root{
  --container-max: 1280px;
  --container-pad: 20px;
  --header-h: 118px;
  --hero-arrow-offset: 10px;
  --sobre-img-h: clamp(260px, 45vw, 580px);
  --sobre-start-offset: clamp(40px, 5vw, 80px);
  --sobre-backdrop-h: max(0px, calc(var(--sobre-img-h) - var(--sobre-start-offset)));
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
html, body {
  overflow-x: hidden;
}
body {
  font-family: 'Lato', sans-serif;
  line-height: 1.6;
  color: #222;
  font-size: 16px;
}
main { 
  padding-top: var(--header-h); 
}
.container{
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
}

.header{
  position:fixed; top:0; left:0; width:100%;
  height:var(--header-h);
  background:#fff; z-index:10000;
}
.header-inner{
  display:flex; justify-content:space-between; align-items:center;
  height:var(--header-h);
}
.logo img{ width:200px; height:auto; display:block; }
.menu-toggle{ display:none; }
.nav{
  display:flex; position:static; align-items:center; gap:0;
  background:transparent; padding:0;
}
.nav-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:row; align-items:center; gap:24px;
}
.nav-list a{
  text-decoration:none; color:#222; font-weight:300;
  font-size: clamp(18px, 1.15vw, 20px);
  line-height:1.25; letter-spacing:0.01em;
}
.nav-list a:hover{ color:#bc3b4a; }
.nav .cta{
  background:#DBA5AB; color:#fff;
  border-radius:30px;
  font-size:20px; font-weight:700; line-height:1;
  width:165px; height:54px; padding:18px 24px;
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; white-space:nowrap;
}
.nav .cta:hover{ background:#bc3b4a; }
.header-cta{ display:none !important; }
.has-submenu{ position:relative; }
.nav-link{
  background:none; border:0; cursor:pointer; color:#222;
  font:inherit; font-weight:300; font-size: clamp(18px, 1.15vw, 20px);
  line-height:1.25; letter-spacing:.01em;
  display:inline-flex; align-items:center; gap:4px;
  appearance:none; -webkit-appearance:none;
}
.nav-link:hover{ color:#bc3b4a; }
.nav a:focus-visible, .nav-link:focus-visible{
  outline:2px solid #bc3b4a; outline-offset:2px; border-radius:6px;
}
.caret{
  width:1.05em; height:1.05em; flex:0 0 1.05em;
  stroke:currentColor; stroke-width:2; fill:none;
  transition:transform .2s ease;
}
.submenu{
  display:none; list-style:none; margin:8px 0 0; padding:8px 0;
  position:absolute; top:calc(100% + 8px); left:0; min-width:220px;
  background:#fff; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.12);
  z-index:10001;
}
.submenu li a{
  display:block; padding:10px 14px; color:#222; text-decoration:none; white-space:nowrap;
  font-size: clamp(16px, 1vw, 18px); line-height:1.25;
}
.submenu li a:hover{ color:#bc3b4a; }

@media (hover:hover) and (pointer:fine){
  .has-submenu:hover > .submenu,
  .has-submenu:focus-within > .submenu{ display:block; }
  .has-submenu:hover .caret,
  .has-submenu:focus-within .caret { transform:rotate(180deg); }
}
.header, .nav { overflow:visible; }

@media (min-width:1441px) {
  :root{ --container-max:1440px; --header-h:148px; }
}

@media (max-width:1024px) {
  :root { --header-h:80px; }
  .header-inner { display:flex; align-items:center; }
  .header, .nav { overflow: visible; }
  .logo { order:1; }
  .header-cta {
    order:2; margin-left:auto; flex:0 0 auto; white-space:nowrap; font-size:18px;
  }
  .menu-toggle {
    display:flex; flex-direction:column; gap:5px;
    background:none; border:0; cursor:pointer;
    order:3; margin-left:8px; flex:0 0 auto;
  }
  .menu-toggle span { width:25px; height:2px; background:#5f5f5f; display:block; }
  .nav {
    display:none; position:absolute; top:100%; right:0;
    background:#fff; padding:16px; border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.12);
    flex-direction:column; align-items:stretch; z-index:10001;
    font-size:16px; line-height:1.2;
    right:max(0px, env(safe-area-inset-right, 0));
  }
  .nav.active { display:flex; }
  .nav-list { flex-direction:column; align-items:flex-start; gap:12px; }
  .nav-list > li { width: 100%; position: relative; }
  .nav .cta { display:none; }
  .has-submenu.open{ position: relative; }
  .has-submenu > .nav-link{
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
  }
  .nav-list .has-submenu.open > .submenu{
    display: block !important;
    position: absolute !important;
    top: .25rem !important;
    left: auto !important;
    right: calc(100% + 10px) !important;
    transform: none !important;
    min-width: 220px;
    max-width: min(86vw, 320px);
    max-height: min(60vh, 420px);
    overflow: auto;
    margin: 0;
    padding: 8px 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    z-index: 10002;
  }
  .has-submenu.open .caret{
    transform: rotate(180deg);  
  }
}

@media (min-width:768px) and (max-width:1024px){
  .header-cta {
    display:inline-flex !important;
    background:#DBA5AB; color:#fff; padding:8px 16px; border-radius:50px;
    width:164px; height:54px; align-items:center; justify-content:center; text-decoration:none;
  }
  .header-cta:hover { background:#bc3b4a; }
  .caret { width:1em; height:1em; }
}

@media (max-width:767px) {
  :root { --header-h:68px; }
  .logo img { width:140px; }
  .header-cta { display:none !important; }
  .caret { width:.95em; height:.95em; }
}

@media (max-width:359px) {
  :root{
    --container-pad: 12px; 
    --header-h: 64px;
    --hero-arrow-offset: 6px;       
  }
  .nav-list a:not(.cta), .nav-link { font-size:16px; }
  .submenu li a { font-size:15px; }
  .nav-list .has-submenu.open > .submenu{
    right: calc(100% + 6px) !important;
    min-width: 180px;
    max-width: min(92vw, 260px);
  }
}

/* HERO */
.hero {
  position:relative; width:100%;
  height:min(820px, 100dvh - var(--header-h));
  min-height:420px; overflow:hidden;
  --side-gap: max((100vw - min(var(--container-max), 100vw)) / 2, 0px);
  --content-gap: calc(var(--side-gap) + var(--container-pad));
}
.hero .carousel { position:absolute; inset:0; z-index:0; }
.carousel-inner { display:flex; height:100%; transition:transform .5s ease-in-out; }
.slide { position:relative; min-width:100%; height:100%; flex:0 0 100%; overflow:hidden; }
.slide img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  transform:translateZ(0); backface-visibility:hidden; -webkit-backface-visibility:hidden;
}
.hero-content {
  position:relative; z-index:2; height:100%;
  display:flex; flex-direction:column; justify-content:center; color:#fff; pointer-events: none; 
}
.hero-content a,
.hero-content button,
.hero-content .cta,
.hero-content .cta-light {
  pointer-events: auto;
}
.hero-content h1 { font-size:56px; font-weight:700; line-height:1.2; margin-bottom:8px; text-align:center; }
.hero p{ margin-top:20px; font-size:18px; font-weight:300; text-align:center; }

.hero-list {
  list-style:none; margin-top:60px; padding:0;
  display:flex; gap:16px; flex-wrap:wrap; justify-content:center;
}
.hero-list a {
  text-decoration:none; font-weight:350; display:inline-flex; align-items:center; justify-content:center;
  gap:8px; font-size:20px; transition:all .3s ease;
}
.hero-list .cta {
  width:174px; height:66px; background:#DBA5AB; color:#fff;
  padding:12px 24px; border-radius:38px;
}
.hero-list .cta:hover { background:#bc3b4a; }
.hero-list .cta-light {
  width:188px; height:66px; background:#fff; color:#222;
  padding:10px 22px; border-radius:38px;
}
.hero-list .cta-light:hover { background:#222; color:#fff; }
.cta .arrow-icon { stroke:#fff; width:20px; height:20px; transition:transform .3s ease; }
.cta:hover .arrow-icon { transform:translateX(4px); }
.hero .carousel > .prev,
.hero .carousel > .next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  padding: 10px;
  cursor: pointer;
  z-index: 4;             
  left: auto; right: auto; 
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}
.hero .carousel > .prev{
  left:  max(10px, calc(var(--content-gap) - var(--hero-arrow-offset)));
}
.hero .carousel > .next{
  right: max(10px, calc(var(--content-gap) - var(--hero-arrow-offset)));
}
.hero .carousel > .prev svg,
.hero .carousel > .next svg{
  width: 60px;
  height: 60px;
  transition: stroke .3s ease;
}
.hero .carousel > .prev:hover svg,
.hero .carousel > .next:hover svg{
  stroke: #DBA5AB;
}
.dots {
  position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
  display:flex; gap:12px; z-index:3;
}
.dot { width:12px; height:12px; border-radius:50%; background:#fff; opacity:.5; cursor:pointer; }
.dot.active { opacity:1; background:#DBA5AB; }

@media (max-width:1024px) {
  .hero-content h1 { font-size:40px; }
  .hero p { font-size:16px; }
  .hero-list { margin-top:32px; }
  .hero .carousel > .prev svg,
  .hero .carousel > .next svg{ width:48px; height:48px; }
}

@media (max-width:767px) {
  .hero { min-height: 420px; }
  .hero-content { z-index: 5; }
  .hero-content h1 { font-size: 28px; line-height: 1.2; }
  .hero p { font-size: 16px; }
  .hero-list { margin-top: 24px; gap: 12px; }
  .hero .carousel > .prev,
  .hero .carousel > .next{
    display: none !important;
  }
}

@media (max-width:359px){
  .hero{ min-height: 360px; }
  .hero-content h1{ font-size: 22px; line-height: 1.2; }
  .hero p{ font-size: 14px; }
  .hero-list{ margin-top: 16px; gap: 10px; }
  .hero-list a{ font-size: 16px; }
  .hero-list .cta,
  .hero-list .cta-light{
    height: 44px;
    border-radius: 24px;
    padding: 8px 14px;
    width: auto;
    min-width: 132px;
  }
  .cta .arrow-icon{ width: 16px; height: 16px; }

  .dots{ bottom: 20px; gap: 8px; }
  .dot{ width: 8px; height: 8px; }
}

@media (min-width:1441px){
  :root{
    --container-max:1440px;
    --container-pad:20px;
    --hero-arrow-offset:10px;
  }
  .hero{
    position: relative;                 
    height: 920px;
    --side-gap: max((100vw - var(--container-max)) / 2, 0px);
    --content-gap: calc(var(--side-gap) + var(--container-pad));
  }
  .hero::before{ z-index: 0; }
  .hero .carousel{
    position: absolute;
    inset: 0;                          
    z-index: 1;                          
    pointer-events: none;              
  }
  .hero-content{
    position: relative;
    z-index: 2;
  }
  .hero .carousel > .prev,
  .hero .carousel > .next{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;                
  }
  .hero .carousel > .prev{ left:  calc(var(--content-gap) - var(--hero-arrow-offset)); }
  .hero .carousel > .next{ right: calc(var(--content-gap) - var(--hero-arrow-offset)); }
  .hero .carousel > .prev svg,
  .hero .carousel > .next svg{ width: 64px; height: 64px; }

  .hero-content h1{ font-size:63px; }
  .hero p{ font-size:20px; }
  .hero-list a{ font-size:22px; }
  .hero-list .cta{ width:196px; height:74px; border-radius:43px; }
  .hero-list .cta-light{ width:212px; height:74px; border-radius:43px; }
}

/* SECÇÃO SOBRE */
.sobre{
  --padY: clamp(56px, 6vw, 80px);            
  --sobre-img-h: clamp(260px, 45vw, 580px);  
  --sobre-start-offset: clamp(32px, 4.5vw, 64px); 
  position: relative;
  width: 100%;
  background:#fff;
  overflow: hidden;
  isolation: isolate;          
  z-index: 1;
  padding-block: var(--padY);
  margin-top: clamp(40px, 5vw, 60px);
}
.sobre::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0; 
  height: calc(var(--sobre-img-h) + var(--padY) - var(--sobre-start-offset));
  background:#FFEDEB;
  z-index:0;
}
.sobre .container { position: relative; z-index: 1; }
.sobre-pre{
  text-align:center; color:#bc3b4a; text-transform:uppercase;
  letter-spacing: var(--ls-10); line-height:1.2; margin-bottom:8px;
  font-size: clamp(14px, 1.6vw, 20px);
}
.sobre-title{
  text-align:center; font-weight:700; letter-spacing: var(--ls-04);
  margin-bottom: clamp(24px, 3vw, 40px);
  font-size: clamp(28px, 3vw, 40px);
}
.sobre-info{
  display:grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: clamp(16px, 3vw, 34px);
  align-items:start;
  margin-top: clamp(24px, 4vw, 60px);
  margin-bottom: clamp(40px, 6vw, 80px);
}
.sobre-card{ text-align:left; }
.sobre-card img{ width:86px; height:86px; margin-bottom:16px; }
.sobre-card h3{
  font-weight:600; line-height:1.5; margin-bottom:12px;
  font-size: clamp(20px, 2.2vw, 28px);
}
.sobre-card p{
  color:#222; font-weight:300; line-height:1.5;
  font-size: clamp(16px, 1.7vw, 18px);
}
.sobre-imagem{ border-radius:16px; overflow:hidden; }
.sobre-imagem img{
  width:100%;
  height: var(--sobre-img-h);
  object-fit:cover; object-position:center;
  display:block;
}

@media (min-width:768px) and (max-width:1024px){
  .sobre{
    --padY: clamp(48px, 5.5vw, 72px);
    --sobre-img-h: clamp(320px, 42vw, 520px);
    --sobre-start-offset: clamp(24px, 6vw, 48px);
  }
  .sobre-info{
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    justify-items: center;     
    align-items: start;
    grid-auto-flow: dense;
  }
  .sobre-card{
    width: min(100%, 520px);
    text-align: center;
  }
  .sobre-info .sobre-card:last-child{
    grid-column: 1 / -1;       
    justify-self: center;
  }
}

@media (max-width:767px){
  .sobre{
    --padY: 48px;
    --sobre-img-h: clamp(240px, 55vw, 420px);
    --sobre-start-offset: clamp(20px, 7vw, 40px);
    margin-top: 32px;
  }
  .sobre-info{
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 20px;
    margin-top: 24px;
    margin-bottom: 56px;
  }
  .sobre-card{
    width: min(100%, 560px);
    text-align: center;
  }
  .sobre-card img{ width:72px; height:72px; }
}

@media (max-width:359px){
  .sobre{
    --padY: 40px;
    --sobre-img-h: clamp(200px, 60vw, 360px);
    --sobre-start-offset: clamp(16px, 8vw, 32px);
  }
  .sobre-pre { font-size: 13px; }
  .sobre-title { font-size: 24px; }
  .sobre-card h3 { font-size: 18px; }
  .sobre-card p  { font-size: 15px; }
}

@media (min-width:1441px){
  .sobre{
    --padY: 90px;
    --sobre-img-h: 580px;
    --sobre-start-offset: 100px;
  }
  .sobre-info{ gap: 38px; }
}

/* SECÇÃO EQUIPA */
.equipa{
  --cols: 3;                       
  --card-gap: clamp(16px, 1.5vw, 24px);
  --card-ar: 3 / 4;
  --pre-fs: clamp(22px, 2.5vw, 40px);
  --pre-line-w: clamp(18ch, 56ch, 64ch);
  --pre-line-h: 3px;
  --pre-line-mb: clamp(12px, 2vw, 24px);
  --desc-fs: clamp(16px, 1.6vw, 20px);
  --nome-fs: clamp(20px, 1.8vw, 26px);
  --cargo-fs: clamp(12px, 1.1vw, 16px);
  --nome-hover-fs: var(--nome-fs);
  --cargo-hover-fs: var(--cargo-fs);
  --arrow-size: clamp(44px, 3.2vw, 60px);
  --equipa-arrow-gap: clamp(8px, 1vw, 16px);
  --equipa-arrow-offset: 10px;
  --side-gap:  max((100vw - min(var(--container-max), 100vw)) / 2, 0px);
  --content-gap: calc(var(--side-gap) + var(--container-pad));
  --arrow-y: 50%;
  position: relative;
  padding: 60px 0;
  background:#fff;
  overflow:hidden;
  z-index:1;
}

.equipa .container{
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
  text-align: center;
  position: relative;
}

.equipa-pre{
  font-size: var(--pre-fs);
  font-weight: 700;
  line-height: 1.45;
  margin: clamp(24px, 4vw, 60px) auto clamp(8px, 1.6vw, 16px);
  display: inline-block;
}

.equipa-pre-line{
  width: min(var(--pre-line-w), 100%);
  height: var(--pre-line-h);
  margin: 0 auto var(--pre-line-mb);
  background:#bc3b4a;
}

.equipa-desc{
  font-size: var(--desc-fs);
  font-weight: 300;
  line-height: 1.6;
  padding-top: clamp(6px, 1.2vw, 12px);
  padding-bottom: clamp(36px, 4vw, 60px);
  color:#544f4f;
}

.equipa-carousel{
  position: relative;
  max-width: var(--container-max);
  margin: 0 auto;
  overflow: hidden;
  align-items: flex-start;
}
.carousel-inner-equipa{
  display:flex;
  gap:12px;
  align-items:flex-start;
  will-change: transform;
  transition: transform .5s ease-in-out;
  min-width:0;
}

.equipa-slide{
  flex: 0 0 100%;
  min-width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--card-gap);
  align-content: start;
  justify-content: center;
  min-width: 0;
}

.equipa-slide .equipa-card{
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: var(--card-ar);
  border-radius: 20px;
  background:#f7f7f7;
  min-width: 0;
}
.equipa-card img{
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  display:block; border-radius:16px;
}

.equipa-info{
  position:absolute; bottom:10px; left:20px;
  z-index:2; color:#fff; text-align:left;
  opacity:1; transition:opacity .3s ease; pointer-events:none;
}
.equipa-nome{ font-size:var(--nome-fs); font-weight:700; margin-left:30px; line-height:1.45; }
.equipa-cargo{ font-size:var(--cargo-fs); font-weight:400; color:#DA9189; margin:4px 0 26px 30px; line-height:1.4; letter-spacing:var(--ls-10); }

.equipa-hover{
  position:absolute; inset:0; background:#FFEDEB;
  opacity:0; transition:opacity .3s ease; border-radius:16px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:clamp(16px,2vw,24px); text-align:center; z-index:1;
  overflow:auto; -webkit-overflow-scrolling:touch; pointer-events:none;
}
.equipa-card:hover .equipa-info{ opacity:0; }
.equipa-card:hover .equipa-hover{ opacity:1; z-index:3; }
.equipa-card.is-open .equipa-info{ opacity:0; }
.equipa-card.is-open .equipa-hover{ opacity:1; z-index:3; pointer-events:auto; }

.equipa-cargo-hover{ width:min(336px,90%); color:#bc3b4a; font-size:var(--cargo-hover-fs); font-weight:300; line-height:1.45; letter-spacing:var(--ls-10); text-transform:uppercase; }
.equipa-nome-hover { width:min(336px,90%); color:#544f4f; font-size:var(--nome-hover-fs); font-weight:700; margin:8px 0 14px; line-height: clamp(22px, 2.8vw, 34px); }
.equipa-info-hover{ width:min(336px,90%); color:#544f4f; font-size:clamp(14px, 1.5vw, 18px); line-height:clamp(22px, 2.2vw, 28px); font-weight:300; margin:8px 0; }

.equipa-icons{ display:flex; gap:16px; justify-content:center; margin-top:12px; }
.equipa-icons a img{ width:32px; height:32px; transition:transform .2s ease; }
.equipa-icons a:hover img{ transform:scale(1.08); }

.prev-equipa,.next-equipa{
  position:absolute; top:var(--arrow-y); transform:translateY(-50%);
  background:none; border:0; cursor:pointer; z-index:4; padding:10px;
  display:inline-flex; align-items:center; justify-content:center;
}
.equipa > .prev-equipa{ left:calc(var(--content-gap) - var(--equipa-arrow-offset) - var(--equipa-arrow-gap) - var(--arrow-size)); }
.equipa > .next-equipa{ right:calc(var(--content-gap) - var(--equipa-arrow-offset) - var(--equipa-arrow-gap) - var(--arrow-size)); }
.prev-equipa svg,.next-equipa svg{ width:var(--arrow-size); height:var(--arrow-size); stroke:#DBA5AB; transition:stroke .3s ease; }
.prev-equipa:hover svg,.next-equipa:hover svg{ stroke:#bc3b4a; }

@media (max-width: 767px){
  .equipa{ --cols: 1; padding-top: 50px; }
  .prev-equipa,.next-equipa{ display:none !important; } 
  .equipa-card{ border-radius:16px; }
  .equipa-card img{ border-radius:12px; }
  .equipa-info{ left:0; right:0; bottom:12px; text-align:center; padding:0 10px; }
  .equipa-nome,.equipa-cargo{ margin-left:0; }
}

@media (min-width: 768px) and (max-width: 1023px){
  .equipa{ --cols: 2; padding-top: 50px; }
  .equipa-info{ left:0; right:0; bottom:12px; text-align:center; padding:0 8px; }
  .equipa-nome,.equipa-cargo{ margin-left:0; }
}

/* SECÇÃO NOVO SERVIÇO */
.novo {
  --wrap-max: 1280px;
  --pre-fs: clamp(22px, 3vw, 40px);
  --pre-lh: 1.35;
  --desc-fs: clamp(20px, 1.6vw, 22px);
  --desc-lh: 1.6;
  --sub-fs: clamp(14px, 1.3vw, 18px);
  --h2-fs: clamp(22px, 3vw, 36px);
  --p-fs: clamp(16px, 1.5vw, 18px);
  --cta-fs: clamp(16px, 1.4vw, 18px);
  --cta-pad-y: clamp(18px, 1.3vw, 24px);
  --cta-pad-x: clamp(18px, 2.2vw, 36px);
  --cta-radius: clamp(20px, 2.2vw, 36px);
  --gap-cta: clamp(12px, 1.5vw, 24px);
  background-color: #fff;
  position: relative;
}

.novo .container {
  width: min(var(--wrap-max), 100%);
  margin: 0 auto;
  text-align: center;
  position: relative;
  padding: 0 16px;
}

.novo-titulo {
  width: 100%;
  background-color: #FFEDEB;
  padding: clamp(40px, 6vw, 80px) 0;
  position: relative;
  z-index: 1;
}

.background-circle {
  position: absolute;
  inset: 0;
  align-items: center;
  width: 100%;
  height: auto;
  z-index: 0;
  pointer-events: none;
}

.background-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.novo-titulo .container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.novo-info {
  text-align: center;
}

.novo-pre {
  font-size: var(--pre-fs);
  line-height: var(--pre-lh);
  font-weight: 600;
  color: #544f4f;
  letter-spacing: var(--ls-01);
  margin: 0 0 clamp(8px, 1.8vw, 16px);
}

.novo .destaque {
  color: #bc3b4a;
}

.novo-desc {
  color: #544f4f;
  font-size: var(--desc-fs);
  font-weight: 300;
  line-height: var(--desc-lh);
  max-width: 60ch;
  margin-inline: auto;
}

.banner-novo {
  position: relative;
  display: grid;
}

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

.texto-servico {
  position: relative;
  margin: clamp(16px, 4vw, 28px);
  padding: var(--overlay-pad);
  background: var(--overlay-bg);
  -webkit-backdrop-filter: blur(var(--overlay-blur));
  backdrop-filter: blur(var(--overlay-blur));
  border-radius: var(--overlay-radius);
  color: #fff;
  text-align: left;
}

.texto-servico .subtitulo {
  text-transform: uppercase;
  color: #DBA5AB;
  font-size: var(--sub-fs);
  line-height: 1.4;
  letter-spacing: var(--ls-04);
  font-weight: 600;
  margin: 0 0 6px;
}

.texto-servico h2 {
  font-size: var(--h2-fs);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 clamp(14px, 2vw, 24px);
  color: #fff;
}

.texto-servico p {
  font-size: var(--p-fs);
  font-weight: 300;
  line-height: 1.6;
  color: #fff;
  margin: 0 0 clamp(18px, 3vw, 28px);
}

.novo-list {
  list-style: none;
  padding: 0;
  display: flex;
  gap: var(--gap-cta);
  flex-wrap: wrap;
}

.novo-list li a {
  text-decoration: none;
  padding: var(--cta-pad-y) var(--cta-pad-x);
  border-radius: var(--cta-radius);
  transition: transform .2s ease, background-color .25s ease, color .25s ease;
  font-size: var(--cta-fs);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.novo-list .cta {
  background-color: #DBA5AB;
  color: #fff;
  font-weight: 500;
  line-height: 1;
}

.novo-list .cta .arrow-icon {
  stroke: currentColor;
  width: 18px;
  height: 18px;
  transition: transform 0.25s ease;
  vertical-align: middle;
}

.novo-list .cta:hover .arrow-icon {
  transform: translateX(4px);
}

.novo-list .cta:hover {
  background-color: #222;
}

.novo-list .cta-light {
  background-color: #fff;
  color: #544F4F;
  font-weight: 400;
  line-height: 1;
}

.novo-list .cta-light:hover {
  background-color: #222;
  color: #fff;
  border-color: #222;
}

@media (max-width:389px){
  .novo{
    --pre-fs: clamp(20px, 6vw, 24px);
    --desc-fs: clamp(13px, 4.4vw, 16px);
    --sub-fs: clamp(11px, 3.6vw, 13px);
    --h2-fs:  clamp(18px, 6.0vw, 22px);
    --p-fs:   clamp(13px, 4.4vw, 16px);
    --cta-fs: clamp(13px, 3.8vw, 15px);
    --cta-pad-y: clamp(10px, 3.6vw, 14px);
    --cta-pad-x: clamp(14px, 4.6vw, 20px);
    --cta-radius: 24px;
    --gap-cta: 12px;
  }
  .banner-novo{ min-height: 300px; }
  .texto-servico{
    width: min(var(--wrap-max), 100%);
    max-width: none !important;
    margin: 0 auto;          
    padding: 0 16px;        
    box-sizing: border-box;
    background: transparent; 
    border-radius: 0;
  }
}

@media (min-width:768px) and (max-width:959px){
  .novo{ 
    --pre-fs:  clamp(24px, 2.9vw, 28px);
    --desc-fs: clamp(16px, 1.9vw, 20px);
    --sub-fs:  clamp(14px, 1.5vw, 16px);
    --h2-fs:   clamp(20px, 2.25vw, 24px);
    --p-fs:    clamp(14px, 1.7vw, 16px);
    --cta-fs:    clamp(14px, 1.3vw, 15px);
    --cta-pad-y: clamp(16px, 1.2vw, 18px);
    --cta-pad-x: clamp(16px, 1.6vw, 18px);
    --circle-size: clamp(960px, 56vw, 980px);  
  }
  .novo-titulo{ position:relative; z-index:1; }
  .background-circle{
    display:block;
    position:absolute;
    width: min(100%, var(--wrap-max));
    height: var(--circle-size);
    z-index:2;
    pointer-events:none;
  }
  .background-circle img{
    width:100%; height:100%;
    object-fit:contain;
    object-position: top center; 
    display:block;
  }
  .banner-novo{ position:relative; z-index:3; display:grid;
    grid-template-columns: 1fr minmax(0, var(--wrap-max)) 1fr;
    align-items:center; z-index: 3;
  }
  .banner-novo > img{ grid-column:1 / -1; grid-row:1; }
  .novo .texto-servico{
    grid-column:2; grid-row:1;
    justify-self:start;  
    align-self:center;  
    position:relative;
    width: clamp(380px, 44vw, 580px);
    top:auto ; right:auto ;
    bottom:auto ; left:20px ; 
    margin:0 ;
    z-index:4;
  }
  .novo-list{ gap: clamp(16px, 1.1vw, 18px); }
  .novo-list li{ flex: 0 0 auto; }
  .novo-list li a{
    width: clamp(160px, 20vw, 220px);
    justify-content: center;
    text-align: center;
  }
  .novo-list .cta .arrow-icon{ width:16px; height:16px; }
}

@media (min-width:960px) and (max-width:1024px){
  .novo{ 
    --site-gutter: 16px;
    --pre-fs:  clamp(26px, 2.5vw, 30px);
    --desc-fs: clamp(18px, 1.8vw, 22px);
    --sub-fs:  clamp(16px, 1.6vw, 16px);
    --h2-fs:   clamp(24px, 2.1vw, 30px);
    --p-fs:    clamp(16px, 1.7vw, 18px);
    --cta-fs:  clamp(16px, 1.3vw, 18px);
    --cta-pad-y: clamp(16px, 1.1vw, 18px);
    --cta-pad-x: clamp(16px, 1.6vw, 22px);
    --cta-radius: 26px;
    --circle-size: clamp(980px, 58vw, 1180px);
    --circle-drop: clamp(0px, 2.2vw, 48px); 
  }
  .novo-titulo{ position:relative; z-index:1; }
  .background-circle{
    display:block;
    position:absolute;
    width: min(100%, var(--wrap-max));
    height: var(--circle-size);
    z-index:2; 
  }
  .background-circle img{
    width:100%; height:100%;
    object-fit:contain;
    object-position: top center;
    display:block;
  }
  .banner-novo{
    position:relative; z-index:3;
    display:grid;
    grid-template-columns: 1fr minmax(0, var(--wrap-max)) 1fr;
    align-items:center;
  }
  .banner-novo > img{ grid-column:1 / -1; grid-row:1; }
  .texto-servico{
    grid-column:2; grid-row:1;
    justify-self:start;  
    align-self:center;  
    position:relative;

    width: clamp(460px, 45vw, 600px);
    top:auto; right:auto; bottom:auto; left:20px;
    margin:0; 
    z-index:4;
  }
  .novo-list{ gap: clamp(16px, 1.1vw, 18px); }
  .novo-list li{ flex: 0 0 auto; }
  .novo-list li a{
    width: clamp(180px, 20vw, 240px);
    justify-content: center;
    text-align: center;
  }
  .novo-list .cta .arrow-icon{ width:16px; height:16px; }
}

@media (min-width:1025px) and (max-width:1280px){
  .novo{
    --site-gutter: 16px;
    --pre-fs:  clamp(30px, 2.1vw, 38px);
    --desc-fs: clamp(20px, 1.5vw, 22px);
    --sub-fs:  clamp(16px, 1.1vw, 16px);
    --h2-fs:   clamp(26px, 2.0vw, 34px);
    --p-fs:    clamp(18px, 1.3vw, 19px);
    --cta-fs:     clamp(16px, 1.2vw, 18px);
    --cta-pad-y:  clamp(18px, 1.1vw, 18px);
    --cta-pad-x:  clamp(18px, 1.6vw, 30px);
    --cta-radius: 28px;
    --gap-cta:    clamp(16px, 1.4vw, 22px);
    --circle-size: clamp(1100px, 64vw, 1400px);
    --circle-drop: clamp(0px, 2vw, 56px);
  }
  .novo-titulo{ position:relative; z-index:1; }
  .background-circle{
    display:block;
    position:absolute;
    width:min(100%, var(--wrap-max));
    height:var(--circle-size);
    z-index:2; 
  }
  .background-circle img{
    width:100%; height:100%;
    object-fit:contain;
    object-position: top center;
    display:block;
  }
  .banner-novo{
    position:relative; z-index:3;
    display:grid;
    grid-template-columns: 1fr minmax(0, var(--wrap-max)) 1fr;
    align-items:center;
  }
  .banner-novo > img{ grid-column:1 / -1; grid-row:1; }
  .texto-servico{
    grid-column:2; grid-row:1;
    justify-self:start; align-self:center;
    position:relative;
    width: min(
      clamp(540px, 46vw, 720px),
      calc(100vw - (var(--site-gutter) * 2))
    );
    top:auto; right:auto; bottom:auto; left:20px; 
    transform:none; margin:0; z-index:4;
    padding-left: 0;
  }
  .novo-list{ gap: var(--gap-cta); }
  .novo-list li{ flex: 0 0 auto; }
  .novo-list li a{
    width: clamp(180px, 20vw, 260px);
    justify-content: center;
    text-align: center;
  }
}

@media (min-width:1281px) and (max-width:1440px){
  .novo{
    --site-gutter: 20px;
    --pre-fs:  clamp(32px, 2.0vw, 40px);
    --desc-fs: clamp(22px, 1.4vw, 24px);
    --sub-fs:  clamp(18px, 1.0vw, 18px);
    --h2-fs:   clamp(28px, 1.8vw, 38px);
    --p-fs:    clamp(20px, 1.2vw, 22px);
    --cta-fs:     clamp(20px, 1.0vw, 18px);
    --cta-pad-y:  clamp(22px, 1.0vw, 22px);
    --cta-pad-x:  clamp(22px, 1.2vw, 34px);
    --cta-radius: 30px;
    --gap-cta:    clamp(18px, 1.2vw, 24px);
    --circle-size: clamp(1200px, 68vw, 1600px);
  }
  .novo-titulo{ position:relative; z-index:1; }
  .background-circle{
    display:block;
    position:absolute;
    height:var(--circle-size);
    z-index:2;
  }
  .background-circle img{
    width:100%; height:100%;
    object-fit:contain;
    object-position: top center;
    display:block;
  }
  .banner-novo{
    position:relative; z-index:3;
    display:grid;
    grid-template-columns: 1fr minmax(0, var(--wrap-max)) 1fr;
    align-items:center;
  }
  .banner-novo > img{ grid-column:1 / -1; grid-row:1; }
  .texto-servico{
    grid-column:2; grid-row:1;
    align-self:center;
    position:relative;
    width: min(
      clamp(560px, 42vw, 760px),
      calc(100vw - (var(--site-gutter) * 2))
    );
    z-index:4;
    padding-left: 0;
    margin-left: 0;
  }
  .novo-list{ gap: var(--gap-cta); }
  .novo-list li{ flex: 0 0 auto; }
  .novo-list li a{
    width: clamp(200px, 18vw, 280px);
    justify-content: center;
    text-align: center;
  }
}

@media (min-width:1441px){
  .novo{
    --wrap-max: 1440px;
    --site-gutter: 20px;
    --pre-fs: 32px;
    --desc-fs: 22px;
    --sub-fs: 18px;
    --h2-fs: 28px;
    --p-fs: 20px;
    --cta-fs: 20px;
    --cta-pad-y: 22px;
    --cta-pad-x: 22px;
    --cta-radius: 30px;
    --gap-cta: 18px;
    --circle-size: 1600px;      
    --circle-bleed: 220px;     
  }
  .banner-novo{
    display:grid;
    grid-template-columns: 1fr minmax(0, var(--wrap-max)) 1fr;
    align-items:center;
    padding-bottom: var(--circle-bleed);
    z-index: 3;
  }
  .banner-novo > img{ grid-column:1 / -1; grid-row:1; }
  .background-circle{
    position:absolute;  
    height: var(--circle-size);  
    z-index:2;
  }
  .background-circle img{
    width:100%; height:100%;
    object-fit:contain;
    object-position: top center;
    display:block;
  }
  .texto-servico{
    grid-column:2; grid-row:1;
    justify-self:start; align-self:center;
    position:relative;
    left:20px; margin:0; z-index:4;
    width: 604.8px;
  }
  .novo-list li a{
    width: 259.2px;
    justify-content:center;
    text-align:center;
  }
}

@media (max-width: 767px){
  .banner-novo{
    background:#bc3b4a;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 28px 0;
    min-height: 400px;
  }
  .banner-novo > img{ display:none !important; }
  .texto-servico{
    position: static;
    background: transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    color:#fff;
    width: min(var(--wrap-max), 100%);
    max-width: none !important;  
    margin: 0 auto;              
    padding: 0 20px;            
    box-sizing: border-box;      
    border-radius: 0;
    text-align: left;
  }
  .novo{
    --pre-fs: clamp(18px, 5.4vw, 22px);
    --desc-fs: clamp(13px, 4.0vw, 16px);
    --sub-fs: clamp(10px, 3.4vw, 13px);
    --h2-fs:  clamp(18px, 5.0vw, 22px);
    --p-fs:   clamp(12px, 3.6vw, 16px);
    --cta-fs: clamp(13px, 3.6vw, 16px);
    --cta-pad-y: clamp(10px, 3.4vw, 14px);
    --cta-pad-x: clamp(14px, 4.2vw, 22px);
    --cta-radius: 24px;
    --gap-cta: 12px;
  }
  .texto-servico .subtitulo{ color:#F6DADF; font-weight: 400;}
  .texto-servico h2,
  .texto-servico p{ color:#fff; }
  .novo-list{ gap: var(--gap-cta); }
  .novo-list .cta{ background:#DBA5AB; color:#fff; }
  .novo-list .cta-light{
    background:#fff; color:#544F4F; border:1px solid rgba(255,255,255,.18);
  }
  .novo-list .cta-light:hover{ background:#222; color:#fff; border-color:#222; }
}

/* SECÇÃO SERVIÇOS */
.servicos {
  --wrap-max: 1280px;
  --gutter: 0px;

  background-color: #fff;
  position: relative;
  margin-top: 0;
}

.servico-container,
.servico-funcional-container,
.servico-fisioterapia-container{
  max-width: min(100%, var(--wrap-max));
}

.servicos .container {
  width: min(var(--wrap-max), 100%);
  margin: 0 auto;
  padding: 0 var(--gutter);
  text-align: center;
  position: relative;
}

.servicos-info {
  position: relative;
  display: inline;
  justify-content: center;
  width: 860px;
  text-align: center;
}

.servicos-pre {
  font-size: 38px;
  font-weight: 700;
  color: #222;
  margin-top: 260px;
  margin-bottom: 10px;
  line-height: 1.8;
  letter-spacing: var(--ls-04);
}

.servicos-pre-line {
  width: 756px;
  height: 2px;
  background-color: #bc3b4a;
  margin: 0 auto 20px auto;
}

.servicos-desc {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  margin-bottom: 76px;
}

.servico-pilates {
  width: 100%;
  background-color: #FFEDEB;
  padding: 80px 0;
  position: relative;
  z-index: 1;
}

.servico-container {
  width: 100%;
  max-width: 1280px;
  height: 648px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  padding-left: 0;
}

.servico-quadro {
  position: absolute;
  left: 20px;
  top: 60px;
  bottom: 60px;
  width: 630px;
  height: 548px;
  background-color: #DBA5AB;
  z-index: 1;
}

.imagem-servico {
  position: absolute;
  left: -193px;
  top: 115px;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: start;
}

.imagem-servico::before {
  content: "";
  position: absolute;
  top: 100px;
  left: 213px;
  width: 576px;
  height: 473px;
  background-color: #DBA5AB;
  opacity: 0.3;
  z-index: 3;
}

.imagem-servico img {
  height: 593px;
  width: 784px;
  object-fit: cover;
  display: block;
}

.servico-texto {
  position: absolute;
  color: #544F4F;
  z-index: 2;
  display: flex;
  flex-direction: column;
  right: 50px;
  top: 88px;
  bottom: 88px;
  box-sizing: border-box;
}

.servico-texto h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 18px;
  text-align: left;
}

.servico-texto h3 {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 30px;
  margin-bottom: 18px;
  text-align: left;
}

.servico-texto p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  text-align: left;
  max-width: 500px;
}

.servico-texto .p1 { margin-bottom: 16px; }
.servico-texto .p2 { margin-bottom: 56px; }

.servico-botoes {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.servico-botoes li a {
  text-decoration: none;
  padding: 24px 36px;
  width: 160px;
  border-radius: 36px;
  transition: all 0.3s ease;
  font-size: 18px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.servico-botoes .cta {
  background-color: #DBA5AB;
  color: #fff;
  font-weight: 400;
  line-height: 1;
}
.servico-botoes .cta:hover { background-color: #222; }

.servico-botoes .cta-light {
  background-color: #fff;
  color: #544F4F;
  font-weight: 300;
  line-height: 1;
  gap: 12px;
}
.servico-botoes .cta-light:hover { background-color: #222; color: #fff; }

.servico-funcional {
  width: 100%;
  background-color: #fff;
  padding: 80px 0;
  position: relative;
  z-index: 1;
}

.servico-funcional-container {
  width: 100%;
  max-width: 1280px;
  height: 648px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  box-sizing: border-box;
}

.servico-funcional-quadro {
  position: absolute;
  right: 20px;
  top: 60px;
  bottom: 60px;
  width: 650px;
  height: 548px;
  background-color: #bc3b4a;
  z-index: 1;
}

.imagem-funcional {
  position: absolute;
  right: -193px;
  top: 115px;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: end;
}

.imagem-funcional::before {
  content: "";
  position: absolute;
  top: 100px;
  right: 27.2%;
  width: 572px;
  height: 473px;
  background-color: #bc3b4a;
  opacity: 0.3;
  z-index: 3;
}

.imagem-funcional img {
  height: 593px;
  width: 784px;
  object-fit: cover;
  display: block;
}

.servico-funcional-texto {
  position: absolute;
  color: #544F4F;
  z-index: 2;
  display: flex;
  flex-direction: column;
  left: 20px;
  top: 88px;
  bottom: 88px;
  padding-right: 88px;
  max-width: 540px;
  box-sizing: border-box;
}

.servico-funcional-texto h2 {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 18px;
  text-align: left;
}

.servico-funcional-texto h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 30px;
  margin-bottom: 18px;
  text-align: left;
}

.servico-funcional-texto p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  text-align: left;
}

.servico-funcional-texto .p1 { margin-bottom: 16px; }
.servico-funcional-texto .p2 { margin-bottom: 56px; }

.servico-funcional-botoes {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.servico-funcional-botoes li a {
  text-decoration: none;
  padding: 24px 36px;
  width: 160px;
  border-radius: 36px;
  transition: all 0.3s ease;
  font-size: 18px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.servico-funcional-botoes .cta {
  background-color: #a73546;
  color: #fff;
  font-weight: 400;
}
.servico-funcional-botoes .cta:hover { background-color: #222; }

.servico-funcional-botoes .cta-light {
  background-color: #FFEDEB;
  color: #544F4F;
  font-weight: 300;
  gap: 12px;
}
.servico-funcional-botoes .cta-light:hover { background-color: #222; color: #fff; }

.servico-fisioterapia {
  width: 100%;
  background-color: #FFEDEB;
  padding: 80px 0;
  position: relative;
  z-index: 1;
}

.servico-fisioterapia-container {
  width: 100%;
  max-width: 1280px;
  height: 648px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  box-sizing: border-box;
  padding-left: 0;
}

.servico-fisioterapia-quadro {
  position: absolute;
  left: 20px;
  top: 60px;
  bottom: 60px;
  width: 650px;
  height: 548px;
  background-color: #DBA5AB;
  z-index: 1;
}

.imagem-fisioterapia {
  position: absolute;
  left: -193px;
  top: 115px;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: start;
}

.imagem-fisioterapia::before {
  content: "";
  position: absolute;
  top: 100px;
  left: 213px;
  width: 576px;
  height: 473px;
  background-color: #DBA5AB;
  opacity: 0.3;
  z-index: 3;
}

.imagem-fisioterapia img {
  height: 593px;
  width: 784px;
  object-fit: cover;
  display: block;
}

.servico-fisioterapia-texto {
  position: absolute;
  color: #544F4F;
  z-index: 2;
  display: flex;
  flex-direction: column;
  right: 50px;
  top: 88px;
  bottom: 88px;
  box-sizing: border-box;
}

.servico-fisioterapia-texto h2 {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 18px;
  text-align: left;
}

.servico-fisioterapia-texto h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 30px;
  margin-bottom: 18px;
  text-align: left;
}

.servico-fisioterapia-texto p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  text-align: left;
  max-width: 500px;
}

.servico-fisioterapia-texto .p1 { margin-bottom: 16px; }
.servico-fisioterapia-texto .p2 { margin-bottom: 56px; }

@media (max-width:767px){
  .servicos .container{
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .servicos-pre{
    margin: 80px 0 8px;
    line-height: 1.25;
    font-size: clamp(22px, 8vw, 28px);
  }
  .servicos-pre-line{
    width: clamp(140px, 66vw, 340px);
    height: 2px;
    margin: 0 auto 14px;
    background-color: #bc3b4a;
  }
  .servicos-desc{
    margin-bottom: 40px;
    font-size: clamp(14px, 4.2vw, 16px);
    line-height: 1.6;
  }

  .servico-container,
  .servico-funcional-container,
  .servico-fisioterapia-container{
    height: auto;
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .servico-quadro,
  .servico-funcional-quadro,
  .servico-fisioterapia-quadro{ display: none; }

  .imagem-servico,
  .imagem-funcional,
  .imagem-fisioterapia{
    width: 100%;
    position: relative;
    top: auto; left: auto; right: auto;
    margin: 0 auto clamp(16px, 4vw, 24px);
    justify-content: center;
  }
  .imagem-servico::before,
  .imagem-funcional::before,
  .imagem-fisioterapia::before{ display: none; }
  .imagem-servico img,
  .imagem-funcional img,
  .imagem-fisioterapia img{
    width: 100%;
    max-width: none;
    height: auto;
    display: block;
  }

  .servico-texto,
  .servico-funcional-texto,
  .servico-fisioterapia-texto{
    position: relative;
    top: auto; bottom: auto; right: auto; left: auto;
    width: 100%;
    max-width: none;
    padding: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere; 
  }

  .servico-texto h2,
  .servico-fisioterapia-texto h2{ font-size: clamp(22px, 6vw, 28px); }
  .servico-funcional-texto h2{ font-size: clamp(24px, 6.2vw, 30px); }

  .servico-texto h3,
  .servico-fisioterapia-texto h3{ font-size: clamp(16px, 5vw, 20px); }
  .servico-funcional-texto h3{ font-size: clamp(18px, 5.2vw, 22px); }

  .servico-texto p,
  .servico-funcional-texto p,
  .servico-fisioterapia-texto p{
    font-size: clamp(14px, 4vw, 16px);
    max-width: none; 
    width: 100%;
  }

  .servico-botoes,
  .servico-funcional-botoes{
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(8px, 3.5vw, 14px);
    width: 100%;
  }
  .servico-botoes li,
  .servico-funcional-botoes li{ width: 100%; }

  .servico-botoes li a,
  .servico-funcional-botoes li a{
    width: 100%;
    min-height: clamp(44px, 9vw, 56px);
    padding: 0 clamp(16px, 4.5vw, 24px);
    font-size: clamp(14px, 4vw, 16px);
    border-radius: 28px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }
}

@media (min-width:768px) and (max-width:959px){
  .servicos .container{
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .servicos-pre{
    margin: clamp(56px, 7.2vw, 84px) 0 8px;
  }

  .imagem-servico::before,
  .imagem-funcional::before,
  .imagem-fisioterapia::before{
    display:none !important;
    content:none !important;
  }

  .servicos-pre-line{
    width: clamp(140px, 66vw, 340px);
    height: 2px;
    margin: 0 auto 14px;
    background-color: #bc3b4a;
  }
  .servicos-desc{
    margin-bottom: 40px;
    font-size: clamp(14px, 3.8vw, 16px);
    line-height: 1.6;
  }

  .servico-container,
  .servico-funcional-container,
  .servico-fisioterapia-container{
    height: auto;
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .servico-quadro,
  .servico-funcional-quadro,
  .servico-fisioterapia-quadro{ display: none; }

  .imagem-servico,
  .imagem-funcional,
  .imagem-fisioterapia{
    width: 100%;
    position: relative;
    margin: 0 auto clamp(16px, 4vw, 24px);
    top:auto; left:auto; right:auto;
    justify-content: center;
  }
  .imagem-servico::before,
  .imagem-funcional::before,
  .imagem-fisioterapia::before{ display: none; }

  .imagem-servico img,
  .imagem-funcional img,
  .imagem-fisioterapia img{
    width: 100%;
    max-width: none;
    height: auto;
    display: block;
  }

  .servico-texto,
  .servico-funcional-texto,
  .servico-fisioterapia-texto{
    position: relative;
    top:auto; bottom:auto; right:auto; left:auto;
    width: 100%;
    max-width: none;
    padding: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }

  .servico-texto h2,
  .servico-fisioterapia-texto h2{ font-size: clamp(22px, 5.6vw, 28px); }
  .servico-funcional-texto h2{ font-size: clamp(24px, 5.8vw, 30px); }

  .servico-texto h3,
  .servico-fisioterapia-texto h3{ font-size: clamp(16px, 4.6vw, 20px); }
  .servico-funcional-texto h3{ font-size: clamp(18px, 4.8vw, 22px); }

  .servico-texto p,
  .servico-funcional-texto p,
  .servico-fisioterapia-texto p{
    font-size: clamp(14px, 3.6vw, 16px);
    max-width: none;
    width: 100%;
  }

  .servico-botoes,
  .servico-funcional-botoes{
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(8px, 3.5vw, 14px);
    width: 100%;
  }
  .servico-botoes li,
  .servico-funcional-botoes li{ width: 100%; }

  .servico-botoes li a,
  .servico-funcional-botoes li a{
    width: 100%;
    min-height: clamp(44px, 8.5vw, 56px);
    padding: 0 clamp(16px, 4.5vw, 24px);
    font-size: clamp(14px, 3.6vw, 16px);
    border-radius: 28px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }
}
@media (min-width:960px) and (max-width:1024px){
  .servicos{  --stage-h: clamp(580px, 62vw, 700px); }

  .servico-container,
  .servico-funcional-container,
  .servico-fisioterapia-container{
    --q-top: clamp(36px, 4vw, 48px);
    --q-bot: clamp(50px, 5vw, 60px);
    position: relative;
    height: var(--stage-h);
    max-width: 1280px;
    margin: 0;
    box-sizing: border-box;
    padding-left: 0;
  }

  .servicos-pre{
    margin: clamp(180px, 6.4vw, 88px) 0 8px;
    font-size: clamp(28px, 3.6vw, 36px);
    line-height: 1.25;
  }
  .servicos-pre-line{ width: clamp(460px, 58vw, 620px); height:2px; }
  .servicos-desc{ font-size: clamp(15px, 2.1vw, 18px); }

  .servico-quadro,
  .servico-funcional-quadro,
  .servico-fisioterapia-quadro{ display:block; }

  .servico-quadro{
    position: absolute; left: 20px; top: 40px; bottom: 70px;
    width: clamp(560px, 52vw, 680px); background:#DBA5AB; z-index:1;
  }
  .servico-funcional-quadro{
    position:absolute; right:20px; top:40px; bottom:70px;
    width: clamp(560px, 52vw, 680px); background:#bc3b4a; z-index:1;
  }
  .servico-fisioterapia-quadro{
    position:absolute; left:20px; top:40px; bottom:60px;
    width: clamp(560px, 52vw, 680px); background:#DBA5AB; z-index:1;
  }

  .imagem-servico,
  .imagem-funcional,
  .imagem-fisioterapia{
    position:absolute; bottom:0; z-index:2; display:flex; align-items:end;
  }
  .imagem-servico{ left: clamp(-150px, -18vw, -293px); top: clamp(80px, 9vw, 115px); justify-content:start; }
  .imagem-funcional{ right: clamp(-150px, -18vw, -293px); top: clamp(80px, 9vw, 115px); justify-content:end; }
  .imagem-fisioterapia{ left: clamp(-150px, -18vw, -293px); top: clamp(80px, 9vw, 115px); justify-content:start; }

  .imagem-servico img,
  .imagem-funcional img,
  .imagem-fisioterapia img{
    width: clamp(460px, 72vw, 684px);
    height: 100%;
    max-height: 600px;
    display: block;
    object-fit: cover;
  }

  .imagem-servico::before,
  .imagem-funcional::before,
  .imagem-fisioterapia::before{ display:none !important; }

  .servico-texto,
  .servico-funcional-texto,
  .servico-fisioterapia-texto{
    position:absolute;
    top: var(--q-top); bottom: var(--q-bot);
    color:#544F4F; z-index:2;
    display:flex; flex-direction:column;
    gap: clamp(6px, 1.2vw, 12px);
    box-sizing:border-box;
    max-width: clamp(420px, 44vw, 540px);
  }
  .servico-texto{ right:20px; padding-left: clamp(62px, 5vw, 84px); }
  .servico-funcional-texto{ left:20px; padding-right: clamp(62px, 5vw, 64px); }
  .servico-fisioterapia-texto{ right:20px; padding-left: clamp(62px, 5vw, 64px); }

  .servico-texto h2,
  .servico-fisioterapia-texto h2,
  .servico-funcional-texto h2{
    font-size: clamp(24px, 2.6vw, 28px);
    line-height: 1.45;
    margin-bottom: clamp(10px, 1.4vw, 14px);
  }
  .servico-texto h3,
  .servico-fisioterapia-texto h3,
  .servico-funcional-texto h3{
    font-size: clamp(18px, 2.2vw, 20px);
    line-height: 1.4;
    margin: clamp(14px, 1.8vw, 18px) 0 clamp(10px, 1.4vw, 14px);
  }
  .servico-texto p,
  .servico-funcional-texto p,
  .servico-fisioterapia-texto p{
    font-size: clamp(16px, 1.8vw, 15px);
    line-height: 1.5;
  }

  .servico-botoes,
  .servico-funcional-botoes{
    display:flex; gap:16px; flex-wrap:wrap; padding:0;
    margin-top: auto;
  }
  .servico-botoes li,
  .servico-funcional-botoes li{ width:100%; }

  .servico-botoes li a,
  .servico-funcional-botoes li a{
    width: 100%;
    min-height: clamp(46px, 6.4vw, 54px);
    padding: 0 clamp(18px, 2vw, 24px);
    font-size: clamp(15px, 1.7vw, 17px);
    border-radius: 30px;
    box-sizing: border-box;
    justify-content:center; align-items:center; display:inline-flex;
  }
}

@media (min-width:1025px) and (max-width:1279px){
  .servico-container,
  .servico-funcional-container,
  .servico-fisioterapia-container{
    --q-top: clamp(56px, 5vw, 72px);
    --q-bot: clamp(56px, 5vw, 72px);
  }
  .servicos-pre{
    font-size: clamp(30px, 3.0vw, 38px);
    line-height: 1.25;
    margin-top: clamp(200px, 7vw, 260px);
  }
  .servicos-pre-line{ width: clamp(520px, 60vw, 756px); height: 2px; }
  .servicos-desc{ font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; }

  .servico-texto,
  .servico-funcional-texto,
  .servico-fisioterapia-texto{
    position: absolute;
    top: var(--q-top);
    bottom: var(--q-bot);
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: clamp(6px, 1vw, 12px);
    box-sizing: border-box;
    max-width: clamp(440px, 42vw, 540px);
    max-height: calc(100% - (var(--q-top) + var(--q-bot)));
  }
  .servico-texto{ right: 20px; padding-left: clamp(56px, 5.2vw, 88px); }
  .servico-funcional-texto{ left: 20px; padding-right: clamp(60px, 5.2vw, 88px); }
  .servico-fisioterapia-texto{ right: 20px; padding-left: clamp(56px, 5.2vw, 88px); }

  .servico-texto h2{ font-size: clamp(26px, 2.4vw, 34px); line-height: 1.5; margin-bottom: clamp(10px, 1vw, 14px); }
  .servico-funcional-texto h2,
  .servico-fisioterapia-texto h2{ font-size: clamp(26px, 2.6vw, 36px); line-height: 1.5; margin-bottom: clamp(10px, 1vw, 14px); }

  .servico-texto h3{ font-size: clamp(20px, 2.0vw, 22px); line-height: 1.4; margin: clamp(14px, 1.4vw, 18px) 0 clamp(10px, 1vw, 14px); }
  .servico-funcional-texto h3,
  .servico-fisioterapia-texto h3{ font-size: clamp(20px, 2.1vw, 24px); line-height: 1.4; margin: clamp(14px, 1.4vw, 18px) 0 clamp(10px, 1vw, 14px); }

  .servico-texto p,
  .servico-funcional-texto p,
  .servico-fisioterapia-texto p{
    font-size: clamp(16px, 1.3vw, 18px);
    line-height: 1.55;
  }

  .servico-botoes,
  .servico-funcional-botoes{
    margin-top: auto;               
    display: flex;
    flex-wrap: wrap;
    gap: clamp(12px, 1.2vw, 24px);
    padding: 0;
  }
  .servico-botoes li,
  .servico-funcional-botoes li{ width: auto; }

  .servico-botoes li a,
  .servico-funcional-botoes li a{
    width: 160px;               
    min-height: 56px;                
    padding: 0 36px;                 
    font-size: clamp(16px, 1.3vw, 18px);
    border-radius: 36px;            
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }
}

@media (min-width:1281px) and (max-width:1440px){
  .servicos{ --wrap-max: 1440px; }
  .servico-container,
  .servico-funcional-container,
  .servico-fisioterapia-container{
    max-width: var(--wrap-max);
}

  .servicos-pre{ font-size: 38px; }
  .servicos-pre-line{ width: 756px; height: 2px; }
  .servicos-desc{ font-size: 18px; }

  .servico-texto h2{ font-size: 36px; }
  .servico-funcional-texto h2,
  .servico-fisioterapia-texto h2{ font-size: 38px; }

  .servico-texto h3{ font-size: 24px; }
  .servico-funcional-texto h3,
  .servico-fisioterapia-texto h3{ font-size: 26px; }

  .servico-texto p,
  .servico-funcional-texto p,
  .servico-fisioterapia-texto p{ font-size: 18px; }

  .servico-botoes li a,
  .servico-funcional-botoes li a{
    width: 160px;
    min-height: 56px;
    padding: 0 36px;
    font-size: 18px;
    border-radius: 36px;
  }
}

@media (min-width:1441px){
  .servicos{ --wrap-max: 1440px; }
  .servico-container,
  .servico-funcional-container,
  .servico-fisioterapia-container{
    max-width: var(--wrap-max);
  }

  .servicos-pre{ font-size: 40px; }
  .servicos-pre-line{ width: 756px; height: 2px; }
  .servicos-desc{ font-size: 24px; }

  .servico-texto h2{ font-size: 36px; }
  .servico-funcional-texto h2,
  .servico-fisioterapia-texto h2{ font-size: 38px; }

  .servico-texto h3{ font-size: 24px; }
  .servico-funcional-texto h3,
  .servico-fisioterapia-texto h3{ font-size: 26px; }

  .servico-texto p,
  .servico-funcional-texto p,
  .servico-fisioterapia-texto p{ font-size: 20px; }

  .servico-botoes li a,
  .servico-funcional-botoes li a{
    width: 160px;
    min-height: 56px;
    padding: 0 36px;
    font-size: 18px;
    border-radius: 36px;
  }
}

/* SECÇÃO TRATAMENTOS */
.tratamentos {
  position: relative;
  z-index: 0;
  padding-top: 140px;
}

.tratamentos-titulo {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.tratamentos-info {
  text-align: center;
  z-index: 3;
  position: relative;
}

.tratamentos-pre {
  font-size: 40px;
  font-weight: 600;
  color: #544f4f;
  line-height: 1.8;
}

.tratamentos-desc {
  color: #544f4f;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.6;
  margin-top: 15px;
}

.tabs {
  display: flex;
  justify-content: center;
  gap: 82px;
  margin-top: 80px;
  margin-bottom: 54px;
  padding: 0;
  list-style: none;
}

.tab {
  font-size: 24px;
  font-weight: 550;
  line-height: 1.6;
  color: #544f4f;
  cursor: pointer;
  position: relative;
  padding-bottom: 8px;
}

.tab.active {
  color: #bc3b4a;
}

.tab.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #bc3b4a;
}

.tab-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-content: center;
  margin: 0;
  padding: 0;
  height: auto;
}

.tab-content {
  display: none;
  position: absolute;
  top: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 1.2s ease;
  z-index: 0;
}

.tab-content.active {
  display: block;
  opacity: 1;
  z-index: 10;
  position: relative;
}

.tratamentos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
  gap: 24px;
  padding: 0 20px;
}

.tratamento-box {
  background-color: #F8EDEE;
  border-radius: 24px;
  padding: 52px 30px;
  text-align: center;
  height: 400px;
  width: 100%;
  margin: 0 auto;
  gap: 24px;
}

.tratamento-box-light {
  background-color: #FBF6F7;
  border-radius: 24px;
  padding:  52px 30px;
  text-align: center;
  height: 400px;
  width: 100%;
  margin: 0 auto;
  gap: 24px;
}

.tratamento-box img,
.tratamento-box-light img {
  width: 80px;
  height: 80px;
  margin-top: 20px;
  margin-bottom: 13px;
  align-content: center;
}

.tratamento-box h3,
.tratamento-box-light h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.6;
  align-content: center;
  margin-bottom: 16px;
  text-align: center;
  color: #544f4f;
  width: 350px;
}

.tratamento-box p,
.tratamento-box-light p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  color: #544f4f;
  width: 350px;
}

.tratamentos-botoes {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding: 52px 0;
  z-index: 1;
}

.tratamentos-botoes .cta,
.tratamentos-botoes .cta-light {
  width: 192px;
  height: 66px;
  padding: 24px 52px;
  border-radius: 40px;
  text-decoration: none;
  font-size: 18px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.tratamentos-botoes .cta {
  background-color: #DBA5AB;
  color: #fff;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.5;
}

.tratamentos-botoes .cta:hover {
  background-color: #222;
}

.tratamentos-botoes .cta-light {
  border: 1px solid #D4D2E3;
  background-color: #fff;
  color: #bc3b4a;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.5;
}

.tratamentos-botoes .cta-light:hover {
  background-color: #222;
  color: #fff;
}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}

@media (max-width:389px){
  .tratamentos-pre{ font-size: clamp(22px, 7.2vw, 26px); }
  .tratamentos-desc{ font-size: clamp(14px, 4.2vw, 16px); }
  .tratamentos{
    padding-top: clamp(56px, 12vw, 88px);
  }
  .tabs{
    display:flex;
    flex-wrap: wrap;
    gap: clamp(8px, 3.2vw, 16px);
    margin-top: clamp(20px, 7vw, 36px);  
    margin-bottom: clamp(16px, 6vw, 28px);
    padding: 0 16px;
    box-sizing: border-box;
    justify-content: center;
  }
  .tab{
    font-size: clamp(16px, 5.0vw, 18px);
    padding: 6px 10px;
    line-height: 1.4;
    flex: 0 1 auto;
    text-align: center;
  }

  .tab-wrapper{ margin: 0; padding: 0 0 4px; }

  .tratamentos-grid{
    grid-template-columns: 1fr;
    gap: clamp(12px, 4vw, 20px);
    padding: 0 16px;
    box-sizing: border-box;
  }

  .tratamento-box,
  .tratamento-box-light{
    padding: clamp(24px, 6vw, 32px) clamp(16px, 5vw, 24px);
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .tratamento-box h3,
  .tratamento-box-light h3{
    font-size: clamp(18px, 5.6vw, 22px);
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box p,
  .tratamento-box-light p{
    font-size: clamp(13px, 4.2vw, 16px);
    width: 100%;
    max-width: 65ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box img,
  .tratamento-box-light img{
    width: clamp(56px, 14vw, 80px);
    height: clamp(56px, 14vw, 80px);
    margin-top: 8px;
    margin-bottom: 10px;
  }

  .tratamentos-botoes{
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(10px, 3.6vw, 16px);
    padding: clamp(16px, 5vw, 28px) 16px;
    box-sizing: border-box;
  }
  .tratamentos-botoes .cta,
  .tratamentos-botoes .cta-light{
    width: 100%;
    min-height: clamp(48px, 12vw, 56px);
    padding: 0 clamp(16px, 5vw, 20px);
    font-size: clamp(14px, 4.2vw, 16px);
    border-radius: 28px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
  }
}

@media (min-width:390px) and (max-width:767px){
  .tratamentos{
    padding-top: clamp(64px, 11vw, 112px);
  }
  .tratamentos-pre{  font-size: clamp(24px, 5.0vw, 32px); }
  .tratamentos-desc{ font-size: clamp(14px, 3.2vw, 18px); }
  .tabs{
    display:flex;
    flex-wrap: wrap;
    gap: clamp(12px, 4.2vw, 28px);
    margin-top: clamp(28px, 6vw, 52px);
    margin-bottom: clamp(16px, 5vw, 32px);
    padding: 0 16px;
    box-sizing: border-box;
    justify-content: center;
  }
  .tab{
    font-size: clamp(16px, 3.4vw, 20px);
    line-height: 1.4;
    padding-bottom: 6px;
    text-align: center;
  }
  .tab-wrapper{ margin: 0; padding: 0 0 4px; }
  .tratamentos-grid{
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: clamp(14px, 3.4vw, 24px);
    padding: 0 16px;
    box-sizing: border-box;
  }
  .tratamento-box,
  .tratamento-box-light{
    padding: clamp(24px, 4vw, 36px) clamp(16px, 4vw, 28px);
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .tratamento-box img,
  .tratamento-box-light img{
    width: clamp(64px, 12vw, 80px);
    height: clamp(64px, 12vw, 80px);
    margin-top: 8px;
    margin-bottom: 12px;
  }
  .tratamento-box h3,
  .tratamento-box-light h3{
    font-size: clamp(19px, 4.4vw, 24px);
    width: 100%;
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box p,
  .tratamento-box-light p{
    font-size: clamp(14px, 3.6vw, 16px);
    width: 100%;
    max-width: 65ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamentos-botoes{
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(12px, 3.4vw, 18px);
    padding: clamp(20px, 5vw, 32px) 16px;
    box-sizing: border-box;
  }
  .tratamentos-botoes .cta,
  .tratamentos-botoes .cta-light{
    width: 100%;
    min-height: clamp(50px, 10vw, 60px);
    padding: 0 clamp(18px, 4vw, 24px);
    font-size: clamp(15px, 3.8vw, 17px);
    border-radius: 30px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
  }
}

@media (min-width:768px) and (max-width:959px){
  .tratamentos{
    padding-top: clamp(40px, 10vw, 140px);
  }
  .tratamentos-pre{  font-size: clamp(26px, 3.6vw, 34px); }
  .tratamentos-desc{ font-size: clamp(15px, 2.2vw, 18px); }
  .tabs{
    display:flex;
    flex-wrap: wrap;
    gap: clamp(16px, 6vw, 40px);
    margin-top: clamp(40px, 6vw, 64px);
    margin-bottom: clamp(18px, 5vw, 32px);
    padding: 0 16px;
    box-sizing: border-box;
    justify-content: center;
  }
  .tab{
    font-size: clamp(18px, 2.6vw, 22px);
    line-height: 1.4;
    padding-bottom: 6px;
  }
  .tab-wrapper{ margin: 0; padding: 0; }
  .tratamentos-grid{
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(16px, 2.6vw, 24px);
    padding: 0 16px;
    box-sizing: border-box;
  }
  .tratamento-box,
  .tratamento-box-light{
    padding: clamp(28px, 3.4vw, 40px) clamp(18px, 3vw, 28px);
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .tratamento-box img,
  .tratamento-box-light img{
    width: clamp(64px, 9vw, 80px);
    height: clamp(64px, 9vw, 80px);
    margin-top: 8px;
    margin-bottom: 12px;
  }
  .tratamento-box h3,
  .tratamento-box-light h3{
    font-size: clamp(20px, 2.6vw, 24px);
    width: 100%;
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box p,
  .tratamento-box-light p{
    font-size: clamp(14px, 2.0vw, 16px);
    width: 100%;
    max-width: 65ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamentos-botoes{
    flex-wrap: wrap;
    gap: clamp(16px, 2.4vw, 24px);
    padding: clamp(28px, 4vw, 40px) 16px;
    box-sizing: border-box;
  }
  .tratamentos-botoes .cta,
  .tratamentos-botoes .cta-light{
    width: clamp(160px, 26vw, 220px);
    min-height: clamp(50px, 6.4vw, 60px);
    padding: 0 clamp(20px, 3vw, 28px);
    font-size: clamp(16px, 2.0vw, 18px);
    border-radius: 32px;
  }
}

@media (min-width:960px) and (max-width:1024px){
  .tratamentos{
    padding-top: clamp(40px, 10vw, 140px);
  }
  .tratamentos-pre{  font-size: clamp(28px, 2.8vw, 36px); }
  .tratamentos-desc{ font-size: clamp(16px, 1.9vw, 18px); }
  .tabs{
    display:flex;
    flex-wrap: wrap;
    gap: clamp(20px, 5vw, 60px);
    margin-top: clamp(40px, 5.5vw, 80px);
    margin-bottom: clamp(20px, 4vw, 40px);
    padding: 0 20px;
    box-sizing: border-box;
    justify-content: center;
  }
  .tab{
    font-size: clamp(18px, 1.8vw, 22px);
    line-height: 1.4;
    padding-bottom: 8px;
    text-align: center;
  }
  .tab-wrapper{ margin: 0; padding: 0 0 4px; }
  .tratamentos-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 1.8vw, 24px);
    padding: 0 20px;
    box-sizing: border-box;
  }
  .tratamento-box,
  .tratamento-box-light{
    padding: clamp(28px, 3vw, 40px) clamp(20px, 2.2vw, 30px);
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .tratamento-box img,
  .tratamento-box-light img{
    width: clamp(72px, 6vw, 84px);
    height: clamp(72px, 6vw, 84px);
    margin-top: 8px;
    margin-bottom: 12px;
  }
  .tratamento-box h3,
  .tratamento-box-light h3{
    font-size: clamp(20px, 2.2vw, 24px);
    width: 100%;
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box p,
  .tratamento-box-light p{
    font-size: clamp(14px, 1.6vw, 16px);
    width: 100%;
    max-width: 62ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamentos-botoes{
    display:flex;
    gap: clamp(16px, 2.2vw, 24px);
    padding: clamp(28px, 3.8vw, 44px) 20px;
    box-sizing: border-box;
    justify-content: center;
    flex-wrap: wrap;
  }
  .tratamentos-botoes .cta,
  .tratamentos-botoes .cta-light{
    width: auto; 
    min-width: clamp(220px, 30vw, 300px);
    min-height: clamp(54px, 5.6vw, 64px);
    padding: 0 clamp(26px, 2.6vw, 36px);
    font-size: clamp(16px, 1.65vw, 18px);
    border-radius: 34px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
}

@media (min-width:1025px) and (max-width:1279px){
  .tratamentos{
    padding-top: clamp(60px, 8vw, 160px);
  }
  .tratamentos-pre{  font-size: clamp(30px, 2.4vw, 38px); }
  .tratamentos-desc{ font-size: clamp(18px, 1.6vw, 20px); }
  .tabs{
    display:flex;
    flex-wrap: wrap;
    gap: clamp(22px, 4.2vw, 64px);
    margin-top: clamp(44px, 5vw, 88px);
    margin-bottom: clamp(22px, 3.4vw, 44px);
    padding: 0 24px;
    box-sizing: border-box;
    justify-content: center;
  }
  .tab{
    font-size: clamp(18px, 1.6vw, 24px);
    line-height: 1.4;
    padding-bottom: 8px;
    text-align: center;
  }
  .tab-wrapper{ margin: 0; padding: 0 0 4px; }
  .tratamentos-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 1.6vw, 28px);
    padding: 0 24px;
    box-sizing: border-box;
  }
  .tratamento-box,
  .tratamento-box-light{
    padding: clamp(30px, 2.6vw, 44px) clamp(22px, 2vw, 32px);
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .tratamento-box img,
  .tratamento-box-light img{
    width: clamp(76px, 5.2vw, 90px);
    height: clamp(76px, 5.2vw, 90px);
    margin-top: 8px;
    margin-bottom: 12px;
  }
  .tratamento-box h3,
  .tratamento-box-light h3{
    font-size: clamp(20px, 1.9vw, 26px);
    width: 100%;
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box p,
  .tratamento-box-light p{
    font-size: clamp(15px, 1.4vw, 18px);
    width: 100%;
    max-width: 62ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamentos-botoes{
    display:flex;
    gap: clamp(18px, 2vw, 28px);
    padding: clamp(32px, 3.4vw, 52px) 24px;
    box-sizing: border-box;
    justify-content: center;
    flex-wrap: wrap;
  }
  .tratamentos-botoes .cta,
  .tratamentos-botoes .cta-light{
    width: auto;
    min-width: clamp(240px, 24vw, 320px);
    min-height: clamp(56px, 5vw, 66px);
    padding: 0 clamp(28px, 2.2vw, 40px);
    font-size: clamp(16px, 1.4vw, 18px);
    border-radius: 36px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
}

@media (min-width:1281px) and (max-width:1440px){
  .tratamentos{
    padding-top: clamp(82px, 8vw, 200px);
  }
  .tratamentos-pre{  font-size: clamp(32px, 2.0vw, 40px); }
  .tratamentos-desc{ font-size: clamp(20px, 1.3vw, 22px); }
  .tabs{
    display:flex;
    flex-wrap: wrap;
    gap: clamp(24px, 3.8vw, 64px);
    margin-top: clamp(48px, 5vw, 92px);
    margin-bottom: clamp(24px, 3.2vw, 48px);
    padding: 0 28px;
    box-sizing: border-box;
    justify-content: center;
  }
  .tab{
    font-size: clamp(20px, 1.6vw, 26px);
    line-height: 1.4;
    padding-bottom: 8px;
    text-align: center;
  }
  .tab-wrapper{ margin: 0; padding: 0 0 4px; }
  .tratamentos-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 1.8vw, 32px);
    padding: 0 28px;
    box-sizing: border-box;
  }
  .tratamento-box,
  .tratamento-box-light{
    padding: clamp(32px, 2.2vw, 48px) clamp(24px, 2vw, 36px);
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .tratamento-box img,
  .tratamento-box-light img{
    width: clamp(84px, 5vw, 96px);
    height: clamp(84px, 5vw, 96px);
    margin-top: 8px;
    margin-bottom: 12px;
  }
  .tratamento-box h3,
  .tratamento-box-light h3{
    font-size: clamp(22px, 1.6vw, 28px);
    width: 100%;
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box p,
  .tratamento-box-light p{
    font-size: clamp(16px, 1.2vw, 20px);
    width: 100%;
    max-width: 62ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamentos-botoes{
    display:flex;
    gap: clamp(20px, 2vw, 32px);
    padding: clamp(36px, 3.2vw, 56px) 28px;
    box-sizing: border-box;
    justify-content: center;
    flex-wrap: wrap;
  }
  .tratamentos-botoes .cta,
  .tratamentos-botoes .cta-light{
    width: auto;
    min-width: clamp(260px, 22vw, 340px);
    min-height: clamp(58px, 4.2vw, 70px);
    padding: 0 clamp(30px, 2vw, 44px);
    font-size: clamp(16px, 1.1vw, 18px);
    border-radius: 38px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
}

@media (min-width:1441px){
  :root{ --container-max:1440px; }
  .tratamentos{
    padding-top: 115px; 
  }
  .tratamentos .container{
    max-width: var(--container-max);
    margin: 0 auto;
    padding-inline: 0;
  }
  .tratamentos-pre{  font-size: 32px; }
  .tratamentos-desc{ font-size: 20px; }
  .tabs{
    display: flex;
    flex-wrap: wrap;
    gap: 56px;
    margin-top: 72px;
    margin-bottom: 46px;
    padding: 0 28px;
    box-sizing: border-box;
    justify-content: center;
  }
  .tab{
    font-size: 24px;
    line-height: 1.4;
    padding-bottom: 8px;
    text-align: center;
  }
  .tratamentos-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    max-width: 1440px;
    margin: 0 auto;
  }
  .tratamento-box,
  .tratamento-box-light{   
    height: 100%;
    width: 100%;
  }
  .tratamento-box img,
  .tratamento-box-light img{
    width: 84px;
    height: 84px;
    margin-top: 8px;
    margin-bottom: 12px;
  }
  .tratamento-box h3,
  .tratamento-box-light h3{
    font-size: 24px;
    width: 100%;
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamento-box p,
  .tratamento-box-light p{
    font-size: 18px;
    width: 100%;
    max-width: 62ch;
    margin-left: auto;
    margin-right: auto;
  }
  .tratamentos-botoes{
    display: flex;
    gap: 32px;
    padding: 56px 28px;
    box-sizing: border-box;
    justify-content: center;
    flex-wrap: wrap;
  }
  .tratamentos-botoes .cta,
  .tratamentos-botoes .cta-light{
    width: auto;
    min-width: 320px;
    min-height: 64px;
    padding: 0 36px;
    font-size: 18px;
    border-radius: 38px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
}

/* SECÇÃO MASSAGENS */
.massagens {
  position: relative;
  margin: 0 auto;
  background-color: #fff;
  z-index: auto;
  width: 100%;
  height: auto;
}

.massagens::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 682px;
  background-color: #FFEDEB;
  z-index: 0;
}

.massagens .container {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  padding-bottom: 60px;
}

.massagens-titulo {
  padding-top: 100px;
  padding-bottom: 48px;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.massagens-info {
  text-align: left;
  z-index: 3;
  position: relative;
}

.massagens-pre {
  font-size: 40px;
  font-weight: 700;
  color: #bc3b4a;
  line-height: 1.8;
}

.massagens-desc {
  color: #544f4f;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.6;
  margin-top: 10px;
}

.massagens-setas {
  display: flex;
  gap: 16px;
  align-items: center;
}

.massagens-prev,
.massagens-next {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: none;
  font-size: 24px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
  background-color: #fff;
  color: #bc3b4a;
  box-shadow: 0 3px 12px rgba(0,0,0,0.12);
}

.massagens-prev:hover {
  background-color: #bc3b4a;
  color: #fff;
}

.massagens-next:hover {
  background-color: #bc3b4a;
  color: #fff;
}

.massagens-slider-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: 623px;
  margin: 0 auto;
  box-shadow: 0 4px 18px rgba(0,0,0,0.12);
  border-radius: 24px;
}

.massagens-slider {
  display: flex;
  transition: transform 0.5s ease-in-out;
  gap: 40px;
}

.massagem-slide {
  display:flex;
  background:#fff;
  overflow:hidden;
}

.massagem-img {
  flex:0 0 48%;
  position:relative;
}

.massagem-img img {
  display:block;
  height:623px;
  object-fit:cover;  
}

.massagem-conteudo {
  position: relative;
  width: 661px;
  height: 623px;
  background-image: url("../Imagens/mi.png");
  background-repeat: no-repeat;
  background-position: 53% 40%;
  background-size: 350%; 
  display: flex;
  flex: 0 0 50%;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

.massagem-info {
  width: 484px;
  height: 332px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 66px;
  position: relative;
  z-index: 1; 
}

.massagem-conteudo h3,
.massagem-conteudo p,
.massagem-botoes {
  position: relative;
  z-index: 1;
}

.massagem-conteudo::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 0;
}

.massagem-conteudo h3 {
  font-size: 28px;
  color: #bc3b4a;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 20px;
}

.massagem-conteudo p {
  color: #544f4f;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  padding-bottom: 60px;
  width: 480px;
}

.massagem-botoes {
  display: flex;
  gap: 20px;
}

.massagens .cta-dark,
.massagens .cta-light {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 40px;
  width: 160px;
  height: 66px;
  font-size: 18px;
  line-height: 1.5;
  text-decoration: none;
  text-align: center;
}

.massagens .cta-dark {
  background-color: #bc3b4a;
  color: #fff;
  font-weight: 600;
}

.massagens .cta-light {
  background-color: #DBA5AB;
  color: #fff;
  font-weight: 400;
}

.massagens .cta-dark:hover,
.massagens .cta-light:hover {
  background-color: #222;
  color: #fff;
}

.massagens .container,
.massagens-titulo,
.massagens-info {
  z-index: auto;
}

@media (max-width:389px){
  .massagens{ 
    --slide-gap: clamp(12px, 4vw, 18px);
    --title-pt: clamp(48px, 14vw, 80px);
    --title-pb: clamp(8px, 3.4vw, 16px);
    --title-gap: clamp(8px, 3.6vw, 16px);
    --title-to-slide-gap: clamp(12px, 5vw, 24px);   
    --pre-fs:  clamp(22px, 7.2vw, 26px);
    --desc-fs: clamp(14px, 4.2vw, 16px);
    --arrow-size: clamp(40px, 11vw, 48px);
    --arrow-fs:   clamp(16px, 4.6vw, 18px);
  }
  .massagens-titulo{
    padding-top: var(--title-pt);
    padding-bottom: var(--title-pb);
    margin-bottom: var(--title-to-slide-gap);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--title-gap);
  }
  .massagens-info{ text-align: center; }
  .massagens-pre{ font-size: var(--pre-fs); line-height: 1.3; font-weight: 700; color:#bc3b4a; }
  .massagens-desc{ font-size: var(--desc-fs); line-height: 1.55; color:#544f4f; margin-top: 10px; }
  .massagens-setas{ display: flex; gap: 12px; align-items: center; }
  .massagens-prev,
  .massagens-next{
    width: var(--arrow-size);
    height: var(--arrow-size);
    font-size: var(--arrow-fs);
    border-radius: 50%;
    border: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  .massagens-slider-wrapper{
    width:100%; height:auto; border-radius:20px;
    box-shadow:0 3px 14px rgba(0,0,0,.12); overflow:hidden;
  }
  .massagens-slider{ width:100%; height: auto; gap:0; align-items:stretch; }
  .massagem-slide{
    flex:0 0 100%; width:100%; height: auto;
    display:flex; flex-direction:column;
    gap: var(--slide-gap);
    background:#fff; border-radius:16px; overflow:hidden;
  }
  .massagem-img{ width:100%; height:auto; position:relative; }
  .massagem-img img{
    width:100%; height:auto; display:block;
    object-fit:contain; object-position:center; background:#fff;
  }
  .massagem-conteudo{
    position:relative; width:100%; height:auto; overflow:hidden;
    padding: 0 clamp(16px, 5vw, 20px) clamp(18px, 5.6vw, 24px);
    background:transparent;
  }
  .massagem-conteudo::before{
    content:""; position:absolute; inset:0;
    background:url("../Imagens/mi.png") center / cover no-repeat;
    z-index:0; pointer-events:none; opacity:1;
  }
  .massagem-info{
    position:relative; z-index:1;
    width:100%; max-width:100%; padding:0;
    display:flex; flex-direction:column; align-items:center; text-align:center;
    gap: clamp(8px, 3.4vw, 12px);
  }
  .massagem-conteudo h3{
    margin:0; padding:0;
    font-size: clamp(18px, 5.6vw, 22px); color:#bc3b4a; line-height:1.35;
  }
  .massagem-conteudo p{
    margin:0;
    font-size: clamp(12px, 4.2vw, 16px); line-height:1.55;
    width:100%; max-width:65ch; color:#544f4f;
  }

  .massagem-botoes{
    position:relative; z-index:1;
    width:100%; display:grid; grid-template-columns:1fr;
    gap: clamp(12px, 3.8vw, 16px);
  }
  .massagens .cta-dark, .massagens .cta-light{
    width:100%; min-height: clamp(48px, 12vw, 56px);
    height:auto; padding:0 clamp(16px, 5vw, 20px);
    font-size: clamp(14px, 4.2vw, 16px); border-radius:28px;
  }
}

@media (min-width:390px) and (max-width:767px){
  .massagens{
    --slide-gap: clamp(12px, 2.6vw, 20px);
    --title-pt: clamp(56px, 12vw, 96px);
    --title-pb: clamp(12px, 3vw, 20px);
    --title-gap: clamp(12px, 3vw, 18px);
    --title-to-slide-gap: clamp(14px, 4.2vw, 28px);
    --pre-fs:  clamp(24px, 5.8vw, 32px);
    --desc-fs: clamp(15px, 3.6vw, 18px);
    --arrow-size: clamp(44px, 7.8vw, 56px);
    --arrow-fs:   clamp(18px, 3.8vw, 22px);
  }
  .massagens .container{
    max-width:100%;
    padding-bottom: clamp(40px, 8vw, 64px);
    box-sizing: border-box;
  }
  .massagens-titulo{
    padding-top: var(--title-pt);
    padding-bottom: var(--title-pb);
    margin-bottom: var(--title-to-slide-gap);
    display:flex; flex-wrap:wrap;
    justify-content:center; align-items:center; gap: var(--title-gap);
  }
  .massagens-info{ width:100%; text-align:left; }
  .massagens-pre{ font-size: var(--pre-fs); }
  .massagens-desc{ font-size: var(--desc-fs); margin-top:10px; }
  .massagens-setas{
    width:100%;
    display:flex; gap:14px; align-items:center;
    justify-content:flex-start;                
  }
  .massagens-prev, .massagens-next{
    width: var(--arrow-size); height: var(--arrow-size); font-size: var(--arrow-fs);
    border-radius:50%; border:0; display:flex; justify-content:center; align-items:center;
    background:#fff; color:#bc3b4a; box-shadow:0 3px 12px rgba(0,0,0,.12); cursor:pointer;
  }
  .massagens-slider-wrapper{
    width:100%; height:auto; border-radius:20px;
    box-shadow:0 3px 14px rgba(0,0,0,.12); overflow:hidden;
  }
  .massagens-slider{ width:100%; height:auto; gap:0; align-items: center; }
  .massagem-slide{
    flex:0 0 100%; width:100%;
    display:flex; flex-direction:column;
    gap: var(--slide-gap);
    background:#fff; border-radius:16px; overflow:hidden;
  }
  .massagem-img{ width:100%; position:relative; }
  .massagem-img img{
    width:100%;
    max-height: clamp(420px, 48vw, 640px);
    display:block; object-position:center; background:#fff;
  }
  .massagem-conteudo{
    position:relative; width:100%; overflow:hidden;
    padding: 0 clamp(18px, 5vw, 24px) clamp(20px, 6vw, 28px);
    background:transparent;
  }
  .massagem-conteudo::before{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background: url("../Imagens/mi.png") center / cover no-repeat;
    opacity:1;
  }
  .massagem-info{
    position:relative; z-index:1; width:100%; max-width:100%; padding:0;
    display:flex; flex-direction:column; align-items:flex-start; text-align:left;
  }
  .massagem-conteudo h3{
    margin:0; font-size: clamp(18px, 4vw, 24px);
  }
  .massagem-conteudo p{
    margin:0; font-size: clamp(12px, 3vw, 16px); line-height:1.6;
    width:100%; max-width:65ch; color:#544f4f;
  }
  .massagem-botoes{
    position:relative; z-index:1; width:100%;
    display:grid; grid-template-columns:1fr; gap: clamp(12px, 3.6vw, 18px);
  }
  .massagens .cta-dark, .massagens .cta-light{
    width:100%; min-height: clamp(50px, 10.5vw, 60px);
    height:auto; padding:0 clamp(18px, 5vw, 22px);
    font-size: clamp(14px, 3.8vw, 16px); border-radius:28px;
  }
}

@media (min-width: 768px) and (max-width: 1024px){
  .massagens-slider-wrapper{
    height: 623px;
    align-items: stretch;          
  }
  .massagens-slider{
    gap: 0;
    height: 100%;
  }
  .massagem-slide{
    display: grid;
    grid-template-columns: 48% 52%;
    grid-template-rows: 100%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }
  .massagem-img{ grid-column: 1; min-width: 0; height: 100%; }
  .massagem-img img{
    width: 100%;
    height: 100%;     
    object-fit: cover;
    display: block;
  }
  .massagem-conteudo{
    grid-column: 2;
    width: 100% !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    box-sizing: border-box;
    background-size: 350%;
    background-position: 53% 40%;
    background-repeat: no-repeat;
  }
  .massagem-info{
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;      
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: clamp(28px, 5vw, 66px);
    padding-right: clamp(18px, 4vw, 40px);
    box-sizing: border-box;
  }
  .massagem-conteudo h3{
    font-size: clamp(24px, 2.4vw, 26px);
    line-height: 1.4;
    margin: 0 0 14px;
  }
  .massagem-conteudo p{
    width: auto;
    max-width: 48ch;
    font-size: clamp(16px, 1.9vw, 18px);
    line-height: 1.55;
    margin: 0 0 32px;
  }
  .massagem-botoes{ gap: clamp(12px, 2vw, 20px); }
  .massagens .cta-dark,
  .massagens .cta-light{
    width: clamp(150px, 16vw, 160px);
    height: clamp(54px, 6vw, 66px);
    font-size: clamp(16px, 1.9vw, 18px);
    border-radius: 40px;
  }
}

@media (min-width: 1025px) and (max-width: 1279px){
  .massagens-slider-wrapper{
    height: 623px;
    align-items: stretch;
  }
  .massagens-slider{
    gap: 0;           
    height: 100%;
  }
  .massagem-slide{
    display: grid;
    grid-template-columns: 48% 52%; 
    grid-template-rows: 100%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }
  .massagem-img{
    grid-column: 1;
    min-width: 0;
    height: 100%;
  }
  .massagem-img img{
    width: 100%;
    height: 100%; 
    object-fit: cover;
    display: block;
  }
  .massagem-conteudo{
    grid-column: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    box-sizing: border-box;
    background-size: 350%;
    background-position: 53% 40%;
    background-repeat: no-repeat;
  }
  .massagem-info{
    width: 100%;
    max-width: none;
    height: 100%;                    
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: clamp(36px, 4.8vw, 66px);
    padding-right: clamp(22px, 3.6vw, 40px);
    box-sizing: border-box;
  }
  .massagem-conteudo h3{
    font-size: clamp(26px, 2.0vw, 28px);
    line-height: 1.45;
    margin: 0 0 16px;
  }
  .massagem-conteudo p{
    width: auto;
    max-width: 48ch;
    font-size: clamp(17px, 1.6vw, 18px);
    line-height: 1.55;
    margin: 0 0 40px;
  }
  .massagem-botoes{ gap: clamp(14px, 1.8vw, 20px); }
  .massagens .cta-dark,
  .massagens .cta-light{
    width: clamp(156px, 14vw, 160px);
    height: clamp(56px, 5.4vw, 66px);
    font-size: clamp(16px, 1.5vw, 18px);
    border-radius: 40px;
  }
}

@media (min-width:1281px) and (max-width:1440px){
  :root{ --d-step: calc((100vw - 1281px) / (1440 - 1281)); }
  .massagens .container{
    max-width: 1440px;
    margin: 0 auto;
  }
  .massagens::before{
    height: clamp(660px, calc(660px + (682 - 660) * var(--d-step)), 682px);
  }
  .massagens-titulo{
    padding-top: clamp(92px, calc(92px + (104 - 92) * var(--d-step)), 104px);
    padding-bottom: clamp(40px, calc(40px + (48 - 40) * var(--d-step)), 48px);
  }
  .massagens-pre{  font-size: clamp(38px, calc(38px + (40 - 38) * var(--d-step)), 40px); }
  .massagens-desc{ font-size: clamp(19px, calc(19px + (20 - 19) * var(--d-step)), 20px); }

  .massagens-slider-wrapper{
    height: clamp(600px, calc(600px + (623 - 600) * var(--d-step)), 623px);
    align-items: stretch;
  }
  .massagens-slider{
    gap: 0;       
    height: 100%;
  }
  .massagem-slide{
    display: grid;
    grid-template-columns: 48% 52%;
    grid-template-rows: 100%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }
  .massagem-img{
    grid-column: 1;
    min-width: 0;
    height: 100%;
  }
  .massagem-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .massagem-conteudo{
    grid-column: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    box-sizing: border-box;
    background-size: 350%;
    background-position: 53% 40%;
    background-repeat: no-repeat;
  }

  .massagem-info{
    width: 100%;
    max-width: none;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left:  clamp(44px, calc(44px + (66 - 44) * var(--d-step)), 66px);
    padding-right: clamp(26px, calc(26px + (40 - 26) * var(--d-step)), 40px);
    box-sizing: border-box;
  }

  .massagem-conteudo h3{
    font-size: clamp(27px, calc(27px + (28 - 27) * var(--d-step)), 28px);
    line-height: 1.45;
    margin: 0 0 clamp(16px, calc(16px + (20 - 16) * var(--d-step)), 20px);
  }
  .massagem-conteudo p{
    width: auto;
    max-width: 48ch;
    font-size: 18px;
    line-height: 1.55;
    margin: 0 0 clamp(40px, calc(40px + (60 - 40) * var(--d-step)), 60px);
  }

  .massagens .cta-dark,
  .massagens .cta-light{
    width:  clamp(156px, calc(156px + (160 - 156) * var(--d-step)), 160px);
    height: clamp(58px,  calc(58px  + (66  - 58)  * var(--d-step)), 66px);
    font-size: clamp(17px, calc(17px + (18  - 17) * var(--d-step)), 18px);
    border-radius: 40px;
  }

  .massagens-prev,
  .massagens-next{
    width:  clamp(60px, calc(60px + (64 - 60) * var(--d-step)), 64px);
    height: clamp(60px, calc(60px + (64 - 60) * var(--d-step)), 64px);
  }
}

@media (min-width:1441px){
  .massagens .container{
    max-width: 1440px;
    margin: 0 auto;
  }
  .massagens::before{ height: 682px; }
  .massagens-slider-wrapper{
    height: 623px;
    align-items: stretch;
  }
  .massagens-slider{
    gap: 0;
    height: 100%;
  }
  .massagem-slide{
    display: grid;
    grid-template-columns: 48% 52%;
    grid-template-rows: 100%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .massagem-img{
    height: 100%;
    min-width: 0;
  }
  .massagem-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .massagem-conteudo{
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    box-sizing: border-box;
    background-size: 350%;
    background-position: 53% 40%;
    background-repeat: no-repeat;
  }
  .massagem-info{
    width: 100%;
    max-width: none;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 66px;
    padding-right: 40px;
    box-sizing: border-box;
  }
  .massagens-prev,
  .massagens-next{
    width: 64px;
    height: 64px;
  }
}

/* SECÇÃO PRODUTOS */
:root{
  --container-max: 1440px;  
  --slider-gutter: 64px;   
  --arrow-gap: 10px;        
}

.produtos {
  background-color: #faebee;
  padding: 120px 0;
  overflow: hidden;
  position: relative;
  z-index: auto;
}

.produtos .container{
  max-width: var(--container-max);
  margin: 0 auto;
  padding-inline: 32px;   
  position: relative;
}

.produtos-header {
  text-align: left;
  display: flex;
  justify-content: space-between;
  margin-bottom: 74px;
}

.produtos-header h2 {
  font-size: 40px;
  color: #544F4F;
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: var(--ls-01);
}

.produtos-header h2 span {
  color: #DBA5AB;
}

.produtos-header p {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.6;
  color: #544f45;
  margin-top: 10px;
  margin-right: 130px;
}

.produtos-botoes {
  display: flex;
  align-items: end;
  gap: 16px;
}

.produtos .cta,
.produtos .cta-light {
  width: 192px;
  height: 66px;
  border-radius: 40px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center; 
  transition: 0.3s ease;
}

.produtos .cta {
  background-color: #DBA5AB;
  color: #fff;
}

.produtos .cta:hover {
  background-color: #222;
  color: #fff;
}

.produtos .cta-light {
  background-color: #fff;
  color: #BC3B4A;
}

.produtos .cta-light:hover {
  background-color: #222;
  color: #fff;
}

.produtos .cta .arrow-icon {
  stroke: #fff;
  width: 20px;
  height: 20px;
  margin-left: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease;
}

.produtos-slider-wrapper {
  position: relative;    
  width: 100%;
  overflow: hidden;
  padding-inline: var(--slider-gutter); 
}

.produtos-slider-wrapper .prev-produtos,
.produtos-slider-wrapper .next-produtos{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none; border: none; cursor: pointer; z-index: 10;
}

.produtos-slider-wrapper .prev-produtos { left: var(--arrow-gap); }
.produtos-slider-wrapper .next-produtos { right: var(--arrow-gap); }

.produtos-slider-wrapper .prev-produtos svg,
.produtos-slider-wrapper .next-produtos svg{
  width: 46px; height: 46px; stroke: #544F4F;
}
.produtos-slider-wrapper .prev-produtos:hover svg,
.produtos-slider-wrapper .next-produtos:hover svg{ stroke:#DBA5AB; }

.produtos-slider {
  display: flex;
  gap: 20px;
  will-change: transform;
}

.produto-card {
  position: relative;
  flex: 0 0 auto;
  width: 410px;
  height: 568px;
  border-radius: 20px;
  overflow: hidden;
}

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

.produto-card h3,
.produto-card p {
  position: absolute;
  left: 24px;
  color: #fff;
  z-index: 1;
}

.produto-card h3 {
  font-size: 28px;
  font-weight: 800;
  bottom: 74px;
}

.produto-card p {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: var(--ls-10);
  text-transform: uppercase;
  bottom: 46px;
  color: #FFEDEB;
}

.prev-produtos,
.next-produtos {
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
}

.prev-produtos {
  left: -16px;
}

.next-produtos {
  right: -16px;
}

.prev-produtos svg,
.next-produtos svg {
  width: 46px;
  height: 46px;
  stroke: #544F4F;
}

.prev-produtos:hover svg,
.next-produtos:hover svg {
  stroke: #DBA5AB;
}

:root{
  --container-max: 1440px; 
  --slider-gutter: 64px;    
  --arrow-gap: 10px;       
}
.produtos .container{
  max-width: var(--container-max);
  margin: 0 auto;
  padding-inline: 32px;     
  position: relative;
}
.produtos-slider-wrapper{
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-inline: var(--slider-gutter);
}
.produtos-slider-wrapper .prev-produtos,
.produtos-slider-wrapper .next-produtos{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none; border: none; cursor: pointer; z-index: 10;
}
.produtos-slider-wrapper .prev-produtos{
  left: max(
    10px,
    calc((100vw - var(--container-max)) / 2 + var(--slider-gutter) - var(--arrow-gap))
  );
}
.produtos-slider-wrapper .next-produtos{
  right: max(
    10px,
    calc((100vw - var(--container-max)) / 2 + var(--slider-gutter) - var(--arrow-gap))
  );
}
.produtos-slider-wrapper .prev-produtos svg,
.produtos-slider-wrapper .next-produtos svg{
  width: 46px; height: 46px; stroke: #544F4F;
}
.produtos-slider-wrapper .prev-produtos:hover svg,
.produtos-slider-wrapper .next-produtos:hover svg{ stroke:#DBA5AB; }

@media (max-width: 389px) {
  :root { --m-step: calc((100vw - 320px) / (389 - 320)); }
  .produtos {
    padding: clamp(72px, calc(72px + (96 - 72) * var(--m-step)), 96px) 0;
  }
  .produtos-header {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: clamp(28px, calc(28px + (40 - 28) * var(--m-step)), 40px);
  }
  .produtos-header h2 {
    font-size: clamp(26px, calc(26px + (32 - 26) * var(--m-step)), 32px);
    line-height: 1.4;
  }
  .produtos-header p {
    font-size: clamp(14px, calc(14px + (16 - 14) * var(--m-step)), 16px);
    line-height: 1.6;
    margin: 6px 0 0 0;
    color: #544f45;
    max-width: 60ch;
  }
  .produtos-botoes {
    width: 100%;
    padding-top: 18px;
    padding-bottom: 22px;
    gap: 10px;
  }
  .produtos .cta,
  .produtos .cta-light {
    width: 100%;
    height: clamp(48px, calc(48px + (56 - 48) * var(--m-step)), 56px);
    border-radius: 36px;
    font-size: clamp(15px, calc(15px + (17 - 15) * var(--m-step)), 17px);
    font-weight: 600;
  }
  .produtos .cta .arrow-icon {
    width: clamp(18px, calc(18px + (20 - 18) * var(--m-step)), 20px);
    height: clamp(18px, calc(18px + (20 - 18) * var(--m-step)), 20px);
    margin-left: 6px;
  }
  .produtos-slider-wrapper {
    width: 100%;
    overflow: hidden;         
    padding: 0;               
    position: relative;
  }
  .produtos-slider {
    display: flex;
    gap: clamp(10px, calc(10px + (14 - 10) * var(--m-step)), 14px);
    padding: 0 16px;         
    will-change: transform;
    touch-action: pan-y;     
  }
  .produto-card {
    flex: 0 0 100%;
    width: 100%;
    aspect-ratio: 7 / 10;
    height: auto;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
  }
  .produto-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .produto-card h3,
  .produto-card p {
    position: absolute;
    left: clamp(14px, calc(14px + (18 - 14) * var(--m-step)), 18px);
    color: #fff;
    z-index: 1;
  }
  .produto-card h3 {
    font-size: clamp(20px, calc(20px + (24 - 20) * var(--m-step)), 24px);
    bottom: clamp(46px, calc(46px + (58 - 46) * var(--m-step)), 58px);
    font-weight: 800;
  }
  .produto-card p {
    font-size: clamp(12px, calc(12px + (14 - 12) * var(--m-step)), 14px);
    line-height: 1.5;
    bottom: clamp(24px, calc(24px + (30 - 24) * var(--m-step)), 30px);
    letter-spacing: var(--ls-10);
    text-transform: uppercase;
    color: #FFEDEB;
    font-weight: 700;
  }
  .prev-produtos,
  .next-produtos {
    display: none;
  }
}

@media (min-width: 390px) and (max-width: 767px) {
  :root { --s-step: calc((100vw - 390px) / (767 - 390)); }

  .produtos {
    padding: clamp(80px, calc(80px + (108 - 80) * var(--s-step)), 108px) 0;
    width: 100%;
  }
  .produtos-header {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(12px, calc(12px + (16 - 12) * var(--s-step)), 16px);
    margin-bottom: clamp(32px, calc(32px + (48 - 32) * var(--s-step)), 48px);
  }
  .produtos-header h2 {
    font-size: clamp(30px, calc(30px + (36 - 30) * var(--s-step)), 36px);
    line-height: 1.35;
  }
  .produtos-header p {
    font-size: clamp(15px, calc(15px + (18 - 15) * var(--s-step)), 18px);
    line-height: 1.6;
    margin: 6px 0 0 0;
    color: #544f45;
    max-width: 60ch;
  }
  .produtos-botoes {
    width: 100%;
    padding-top: clamp(14px, calc(14px + (20 - 14) * var(--s-step)), 20px);
    padding-bottom: clamp(16px, calc(16px + (22 - 16) * var(--s-step)), 22px);
    gap: clamp(12px, calc(12px + (16 - 12) * var(--s-step)), 16px);
    display: flex;
    flex-wrap: wrap;
  }
  .produtos .cta,
  .produtos .cta-light {
    width: 100%;
    height: clamp(52px, calc(52px + (60 - 52) * var(--s-step)), 60px);
    border-radius: clamp(36px, calc(36px + (40 - 36) * var(--s-step)), 40px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
    font-weight: 600;
  }
  .produtos .cta .arrow-icon {
    width: clamp(18px, calc(18px + (22 - 18) * var(--s-step)), 22px);
    height: clamp(18px, calc(18px + (22 - 18) * var(--s-step)), 22px);
    margin-left: 6px;
  }
  .produtos-slider-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 0;
    position: relative;
  }
  .produtos-slider {
    display: flex;
    gap: clamp(12px, calc(12px + (18 - 12) * var(--s-step)), 18px);
    padding: 0 20px;
    will-change: transform;
    touch-action: pan-y; 
  }
  .produto-card {
    flex: 0 0 80%;
    width: 100%;
    aspect-ratio: 3 / 4;  
    height: auto;
    border-radius: clamp(16px, calc(16px + (20 - 16) * var(--s-step)), 20px);
    overflow: hidden;
    position: relative;
  }
  .produto-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .produto-card h3,
  .produto-card p {
    position: absolute;
    left: clamp(16px, calc(16px + (22 - 16) * var(--s-step)), 22px);
    color: #fff;
    z-index: 1;
  }
  .produto-card h3 {
    font-size: clamp(22px, calc(22px + (26 - 22) * var(--s-step)), 26px);
    bottom: clamp(54px, calc(54px + (68 - 54) * var(--s-step)), 68px);
    font-weight: 800;
  }
  .produto-card p {
    font-size: clamp(13px, calc(13px + (16 - 13) * var(--s-step)), 16px);
    line-height: 1.55;
    bottom: clamp(32px, calc(32px + (40 - 32) * var(--s-step)), 40px);
    letter-spacing: var(--ls-10);
    text-transform: uppercase;
    color: #FFEDEB;
    font-weight: 700;
  }
  .prev-produtos,
  .next-produtos {
    display: none;
  }
}

@media (min-width: 390px) and (max-width: 767px) {
  .produto-card {
    flex: 0 0 clamp(62%, 78vw, 510px);
    max-width: 520px;  
    width: auto;       
    aspect-ratio: 3 / 4;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :root { --t-step: calc((100vw - 768px) / (1024 - 768)); }
  .produtos {
    padding: clamp(96px, calc(96px + (120 - 96) * var(--t-step)), 120px) 0;
    background-color: #faebee;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: auto;
  }
  .produtos-header {
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: clamp(12px, calc(12px + (20 - 12) * var(--t-step)), 20px);
    margin-bottom: clamp(48px, calc(48px + (74 - 48) * var(--t-step)), 74px);
    width: 100%;
  }
  .produtos-header h2 {
    font-size: clamp(32px, calc(32px + (42 - 32) * var(--t-step)), 42px);
    line-height: clamp(1.4, calc(1.4 + (1.6 - 1.4) * var(--t-step)), 1.6);
    color: #544F4F;
    font-weight: 800;
    letter-spacing: var(--ls-01);
  }
  .produtos-header h2 span { color: #DBA5AB; }
  .produtos-header p {
    font-size: clamp(16px, calc(16px + (21 - 16) * var(--t-step)), 21px);
    line-height: 1.6;
    font-weight: 300;
    color: #544f45;
    margin-top: 8px;
    margin-right: clamp(16px, calc(16px + (72 - 16) * var(--t-step)), 72px);
    max-width: 72ch;
  }
  .produtos-botoes {
    display: flex;
    align-items: flex-end;
    gap: clamp(12px, calc(12px + (18 - 12) * var(--t-step)), 18px);
  }
  .produtos .cta,
  .produtos .cta-light {
    width: clamp(168px, calc(168px + (196 - 168) * var(--t-step)), 196px);
    height: clamp(56px, calc(56px + (68 - 56) * var(--t-step)), 68px);
    border-radius: 40px;
    text-decoration: none;
    font-size: clamp(15px, calc(15px + (19 - 15) * var(--t-step)), 19px);
    font-weight: 500;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s ease;
  }
  .produtos .cta { background-color: #DBA5AB; color: #fff; }
  .produtos .cta:hover { background-color: #222; color: #fff; }
  .produtos .cta-light { background-color: #fff; color: #BC3B4A; }
  .produtos .cta-light:hover { background-color: #222; color: #fff; }
  .produtos .cta .arrow-icon {
    stroke: #fff;
    width: clamp(18px, calc(18px + (20 - 18) * var(--t-step)), 20px);
    height: clamp(18px, calc(18px + (20 - 18) * var(--t-step)), 20px);
    margin-left: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
  }
  .produtos-slider-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;               
  }
  .produtos-slider {
    display: flex;
    gap: clamp(16px, calc(16px + (20 - 16) * var(--t-step)), 20px);
    will-change: transform;
  }
  .produto-card {
    position: relative;
    flex: 0 0 auto;
    width: clamp(320px, calc(320px + (388 - 320) * var(--t-step)), 388px);
    height: clamp(480px, calc(480px + (548 - 480) * var(--t-step)), 548px);
    border-radius: clamp(18px, calc(18px + (20 - 18) * var(--t-step)), 20px);
    overflow: hidden;
  }
  .produto-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .produto-card h3,
  .produto-card p {
    position: absolute;
    left: clamp(18px, calc(18px + (24 - 18) * var(--t-step)), 24px);
    color: #fff;
    z-index: 1;
  }
  .produto-card h3 {
    font-size: clamp(22px, calc(22px + (30 - 22) * var(--t-step)), 30px);
    line-height: clamp(1.35, calc(1.35 + (1.5 - 1.35) * var(--t-step)), 1.5);
    font-weight: 800;
    bottom: clamp(56px, calc(56px + (68 - 56) * var(--t-step)), 68px);
  }
  .produto-card p {
    font-size: clamp(13px, calc(13px + (19 - 13) * var(--t-step)), 19px);
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: var(--ls-10);
    text-transform: uppercase;
    bottom: clamp(34px, calc(34px + (46 - 34) * var(--t-step)), 46px);
    color: #FFEDEB;
  }
  .produtos-slider-wrapper .prev-produtos,
  .produtos-slider-wrapper .next-produtos {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
  }
  .produtos-slider-wrapper .prev-produtos { left: 10px; }
  .produtos-slider-wrapper .next-produtos { right: 10px; }

  .produtos-slider-wrapper .prev-produtos svg,
  .produtos-slider-wrapper .next-produtos svg {
    width: clamp(40px, calc(40px + (46 - 40) * var(--t-step)), 46px);
    height: clamp(40px, calc(40px + (46 - 40) * var(--t-step)), 46px);
    stroke: #544F4F;
  }
  .produtos-slider-wrapper .prev-produtos:hover svg,
  .produtos-slider-wrapper .next-produtos:hover svg {
    stroke: #DBA5AB;
  }
}

@media (min-width: 1281px) and (max-width: 1440px) {
  :root { --d-step: calc((100vw - 1281px) / (1440 - 1281)); }
  .produtos {
    padding: clamp(110px, calc(110px + (140 - 110) * var(--d-step)), 140px) 0;
    background-color: #faebee;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: auto;
  }
  .produtos-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: clamp(16px, calc(16px + (24 - 16) * var(--d-step)), 24px);
    margin-bottom: clamp(60px, calc(60px + (80 - 60) * var(--d-step)), 80px);
    width: 100%;
  }
  .produtos-header h2 {
    font-size: clamp(38px, calc(38px + (46 - 38) * var(--d-step)), 46px);
    line-height: clamp(1.5, calc(1.5 + (1.7 - 1.5) * var(--d-step)), 1.7);
    color: #544F4F;
    font-weight: 800;
    letter-spacing: var(--ls-01);
  }
  .produtos-header h2 span { color: #DBA5AB; }
  .produtos-header p {
    font-size: clamp(19px, calc(19px + (22 - 19) * var(--d-step)), 22px);
    line-height: 1.6;
    font-weight: 300;
    color: #544f45;
    margin-top: 10px;
    margin-right: clamp(90px, calc(90px + (130 - 90) * var(--d-step)), 130px);
    max-width: 72ch;
  }
  .produtos-botoes {
    display: flex;
    align-items: flex-end;
    gap: clamp(14px, calc(14px + (18 - 14) * var(--d-step)), 18px);
  }
  .produtos .cta,
  .produtos .cta-light {
    width: clamp(192px, calc(192px + (212 - 192) * var(--d-step)), 212px);
    height: clamp(66px, calc(66px + (72 - 66) * var(--d-step)), 72px);
    border-radius: 40px;
    font-size: clamp(17px, calc(17px + (20 - 17) * var(--d-step)), 20px);
    font-weight: 500;
    line-height: 1;
    display: flex; justify-content: center; align-items: center;
    text-decoration: none; transition: 0.3s ease;
  }
  .produtos .cta { background:#DBA5AB; color:#fff; }
  .produtos .cta:hover { background:#222; color:#fff; }
  .produtos .cta-light { background:#fff; color:#BC3B4A; }
  .produtos .cta-light:hover { background:#222; color:#fff; }
  .produtos .cta .arrow-icon {
    stroke:#fff;
    width: clamp(20px, calc(20px + (22 - 20) * var(--d-step)), 22px);
    height: clamp(20px, calc(20px + (22 - 20) * var(--d-step)), 22px);
    margin-left: 6px; transition: transform .3s ease;
  }
  .produtos-slider-wrapper {
    position: relative;  
    width: 100%;
    overflow: hidden;
    padding-inline: clamp(48px, calc(48px + (64 - 48) * var(--d-step)), 64px);
  }
  .produtos-slider {
    display: flex;
    gap: clamp(20px, calc(20px + (24 - 20) * var(--d-step)), 24px);
    will-change: transform;
  }
  .produto-card {
    position: relative;
    flex: 0 0 auto;
    width: clamp(380px, calc(380px + (430 - 380) * var(--d-step)), 430px);
    height: clamp(540px, calc(540px + (620 - 540) * var(--d-step)), 620px);
    border-radius: clamp(20px, calc(20px + (22 - 20) * var(--d-step)), 22px);
    overflow: hidden;
  }
  .produto-card img { width:100%; height:100%; object-fit:cover; display:block; }
  .produto-card h3,
  .produto-card p {
    position: absolute;
    left: clamp(24px, calc(24px + (28 - 24) * var(--d-step)), 28px);
    color:#fff; z-index:1;
  }
  .produto-card h3 {
    font-size: clamp(26px, calc(26px + (32 - 26) * var(--d-step)), 32px);
    line-height: clamp(1.35, calc(1.35 + (1.5 - 1.35) * var(--d-step)), 1.5);
    font-weight:800;
    bottom: clamp(68px, calc(68px + (80 - 68) * var(--d-step)), 80px);
  }
  .produto-card p {
    font-size: clamp(17px, calc(17px + (20 - 17) * var(--d-step)), 20px);
    font-weight:700; line-height:1.55;
    letter-spacing: var(--ls-10); text-transform:uppercase;
    bottom: clamp(46px, calc(46px + (56 - 46) * var(--d-step)), 56px);
    color:#FFEDEB;
  }
  .produtos-slider-wrapper .prev-produtos,
  .produtos-slider-wrapper .next-produtos {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none; border: none; cursor: pointer; z-index: 10;
  }
  .produtos-slider-wrapper .prev-produtos { left: 10px; }
  .produtos-slider-wrapper .next-produtos { right: 10px; }
  .produtos-slider-wrapper .prev-produtos svg,
  .produtos-slider-wrapper .next-produtos svg {
    width: clamp(46px, calc(46px + (54 - 46) * var(--d-step)), 54px);
    height: clamp(46px, calc(46px + (54 - 46) * var(--d-step)), 54px);
    stroke: #544F4F;
  }
  .produtos-slider-wrapper .prev-produtos:hover svg,
  .produtos-slider-wrapper .next-produtos:hover svg { stroke: #DBA5AB; }
}

@media (min-width: 1441px) {
  .produtos .container{
    max-width: var(--container-max);
    margin: 0 auto;
    padding-inline: 32px;
    position: relative;
  }
  .produtos-slider-wrapper{
    position: relative;   
    width: 100%;
    overflow: hidden;
    padding-inline: var(--slider-gutter);
  }
  .produtos-header,
  .produtos-slider{
    width: 100%; 
  }
  .produtos-slider-wrapper .prev-produtos,
  .produtos-slider-wrapper .next-produtos{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none; border: none; cursor: pointer; z-index: 10;
  }
  .produtos-slider-wrapper .prev-produtos{
    left: max(
      10px,
      calc((100vw - var(--container-max)) / 2 + var(--slider-gutter) - var(--arrow-gap))
    );
  }
  .produtos-slider-wrapper .next-produtos{
    right: max(
      10px,
      calc((100vw - var(--container-max)) / 2 + var(--slider-gutter) - var(--arrow-gap))
    );
  }
  .produtos-slider-wrapper .prev-produtos svg,
  .produtos-slider-wrapper .next-produtos svg{
    width: 46px; height: 46px; stroke: #544F4F;
  }
  .produtos-slider-wrapper .prev-produtos:hover svg,
  .produtos-slider-wrapper .next-produtos:hover svg{ stroke: #DBA5AB; }
}

/* SECÇÃO TESTEMUNHOS */
.testemunhos {
  position: relative;
  padding: 96px 0 120px 0;
  background: url("../Imagens/testemunho.png") center/cover no-repeat;
  z-index: auto;
  margin: 0 auto;
  width: 100%;
  height: auto;
  color: #fff;
}

.testemunhos .container{
  max-width: 1440px;
  margin: 0 auto;
}

.testemunhos-topo {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 32px;
}

.testemunhos-topo h2 {
  font-size: 40px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: var(--ls-01);
  margin-bottom: 10px;
  margin-top: 30px;
}

.testemunhos-topo p {
  font-size: 20px;
  font-weight: 350;
  line-height: 1.2;
  width: 528px;
  margin-bottom: 32px;
}

.testemunhos-grid {
  flex: 0 0 100%;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 400px);
  grid-auto-rows: 500px;
  justify-content: center;
  gap: 20px;
  justify-content: center;                   
  align-content: start;
}

.testemunho-card {
  position: relative;
  display: flex;
  flex-direction: column;   
  justify-content: center;
  overflow: hidden;
  background: #fff;
  border-radius: 20px;
  color: #544f4f;
  width: 400px;
  height: 500px;
}

.testemunho-card .texto {
  flex: 1 1 auto;           
  padding: 56px 42px 0px 42px;
  min-height: 0;  
  font-size: 20px;
  line-height: 1.5;
  font-weight: 350;
}

.testemunho-card .texto span {
  color: #bc3b4a;
  font-weight: 500;
}

.testemunho-card .perfil {
  margin-top: auto;             
  width: 100%;                    
  padding: 0 42px 42px 42px;      
  display: flex;
  align-items: center;
  gap: 14px;
}

.testemunho-card .perfil img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 50%;
}

.testemunho-card .perfil h4 {
  font-size: 20px;
  font-weight: 700;
  color: #bc3b4a;
}

.testemunho .perfil span {
  display: block;
  margin-top: 2px;
  font-size: 18px;
  line-height: 1;
  color: #544F4F;
  font-weight: 300;
}

@media (max-width: 389px) {
  :root { --m-step: calc((100vw - 320px) / (389 - 320)); }

  .testemunhos {
    padding:
      clamp(64px, calc(64px + (88 - 64) * var(--m-step)), 88px)
      0
      clamp(80px, calc(80px + (100 - 80) * var(--m-step)), 100px);
  }
  .testemunhos .container { padding-inline: 16px; }
  .testemunhos-topo { 
    margin-bottom: clamp(16px, calc(16px + (24 - 16) * var(--m-step)), 24px);
    text-align: center;
  }
  .testemunhos-topo h2 {
    font-size: clamp(24px, calc(24px + (30 - 24) * var(--m-step)), 30px);
    line-height: 1.35;
    margin: clamp(12px, calc(12px + (20 - 12) * var(--m-step)), 20px) 0
            clamp(6px, calc(6px + (10 - 6) * var(--m-step)), 10px);
  }
  .testemunhos-topo p {
    font-size: clamp(14px, calc(14px + (16 - 14) * var(--m-step)), 16px);
    line-height: 1.6;
    width: auto;           
    max-width: 60ch;
    margin: 6px auto clamp(16px, calc(16px + (24 - 16) * var(--m-step)), 24px);
    font-weight: 300;
  }
  .testemunhos-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: clamp(12px, calc(12px + (16 - 12) * var(--m-step)), 16px);
  }
  .testemunho-card {
    width: 100%;
    height: auto;
    border-radius: 16px;
  }
  .testemunho-card .texto {
    padding:
      clamp(20px, calc(20px + (28 - 20) * var(--m-step)), 28px)
      clamp(16px, calc(16px + (22 - 16) * var(--m-step)), 22px)
      0
      clamp(16px, calc(16px + (22 - 16) * var(--m-step)), 22px);
    font-size: clamp(15px, calc(15px + (17 - 15) * var(--m-step)), 17px);
    line-height: 1.6;
  }
  .testemunho-card .texto span {
    font-size: clamp(18px, calc(18px + (22 - 18) * var(--m-step)), 22px);
    font-weight: 600;
  }
  .testemunho-card .perfil {
    padding:
      clamp(14px, calc(14px + (18 - 14) * var(--m-step)), 18px)
      clamp(16px, calc(16px + (22 - 16) * var(--m-step)), 22px)
      clamp(18px, calc(18px + (22 - 18) * var(--m-step)), 22px);
    gap: clamp(10px, calc(10px + (14 - 10) * var(--m-step)), 14px);
  }
  .testemunho-card .perfil img {
    width: clamp(56px, calc(56px + (64 - 56) * var(--m-step)), 64px);
    height: clamp(56px, calc(56px + (64 - 56) * var(--m-step)), 64px);
  }
  .testemunho-card .perfil h4 {
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--m-step)), 18px);
    line-height: 1.2;
  }
  .testemunho-card .perfil span {
    font-size: clamp(12px, calc(12px + (14 - 12) * var(--m-step)), 14px);
    line-height: 1.2;
  }
}

@media (min-width: 390px) and (max-width: 767px) {
  :root { --s-step: calc((100vw - 390px) / (767 - 390)); }
  .testemunhos {
    padding:
      clamp(72px, calc(72px + (96 - 72) * var(--s-step)), 96px)
      0
      clamp(92px, calc(92px + (112 - 92) * var(--s-step)), 112px);
  }
  .testemunhos .container { padding-inline: clamp(16px, calc(16px + (22 - 16) * var(--s-step)), 22px); }
  .testemunhos-topo {
    margin-bottom: clamp(20px, calc(20px + (28 - 20) * var(--s-step)), 28px);
    text-align: center;
  }
  .testemunhos-topo h2 {
    font-size: clamp(28px, calc(28px + (34 - 28) * var(--s-step)), 34px);
    line-height: 1.4;
    margin: clamp(14px, calc(14px + (22 - 14) * var(--s-step)), 22px) 0
            clamp(8px,  calc(8px  + (12 - 8)  * var(--s-step)), 12px);
  }
  .testemunhos-topo p {
    font-size: clamp(15px, calc(15px + (18 - 15) * var(--s-step)), 18px);
    line-height: 1.6;
    width: auto;               
    max-width: 65ch;
    margin: 6px auto clamp(18px, calc(18px + (26 - 18) * var(--s-step)), 26px);
    font-weight: 300;
  }
  .testemunhos-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: clamp(14px, calc(14px + (18 - 14) * var(--s-step)), 18px);
    width: 100%;
  }
  .testemunho-card {
    width: 100%;
    height: auto;
    border-radius: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
  }
  .testemunho-card .texto {
    padding:
      clamp(24px, calc(24px + (32 - 24) * var(--s-step)), 32px)
      clamp(18px, calc(18px + (26 - 18) * var(--s-step)), 26px)
      0
      clamp(18px, calc(18px + (26 - 18) * var(--s-step)), 26px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
    line-height: 1.6;
    font-weight: 350;
  }
  .testemunho-card .texto span {
    font-size: clamp(20px, calc(20px + (24 - 20) * var(--s-step)), 24px);
    font-weight: 600;
    color: #bc3b4a;
  }

  .testemunho-card .perfil {
    padding:
      clamp(16px, calc(16px + (20 - 16) * var(--s-step)), 20px)
      clamp(18px, calc(18px + (26 - 18) * var(--s-step)), 26px)
      clamp(20px, calc(20px + (26 - 20) * var(--s-step)), 26px);
    gap: clamp(12px, calc(12px + (16 - 12) * var(--s-step)), 16px);
  }
  .testemunho-card .perfil img {
    width: clamp(60px, calc(60px + (68 - 60) * var(--s-step)), 68px);
    height: clamp(60px, calc(60px + (68 - 60) * var(--s-step)), 68px);
  }
  .testemunho-card .perfil h4 {
    font-size: clamp(17px, calc(17px + (19 - 17) * var(--s-step)), 19px);
    line-height: 1.25;
    font-weight: 700;
    color: #bc3b4a;
  }
  .testemunho-card .perfil span {
    font-size: clamp(13px, calc(13px + (15 - 13) * var(--s-step)), 15px);
    line-height: 1.25;
    color: #544F4F;
    font-weight: 300;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :root { --t-step: calc((100vw - 768px) / (1024 - 768)); }
  .testemunhos {
    padding:
      clamp(88px, calc(88px + (100 - 88) * var(--t-step)), 100px)
      0
      clamp(112px, calc(112px + (120 - 112) * var(--t-step)), 120px);
  }
  .testemunhos-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px; 
  }
  .testemunho-card{
    width: 100%;
    height: 100%;
  }
  .testemunho-card .texto{
    padding:
      clamp(28px, calc(28px + (40 - 28) * var(--t-step)), 40px)
      clamp(20px, calc(20px + (28 - 20) * var(--t-step)), 28px)
      0
      clamp(20px, calc(20px + (28 - 20) * var(--t-step)), 28px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--t-step)), 18px);
    line-height: 1.6;
  }
  .testemunho-card .texto span{
    font-size: clamp(18px, calc(18px + (22 - 18) * var(--t-step)), 22px);
    font-weight: 600;
  }
  .testemunho-card .perfil{
    padding:
      0
      clamp(20px, calc(20px + (28 - 20) * var(--t-step)), 28px)
      clamp(24px, calc(24px + (32 - 24) * var(--t-step)), 32px);
    gap: clamp(10px, calc(10px + (16 - 10) * var(--t-step)), 16px);
  }
  .testemunho-card .perfil img{
    width: clamp(60px, calc(60px + (70 - 60) * var(--t-step)), 70px);
    height: clamp(60px, calc(60px + (70 - 60) * var(--t-step)), 70px);
  }
  .testemunho-card .perfil h4{
    font-size: clamp(17px, calc(17px + (19 - 17) * var(--t-step)), 19px);
    line-height: 1.25;
  }
  .testemunho-card .perfil span{
    font-size: clamp(13px, calc(13px + (15 - 13) * var(--t-step)), 15px);
    line-height: 1.25;
    font-weight: 300;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  :root { --b-step: calc((100vw - 1025px) / (1279 - 1025)); }

  .testemunhos {
    padding:
      clamp(96px, calc(96px + (108 - 96) * var(--b-step)), 108px)
      0
      clamp(120px, calc(120px + (128 - 120) * var(--b-step)), 128px);
  }
  .testemunhos-topo h2 {
    font-size: clamp(36px, calc(36px + (40 - 36) * var(--b-step)), 40px);
    line-height: 1.5;
  }
  .testemunhos-topo p {
    font-size: clamp(18px, calc(18px + (20 - 18) * var(--b-step)), 20px);
    line-height: 1.6;
    font-weight: 300;
  }
  .testemunhos-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, calc(18px + (24 - 18) * var(--b-step)), 24px);
    grid-auto-rows: clamp(480px, calc(480px + (520 - 480) * var(--b-step)), 520px);
    justify-content: stretch; 
  }
  .testemunho-card {
    width: 100%;
    height: 100%;
    border-radius: clamp(18px, calc(18px + (20 - 18) * var(--b-step)), 20px);
  }
  .testemunho-card .texto {
    padding:
      clamp(32px, calc(32px + (44 - 32) * var(--b-step)), 44px)
      clamp(24px, calc(24px + (32 - 24) * var(--b-step)), 32px)
      0
      clamp(24px, calc(24px + (32 - 24) * var(--b-step)), 32px);
    font-size: clamp(18px, calc(18px + (20 - 18) * var(--b-step)), 20px);
    line-height: 1.6;
    font-weight: 350;
  }
  .testemunho-card .texto span {
    font-size: clamp(20px, calc(20px + (22 - 20) * var(--b-step)), 22px);
    font-weight: 600;
  }

  .testemunho-card .perfil {
    padding:
      0
      clamp(24px, calc(24px + (32 - 24) * var(--b-step)), 32px)
      clamp(28px, calc(28px + (34 - 28) * var(--b-step)), 34px);
    gap: clamp(12px, calc(12px + (16 - 12) * var(--b-step)), 16px);
  }
  .testemunho-card .perfil img {
    width: clamp(66px, calc(66px + (72 - 66) * var(--b-step)), 72px);
    height: clamp(66px, calc(66px + (72 - 66) * var(--b-step)), 72px);
  }
  .testemunho-card .perfil h4 {
    font-size: clamp(18px, calc(18px + (20 - 18) * var(--b-step)), 20px);
    line-height: 1.25;
    font-weight: 700;
  }
  .testemunho-card .perfil span {
    font-size: clamp(14px, calc(14px + (16 - 14) * var(--b-step)), 16px);
    line-height: 1.3;
    font-weight: 300;
  }
}

@media (min-width: 1281px) and (max-width: 1440px) {
  :root { --d-step: calc((100vw - 1281px) / (1440 - 1281)); }
  .testemunhos .container{
    max-width: 1440px;
    margin: 0 auto;
  }
  .testemunhos{
    padding:
      clamp(100px, calc(100px + (112 - 100) * var(--d-step)), 112px)
      0
      clamp(128px, calc(128px + (140 - 128) * var(--d-step)), 140px);
  }
  .testemunhos-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: clamp(500px, calc(500px + (540 - 500) * var(--d-step)), 540px);
    gap: clamp(18px, calc(18px + (24 - 18) * var(--d-step)), 24px);
    align-content: start;
  }
  .testemunho-card{
    width: 100%;
    height: 100%;
  }
  .testemunho-card .texto{
    padding:
      clamp(44px, calc(44px + (52 - 44) * var(--d-step)), 52px)
      clamp(30px, calc(30px + (38 - 30) * var(--d-step)), 38px)
      0
      clamp(30px, calc(30px + (38 - 30) * var(--d-step)), 38px);
    font-size: clamp(19px, calc(19px + (20 - 19) * var(--d-step)), 20px);
    line-height: 1.6;
  }
  .testemunho-card .perfil{
    padding:
      0
      clamp(30px, calc(30px + (38 - 30) * var(--d-step)), 38px)
      clamp(30px, calc(30px + (38 - 30) * var(--d-step)), 38px);
    gap: clamp(12px, calc(12px + (16 - 12) * var(--d-step)), 16px);
  }
}

@media (min-width: 1441px) {
  .testemunhos .container{
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box; 
  }
  .testemunhos-grid{
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;                
  }
  .testemunho-card{
    width: 100%;
    height: 100%;
  }
}

/* SECÇÃO SEPARADOR */
.separador {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 363px;
}

.citacao {
  width: 1108px;
  height: 114px;
  text-align: center;
}

.citacao .frase {
  font-size: 26px;
  font-weight: 350;
  line-height: 1.5;
  color: #544f45;
}

.citacao .frase #marca {
  color: #bc3b4a;
  font-weight: 600;
}

.citacao .frase span {
  font-weight: 600;
}

.massagens,
.produtos,
.testemunhos,
.separador {
  isolation: isolate; 
}

@media (max-width: 389px) {
  :root { --m-step: calc((100vw - 320px) / (389 - 320)); }
  .separador {
    height: auto; 
    min-height: clamp(220px, calc(220px + (280 - 220) * var(--m-step)), 280px);
    padding-block: clamp(48px, calc(48px + (72 - 48) * var(--m-step)), 72px);
    padding-inline: 0; 
  }
  .citacao {
    width: auto;      
    height: auto;    
    max-width: 60ch;  
    padding-inline: clamp(16px, calc(16px + (22 - 16) * var(--m-step)), 22px);
    text-align: center;
    margin: 0 auto;
  }
  .citacao .frase {
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--m-step)), 18px);
    line-height: 1.6;
    font-weight: 350;
    color: #544f45;
    text-wrap: balance;    
    hyphens: auto;         
    overflow-wrap: anywhere;
  }
  .citacao .frase #marca {
    color: #bc3b4a;
    font-weight: 700; 
  }
  .citacao .frase span {
    font-weight: 600; 
  }
}

@media (min-width: 390px) and (max-width: 767px) {
  :root { --s-step: calc((100vw - 390px) / (767 - 390)); }
  .separador {
    height: auto; 
    min-height: clamp(240px, calc(240px + (320 - 240) * var(--s-step)), 320px);
    padding-block: clamp(56px, calc(56px + (88 - 56) * var(--s-step)), 88px);
  }
  .citacao {
    width: auto;
    height: auto;  
    max-width: 68ch;
    padding-inline: clamp(18px, calc(18px + (28 - 18) * var(--s-step)), 28px);
    text-align: center;
    margin: 0 auto;
  }
  .citacao .frase {
    font-size: clamp(18px, calc(18px + (22 - 18) * var(--s-step)), 22px);
    line-height: 1.6;
    font-weight: 350;
    color: #544f45;
    text-wrap: balance;
    hyphens: auto;
    overflow-wrap: anywhere;
  }
  .citacao .frase #marca {
    color: #bc3b4a;
    font-weight: 700;
  }
  .citacao .frase span {
    font-weight: 600;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :root { --t-step: calc((100vw - 768px) / (1024 - 768)); }
  .separador {
    height: auto; 
    min-height: clamp(300px, calc(300px + (363 - 300) * var(--t-step)), 363px);
    padding-block: clamp(64px, calc(64px + (96 - 64) * var(--t-step)), 96px);
  }
  .citacao {
    width: auto;     
    height: auto;  
    max-width: clamp(800px, calc(800px + (1108 - 800) * var(--t-step)), 1108px);
    padding-inline: clamp(24px, calc(24px + (32 - 24) * var(--t-step)), 32px);
    text-align: center;
    margin: 0 auto;
  }
  .citacao .frase {
    font-size: clamp(22px, calc(22px + (26 - 22) * var(--t-step)), 26px);
    line-height: 1.55;
    font-weight: 350;
    color: #544f45;
    text-wrap: balance;
    hyphens: auto;
    overflow-wrap: anywhere;
  }
  .citacao .frase #marca {
    color: #bc3b4a;
    font-weight: 700;
  }
  .citacao .frase span {
    font-weight: 600;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  :root { --b-step: calc((100vw - 1025px) / (1279 - 1025)); }
  .separador {
    height: auto;
    min-height: clamp(320px, calc(320px + (363 - 320) * var(--b-step)), 363px);
    padding-block: clamp(72px, calc(72px + (96 - 72) * var(--b-step)), 96px);
  }
  .citacao {
    width: auto;  
    height: auto;  
    max-width: clamp(960px, calc(960px + (1108 - 960) * var(--b-step)), 1108px);
    padding-inline: clamp(24px, calc(24px + (32 - 24) * var(--b-step)), 32px);
    text-align: center;
    margin: 0 auto;
  }
  .citacao .frase {
    font-size: clamp(24px, calc(24px + (26 - 24) * var(--b-step)), 26px);
    line-height: 1.55;
    font-weight: 350;
    color: #544f45;
    text-wrap: balance;
    hyphens: auto;
    overflow-wrap: anywhere;
  }
  .citacao .frase #marca {
    color: #bc3b4a;
    font-weight: 700;
  }
  .citacao .frase span {
    font-weight: 600;
  }
}

@media (min-width: 1281px) and (max-width: 1440px) {
  :root { --d-step: calc((100vw - 1281px) / (1440 - 1281)); }
  .separador {
    height: auto;
    min-height: clamp(320px, calc(320px + (363 - 320) * var(--d-step)), 363px);
    padding-block: clamp(80px, calc(80px + (96 - 80) * var(--d-step)), 96px);
  }
  .citacao {
    width: auto; 
    height: auto; 
    max-width: clamp(1040px, calc(1040px + (1108 - 1040) * var(--d-step)), 1108px);
    padding-inline: clamp(28px, calc(28px + (40 - 28) * var(--d-step)), 40px);
    text-align: center;
    margin: 0 auto;
  }
  .citacao .frase {
    font-size: clamp(24px, calc(24px + (26 - 24) * var(--d-step)), 26px);
    line-height: 1.55;
    font-weight: 350;
    color: #544f45;
    text-wrap: balance;
    hyphens: auto;
    overflow-wrap: anywhere;
  }
  .citacao .frase #marca { color: #bc3b4a; font-weight: 700; }
  .citacao .frase span { font-weight: 600; }
}

@media (min-width: 1441px) {
  .separador .citacao{
    width: 100%;
    max-width: 1440px;   
    margin: 0 auto;     
    padding-inline: 48px;
    box-sizing: border-box;
  }
  .citacao {
    width: auto; 
    height: auto; 
    text-align: center;
    margin: 0 auto;
  }
}

/* SECÇÃO CONTACTOS */
.contactos {
  position: relative;
  z-index: auto;
  margin: 0 auto;
  width: 100%;
  height: 750px;
}

.contactos-hero {
  width: 100%;
  height: 465px;
  background: url("../Imagens/contactos.png") center/cover no-repeat;
  display: flex;
  justify-content: end;
  padding-top: 94px;
  padding-right: 100px;
}

.contactos-overlay {
  background: #fff;
  border-radius: 20px;
  padding: 50px 40px;
  width: 411px;
  height: 564px;
  display: flex;
  align-items: center;

}

.contactos-forma {
  width: 331px;
  height: 444px;
  display: flex;
  flex-direction: column;
  justify-content: left;
}

.contactos-forma h2 {
  margin-bottom: 12px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  color: #544f4f;
}

.contactos-forma .sub {
  margin-bottom: 30px;
  color: #544f4f;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
}

.form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.form input {
  border: none;
  border-radius: 50px;
  width: 331px;
  height: 50px;
  padding-left: 25px;
  font-family: Lato;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  background: #F8EDEE;
  color: #544f4f;
  margin-bottom: 15px;
}

.form textarea {
  border: none;
  border-radius: 20px;
  width: 331px;
  height: 115px;
  padding-left: 25px;
  padding-top: 16px;
  font-family: Lato;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  background: #F8EDEE;
  color: #544f4f;
  margin-bottom: 20px;
}

.form input:focus,
.form textarea:focus {
  border: 2px solid #bc3b4a; 
  outline: none;
}

.btn {
  width: 331px;
  height: 54px;
  border: 0;
  border-radius: 30px;
  background: #bc3b4a;      
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.btn:hover {
  background: #222
}

.contactos-info{
  background: #DBA5AB;
  color: #fff;
  width: 100%;
  height: 285px;
  padding-top: 62px;
  padding-bottom: 100px;
  padding-left: 100px;
}

.contactos-grid{
  display: flex;
  flex-direction: row;
  justify-content: left;
  align-items: center;
  gap: 30px;
}

.contactos-info h3{
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: var(--ls-01);
  margin-bottom: 10px;
}

.contactos-info p{
  margin: 0;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
}

.contactos-info a {
  color: #fff;
  text-decoration: none;
}

.contactos-info a:hover {
  text-decoration: underline;
}

.contactos-info small {
  color: #fff
}

@media (max-width: 389px) {
  :root { --m-step: calc((100vw - 320px) / (389 - 320)); }
  .contactos{
    height: auto; 
  }
  .contactos-hero{
    height: auto;           
    min-height: clamp(300px, calc(300px + (360 - 300) * var(--m-step)), 360px);
    background-position: center;
    justify-content: center;  
    align-items: flex-start;
    padding-top: clamp(40px, calc(40px + (56 - 40) * var(--m-step)), 56px);
    padding-bottom: clamp(40px, calc(40px + (56 - 40) * var(--m-step)), 56px);
    padding-right: 0;
    padding-inline: clamp(14px, calc(14px + (20 - 14) * var(--m-step)), 20px);
  }
  .contactos-overlay{
    width: 100%;              
    max-width: 100%;
    height: auto;             
    padding:
      clamp(24px, calc(24px + (32 - 24) * var(--m-step)), 32px)
      clamp(18px, calc(18px + (24 - 18) * var(--m-step)), 24px);
    border-radius: 16px;
    box-sizing: border-box;
  }
  .contactos-forma{
    width: 100%;              
    height: auto;             
  }
  .contactos-forma h2{
    font-size: clamp(22px, calc(22px + (26 - 22) * var(--m-step)), 26px);
    line-height: 1.25;
    margin-bottom: clamp(8px, calc(8px + (12 - 8) * var(--m-step)), 12px);
  }
  .contactos-forma .sub{
    font-size: clamp(14px, calc(14px + (16 - 14) * var(--m-step)), 16px);
    line-height: 1.3;
    margin-bottom: clamp(16px, calc(16px + (20 - 16) * var(--m-step)), 20px);
  }
  .form{
    gap: clamp(10px, calc(10px + (12 - 10) * var(--m-step)), 12px);
  }
  .form input,
  .form textarea{
    width: 100%;               
    margin-bottom: 0;
    font-size: clamp(15px, calc(15px + (16 - 15) * var(--m-step)), 16px);
    line-height: 1.2;
    padding-left: clamp(16px, calc(16px + (20 - 16) * var(--m-step)), 20px);
    box-sizing: border-box;
  }
  .form input{
    height: clamp(48px, calc(48px + (52 - 48) * var(--m-step)), 52px);
    border-radius: 28px;
  }
  .form textarea{
    min-height: clamp(110px, calc(110px + (130 - 110) * var(--m-step)), 130px);
    padding-top: clamp(12px, calc(12px + (16 - 12) * var(--m-step)), 16px);
    border-radius: 16px;
  }
  .btn{
    width: 100%;              
    height: clamp(50px, calc(50px + (56 - 50) * var(--m-step)), 56px);
    border-radius: 28px;
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--m-step)), 18px);
    margin-top: clamp(6px, calc(6px + (10 - 6) * var(--m-step)), 10px);
  }
  .contactos-info{
    height: auto;
    padding-top: clamp(56px, calc(56px + (72 - 56) * var(--m-step)), 72px);
    padding-bottom: clamp(56px, calc(56px + (72 - 56) * var(--m-step)), 72px);
    padding-left: 0;
    text-align: center;
  }
  .contactos-grid{
    flex-direction: column; 
    justify-content: center;
    align-items: center;
    gap: clamp(18px, calc(14px + (18 - 14) * var(--m-step)), 22px);
  }
  .contactos-info h3{
    font-size: clamp(18px, calc(18px + (20 - 18) * var(--m-step)), 20px);
    line-height: 1.4;
    margin-bottom: 6px;
  }
  .contactos-info p{
    font-size: clamp(14px, calc(14px + (16 - 14) * var(--m-step)), 16px);
    line-height: 1.6;
  }
}

@media (min-width: 390px) and (max-width: 767px) {
  :root { --s-step: calc((100vw - 390px) / (767 - 390)); }
  .contactos { height: auto; }
  .contactos-hero{
    height: auto;
    min-height: clamp(420px, calc(420px + (520 - 420) * var(--s-step)), 520px);
    background-position: center;
    display: flex;
    justify-content: center;      
    align-items: center;         
    padding-block: clamp(48px, calc(48px + (72 - 48) * var(--s-step)), 72px);
    padding-inline: clamp(20px, calc(20px + (32 - 20) * var(--s-step)), 32px);
  }
  .contactos-overlay{
    width: 100%;
    max-width: 100%;
    height: auto;
    padding:
      clamp(28px, calc(28px + (36 - 28) * var(--s-step)), 36px)
      clamp(22px, calc(22px + (30 - 22) * var(--s-step)), 30px);
    border-radius: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
    box-sizing: border-box;
    margin: 0 auto;
  }
  .contactos-forma{ width: 100%; height: auto; }
  .contactos-forma h2{
    font-size: clamp(24px, calc(24px + (28 - 24) * var(--s-step)), 28px);
    line-height: 1.25;
    margin-bottom: clamp(10px, calc(10px + (14 - 10) * var(--s-step)), 14px);
  }
  .contactos-forma .sub{
    font-size: clamp(15px, calc(15px + (17 - 15) * var(--s-step)), 17px);
    line-height: 1.35;
    margin-bottom: clamp(18px, calc(18px + (24 - 18) * var(--s-step)), 24px);
  }
  .form{ gap: clamp(12px, calc(12px + (14 - 12) * var(--s-step)), 14px); }
  .form input,
  .form textarea{
    width: 100%;
    margin-bottom: 0;
    font-size: clamp(15px, calc(15px + (16 - 15) * var(--s-step)), 16px);
    line-height: 1.2;
    padding-left: clamp(18px, calc(18px + (22 - 18) * var(--s-step)), 22px);
    box-sizing: border-box;
  }
  .form input{
    height: clamp(52px, calc(52px + (58 - 52) * var(--s-step)), 58px);
    border-radius: clamp(28px, calc(28px + (30 - 28) * var(--s-step)), 30px);
  }
  .form textarea{
    min-height: clamp(120px, calc(120px + (150 - 120) * var(--s-step)), 150px);
    padding-top: clamp(12px, calc(12px + (16 - 12) * var(--s-step)), 16px);
    border-radius: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
  }
  .btn{
    width: 100%;
    height: clamp(54px, calc(54px + (60 - 54) * var(--s-step)), 60px);
    border-radius: clamp(28px, calc(28px + (30 - 28) * var(--s-step)), 30px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
    margin-top: clamp(8px, calc(8px + (12 - 8) * var(--s-step)), 12px);
  }
  .contactos-info{
    height: auto;
    padding-top: clamp(72px, calc(72px + (96 - 72) * var(--s-step)), 96px);
    padding-bottom: clamp(72px, calc(72px + (96 - 72) * var(--s-step)), 96px);
    padding-left: 0;
    text-align: center;
  }
  .contactos-grid{
    flex-direction: column;
    align-items: center;
  }
  .contactos-info h3{
    font-size: clamp(19px, calc(19px + (21 - 19) * var(--s-step)), 21px);
    margin-bottom: 6px;
  }
  .contactos-info p{
    font-size: clamp(15px, calc(15px + (17 - 15) * var(--s-step)), 17px);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :root{
    --t-step: calc((100vw - 768px) / (1024 - 768));
    --container-max: 1280px;
  }
  .contactos{
    height: auto;          
    min-height: 0;         
  }
  .contactos-hero{
    position: relative;
    height: clamp(420px, calc(420px + (465 - 420) * var(--t-step)), 465px);
    background-position: center;
    background-size: cover;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    padding-top: clamp(72px, calc(72px + (94 - 72) * var(--t-step)), 94px);
    padding-right: 4%;
  }
  .contactos-overlay{
    width: clamp(360px, calc(360px + (411 - 360) * var(--t-step)), 411px);
    height: clamp(560px, calc(560px + (640 - 560) * var(--t-step)), 640px);
    border-radius: clamp(18px, calc(18px + (20 - 18) * var(--t-step)), 20px);
    display: flex;
    align-items: center;
  }
  .contactos-forma{
    width: clamp(300px, calc(300px + (331 - 300) * var(--t-step)), 331px);
    height: auto;
  }
  .contactos-forma h2{
    font-size: clamp(24px, calc(24px + (28 - 24) * var(--t-step)), 28px);
    line-height: 1.2;
    margin-bottom: clamp(10px, calc(10px + (12 - 10) * var(--t-step)), 12px);
  }
  .contactos-forma .sub{
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--t-step)), 18px);
    line-height: 1.1;
    margin-bottom: clamp(22px, calc(22px + (30 - 22) * var(--t-step)), 30px);
  }
  .form input, .form textarea, .btn { width: 100%; }
  .form input{
    height: clamp(48px, calc(48px + (50 - 48) * var(--t-step)), 50px);
    font-size: clamp(15px, calc(15px + (16 - 15) * var(--t-step)), 16px);
  }
  .form textarea{
    height: clamp(110px, calc(110px + (130 - 110) * var(--t-step)), 130px);
    font-size: clamp(15px, calc(15px + (16 - 15) * var(--t-step)), 16px);
  }
  .btn{
    height: clamp(52px, calc(52px + (54 - 52) * var(--t-step)), 54px);
    border-radius: 30px;
    font-size: clamp(17px, calc(17px + (18 - 17) * var(--t-step)), 18px);
  }
  .contactos-info{
    height: auto; 
    padding-top: clamp(56px, calc(56px + (72 - 56) * var(--t-step)), 72px);
    padding-bottom: clamp(56px, calc(56px + (72 - 56) * var(--t-step)), 72px);
    padding-left: 6%;
  }
  .contactos-grid{
    flex-direction: column;
    align-items: flex-start;
  }
  .contactos-info h3{
    font-size: clamp(22px, calc(22px + (24 - 22) * var(--t-step)), 24px);
  }
  .contactos-info p{
    font-size: clamp(17px, calc(17px + (18 - 17) * var(--t-step)), 18px);
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  :root{
    --md-step: calc((100vw - 1025px) / (1279 - 1025));
    --container-max: 1280px;
  }
  .contactos{
    height: auto;        
    min-height: 0;
  }
  .contactos-hero{
    position: relative;
    height: clamp(440px, calc(440px + (500 - 440) * var(--md-step)), 500px);
    display: flex;
    justify-content: flex-end;   
    align-items: flex-start;
    padding-top: clamp(84px, calc(84px + (94 - 84) * var(--md-step)), 94px);
    padding-right: 4%;
  }
  .contactos-overlay{
    width: clamp(380px, calc(380px + (411 - 380) * var(--md-step)), 411px);
    height: clamp(580px, calc(580px + (640 - 580) * var(--md-step)), 640px);
    padding:
      clamp(40px, calc(40px + (50 - 40) * var(--md-step)), 50px)
      clamp(32px, calc(32px + (40 - 32) * var(--md-step)), 40px);
    border-radius: clamp(18px, calc(18px + (20 - 18) * var(--md-step)), 20px);
    display: flex;
    align-items: center;
  }
  .contactos-forma{
    width: clamp(320px, calc(320px + (331 - 320) * var(--md-step)), 331px);
    height: auto;
    display: flex;
    flex-direction: column;
  }
  .contactos-forma h2{
    font-size: clamp(26px, calc(26px + (28 - 26) * var(--md-step)), 28px);
    line-height: 1.2;
    margin-bottom: clamp(10px, calc(10px + (12 - 10) * var(--md-step)), 12px);
  }
  .contactos-forma .sub{
    font-size: clamp(17px, calc(17px + (18 - 17) * var(--md-step)), 18px);
    line-height: 1.1;
    margin-bottom: clamp(22px, calc(22px + (30 - 22) * var(--md-step)), 30px);
  }
  .form{ display: flex; flex-direction: column; }
  .form input, .form textarea, .btn{ width: 100%; }
  .form input{
    height: clamp(50px, calc(50px + (50 - 50) * var(--md-step)), 50px);
    font-size: clamp(16px, calc(16px + (16 - 16) * var(--md-step)), 16px);
  }
  .form textarea{
    height: clamp(120px, calc(120px + (130 - 120) * var(--md-step)), 130px);
    font-size: clamp(16px, calc(16px + (16 - 16) * var(--md-step)), 16px);
  }
  .btn{
    height: clamp(54px, calc(54px + (54 - 54) * var(--md-step)), 54px);
    border-radius: 30px;
    font-size: clamp(18px, calc(18px + (18 - 18) * var(--md-step)), 18px);
  }
  .contactos-info{
    padding-top: clamp(62px, calc(62px + (72 - 62) * var(--md-step)), 72px);
    padding-bottom: clamp(62px, calc(62px + (72 - 62) * var(--md-step)), 72px);
    padding-left: 6%;
  }
  .contactos-grid{
    display: flex;
    flex-direction: row;  
    align-items: center;       
  }
  .contactos-info h3{
    font-size: clamp(23px, calc(23px + (24 - 23) * var(--md-step)), 24px);
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .contactos-info p{
    margin: 0;
    font-size: clamp(17px, calc(17px + (18 - 17) * var(--md-step)), 18px);
    line-height: 1.6;
  }
}

@media (min-width: 1281px) and (max-width: 1440px) {
  :root{
    --container-max: 1440px;
  }
  .contactos-hero{
    padding-right: 4%;
  }
  .contactos-info{
    padding-left: 6%;
  }
  .contactos-info .container{
    max-width: var(--container-max);
    margin: 0 auto;
  }
}

@media (min-width: 1441px) {
  :root{
    --container-max: 1440px; 
    --form-inset: 0.04;      
    --info-inset: 0.06;      
  }
  .contactos-hero{
    padding-right: calc(
      (100vw - var(--container-max)) / 2 + (var(--container-max) * var(--form-inset))
    );
  }
  .contactos-info{ padding-left: 0; }
  .contactos-info .container{
    max-width: var(--container-max);
    margin: 0 auto;
    padding-left: calc(var(--container-max) * var(--info-inset));
    padding-right: 0;
  }
}

/* FOOTER */
:root{ --footer-max: 1440px; }

.footer {
  position: relative;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFEDEB;
  text-align: center;
  width: 100%;
  height: 528px;
}

.footer-container{
  max-width: var(--footer-max);
  margin: 0 auto;
}

.footer-container h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  color: #544f4f;
  padding-bottom: 10px;
  padding-top: 72px;
}

.footer-container p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.1;
  color: #544F4F;
  margin-bottom: 30px;
}

.footer .btn-google {
  display: inline-block;
  justify-content: center;
  align-content: center;
  background-color: #DBA5AB;
  color: #fff;
  width: 321px;
  height: 44px;
  border-radius: 30px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

.footer .btn-google:hover {
  background-color: #bc3b4a;
}

.social-icons {
  width: 331px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;  
  margin: 94px auto 60px auto;
}

.social-icons a img {
  width: 40px;
  height: 40px;
  transition: transform 0.3s ease;
}

.social-icons a:hover img {
  transform: scale(1.1);
}

.footer-line {
  width: 1248px;
  border: 0.5px solid #bc3b4a;
}

.footer .copy {
  margin-top: 32px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1;
  color: #544f4f;
  margin-bottom: 44px;
}

@media (max-width: 389px){
  :root { --m-step: calc((100vw - 320px) / (389 - 320)); }
  .footer{
    height: auto;
  }
  .footer-container{
    padding-inline: clamp(16px, calc(16px + (22 - 16) * var(--m-step)), 22px);
  }
  .footer-container h3{
    font-size: clamp(20px, calc(20px + (24 - 20) * var(--m-step)), 24px);
    padding-top: clamp(48px, calc(48px + (72 - 48) * var(--m-step)), 72px);
    padding-bottom: clamp(18px, calc(18px + (26 - 18) * var(--m-step)), 26px);
  }
  .footer-container p{
    font-size: clamp(15px, calc(15px + (16 - 15) * var(--m-step)), 16px);
    line-height: 1.5;
    margin-bottom: clamp(18px, calc(18px + (24 - 18) * var(--m-step)), 24px);
  }
  .footer .btn-google{
    width: 100%;
    max-width: none;
    height: clamp(44px, calc(44px + (50 - 44) * var(--m-step)), 50px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--m-step)), 18px);
    border-radius: 28px;
  }
  .social-icons{
    width: 100%;
    gap: clamp(12px, calc(12px + (16 - 12) * var(--m-step)), 16px);
    margin: clamp(40px, calc(40px + (56 - 40) * var(--m-step)), 56px) auto
            clamp(28px, calc(28px + (40 - 28) * var(--m-step)), 40px) auto;
  }
  .social-icons a img{
    width: clamp(28px, calc(28px + (34 - 28) * var(--m-step)), 34px);
    height: clamp(28px, calc(28px + (34 - 28) * var(--m-step)), 34px);
  }
  .footer-line{
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
  .footer .copy{
    font-size: clamp(12px, calc(12px + (14 - 12) * var(--m-step)), 14px);
    line-height: 1.4;
    margin-top: clamp(18px, calc(18px + (24 - 18) * var(--m-step)), 24px);
    margin-bottom: clamp(24px, calc(24px + (36 - 24) * var(--m-step)), 36px);
  }
}

@media (min-width: 390px) and (max-width: 767px){
  :root { --s-step: calc((100vw - 390px) / (767 - 390)); }
  .footer{
    height: auto;
  }
  .footer-container{
    padding-inline: clamp(18px, calc(18px + (28 - 18) * var(--s-step)), 28px);
  }
  .footer-container h3{
    font-size: clamp(22px, calc(22px + (28 - 22) * var(--s-step)), 28px);
    padding-top: clamp(56px, calc(56px + (84 - 56) * var(--s-step)), 84px);
    padding-bottom: clamp(20px, calc(20px + (28 - 20) * var(--s-step)), 28px);
  }
  .footer-container p{
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
    line-height: 1.5;
    margin-bottom: clamp(20px, calc(20px + (28 - 20) * var(--s-step)), 28px);
  }
  .footer .btn-google{
    width: 100%;
    max-width: none;
    height: clamp(48px, calc(48px + (56 - 48) * var(--s-step)), 56px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--s-step)), 18px);
    border-radius: 30px;
  }
  .social-icons{
    width: 100%;
    gap: clamp(14px, calc(14px + (18 - 14) * var(--s-step)), 18px);
    margin:
      clamp(44px, calc(44px + (64 - 44) * var(--s-step)), 64px) auto
      clamp(32px, calc(32px + (44 - 32) * var(--s-step)), 44px) auto;
  }
  .social-icons a img{
    width: clamp(32px, calc(32px + (40 - 32) * var(--s-step)), 40px);
    height: clamp(32px, calc(32px + (40 - 32) * var(--s-step)), 40px);
  }
  .footer-line{
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
  .footer .copy{
    font-size: clamp(13px, calc(13px + (15 - 13) * var(--s-step)), 15px);
    line-height: 1.4;
    margin-top: clamp(20px, calc(20px + (28 - 20) * var(--s-step)), 28px);
    margin-bottom: clamp(28px, calc(28px + (40 - 28) * var(--s-step)), 40px);
  }
}

@media (min-width: 768px) and (max-width: 1024px){
  :root { --t-step: calc((100vw - 768px) / (1024 - 768)); }
  .footer{
    height: auto;
  }
  .footer-container{
    max-width: 1100px;
    margin: 0 auto;
  }
  .footer-container h3{
    font-size: clamp(24px, calc(24px + (30 - 24) * var(--t-step)), 30px);
    padding-top: clamp(56px, calc(56px + (84 - 56) * var(--t-step)), 84px);
    padding-bottom: clamp(18px, calc(18px + (28 - 18) * var(--t-step)), 28px);
  }
  .footer-container p{
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--t-step)), 18px);
    margin-bottom: clamp(20px, calc(20px + (28 - 20) * var(--t-step)), 28px);
  }
  .footer .btn-google{
    width: clamp(280px, calc(280px + (360 - 280) * var(--t-step)), 360px);
    height: clamp(46px, calc(46px + (54 - 46) * var(--t-step)), 54px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--t-step)), 18px);
    border-radius: 30px;
  }
  .social-icons{
    width: 100%;
    max-width: 640px;
    margin: clamp(48px, calc(48px + (72 - 48) * var(--t-step)), 72px) auto
            clamp(32px, calc(32px + (48 - 32) * var(--t-step)), 48px) auto;
    gap: clamp(14px, calc(14px + (18 - 14) * var(--t-step)), 18px);
  }
  .social-icons a img{
    width: clamp(34px, calc(34px + (40 - 34) * var(--t-step)), 40px);
    height: clamp(34px, calc(34px + (40 - 34) * var(--t-step)), 40px);
  }
  .footer-line{
    width: min(100%, clamp(720px, 82vw, 1100px));
    margin-inline: auto;
  }
  .footer .copy{
    font-size: clamp(13px, calc(13px + (15 - 13) * var(--t-step)), 15px);
    margin-top: clamp(20px, calc(20px + (28 - 20) * var(--t-step)), 28px);
    margin-bottom: clamp(28px, calc(28px + (40 - 28) * var(--t-step)), 40px);
  }
}

@media (min-width: 1025px) and (max-width: 1279px){
  :root { --l-step: calc((100vw - 1025px) / (1279 - 1025)); }
  .footer{
    height: auto;
  }
  .footer-container{
    max-width: 1200px;
    margin: 0 auto;
  }
  .footer-container h3{
    font-size: clamp(26px, calc(26px + (32 - 26) * var(--l-step)), 32px);
    padding-top: clamp(64px, calc(64px + (92 - 64) * var(--l-step)), 92px);
    padding-bottom: clamp(20px, calc(20px + (28 - 20) * var(--l-step)), 28px);
  }
  .footer-container p{
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--l-step)), 18px);
    margin-bottom: clamp(22px, calc(22px + (30 - 22) * var(--l-step)), 30px);
  }
  .footer .btn-google{
    width: clamp(300px, calc(300px + (380 - 300) * var(--l-step)), 380px);
    height: clamp(48px, calc(48px + (56 - 48) * var(--l-step)), 56px);
    font-size: clamp(16px, calc(16px + (18 - 16) * var(--l-step)), 18px);
    border-radius: 30px;
  }
  .social-icons{
    width: 100%;
    max-width: 680px;
    gap: clamp(14px, calc(14px + (20 - 14) * var(--l-step)), 20px);
    margin: clamp(52px, calc(52px + (76 - 52) * var(--l-step)), 76px) auto
            clamp(32px, calc(32px + (48 - 32) * var(--l-step)), 48px) auto;
  }
  .social-icons a img{
    width: clamp(34px, calc(34px + (42 - 34) * var(--l-step)), 42px);
    height: clamp(34px, calc(34px + (42 - 34) * var(--l-step)), 42px);
  }
  .footer-line{
    width: min(100%, clamp(880px, 84vw, 1200px));
    margin-inline: auto;
  }
  .footer .copy{
    font-size: clamp(13px, calc(13px + (15 - 13) * var(--l-step)), 15px);
    margin-top: clamp(22px, calc(22px + (32 - 22) * var(--l-step)), 32px);
    margin-bottom: clamp(28px, calc(28px + (42 - 28) * var(--l-step)), 42px);
  }
}

@media (min-width: 1281px) and (max-width: 1440px){
  :root { --d-step: calc((100vw - 1281px) / (1440 - 1281)); }
  .footer{
    height: auto;
  }
  .footer-container{
    max-width: 1440px;
    margin: 0 auto;
  }
  .footer-container h3{
    font-size: clamp(28px, calc(28px + (34 - 28) * var(--d-step)), 34px);
    padding-top: clamp(72px, calc(72px + (96 - 72) * var(--d-step)), 96px);
    padding-bottom: clamp(20px, calc(20px + (30 - 20) * var(--d-step)), 30px);
  }
  .footer-container p{
    font-size: clamp(18px, calc(18px + (20 - 18) * var(--d-step)), 20px);
    margin-bottom: clamp(22px, calc(22px + (32 - 22) * var(--d-step)), 32px);
  }
  .footer .btn-google{
    width: clamp(340px, calc(340px + (420 - 340) * var(--d-step)), 420px);
    height: clamp(50px, calc(50px + (58 - 50) * var(--d-step)), 58px);
    font-size: clamp(17px, calc(17px + (19 - 17) * var(--d-step)), 19px);
    border-radius: 30px;
  }
  .social-icons{
    width: 100%;
    max-width: 760px;
    gap: clamp(16px, calc(16px + (22 - 16) * var(--d-step)), 22px);
    margin: clamp(56px, calc(56px + (84 - 56) * var(--d-step)), 84px) auto
            clamp(32px, calc(32px + (48 - 32) * var(--d-step)), 48px) auto;
  }
  .social-icons a img{
    width: clamp(36px, calc(36px + (44 - 36) * var(--d-step)), 44px);
    height: clamp(36px, calc(36px + (44 - 36) * var(--d-step)), 44px);
  }
  .footer-line{
    width: min(100%, clamp(1100px, 88vw, 1320px));
    margin-inline: auto;
  }
  .footer .copy{
    font-size: clamp(14px, calc(14px + (16 - 14) * var(--d-step)), 16px);
    margin-top: clamp(22px, calc(22px + (36 - 22) * var(--d-step)), 36px);
    margin-bottom: clamp(28px, calc(28px + (44 - 28) * var(--d-step)), 44px);
  }
}

@media (min-width: 1441px){
  .footer{ height: auto; }
  .footer-container{
    max-width: 1440px;
    margin: 0 auto;
  }
  .footer-container h3{
    font-size: 34px;
    padding-top: 96px;
    padding-bottom: 30px;
  }
  .footer-container p{
    font-size: 20px;
    margin-bottom: 32px;
  }
  .footer .btn-google{
    width: 420px;
    height: 58px;
    font-size: 19px;
    border-radius: 30px;
  }
  .social-icons{
    width: 100%;
    max-width: 760px;
    gap: 22px;
    margin: 84px auto 48px auto;
  }
  .social-icons a img{
    width: 44px;
    height: 44px;
  }
  .footer-line{
    width: min(100%, 1320px);
    margin-inline: auto;
  }
  .footer .copy{
    font-size: 16px;
    margin-top: 36px;
    margin-bottom: 44px;
  }
}