/* Painéis nativos de sobreposição: sem captura ou bloqueio do scroll. */
.services-section { overflow: visible; }
.services-section .section__head { margin-bottom: 30px; }
.services-intro { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:32px; color:var(--muted); font-size:14px; }
.services-intro > p { color:var(--gold-soft); }
.services-intro > span { display:flex; gap:10px; align-items:center; }
.services-intro .ic { transform:rotate(90deg); width:16px; }
.service-stack { position:relative; padding-bottom:8px; }
.service-panel { position:sticky; top:calc(var(--header-h) + 24px); margin-bottom:56px; min-height:610px; padding:28px 40px 22px; border-radius:30px; border:1px solid rgba(214,178,94,.3); background:linear-gradient(145deg,#191a1c,#101112 80%); box-shadow:0 -12px 38px rgba(0,0,0,.18),0 28px 60px rgba(0,0,0,.4); isolation:isolate; }
.service-panel:last-child { margin-bottom:0; }
.service-panel::before { content:""; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(ellipse at 90% 15%,rgba(214,178,94,.1),transparent 65%); z-index:-1; pointer-events:none; }
.service-panel:nth-child(even) { background:linear-gradient(145deg,#1b1c1f,#111315 80%); }
.service-panel__top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:20px; border-bottom:1px solid var(--line); color:var(--gold-soft); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.service-panel__top > span:first-child { font-size:22px; letter-spacing:-.03em; }
.service-panel__of { color:#737379; font-size:14px; }
.service-panel__top > .ic { width:25px; height:25px; }
.service-panel__grid { display:grid; grid-template-columns:1.25fr .75fr; gap:64px; align-items:center; padding:32px 0; }
.service-panel__copy h3 { font-size:clamp(30px,3.6vw,48px); line-height:1.1; font-weight:650; letter-spacing:-.035em; max-width:21ch; margin-bottom:16px; }
.service-panel__tagline { color:var(--gold-soft); font-size:17px; margin-bottom:12px; }
.service-panel__description { font-size:15px; color:#b4b4bc; max-width:57ch; margin-bottom:22px; }
.service-panel__list { display:grid; gap:10px; font-size:14px; color:#dedee3; margin-bottom:26px; }
.service-panel__list li { display:flex; align-items:flex-start; gap:10px; }
.service-panel__list .ic { color:var(--gold); width:17px; height:17px; margin-top:3px; }
.service-panel__link { white-space:normal; }
.service-panel__visual { padding:10px 0; min-width:0; }
.service-orbit { width:136px; height:136px; position:relative; display:grid; place-items:center; margin:0 auto 20px; }
.service-orbit > span { position:absolute; inset:0; border:1px solid rgba(214,178,94,.18); border-radius:50%; }
.service-orbit > span:nth-child(2) { inset:14px; border-style:dashed; transform:rotate(18deg); }
.service-orbit::after { content:""; position:absolute; left:11px; top:23px; width:9px; height:9px; background:var(--gold); border-radius:50%; box-shadow:0 0 18px rgba(214,178,94,.5); }
.service-orbit__core { display:grid; place-items:center; width:80px; height:80px; border-radius:24px; border:1px solid var(--line-gold); color:var(--gold-soft); background:linear-gradient(135deg,rgba(214,178,94,.13),rgba(214,178,94,.02)); transition:transform .7s var(--ease),box-shadow .7s; }
.service-orbit__core .ic { width:38px; height:38px; stroke-width:1.25; }
.service-panel__visual-title { text-align:center; font-size:16px; margin-bottom:20px; color:var(--gold-soft); }
.service-roadmap { display:grid; gap:9px; }
.service-roadmap li { display:flex; gap:14px; align-items:center; border-bottom:1px solid var(--line); padding:7px 0 12px; color:#b4b4bc; font-size:13px; }
.service-roadmap li > span { font-size:11px; color:var(--gold); }
.service-panel .card__metrics { margin:18px 0 0; }
.service-panel .card__metrics strong { font-size:16px; }
.service-panel__bottom { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:16px; font-size:10px; letter-spacing:.09em; color:#87878d; }
.ticker__track { gap:0; animation-duration:55s; }
.ticker__group { display:flex; align-items:center; gap:28px; padding-right:28px; flex-shrink:0; }
.ticker__toggle { position:absolute; z-index:2; right:14px; top:50%; transform:translateY(-50%); width:36px; height:36px; border:1px solid var(--line-gold); border-radius:50%; background:#161618; display:grid; place-items:center; color:var(--gold-soft); cursor:pointer; box-shadow:0 0 16px 12px #111113; }
.ticker__toggle .ic { width:16px; height:16px; }
.ticker.is-paused .ticker__track { animation-play-state:paused; }
@media (hover:hover) and (pointer:fine) {
 .service-panel:hover .service-orbit__core { transform:rotate(-6deg) scale(1.06); box-shadow:0 0 45px rgba(214,178,94,.12); }
 .ticker:hover .ticker__track { animation-play-state:paused; }
}
@media (max-width:920px) {
 .service-panel { padding:24px; min-height:560px; top:calc(var(--header-h) + 16px); }
 .service-panel__grid { gap:30px; grid-template-columns:1.2fr .8fr; }
 .service-panel__copy h3 { font-size:32px; }
}
@media (max-width:600px) {
 .services-intro { flex-direction:column; align-items:flex-start; gap:6px; font-size:12px; }
 .service-panel { padding:20px; border-radius:22px; margin-bottom:28px; min-height:0; }
 .service-panel__top { font-size:10px; gap:12px; padding-bottom:14px; }
 .service-panel__top > span:first-child { font-size:20px; white-space:nowrap; }
 .service-panel__grid { grid-template-columns:1fr; gap:18px; padding:22px 0; }
 .service-panel__copy h3 { font-size:29px; margin-bottom:12px; }
 .service-panel__tagline { font-size:15px; }
 .service-panel__description { font-size:14px; margin-bottom:16px; }
 .service-panel__list { font-size:12.5px; gap:8px; margin-bottom:22px; }
 .service-panel__visual { display:none; }
 .service-panel:has(.card__metrics) .service-panel__visual { display:block; padding:0; }
 .service-panel__visual .service-orbit,.service-panel__visual-title,.service-roadmap { display:none; }
 .service-panel .card__metrics { margin:0; }
 .service-panel__link { width:100%; }
 .service-panel__bottom { font-size:8px; gap:12px; letter-spacing:.03em; }
}
@media (max-height:740px) and (max-width:920px) { .service-panel { position:relative; top:auto; } }
@media (max-height:740px) and (min-width:921px) {
 .service-panel { min-height:0; top:calc(var(--header-h) + 12px); padding:20px 32px 18px; }
 .service-panel__grid { padding:20px 0; gap:48px; }
 .service-panel__copy h3 { font-size:34px; margin-bottom:12px; }
 .service-panel__description { font-size:14px; margin-bottom:16px; }
 .service-panel__list { gap:7px; margin-bottom:20px; font-size:13px; }
 .service-orbit { width:108px; height:108px; margin-bottom:14px; }
 .service-orbit__core { width:64px; height:64px; border-radius:20px; }
 .service-panel__visual-title { margin-bottom:10px; }
 .service-roadmap li { padding:5px 0 8px; }
}
@media (max-height:620px) { .service-panel { position:relative; top:auto; } }
@media (prefers-reduced-motion:reduce) {
 .service-panel { position:relative; top:auto; }
 .ticker { overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
 .ticker__track { animation:none; }
 .ticker__group[aria-hidden] { display:none; }
 .ticker__toggle { display:none; }
}

/* Catálogo complementar: compacto fechado, leitura ampla ao expandir. */
.services-intro > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--line-gold);
  border-radius: 999px;
  color: var(--gold-soft);
  font-size: 13px;
  font-weight: 600;
  background: rgba(214,178,94,.045);
  transition: background .25s, border-color .25s;
}
.services-intro > a .ic { width: 17px; height: 17px; transform: none; }
.services-intro > a:focus-visible {
  outline: 2px solid var(--gold-soft);
  outline-offset: 4px;
}
.services-more {
  position: relative;
  margin-top: clamp(56px, 7vw, 96px);
  scroll-margin-top: calc(var(--header-h) + 28px);
}
.services-more__head { max-width: 740px; margin: 0 0 30px; }
.services-more__head .title {
  margin-bottom: 14px;
  font-size: clamp(27px, 3.5vw, 40px);
  line-height: 1.16;
}
.services-more__head .text { max-width: 62ch; font-size: 15px; }
.service-catalog {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.service-compact {
  min-width: 0;
  border: 1px solid rgba(214,178,94,.18);
  border-radius: 20px;
  background: linear-gradient(145deg, #1c1c1c, #111214 82%);
  box-shadow: 0 10px 35px -24px rgba(0,0,0,.65);
  scroll-margin-top: calc(var(--header-h) + 24px);
  transition: border-color .3s, box-shadow .35s;
}
.service-compact__summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-rows: 36px minmax(48px,auto) auto;
  align-items: start;
  gap: 15px 12px;
  min-height: 188px;
  padding: 24px;
  border-radius: inherit;
  cursor: pointer;
  list-style: none;
  isolation: isolate;
  -webkit-tap-highlight-color: rgba(214,178,94,.10);
}
.service-compact__summary::-webkit-details-marker { display: none; }
.service-compact__summary::marker { content: ""; }
.service-compact__summary::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(ellipse at 10% 0, rgba(214,178,94,.12), transparent 70%);
  opacity: 0;
  transition: opacity .3s;
}
.service-compact__summary:focus-visible {
  outline: 2px solid var(--gold-soft);
  outline-offset: 4px;
}
.service-compact__icon {
  grid-column: 1;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line-gold);
  border-radius: 11px;
  background: rgba(214,178,94,.055);
  color: var(--gold-soft);
}
.service-compact__icon .ic { width: 21px; height: 21px; stroke-width: 1.5; }
.service-compact__number {
  grid-column: 2;
  justify-self: end;
  padding-top: 4px;
  color: #a49370;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .07em;
}
.service-compact__title {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  color: #eeebe4;
  font-size: clamp(16px, 1.5vw, 18px);
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.32;
  overflow-wrap: anywhere;
  hyphens: none;
}
.service-compact__hint {
  grid-column: 1 / -1;
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--gold-soft);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}
.service-compact__hint .ic {
  width: 15px;
  height: 15px;
  transition: transform .3s var(--ease);
}
.service-compact[open] {
  grid-column: 1 / -1;
  border-color: rgba(214,178,94,.48);
  background: linear-gradient(140deg,#211f1a,#131415 75%);
}
.service-compact[open] .service-compact__summary {
  grid-template-columns: 40px 28px minmax(0,1fr) auto;
  grid-template-rows: auto;
  min-height: 92px;
  gap: 14px;
  align-items: center;
  border-radius: 20px 20px 0 0;
}
.service-compact[open] .service-compact__icon { grid-column: 1; grid-row: 1; }
.service-compact[open] .service-compact__number { grid-column: 2; grid-row: 1; padding-top: 0; justify-self: start; }
.service-compact[open] .service-compact__title { grid-column: 3; grid-row: 1; font-size: clamp(18px, 2vw, 23px); }
.service-compact[open] .service-compact__hint { grid-column: 4; grid-row: 1; align-self: center; font-size: 0; }
.service-compact[open] .service-compact__hint::before { content: "Fechar detalhes"; font-size: 12px; }
.service-compact[open] .service-compact__hint .ic { transform: rotate(-90deg); }
.service-compact__body {
  display: grid;
  gap: 18px;
  margin: 0 24px;
  padding: 26px 0 30px;
  border-top: 1px solid rgba(214,178,94,.16);
  color: #bfc0c6;
  font-size: 15px;
  line-height: 1.65;
}
.service-compact__body > p { max-width: 78ch; margin: 0; }
.service-compact__body .service-compact__tagline { color: var(--gold-soft); font-size: 16px; }
.service-compact__body .service-panel__list { margin: 0; gap: 10px; }
.service-compact__body .card__metrics { width: min(100%, 560px); margin: 0; }
.service-compact__link { justify-self: start; max-width: 100%; white-space: normal; }
@media (hover:hover) and (pointer:fine) {
  .services-intro > a:hover { border-color: var(--gold); background: rgba(214,178,94,.10); }
  .service-compact:hover { border-color: rgba(214,178,94,.42); box-shadow: 0 13px 35px -24px rgba(214,178,94,.23); }
  .service-compact__summary:hover::before { opacity: 1; }
  .service-compact:not([open]) .service-compact__summary:hover .service-compact__hint .ic { transform: translateX(3px); }
}

/* Redução do espaço dos cinco painéis em telas largas. */
@media (min-width:921px) {
  .service-panel { min-height: 540px; margin-bottom: 32px; padding: 24px 34px 20px; }
  .service-panel:last-child { margin-bottom: 0; }
  .service-panel__grid { gap: 48px; padding: 25px 0; }
  .service-panel__top { padding-bottom: 17px; }
  .service-panel__copy h3 { font-size: clamp(30px,3.3vw,44px); margin-bottom: 14px; }
  .service-panel__description { margin-bottom: 18px; }
  .service-panel__list { gap: 9px; margin-bottom: 22px; }
  .service-orbit { width: 124px; height: 124px; margin-bottom: 16px; }
}
@media (min-width:921px) and (max-height:740px) {
  .service-panel { min-height: 0; padding: 20px 32px 18px; }
  .service-panel__grid { padding: 20px 0; gap: 40px; }
  .service-panel__copy h3 { font-size: 34px; margin-bottom: 12px; }
  .service-panel__description { font-size: 14px; margin-bottom: 16px; }
  .service-panel__list { gap: 7px; margin-bottom: 20px; font-size: 13px; }
  .service-orbit { width: 108px; height: 108px; margin-bottom: 14px; }
}
@media (max-width:920px) {
  .service-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .service-compact__summary { padding: 20px; }
  .service-compact[open] .service-compact__summary { gap: 10px; grid-template-columns: 36px 24px minmax(0,1fr); }
  .service-compact[open] .service-compact__hint { grid-column: 3; grid-row: 2; justify-self: start; }
  .service-compact__body { margin-inline: 20px; }
}
@media (max-width:600px) {
  .services-intro > a { font-size: 12px; padding: 9px 13px; gap: 8px; }
  .services-more { margin-top: 52px; }
  .services-more__head { margin-bottom: 24px; }
  .services-more__head .title { font-size: 28px; }
  .services-more__head .text { font-size: 14px; }
  .service-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .service-compact { border-radius: 15px; }
  .service-compact__summary { min-height: 184px; padding: 15px 13px; grid-template-rows: 32px minmax(60px,auto) auto; gap: 13px 5px; }
  .service-compact__icon { width: 32px; height: 32px; border-radius: 10px; }
  .service-compact__icon .ic { width: 19px; height: 19px; }
  .service-compact__number { font-size: 10px; }
  .service-compact__title { font-size: 14px; line-height: 1.38; }
  .service-compact__hint { gap: 6px; font-size: 10.5px; }
  .service-compact__hint .ic { width: 13px; height: 13px; }
  .service-compact[open] .service-compact__summary { padding: 20px 16px 18px; grid-template-columns: 32px 18px minmax(0,1fr); gap: 9px; border-radius: 15px 15px 0 0; }
  .service-compact[open] .service-compact__title { font-size: 18px; line-height: 1.32; }
  .service-compact[open] .service-compact__hint::before { font-size: 11px; }
  .service-compact__body { margin-inline: 16px; padding: 20px 0 24px; gap: 16px; font-size: 14px; }
  .service-compact__body .service-compact__tagline { font-size: 15px; }
  .service-compact__body .service-panel__list { font-size: 13px; }
  .service-compact__link { justify-self: stretch; width: 100%; font-size: 14px; }
}
@media (prefers-reduced-motion:reduce) {
  .services-intro > a, .service-compact, .service-compact__summary::before, .service-compact__hint .ic { transition: none; }
}
