/* ==========================================================================
   bem.care — Rede credenciada
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

body{
  margin:0;
  background:var(--surface-page);
  font-family:var(--font-sans);
  font-weight:var(--fw-regular);
  color:var(--text-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4{margin:0;font-weight:var(--fw-semibold);color:var(--text-heading);line-height:var(--lh-heading)}
p{margin:0}
img,svg{max-width:100%;display:block}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--magenta-deep)}
button{font-family:inherit}
::selection{background:var(--magenta-50)}

/* Visible focus for keyboard users only */
:focus-visible{outline:2px solid var(--magenta);outline-offset:2px;border-radius:4px}
.on-dark :focus-visible,.hero :focus-visible{outline-color:var(--magenta-pink)}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--white);color:var(--magenta-deep);
  padding:12px 20px;border-radius:0 0 var(--radius-md) 0;
  font-size:14px;font-weight:var(--fw-semibold);
}
.skip-link:focus{left:0}

.wrap{width:100%;max-width:var(--wrap-max);margin:0 auto;padding-left:var(--wrap-pad);padding-right:var(--wrap-pad)}
.section{padding-block:var(--section-pad)}
.section--alt{background:var(--surface-soft);border-top:1px solid var(--border)}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Brand wordmark ---------- */
.wordmark{font-weight:var(--fw-semibold);letter-spacing:-.8px;color:var(--navy);line-height:1}
.wordmark .dot{color:var(--magenta)}
.wordmark--header{font-size:22px}
.wordmark--footer{font-size:19px;letter-spacing:-.6px;color:var(--white)}
.wordmark--hero{font-size:clamp(34px,6vw,54px);letter-spacing:-1.8px;color:var(--white)}

/* ---------- Design-system primitives ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:15px;line-height:1;
  padding:12px 24px;border-radius:var(--radius-pill);border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;
  transition:transform var(--dur-fast) var(--ease-standard),background var(--dur-base) var(--ease-standard),opacity var(--dur-base);
}
.btn:active{transform:scale(var(--press-scale))}
.btn--sm{padding:9px 18px;font-size:14px}
.btn--lg{padding:15px 30px;font-size:17px}
.btn--primary{background:var(--magenta);color:var(--white);box-shadow:var(--shadow-cta)}
.btn--primary:hover{background:var(--magenta-pink);color:var(--white)}
.btn--ghost{background:transparent;color:var(--magenta);border-color:rgba(252,20,130,.5)}
.btn--ghost:hover{background:var(--magenta-50);color:var(--magenta-deep)}
.btn--dark{background:transparent;color:var(--white);border-color:#36437F}
.btn--dark:hover{background:rgba(255,255,255,.06);color:var(--white)}
.btn .arrow{font-size:1.1em;line-height:1}

.kicker{
  display:inline-block;align-self:flex-start;font-size:13px;font-weight:var(--fw-medium);
  letter-spacing:2px;text-transform:uppercase;color:var(--navy);
  border:1.5px solid rgba(252,20,130,.55);border-radius:var(--radius-pill);padding:8px 18px;
}
.kicker--on-dark{color:var(--white)}

.stat__value{font-size:52px;font-weight:var(--fw-semibold);letter-spacing:-2px;line-height:1;color:var(--ink)}
.stat--on-dark .stat__value{color:var(--white)}
.stat__suffix{color:var(--magenta)}
.stat__label{margin-top:10px;font-size:14px;font-weight:var(--fw-light);color:var(--ink-muted)}
.stat--on-dark .stat__label{color:var(--on-dark-muted)}

.check-item{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--ink)}
.check-item__mark{
  flex:none;width:30px;height:30px;border-radius:50%;
  background:var(--magenta);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-weight:var(--fw-semibold);font-size:15px;
}

.highlight-panel{
  background:var(--magenta-50);border-left:4px solid var(--magenta);
  border-radius:0 12px 12px 0;padding:14px 20px;
  font-size:15px;font-weight:var(--fw-medium);color:var(--magenta-darker);
}

.eyebrow{
  display:block;font-size:13px;font-weight:var(--fw-medium);letter-spacing:2px;
  text-transform:uppercase;color:var(--magenta-deep);margin-bottom:12px;
}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.site-header__inner{display:flex;align-items:center;gap:16px;padding-block:14px}
.site-header__badge{
  font-size:12px;font-weight:var(--fw-medium);letter-spacing:2px;text-transform:uppercase;
  color:var(--magenta-deep);background:var(--magenta-50);
  border-radius:var(--radius-pill);padding:6px 14px;white-space:nowrap;
}
.site-header__spacer{flex:1}
.site-nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:var(--fw-medium)}
.site-nav a:not(.btn){color:var(--ink-support)}
.site-nav a:not(.btn):hover{color:var(--magenta)}

/* ---------- Hero ---------- */
.hero{background:var(--grad-navy);position:relative;isolation:isolate}
.hero__deco{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.hero__deco span{
  position:absolute;right:-120px;top:-120px;width:420px;height:420px;
  border-radius:50%;border:60px solid rgba(252,20,130,.14);
  -webkit-mask-image:radial-gradient(circle at 30% 70%,#000 30%,transparent 72%);
  mask-image:radial-gradient(circle at 30% 70%,#000 30%,transparent 72%);
}
.hero__inner{padding-block:clamp(52px,7vw,88px);position:relative}
.hero h1{
  margin:22px 0 14px;font-size:clamp(34px,4.6vw,54px);font-weight:var(--fw-semibold);
  letter-spacing:-1.5px;line-height:1.06;color:var(--white);max-width:720px;
}
.hero h1 em{font-style:normal;color:var(--magenta)}
.hero__lead{
  margin:0 0 34px;font-size:17px;font-weight:var(--fw-light);line-height:1.6;
  color:var(--on-dark-lead);max-width:600px;
}
.hero__stats{display:flex;gap:56px;flex-wrap:wrap;margin-bottom:40px}

/* ---------- Search ---------- */
.search{max-width:600px;position:relative}
.search__label{
  display:block;font-size:13px;font-weight:var(--fw-medium);letter-spacing:2px;
  text-transform:uppercase;color:var(--on-dark-pink);margin-bottom:10px;
}
.search__input{
  width:100%;padding:16px 20px;font-size:16px;font-family:var(--font-sans);
  color:var(--white);background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);outline:none;
  transition:border-color var(--dur-base) var(--ease-standard);
}
.search__input::placeholder{color:var(--on-dark-muted)}
.search__input:focus{border-color:var(--magenta)}
.results{
  position:absolute;left:0;right:0;top:100%;margin-top:8px;
  background:var(--white);border:1px solid var(--border-2);border-radius:var(--radius-md);
  box-shadow:0 12px 28px rgba(31,41,92,.16);overflow:hidden;z-index:20;
  max-height:min(60vh,420px);overflow-y:auto;
}
.results__row{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:12px 18px;cursor:pointer;border:0;border-bottom:1px solid var(--border-3);
  background:var(--white);text-align:left;font-family:var(--font-sans);
}
.results__row:last-child{border-bottom:0}
.results__row:hover,.results__row:focus-visible,.results__row[aria-selected="true"]{background:var(--surface-soft)}
.results__uf{font-size:12px;font-weight:var(--fw-semibold);color:var(--navy);background:var(--surface);border-radius:6px;padding:4px 8px}
.results__name{font-size:15px;color:var(--ink-2)}
.results__spacer{flex:1}
.results__badge{font-size:12px;font-weight:var(--fw-medium);border-radius:var(--radius-pill);padding:5px 12px;white-space:nowrap}
.results__empty{display:flex;align-items:center;gap:12px;padding:14px 18px;flex-wrap:wrap}
.results__empty-badge{
  font-size:12px;font-weight:var(--fw-medium);color:var(--ink-muted);background:var(--surface);
  border-radius:var(--radius-pill);padding:5px 12px;white-space:nowrap;
}
.results__empty a{font-size:14px;font-weight:var(--fw-medium)}

/* ---------- Legend ---------- */
.legend{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px;padding:0;list-style:none;font-size:12.5px;font-weight:var(--fw-medium)}
.legend li{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);padding:6px 14px}
.legend .dot{width:8px;height:8px;border-radius:50%;box-sizing:border-box;flex:none}
.legend--own{color:var(--magenta-deep);background:var(--magenta-50)}
.legend--own .dot{background:var(--magenta)}
.legend--near{color:var(--navy);background:var(--surface)}
.legend--near .dot{background:var(--white);border:2.5px solid var(--navy)}
.legend--none{color:var(--ink-muted);background:var(--surface-soft);border:1px solid var(--border-2)}
.legend--none .dot{border:1.5px dashed var(--ink-faint)}

/* ---------- Region tabs ---------- */
.regions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.region-tab{
  padding:10px 22px;font-size:14px;font-weight:var(--fw-medium);
  border-radius:var(--radius-pill);cursor:pointer;
  border:1.5px solid var(--border-2);background:var(--white);color:var(--ink-support);
  transition:all 160ms var(--ease-standard);
}
.region-tab:hover{border-color:rgba(252,20,130,.4);color:var(--magenta-deep)}
.region-tab[aria-pressed="true"]{background:var(--navy);color:var(--white);border-color:var(--navy)}

/* ---------- State grid ---------- */
.states{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px}
.state-card{
  background:var(--white);border:1.5px solid var(--border-2);border-radius:var(--radius-lg);
  padding:20px 22px;cursor:pointer;box-shadow:var(--shadow-card);text-align:left;
  font-family:var(--font-sans);width:100%;
  transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);
}
.state-card:hover{transform:translateY(var(--hover-lift));box-shadow:0 16px 34px rgba(31,41,92,.12)}
.state-card[aria-expanded="true"]{border-color:var(--magenta)}
.state-card__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.state-card__uf{
  font-size:13px;font-weight:var(--fw-semibold);letter-spacing:1px;
  border-radius:8px;padding:6px 10px;background:var(--surface);color:var(--navy);
}
.state-card[aria-expanded="true"] .state-card__uf{background:var(--magenta);color:var(--white)}
.state-card__name{font-size:16px;font-weight:var(--fw-semibold);letter-spacing:-.3px;color:var(--ink)}
.state-card__meta{display:flex;gap:18px;font-size:13px;color:var(--ink-muted)}
.state-card__meta b{font-weight:var(--fw-semibold);color:var(--navy)}
.dist{display:flex;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-3)}
.dist__col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}
.dist__qtd{font-size:10.5px;font-weight:var(--fw-semibold);line-height:1;color:var(--navy)}
.dist__qtd--zero{color:var(--border-2)}
.dist__track{width:100%;height:24px;display:flex;align-items:flex-end}
.dist__bar{width:100%;border-radius:3px 3px 0 0;background:var(--border-2)}
.dist__band{font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.4px;line-height:1;color:var(--ink-faint)}

/* ---------- State panel ---------- */
.state-panel{
  margin-top:36px;background:var(--surface-soft);border:1px solid var(--border-2);
  border-radius:var(--radius-xl);padding:28px 30px;
}
.state-panel__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.state-panel__head h3{font-size:24px;font-weight:var(--fw-semibold);letter-spacing:-.8px;color:var(--ink)}
.state-panel__summary{font-size:14px;color:var(--ink-muted)}
.state-panel__note{margin:0 0 20px;font-size:12.5px;color:var(--ink-faint)}
.city-filter{
  width:100%;max-width:420px;padding:12px 18px;font-size:14px;font-family:var(--font-sans);
  color:var(--ink-2);background:var(--white);border:1px solid var(--border-2);
  border-radius:12px;outline:none;margin-bottom:18px;
  transition:border-color var(--dur-base) var(--ease-standard);
}
.city-filter:focus{border-color:var(--magenta)}
.cities{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}

.city-row{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;font-family:var(--font-sans);
  background:var(--white);border:1.5px solid var(--border-2);border-radius:12px;
  padding:14px 20px;cursor:pointer;transition:border-color 160ms var(--ease-standard);
}
.city-row:hover{border-color:rgba(252,20,130,.4)}
.city-row[aria-expanded="true"]{border-color:var(--magenta)}
.city-row__dot{width:8px;height:8px;border-radius:50%;background:var(--magenta);flex:none;box-sizing:border-box}
.city-row__name{font-size:15px;font-weight:var(--fw-medium);color:var(--ink);flex:1}
.city-row__qtd{font-size:13px;color:var(--ink-muted)}
.city-row__toggle{font-size:13px;color:var(--magenta);white-space:nowrap}

.city-row--near{background:var(--surface);border-style:dashed;padding:13px 20px}
.city-row--near:hover{border-color:rgba(31,41,92,.45)}
.city-row--near[aria-expanded="true"]{border-color:var(--navy)}
.city-row--near .city-row__dot{background:var(--white);border:2.5px solid var(--navy)}
.city-row--near .city-row__qtd b{font-weight:var(--fw-semibold);color:var(--navy)}

.near-heading{
  margin-top:18px;font-size:13px;font-weight:var(--fw-medium);letter-spacing:1.5px;
  text-transform:uppercase;color:var(--navy);
}

.detail{
  background:var(--white);border:1px solid var(--border-2);border-radius:var(--radius-md);
  padding:20px 22px;margin:10px 2px 8px;box-shadow:var(--shadow-card);
}
.detail__head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.detail__title{font-size:15px;font-weight:var(--fw-semibold);letter-spacing:-.3px;color:var(--ink)}
.detail__sub{font-size:13px;color:var(--ink-muted)}
.bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));gap:10px}
.band{border-radius:12px;padding:14px 10px;text-align:center;background:var(--white);border:1px solid var(--border-3)}
.band--filled{background:var(--surface-soft)}
.band__qtd{font-size:26px;font-weight:var(--fw-semibold);letter-spacing:-1px;color:var(--border-2)}
.band--filled .band__qtd{color:var(--navy)}
.band__label{font-size:11.5px;color:var(--ink-muted);margin:2px 0 6px}
.band__price{font-size:12px;font-weight:var(--fw-semibold);letter-spacing:1px;color:var(--magenta-deep)}
.band__price .rest{color:var(--border-2)}
.grades{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:10px}
.grade{background:var(--surface-soft);border:1px solid var(--border-3);border-radius:12px;padding:14px 10px;text-align:center}
.grade__name{font-size:11px;font-weight:var(--fw-medium);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.grade__value{font-size:17px;font-weight:var(--fw-semibold);letter-spacing:-.4px;white-space:nowrap;color:var(--ink)}
.grade__value--free{color:var(--magenta)}
.detail__note{font-size:12.5px;color:var(--ink-faint);margin-top:10px}
.detail__links{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12.5px;font-weight:var(--fw-medium)}
.detail__links .linkish{color:var(--navy);cursor:pointer;background:none;border:0;padding:0;font-size:12.5px;font-weight:var(--fw-medium);font-family:var(--font-sans)}
.detail__links .linkish:hover{color:var(--magenta)}

/* ---------- Pricing table ---------- */
.price-card{background:var(--white);border:1px solid var(--border-2);border-radius:var(--radius-md);overflow:hidden;max-width:820px}
.price-scroll{overflow-x:auto}
.price-table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
.price-table th{
  background:var(--navy);color:var(--on-dark-soft);font-weight:var(--fw-medium);
  letter-spacing:1.5px;font-size:11.5px;padding:13px 20px;text-align:right;white-space:nowrap;
}
.price-table th:first-child{color:var(--white);text-align:left;text-transform:uppercase}
.price-table tbody tr{border-top:1px solid var(--border-3)}
.price-table tbody tr:hover{background:var(--surface-soft)}
.price-table td{padding:13px 20px;text-align:right;white-space:nowrap;color:var(--ink-2)}
.price-table td:first-child{text-align:left;font-weight:var(--fw-semibold);letter-spacing:1px;color:var(--magenta-deep)}
.price-table td:first-child .rest{color:var(--border-2)}
.price-table .free{color:var(--magenta);font-weight:var(--fw-semibold)}
.price-card__note{padding:12px 20px;border-top:1px solid var(--border-3);font-size:12.5px;color:var(--ink-faint)}

/* ---------- Credenciamento ---------- */
.cred{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:44px;align-items:start}
.cred__copy p{margin:0 0 20px;font-size:15px;font-weight:var(--fw-light);line-height:1.6;color:var(--ink-support);max-width:480px}
.cred__checks{display:flex;flex-direction:column;gap:12px}
.form-card{
  background:var(--white);border:1px solid var(--border-2);border-radius:var(--radius-xl);
  padding:28px 30px;box-shadow:var(--shadow-card);
}
.form-card__title{font-size:17px;font-weight:var(--fw-semibold);letter-spacing:-.4px;color:var(--ink);margin-bottom:16px}
.type-toggle{display:flex;gap:8px;margin-bottom:18px}
.type-toggle button{
  flex:1;padding:11px 10px;font-size:13.5px;font-weight:var(--fw-medium);
  border-radius:var(--radius-pill);cursor:pointer;
  border:1.5px solid var(--border-2);background:var(--white);color:var(--ink-support);
  transition:all 160ms var(--ease-standard);
}
.type-toggle button[aria-pressed="true"]{background:var(--navy);color:var(--white);border-color:var(--navy)}
.fields{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.field{position:relative}
.field label{
  display:block;font-size:12px;font-weight:var(--fw-medium);color:var(--ink-muted);
  margin-bottom:5px;letter-spacing:.2px;
}
.field input{
  width:100%;padding:13px 16px;font-size:14px;font-family:var(--font-sans);color:var(--ink-2);
  background:var(--surface-soft);border:1px solid var(--border-2);border-radius:12px;outline:none;
  transition:border-color var(--dur-base) var(--ease-standard);
}
.field input:focus{border-color:var(--magenta)}
.field input[aria-invalid="true"]{border-color:var(--magenta-deep);background:var(--magenta-50)}
.field__error{display:block;margin-top:5px;font-size:12px;font-weight:var(--fw-medium);color:var(--magenta-darker)}
.suggest{
  position:absolute;left:0;right:0;top:100%;margin-top:6px;background:var(--white);
  border:1px solid var(--border-2);border-radius:12px;box-shadow:0 12px 28px rgba(31,41,92,.16);
  overflow:hidden;z-index:30;max-height:260px;overflow-y:auto;
}
.suggest__row{
  display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;cursor:pointer;
  border:0;border-bottom:1px solid var(--border-3);background:var(--white);
  text-align:left;font-family:var(--font-sans);
}
.suggest__row:last-child{border-bottom:0}
.suggest__row:hover,.suggest__row:focus-visible{background:var(--surface-soft)}
.suggest__uf{font-size:11px;font-weight:var(--fw-semibold);color:var(--navy);background:var(--surface);border-radius:6px;padding:3px 7px}
.suggest__name{font-size:14px;color:var(--ink-2);flex:1}
.suggest__status{font-size:11.5px;font-weight:var(--fw-medium);white-space:nowrap}
.hp{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
.form-falhou{
  margin:0 0 14px;padding:12px 16px;background:var(--magenta-50);
  border-left:4px solid var(--magenta);border-radius:0 12px 12px 0;
  font-size:13.5px;font-weight:var(--fw-medium);color:var(--magenta-darker);
}
.form-falhou a{color:var(--magenta-darker);text-decoration:underline}
.btn[disabled]{opacity:.55;cursor:progress}
.form-done__title{font-size:17px;font-weight:var(--fw-semibold);letter-spacing:-.4px;color:var(--ink);margin-bottom:10px}
.form-done p{font-size:14px;font-weight:var(--fw-light);line-height:1.6;color:var(--ink-support)}
.form-done strong{font-weight:var(--fw-semibold)}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-footer)}
.site-footer__inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-block:34px}
.site-footer__tagline{font-size:13px;font-weight:var(--fw-light);color:var(--on-dark-muted)}
.site-footer__spacer{flex:1}
.site-footer a{font-size:13px;font-weight:var(--fw-medium);color:var(--on-dark-soft)}
.site-footer a:hover{color:var(--on-dark-pink)}
.site-footer__meta{font-size:13px;font-weight:var(--fw-light);color:var(--on-dark-muted)}

/* ---------- Home (index) ---------- */
.home{min-height:100vh;display:flex;flex-direction:column;background:var(--grad-navy)}
.home__inner{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(48px,9vw,96px)}
.home h1{
  margin:22px 0 14px;font-size:clamp(32px,4.6vw,52px);font-weight:var(--fw-semibold);
  letter-spacing:-1.5px;line-height:1.06;color:var(--white);max-width:680px;
}
.home h1 em{font-style:normal;color:var(--magenta)}
.home__lead{
  margin:0 0 44px;font-size:17px;font-weight:var(--fw-light);line-height:1.6;
  color:var(--on-dark-lead);max-width:560px;
}
.home__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:20px;max-width:900px}
.home-card{
  display:flex;flex-direction:column;gap:14px;
  background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.14);
  border-radius:var(--radius-2xl);padding:28px 30px;text-decoration:none;
  transition:transform var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard);
}
.home-card:hover{transform:translateY(var(--hover-lift));border-color:rgba(252,20,130,.55);background:rgba(252,20,130,.06)}
.home-card__badge{
  align-self:flex-start;font-size:12px;font-weight:var(--fw-medium);letter-spacing:2px;
  text-transform:uppercase;color:var(--on-dark-pink);
  border:1.5px solid rgba(252,20,130,.55);border-radius:var(--radius-pill);padding:6px 14px;
}
.home-card__title{font-size:26px;font-weight:var(--fw-semibold);letter-spacing:-.8px;color:var(--white);line-height:1.15}
.home-card__desc{font-size:14.5px;font-weight:var(--fw-light);line-height:1.6;color:var(--on-dark-muted);flex:1}
.home-card__stats{display:flex;gap:26px;flex-wrap:wrap;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}
.home-card__stat{display:flex;flex-direction:column;gap:2px;padding-top:12px}
.home-card__stat b{font-size:22px;font-weight:var(--fw-semibold);letter-spacing:-.6px;color:var(--white);line-height:1}
.home-card__stat span{font-size:12px;font-weight:var(--fw-light);color:var(--on-dark-muted)}
.home-card__cta{
  display:inline-flex;align-items:center;gap:8px;margin-top:4px;
  font-size:14.5px;font-weight:var(--fw-semibold);color:var(--magenta);
}
.home-card:hover .home-card__cta{color:var(--magenta-pink)}
.home-card__cta .arrow{transition:transform var(--dur-base) var(--ease-standard)}
.home-card:hover .home-card__cta .arrow{transform:translateX(3px)}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero__stats{gap:32px}
  .stat__value{font-size:42px}
}
@media (max-width:760px){
  :root{--wrap-pad:18px}
  .site-header__inner{flex-wrap:wrap;gap:10px}
  .site-header__badge{order:3}
  .site-header__spacer{display:none}
  .site-nav{width:100%;gap:14px;justify-content:space-between;order:4}
  .site-nav a:not(.btn){font-size:13px}
  .state-panel{padding:22px 18px}
  .form-card{padding:24px 20px}
  .cred{gap:32px}
  .city-row{flex-wrap:wrap;gap:8px 12px}
  .city-row__name{flex:1 1 100%;order:1}
  .city-row__dot{order:0}
  .city-row__qtd{order:2}
  .city-row__toggle{order:3;margin-left:auto}
}
@media (max-width:560px){
  .hero__stats{gap:24px}
  .stat__value{font-size:36px}
  .stat__label{font-size:13px}
  .states{grid-template-columns:1fr}
  .site-footer__inner{gap:12px}
  .site-footer__spacer{display:none}
  .home-card{padding:24px 22px}
}

/* ---------- utilitários finais ---------- */
[hidden]{display:none!important}
h1 em,h2 em,h3 em{font-style:normal;color:var(--magenta)}
.section__lead{margin:0 0 18px;font-size:15px;font-weight:var(--fw-light);color:var(--ink-muted)}
.section__lead--wide{max-width:680px;margin-bottom:22px}
.section h2{font-size:clamp(26px,3vw,34px);letter-spacing:-1px;margin-bottom:8px}
.cred__copy h2{margin-bottom:14px}

/* #9 o controle de limpar do WebKit não faz parte do design */
.search__input::-webkit-search-cancel-button,
.city-filter::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* #22 os títulos dos cards da home são h2 */
.home-card__title{margin:0}

/* Impede que filhos de containers flex forcem largura mínima (overflow lateral) */
.home__inner,.home__inner>*,.hero__inner>*,.site-header__inner>*{min-width:0}
.home__cards,.states,.cred,.bands,.grades{min-width:0}

/* O anel decorativo não deve competir com o título em telas pequenas */
@media (max-width:760px){
  .hero__deco span{width:300px;height:300px;right:-140px;top:-140px;border-width:44px;opacity:.65}
}
