/* Habite-se DF — camada visual progressiva para páginas internas
   Não altera o layout-base. Reforça identidade, CTAs, blocos e motion abaixo da dobra. */
:root{
  --hdx-navy:#0b2540;
  --hdx-navy-2:#071a2f;
  --hdx-blue:#0b5cad;
  --hdx-blue-2:#1772cf;
  --hdx-sky:#eaf4fd;
  --hdx-ink:#132b42;
  --hdx-muted:#52677b;
  --hdx-line:#d8e5f0;
  --hdx-green:#12823d;
  --hdx-gold:#c49745;
  --hdx-soft:#f7fafc;
  --hdx-shadow:0 18px 50px rgba(7,31,55,.10);
  --hdx-shadow-hover:0 24px 64px rgba(7,31,55,.15);
  --hdx-radius:22px;
  --hdx-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- botões / links de ação ---------- */
.hdx-polish .card>a:last-child:not(.btn):not(.brand),
.hdx-polish .hub-card>a:last-child:not(.btn),
.hdx-polish .blog-card>a:last-child:not(.btn),
.hdx-polish .scope-card>a:last-child:not(.btn),
.hdx-polish .tool-card>a:last-child:not(.btn),
.hdx-polish .guide-item>a:last-child:not(.btn),
.hdx-polish .article-card>a:last-child:not(.btn),
.hdx-polish a.more,
.hdx-polish a.service-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:.7rem;
  width:max-content;
  max-width:100%;
  min-height:42px;
  margin-top:17px;
  padding:9px 11px 9px 15px;
  border:1px solid color-mix(in srgb,var(--hdx-blue) 23%,#d7e5f1);
  border-radius:999px;
  background:linear-gradient(180deg,#fff,#f6faff);
  color:var(--hdx-navy)!important;
  font-size:.86rem;
  line-height:1.2;
  font-weight:850!important;
  text-decoration:none!important;
  box-shadow:0 7px 20px rgba(10,66,119,.07);
  transition:transform .42s var(--hdx-ease),box-shadow .42s var(--hdx-ease),border-color .42s ease,background .42s ease;
}
.hdx-polish .card>a:last-child:not(.btn):not(.brand)::after,
.hdx-polish .hub-card>a:last-child:not(.btn)::after,
.hdx-polish .blog-card>a:last-child:not(.btn)::after,
.hdx-polish .scope-card>a:last-child:not(.btn)::after,
.hdx-polish .tool-card>a:last-child:not(.btn)::after,
.hdx-polish .guide-item>a:last-child:not(.btn)::after,
.hdx-polish .article-card>a:last-child:not(.btn)::after,
.hdx-polish a.more::after,
.hdx-polish a.service-link::after{
  content:"→";
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;height:28px;
  border-radius:50%;
  background:var(--hdx-blue);
  color:#fff;
  font-size:.9rem;
  font-weight:900;
  transition:transform .48s var(--hdx-ease),background .35s ease;
}
@media (hover:hover) and (pointer:fine){
  .hdx-polish .card>a:last-child:not(.btn):not(.brand):hover,
  .hdx-polish .hub-card>a:last-child:not(.btn):hover,
  .hdx-polish .blog-card>a:last-child:not(.btn):hover,
  .hdx-polish .scope-card>a:last-child:not(.btn):hover,
  .hdx-polish .tool-card>a:last-child:not(.btn):hover,
  .hdx-polish .guide-item>a:last-child:not(.btn):hover,
  .hdx-polish .article-card>a:last-child:not(.btn):hover,
  .hdx-polish a.more:hover,
  .hdx-polish a.service-link:hover{
    transform:translateY(-2px);
    border-color:#9abbd8;
    background:#fff;
    box-shadow:0 12px 28px rgba(10,66,119,.12);
  }
  .hdx-polish .card>a:last-child:not(.btn):not(.brand):hover::after,
  .hdx-polish .hub-card>a:last-child:not(.btn):hover::after,
  .hdx-polish .blog-card>a:last-child:not(.btn):hover::after,
  .hdx-polish .scope-card>a:last-child:not(.btn):hover::after,
  .hdx-polish .tool-card>a:last-child:not(.btn):hover::after,
  .hdx-polish .guide-item>a:last-child:not(.btn):hover::after,
  .hdx-polish .article-card>a:last-child:not(.btn):hover::after,
  .hdx-polish a.more:hover::after,
  .hdx-polish a.service-link:hover::after{transform:translateX(3px)}
}

.hdx-polish .btn,
.hdx-polish a.btn,
.hdx-polish button.btn,
.hdx-polish .btnblue,
.hdx-polish .button-primary{
  position:relative;
  overflow:hidden;
  border-radius:14px!important;
  font-weight:850!important;
  letter-spacing:-.01em;
  text-decoration:none!important;
  transition:transform .42s var(--hdx-ease),box-shadow .42s var(--hdx-ease),filter .4s ease!important;
}
.hdx-polish .btn-primary,
.hdx-polish .btnblue,
.hdx-polish .button-primary{
  background:linear-gradient(135deg,var(--hdx-blue),#08457f)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(11,92,173,.20)!important;
}
.hdx-polish .btn-wa,
.hdx-polish .wa.btn,
.hdx-polish a[href*="wa.me"].btn{
  background:linear-gradient(135deg,#148e45,#0c6c33)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(18,130,61,.20)!important;
}
@media (hover:hover) and (pointer:fine){
  .hdx-polish .btn:hover,
  .hdx-polish .btnblue:hover,
  .hdx-polish .button-primary:hover{transform:translateY(-2px);filter:saturate(1.04);box-shadow:0 17px 38px rgba(7,31,55,.19)!important}
}

/* ---------- cartões / blocos ---------- */
.hdx-polish .card,
.hdx-polish .hub-card,
.hdx-polish .scope-card,
.hdx-polish .tool-card,
.hdx-polish .official-card,
.hdx-polish .guide-item,
.hdx-polish .box,
.hdx-polish .faq details,
.hdx-polish .step,
.hdx-polish .trust-item,
.hdx-polish .service-offer-card{
  position:relative;
  border-radius:var(--hdx-radius);
}
.hdx-polish .card,
.hdx-polish .hub-card,
.hdx-polish .scope-card,
.hdx-polish .tool-card,
.hdx-polish .official-card,
.hdx-polish .guide-item{
  overflow:hidden;
  border-color:var(--hdx-line)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:0 10px 30px rgba(7,31,55,.055)!important;
  transition:transform .55s var(--hdx-ease),box-shadow .55s var(--hdx-ease),border-color .45s ease!important;
}
.hdx-polish .card::before,
.hdx-polish .hub-card::before,
.hdx-polish .scope-card::before,
.hdx-polish .tool-card::before,
.hdx-polish .official-card::before,
.hdx-polish .guide-item::before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:100%;height:3px;
  background:linear-gradient(90deg,var(--hdx-blue),#71aee5 62%,transparent);
  opacity:.72;
  transform-origin:left center;
  transform:scaleX(.35);
  transition:transform .85s var(--hdx-ease),opacity .5s ease;
}
@media (hover:hover) and (pointer:fine){
  .hdx-polish .card:hover,
  .hdx-polish .hub-card:hover,
  .hdx-polish .scope-card:hover,
  .hdx-polish .tool-card:hover,
  .hdx-polish .official-card:hover,
  .hdx-polish .guide-item:hover{
    transform:translateY(-5px);
    border-color:#b9d0e4!important;
    box-shadow:var(--hdx-shadow-hover)!important;
  }
  .hdx-polish .card:hover::before,
  .hdx-polish .hub-card:hover::before,
  .hdx-polish .scope-card:hover::before,
  .hdx-polish .tool-card:hover::before,
  .hdx-polish .official-card:hover::before,
  .hdx-polish .guide-item:hover::before{transform:scaleX(1);opacity:1}
}

/* ---------- tipografia editorial ---------- */
.hdx-polish .article h2,
.hdx-polish .prose h2,
.hdx-polish .content h2{
  position:relative;
  padding-left:17px;
  color:var(--hdx-navy);
}
.hdx-polish .article h2::before,
.hdx-polish .prose h2::before,
.hdx-polish .content h2::before{
  content:"";
  position:absolute;
  left:0;top:.16em;bottom:.16em;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--hdx-blue),#72aee5);
}
.hdx-polish .article blockquote,
.hdx-polish .prose blockquote{
  margin:28px 0;
  padding:22px 24px;
  border:1px solid #cddfed;
  border-left:4px solid var(--hdx-blue);
  border-radius:0 18px 18px 0;
  background:linear-gradient(135deg,#f2f8fe,#fff);
  color:#29465f;
  box-shadow:0 10px 28px rgba(7,31,55,.055);
}
.hdx-polish .article img:not(.brand-logo),
.hdx-polish .prose img:not(.brand-logo){border-radius:18px;box-shadow:0 15px 40px rgba(7,31,55,.10)}
.hdx-polish .article li::marker,
.hdx-polish .prose li::marker{color:var(--hdx-blue);font-weight:800}

/* ---------- FAQ ---------- */
.hdx-polish .faq details{
  overflow:hidden;
  border:1px solid var(--hdx-line)!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(7,31,55,.045);
  transition:border-color .4s ease,box-shadow .45s ease,transform .45s var(--hdx-ease);
}
.hdx-polish .faq details[open]{border-color:#b7d0e6!important;box-shadow:0 14px 32px rgba(7,31,55,.08)}
.hdx-polish .faq summary{color:var(--hdx-navy)!important}

/* ---------- CTAs e faixas ---------- */
.hdx-polish .cta-band,
.hdx-polish .contact-box{
  position:relative;
  overflow:hidden;
  border-radius:26px!important;
  background:linear-gradient(135deg,#0b3d70 0%,#071a2f 70%,#0b3258 100%)!important;
  box-shadow:0 24px 60px rgba(4,24,45,.18)!important;
}
.hdx-polish .cta-band::after,
.hdx-polish .contact-box::after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-110px;top:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.15),rgba(255,255,255,0) 70%);
  pointer-events:none;
}

/* ---------- blog: cards mais editoriais ---------- */
.hdx-polish.hdx-guides .blog-section>.cards,
.hdx-polish.hdx-guides .cards{align-items:stretch}
.hdx-polish.hdx-guides .card{display:flex;flex-direction:column;min-height:100%}
.hdx-polish.hdx-guides .card>p{flex:1}

/* ---------- núcleo de corretagem: tom premium próprio ---------- */
.hdx-polish.hdx-broker .card::before,
.hdx-polish.hdx-broker .hub-card::before,
.hdx-polish.hdx-broker .scope-card::before{
  background:linear-gradient(90deg,var(--hdx-gold),#e0bf7d 55%,transparent);
}
.hdx-polish.hdx-broker .card>a:last-child:not(.btn):not(.brand)::after,
.hdx-polish.hdx-broker .hub-card>a:last-child:not(.btn)::after,
.hdx-polish.hdx-broker a.more::after{background:var(--hdx-navy)}
.hdx-polish.hdx-broker .hero{
  position:relative;
  isolation:isolate;
}
.hdx-polish.hdx-broker .hero::after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(38vw,520px);aspect-ratio:1;
  right:-12vw;bottom:-48%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(196,151,69,.14),rgba(196,151,69,0) 68%);
  pointer-events:none;
  animation:hdx-ambient 14s ease-in-out infinite alternate;
}
.hdx-polish.hdx-broker .hero>*{position:relative;z-index:1}

/* ---------- motion lento e sequencial ---------- */
.hdx-polish.motion-ready .reveal{
  transition-duration:.92s!important;
  transition-timing-function:var(--hdx-ease)!important;
  transition-delay:var(--hdx-delay,var(--reveal-delay,0ms))!important;
  transform:translateY(20px);
}
.hdx-motion-ready [data-hdx-reveal]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .92s var(--hdx-ease),transform .92s var(--hdx-ease);
  transition-delay:var(--hdx-delay,0ms);
  will-change:opacity,transform;
}
.hdx-motion-ready [data-hdx-reveal].hdx-in{opacity:1;transform:none;will-change:auto}
.hdx-motion-ready [data-hdx-reveal="soft"]{transform:translateY(14px)}
.hdx-motion-ready [data-hdx-reveal="section"]{transform:translateY(12px)}

@keyframes hdx-ambient{
  from{transform:translate3d(0,0,0) scale(.96);opacity:.52}
  to{transform:translate3d(-18px,-12px,0) scale(1.04);opacity:.82}
}

/* linha decorativa que cresce quando o bloco entra em cena */
.hdx-motion-ready [data-hdx-reveal].hdx-in.card::before,
.hdx-motion-ready [data-hdx-reveal].hdx-in.hub-card::before,
.hdx-motion-ready [data-hdx-reveal].hdx-in.scope-card::before,
.hdx-motion-ready [data-hdx-reveal].hdx-in.tool-card::before,
.hdx-motion-ready [data-hdx-reveal].hdx-in.guide-item::before{transform:scaleX(1)}

@media (max-width:700px){
  .hdx-polish .card>a:last-child:not(.btn):not(.brand),
  .hdx-polish .hub-card>a:last-child:not(.btn),
  .hdx-polish a.more,
  .hdx-polish a.service-link{min-height:44px;padding:9px 10px 9px 14px}
  .hdx-motion-ready [data-hdx-reveal]{transform:translateY(14px);transition-duration:.82s}
}
@media (prefers-reduced-motion:reduce){
  .hdx-polish *, .hdx-polish *::before, .hdx-polish *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  .hdx-motion-ready [data-hdx-reveal]{opacity:1!important;transform:none!important}
}
