/* O Reencontro — capability cover visual slice 01 */
.capability-cover {
  --cap-paper: #f2eadc;
  --cap-paper-soft: #fbf7ee;
  --cap-ink: #211915;
  --cap-copper: #c9683f;
  --cap-line: rgba(33, 25, 21, .17);
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(620px, 1.48fr);
  gap: clamp(2.5rem, 5vw, 7rem);
  min-height: 1180px;
  padding: clamp(7rem, 11vw, 10rem) clamp(1.4rem, 4.5vw, 6.5rem) clamp(6rem, 8vw, 9rem);
  overflow: clip;
  color: var(--cap-ink);
  background:
    radial-gradient(circle at 72% 32%, rgba(255, 255, 255, .96), rgba(255, 255, 255, 0) 34%),
    linear-gradient(145deg, var(--cap-paper-soft), var(--cap-paper) 62%);
  isolation: isolate;
}

.capability-cover::before {
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--cap-copper) 18%, #e6b772 47%, transparent 82%);
  box-shadow: 0 -18px 60px rgba(212, 119, 76, .28);
}

.capability-cover::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: .42;
  background-image:
    linear-gradient(rgba(33, 25, 21, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(33, 25, 21, .035) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 92%, transparent);
}

.capability-cover__intro {
  position: sticky;
  top: clamp(6.5rem, 12vh, 9rem);
  align-self: start;
  z-index: 4;
  max-width: 570px;
}

.capability-eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 2rem;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.capability-eyebrow span {
  display: grid;
  width: 2.1rem;
  height: 2.1rem;
  place-items: center;
  color: var(--cap-paper-soft);
  background: var(--cap-ink);
  border-radius: 50%;
}

.capability-cover h2 {
  max-width: 12ch;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.8rem, 5.4vw, 7.3rem);
  font-weight: 400;
  line-height: .86;
  letter-spacing: -.068em;
}

.capability-cover h2 em {
  display: inline-block;
  margin-top: .18em;
  color: var(--cap-copper);
  font-weight: 400;
}

.capability-lead {
  max-width: 39rem;
  margin: 2.2rem 0 0;
  color: rgba(33, 25, 21, .7);
  font-size: clamp(.92rem, 1.05vw, 1.13rem);
  line-height: 1.72;
}

.capability-enter {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.1rem;
  min-height: 58px;
  margin-top: 2.15rem;
  padding: .95rem 1rem .95rem 1.35rem;
  color: var(--cap-paper-soft);
  background: var(--cap-ink);
  border: 1px solid var(--cap-ink);
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);
}

.capability-enter span {
  display: grid;
  width: 2.1rem;
  height: 2.1rem;
  place-items: center;
  color: var(--cap-ink);
  background: var(--cap-paper-soft);
  border-radius: 50%;
  font-size: .95rem;
}

.capability-enter:hover { color: var(--cap-ink); background: transparent; transform: translateY(-3px); }
.capability-enter:hover span { color: var(--cap-paper-soft); background: var(--cap-ink); }

.capability-signals {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-top: 3.1rem;
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.capability-signals i { width: clamp(8px, 1.4vw, 22px); height: 1px; background: var(--cap-line); }
.capability-signals strong { color: var(--cap-copper); }

.capability-showcase { position: relative; min-width: 0; }

.capability-stage {
  position: relative;
  scroll-margin-top: 78px;
  min-height: clamp(730px, 70vw, 920px);
  padding: 1.1rem;
  background: rgba(255, 255, 255, .47);
  border: 1px solid rgba(33, 25, 21, .14);
  border-radius: 2rem;
  box-shadow: 0 40px 120px rgba(53, 39, 28, .16), inset 0 1px rgba(255, 255, 255, .9);
  backdrop-filter: blur(18px);
  transition: box-shadow .6s var(--ease), transform .6s var(--ease);
}

.capability-showcase.is-entered .capability-stage {
  box-shadow: 0 48px 160px rgba(201, 104, 63, .22), inset 0 1px rgba(255, 255, 255, .9);
  transform: translateY(-6px);
}

.capability-stage__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  padding: .1rem .35rem .8rem;
  color: rgba(33, 25, 21, .62);
  border-bottom: 1px solid var(--cap-line);
}

.capability-stage__topline p {
  margin: 0;
  font-size: .58rem;
  font-weight: 750;
  letter-spacing: .12em;
}

.capability-stage__topline p > span { color: var(--cap-copper); }
.capability-stage__topline strong { color: var(--cap-ink); }

.capability-play {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .45rem .72rem;
  color: var(--cap-ink);
  background: transparent;
  border: 1px solid var(--cap-line);
  border-radius: 999px;
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.capability-play i {
  display: block;
  width: 7px;
  height: 9px;
  border-left: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.capability-play[aria-pressed="true"] i {
  width: 0;
  height: 0;
  margin-left: 1px;
  border: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid currentColor;
}

.capability-deck {
  position: relative;
  height: clamp(570px, 56vw, 720px);
  margin-top: 1rem;
  perspective: 1800px;
  transform-style: preserve-3d;
}

.capability-card {
  --card-tilt-x: 0deg;
  --card-tilt-y: 0deg;
  position: absolute;
  top: 2%;
  left: 4%;
  z-index: 1;
  width: 88%;
  margin: 0;
  opacity: .44;
  filter: saturate(.72);
  cursor: pointer;
  transform-origin: center;
  transition: left .72s var(--ease), top .72s var(--ease), width .72s var(--ease), opacity .55s var(--ease), filter .55s var(--ease), transform .72s var(--ease);
}

.capability-card.is-active {
  z-index: 4;
  left: 6%;
  top: 0;
  width: 88%;
  opacity: 1;
  filter: none;
  cursor: default;
  transform: rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y)) translateZ(24px);
}

.capability-card.is-prev {
  z-index: 1;
  left: -22%;
  top: 14%;
  width: 70%;
  transform: rotateY(12deg) rotateZ(-4deg) scale(.78);
}

.capability-card.is-next {
  z-index: 2;
  left: 55%;
  top: 17%;
  width: 67%;
  transform: rotateY(-14deg) rotateZ(4deg) scale(.8);
}

.concept-browser {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(19, 15, 13, .2);
  border-radius: 1.25rem;
  box-shadow: 0 30px 85px rgba(26, 20, 16, .24);
  container-type: inline-size;
}

.concept-browser__chrome {
  display: grid;
  grid-template-columns: repeat(3, 7px) 1fr auto;
  align-items: center;
  gap: 5px;
  height: 34px;
  padding: 0 .75rem;
  color: rgba(255, 255, 255, .72);
  background: #171311;
  font-size: .46rem;
  letter-spacing: .06em;
}

.concept-browser__chrome i { width: 7px; height: 7px; background: rgba(255,255,255,.28); border-radius: 50%; }
.concept-browser__chrome i:first-child { background: #d56843; }
.concept-browser__chrome span { justify-self: center; }
.concept-browser__chrome b { font-size: .7rem; }

.concept-browser__viewport {
  position: relative;
  height: clamp(420px, 39vw, 545px);
  overflow: hidden;
  background: #12100f;
}

.concept-page {
  position: relative;
  width: 100%;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.capability-card__label {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: .85rem .3rem 0;
  color: var(--cap-ink);
}

.capability-card__label span { font-size: .55rem; font-weight: 850; letter-spacing: .12em; }
.capability-card__label strong { font-family: Georgia, serif; font-size: .8rem; font-weight: 400; font-style: italic; }

/* Launch universe */
.launch-page { color: #fff5e9; background: #120814; }
.launch-hero { position: relative; min-height: 600px; padding: 1.35rem 1.65rem 2.3rem; overflow: hidden; background: radial-gradient(circle at 78% 36%, #5b30ff 0, #2d1444 30%, transparent 58%), linear-gradient(145deg, #1b091b, #0b0710); }
.launch-hero::after { position: absolute; inset: 0; content: ""; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle at 55% 45%, #000, transparent 75%); }
.launch-hero nav { position: relative; z-index: 2; display:flex; justify-content:space-between; font-size:clamp(.42rem,1.15cqw,.72rem); letter-spacing:.1em; }
.launch-hero nav span { color: rgba(255,245,233,.58); }
.launch-date { position:absolute; z-index:2; top:24%; right:6%; display:flex; flex-direction:column; align-items:flex-end; color:#ffad78; }
.launch-date span { font-size:clamp(.4rem,1cqw,.66rem); font-weight:800; letter-spacing:.16em; }
.launch-date strong { font-family:Georgia,serif; font-size:clamp(2rem,7cqw,4.5rem); font-weight:400; line-height:.9; }
.launch-hero > p { position:absolute; z-index:2; top:18%; left:6%; width:26%; margin:0; color:rgba(255,245,233,.66); font-size:clamp(.48rem,1.25cqw,.82rem); line-height:1.5; }
.launch-hero h3 { position:absolute; z-index:2; left:5.5%; bottom:17%; margin:0; font-size:clamp(2.25rem,9.6cqw,6.3rem); line-height:.75; letter-spacing:-.07em; }
.launch-hero h3 em { color:#ff6847; font-family:Georgia,serif; font-weight:400; }
.launch-hero button { position:absolute; z-index:2; left:6%; bottom:5%; padding:.72rem 1rem; color:#170b18; background:#ffad78; border:0; border-radius:999px; font-size:clamp(.4rem,1cqw,.64rem); font-weight:900; letter-spacing:.08em; }
.launch-orb { position:absolute; z-index:1; top:15%; left:48%; width:36%; aspect-ratio:1; border:1px solid rgba(255,255,255,.35); border-radius:50%; box-shadow:inset -30px -20px 80px rgba(255,101,71,.5), 0 0 80px rgba(89,48,255,.45); }
.launch-orb i { position:absolute; inset:12%; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.launch-orb b { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.16); font-size:clamp(4rem,18cqw,12rem); }
.launch-statement { min-height:520px; padding:4rem 7%; color:#1b101a; background:#ffad78; }
.launch-statement > span,.launch-lineup > p { font-size:clamp(.42rem,1.05cqw,.68rem); font-weight:900; letter-spacing:.16em; }
.launch-statement h4 { max-width:10ch; margin:2.3rem 0 3.2rem; font-family:Georgia,serif; font-size:clamp(2rem,6.5cqw,4.4rem); font-weight:400; line-height:.9; letter-spacing:-.055em; }
.launch-statement > div { display:grid; grid-template-columns:3rem 1fr; gap:1rem; width:56%; margin-left:auto; padding:1.2rem 0; border-top:1px solid rgba(27,16,26,.3); }
.launch-statement > div b { font-size:.65rem; }
.launch-statement > div p { margin:0; font-size:clamp(.55rem,1.25cqw,.82rem); line-height:1.5; }
.launch-lineup { min-height:520px; padding:3rem 7%; background:#d4c7ff; color:#21152f; }
.launch-lineup > div { display:grid; grid-template-columns:5rem 1fr 25%; align-items:center; min-height:105px; border-bottom:1px solid rgba(33,21,47,.25); }
.launch-lineup span { font-size:.55rem; font-weight:800; }
.launch-lineup strong { font-family:Georgia,serif; font-size:clamp(1.7rem,5.2cqw,3.5rem); font-weight:400; }
.launch-lineup i { height:1px; background:#21152f; }
.launch-final { display:flex; min-height:500px; padding:4rem 7%; flex-direction:column; justify-content:center; background:#120814; }
.launch-final p,.launch-final span { font-size:.58rem; letter-spacing:.16em; }
.launch-final h4 { margin:2rem 0; color:#ff6847; font-size:clamp(3rem,9cqw,6rem); line-height:.82; }

/* Real-estate universe */
.estate-page { color:#f4eee5; background:#171817; }
.estate-hero { position:relative; min-height:650px; overflow:hidden; }
.estate-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.7) contrast(1.06); }
.estate-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,14,12,.42),rgba(11,14,12,.1) 40%,rgba(11,14,12,.78)),linear-gradient(90deg,rgba(11,14,12,.45),transparent 60%); }
.estate-hero nav { position:absolute; z-index:2; top:1.5rem; left:1.7rem; right:1.7rem; display:flex; justify-content:space-between; align-items:center; padding-bottom:1rem; border-bottom:1px solid rgba(255,255,255,.4); }
.estate-hero nav b { font-family:Georgia,serif; font-size:clamp(.9rem,2.4cqw,1.55rem); letter-spacing:.28em; }
.estate-hero nav span,.estate-hero > p { font-size:clamp(.4rem,1cqw,.65rem); letter-spacing:.16em; }
.estate-hero > p { position:absolute; z-index:2; left:1.7rem; bottom:10.5rem; }
.estate-hero h3 { position:absolute; z-index:2; left:1.6rem; bottom:4rem; margin:0; font-family:Georgia,serif; font-size:clamp(2.6rem,8cqw,5.5rem); font-weight:400; line-height:.82; letter-spacing:-.05em; }
.estate-hero h3 em { color:#d7b47b; }
.estate-spec { position:absolute; z-index:2; right:1.7rem; bottom:1.4rem; display:flex; align-items:center; gap:.7rem; font-size:clamp(.38rem,.9cqw,.58rem); letter-spacing:.11em; }
.estate-spec i { width:20px; height:1px; background:rgba(255,255,255,.5); }
.estate-intro { min-height:520px; padding:5rem 8%; color:#24241f; background:#e8e0d2; }
.estate-intro > span,.estate-copy span,.estate-final > span { font-size:clamp(.42rem,1cqw,.65rem); font-weight:800; letter-spacing:.16em; }
.estate-intro h4 { max-width:12ch; margin:2.2rem 0; font-family:Georgia,serif; font-size:clamp(2.2rem,7cqw,4.7rem); font-weight:400; line-height:.9; letter-spacing:-.055em; }
.estate-intro p { width:45%; margin-left:auto; color:rgba(36,36,31,.65); font-size:clamp(.55rem,1.25cqw,.82rem); line-height:1.6; }
.estate-gallery { display:grid; grid-template-columns:1.2fr .8fr; min-height:720px; background:#29312b; }
.estate-image { min-height:360px; background-image:linear-gradient(rgba(26,29,25,.15),rgba(26,29,25,.25)),url("assets/showroom/real-estate-villa.webp"); background-size:cover; }
.estate-image--one { background-position:70% center; }
.estate-image--two { grid-column:2; background-position:12% 75%; filter:sepia(.18) brightness(.75); }
.estate-copy { display:flex; padding:3rem; flex-direction:column; justify-content:center; }
.estate-copy strong { margin:1.5rem 0; color:#d7b47b; font-family:Georgia,serif; font-size:clamp(1.8rem,5cqw,3.4rem); font-weight:400; line-height:.95; }
.estate-copy p { color:rgba(244,238,229,.58); font-size:clamp(.52rem,1.15cqw,.76rem); line-height:1.6; }
.estate-final { min-height:520px; padding:4rem 8%; color:#302a24; background:#d7b47b; }
.estate-final h4 { margin:2.5rem 0 3rem; font-family:Georgia,serif; font-size:clamp(2.5rem,8cqw,5.4rem); font-weight:400; line-height:.85; letter-spacing:-.05em; }
.estate-final button { padding:.8rem 1rem; color:#ede4d6; background:#302a24; border:0; font-size:.55rem; letter-spacing:.1em; }

/* Pet universe */
.pet-page { color:#172058; background:#bef05d; }
.pet-hero { position:relative; min-height:620px; padding:1.25rem 1.5rem 2rem; overflow:hidden; background:linear-gradient(135deg,#c7f366,#9debd1); }
.pet-hero::before { position:absolute; inset:auto -12% -22% 38%; width:72%; aspect-ratio:1; content:""; background:#6b53ff; border-radius:50%; }
.pet-hero nav { position:relative; z-index:4; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:1rem; }
.pet-hero nav b { color:#2a3dff; font-size:clamp(1rem,3.5cqw,2.3rem); letter-spacing:-.09em; }
.pet-hero nav span { font-size:clamp(.4rem,1cqw,.65rem); font-weight:850; letter-spacing:.1em; }
.pet-hero nav i { display:grid; width:28px; height:28px; place-items:center; color:#fff; background:#ff5d7a; border-radius:50%; font-style:normal; font-size:.7rem; }
.pet-hero > img { position:absolute; z-index:2; right:-3%; bottom:-2%; width:55%; height:68%; object-fit:cover; object-position:center 58%; clip-path:ellipse(47% 48% at 50% 50%); filter:saturate(.75) contrast(1.12); mix-blend-mode:luminosity; }
.pet-hero > p { position:absolute; z-index:3; top:20%; left:4.8%; margin:0; font-size:clamp(.42rem,1.1cqw,.7rem); font-weight:850; letter-spacing:.12em; line-height:1.5; }
.pet-hero h3 { position:absolute; z-index:3; left:4.5%; bottom:14%; margin:0; font-size:clamp(2.8rem,10.3cqw,7rem); line-height:.72; letter-spacing:-.075em; }
.pet-hero h3 em { color:#ff4168; font-style:normal; }
.pet-hero button { position:absolute; z-index:4; left:5%; bottom:4%; padding:.68rem .9rem; color:#fff; background:#2a3dff; border:0; border-radius:999px; font-size:clamp(.38rem,.9cqw,.58rem); font-weight:850; }
.pet-burst { position:absolute; z-index:4; top:15%; right:5%; display:grid; width:18%; aspect-ratio:1; place-items:center; color:#172058; background:#ffdb4a; border-radius:48% 52% 53% 47% / 56% 45% 55% 44%; font-size:clamp(.52rem,1.4cqw,.9rem); font-weight:950; line-height:.9; text-align:center; transform:rotate(9deg); }
.pet-marquee { overflow:hidden; padding:.8rem 0; color:#fff; background:#ff4168; font-size:clamp(.68rem,1.8cqw,1.15rem); font-weight:900; white-space:nowrap; }
.pet-marquee span { display:block; width:max-content; transform:translateX(-4%); }
.pet-products { min-height:570px; padding:4rem 6%; color:#172058; background:#f7f0e6; }
.pet-products > span,.pet-club span { font-size:clamp(.42rem,1cqw,.64rem); font-weight:900; letter-spacing:.14em; }
.pet-products h4 { margin:1.7rem 0 3rem; font-size:clamp(2.3rem,7.4cqw,5rem); line-height:.83; letter-spacing:-.06em; }
.pet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.pet-grid article { min-height:180px; padding:1.2rem; border-radius:1.2rem; }
.pet-grid article:nth-child(1) { background:#c7f366; }
.pet-grid article:nth-child(2) { color:#fff; background:#6b53ff; }
.pet-grid article:nth-child(3) { background:#ffdb4a; }
.pet-grid i { display:block; margin-bottom:3rem; font-style:normal; font-size:.55rem; }
.pet-grid b { display:block; font-size:clamp(.65rem,1.4cqw,.95rem); }
.pet-grid p { font-size:clamp(.48rem,1cqw,.67rem); line-height:1.45; }
.pet-club { display:grid; grid-template-columns:1fr .8fr; min-height:520px; padding:4rem 6%; color:#fff; background:#2a3dff; }
.pet-club h4 { margin:1.7rem 0; font-size:clamp(2.2rem,6.5cqw,4.5rem); line-height:.84; }
.pet-club p { width:75%; color:rgba(255,255,255,.7); font-size:clamp(.5rem,1.1cqw,.73rem); line-height:1.55; }
.pet-club button { margin-top:1rem; padding:.7rem 1rem; color:#172058; background:#c7f366; border:0; border-radius:999px; font-size:.52rem; font-weight:900; }
.pet-club > b { align-self:center; color:#ffdb4a; font-size:clamp(3rem,9cqw,6.2rem); line-height:.72; transform:rotate(-5deg); }

.capability-controls {
  position: absolute;
  z-index: 8;
  right: 1.4rem;
  bottom: 1.15rem;
  left: 1.4rem;
  display: grid;
  grid-template-columns: 1fr minmax(160px, .52fr);
  align-items: end;
  gap: 1.2rem;
}

.capability-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; }
.capability-tabs button { display:flex; min-height:46px; padding:.65rem .75rem; align-items:center; gap:.6rem; color:rgba(33,25,21,.55); background:rgba(255,255,255,.48); border:1px solid var(--cap-line); border-radius:.75rem; font-size:clamp(.5rem,.7vw,.65rem); font-weight:800; text-align:left; transition:.3s var(--ease); }
.capability-tabs button span { color:var(--cap-copper); font-size:.48rem; }
.capability-tabs button[aria-selected="true"] { color:var(--cap-paper-soft); background:var(--cap-ink); transform:translateY(-3px); }

.capability-scrub { display:grid; gap:.55rem; }
.capability-scrub span { font-size:.48rem; font-weight:850; letter-spacing:.13em; }
.capability-scrub input { width:100%; height:2px; margin:0; accent-color:var(--cap-copper); cursor:ew-resize; }

.capability-showcase__caption { display:grid; grid-template-columns:.5fr 1fr; gap:2rem; margin:1.5rem 1rem 0; padding-top:1.35rem; border-top:1px solid var(--cap-line); }
.capability-showcase__caption span { color:var(--cap-copper); font-size:.54rem; font-weight:900; letter-spacing:.13em; }
.capability-showcase__caption p { max-width:43rem; margin:0; color:rgba(33,25,21,.64); font-family:Georgia,serif; font-size:clamp(1rem,1.4vw,1.35rem); line-height:1.35; }

@media (max-width: 1180px) {
  .capability-cover { grid-template-columns:minmax(270px,.65fr) minmax(560px,1.35fr); gap:2.5rem; padding-inline:2rem; }
  .capability-cover h2 { font-size:clamp(3.6rem,5.6vw,5.6rem); }
  .capability-signals { flex-wrap:wrap; }
  .capability-stage { min-height:790px; }
  .capability-deck { height:620px; }
  .capability-controls { grid-template-columns:1fr; }
  .capability-scrub { grid-template-columns:auto 1fr; align-items:center; }
}

@media (max-width: 900px) {
  .capability-cover { display:block; min-height:auto; padding:6.5rem 1rem 5rem; }
  .capability-cover__intro { position:relative; top:auto; max-width:720px; margin:0 auto 4.5rem; }
  .capability-cover h2 { max-width:11ch; font-size:clamp(3.5rem,10.5vw,6rem); }
  .capability-lead { max-width:33rem; }
  .capability-showcase { max-width:760px; margin:0 auto; }
  .capability-stage { min-height:760px; }
  .capability-deck { height:590px; }
  .concept-browser__viewport { height:490px; }
}

@media (max-width: 620px) {
  .capability-cover { padding-top:5.25rem; }
  .capability-eyebrow { margin-bottom:1.5rem; }
  .capability-cover h2 { font-size:clamp(3.25rem,15vw,5.2rem); line-height:.87; }
  .capability-lead { font-size:.86rem; }
  .capability-enter { width:100%; gap:1rem; margin-top:1.6rem; font-size:.57rem; }
  .capability-signals { gap:.42rem; margin-top:2rem; font-size:.43rem; }
  .capability-signals i { flex:1; }
  .capability-stage { min-height:690px; padding:.7rem; border-radius:1.2rem; }
  .capability-stage__topline { padding-inline:.1rem; }
  .capability-stage__topline p { font-size:.49rem; }
  .capability-play span { display:none; }
  .capability-play { width:34px; height:34px; padding:0; justify-content:center; }
  .capability-deck { height:510px; margin-top:.65rem; }
  .capability-card,.capability-card.is-active { left:0; top:0; width:100%; transform:none; }
  .capability-card.is-prev,.capability-card.is-next { display:none; }
  .concept-browser { border-radius:.85rem; }
  .concept-browser__viewport { height:410px; }
  .capability-card__label strong { display:none; }
  .capability-controls { right:.8rem; bottom:.8rem; left:.8rem; gap:.8rem; }
  .capability-tabs { gap:.25rem; }
  .capability-tabs button { min-height:42px; padding:.5rem; justify-content:center; font-size:0; }
  .capability-tabs button span { font-size:.58rem; }
  .capability-tabs button::after { font-size:.52rem; }
  .capability-tabs button:nth-child(1)::after { content:"Lançamento"; }
  .capability-tabs button:nth-child(2)::after { content:"Imobiliária"; }
  .capability-tabs button:nth-child(3)::after { content:"Petshop"; }
  .capability-scrub { grid-template-columns:1fr; }
  .capability-scrub span { display:none; }
  .capability-showcase__caption { grid-template-columns:1fr; gap:.65rem; margin-inline:.4rem; }
  .launch-hero { min-height:520px; }
  .launch-statement,.launch-lineup,.launch-final,.estate-intro,.estate-final,.pet-products,.pet-club { min-height:460px; }
  .launch-statement > div { width:76%; }
  .estate-hero { min-height:560px; }
  .estate-intro p { width:70%; }
  .estate-gallery { min-height:620px; }
  .pet-hero { min-height:540px; }
  .pet-grid article { min-height:145px; padding:.75rem; }
  .pet-grid i { margin-bottom:1.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .capability-card,
  .capability-stage,
  .capability-enter,
  .capability-tabs button,
  .concept-page { transition-duration:.01ms !important; }
  .capability-play { display:none; }
}
