/* Authentic Spa 1.10 — a considered finish for the existing home page.
   Scoped to its first sections; editorial content and layout remain editable. */

/* A quiet, legible header over the opening photograph. */
body:not(.document-page) #nav.as-main-navigation {
  background: linear-gradient(180deg, #0c1714ed, #0c1714b8);
  border-bottom: 1px solid #ead8ad26;
  backdrop-filter: blur(14px);
}
body:not(.document-page) #nav.as-main-navigation.sc {
  background: #0e1915f5;
  box-shadow: 0 8px 30px #00000014;
}
body:not(.document-page) #nav.as-main-navigation .brand-image {
  filter: drop-shadow(0 2px 10px #00000025);
}

/* Preserve the panoramic desktop portrait and the complete mobile portrait. */
#inicio.hero {
  border-bottom: 1px solid #d2b78245;
}
#inicio.hero .hero-content {
  width: min(1240px, calc(100% - 112px));
  padding-block: 176px 170px;
}
#inicio.hero .hero-copy { width: min(100%, 600px); }
#inicio.hero .hero-tag {
  font-size: .66rem;
  letter-spacing: .22em;
  line-height: 1.8;
  margin-bottom: 1.65rem;
  color: #eddbb5;
}
#inicio.hero .hero-tag::before { width: 40px; flex-shrink: 0; }
#inicio.hero .ht {
  font-size: clamp(4.7rem, 7.15vw, 7rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
#inicio.hero .hero-sub {
  max-width: 420px;
  margin-block: 1.6rem 1.85rem;
  font-size: 1rem;
  line-height: 1.85;
  color: #e1e5da;
}
#inicio.hero .hero-actions { gap: 12px; }
#inicio.hero .hero-actions :is(.btn-primary, .btn-outline) {
  min-height: 54px;
  padding: 1rem 1.45rem;
  font-size: .69rem;
  letter-spacing: .08em;
  border-radius: 3px;
  transition: background .2s, border-color .2s, color .2s;
}
#inicio.hero .hero-actions .btn-primary {
  background: linear-gradient(120deg, #e1c99a, #d2b782);
  border-color: #e1c99a;
  box-shadow: 0 6px 24px #00000020;
}
#inicio.hero .hero-actions .btn-primary:hover { background: #ead7af; }
#inicio.hero .hero-actions .btn-outline {
  background: #11241c59;
  border-color: #e5d7b66b;
  backdrop-filter: blur(6px);
}
#inicio.hero .hero-actions .directions-button {
  min-height: 40px;
  font-size: .73rem;
  padding: .45rem 0;
  background: transparent;
  backdrop-filter: none;
  border: 0;
  letter-spacing: .02em;
  color: #e2d3b5;
}
#inicio.hero .hero-footnote {
  margin-top: 1.15rem;
  font-size: .73rem;
  color: #d5ddcf;
}
#inicio.hero .managed-photo::after {
  background: linear-gradient(90deg, #0c1713f2 0%, #0c1713da 27%, #0c17138c 49%, #0c171315 76%),
    linear-gradient(0deg, #0d1915f5 0%, #0d19153d 24%, transparent 60%);
}
#inicio.hero #heroTherapists .managed-caption {
  right: max(56px, calc((100vw - 1240px) / 2));
  bottom: 108px;
  padding: 17px 23px 18px;
  border: 1px solid #e7d4ab40;
  border-left: 2px solid #d2b782b3;
  border-radius: 3px;
  background: #10201980;
  backdrop-filter: blur(12px);
  text-shadow: none;
}
#inicio.hero #heroTherapists .managed-name { font-size: 2rem; }
#inicio.hero #heroTherapists .managed-profession { font-size: .65rem; }
#inicio.hero #heroTherapists .managed-caption::after { font-size: .7rem; margin-top: 9px; }
#inicio.hero .hero-carousel-footer { right: max(56px, calc((100vw - 1240px) / 2)); }
#inicio.hero .carousel-arrow { right: calc(max(56px, (100vw - 1240px) / 2) + 222px); }
#inicio.hero .carousel-arrow.next { right: calc(max(56px, (100vw - 1240px) / 2) + 168px); }
#inicio.hero .carousel-arrow,
#inicio.hero .carousel-autoplay {
  border-color: #e6d4ac60;
  background: #14271dc9;
  backdrop-filter: blur(8px);
}
#inicio.hero #heroCarouselStatus { font-size: .72rem; }
#inicio.hero .carousel-autoplay { font-size: .7rem; }

/* Team: retain the approved vertical sequence, with a composed introduction. */
#terapeutas {
  padding-block: clamp(72px, 8vw, 112px);
  background: radial-gradient(ellipse at 50% 0, #25372a66, transparent 650px), #101b14;
}
#terapeutas .th-in { width: min(1120px, calc(100% - 112px)); }
#terapeutas .th-hdr {
  align-items: center;
  padding-bottom: 34px;
  margin-bottom: 32px;
  border-bottom: 1px solid #d2b78230;
}
#terapeutas .sec-tag,
#massagens .sec-tag { font-size: .65rem; letter-spacing: .23em; }
#terapeutas .th-hdr h2 { font-size: clamp(2.8rem, 4.8vw, 4.6rem); }
#terapeutas .th-hdr p {
  max-width: 360px;
  font-size: .96rem;
  line-height: 1.9;
  color: #bdc8b9;
}
#terapeutas .team-tools {
  max-width: 640px;
  margin: 0 auto 18px;
  padding-top: 0;
  border: 0;
  gap: 20px;
}
#terapeutas .team-tools .helper { max-width: 265px; font-size: .8rem; }
#terapeutas .team-search {
  flex: 0 1 270px;
  border: 1px solid #d2b78242;
  border-radius: 4px;
  background: #ffffff04;
  padding-inline: 14px 4px;
  min-height: 49px;
}
#terapeutas .team-search:focus-within { border-color: #d2b782; }
#terapeutas .team-search input { font: 400 .82rem var(--font-b); }
#terapeutas .team-filter-controls {
  max-width: 640px;
  margin: 0 auto 32px;
  gap: 14px;
  padding-bottom: 24px;
  border-bottom: 1px solid #d2b78224;
}
#terapeutas .team-filter-controls :is(.team-category-filters, .team-availability-filters) {
  margin: 0;
  gap: 8px;
}
#terapeutas .team-filter-controls button {
  font: 400 .76rem/1.4 var(--font-b);
  min-height: 44px;
  padding: 10px 16px;
  border-color: #d2b78240;
  color: #c7d1c1;
  transition: background .2s, border-color .2s, color .2s;
}
#terapeutas .team-filter-controls button[aria-pressed="true"] {
  background: #d2b782;
  border-color: #d2b782;
  color: #142219;
}
#terapeutas #therapistGrid { gap: 36px; }
#terapeutas #therapistGrid > .th-card {
  border: 1px solid #d2b78236;
  border-radius: 5px !important;
  background: #17261c;
  box-shadow: 0 18px 45px #00000024;
  transition: border-color .2s, box-shadow .2s;
}
#terapeutas #therapistGrid > .th-card:hover,
#terapeutas #therapistGrid > .th-card:focus-visible {
  border-color: #d2b782a6;
  box-shadow: 0 20px 48px #00000038;
}
#terapeutas #therapistGrid .managed-caption {
  position: relative;
  padding: 24px 30px 25px;
  background: linear-gradient(120deg, #1b2d22, #16241b);
  border-top: 1px solid #d2b78240;
  gap: 7px;
}
#terapeutas #therapistGrid .managed-name { font-size: 2rem; line-height: 1.25; }
#terapeutas #therapistGrid .managed-profession {
  color: #ddc89e;
  font-size: .66rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}
#terapeutas #therapistGrid .availability-details { margin-top: 8px; }
#terapeutas #therapistGrid .availability-badge { font-size: .77rem; }
#terapeutas .team-note { max-width: 640px; margin: 24px auto 0; font-size: .77rem; }

/* Existing highlights become a readable transition between chapters. */
body:not(.document-page) .strip {
  padding-block: 38px;
  background: #1c2b20;
  border-block: 1px solid #d2b78238;
}
body:not(.document-page) .strip-in { width: min(1120px, calc(100% - 112px)); gap: 0; }
body:not(.document-page) .strip .si { padding: 7px 20px; border-color: #d2b78233; }
body:not(.document-page) .strip .num { font-size: clamp(1.9rem, 2.7vw, 2.5rem); line-height: 1.15; }
body:not(.document-page) .strip .num small { font: 400 .7rem var(--font-b); letter-spacing: .04em; }
body:not(.document-page) .strip .lbl { font-size: .65rem; letter-spacing: .12em; line-height: 1.65; color: #c2cbb9; }

/* Text-only spa introduction: give the existing copy a deliberate composition. */
#sobre { padding-block: clamp(76px, 9vw, 126px); background: #111c15; }
#sobre[data-spa-photos="paused"] .about-in { width: min(1120px, calc(100% - 112px)); max-width: 1120px; }
#sobre[data-spa-photos="paused"] .about-text {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 0 72px;
  max-width: none;
  width: 100%;
}
#sobre[data-spa-photos="paused"] .about-text > .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: 28px;
  font-size: .65rem;
  letter-spacing: .23em;
}
#sobre[data-spa-photos="paused"] .about-text > h2 {
  grid-column: 1;
  grid-row: 2 / span 3;
  max-width: 11ch;
  font-size: clamp(2.75rem, 4.4vw, 4.5rem);
  line-height: 1.13;
  margin: 0;
}
#sobre[data-spa-photos="paused"] .about-text > p {
  grid-column: 2;
  font-size: .96rem;
  line-height: 1.95;
  color: #bdc8b9;
  margin: 0 0 18px;
}
#sobre[data-spa-photos="paused"] .about-text > .btn-lnk {
  grid-column: 2;
  justify-self: start;
  margin: 5px 0 0;
  font-size: .73rem;
  color: #d2b782;
}
#sobre[data-spa-photos="paused"] .cklist {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: none;
  margin-top: 46px;
  padding-top: 28px;
  border-top: 1px solid #d2b78235;
  gap: 22px;
}
#sobre .ck { font-size: .69rem; line-height: 1.7; letter-spacing: .06em; }
#sobre .ck::before { font-size: .38rem; }

/* Individually framed massage cards, with a clear route into the details. */
#massagens {
  padding-block: clamp(76px, 8vw, 112px);
  border-top: 1px solid #d2b78226;
  background: radial-gradient(ellipse at 50% 0, #30432e40, transparent 560px), #17241b;
}
#massagens .sec-head { margin-bottom: 46px; }
#massagens .sec-head h2 { font-size: clamp(2.8rem, 4.7vw, 4.6rem); }
#massagens .sec-head p { color: #bdc8b9; line-height: 1.9; max-width: 530px; }
#massagens .svc-grid {
  width: min(1120px, calc(100% - 112px));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  background: transparent;
  border: 0;
}
#massagens .svc {
  min-width: 0;
  padding: 32px 34px 23px;
  border: 1px solid #d2b78236;
  border-radius: 5px;
  background: linear-gradient(145deg, #203025, #19271e);
  box-shadow: 0 8px 30px #08120b14;
  transition: border-color .2s, background .2s, box-shadow .2s;
}
#massagens .svc::before {
  position: static;
  display: block;
  width: 32px;
  height: 1px;
  margin-bottom: 23px;
  background: #d2b782;
  opacity: .8;
  flex: none;
}
#massagens .svc::after { display: none; }
#massagens .svc:hover,
#massagens .svc:focus-within {
  border-color: #d2b78296;
  background: linear-gradient(145deg, #273a2b, #1c2d22);
  box-shadow: 0 12px 32px #08120b2b;
}
#massagens .svc h3 {
  margin-bottom: 13px;
  font-size: clamp(1.65rem, 2.3vw, 2rem);
  line-height: 1.25;
  letter-spacing: -.02em;
  color: #f4efe4;
}
#massagens .svc p { font-size: .91rem; line-height: 1.85; color: #bdc8b9; margin-bottom: 26px; }
#massagens .svc-foot { padding-top: 15px; border-color: #d2b78229; gap: 12px; }
#massagens .svc-dur { font-size: .66rem; letter-spacing: .08em; color: #b8c5b1; }
#massagens .as-massage-more {
  min-height: 44px;
  gap: 12px;
  padding: 0;
  font-size: .72rem;
  letter-spacing: .055em;
  color: #e0c99f;
}
#massagens .as-massage-more > [aria-hidden] {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #d2b78245;
  border-radius: 50%;
  font: 400 1rem var(--font-b);
  transition: color .2s, background .2s;
}
#massagens .as-massage-more:hover > [aria-hidden],
#massagens .as-massage-more:focus-visible > [aria-hidden] { color: #17241b; background: #d2b782; }
#massagens .svc-cta-wrap { margin: 36px 24px 0; }
#massagens .svc-cta-wrap .btn-outline { border-radius: 3px; font-size: .7rem; }
#inicio :is(a, button):focus-visible,
#terapeutas :is(a, button, input):focus-visible,
#sobre a:focus-visible { outline: 2px solid #e6d0a7; outline-offset: 5px; }

@media (max-width: 980px) {
  #inicio.hero .hero-content { width: calc(100% - 64px); padding-block: 150px 176px; }
  #inicio.hero #heroTherapists .managed-caption { right: 32px; }
  #inicio.hero .hero-carousel-footer { right: 32px; }
  #inicio.hero .carousel-arrow { right: 254px; }
  #inicio.hero .carousel-arrow.next { right: 200px; }
  #terapeutas .th-in,
  body:not(.document-page) .strip-in,
  #sobre[data-spa-photos="paused"] .about-in,
  #massagens .svc-grid { width: calc(100% - 64px); }
  #sobre[data-spa-photos="paused"] .about-text { column-gap: 36px; }
  #massagens .svc { padding: 28px 26px 21px; }
}
@media (max-width: 760px) {
  #terapeutas .th-hdr { align-items: flex-start; gap: 24px; }
  #terapeutas .th-hdr p { max-width: 100%; }
  #sobre[data-spa-photos="paused"] .about-text { display: block; }
  #sobre[data-spa-photos="paused"] .about-text > .eyebrow { display: block; margin-bottom: 22px; }
  #sobre[data-spa-photos="paused"] .about-text > h2 { max-width: 100%; margin-bottom: 30px; }
  #sobre[data-spa-photos="paused"] .cklist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
  #massagens .svc-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 650px) {
  #inicio.hero .hero-content {
    width: calc(100% - 40px);
    padding: calc(104px + var(--hero-mobile-portrait-height)) 0 190px;
  }
  #inicio.hero .hero-tag { font-size: .55rem; letter-spacing: .13em; gap: 10px; margin-bottom: 20px; }
  #inicio.hero .hero-tag::before { width: 23px; }
  #inicio.hero .ht { font-size: clamp(3.5rem, 15vw, 5rem); line-height: 1.02; }
  #inicio.hero .hero-sub { font-size: .92rem; line-height: 1.85; margin-block: 22px 25px; }
  #inicio.hero .hero-actions { gap: 10px; }
  #inicio.hero .hero-actions :is(.btn-primary, .btn-outline) {
    min-height: 52px;
    padding: .85rem .65rem;
    font-size: .61rem;
    letter-spacing: .045em;
  }
  #inicio.hero .hero-actions .directions-button { font-size: .72rem; min-height: 44px; padding-inline: 0; }
  #inicio.hero .hero-footnote { display: none; }
  #inicio.hero .managed-photo::after {
    background: linear-gradient(180deg, #0c171329 0, transparent 72px,
      transparent calc(72px + var(--hero-mobile-portrait-height)),
      #0d1914f5 calc(104px + var(--hero-mobile-portrait-height)), #0d1914fa 100%);
  }
  #inicio.hero #heroTherapists .managed-caption {
    right: 20px;
    bottom: 98px;
    padding: 12px 16px;
    gap: 2px;
  }
  #inicio.hero #heroTherapists .managed-name { font-size: 1.55rem; }
  #inicio.hero #heroTherapists .managed-profession { font-size: .56rem; }
  #inicio.hero #heroTherapists .managed-caption::after { font-size: .65rem; margin-top: 5px; }
  #inicio.hero #heroCarouselStatus { font-size: .66rem; }
  #inicio.hero .hero-carousel-footer { right: 20px; }
  #inicio.hero .carousel-arrow, #inicio.hero .carousel-arrow.next { right: auto; }
  #inicio.hero .carousel-autoplay { font-size: .65rem; padding-inline: 10px; }
  #terapeutas, #sobre, #massagens { padding-block: 64px; }
  #terapeutas .th-in,
  body:not(.document-page) .strip-in,
  #sobre[data-spa-photos="paused"] .about-in,
  #massagens .svc-grid { width: calc(100% - 40px); }
  #terapeutas .th-hdr { margin-bottom: 26px; padding-bottom: 26px; }
  #terapeutas .th-hdr p { font-size: .9rem; }
  #terapeutas .team-tools { flex-direction: column; align-items: stretch; gap: 14px; }
  #terapeutas .team-tools .helper { max-width: none; }
  #terapeutas .team-search { flex: auto; width: 100%; }
  #terapeutas .team-search input { font-size: 16px; }
  #terapeutas .team-filter-controls { gap: 12px; margin-bottom: 24px; }
  #terapeutas .team-filter-controls button { padding-inline: 13px; font-size: .72rem; }
  #terapeutas #therapistGrid { gap: 27px; }
  #terapeutas #therapistGrid .managed-caption { padding: 21px 23px; }
  #terapeutas #therapistGrid .managed-name { font-size: 1.85rem; }
  body:not(.document-page) .strip { padding-block: 18px; }
  body:not(.document-page) .strip-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not(.document-page) .strip .si { padding: 22px 8px; }
  body:not(.document-page) .strip .si:nth-child(even) { border-right: 0; }
  body:not(.document-page) .strip .si:nth-child(-n+2) { border-bottom: 1px solid #d2b78233; }
  body:not(.document-page) .strip .num { font-size: 1.9rem; }
  body:not(.document-page) .strip .lbl { font-size: .58rem; letter-spacing: .08em; }
  #sobre[data-spa-photos="paused"] .about-text > p { font-size: .91rem; }
  #sobre .ck { font-size: .63rem; letter-spacing: .02em; }
  #massagens .sec-head { margin-bottom: 32px; padding-inline: 20px; }
  #massagens .sec-head p { font-size: .91rem; }
  #massagens .svc { padding: 27px 25px 19px; }
  #massagens .svc::before { margin-bottom: 20px; }
  #massagens .svc h3 { font-size: 1.8rem; }
  #massagens .svc p { font-size: .88rem; margin-bottom: 22px; }
  #massagens .svc-cta-wrap { margin-inline: 20px; }
  #massagens .svc-cta-wrap .btn-outline { width: 100%; padding-inline: 16px; font-size: .63rem; }
}
@media (prefers-reduced-motion: reduce) {
  #inicio.hero *, #terapeutas *, #massagens * { transition: none; }
}
