/* Home validada — narrativa experiência → cuidado → ecossistema. */
:root {
  --hx-red: #871313;
  --hx-paper: #f5f4f1;
  --hx-ink: #161616;
  --hx-pad: clamp(22px, 5vw, 72px);
  --hx-content: 1180px;
  --hx-space: clamp(64px, 8vw, 112px);
}

#page-home .motion-breath__panel[hidden],
#page-home .motion-breath__next[hidden],
#page-home .home-grid-breath[hidden],
#page-home .tp-wrap[hidden] { display: none !important; }

.hx-intro {
  min-height: 58svh;
  display: flex;
  align-items: center;
  padding: var(--hx-space) var(--hx-pad);
  overflow: hidden;
  background: #fff;
  color: var(--hx-red);
}
.hx-intro__copy {
  width: min(100%, var(--hx-content));
  margin-inline: auto;
  text-align: center;
}
.hx-eyebrow {
  display: block;
  margin-bottom: clamp(16px, 2vw, 24px);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .2em;
  text-transform: uppercase;
  opacity: .62;
}
.hx-intro h1 {
  margin: 0;
  font-size: clamp(42px, 6.25vw, 90px);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hx-experiences {
  --hx-gap: clamp(12px, 1.4vw, 20px);
  padding: var(--hx-space) var(--hx-pad);
  background: var(--hx-red);
  color: #fff;
}
.hx-experiences__header {
  width: min(100%, var(--hx-content));
  margin-inline: auto;
  padding-bottom: clamp(40px, 5vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  grid-template-rows: auto 1fr;
  column-gap: var(--hx-gap);
  align-items: end;
}
.hx-experiences__header .hx-eyebrow { grid-column: 1; grid-row: 1; color: #fff; opacity: .72; }
.hx-experiences__title {
  grid-column: 1;
  grid-row: 2;
  max-width: 11ch;
  margin: 0;
  font-size: clamp(48px, 6.4vw, 92px);
  font-weight: 500;
  line-height: .94;
  letter-spacing: -.05em;
}
.hx-experiences__lead {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 34ch;
  margin: 0 0 4px;
  color: rgba(255,255,255,.84);
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.45;
}
.hx-experiences__grid {
  width: min(100%, var(--hx-content));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  grid-template-rows: repeat(4, minmax(210px, 24vh));
  gap: var(--hx-gap);
}
.hx-card {
  position: relative;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: var(--hx-red);
  color: #fff;
  perspective: 2600px;
  isolation: isolate;
  cursor: pointer;
}
.hx-card--feature { grid-column: 1; grid-row: 1 / span 4; }
.hx-card:not(.hx-card--feature) { grid-column: 2; }
.hx-card__rotor {
  position: absolute;
  inset: 0;
  background: var(--hx-red);
  transform-style: preserve-3d;
  will-change: transform;
}
.hx-card.is-flipped .hx-card__rotor { transform: rotateY(-180deg); }
.hx-card__face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--hx-red);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.hx-card__face--back { transform: rotateY(180deg); }
.hx-card__face::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,2,2,.02) 32%, rgba(15,2,2,.88) 100%);
}
.hx-card__face--back::after { background: linear-gradient(180deg, rgba(15,2,2,.04) 26%, rgba(15,2,2,.9)); }
.hx-card img, .hx-card video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.22,1,.36,1);
}
.hx-card:hover .hx-card__face--front img,
.hx-card:focus-within .hx-card__face--front img { transform: scale(1.025); }
.hx-card__media--stage { object-position: center 38%; }
.hx-card img.hx-card__media--ritual { object-fit: cover; object-position: center 65%; }
.hx-card__media--run { object-position: center 46%; }
.hx-card__media--run-detail { object-position: center 34%; }
.hx-card__media--checkpoint { object-position: center 44%; }
.hx-card__media--reset { object-position: center 48%; }
.hx-card__media--belonging { object-position: center 60%; }
.hx-card__media--group { object-position: center 44%; }
.hx-card__copy {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(24px, 3.4vw, 48px);
}
.hx-card__index {
  display: block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .82;
}
.hx-card h3 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(28px, 3.2vw, 52px);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.035em;
}
.hx-card:not(.hx-card--feature) h3 { font-size: clamp(25px, 2.4vw, 38px); }
.hx-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 22px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--hx-red);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition: transform .25s ease, background .25s ease;
}
.hx-card__button:hover { transform: translateY(-2px); background: var(--hx-paper); }
.hx-card:focus-visible, .hx-card__button:focus-visible { outline: 3px solid #d2ae6d; outline-offset: 3px; }

.hx-breath {
  min-height: 51vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: var(--hx-space) var(--hx-pad);
  background: #fff;
  color: var(--hx-red);
}
.hx-breath__inner { width: min(100%, var(--hx-content)); margin-inline: auto; }
.hx-breath__copy {
  margin: 0;
  font-size: clamp(46px, 8vw, 108px);
  font-weight: 500;
  line-height: .92;
  letter-spacing: -.055em;
}
.hx-breath__rule { display: block; width: 100%; height: 1px; margin-bottom: clamp(34px,5vw,62px); background: rgba(135,19,19,.42); transform-origin: left; }
.hx-breath__line { display: block; overflow: hidden; padding: .08em 0 .14em; margin: -.08em 0 -.14em; }
.hx-breath__line i { display: block; font-style: normal; }

.hx-care { background: #fff; }
.hx-care__grid {
  min-height: 100vh;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(2, minmax(360px, 50vh));
  gap: 2px;
  overflow: hidden;
  background: #fff;
}
.hx-care__tile { position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: var(--hx-pad); background: var(--hx-red); color: #fff; }
.hx-care__tile:nth-child(1), .hx-care__tile:nth-child(4) { grid-column: span 5; }
.hx-care__tile:nth-child(2), .hx-care__tile:nth-child(3) { grid-column: span 7; }
.hx-care__tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hx-care__tile--team { background: #fff; }
.hx-care__tile--team img { inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); }
.hx-care__tile--consultation img { object-position: center top; }
@media (min-width: 761px) {
  .hx-care__tile--consultation img { object-position: center center; }
}
.hx-care__tile--overlay::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(24,3,3,.82)); }
.hx-care__copy { position: relative; z-index: 2; margin: 0; font-size: clamp(24px,3.3vw,52px); font-weight: 700; line-height: .95; text-transform: uppercase; }

.hx-cta {
  min-height: 70vh;
  display: grid;
  grid-template-columns: minmax(0, 57fr) minmax(340px, 43fr);
  overflow: hidden;
  background: var(--hx-red);
  color: #fff;
}
.hx-cta__visual { grid-column: 1; grid-row: 1; min-height: 70vh; margin: 0; overflow: hidden; position: relative; }
.hx-cta__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(135,19,19,.36),transparent 42%); }
.hx-cta__visual img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
.hx-cta__content { grid-column: 2; grid-row: 1; display: flex; justify-content: center; align-items: flex-start; flex-direction: column; gap: 34px; padding: var(--hx-pad); }
.hx-cta h2 { max-width: 10ch; margin: 0; font-size: clamp(36px,4vw,56px); font-weight: 400; line-height: 1.08; letter-spacing: -1.4px; }
.hx-cta__button { display: inline-flex; align-items: center; min-height: 52px; padding: 16px 28px; border-radius: 999px; background: #fff; color: var(--hx-red); font-size: 17px; font-weight: 500; transition: transform .25s ease, background .25s ease; }
.hx-cta__button:hover { transform: translateY(-2px); background: var(--hx-paper); }
.hx-cta__button:focus-visible { outline: 3px solid #d2ae6d; outline-offset: 4px; }

@media (max-width: 760px) {
  .hx-card__copy { padding-bottom: 80px; }
  .hx-card__details { display: inline-flex; position: absolute; bottom: 18px; left: 24px; z-index: 3; min-height: 44px; padding: 10px 16px; border: 1px solid #fff; border-radius: 999px; background: var(--hx-red); color: #fff; font: inherit; cursor: pointer; }
  .hx-carousel-controls { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 16px; align-items: center; }
  .hx-carousel-controls button { min-width: 44px; min-height: 44px; padding: 8px; border: 1px solid #ffffff80; border-radius: 24px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
  .hx-carousel-controls button[aria-current="true"] { background: #fff; color: var(--hx-red); }
  .hx-carousel-controls button:last-child { margin-left: auto; padding-inline: 14px; }
  .hx-card__details:focus-visible, .hx-carousel-controls button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
  #page-home .hero-video { height: 100svh; }
  #page-home .hero-scroll-cue { bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
  .hx-intro { min-height: 50svh; padding: 84px 20px 52px; }
  .hx-intro h1 { font-size: clamp(36px,12vw,64px); line-height: 1.08; white-space: normal; }
  .hx-experiences { padding: 56px 20px; }
  .hx-experiences__header { display: block; padding-bottom: 40px; }
  .hx-experiences__title { font-size: clamp(44px,13vw,64px); line-height: .98; }
  .hx-experiences__lead { max-width: 30ch; margin-top: 24px; }
  .hx-experiences__grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .hx-experiences__grid::-webkit-scrollbar { display: none; }
  .hx-card, .hx-card--feature, .hx-card:not(.hx-card--feature) { flex: 0 0 100%; min-height: max(440px, 58svh); grid-column: auto; grid-row: auto; scroll-snap-align: center; }
  .hx-card__copy { padding: 24px 24px 80px; }
  .hx-card h3, .hx-card:not(.hx-card--feature) h3 { font-size: 34px; }
  .hx-card__media--stage { object-position: center 34%; }
  .hx-card__media--run-detail { object-position: center 30%; }
  .hx-breath { min-height: 50svh; padding: 64px 20px; }
  .hx-breath__copy { font-size: clamp(46px,14vw,68px); }
  .hx-care__grid { display: flex; min-height: 0; flex-direction: column; }
  .hx-care__tile { min-height: 58vh; padding: 28px 20px; }
  .hx-cta { grid-template-columns: 1fr; }
  .hx-cta__visual { grid-column: 1; grid-row: 1; min-height: 48vh; }
  .hx-cta__content { grid-column: 1; grid-row: 2; min-height: 48vh; padding: 52px 20px; }
}

@media (min-width: 761px) { .hx-card__details { display: none; } }

@media (prefers-reduced-motion: reduce) {
  .hx-card__rotor, .hx-card img, .hx-card video, .hx-cta__button { transition: none; }
}
