/*
 * Home: linguagem própria, diferente das páginas de solução.
 * Foto em tela cheia, manifesto editorial com Highlighter, explorador de soluções em abas,
 * Orbiting Circles (estrutura 360), cartões empilhados, faixas em gráfico, Shine Border, Ripple no mapa.
 * Reaproveita de solution.css: .ico, .dot-pattern, .btn--shine, [data-spotlight], Number Ticker, Text Animate.
 */

/* ---------- Hero em tela cheia ---------- */
.hm-hero{ position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; min-height:min(100svh, 920px); overflow:hidden; background:var(--navy-900); color:#fff; }
.hm-hero__photo, .hm-hero__photo img{ position:absolute; inset:0; width:100%; height:100%; }
.hm-hero__photo{ z-index:-2; }
.hm-hero__photo img{ object-fit:cover; object-position:70% 30%; border-radius:0; }
.hm-hero__shade{ position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(8,23,43,0) 0%, rgba(8,23,43,.25) 22%, rgba(8,23,43,.88) 42%, var(--navy-900) 58%); }
.hm-hero__inner{ padding-top:45vh; padding-bottom:var(--s-5); }
.hm-hero h1{ color:#fff; font-size:clamp(2.75rem, 1.5rem + 5.4vw, 5.75rem); line-height:.98; letter-spacing:-.035em; max-width:12ch; }
.hm-hero__lead{ margin-top:var(--s-3); max-width:36rem; color:var(--slate-300); }
.hm-hero .btn-row{ margin-top:var(--s-4); }
@media (min-width:768px){
  .hm-hero__shade{ background:linear-gradient(90deg, var(--navy-900) 0%, rgba(8,23,43,.92) 34%, rgba(8,23,43,.35) 62%, rgba(8,23,43,.1) 100%), linear-gradient(0deg, var(--navy-900) 0%, transparent 30%); }
  .hm-hero__inner{ padding-top:clamp(160px, 22vh, 260px); padding-bottom:var(--s-6); }
  .hm-hero__photo img{ object-position:center; }
}

/* Word Rotate (Magic UI): palavras giram na vertical. */
.hm-rotate{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 .4em; margin:0 0 var(--s-3); max-width:none; font:600 var(--fs-label)/1.4 var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:var(--slate-300); }
.hm-rotate::before{ content:""; width:32px; height:1px; align-self:center; background:var(--gold-500); margin-right:4px; }
.hm-rotate__words{ position:relative; display:inline-grid; overflow:hidden; color:var(--gold-400); }
.hm-rotate__words > span{ grid-area:1 / 1; }
.js .hm-rotate__words > span{ opacity:0; transform:translateY(-100%); transition:opacity 250ms var(--ease), transform 250ms var(--ease); }
.js .hm-rotate__words > span.is-on{ opacity:1; transform:none; }
.js .hm-rotate__words > span.is-off{ opacity:0; transform:translateY(100%); }
html:not(.js) .hm-rotate__words > span + span{ display:none; }

/* Ticker de cotações (TradingView) numa faixa de vidro. */
.hm-ticker{ position:relative; min-height:46px; background:rgba(8,23,43,.72); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-top:1px solid rgba(174,185,201,.16); }
.hm-ticker .tradingview-widget-container{ width:100%; }
.hm-ticker .tradingview-widget-copyright{ display:none; }

/* ---------- Manifesto com Highlighter ---------- */
.hm-manifesto{ padding-top:var(--s-7); }
.hm-manifesto .grid{ align-items:end; }
.hm-manifesto__title{ font-size:clamp(2rem, 1.3rem + 3vw, 3.75rem); line-height:1.06; letter-spacing:-.03em; max-width:16ch; }
.hm-manifesto__copy p{ color:var(--text-2); }
.hm-mark{ position:relative; white-space:nowrap; }
.hm-mark svg{ position:absolute; left:-2%; bottom:-.12em; width:104%; height:.42em; overflow:visible; fill:none; stroke:var(--gold-500); stroke-width:7; stroke-linecap:round; z-index:-1; opacity:.85; }
.hm-mark{ isolation:isolate; }
.hm-mark path{ stroke-dasharray:340; stroke-dashoffset:0; }
.js .hm-mark path{ stroke-dashoffset:340; }
.js .hm-mark.is-in path{ stroke-dashoffset:0; transition:stroke-dashoffset 900ms cubic-bezier(.65,0,.35,1) 300ms; }
@media (max-width:479.98px){ .hm-mark{ white-space:normal; } }

.hm-principles{ list-style:none; margin:var(--s-6) 0 0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s-4) var(--gutter); }
.hm-principles li{ padding-top:var(--s-2); border-top:1px solid var(--ink); }
.hm-principles__k{ display:block; font:600 1.125rem/1.3 var(--font-display); }
.hm-principles p{ margin-top:var(--s-1); color:var(--text-2); font-size:var(--fs-small); }
@media (min-width:1024px){ .hm-principles{ grid-template-columns:repeat(4, minmax(0,1fr)); } }

/* ---------- Explorador de soluções (abas) ---------- */
.hm-solutions{ background:var(--surface-2); }
.hm-explorer{ display:grid; gap:var(--s-4); }
.hm-explorer__tabs{ display:flex; flex-direction:column; border-top:1px solid var(--line-2); }
.hm-tab{ position:relative; display:grid; grid-template-columns:40px minmax(0,1fr); grid-template-rows:auto auto; column-gap:var(--s-2); padding:var(--s-3) var(--s-2) var(--s-3) 0; border-bottom:1px solid var(--line-2); color:var(--text-3); text-decoration:none; transition:color 200ms var(--ease), padding 300ms var(--ease); }
.hm-tab::before{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--gold-500); transform:scaleX(0); transform-origin:left; transition:transform 450ms var(--ease); }
.hm-tab__n{ grid-row:1 / span 2; font:600 .875rem/2.2 var(--font-display); color:var(--gold-700); }
.hm-tab__name{ font:600 clamp(1.375rem, 1.1rem + 1.2vw, 2.125rem)/1.15 var(--font-display); letter-spacing:-.02em; }
.hm-tab__hint{ font-size:var(--fs-small); }
.hm-tab:hover{ color:var(--ink); }
.hm-tab[aria-selected="true"]{ color:var(--ink); padding-left:var(--s-2); }
.hm-tab[aria-selected="true"]::before{ transform:scaleX(1); }
.hm-explorer__panels{ display:grid; gap:var(--s-3); }
.hm-panel{ display:grid; overflow:hidden; border-radius:16px; background:var(--surface); border:1px solid var(--line-2); box-shadow:0 30px 60px -40px rgba(8,23,43,.45); }
.hm-panel img{ width:100%; aspect-ratio:16 / 9; object-fit:cover; border-radius:0; }
.hm-panel__body{ padding:var(--s-4); }
.hm-panel h3{ font-size:clamp(1.5rem, 1.3rem + .8vw, 2rem); }
.hm-panel__body > p{ margin-top:var(--s-2); color:var(--text-2); }
.hm-panel__steps{ list-style:none; counter-reset:st; margin:var(--s-3) 0 0; padding:0; display:grid; gap:var(--s-1); }
.hm-panel__steps li{ counter-increment:st; display:grid; grid-template-columns:28px minmax(0,1fr); gap:var(--s-1); color:var(--ink); }
.hm-panel__steps li::before{ content:counter(st); display:grid; place-items:center; width:22px; height:22px; margin-top:2px; border-radius:50%; background:var(--navy-900); color:var(--gold-400); font:600 .75rem/1 var(--font-display); }
.hm-panel .small{ margin-top:var(--s-2); }
.hm-link{ display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:var(--s-3); font-weight:600; color:var(--navy-700); text-decoration:none; border-bottom:1px solid var(--gold-500); }
.hm-link .ico{ transition:transform 200ms var(--ease); }
.hm-link:hover .ico{ transform:translateX(4px); }
/* Com JS: um painel por vez, com troca suave. */
.hm-explorer.is-ready .hm-explorer__panels{ grid-template-areas:"p"; }
.hm-explorer.is-ready .hm-panel{ grid-area:p; visibility:hidden; opacity:0; transform:translateY(12px) scale(.985); transition:opacity 400ms var(--ease), transform 500ms var(--ease), visibility 0s 400ms; }
.hm-explorer.is-ready .hm-panel.is-active{ visibility:visible; opacity:1; transform:none; transition:opacity 400ms var(--ease), transform 500ms var(--ease), visibility 0s; }
.hm-explorer.is-ready .hm-panel.is-active img{ animation:hm-zoom 1.4s var(--ease) both; }
@keyframes hm-zoom{ from{ transform:scale(1.08); } to{ transform:none; } }
@media (min-width:1024px){
  .hm-explorer{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--s-6); align-items:start; }
  .hm-panel{ grid-template-columns:1fr; }
  .hm-explorer.is-ready .hm-explorer__panels{ position:sticky; top:100px; }
}

/* ---------- Faixa da Securitizadora ---------- */
.hm-range{ position:relative; overflow:hidden; background:var(--navy-800); color:#fff; padding-block:var(--s-6); }
.hm-range__stripes{ position:absolute; inset:0; background:repeating-linear-gradient(-45deg, rgba(216,185,104,.07) 0 1px, transparent 1px 14px); -webkit-mask-image:linear-gradient(90deg, transparent, #000 60%); mask-image:linear-gradient(90deg, transparent, #000 60%); }
.hm-range__inner{ position:relative; display:grid; gap:var(--s-4); align-items:center; justify-items:start; }
.hm-range h2{ color:#fff; font-size:clamp(1.625rem, 1.3rem + 1.4vw, 2.5rem); max-width:18ch; }
.hm-range__scale{ display:grid; grid-template-columns:auto minmax(40px,1fr) auto; align-items:end; gap:var(--s-2); }
.hm-range__lbl{ display:block; font-size:var(--fs-small); color:var(--slate-300); }
.hm-range__val{ display:block; font:600 clamp(1.5rem, 1.1rem + 1.8vw, 2.5rem)/1.1 var(--font-display); color:var(--gold-400); font-variant-numeric:tabular-nums; white-space:nowrap; }
.hm-range__track{ position:relative; height:2px; margin-bottom:.9em; background:rgba(174,185,201,.2); }
.hm-range__track span{ position:absolute; inset:0; background:linear-gradient(90deg, var(--gold-700), var(--gold-400)); transform-origin:left; }
.hm-range__track span::after{ content:""; position:absolute; right:-4px; top:-4px; width:10px; height:10px; border-radius:50%; background:var(--gold-400); box-shadow:0 0 12px var(--gold-400); }
.js .hm-range__inner[data-reveal] .hm-range__track span{ transform:scaleX(0); }
.js .hm-range__inner[data-reveal].is-in .hm-range__track span{ transform:none; transition:transform 1500ms cubic-bezier(.16,1,.3,1) 300ms; }
@media (min-width:1024px){ .hm-range__inner{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:var(--s-6); row-gap:var(--s-3); } .hm-range__inner > .btn{ grid-column:2; justify-self:start; } }

/* ---------- Quem somos: Orbiting Circles ---------- */
.hm-who .grid{ align-items:center; }
.hm-who .lead{ margin-top:var(--s-3); }
.hm-who__list{ list-style:none; margin:var(--s-4) 0 0; padding:0; display:grid; gap:var(--s-2); }
.hm-who__list li{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:var(--s-2); color:var(--ink); }
.hm-who__list .ico{ color:var(--gold-700); }
.hm-who__hq{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:var(--s-2); align-items:center; margin-top:var(--s-5); padding:var(--s-2); border:1px solid var(--line-2); border-radius:12px; }
.hm-who__hq img{ width:96px; height:96px; object-fit:cover; border-radius:8px; }
.hm-who__hq p{ font-size:var(--fs-small); color:var(--text-2); }
.hm-who__hq p + p{ margin-top:2px; }
.hm-who__hq-k{ font-weight:600; color:var(--ink) !important; font-size:var(--fs-body) !important; }

.hm-orbit-wrap{ display:grid; place-items:center; }
@media (max-width:599.98px){ .hm-orbit{ --r-in:27cqw; } .hm-orbit__core img{ width:56px !important; height:56px !important; border-radius:14px; } .hm-orbit__core span{ display:none; } }
.hm-orbit{ position:relative; width:min(100%, 460px); aspect-ratio:1; container-type:inline-size; --r-in:23cqw; --r-out:46cqw; }
.hm-orbit__paths{ position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:var(--line-2); stroke-width:1; }
.hm-orbit__paths circle + circle{ stroke-dasharray:4 6; }
.hm-orbit__core{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; justify-items:center; gap:8px; z-index:2; }
.hm-orbit__core img{ width:72px; height:72px; border-radius:22px; box-shadow:0 0 0 8px rgba(201,162,75,.12), 0 20px 40px -12px rgba(8,23,43,.5); }
.hm-orbit__core span{ font:600 .8125rem/1 var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-700); }
.hm-orbit__ring{ position:absolute; inset:0; }
.hm-orbit__ring > span{ position:absolute; left:50%; top:50%; --rad:var(--r-in); animation:hm-orbit 34s linear infinite; }
.hm-orbit__ring--out > span{ --rad:var(--r-out); animation-duration:48s; animation-direction:reverse; }
@keyframes hm-orbit{
  from{ transform:translate(-50%,-50%) rotate(calc(var(--a) * 1deg)) translateY(calc(var(--rad) * -1)) rotate(calc(var(--a) * -1deg)); }
  to{ transform:translate(-50%,-50%) rotate(calc(var(--a) * 1deg + 360deg)) translateY(calc(var(--rad) * -1)) rotate(calc(var(--a) * -1deg - 360deg)); }
}
.hm-orbit__ring--in > span{ z-index:2; }
.hm-orbit__ring--in b{ display:block; padding:6px 11px; border-radius:999px; background:var(--navy-900); color:#fff; font:600 .75rem/1 var(--font-body); white-space:nowrap; box-shadow:0 10px 24px -10px rgba(8,23,43,.6); }
.hm-orbit__ring--out .ico{ box-sizing:content-box; display:block; padding:12px; border-radius:50%; background:var(--surface); border:1px solid var(--line-2); color:var(--gold-700); box-shadow:0 10px 24px -14px rgba(8,23,43,.5); }

/* ---------- Metodologia: cartões empilhados ---------- */
.hm-method .grid{ align-items:start; }
.hm-method__head .lead{ margin:var(--s-2) 0 var(--s-4); }
@media (min-width:1024px){ .hm-method__head{ position:sticky; top:120px; } }
.hm-stack{ list-style:none; margin:0; padding:0; display:grid; gap:var(--s-3); }
.hm-stack li{ position:sticky; top:calc(96px + var(--i) * 22px); display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s-3); align-items:start; padding:var(--s-4); border-radius:16px; background:linear-gradient(160deg, #13304f, var(--navy-800) 60%); border:1px solid rgba(216,185,104,.22); box-shadow:0 -20px 40px -20px rgba(0,0,0,.6); }
.hm-stack__n{ font:600 clamp(2.5rem, 2rem + 2vw, 4rem)/.9 var(--font-display); color:transparent; -webkit-text-stroke:1px var(--gold-400); letter-spacing:-.02em; }
.hm-stack h3{ color:#fff; font-size:1.25rem; }
.hm-stack p{ margin-top:var(--s-1); color:var(--slate-300); }
@media (min-width:1024px){ .hm-stack{ gap:var(--s-6); padding-bottom:var(--s-6); } .hm-stack li{ min-height:220px; padding:var(--s-5); } }

/* ---------- Faixas de operação: gráfico de barras ---------- */
.hm-tiers__chart{ list-style:none; margin:0; padding:0; display:grid; gap:var(--s-4); }
.hm-tiers__chart li{ display:grid; align-content:start; }
.hm-tiers__bar{ position:relative; display:flex; align-items:flex-end; height:72px; margin-bottom:var(--s-2); border-bottom:1px solid var(--ink); }
.hm-tiers__bar::before{ content:""; position:absolute; left:0; bottom:0; width:100%; height:var(--h); border-radius:6px 6px 0 0; background:linear-gradient(180deg, var(--gold-400), var(--gold-600)); opacity:.9; transform-origin:bottom; }
.hm-tiers__bar span{ position:relative; z-index:1; padding:0 0 8px 12px; font:600 .9375rem/1.2 var(--font-display); color:var(--navy-900); }
.hm-tiers__chart h3{ font-size:1.125rem; }
.hm-tiers__chart p{ margin-top:var(--s-1); color:var(--text-2); font-size:var(--fs-small); }
.hm-tiers__chart .hm-tiers__fit{ margin-top:var(--s-2); padding-top:var(--s-1); border-top:1px dashed var(--line-2); color:var(--gold-700); font-weight:600; }
.js .hm-tiers__chart[data-reveal] .hm-tiers__bar::before{ transform:scaleY(0); }
.js .hm-tiers__chart[data-reveal].is-in .hm-tiers__bar::before{ transform:none; transition:transform 900ms cubic-bezier(.34,1.2,.64,1); transition-delay:calc(var(--i) * 150ms + 200ms); }
@media (min-width:768px){
  .hm-tiers__chart{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (min-width:1024px){
  .hm-tiers__chart{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--gutter); }
  .hm-tiers__bar{ height:200px; }
  .hm-tiers__bar span{ padding:0 12px 12px; }
}

/* ---------- Governança: Shine Border + pilares + números ---------- */
.hm-gov .grid{ align-items:start; }
.hm-id{ position:relative; margin-top:var(--s-4); padding:var(--s-4); border-radius:16px; background:var(--surface); box-shadow:0 30px 60px -40px rgba(8,23,43,.45); }
.hm-id__title{ font:600 var(--fs-label)/1.4 var(--font-body); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-700); margin-bottom:var(--s-2); }
.hm-id .termsheet > div{ grid-template-columns:minmax(0,1fr); }
@media (min-width:480px){ .hm-id .termsheet > div{ grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:var(--s-2); } }
.shine-border{
  position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none;
  background-image:radial-gradient(transparent, transparent, var(--gold-500), var(--gold-300), var(--navy-500), transparent, transparent);
  background-size:300% 300%;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation:hm-shine 10s linear infinite;
}
@keyframes hm-shine{ 0%{ background-position:0% 0%; } 50%{ background-position:100% 100%; } 100%{ background-position:0% 0%; } }

.hm-pillars{ list-style:none; margin:0; padding:0; display:grid; gap:var(--s-2); }
@media (min-width:600px){ .hm-pillars{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.hm-pillars li{ position:relative; padding:var(--s-3); border-radius:12px; background:var(--surface); border:1px solid var(--line-2); }
.hm-pillars .ico{ box-sizing:content-box; padding:10px; border-radius:10px; background:var(--navy-900); color:var(--gold-400); }
.hm-pillars h3{ margin-top:var(--s-2); font-size:1.0625rem; }
.hm-pillars p{ margin-top:4px; font-size:var(--fs-small); color:var(--text-2); }
.hm-stats{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); margin:var(--s-4) 0 0; padding-top:var(--s-3); border-top:1px solid var(--line-2); }
.hm-stats > div{ display:flex; flex-direction:column-reverse; gap:4px; padding-right:var(--s-2); }
.hm-stats > div + div{ padding-left:var(--s-2); border-left:1px solid var(--line-2); }
.hm-stats dt{ font-size:.8125rem; line-height:1.35; color:var(--text-3); }
.hm-stats dd{ margin:0; font:600 clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem)/1.1 var(--font-display); color:var(--navy-900); font-variant-numeric:tabular-nums; }

/* ---------- FAQ ---------- */
.hm-faq__head{ text-align:center; margin-inline:auto; }
.hm-faq__head h2{ margin-inline:auto; max-width:22ch; }
.hm-faq__list{ margin-inline:auto; }

/* ---------- Contato + mapa com Ripple ---------- */
.hm-contact{ padding-top:0; }
.hm-contact__grid{ display:grid; gap:var(--s-3); }
.hm-contact__card{ position:relative; overflow:hidden; padding:var(--s-5) var(--s-4); border-radius:20px; background:var(--navy-900); color:#fff; }
.hm-contact__card .dot-pattern{ -webkit-mask-image:radial-gradient(ellipse 60% 60% at 100% 0%, #000, transparent 70%); mask-image:radial-gradient(ellipse 60% 60% at 100% 0%, #000, transparent 70%); }
.hm-contact__card > *{ position:relative; }
.hm-contact__card h2{ color:#fff; max-width:18ch; }
.hm-contact__card .lead{ margin-top:var(--s-2); color:var(--slate-300); }
.hm-contact__list{ display:grid; gap:var(--s-2); margin:var(--s-5) 0 0; padding-top:var(--s-3); border-top:1px solid rgba(174,185,201,.2); }
.hm-contact__list dt{ font-size:var(--fs-small); color:var(--slate-300); }
.hm-contact__list dd{ margin:0; color:#fff; }
.hm-contact__list a{ display:inline-flex; align-items:center; min-height:44px; font-weight:600; color:#fff; }
.hm-contact__list{ grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); }
.hm-contact__list a{ overflow-wrap:anywhere; }

.hm-map{ position:relative; display:block; min-height:360px; overflow:hidden; border-radius:20px; background:#EEF2F7; border:1px solid var(--line-2); color:var(--ink); text-decoration:none; }
.hm-map__grid{ position:absolute; inset:0; background-image:linear-gradient(var(--line-2) 1px, transparent 1px), linear-gradient(90deg, var(--line-2) 1px, transparent 1px); background-size:40px 40px; opacity:.6; }
.hm-map__roads svg{ position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#fff; stroke-width:14; stroke-linecap:round; }
.hm-map__roads svg path:first-child{ stroke:#F2E3BC; stroke-width:18; }
.hm-map__pin{ position:absolute; left:50%; top:44%; transform:translate(-50%,-100%); width:48px; height:48px; color:var(--navy-900); }
.hm-map__pin > svg{ position:relative; z-index:2; width:48px; height:48px; fill:var(--gold-500); stroke:var(--navy-900); stroke-width:1.2; }
.hm-map__pin > svg circle{ fill:var(--navy-900); }
/* Ripple (Magic UI): círculos concêntricos pulsando sob o pino. */
.ripple{ position:absolute; left:50%; top:100%; width:0; height:0; }
.ripple i{ position:absolute; left:50%; top:50%; width:calc(60px + var(--k) * 70px); height:calc(60px + var(--k) * 70px); border-radius:50%; border:1px solid rgba(138,100,32,.45); background:rgba(201,162,75,.08); transform:translate(-50%,-50%) scale(1); animation:hm-ripple 3.4s ease infinite; animation-delay:calc(var(--k) * .12s); opacity:calc(.9 - var(--k) * .2); }
.ripple i:nth-child(1){ --k:0; } .ripple i:nth-child(2){ --k:1; } .ripple i:nth-child(3){ --k:2; } .ripple i:nth-child(4){ --k:3; }
@keyframes hm-ripple{ 0%,100%{ transform:translate(-50%,-50%) scale(1); } 50%{ transform:translate(-50%,-50%) scale(.9); } }
.hm-map__card{ position:absolute; left:var(--s-3); right:var(--s-3); bottom:var(--s-3); display:grid; gap:2px; padding:var(--s-2) var(--s-3); border-radius:12px; background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:var(--shadow-float); font-size:var(--fs-small); color:var(--text-2); }
.hm-map__card b{ font-size:var(--fs-body); color:var(--ink); }
.hm-map__cta{ display:inline-flex; align-items:center; gap:6px; margin-top:var(--s-1); font-weight:600; color:var(--navy-700); }
.hm-map:hover .hm-map__cta .ico{ transform:translateX(4px); }
.hm-map__cta .ico{ transition:transform 200ms var(--ease); }
@media (min-width:1024px){ .hm-contact__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); } .hm-map{ min-height:100%; } }

/* ---------- Menos movimento ---------- */
@media (prefers-reduced-motion: reduce){
  .hm-orbit__ring > span, .shine-border, .ripple i{ animation:none; }
  .hm-orbit__ring > span{ transform:translate(-50%,-50%) rotate(calc(var(--a) * 1deg)) translateY(calc(var(--rad) * -1)) rotate(calc(var(--a) * -1deg)); }
  .js .hm-mark path{ stroke-dashoffset:0; }
  .js .hm-tiers__chart[data-reveal] .hm-tiers__bar::before, .js .hm-range__inner[data-reveal] .hm-range__track span{ transform:none; }
  .js .hm-rotate__words > span{ transition:none; }
}
